/*! This file includes third-party software, governed by the licenses described here: https://partner.steamgames.com/public/javascript/webui/storeadmin/storeadmin.licenses.txt */

/**** (c) Valve Corporation. Use is governed by the terms of the Steam Subscriber Agreement http://store.steampowered.com/subscriber_agreement/.
 ****/
!(function (e) {
  function t(t) {
    for (
      var a, r, o = t[0], l = t[1], c = t[2], d = 0, m = [];
      d < o.length;
      d++
    )
      (r = o[d]),
        Object.prototype.hasOwnProperty.call(i, r) && i[r] && m.push(i[r][0]),
        (i[r] = 0);
    for (a in l) Object.prototype.hasOwnProperty.call(l, a) && (e[a] = l[a]);
    for (u && u(t); m.length; ) m.shift()();
    return s.push.apply(s, c || []), n();
  }
  function n() {
    for (var e, t = 0; t < s.length; t++) {
      for (var n = s[t], a = !0, r = 1; r < n.length; r++) {
        var l = n[r];
        0 !== i[l] && (a = !1);
      }
      a && (s.splice(t--, 1), (e = o((o.s = n[0]))));
    }
    return e;
  }
  var a = {},
    r = { 89: 0 },
    i = { 89: 0 },
    s = [];
  function o(t) {
    if (a[t]) return a[t].exports;
    var n = (a[t] = { i: t, l: !1, exports: {} });
    return e[t].call(n.exports, n, n.exports, o), (n.l = !0), n.exports;
  }
  (o.e = function (e) {
    var t = [];
    r[e]
      ? t.push(r[e])
      : 0 !== r[e] &&
        { 1: 1, 90: 1 }[e] &&
        t.push(
          (r[e] = new Promise(function (t, n) {
            for (
              var a =
                  "..\\..\\..\\css\\webui\\storeadmin\\" +
                  ({
                    0: "marketing_english-json",
                    1: "broadcast",
                    3: "main_brazilian-json",
                    4: "main_bulgarian-json",
                    5: "main_czech-json",
                    6: "main_danish-json",
                    7: "main_dutch-json",
                    8: "main_english-json",
                    9: "main_finnish-json",
                    10: "main_french-json",
                    11: "main_german-json",
                    12: "main_greek-json",
                    13: "main_hungarian-json",
                    14: "main_italian-json",
                    15: "main_japanese-json",
                    16: "main_koreana-json",
                    17: "main_latam-json",
                    18: "main_norwegian-json",
                    19: "main_polish-json",
                    20: "main_portuguese-json",
                    21: "main_romanian-json",
                    22: "main_russian-json",
                    23: "main_schinese-json",
                    24: "main_spanish-json",
                    25: "main_swedish-json",
                    26: "main_tchinese-json",
                    27: "main_thai-json",
                    28: "main_turkish-json",
                    29: "main_ukrainian-json",
                    30: "main_vietnamese-json",
                    31: "marketing_brazilian-json",
                    32: "marketing_bulgarian-json",
                    33: "marketing_czech-json",
                    34: "marketing_danish-json",
                    35: "marketing_dutch-json",
                    36: "marketing_finnish-json",
                    37: "marketing_french-json",
                    38: "marketing_german-json",
                    39: "marketing_greek-json",
                    40: "marketing_hungarian-json",
                    41: "marketing_italian-json",
                    42: "marketing_japanese-json",
                    43: "marketing_koreana-json",
                    44: "marketing_latam-json",
                    45: "marketing_norwegian-json",
                    46: "marketing_polish-json",
                    47: "marketing_portuguese-json",
                    48: "marketing_romanian-json",
                    49: "marketing_russian-json",
                    50: "marketing_sc_schinese-json",
                    51: "marketing_schinese-json",
                    52: "marketing_spanish-json",
                    53: "marketing_swedish-json",
                    54: "marketing_tchinese-json",
                    55: "marketing_thai-json",
                    56: "marketing_turkish-json",
                    57: "marketing_ukrainian-json",
                    58: "marketing_vietnamese-json",
                    59: "shared_arabic-json",
                    60: "shared_brazilian-json",
                    61: "shared_bulgarian-json",
                    62: "shared_czech-json",
                    63: "shared_danish-json",
                    64: "shared_dutch-json",
                    65: "shared_english-json",
                    66: "shared_finnish-json",
                    67: "shared_french-json",
                    68: "shared_german-json",
                    69: "shared_greek-json",
                    70: "shared_hungarian-json",
                    71: "shared_italian-json",
                    72: "shared_japanese-json",
                    73: "shared_koreana-json",
                    74: "shared_latam-json",
                    75: "shared_norwegian-json",
                    76: "shared_polish-json",
                    77: "shared_portuguese-json",
                    78: "shared_romanian-json",
                    79: "shared_russian-json",
                    80: "shared_sc_schinese-json",
                    81: "shared_schinese-json",
                    82: "shared_spanish-json",
                    83: "shared_swedish-json",
                    84: "shared_tchinese-json",
                    85: "shared_thai-json",
                    86: "shared_turkish-json",
                    87: "shared_ukrainian-json",
                    88: "shared_vietnamese-json",
                  }[e] || e) +
                  ".css",
                i = o.p + a,
                s = document.getElementsByTagName("link"),
                l = 0;
              l < s.length;
              l++
            ) {
              var c =
                (u = s[l]).getAttribute("data-href") || u.getAttribute("href");
              if ("stylesheet" === u.rel && (c === a || c === i)) return t();
            }
            var d = document.getElementsByTagName("style");
            for (l = 0; l < d.length; l++) {
              var u;
              if ((c = (u = d[l]).getAttribute("data-href")) === a || c === i)
                return t();
            }
            var m = document.createElement("link");
            (m.rel = "stylesheet"),
              (m.type = "text/css"),
              (m.onload = t),
              (m.onerror = function (t) {
                var a = (t && t.target && t.target.src) || i,
                  s = new Error(
                    "Loading CSS chunk " + e + " failed.\n(" + a + ")",
                  );
                (s.code = "CSS_CHUNK_LOAD_FAILED"),
                  (s.request = a),
                  delete r[e],
                  m.parentNode.removeChild(m),
                  n(s);
              }),
              (m.href = i),
              document.getElementsByTagName("head")[0].appendChild(m);
          }).then(function () {
            r[e] = 0;
          })),
        );
    var n = i[e];
    if (0 !== n)
      if (n) t.push(n[2]);
      else {
        var a = new Promise(function (t, a) {
          n = i[e] = [t, a];
        });
        t.push((n[2] = a));
        var s,
          l = document.createElement("script");
        (l.charset = "utf-8"),
          (l.timeout = 120),
          o.nc && l.setAttribute("nonce", o.nc),
          (l.src = (function (e) {
            return (
              o.p +
              "" +
              ({
                0: "marketing_english-json",
                1: "broadcast",
                3: "main_brazilian-json",
                4: "main_bulgarian-json",
                5: "main_czech-json",
                6: "main_danish-json",
                7: "main_dutch-json",
                8: "main_english-json",
                9: "main_finnish-json",
                10: "main_french-json",
                11: "main_german-json",
                12: "main_greek-json",
                13: "main_hungarian-json",
                14: "main_italian-json",
                15: "main_japanese-json",
                16: "main_koreana-json",
                17: "main_latam-json",
                18: "main_norwegian-json",
                19: "main_polish-json",
                20: "main_portuguese-json",
                21: "main_romanian-json",
                22: "main_russian-json",
                23: "main_schinese-json",
                24: "main_spanish-json",
                25: "main_swedish-json",
                26: "main_tchinese-json",
                27: "main_thai-json",
                28: "main_turkish-json",
                29: "main_ukrainian-json",
                30: "main_vietnamese-json",
                31: "marketing_brazilian-json",
                32: "marketing_bulgarian-json",
                33: "marketing_czech-json",
                34: "marketing_danish-json",
                35: "marketing_dutch-json",
                36: "marketing_finnish-json",
                37: "marketing_french-json",
                38: "marketing_german-json",
                39: "marketing_greek-json",
                40: "marketing_hungarian-json",
                41: "marketing_italian-json",
                42: "marketing_japanese-json",
                43: "marketing_koreana-json",
                44: "marketing_latam-json",
                45: "marketing_norwegian-json",
                46: "marketing_polish-json",
                47: "marketing_portuguese-json",
                48: "marketing_romanian-json",
                49: "marketing_russian-json",
                50: "marketing_sc_schinese-json",
                51: "marketing_schinese-json",
                52: "marketing_spanish-json",
                53: "marketing_swedish-json",
                54: "marketing_tchinese-json",
                55: "marketing_thai-json",
                56: "marketing_turkish-json",
                57: "marketing_ukrainian-json",
                58: "marketing_vietnamese-json",
                59: "shared_arabic-json",
                60: "shared_brazilian-json",
                61: "shared_bulgarian-json",
                62: "shared_czech-json",
                63: "shared_danish-json",
                64: "shared_dutch-json",
                65: "shared_english-json",
                66: "shared_finnish-json",
                67: "shared_french-json",
                68: "shared_german-json",
                69: "shared_greek-json",
                70: "shared_hungarian-json",
                71: "shared_italian-json",
                72: "shared_japanese-json",
                73: "shared_koreana-json",
                74: "shared_latam-json",
                75: "shared_norwegian-json",
                76: "shared_polish-json",
                77: "shared_portuguese-json",
                78: "shared_romanian-json",
                79: "shared_russian-json",
                80: "shared_sc_schinese-json",
                81: "shared_schinese-json",
                82: "shared_spanish-json",
                83: "shared_swedish-json",
                84: "shared_tchinese-json",
                85: "shared_thai-json",
                86: "shared_turkish-json",
                87: "shared_ukrainian-json",
                88: "shared_vietnamese-json",
              }[e] || e) +
              ".js"
            );
          })(e));
        var c = new Error();
        s = function (t) {
          (l.onerror = l.onload = null), clearTimeout(d);
          var n = i[e];
          if (0 !== n) {
            if (n) {
              var a = t && ("load" === t.type ? "missing" : t.type),
                r = t && t.target && t.target.src;
              (c.message =
                "Loading chunk " + e + " failed.\n(" + a + ": " + r + ")"),
                (c.name = "ChunkLoadError"),
                (c.type = a),
                (c.request = r),
                n[1](c);
            }
            i[e] = void 0;
          }
        };
        var d = setTimeout(function () {
          s({ type: "timeout", target: l });
        }, 12e4);
        (l.onerror = l.onload = s), document.head.appendChild(l);
      }
    return Promise.all(t);
  }),
    (o.m = e),
    (o.c = a),
    (o.d = function (e, t, n) {
      o.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });
    }),
    (o.r = function (e) {
      "undefined" != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
        Object.defineProperty(e, "__esModule", { value: !0 });
    }),
    (o.t = function (e, t) {
      if ((1 & t && (e = o(e)), 8 & t)) return e;
      if (4 & t && "object" == typeof e && e && e.__esModule) return e;
      var n = Object.create(null);
      if (
        (o.r(n),
        Object.defineProperty(n, "default", { enumerable: !0, value: e }),
        2 & t && "string" != typeof e)
      )
        for (var a in e)
          o.d(
            n,
            a,
            function (t) {
              return e[t];
            }.bind(null, a),
          );
      return n;
    }),
    (o.n = function (e) {
      var t =
        e && e.__esModule
          ? function () {
              return e.default;
            }
          : function () {
              return e;
            };
      return o.d(t, "a", t), t;
    }),
    (o.o = function (e, t) {
      return Object.prototype.hasOwnProperty.call(e, t);
    }),
    (o.p = ""),
    (o.oe = function (e) {
      throw (console.error(e), e);
    });
  var l = (window.webpackJsonp = window.webpackJsonp || []),
    c = l.push.bind(l);
  (l.push = t), (l = l.slice());
  for (var d = 0; d < l.length; d++) t(l[d]);
  var u = c;
  s.push(["gfbn", 2]), n();
})({
  "+4Yk": function (e, t, n) {
    e.exports = {
      ScrollPanel: "scrollpanel_ScrollPanel_3ozfo",
      ScrollY: "scrollpanel_ScrollY_3MFgE",
      ScrollBoth: "scrollpanel_ScrollBoth_Ffrn-",
      ScrollX: "scrollpanel_ScrollX_m0VVu",
    };
  },
  "+8Cz": function (e, t, n) {
    e.exports = { DownloadRow: "optin_admin_editor_stats_DownloadRow_3h3SU" };
  },
  "+Cr/": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    }),
      n.d(t, "b", function () {
        return h;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("q1tI"),
      o = n.n(s),
      l = (n("AQa9"), n("Q8oI"), n("/loZ"), n("D6PB")),
      c = n("+h+B"),
      d = n("KT6v"),
      u = n("aaBf");
    class m {
      constructor() {
        if (
          ((this.m_mapAppItemDefs = new Map()),
          (this.m_mapAppCallbackList = new Map()),
          (this.m_mapAppItemDefPromises = new Map()),
          document.getElementById("application_config"))
        ) {
          let e = Object(u.g)("itemdefs", "application_config");
          m.ValidateItemDef(e) &&
            (this.AddItemDefs(e),
            "dev" == u.c.WEB_UNIVERSE &&
              console.log("CItemDefStore loaded item defs: " + e.length, e));
        }
      }
      GetItemDef(e, t) {
        var n;
        return null === (n = this.m_mapAppItemDefs.get(e)) || void 0 === n
          ? void 0
          : n.get(t);
      }
      BHasItemDef(e, t) {
        return Boolean(this.GetItemDef(e, t));
      }
      BHasAllItemDef(e, t) {
        return t.filter((t) => !this.BHasItemDef(e, t)).length > 0;
      }
      GetAllItemDefForApp(e) {
        return this.m_mapAppItemDefs.has(e)
          ? Array.from(this.m_mapAppItemDefs.get(e).values())
          : [];
      }
      GetCallbackForAppList(e) {
        return (
          this.m_mapAppCallbackList.has(e) ||
            this.m_mapAppCallbackList.set(e, new c.a()),
          this.m_mapAppCallbackList.get(e)
        );
      }
      SearchItemDefs(e, t) {
        var n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const s = {
                start: 0,
                count: 12,
                searchtext: t,
                l: u.c.LANGUAGE,
                cc: u.c.COUNTRY,
              },
              o = u.c.STORE_BASE_URL + `itemstore/${e}/ajaxgetitemdefs`,
              c = yield i.a.get(o, { params: s, withCredentials: !0 });
            if (
              200 == (null == c ? void 0 : c.status) &&
              1 ==
                (null === (n = c.data) || void 0 === n ? void 0 : n.success) &&
              (null === (r = c.data) || void 0 === r ? void 0 : r.matches)
            )
              return this.AddItemDefs(c.data.matches), c.data.matches || [];
            a = Object(l.a)(c);
          } catch (e) {
            a = Object(l.a)(e);
          }
          return (
            console.error(
              "CItemDefStore.SearchForItemDefs failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            []
          );
        });
      }
      LoadItemDef(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_mapAppItemDefPromises.has(e.nAppID) ||
              this.m_mapAppItemDefPromises.set(e.nAppID, new Map()),
            this.m_mapAppItemDefPromises.get(e.nAppID).has(e.nItemDefID) ||
              this.m_mapAppItemDefPromises
                .get(e.nAppID)
                .set(e.nItemDefID, this.InternalLoadItemDef([e])),
            this.m_mapAppItemDefPromises.get(e.nAppID).get(e.nItemDefID)
          );
        });
      }
      LoadAllItemDefForSingleApp(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            0 ==
            (t = t.filter((t) => !this.BHasItemDef(e, t.nItemDefID))).length
          )
            return !0;
          this.m_mapAppItemDefPromises.has(e) ||
            this.m_mapAppItemDefPromises.set(e, new Map());
          const n = t.filter(
              (t) => !this.m_mapAppItemDefPromises.get(e).get(t.nItemDefID),
            ),
            a = t
              .map((t) => this.m_mapAppItemDefPromises.get(e).get(t.nItemDefID))
              .filter(Boolean);
          if (n.length > 0) {
            const t = this.InternalLoadItemDef(n);
            n.forEach((n) =>
              this.m_mapAppItemDefPromises.get(e).set(n.nItemDefID, t),
            ),
              a.push(t);
          }
          return yield Promise.all(a), !0;
        });
      }
      InternalLoadItemDef(e) {
        var t, n;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const r = {
              strItemDefIDs: e.map((e) => e.nItemDefID).join(","),
              l: u.c.LANGUAGE,
              cc: u.c.COUNTRY,
            };
            let s = u.c.STORE_BASE_URL + `itemstore/${e[0].nAppID}/`;
            "community" == Object(u.f)()
              ? (s += "ajaxgetauthedmultipleitemdefsbyid")
              : (s += "ajaxgetmultipleitemdefsbyid");
            const o = yield i.a.get(s, { params: r, withCredentials: !0 });
            if (
              200 == (null == o ? void 0 : o.status) &&
              1 ==
                (null === (t = o.data) || void 0 === t ? void 0 : t.success) &&
              (null === (n = o.data) || void 0 === n ? void 0 : n.matches)
            )
              return this.AddItemDefs(o.data.matches), !0;
            a = Object(l.a)(o);
          } catch (e) {
            a = Object(l.a)(e);
          }
          return (
            console.error(
              "CItemDefStore.SearchForItemDefs failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          m.s_Singleton ||
            ((m.s_Singleton = new m()),
            ("dev" != u.c.WEB_UNIVERSE && "beta" != u.c.WEB_UNIVERSE) ||
              (window.g_ItemDefStore = m.s_Singleton)),
          m.s_Singleton
        );
      }
      AddItemDefs(e) {
        const t = new Set();
        e.forEach((e) => {
          this.m_mapAppItemDefs.has(e.nAppID) ||
            this.m_mapAppItemDefs.set(e.nAppID, new Map()),
            this.m_mapAppItemDefs.get(e.nAppID).set(e.nItemDefID, e),
            t.add(e.nAppID);
        }),
          t.forEach((e) =>
            this.GetCallbackForAppList(e).Dispatch(
              Array.from(this.m_mapAppItemDefs.get(e).values()),
            ),
          );
      }
      static ValidateItemDef(e) {
        const t = e;
        return (
          !!(t && Array.isArray(t) && t.length > 0) &&
          "number" == typeof t[0].nAppID &&
            "number" == typeof t[0].nItemDefID &&
          "string" == typeof t[0].strName
        );
      }
    }
    function p(e, t) {
      const [n, a] = o.a.useState(m.Get().GetItemDef(e, t));
      return (
        Object(d.e)(m.Get().GetCallbackForAppList(e), (n) => {
          a(m.Get().GetItemDef(e, t));
        }),
        o.a.useEffect(() => {
          m.Get().BHasItemDef(e, t) ||
            m
              .Get()
              .LoadItemDef({ nAppID: e, nItemDefID: t })
              .then(() => a(m.Get().GetItemDef(e, t)));
        }, [e, t]),
        n
      );
    }
    function h(e, t) {
      const n = t.map((e) => e.nItemDefID),
        [a, r] = o.a.useState(
          m
            .Get()
            .GetAllItemDefForApp(e)
            .filter((e) => n.includes(e.nItemDefID)),
        );
      return (
        Object(d.e)(m.Get().GetCallbackForAppList(e), (e) => {
          r(e.filter((e) => n.includes(e.nItemDefID)));
        }),
        o.a.useEffect(() => {
          const n = t.map((e) => e.nItemDefID);
          m.Get().BHasAllItemDef(e, n) ||
            m
              .Get()
              .LoadAllItemDefForSingleApp(e, t)
              .then(() =>
                r(
                  m
                    .Get()
                    .GetAllItemDefForApp(e)
                    .filter((e) => n.includes(e.nItemDefID)),
                ),
              );
        }, [e, t]),
        a
      );
    }
    Object(a.b)([d.b], m.prototype, "SearchItemDefs", null),
      Object(a.b)([d.b], m.prototype, "LoadItemDef", null),
      Object(a.b)([d.b], m.prototype, "LoadAllItemDefForSingleApp", null);
  },
  "+GaU": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    }),
      n.d(t, "b", function () {
        return u;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("IDaJ"),
      o = n("DRUm");
    n("DV2j"), n("1NFT");
    const l = new o.a("GamepadEvents").Debug;
    function c(e, t, n) {
      void 0 === n &&
        (n = [
          e.onButtonDown,
          e.onButtonUp,
          e.onOKButton,
          e.onCancelButton,
          e.onSecondaryButton,
          e.onOptionsButton,
          e.onMenuButton,
          e.onGamepadDirection,
          e.onGamepadFocus,
          e.onGamepadBlur,
        ]),
        i.a.useLayoutEffect(() => {
          let n = t.current;
          const a = [];
          return (
            n &&
              (e.onButtonDown && a.push(Object(s.f)(n, e.onButtonDown)),
              e.onButtonUp && a.push(Object(s.g)(n, e.onButtonUp)),
              e.onOKButton && a.push(Object(s.l)(n, e.onOKButton)),
              e.onCancelButton && a.push(Object(s.h)(n, e.onCancelButton)),
              e.onSecondaryButton &&
                a.push(Object(s.n)(n, e.onSecondaryButton)),
              e.onOptionsButton && a.push(Object(s.m)(n, e.onOptionsButton)),
              e.onMenuButton && a.push(Object(s.k)(n, e.onMenuButton)),
              e.onGamepadDirection &&
                a.push(Object(s.i)(n, e.onGamepadDirection)),
              e.onGamepadFocus && a.push(Object(s.j)(n, e.onGamepadFocus)),
              e.onGamepadBlur && a.push(Object(s.e)(n, e.onGamepadBlur))),
            () => a.forEach((e) => e())
          );
        }, n);
    }
    function d(e) {
      return e.stopPropagation(), !1;
    }
    function u(e, t, n) {
      const { onButtonDown: r } = e,
        s = Object(a.c)(e, ["onButtonDown"]),
        o = i.a.useCallback(
          (e) => {
            r && r(e),
              l(
                "Gamepad Event fired:",
                e.detail.button,
                ", handled:",
                null != r,
                ", propagation stopped:",
                e.cancelBubble,
              ),
              e.cancelBubble || n.HandleButtonDownEventAsLogicalEvent(e);
          },
          [r, n],
        );
      c(s, t);
      c(
        {
          onButtonDown: o,
          onButtonUp: d,
          onOKButton: d,
          onCancelButton: d,
          onSecondaryButton: d,
          onOptionsButton: d,
          onMenuButton: d,
          onGamepadDirection: d,
          onGamepadFocus: d,
          onGamepadBlur: d,
        },
        t,
        [o],
      );
    }
  },
  "+bL2": function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABApJREFUeNrsm2tIFUEUx2evRl5ISnugZuULIwoVtIykIIkgowdmERERUh9CqQ/Rh+gFCX4oKCIjyi8VQtETsoLoARViJEokRYlako9Iy4JKfLX9hz2CwXrv7t6ZvbvcPfDjwr3uzJ7/npk5c3ZUVFVlkWw+FuHmCeAJ4AngCeAJ4AkQwRbtgnucBzJALPgNPoJ28FdI6zwTdCDp4DToUvWtF1SDHIPtFUz0m5GLp9noeAw4BYZV43YFxOm05QNF4DmosirADNABMm1wPgE0qdasHWSAKJALKkAr/TYIUq0KcIAa4Y0lS3Q+HjSroVk/+Knz/eFAfQe7sfpxDckU4bYqx2opKsb6UcwIMElnLPLhsECw8xskOc9F9RPFoIaGyX/9B8oDknSWybmgHhQJXOaOSlg634AP4AH4Dm6Bh6DVzDKYE0ThSoqSUJ5+lmqPVUx0D4EioDeIygdBA8gL4UmtsiGROhcoygIJ8AUMBGk8G7wC1SDRws1lSXb+OCjngW5FgFHw0kAnCthF6ekZkGLiBhMlOT4ENoNjoW6GrpvoNAbsBW3gLtgKpgS5ZkCSAD3gpojdYA34ZmGHuQ5cpWtrSZilJNJ46w/3TksxUBbfDS4K6m+ElqdO0A3mg2WSlsFsUQLwMX4DbHLRNr/eqLCBhkAm2EgC7ABPXCRAr9E/DFQQ8YM7FK61FAUJYKELBGgTIUA3fSaDPS6rdBkWIFgm+M6lpb4mUUXRey50fhA0ihLgLBh2mQANlAkKEaCTNhNusvuiEyE/7QmyXCJAhqhJcHy+vtZMo2G0RrP3afTNEB8KBeCpwwUwnbIrJo/I8KxwJzgCUh3mfD/lLH9kRAC3eLCIabW1FWA/bTudYufNOm82AuJAF02KzIFPPw38MHuhz2Qnlxw69iutOG9lDuDDoAVMd5Dzb0EuZYBMZgRw4zV2XuoadYjz/BV5qVXnrQjA7THY7pAU+STTqtKWTQnhpCjPCy6D9DA5/wIUMq3MFhYBxtJkXncvY9pJDrusAywBX0NtSBF0VthHe4Xl9FnK5J0/6qPoaxF146Imo9dUQFkj2flCUc6LFIDvwK7RBDlbYtjzCGsW2Wiop8TyafxvA1ESx3wdKGHa+0oWTgGmgsVgNVjPtBcbMo1PUCdo8yVl2dUTYBY4BOYw7VxeLGWAKbTbUmya6d8z7aVrnVyJ9Q8ORINy0KPab31gn4DDF4YItgz66SmU2RDun0AVuAB+2ZVQGM0DeNivBFtAMZgpcBvLi5j8LfQjJur4q+REiM/2eSRIPiU+aQZzhc+UL/DS9TOmFVtHWBhNVCY4mWmnypJo2IwdjBikp8xTVl5XHGIOM8X7t7kIN08ATwBPAE8ATwBPgAi2fwIMABJGc33swO3GAAAAAElFTkSuQmCC";
  },
  "+d5k": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l.i;
    }),
      n.d(t, "b", function () {
        return _;
      }),
      n.d(t, "d", function () {
        return g;
      }),
      n.d(t, "c", function () {
        return b;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("i8i4"),
      s = n("5Quo"),
      o = n("gTmQ"),
      l = n("bznR"),
      c = n("l1Mn"),
      d = n("KT6v");
    class u extends r.Component {
      constructor(e) {
        super(e), (this.state = { maximized: this.BIsMaximized() });
      }
      BIsMaximized() {
        let e =
            this.props.popup.screen.availWidth - this.props.popup.innerWidth,
          t =
            this.props.popup.screen.availHeight - this.props.popup.innerHeight;
        return 0 === e && 0 === t;
      }
      componentDidMount() {
        this.props.popup.addEventListener("resize", this.UpdateMaximizeState);
      }
      componentWillUnmount() {
        this.props.popup.removeEventListener(
          "resize",
          this.UpdateMaximizeState,
        );
      }
      UpdateMaximizeState() {
        let e = this.BIsMaximized();
        e != this.state.maximized && this.setState({ maximized: e });
      }
      render() {
        let e = this.props.popup,
          t = "title-area-icon";
        this.state.maximized
          ? (t += " restoreButton")
          : (t += " maximizeButton");
        let n = "TitleBar title-area";
        return (
          this.props.className && (n = n + " " + this.props.className),
          r.createElement(
            "div",
            { className: n, style: this.props.style },
            r.createElement("div", { className: "title-area-highlight" }),
            r.createElement(
              "div",
              { className: "title-area-children" },
              this.props.children,
            ),
            !this.props.hideActions &&
              r.createElement(
                "div",
                { className: "title-bar-actions" },
                r.createElement(
                  "div",
                  {
                    className: "title-area-icon closeButton",
                    onClick: () => {
                      e && e.close();
                    },
                  },
                  r.createElement(c.Ab, null),
                ),
                !this.props.hideMinMax &&
                  r.createElement(
                    "div",
                    {
                      className: t,
                      onClick: () => {
                        e.SteamClient.Window.ToggleMaximize();
                      },
                    },
                    this.state.maximized && r.createElement(c.Y, null),
                    !this.state.maximized && r.createElement(c.N, null),
                  ),
                !this.props.hideMinMax &&
                  r.createElement(
                    "div",
                    {
                      className: "title-area-icon minimizeButton",
                      onClick: () => {
                        e.SteamClient.Window.Minimize();
                      },
                    },
                    r.createElement(c.Q, null),
                  ),
              ),
          )
        );
      }
    }
    Object(a.b)([d.b], u.prototype, "UpdateMaximizeState", null);
    var m = n("fvA7"),
      p = n("CqJL"),
      h = n("aaBf");
    function _(e, t, n) {
      return Object(a.a)(this, void 0, void 0, function* () {
        const r = !0 === (null == n ? void 0 : n.bNeverPopOut),
          s = !r && f(null, t),
          o =
            (null == n ? void 0 : n.bForcePopOut) &&
            (null == n ? void 0 : n.popupWidth) &&
            (null == n ? void 0 : n.popupHeight),
          l =
            s &&
            !o &&
            (yield (function (e, t, n) {
              return Object(a.a)(this, void 0, void 0, function* () {
                const a = t.document.createElement("div");
                (a.style.position = "absolute"),
                  (a.style.visibility = "hidden"),
                  t.document.body.appendChild(a),
                  i.render(e, a),
                  yield n;
                let r = document;
                h.c.IN_LIBRARY && r.fonts && (yield r.fonts.ready);
                const s = a.getBoundingClientRect(),
                  o = Math.ceil(s.height),
                  l = Math.ceil(s.width);
                return (
                  i.unmountComponentAtNode(a),
                  t.document.body.removeChild(a),
                  { height: o, width: l }
                );
              });
            })(e, t, null == n ? void 0 : n.promiseRenderComplete)),
          c =
            l && l.height / t.innerHeight < 0.9 && l.width / t.innerWidth < 0.8;
        if (r || (!(null == n ? void 0 : n.bForcePopOut) && c)) return b(e, t);
        const d = {
            strTitle:
              (null == n ? void 0 : n.strTitle) ||
              Object(p.f)("#Dialog_DefaultWindowTitle"),
            fnOnClose: null == n ? void 0 : n.fnOnClose,
            popupWidth:
              (null == n ? void 0 : n.popupWidth) ||
              (null == l ? void 0 : l.width),
            popupHeight:
              (null == n ? void 0 : n.popupHeight) ||
              (null == l ? void 0 : l.height),
            bHideMainWindowForPopouts:
              null == n ? void 0 : n.bHideMainWindowForPopouts,
          },
          u = { bHideActions: null == n ? void 0 : n.bHideActionIcons };
        return b(e, t, d.strTitle, d, null == n ? void 0 : n.browserContext, u);
      });
    }
    function g(e, t, n) {
      return Object(a.a)(this, void 0, void 0, function* () {
        return _(e, t, Object.assign({ bHideMainWindowForPopouts: !0 }, n));
      });
    }
    function b(e, t, n, a, i, s, o) {
      let c, d;
      const u = e.props.closeModal,
        m = () => {
          d && d.Close(),
            u && u(),
            (null == a ? void 0 : a.fnOnClose) && a.fnOnClose();
        },
        p = () => {
          c && c.Close(), m();
        },
        _ = r.cloneElement(e, { closeModal: p });
      if (
        (h.c.IN_GAMEPADUI && (t = window.parent),
        f((o = o || Object(l.h)(t)), t) && a && n)
      ) {
        if (a.bHideMainWindowForPopouts) {
          const e = r.createElement(
            l.i,
            {
              className: "Hidden",
              onEscKeypress: !_.props.bDisableBackgroundDismiss && p,
            },
            r.createElement("div", null),
          );
          d = o.ShowModal(e);
        }
        const e = Object.assign(Object.assign({}, a), { fnOnClose: m }),
          u = new v(t, n, e, _, i, s);
        u.Show(), (c = u);
      } else c = o.ShowModal(_);
      return c;
    }
    function f(e, t) {
      return (
        (e = e || Object(l.h)(t || window)), h.c.USE_POPUPS && e.BUsePopups()
      );
    }
    class v extends s.a {
      constructor(e, t, n, a, r, i) {
        super(t, {
          title: n.strTitle,
          html_class: "client_chat_frame fullheight ModalDialogPopup",
          body_class: "fullheight ModalDialogBody",
          owner_window: void 0,
          replace_existing_popup: !0,
          target_browser: r,
          availscreenwidth: e.screen.availWidth,
          availscreenheight: e.screen.availHeight,
        }),
          (this.m_windowOpener = e),
          (this.m_modalProps = n),
          (this.m_modalElement = a),
          (this.m_options = i);
      }
      Update(e) {
        Object(m.a)(!1, "NYI");
      }
      UpdateParamsBeforeShow(e) {
        var t, n, a;
        let r,
          i,
          s,
          o = this.m_modalProps.popupWidth || 500,
          l = this.m_modalProps.popupHeight || 400;
        if (
          h.c.IN_CLIENT &&
          (null ===
            (a =
              null ===
                (n =
                  null === (t = this.m_windowOpener) || void 0 === t
                    ? void 0
                    : t.SteamClient) || void 0 === n
                ? void 0
                : n.Window) || void 0 === a
            ? void 0
            : a.GetBrowserID)
        )
          s = this.m_windowOpener.SteamClient.Window.GetBrowserID();
        else {
          let e = this.m_windowOpener.screen;
          (r = (e.availWidth - o) / 2), (i = (e.availHeight - l) / 2);
          let t = e;
          void 0 !== t.availLeft &&
            void 0 !== t.availTop &&
            ((r += t.availLeft), (i += t.availTop));
        }
        return Object.assign(Object.assign({}, e), {
          dimensions: { width: o, height: l, left: r, top: i },
          window_opener_id: s,
        });
      }
      OnLoad() {}
      OnResize() {}
      OnClose() {
        this.m_modalProps.fnOnClose && this.m_modalProps.fnOnClose();
      }
      Render(e, t) {
        if (
          (t.setAttribute("class", "fullheight popup_chat_frame"),
          this.m_modalElement)
        ) {
          const n = this.m_options ? this.m_options.bHideActions : void 0,
            a =
              this.m_options &&
              "number" == typeof this.m_options.nDragAreaHeight
                ? { height: this.m_options.nDragAreaHeight }
                : void 0;
          i.render(
            r.createElement(
              "div",
              { className: "PopupFullWindow", onContextMenu: o.h },
              r.createElement(u, {
                hideMinMax: !0,
                popup: e,
                hideActions: n,
                style: a,
              }),
              r.createElement(l.c, { ModalManager: Object(l.h)(e) }),
              this.m_modalElement,
            ),
            t,
          );
        }
      }
    }
  },
  "+h+B": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return s;
    }),
      n.d(t, "e", function () {
        return l;
      }),
      n.d(t, "b", function () {
        return c;
      }),
      n.d(t, "c", function () {
        return d;
      }),
      n.d(t, "d", function () {
        return u;
      });
    var a = n("mrSG"),
      r = n("Mx8f"),
      i = n("VQwQ");
    class s {
      constructor() {
        this.m_vecCallbacks = [];
      }
      Register(e) {
        this.m_vecCallbacks.push(e);
        return {
          Unregister: () => {
            r.b(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 o {
      constructor(e) {
        (this.m_callbacks = new s()), (this.m_currentValue = e);
      }
      Set(e) {
        (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 l(e) {
      return new o(e);
    }
    class c {
      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;
        let e = this.m_fnCallback;
        (this.m_fnCallback = void 0), e();
      }
    }
    Object(a.b)([i.a], c.prototype, "ScheduledInternal", null);
    class d {
      constructor() {
        this.m_rgListeners = [];
      }
      AddEventListener(e, t, n) {
        e.addEventListener(t, n),
          this.m_rgListeners.push({ element: e, type: t, listener: n });
      }
      Unregister() {
        for (let e of this.m_rgListeners)
          e.element.removeEventListener(e.type, e.listener);
        this.m_rgListeners = [];
      }
    }
    function u(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        let t = [];
        const n = Object.keys(e);
        n.forEach((n) => t.push(e[n]));
        return (yield Promise.all(t)).reduce(
          (e, t, a) => ((e[n[a]] = t), e),
          {},
        );
      });
    }
  },
  "+y9j": function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return s;
    }),
      n.d(t, "a", function () {
        return o;
      }),
      n.d(t, "c", function () {
        return l;
      });
    var a = n("RYKw"),
      r = n("aaBf"),
      i = (n("hRO2"), n("y6Yv"), n("Q8oI"));
    n("2jbI");
    function s(e, t) {
      e.Body().set_context(o(t));
    }
    function o(e) {
      let t = new a.c();
      return (
        e || t.set_country_code(r.c.COUNTRY),
        t.set_language(r.c.LANGUAGE),
        r.c.EREALM != i.ESteamRealm.k_ESteamRealmUnknown &&
          t.set_steam_realm(r.c.EREALM),
        t
      );
    }
    function l(e, t) {
      e.Body().set_data_request(a.d.fromObject(t));
    }
  },
  "/IqZ": function (e, t, n) {
    e.exports = {
      Container: "planningdashboard_Container_1IVr1",
      CalendarCtn: "planningdashboard_CalendarCtn_3reVP",
      CreateNewCtn: "planningdashboard_CreateNewCtn_OryGT",
      filtersCtn: "planningdashboard_filtersCtn_Epsp1",
      FilterRow: "planningdashboard_FilterRow_2qhMY",
      VisibilityFilterCtn: "planningdashboard_VisibilityFilterCtn_hPops",
      OtherLinks: "planningdashboard_OtherLinks_1ePXE",
    };
  },
  "/N74": function (e, t, n) {
    e.exports = { ErrorDiv: "saleeventbbcodeparser_ErrorDiv_1RPzC" };
  },
  "/ea4": function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return c;
    }),
      n.d(t, "a", function () {
        return d;
      });
    var a = n("q1tI"),
      r = n("1j+z"),
      i = (n("KT6v"), n("aaBf")),
      s = n("dqrJ"),
      o = n("ERCR"),
      l = n("fvA7");
    function c(e) {
      const {
          type: t,
          id: n,
          hoverClassName: r,
          fnGetIDOverride: s,
          fnHoverState: o,
          children: c,
        } = e,
        d = a.useRef(null),
        u = a.useCallback(
          (e) => {
            "clan" != t &&
              (o && o(!0),
              window.GameHover &&
                window.GameHover(s ? s() : d.current, e, "global_hover", {
                  type: t,
                  id: n,
                  v6: 1,
                }));
          },
          [t, o, s, n],
        ),
        m = a.useCallback(
          (e) => {
            "clan" != t &&
              (o && e.relatedTarget && o(!1),
              window.HideGameHover &&
                window.HideGameHover(s ? s() : d.current, e, "global_hover"));
          },
          [t, o, s],
        );
      return (
        "dev" == i.c.WEB_UNIVERSE &&
          Object(l.a)(
            "store" == Object(i.f)(),
            "StoreGameHoverAnchorSource only works on Store web properties",
          ),
        a.createElement(
          "div",
          {
            ref: d,
            className: r,
            onMouseEnter: u,
            onMouseLeave: m,
            onFocus: u,
            onBlur: m,
          },
          c,
        )
      );
    }
    function d(e) {
      const { id: t, type: n, strExtraParams: l } = e,
        d = Object(s.c)(),
        u =
          "clan" == n
            ? Object(r.b)(
                `${i.c.STORE_BASE_URL}curator/${t}${l ? `?${l}` : ""}`,
                d,
              )
            : Object(r.b)(
                `${i.c.STORE_BASE_URL}${n}/${t}${l ? `?${l}` : ""}`,
                d,
              );
      return a.createElement(
        c,
        Object.assign({}, e),
        a.createElement(
          o.c,
          {
            className: e.className,
            href: u,
            target: i.c.IN_CLIENT ? void 0 : "_blank",
            rel: "noopener noreferrer",
          },
          e.children,
        ),
      );
    }
  },
  "/i1u": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      SaleSection: "partnersaledisplay_SaleSection_254Kr",
      CarouselDisplay: "partnersaledisplay_CarouselDisplay_1uPrQ",
      SaleHeaderContainer: "partnersaledisplay_SaleHeaderContainer_3ieq7",
      SaleViewAll: "partnersaledisplay_SaleViewAll_2P7Ot",
      SaleSectionLoginPrompt: "partnersaledisplay_SaleSectionLoginPrompt_3B52g",
      LoginButton: "partnersaledisplay_LoginButton_nt_t7",
      SaleOverlayCtn: "partnersaledisplay_SaleOverlayCtn_20TVp",
      SaleOverlay: "partnersaledisplay_SaleOverlay_2eYMY",
      AppSummaryWidgetCtn: "partnersaledisplay_AppSummaryWidgetCtn_3r-U2",
      SaleBroadcastCtn: "partnersaledisplay_SaleBroadcastCtn_2wJlO",
      SaleOuterContainer: "partnersaledisplay_SaleOuterContainer_3ZZvZ",
      CustomStyle_together: "partnersaledisplay_CustomStyle_together_2cTK9",
      SaleBackground: "partnersaledisplay_SaleBackground_1COsa",
      SaleSectionTitleCtn: "partnersaledisplay_SaleSectionTitleCtn_34bN1",
      SaleSectionSubtext: "partnersaledisplay_SaleSectionSubtext_3i-s0",
      SaleSectionContainer: "partnersaledisplay_SaleSectionContainer_16rV6",
      vr_supported: "partnersaledisplay_vr_supported_25W9s",
      vr_required: "partnersaledisplay_vr_required_fQ_ZQ",
      preview_placeholder_section:
        "partnersaledisplay_preview_placeholder_section_1GVRr",
      LinkCapsule: "partnersaledisplay_LinkCapsule_2E0sD",
      fullscreen_bg: "partnersaledisplay_fullscreen_bg_2UyeZ",
      fullscreen_bg_video: "partnersaledisplay_fullscreen_bg_video_2DTxT",
      SalePageBroadcastContextHover:
        "partnersaledisplay_SalePageBroadcastContextHover_1d8Fc",
      AlbumCoverImage: "partnersaledisplay_AlbumCoverImage_3WuMw",
      AlbumTitle: "partnersaledisplay_AlbumTitle_2VZSf",
      PreviewSalesPageContainer:
        "partnersaledisplay_PreviewSalesPageContainer_1LoXF",
      SaleSectionTabs: "partnersaledisplay_SaleSectionTabs_QhcTn",
      DesktopTabs: "partnersaledisplay_DesktopTabs_2pK8U",
      SaleSectionTabsTab: "partnersaledisplay_SaleSectionTabsTab_6P59P",
      SaleSectionTabContainer:
        "partnersaledisplay_SaleSectionTabContainer_2ejtb",
      SaleSectionTabsRow: "partnersaledisplay_SaleSectionTabsRow_1cPXZ",
      SaleTab: "partnersaledisplay_SaleTab_3vO5a",
      SaleTabLabel: "partnersaledisplay_SaleTabLabel_3m92q",
      SaleSectionTabListContainer:
        "partnersaledisplay_SaleSectionTabListContainer_1mxQD",
      MobileTabSelector: "partnersaledisplay_MobileTabSelector_2LM5J",
      Visible: "partnersaledisplay_Visible_2y0Cn",
      MobileTabSelectorButton:
        "partnersaledisplay_MobileTabSelectorButton_3yRmG",
      MobileTabSelectorShortcut:
        "partnersaledisplay_MobileTabSelectorShortcut_3NWyt",
      MobileTabSelectorDropDown:
        "partnersaledisplay_MobileTabSelectorDropDown_ep7zy",
      MobileTabSelectorOption:
        "partnersaledisplay_MobileTabSelectorOption_3vR5T",
      TabContentsContainer: "partnersaledisplay_TabContentsContainer_2UXQs",
      HorizontalScrollInDragForceCursor:
        "partnersaledisplay_HorizontalScrollInDragForceCursor_tc4ra",
      SaleBroadcastSection: "partnersaledisplay_SaleBroadcastSection_3FpNb",
      CarouselPage: "partnersaledisplay_CarouselPage_1Wn59",
      TabButtonsCtn: "partnersaledisplay_TabButtonsCtn_3rL-7",
      TabButton: "partnersaledisplay_TabButton_2n-3e",
      DefaultCreatorCtn: "partnersaledisplay_DefaultCreatorCtn_23ZCI",
      EventSectionViewAllCtn: "partnersaledisplay_EventSectionViewAllCtn_2lWIR",
    };
  },
  "/loZ": function (e, t, n) {
    "use strict";
    n("AQa9");
  },
  "0BPb": function (e, t, n) {
    e.exports = {
      SearchResults: "eventsearch_SearchResults_A8sXK",
      SmallText: "eventsearch_SmallText_jXP1g",
    };
  },
  "0CSJ": function (e, t, n) {
    "use strict";
    n.d(t, "y", function () {
      return E;
    }),
      n.d(t, "L", function () {
        return C;
      }),
      n.d(t, "p", function () {
        return w;
      }),
      n.d(t, "C", function () {
        return B;
      }),
      n.d(t, "d", function () {
        return O;
      }),
      n.d(t, "c", function () {
        return D;
      }),
      n.d(t, "g", function () {
        return R;
      }),
      n.d(t, "h", function () {
        return k;
      }),
      n.d(t, "F", function () {
        return P;
      }),
      n.d(t, "e", function () {
        return L;
      }),
      n.d(t, "K", function () {
        return G;
      }),
      n.d(t, "D", function () {
        return N;
      }),
      n.d(t, "E", function () {
        return F;
      }),
      n.d(t, "b", function () {
        return x;
      }),
      n.d(t, "f", function () {
        return U;
      }),
      n.d(t, "I", function () {
        return W;
      }),
      n.d(t, "M", function () {
        return H;
      }),
      n.d(t, "z", function () {
        return $;
      }),
      n.d(t, "N", function () {
        return te;
      }),
      n.d(t, "J", function () {
        return ne;
      }),
      n.d(t, "H", function () {
        return oe;
      }),
      n.d(t, "G", function () {
        return le;
      }),
      n.d(t, "B", function () {
        return fe;
      }),
      n.d(t, "A", function () {
        return ve;
      }),
      n.d(t, "m", function () {
        return Ce;
      }),
      n.d(t, "l", function () {
        return De;
      }),
      n.d(t, "n", function () {
        return Ie;
      }),
      n.d(t, "j", function () {
        return $e;
      }),
      n.d(t, "a", function () {
        return tt;
      }),
      n.d(t, "o", function () {
        return rt;
      }),
      n.d(t, "i", function () {
        return ot;
      }),
      n.d(t, "k", function () {
        return p;
      }),
      n.d(t, "s", function () {
        return mt;
      }),
      n.d(t, "t", function () {
        return ht;
      }),
      n.d(t, "r", function () {
        return _t;
      }),
      n.d(t, "v", function () {
        return jt;
      }),
      n.d(t, "w", function () {
        return kt;
      }),
      n.d(t, "x", function () {
        return Mt;
      }),
      n.d(t, "q", function () {
        return Lt;
      }),
      n.d(t, "u", function () {
        return Zt;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = (n("NKx1"), n("ERCR")),
      o = n("uaeK"),
      l = n("l1Mn"),
      c = n("3wCP"),
      d = n("CqJL"),
      u = n("VQwQ"),
      m = n("CYEq");
    const p = Object(m.a)("DialogPresentationContext", () =>
        i.a.createContext({}),
      ),
      h = () => i.a.useContext(p);
    var _ = n("zyuZ"),
      g = n("M2hH"),
      b = n.n(g);
    const f = (e) => {
        const t = h();
        return i.a.createElement(
          _.a,
          Object.assign(
            { component: null == t ? void 0 : t.ToggleControl, fallback: v },
            e,
          ),
        );
      },
      v = (e) => {
        const { value: t, onChange: n, disabled: a } = e;
        return i.a.createElement(
          "div",
          {
            className: Object(c.a)(b.a.Toggle, a && b.a.Disabled),
            onClick: () => !a && n && n(!t),
          },
          i.a.createElement("div", { className: b.a.ToggleRail }),
          i.a.createElement("div", {
            className: Object(c.a)(
              b.a.ToggleRail,
              b.a.Highlight,
              t ? b.a.On : b.a.Off,
            ),
          }),
          i.a.createElement("div", {
            className: Object(c.a)(b.a.ToggleSwitch, t ? b.a.On : b.a.Off),
          }),
        );
      };
    function S(e) {
      return r.forwardRef((t, n) =>
        r.createElement(
          "div",
          Object.assign({}, t, {
            className: Object(c.a)(e, t.className),
            ref: n,
          }),
        ),
      );
    }
    function y(e) {
      return r.forwardRef(function (t, n) {
        return r.createElement(
          o.a,
          Object.assign({}, t, {
            className: Object(c.a)(e, t.className),
            ref: n,
          }),
        );
      });
    }
    let E = S("DialogHeader"),
      C = S("DialogSubHeader"),
      w = S("DialogFooter"),
      B = S("DialogLabel _DialogLayout"),
      O = S("DialogBodyText"),
      D = S("DialogBody"),
      I =
        (y("DialogBody"),
        S("DialogInnerBody"),
        S("DialogControlsSection"),
        S("DialogControlsSectionHeader"),
        y("DialogTwoColLayout _DialogColLayout")),
      T = y("DialogThreeColLayout _DialogColLayout");
    y("DialogTwoThirdColLayout _DialogColLayout"),
      S("DialogColumn _DialogLayout");
    function R(e) {
      const t = h();
      return r.createElement(
        _.a,
        Object.assign({ component: t.Content, fallback: j }, e),
      );
    }
    function j(e) {
      let {
          children: t,
          bCenterVertically: n,
          renderDialogContentDiv: i,
          renderDialogContentInnerDiv: s,
        } = e,
        o = Object(a.c)(e, [
          "children",
          "bCenterVertically",
          "renderDialogContentDiv",
          "renderDialogContentInnerDiv",
        ]),
        l =
          "DialogContent _DialogLayout" +
          (e.className ? " " + e.className : "");
      return (
        n && (l += " _DialogCenterVertically"),
        r.createElement(
          _.a,
          Object.assign({ component: i, fallback: "div" }, o, { className: l }),
          r.createElement(
            _.a,
            {
              component: s,
              fallback: "div",
              className: "DialogContent_InnerWidth",
            },
            t,
          ),
        )
      );
    }
    class A extends r.Component {
      OnSubmit(e) {
        e.preventDefault(), this.props.onSubmit && this.props.onSubmit(e);
      }
      render() {
        return r.createElement(
          "form",
          Object.assign({}, this.props, { onSubmit: this.OnSubmit }),
        );
      }
    }
    function k(e) {
      const { classNameContent: t, bCenterVertically: n } = e,
        i = Object(a.c)(e, ["classNameContent", "bCenterVertically"]);
      return r.createElement(
        R,
        { className: t, bCenterVertically: n },
        r.createElement(A, Object.assign({}, i)),
      );
    }
    Object(a.b)([u.a], A.prototype, "OnSubmit", null);
    const M = r.forwardRef(function (e, t) {
        const n = h(),
          { svgicon: i } = e,
          o = Object(a.c)(e, ["svgicon"]),
          l = Object(c.a)(
            e.className,
            void 0 !== i && "hasSVGIcon",
            o.disabled && "Disabled",
            n.strButtonClassName,
          );
        return r.createElement(
          s.d,
          Object.assign(
            {
              ref: t,
              onOKActionDescription: o.disabled ? null : void 0,
              noFocusRing: !0,
            },
            o,
            {
              className: l,
              disabled: !1,
              onClick: o.disabled ? null : o.onClick,
              onPointerDown: o.disabled ? null : o.onPointerDown,
              onPointerUp: o.disabled ? null : o.onPointerUp,
              onPointerCancel: o.disabled ? null : o.onPointerCancel,
              onMouseDown: o.disabled ? null : o.onMouseDown,
              onMouseUp: o.disabled ? null : o.onMouseUp,
              onTouchStart: o.disabled ? null : o.onTouchStart,
              onTouchEnd: o.disabled ? null : o.onTouchEnd,
              onTouchCancel: o.disabled ? null : o.onTouchCancel,
              onSubmit: o.disabled ? null : o.onSubmit,
            },
          ),
          i && i(),
          e.children,
        );
      }),
      P = r.forwardRef(function (e, t) {
        return r.createElement(
          M,
          Object.assign(
            { preferredFocus: !0, type: e.onClick ? "button" : "submit" },
            e,
            {
              ref: t,
              className: Object(c.a)(
                e.className,
                "DialogButton",
                "_DialogLayout",
                "Primary",
              ),
            },
          ),
        );
      }),
      L = r.forwardRef(function (e, t) {
        return r.createElement(
          M,
          Object.assign({ type: "button" }, e, {
            ref: t,
            className: Object(c.a)(
              e.className,
              "DialogButton",
              "_DialogLayout",
              "Secondary",
            ),
          }),
        );
      }),
      G = r.forwardRef(function (e, t) {
        return r.createElement(
          M,
          Object.assign({ type: "button" }, e, {
            ref: t,
            className: Object(c.a)(
              e.className,
              "DialogButton _DialogLayout Small",
            ),
          }),
        );
      });
    r.forwardRef(function (e, t) {
      return r.createElement(
        M,
        Object.assign({ type: "button" }, e, {
          ref: t,
          className: Object(c.a)(e.className, "TextButton"),
        }),
      );
    });
    function N(e) {
      return r.createElement(
        I,
        null,
        r.createElement(
          P,
          {
            onClick: e.onOK,
            disabled: e.bOKDisabled,
            autoFocus: "primary" == e.focusButton,
          },
          e.strOKText || Object(d.f)("#Button_Confirm"),
          " ",
        ),
        r.createElement(
          L,
          {
            onClick: e.onCancel,
            disabled: e.bCancelDisabled,
            autoFocus: "secondary" == e.focusButton,
          },
          e.strCancelText || Object(d.f)("#Button_Cancel"),
        ),
      );
    }
    function F(e) {
      return r.createElement(
        T,
        null,
        r.createElement(
          P,
          { onClick: e.onOK, disabled: e.bOKDisabled },
          e.strOKText || Object(d.f)("#Button_Confirm"),
          " ",
        ),
        r.createElement(
          P,
          { onClick: e.onUpdate, disabled: e.bUpdateDisabled },
          e.strUpdateText || Object(d.f)("#Button_Update"),
          " ",
        ),
        r.createElement(
          L,
          { onClick: e.onCancel, disabled: e.bCancelDisabled },
          e.strCancelText || Object(d.f)("#Button_Cancel"),
        ),
      );
    }
    class x extends r.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: n,
            label: r,
            description: i,
            tabIndex: s,
            disabled: o,
            className: l,
            tooltip: c,
            color: d,
            highlightColor: u,
            bottomSeparator: m,
            controlled: p,
          } = e,
          h = Object(a.c)(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);
      }
    }
    Object(a.b)([u.a], x.prototype, "Toggle", null),
      Object(a.b)([u.a], x.prototype, "KeyDown", null),
      Object(a.b)([u.a], x.prototype, "SetChecked", null);
    class z extends x {
      render() {
        let e = "DialogCheckbox" + (this.checked ? " Active" : "");
        return (
          1 == this.state.disabled && (e += " Disabled"),
          this.props.label
            ? r.createElement(
                o.a,
                Object.assign(
                  {
                    className:
                      "DialogCheckbox_Container _DialogLayout " +
                      (this.props.className ? this.props.className : ""),
                  },
                  this.GetPanelElementProps(),
                ),
                r.createElement(
                  "div",
                  { className: e },
                  r.createElement(l.r, {
                    color: this.props.color,
                    highlightColor: this.props.highlightColor,
                  }),
                ),
                r.createElement(
                  "div",
                  { className: "DialogToggle_Label" },
                  r.createElement("span", null, this.props.label),
                  this.props.tooltip &&
                    r.createElement(
                      "span",
                      { "data-tooltip-text": this.props.tooltip },
                      " (?)",
                    ),
                ),
                r.createElement("div", { style: { clear: "left" } }),
                this.props.description &&
                  r.createElement(
                    "div",
                    { className: "DialogToggle_Description" },
                    this.props.description,
                  ),
              )
            : r.createElement(
                o.a,
                Object.assign({ className: e }, this.GetPanelElementProps()),
                r.createElement(l.r, null),
              )
        );
      }
    }
    class U extends x {
      render() {
        return r.createElement(_.a, Object.assign({ fallback: z }, this.props));
      }
    }
    U.contextType = p;
    class W extends x {
      render() {
        let e = this.checked ? " Active" : "";
        return r.createElement(
          o.a,
          Object.assign(
            {
              className: Object(c.a)(
                "DialogRoundCheckboxField_Container",
                this.props.className,
                this.props.label ? "WithLabel" : "",
              ),
            },
            this.GetPanelElementProps(),
          ),
          r.createElement(
            "div",
            { className: "DialogRoundCheckboxField" },
            r.createElement(
              "div",
              { className: "DialogRoundCheckboxField_Control" + e },
              r.createElement(
                "div",
                { className: "DialogRoundCheckboxField_OuterCircle" },
                r.createElement("div", {
                  className: "DialogRoundCheckboxField_InnerCircle",
                }),
              ),
            ),
          ),
          this.props.label &&
            r.createElement(
              "div",
              { className: "DialogToggle_Label" },
              r.createElement("span", null, this.props.label),
              this.props.tooltip &&
                r.createElement(
                  "span",
                  { "data-tooltip-text": this.props.tooltip },
                  " (?)",
                ),
            ),
        );
      }
    }
    const H = r.forwardRef(function (e, t) {
      const n = h();
      return r.createElement(
        _.a,
        Object.assign(
          { component: n.ToggleField, fallback: V, componentRef: t },
          e,
        ),
      );
    });
    class V extends x {
      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"),
          r.createElement(
            "div",
            {
              className: e,
              tabIndex: this.props.tabIndex || 0,
              onKeyDown: this.OnOffKeyDown,
            },
            r.createElement(
              "div",
              { className: "displayColumn alignSelfCenter" },
              r.createElement(
                "div",
                { className: "DialogToggle_Label" },
                r.createElement("span", null, this.props.label),
                this.props.tooltip &&
                  r.createElement(
                    "span",
                    { "data-tooltip-text": this.props.tooltip },
                    " (?)",
                  ),
              ),
              this.props.description &&
                r.createElement(
                  "div",
                  { className: "DialogToggle_Description" },
                  this.props.description,
                ),
              this.props.children,
            ),
            this.props.useToggleRail
              ? r.createElement(
                  "div",
                  { className: "DialogToggleField_NewUIContainer" },
                  r.createElement(f, {
                    onChange: this.OnNewUIToggle,
                    value: this.checked,
                  }),
                )
              : r.createElement(
                  "div",
                  {
                    className: "DialogToggleField_Control",
                    onClick: this.Toggle,
                  },
                  r.createElement(
                    o.a,
                    {
                      className: "DialogToggleField_OptionPanel",
                      onOKButton: this.Toggle,
                    },
                    r.createElement(
                      "div",
                      {
                        className:
                          "DialogToggleField_Option Off" +
                          (this.checked ? "" : " Active"),
                      },
                      Object(d.f)("#Dialog_Off"),
                    ),
                    r.createElement(
                      "div",
                      {
                        className:
                          "DialogToggleField_Option On" +
                          (this.checked ? " Active" : ""),
                      },
                      Object(d.f)("#Dialog_On"),
                    ),
                  ),
                ),
          )
        );
      }
    }
    Object(a.b)([u.a], V.prototype, "OnOffKeyDown", null),
      Object(a.b)([u.a], V.prototype, "OnNewUIToggle", null);
    var q = n("KT6v"),
      K = n("i8i4"),
      Q = n("hHds"),
      Y = n("X9fq");
    class Z extends Y.a {
      constructor(e, t, n) {
        super(Q.n(K.findDOMNode(e)), n),
          (this.m_props = {}),
          (this.m_component = e),
          (this.m_propTargets = t),
          (this.m_setStateOnComplete = n.setStateOnComplete);
      }
      Start() {
        this.m_props = {};
        for (let e in this.m_propTargets) {
          let t = parseFloat(this.m_component.state[e]) || 0,
            n = this.m_propTargets[e];
          t != n && (this.m_props[e] = { start: t, end: n });
        }
        super.Start();
      }
      Update(e) {
        let t = {};
        for (let n in this.m_props) {
          let a = this.m_props[n],
            r = a.start + (a.end - a.start) * e;
          t[n] = r;
        }
        this.m_component.setState(t);
      }
      FireOnComplete() {
        super.FireOnComplete(),
          this.m_setStateOnComplete &&
            this.m_component.setState(this.m_setStateOnComplete);
      }
    }
    var J = n("fvA7");
    const X = r.forwardRef(function (e, t) {
      const n = h();
      return r.createElement(
        _.a,
        Object.assign(
          { component: null == n ? void 0 : n.InputElement, fallback: "input" },
          e,
          { componentRef: t },
        ),
      );
    });
    class $ extends r.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,
          });
      }
      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,
        );
      }
      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 && !$.validateUrl(this.m_elInput.value),
          m_bIsInvalidEmail:
            1 == this.props.mustBeEmail &&
            !$.validateEmail(this.m_elInput.value),
        });
      }
      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 n = -4,
            a = -24;
          this.setState({ m_bCompletedCopiedAnimation: !1 }),
            this.setState({ m_CopiedYPos: n }, () => {
              (this.m_CopiedAnimation = new Z(
                this,
                { m_CopiedYPos: a },
                {
                  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) {
        Object(J.a)(
          !(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: n,
            requiredLabel: i,
            bShowCopyAction: s,
            bShowClearAction: c,
            bAlwaysShowClearAction: u,
            bIsPassword: m,
            rangeMin: p,
            rangeMax: h,
            mustBeNumeric: _,
            mustBeURL: g,
            mustBeEmail: b,
            focusOnMount: f,
            tooltip: v,
            inlineControls: S,
          } = e,
          y = Object(a.c)(e, [
            "label",
            "description",
            "requiredLabel",
            "bShowCopyAction",
            "bShowClearAction",
            "bAlwaysShowClearAction",
            "bIsPassword",
            "rangeMin",
            "rangeMax",
            "mustBeNumeric",
            "mustBeURL",
            "mustBeEmail",
            "focusOnMount",
            "tooltip",
            "inlineControls",
          ]);
        let E =
            "DialogInput DialogInputPlaceholder DialogTextInputBase" +
            (y.className ? " " + y.className : ""),
          C = "copiedAnimation",
          w = this.state.m_bCompletedCopiedAnimation;
        this.m_CopiedAnimation && (C = "copiedAnimation animationPlaying"),
          w && (C = "copiedAnimation animationComplete");
        let B = {};
        void 0 !== this.state.m_CopiedYPos &&
          (B.transform = "translateY(" + this.state.m_CopiedYPos + "px)");
        let O = r.createElement(
          r.Fragment,
          null,
          r.createElement(
            o.a,
            {
              className: "DialogInput_Wrapper _DialogLayout",
              "flow-children": "row",
            },
            r.createElement(
              X,
              Object.assign({ type: m ? "password" : "text" }, y, {
                className: E,
                ref: this.OnInputRef,
                onChange: this.OnChanged,
              }),
            ),
            s &&
              r.createElement(
                "div",
                { className: "displayRow" },
                r.createElement(
                  L,
                  {
                    className: "DialogInput_CopyAction Primary",
                    onClick: this.OnCopyClick,
                  },
                  Object(d.f)("#Button_CopyLink"),
                ),
                r.createElement(
                  "div",
                  { style: B, className: C },
                  "Link Copied",
                ),
              ),
            (u || (c && y.value)) &&
              r.createElement(
                "div",
                {
                  className: "DialogInput_ClearAction",
                  onClick: this.OnClearClick,
                },
                r.createElement(l.Ab, null),
              ),
            S,
          ),
          n && r.createElement("div", { className: "DialogLabelExplainer" }, n),
        );
        return t
          ? r.createElement(
              "div",
              { className: "DialogInputLabelGroup _DialogLayout " },
              r.createElement(
                "label",
                null,
                r.createElement(
                  "div",
                  { className: "DialogLabel" },
                  t,
                  " ",
                  this.props.tooltip &&
                    r.createElement(
                      "span",
                      { "data-tooltip-text": this.props.tooltip },
                      " (?)",
                    ),
                  r.createElement(
                    "span",
                    { className: "DialogInputRequirementLabel" },
                    this.props.requiredLabel,
                  ),
                  " ",
                ),
                O,
                this.state.m_bNumberBelowMinRange
                  ? r.createElement(
                      "div",
                      null,
                      " ",
                      Object(d.f)("#Input_Error_NumberTooSmall"),
                      " ",
                    )
                  : null,
                this.state.m_bNumberAboveMaxRange
                  ? r.createElement(
                      "div",
                      null,
                      " ",
                      Object(d.f)("#Input_Error_NumberTooLarge"),
                      " ",
                    )
                  : null,
                this.state.m_bIsInvalidURL
                  ? r.createElement(
                      "div",
                      null,
                      " ",
                      Object(d.f)("#Input_Error_MustBeURL"),
                      " ",
                    )
                  : null,
                this.state.m_bIsInvalidEmail
                  ? r.createElement(
                      "div",
                      null,
                      " ",
                      Object(d.f)("#Input_Error_MustBeEmail"),
                      " ",
                    )
                  : null,
                this.state.m_bIsNotNumeric
                  ? r.createElement(
                      "div",
                      null,
                      " ",
                      Object(d.f)("#Input_Error_MustBeNumber"),
                      " ",
                    )
                  : null,
              ),
            )
          : O;
      }
    }
    Object(a.b)([q.b], $.prototype, "OnInputRef", null),
      Object(a.b)([q.b], $.prototype, "OnChanged", null),
      Object(a.b)([q.b], $.prototype, "OnCopyClick", null),
      Object(a.b)([q.b], $.prototype, "OnClearClick", null);
    class ee extends $ {
      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: n, children: i, className: l } = e,
          d = Object(a.c)(e, ["label", "description", "children", "className"]);
        return r.createElement(
          "div",
          {
            className:
              "DialogInputLabelGroup _DialogLayout DialogListBuilderInput",
          },
          r.createElement(
            "label",
            null,
            t && r.createElement("div", { className: "DialogLabel" }, t),
            r.createElement(
              "div",
              {
                className: Object(c.a)(
                  "_DialogInputContainer",
                  "DialogTextInputBase",
                  this.m_bFocused && "Active",
                ),
                onClick: this.OnBackgroundClick,
              },
              r.createElement(
                o.a,
                {
                  className: "DialogListBuilderInput_List",
                  "flow-children": "row",
                },
                r.Children.map(i, (e, t) =>
                  r.createElement(
                    "div",
                    { className: "DialogListBuilderInput_ListItem", key: t },
                    e,
                  ),
                ),
                r.createElement(
                  s.f,
                  Object.assign({ type: "text" }, d, {
                    className:
                      "DialogListBuilderInput_Input DialogInputPlaceholder",
                    ref: this.OnInputRef,
                    onFocus: this.OnInputFocus,
                    onBlur: this.OnInputBlur,
                    size: 4,
                  }),
                ),
              ),
            ),
            n &&
              r.createElement("div", { className: "DialogLabelExplainer" }, n),
          ),
        );
      }
    }
    Object(a.b)([q.b], ee.prototype, "OnBackgroundClick", null),
      Object(a.b)([q.b], ee.prototype, "OnInputFocus", null),
      Object(a.b)([q.b], ee.prototype, "OnInputBlur", null);
    const te = (e) => "" + (null != e ? Number.parseFloat(e.toFixed(2)) : null),
      ne = (e) => {
        const t = h();
        return r.createElement(
          _.a,
          Object.assign({ component: t.SliderField, fallback: ae }, e),
        );
      };
    class ae extends r.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 n =
          ((e - this.m_rectSlider.left) /
            (this.m_rectSlider.right - this.m_rectSlider.left)) *
            (this.props.max - this.props.min) +
          this.props.min;
        n = Math.floor(n + 0.5);
        const a = this.ClampValue(n);
        a != this.props.value &&
          (this.props.onChange && this.props.onChange(a, t),
          (this.m_flLastSetValue = a));
      }
      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 = {},
          n = {};
        if (this.BPropsValid()) {
          let e =
            (100 * (this.props.value - this.props.min)) /
              (this.props.max - this.props.min) +
            "%";
          (t.width = e), (n.left = e);
        }
        const i = this.props,
          { label: s, description: o, tooltip: l } = i,
          c =
            (Object(a.c)(i, ["label", "description", "tooltip"]),
            null !== (e = this.props.renderValue) && void 0 !== e ? e : te);
        return r.createElement(
          "div",
          {
            className:
              "DialogSlider_Container _DialogInputContainer _DialogLayout" +
              (this.props.className ? " " + this.props.className : ""),
            onKeyDown: this.OnKeyDown,
            tabIndex: this.props.tabIndex || 0,
          },
          s &&
            r.createElement(
              "div",
              { className: "DialogLabel" },
              s,
              Boolean(l) &&
                r.createElement("span", { "data-tooltip-text": l }, " (?)"),
            ),
          r.createElement(
            "div",
            {
              className: "DialogSlider_Slider",
              onMouseDown: this.OnMouseDown,
              onTouchStart: this.OnTouchStart,
            },
            r.createElement("div", {
              className: "DialogSlider_Value",
              style: t,
            }),
            r.createElement("div", {
              className: "DialogSlider_Grabber",
              style: n,
            }),
          ),
          this.props.showValue &&
            r.createElement(
              "div",
              { className: "DialogLabelExplainer" },
              c(this.props.value),
              " ",
              this.props.valueSuffix,
            ),
          o && r.createElement("div", { className: "DialogLabelExplainer" }, o),
        );
      }
    }
    Object(a.b)([q.b], ae.prototype, "OnMouseDown", null),
      Object(a.b)([q.b], ae.prototype, "OnMouseMove", null),
      Object(a.b)([q.b], ae.prototype, "OnMouseUp", null),
      Object(a.b)([q.b], ae.prototype, "OnTouchStart", null),
      Object(a.b)([q.b], ae.prototype, "OnTouchMove", null),
      Object(a.b)([q.b], ae.prototype, "OnTouchEnd", null),
      Object(a.b)([q.b], ae.prototype, "OnKeyDown", null);
    var re = n("4OT9"),
      ie = n.n(re);
    const se = i.a.createContext({ setValue: () => {} }),
      oe = (e) => {
        const { value: t, onChange: n, children: a } = e,
          r = { value: t, setValue: n };
        return i.a.createElement(
          se.Provider,
          { value: r },
          i.a.createElement(
            "div",
            { className: Object(c.a)(ie.a.Group, "Shared_Radio_Group") },
            a,
          ),
        );
      },
      le = (e) => {
        const { value: t } = e,
          { value: n, setValue: a } = i.a.useContext(se),
          r = t === n;
        return i.a.createElement(
          "div",
          {
            className: Object(c.a)(
              ie.a.Button,
              "RadioButton",
              r && ie.a.Active,
            ),
            onClick: () => a(t),
          },
          e.children,
        );
      };
    var ce = n("LlcT"),
      de = n("gTmQ"),
      ue = n("8nKW"),
      me = n.n(ue),
      pe = n("2hyl"),
      he = n("Co9h"),
      _e = n.n(he),
      ge = n("aaBf"),
      be = n("QmWs");
    function fe(e) {
      return "object" == typeof e && "data" in e;
    }
    function ve(e) {
      return "object" == typeof e && "options" in e;
    }
    function Se(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 n = 0; n < e.length; n++) if (!ye(e[n], t[n])) return !1;
      return !0;
    }
    function ye(e, t) {
      return null == e || null == t
        ? e == t
        : e.label === t.label &&
            e.tooltip === t.tooltip &&
              ve(e) == ve(t) &&
                !(ve(e) && ve(t) && !Se(e.options, t.options)) &&
            (!fe(e) || !fe(t) || e.data === t.data);
    }
    function Ee(e, t) {
      if (null != e)
        for (let n = 0; n < e.length; n++) {
          const a = e[n];
          if (fe(a) && a.data === t) return a;
          if (ve(a)) {
            const e = Ee(a.options, t);
            if (null != e) return e;
          }
        }
    }
    function Ce(e) {
      const t = h();
      return r.createElement(
        _.a,
        Object.assign({ component: t.DropDownField, fallback: we }, e),
      );
    }
    function we(e) {
      const {
          label: t,
          tooltip: n,
          strClassName: i,
          dropDownControlRef: s,
        } = e,
        o = Object(a.c)(e, [
          "label",
          "tooltip",
          "strClassName",
          "dropDownControlRef",
        ]);
      return r.createElement(
        "div",
        { className: Object(c.a)("DialogInputLabelGroup", "_DialogLayout", i) },
        t &&
          r.createElement(
            "div",
            { className: "DialogLabel" },
            t,
            n && r.createElement("span", { "data-tooltip-text": n }, " (?)"),
          ),
        r.createElement(De, Object.assign({ menuLabel: t }, o, { ref: s })),
      );
    }
    const Be = r.forwardRef(function (e, t) {
        const n = h();
        return r.createElement(
          _.a,
          Object.assign(
            {
              component: n.DropDownControlButton,
              fallback: Oe,
              componentRef: t,
            },
            e,
          ),
        );
      }),
      Oe = r.forwardRef(function (e, t) {
        return r.createElement(
          o.a,
          {
            focusable: e.focusable,
            noFocusRing: !0,
            className: Object(c.a)(
              e.className,
              "DialogDropDown",
              "_DialogInputContainer",
              { Active: e.opened, Disabled: e.disabled },
            ),
            tabIndex: e.tabIndex,
            onClick: e.onClick,
            ref: t,
          },
          e.children,
          !e.disabled &&
            r.createElement(
              "div",
              { className: "DialogDropDown_Arrow" },
              r.createElement(l.u, null),
            ),
        );
      });
    class De extends r.Component {
      constructor(e) {
        super(e),
          (this.state = {
            value: Ee(e.rgOptions, e.selectedOption),
            bOpened: !1,
          });
      }
      SetSelectedOption(e) {
        const t = Ee(this.props.rgOptions, e);
        ye(t, this.state.value) || this.setState({ value: t });
      }
      get value() {
        return this.state.value;
      }
      shouldComponentUpdate(e, t, n) {
        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 (!Se(this.props.rgOptions, e.rgOptions)) return !0;
        if (!ye(t.value, this.state.value)) return !0;
        let a = ["selectedOption", "tabIndex", "onChange", "strDefaultLabel"];
        for (let t of a) if (e[t] !== this.props[t]) return !0;
        return !1;
      }
      componentDidUpdate(e, t) {
        const n = !Se(e.rgOptions, this.props.rgOptions),
          a = e.selectedOption !== this.props.selectedOption,
          r = this.state.value !== t.value;
        (n || r || a) &&
          (a || null == this.state.value
            ? this.SetSelectedOption(this.props.selectedOption)
            : this.SetSelectedOption(this.state.value.data)),
          (n || r) &&
            (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) {
        this.HideMenu(),
          this.setState({ value: e }),
          this.props.onChange && this.props.onChange(e, this);
      }
      BuildMenu() {
        var e, t, n;
        let a = "DialogMenuPosition";
        this.props.strDropDownClassName &&
          (a += " " + this.props.strDropDownClassName);
        let i = Object.assign(
            {
              bOverlapHorizontal: !0,
              bMatchWidth: !0,
              bFitToWindow: !0,
              strClassName: a,
              bDisableMouseOverlay: this.props.bDisableMouseOverlay,
            },
            this.props.contextMenuPositionOptions,
          ),
          s =
            null === (e = this.props.contextMenuPositionOptions) || void 0 === e
              ? void 0
              : e.onCancel;
        (this.m_iMenuInstance = Object(ce.a)(
          r.createElement(Te, {
            rgOptions: this.props.rgOptions,
            onValueSelected: this.OnValueSelected,
            onCancel: s,
            selectedValue:
              null === (t = this.value) || void 0 === t ? void 0 : t.data,
            strDropDownItemClassName: this.props.strDropDownItemClassName,
          }),
          this.m_elInput,
          i,
        )),
          this.m_iMenuInstance.SetLabel(
            null !== (n = this.props.menuLabel) && void 0 !== n
              ? n
              : "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() {
        var e;
        this.m_iMenuInstance &&
          (this.m_iMenuInstance.Hide(),
          ge.c.IN_GAMEPADUI &&
            (null === (e = be.a.Get()) ||
              void 0 === e ||
              e.ReopenPreModalSideMenu())),
          this.setState({ bOpened: !1 });
      }
      render() {
        var e, t, n, a, i;
        const s = r.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(s)
              : s,
          l = null === (n = this.props.focusable) || void 0 === n || n;
        return r.createElement(
          _.a,
          {
            component: this.props.renderButton,
            fallback: Be,
            focusable: l,
            disabled: null !== (a = this.props.disabled) && void 0 !== a && a,
            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,
          },
          o,
        );
      }
    }
    (De.contextType = p),
      Object(a.b)([q.b], De.prototype, "OnInputRef", null),
      Object(a.b)([q.b], De.prototype, "ToggleMenu", null),
      Object(a.b)([q.b], De.prototype, "OnValueSelected", null),
      Object(a.b)([q.b], De.prototype, "ShowMenu", null),
      Object(a.b)([q.b], De.prototype, "HideMenu", null);
    const Ie = r.createContext(null);
    function Te(e) {
      const t = h();
      return r.createElement(
        Ie.Provider,
        { value: {} },
        r.createElement(
          _.a,
          Object.assign({ component: t.DropDownMenu, fallback: Re }, e),
        ),
      );
    }
    function Re(e) {
      var t;
      const n = [e.rgOptions],
        a = [];
      for (; n.length > 0; )
        null === (t = n.shift()) ||
          void 0 === t ||
          t.forEach((t, i) => {
            fe(t)
              ? a.push(
                  r.createElement(
                    "div",
                    {
                      key: i,
                      className: Object(c.a)(
                        me.a.DialogDropDownMenu_Item,
                        e.strDropDownItemClassName,
                        t.strOptionClass,
                      ),
                      "data-dropdown-index": i,
                      onClick: () => e.onValueSelected && e.onValueSelected(t),
                    },
                    Boolean(t.tooltip)
                      ? r.createElement(
                          pe.a,
                          {
                            toolTipContent: t.tooltip,
                            strTooltipClassname: _e.a.HoverAboveModal,
                          },
                          t.label,
                        )
                      : r.createElement(r.Fragment, null, t.label),
                  ),
                )
              : ve(t) && n.push(t.options);
          });
      return r.createElement(
        "div",
        {
          className: Object(c.a)(
            me.a.DialogDropDownMenu,
            "_DialogInputContainer",
          ),
        },
        a,
      );
    }
    class je extends r.Component {
      constructor() {
        super(...arguments), (this.state = { rgOptions: void 0 });
      }
      OnMenuOpened() {
        return Object(a.a)(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: n, initialValue: i } = e,
          s = Object(a.c)(e, [
            "fnLoadOptions",
            "strInitialDisplay",
            "initialValue",
          ]);
        let { rgOptions: o } = this.state;
        return (
          void 0 === o &&
            (n || i
              ? ((o = [{ label: n, data: i }]), (s.selectedOption = i))
              : (o = [])),
          r.createElement(
            Ce,
            Object.assign({}, s, {
              rgOptions: o,
              onMenuOpened: this.OnMenuOpened,
            }),
          )
        );
      }
    }
    Object(a.b)([q.b], je.prototype, "OnMenuOpened", null);
    n("Fjr4");
    var Ae = n("2vnA"),
      ke = n("eV45"),
      Me = n("Mx8f"),
      Pe = n("gM6l");
    class Le extends r.Component {
      constructor() {
        super(...arguments), (this.m_coordinator = new Ne());
      }
      OnDrop(e, t) {
        t > e && t--, t != e && this.props.onReorder(e, t);
      }
      render() {
        let e = [];
        return (
          e.push(
            r.createElement(We, {
              coordinator: this.m_coordinator,
              key: "dropregion_top",
              fnBAcceptDraggable: (e) => 0 != e.props.data,
              fnOnDrop: (e) => this.OnDrop(e.props.data, 0),
            }),
          ),
          r.Children.forEach(this.props.children, (t, n) => {
            const a = t.props.id || "__list_" + n,
              i = n + 1;
            e.push(
              r.createElement(
                Fe,
                { coordinator: this.m_coordinator, data: n, key: a },
                t,
              ),
            ),
              e.push(
                r.createElement(We, {
                  coordinator: this.m_coordinator,
                  key: "dropregion_" + a,
                  fnBAcceptDraggable: (e) => e.props.data != i,
                  fnOnDrop: (e) => this.OnDrop(e.props.data, i),
                }),
              );
          }),
          r.createElement("div", { className: "DialogReorderableList" }, e)
        );
      }
    }
    function Ge(e, t, n, a) {
      return a
        ? n && e > n.left && e < n.right && t > n.top && t < n.bottom
        : n && e >= n.left && e <= n.right && t >= n.top && t <= n.bottom;
    }
    Object(a.b)([q.b], Le.prototype, "OnDrop", null);
    class Ne {
      constructor() {
        (this.m_embeddedElement = new ke.a("DragGhosts")),
          (this.m_rgDropRegions = []),
          (this.m_rgActiveDropRegions = []);
      }
      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) {
        Me.b(this.m_rgDropRegions, e),
          Me.b(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 = Object(c.a)(
            e.props.className,
            !!this.m_activeDropRegion && "DraggedOverActiveDrop",
          ),
          n = r.cloneElement(e, { ref: this.OnDragGhostRef, className: t });
        this.m_embeddedElement.ShowElement(
          this.m_activeDraggable.GetDragDocument(),
          n,
          this.m_activeDraggable,
        );
      }
      HideDragGhost() {
        this.m_embeddedElement.HideElement(
          this.m_activeDraggable.GetDragDocument(),
          this.m_activeDraggable,
        );
      }
      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.ShowDragGhost();
      }
      EndDrag() {
        if (this.m_activeDraggable) {
          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 n = this.m_activeDraggable.GetDragDocument();
        let a;
        if ("elementsFromPoint" in n) a = n.elementsFromPoint(e, t);
        else if ("msElementsFromPoint" in n) {
          const r = n.msElementsFromPoint;
          a = Array.from(r(e, t));
        }
        if (a) {
          const e = new Map();
          this.m_rgActiveDropRegions.forEach((t) => e.set(t.GetElement(), t));
          for (const t of a) {
            const n = e.get(t);
            if (n) return n;
          }
        } else {
          if (
            this.m_activeDropRegion &&
            this.m_activeDropRegion.BDraggableInRegion(
              e,
              t,
              this.m_activeDraggable,
            )
          )
            return this.m_activeDropRegion;
          for (let n = this.m_rgActiveDropRegions.length - 1; n >= 0; n--) {
            const a = this.m_rgActiveDropRegions[n];
            if (a.BDraggableInRegion(e, t, this.m_activeDraggable)) return a;
          }
        }
        return null;
      }
      OnDrag(e, t, n) {
        const a = void 0 === t ? 0 : t - this.m_dragGhost.state.clientX,
          r = void 0 === n ? 0 : n - 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: t,
              clientY: n,
              clientXDelta: a,
              clientYDelta: r,
              bVisible: !0,
            }),
            e.props.bEnableHTMLDrag && (a || r)))
        ) {
          const i = t + a,
            s = n + r,
            o = e.GetDragDocument().body.getBoundingClientRect();
          if (Ge(t, n, o) && !Ge(i, s, o, !0)) {
            const t = Pe.c(i, o.left, o.right, o.left - 200, o.right + 200),
              n = Pe.c(s, o.top, o.bottom, o.top - 100, o.bottom + 100),
              a = 50;
            this.m_dragOffWindowTimer = window.setTimeout(() => {
              e == this.m_activeDraggable && this.OnDrag(e, t, n);
            }, a);
          }
        }
        const i = this.FindBestActiveDropRegionForPoint(t, n);
        !!this.m_activeDropRegion != !!i &&
          (this.ShowDragGhost(),
          this.m_dropGhost ||
            (this.m_dropGhost = this.m_activeDraggable.renderDropGhost())),
          this.m_activeDropRegion &&
            this.m_activeDropRegion != i &&
            this.m_activeDropRegion.OnDragLeave(this.m_activeDraggable),
          i &&
            this.m_activeDropRegion != i &&
            i.OnDragEnter(this.m_activeDraggable, this.m_dropGhost),
          (this.m_activeDropRegion = i),
          this.m_activeDropRegion &&
            this.m_activeDropRegion.OnDragMove(t, n, this.m_activeDraggable);
      }
    }
    Object(a.b)([q.b], Ne.prototype, "OnDragGhostRef", null);
    class Fe extends r.Component {
      constructor() {
        super(...arguments),
          (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 = r.createRef());
      }
      GetDragDocument() {
        return this.m_DragInfo.ownerWin && this.m_DragInfo.ownerWin.document;
      }
      RecordDragStart(e, t, n) {
        (this.m_DragInfo.startClientX = t), (this.m_DragInfo.startClientY = n);
        let a = e.getBoundingClientRect();
        (this.m_DragInfo.startOffsetX = t - a.left),
          (this.m_DragInfo.startOffsetY = n - a.top),
          (this.m_DragInfo.startWidth = a.width),
          (this.m_DragInfo.startHeight = a.height),
          (this.m_DragInfo.ownerWin = e.ownerDocument.defaultView);
      }
      ProcessDragMove(e) {
        const [t, n] = (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 == n) return;
          this.props.coordinator.OnDrag(this, t, n);
        } else
          Math.pow(t - this.m_DragInfo.startClientX, 2) +
            Math.pow(n - 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, n));
      }
      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() {
        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) {
        (e.dataTransfer.effectAllowed = "copyMove"),
          this.props.strHTMLDragData &&
            this.props.strHTMLDragData.forEach((t, n) =>
              e.dataTransfer.setData(n, 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);
      }
      OnHTMLDragEnd() {
        this.ResetDragState();
      }
      render() {
        const e = this.props,
          {
            coordinator: t,
            data: n,
            bEnableHTMLDrag: i,
            strHTMLDragData: s,
            fnOnDragStart: o,
            fnOnDragEnd: l,
            fnRenderDragGhost: d,
            fnRenderDropGhost: u,
            className: m,
            strActiveClassName: p,
            children: h,
          } = e,
          _ = Object(a.c)(e, [
            "coordinator",
            "data",
            "bEnableHTMLDrag",
            "strHTMLDragData",
            "fnOnDragStart",
            "fnOnDragEnd",
            "fnRenderDragGhost",
            "fnRenderDropGhost",
            "className",
            "strActiveClassName",
            "children",
          ]);
        let g = {},
          b = m || "DialogDraggable";
        return (
          this.m_DragInfo.bStarted
            ? ((b = Object(c.a)(b, p || "DraggedOut")),
              i &&
                (g = {
                  onDrag: this.ProcessDragMove,
                  onDragEnd: this.OnHTMLDragEnd,
                }))
            : (g = i
                ? {
                    onDragStart: this.OnHTMLDragStart,
                    onDrag: this.ProcessDragMove,
                    onDragEnd: this.OnHTMLDragEnd,
                  }
                : {
                    onMouseDown: this.OnMouseDown,
                    onTouchStart: this.OnTouchStart,
                  }),
          r.createElement(
            "div",
            Object.assign({ ref: this.m_divRef, className: b }, g, _, {
              draggable: i,
            }),
            h,
          )
        );
      }
      renderDropGhost() {
        return this.props.fnRenderDropGhost
          ? this.props.fnRenderDropGhost()
          : r.createElement(xe, { elContent: this.GetClone() });
      }
      renderDragGhost() {
        return this.props.fnRenderDragGhost
          ? this.props.fnRenderDragGhost()
          : r.createElement(ze, {
              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 n = e.firstChild; n; n = n.nextSibling)
              t.appendChild(n.cloneNode(!0));
          }
        return t;
      }
    }
    Object(a.b)([q.b], Fe.prototype, "ProcessDragMove", null),
      Object(a.b)([q.b], Fe.prototype, "OnMouseDown", null),
      Object(a.b)([q.b], Fe.prototype, "OnMouseUp", null),
      Object(a.b)([q.b], Fe.prototype, "OnTouchStart", null),
      Object(a.b)([q.b], Fe.prototype, "OnTouchEnd", null),
      Object(a.b)([Ae.k], Fe.prototype, "ResetDragState", null),
      Object(a.b)([q.b], Fe.prototype, "OnHTMLDragStart", null),
      Object(a.b)([q.b], Fe.prototype, "OnHTMLDragEnd", null);
    class xe extends r.Component {
      OnRef(e) {
        e && e.appendChild(this.props.elContent);
      }
      render() {
        return r.createElement("div", {
          className: "DialogDraggable_DropGhost",
          ref: this.OnRef,
        });
      }
    }
    Object(a.b)([q.b], xe.prototype, "OnRef", null);
    class ze extends r.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 r.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 = Pe.c(
            this.CalculateRotationDegrees(this.state.clientYDelta),
            -90,
            90,
            2,
            0,
          ),
          n = {
            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 a = this.props.className || "DialogDraggable_DragGhost";
        return r.createElement(
          "div",
          { className: a, style: e },
          r.createElement("div", { ref: this.OnRef, style: n }),
        );
      }
    }
    Object(a.b)([q.b], ze.prototype, "OnRef", null);
    class Ue extends r.Component {
      constructor(e) {
        super(e), (this.m_divRef = r.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, n) {}
      OnDrop(e) {
        this.setState({ dropGhost: void 0 }), this.props.fnOnDrop(e);
      }
      BAcceptDraggable(e) {
        return (
          !this.props.fnBAcceptDraggable || this.props.fnBAcceptDraggable(e)
        );
      }
      BDraggableInRegion(e, t, n) {
        return Ge(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: n,
            fnOnDrop: i,
            fnOnDragEnter: o,
            fnOnDragLeave: l,
            className: d,
            strActiveClassName: u,
            children: m,
            focusable: p,
          } = e,
          h = Object(a.c)(e, [
            "coordinator",
            "fnBAcceptDraggable",
            "fnOnDrop",
            "fnOnDragEnter",
            "fnOnDragLeave",
            "className",
            "strActiveClassName",
            "children",
            "focusable",
          ]),
          _ = Object(c.a)(
            d || "DialogDropRegion",
            this.state.bDraggableActive && (u || "Active"),
          );
        return r.createElement(
          s.e,
          Object.assign({ ref: this.m_divRef, className: _ }, h, {
            focusable: void 0 === p ? !!h.onClick : p,
          }),
          this.state.dropGhost,
          m,
        );
      }
    }
    class We extends Ue {
      BDraggableInRegion(e, t, n) {
        let a = this.GetClientRect();
        return (
          !!a &&
          e >= a.left && e <= a.right && t >= a.top - 20 &&
          t <= a.bottom + 20
        );
      }
    }
    n("IDaJ");
    var He = n("XUgT"),
      Ve = (n("DV2j"), n("2GtY")),
      qe = n("Fgqg"),
      Ke = n("tPzm"),
      Qe = n.n(Ke),
      Ye = n("7DIv");
    function Ze(e) {
      return r.createElement(
        o.a,
        Object.assign({ navEntryPreferPosition: Ye.d.PREFERRED_CHILD }, e),
      );
    }
    function Je(e) {
      const { title: t, icon: n, active: i } = e,
        s = Object(a.c)(e, ["title", "icon", "active"]);
      return r.createElement("div", Object.assign({}, s), t);
    }
    function Xe(e) {
      var t;
      const n =
        null !== (t = e.activePage.padding) && void 0 !== t ? t : "standard";
      return r.createElement(
        R,
        {
          className: Object(c.a)(
            e.stylesheet.PagedSettingsDialog_PageContent,
            e.activePage.pageClassName,
            { [e.stylesheet.NoPadding]: "none" == n },
          ),
        },
        e.activePage.header,
        !e.hideTitle && r.createElement(E, null, e.activePage.title),
        r.createElement(
          qe.a,
          { errorKey: e.activePage.title },
          null != e.activePage.content && r.cloneElement(e.activePage.content),
        ),
      );
    }
    const $e = r.forwardRef((e, t) => {
      var n, a;
      const i = null !== (n = e.stylesheet) && void 0 !== n ? n : Qe.a,
        s = e.pages,
        l =
          null != e.startingPage
            ? s.findIndex(
                (t) => "object" == typeof t && t.identifier === e.startingPage,
              )
            : -1,
        d = null == e.page,
        [u, m] = r.useState(l);
      let p = u;
      d ||
        (p = s.findIndex(
          (t) => "object" == typeof t && t.identifier === e.page,
        )),
        (p < 0 || p >= s.length) && (p = 0);
      let h = null;
      "object" == typeof s[p] && (h = s[p]);
      let g = (function (e) {
        let t = r.useRef(e),
          n = r.useRef("none"),
          a = t.current;
        if (a == e) return n.current;
        let i = "none";
        a < e ? (i = "down") : a > e && (i = "up");
        return (t.current = e), (n.current = i), i;
      })(p);
      const b = r.useRef(),
        f = r.useCallback(() => b.current.TakeFocus(), [b]),
        v = s.map((t, n) => {
          if ("separator" === t)
            return r.createElement(
              r.Fragment,
              { key: n },
              e.renderPageListSeparator && e.renderPageListSeparator({}),
            );
          if ("spacer" === t)
            return r.createElement("div", { className: Qe.a.PageListSpacer });
          if (!1 === t.visible) return null;
          const a = t == h;
          return r.createElement(_.a, {
            component: e.renderPageListItem,
            fallback: Je,
            className: Object(c.a)(i.PagedSettingsDialog_PageListItem, {
              [i.Active]: a,
            }),
            key: t.title,
            onClick: () => {
              Ve.a.PlayNavSound(Ve.b.PagedNavigation),
                e.onPageRequested && e.onPageRequested(t.identifier),
                t.click ? t.click() : d && n != u && m(n);
            },
            title: t.title,
            icon: t.icon,
            active: a,
          });
        }),
        S = r.useRef(),
        y = h.hideTitle,
        E = null === (a = e.showTitle) || void 0 === a || a,
        C = Object(c.a)(
          "DialogContentTransition",
          i.PagedSettingDialog_ContentColumn,
        );
      return r.createElement(
        o.a,
        { className: Object(c.a)(i.PagedSettingsDialog, e.className), ref: t },
        r.createElement(
          o.a,
          {
            className: i.PagedSettingsDialog_PageListColumn,
            navRef: b,
            onButtonDown: (e) => {
              var t;
              e.detail.button == He.a.OK &&
                (null === (t = S.current) ||
                  void 0 === t ||
                  t.TakeFocus(e.detail.button));
            },
          },
          E &&
            r.createElement(
              "div",
              { className: i.PagedSettingsDialog_Title },
              e.title,
            ),
          e.topControls && r.createElement("div", null, e.topControls),
          r.createElement(
            _.a,
            {
              component: e.renderPageList,
              fallback: Ze,
              className: i.PagedSettingsDialog_PageList,
            },
            v,
          ),
          e.bottomControls && r.createElement("div", null, e.bottomControls),
        ),
        r.createElement(
          o.a,
          { className: C, onCancelButton: f, navRef: S },
          r.createElement(
            _.a,
            {
              component: e.renderPageAnimation,
              fallback: et,
              activePage: h,
              direction: g,
            },
            h &&
              r.createElement(Xe, {
                key: h.identifier,
                stylesheet: i,
                hideTitle: y,
                activePage: h,
              }),
          ),
        ),
      );
    });
    function et(e) {
      return r.createElement(r.Fragment, null, e.children);
    }
    class tt extends r.Component {
      constructor() {
        super(...arguments),
          (this.m_refTextArea = r.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(),
          n = this.GetMaxHeight();
        let a,
          r = e.value.length;
        if (
          (void 0 === this.m_nTextAreaPadding && this.CalculatePadding(),
          r < this.m_cEntryLength &&
            ((a = window.scrollY), (e.style.height = t + "px")),
          e.scrollHeight > n)
        )
          (e.style.height = n + "px"), (e.style.overflow = "auto");
        else if (e.scrollHeight != e.clientHeight) {
          let n = Math.max(e.scrollHeight, t);
          (e.style.height = n - this.m_nTextAreaPadding + "px"),
            "auto" == e.style.overflow && (e.style.overflow = "hidden");
        }
        void 0 !== a && window.scrollTo(window.scrollX, a),
          (this.m_cEntryLength = r);
      }
      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: n, renderTextArea: i } = e,
          s = Object(a.c)(e, ["nMinHeight", "nMaxHeight", "renderTextArea"]),
          o = i || ((e) => r.createElement("textarea", Object.assign({}, e)));
        return o(
          Object.assign(Object.assign({}, s), {
            ref: this.m_refTextArea,
            onKeyUp: this.OnKeyUp,
            onBlur: this.OnBlur,
            onClick: this.OnClick,
            onPaste: this.OnPaste,
            onCut: this.OnCut,
          }),
        );
      }
    }
    Object(a.b)([q.b], tt.prototype, "InternalOnInput", null),
      Object(a.b)([q.b], tt.prototype, "OnKeyUp", null),
      Object(a.b)([q.b], tt.prototype, "OnBlur", null),
      Object(a.b)([q.b], tt.prototype, "OnClick", null),
      Object(a.b)([q.b], tt.prototype, "OnPaste", null),
      Object(a.b)([q.b], tt.prototype, "OnCut", null);
    var nt = n("kojh"),
      at = n.n(nt);
    const rt = r.forwardRef(function (e, t) {
      const {
          label: n,
          description: i,
          icon: s,
          children: l,
          childrenLayout: d,
          inlineWrap: u,
          childrenContainerWidth: m,
          spacingBetweenLabelAndChild: p,
          padding: h,
          disabled: _,
          bottomSeparator: g,
          className: b,
          highlightOnFocus: f,
          indentLevel: v,
          verticalAlignment: S,
        } = e,
        y = Object(a.c)(e, [
          "label",
          "description",
          "icon",
          "children",
          "childrenLayout",
          "inlineWrap",
          "childrenContainerWidth",
          "spacingBetweenLabelAndChild",
          "padding",
          "disabled",
          "bottomSeparator",
          "className",
          "highlightOnFocus",
          "indentLevel",
          "verticalAlignment",
        ]),
        E = null != d ? d : "inline",
        C = "inline" == E && !!l,
        w = "below" == E && !!l,
        B = null != u ? u : "shift-children-below",
        O = !!(y.onClick || y.onActivate || y.focusable),
        D = null != s || null != n || (C && null != l),
        I = null != m ? m : "min",
        T = null != p ? p : "standard",
        R = null != h ? h : "standard",
        j = null != g ? g : "standard",
        A = null == f || f,
        k = null != v ? v : 0,
        M = null != S ? S : "center",
        P = r.useRef(),
        L = Object(q.g)(P, e.navRef),
        G = r.useCallback(
          (e) => {
            var t;
            null === (t = P.current) || void 0 === t || t.TakeFocus(),
              e.preventDefault();
          },
          [P],
        );
      return r.createElement(
        o.a,
        Object.assign(
          {
            focusable: O,
            noFocusRing: !0,
            scrollIntoViewWhenChildFocused: !0,
            onActivate: y.onClick,
            ref: t,
            onMouseDown: O ? void 0 : G,
          },
          y,
          {
            navRef: L,
            className: Object(c.a)(
              b,
              at.a.Field,
              _ && at.a.Disabled,
              D && at.a.WithFirstRow,
              C && at.a.WithChildrenInline,
              w && at.a.WithChildrenBelow,
              "center" == M && at.a.VerticalAlignCenter,
              "shift-children-below" == B && at.a.InlineWrapShiftsChildrenBelow,
              !!i && at.a.WithDescription,
              "standard" == j && at.a.WithBottomSeparatorStandard,
              "thick" == j && at.a.WithBottomSeparatorThick,
              "fixed" == I && at.a.ChildrenWidthFixed,
              "max" == I && at.a.ChildrenWidthGrow,
              "standard" == T && at.a.ExtraPaddingOnChildrenBelow,
              "standard" == R && at.a.StandardPadding,
              "compact" == R && at.a.CompactPadding,
              O && at.a.Clickable,
              A && at.a.HighlightOnFocus,
            ),
            style: { "--indent-level": k },
          },
        ),
        D &&
          r.createElement(
            "div",
            { className: at.a.FieldLabelRow },
            r.createElement(
              "div",
              { className: at.a.FieldLabel },
              s && r.createElement("div", { className: at.a.FieldLeadIcon }, s),
              n,
            ),
            C && r.createElement("div", { className: at.a.FieldChildren }, l),
          ),
        w && r.createElement("div", { className: at.a.FieldChildren }, l),
        i && r.createElement("div", { className: at.a.FieldDescription }, i),
      );
    });
    r.forwardRef(function (e, t) {
      const {
          label: n,
          description: i,
          icon: s,
          layout: o,
          bottomSeparator: l,
          highlightOnFocus: c,
        } = e,
        d = Object(a.c)(e, [
          "label",
          "description",
          "icon",
          "layout",
          "bottomSeparator",
          "highlightOnFocus",
        ]),
        { refWithValue: u, refForElement: m } = Object(q.h)(t);
      return r.createElement(
        rt,
        {
          label: n,
          description: i,
          icon: s,
          bottomSeparator: l,
          highlightOnFocus: c,
          childrenLayout: null != o ? o : "inline",
          childrenContainerWidth: "min",
          onMouseDown: (e) => {
            var t;
            null === (t = u.current) || void 0 === t || t.focus(),
              e.preventDefault();
          },
        },
        r.createElement(L, Object.assign({}, d, { ref: m })),
      );
    });
    const it = r.forwardRef(function (e, t) {
      const {
          label: n,
          description: i,
          icon: s,
          layout: o,
          bottomSeparator: l,
          highlightOnFocus: c,
        } = e,
        d = Object(a.c)(e, [
          "label",
          "description",
          "icon",
          "layout",
          "bottomSeparator",
          "highlightOnFocus",
        ]),
        { refWithValue: u, refForElement: m } = Object(q.h)(t);
      return r.createElement(
        rt,
        {
          label: n,
          description: i,
          icon: s,
          bottomSeparator: l,
          highlightOnFocus: c,
          childrenLayout: null != o ? o : "inline",
          childrenContainerWidth: "fixed",
          onMouseDown: (e) => {
            var t, n;
            null ===
              (n =
                null === (t = u.current) || void 0 === t
                  ? void 0
                  : t.element) ||
              void 0 === n ||
              n.focus(),
              e.preventDefault();
          },
        },
        r.createElement($, Object.assign({}, d, { ref: m })),
      );
    });
    function st(e) {
      var t, n;
      const a = null !== (t = e.alignItems) && void 0 !== t ? t : "left",
        i = null !== (n = e.spacing) && void 0 !== n ? n : "standard";
      return r.createElement(
        o.a,
        {
          className: Object(c.a)(
            at.a.ControlsListOuterPanel,
            "left" == a && at.a.AlignLeft,
            "right" == a && at.a.AlignRight,
            "center" == a && at.a.AlignCenter,
            "standard" == i && at.a.StandardSpacing,
            "extra" == i && at.a.ExtraSpacing,
          ),
          navEntryPreferPosition: Ye.d.PREFERRED_CHILD,
        },
        r.Children.map(
          e.children,
          (e) =>
            e &&
            r.createElement("div", { className: at.a.ControlsListChild }, e),
        ),
      );
    }
    function ot(e) {
      const { children: t, alignItems: n, spacing: i } = e,
        s = Object(a.c)(e, ["children", "alignItems", "spacing"]),
        o = { children: t, alignItems: n, spacing: i };
      return r.createElement(
        rt,
        Object.assign({ childrenLayout: "below" }, s),
        r.createElement(st, Object.assign({}, o)),
      );
    }
    r.forwardRef(function (e, t) {
      return r.createElement(
        s.f,
        Object.assign({ noFocusRing: !0 }, e, {
          ref: t,
          className: Object(c.a)(at.a.BasicTextInput, e.className),
          size: 1,
        }),
      );
    });
    var lt = n("xjhW"),
      ct = n("T9Kn"),
      dt = n.n(ct),
      ut = n("1NFT");
    function mt(e) {
      const {
          label: t,
          tooltip: n,
          strClassName: i,
          dropDownControlRef: s,
          description: o,
          layout: l,
          bottomSeparator: c,
          highlightOnFocus: d,
          autoFocus: u,
          indentLevel: m,
          onContextMenu: p,
        } = e,
        h = Object(a.c)(e, [
          "label",
          "tooltip",
          "strClassName",
          "dropDownControlRef",
          "description",
          "layout",
          "bottomSeparator",
          "highlightOnFocus",
          "autoFocus",
          "indentLevel",
          "onContextMenu",
        ]),
        { actionDescriptions: _, gamepadEvents: g, props: b } = Object(ut.a)(h);
      return r.createElement(
        rt,
        Object.assign(
          {
            className: i,
            label: t,
            description: null != o ? o : n,
            childrenLayout: null != l ? l : "inline",
            childrenContainerWidth: "fixed",
            bottomSeparator: c,
            highlightOnFocus: d,
            autoFocus: u,
            indentLevel: m,
            onContextMenu: p,
            actionDescriptionMap: _,
          },
          g,
        ),
        r.createElement(De, Object.assign({ menuLabel: t }, b, { ref: s })),
      );
    }
    function pt(e, t) {
      for (const n of e.options) {
        if (fe(n) && n.data === t) return !0;
        if (ve(n) && pt(n, t)) return !0;
      }
      return !1;
    }
    function ht(e) {
      const t = (n) =>
        null == n
          ? void 0
          : n.map((n, a) =>
              fe(n)
                ? r.createElement(
                    de.d,
                    {
                      key: a,
                      onSelected: () =>
                        e.onValueSelected && e.onValueSelected(n),
                      selected: e.selectedValue === n.data,
                    },
                    r.createElement(r.Fragment, null, n.label),
                  )
                : ve(n)
                  ? r.createElement(
                      de.e,
                      {
                        label: n.label,
                        key: a,
                        selectedWithin: pt(n, e.selectedValue),
                      },
                      t(n.options),
                    )
                  : null,
            );
      return r.createElement(de.c, { onCancel: e.onCancel }, t(e.rgOptions));
    }
    const _t = r.forwardRef(function (e, t) {
      return r.createElement(
        L,
        {
          className: Object(c.a)(dt.a.DropDownControlButton, e.className),
          focusable: e.focusable,
          disabled: e.disabled,
          onClick: e.onClick,
          tabIndex: e.tabIndex,
          ref: t,
        },
        r.createElement(
          "div",
          { className: at.a.DropDownControlButtonContents },
          e.children,
          r.createElement("div", { className: at.a.Spacer }),
          r.createElement(lt.c, { direction: "down" }),
        ),
      );
    });
    n("YFBH");
    var gt = n("vieE");
    r.forwardRef(function (e, t) {
      const { className: n } = e,
        i = Object(a.c)(e, ["className"]),
        [s, l] = r.useState(!1),
        c = () => l((e) => !e);
      return r.createElement(
        o.a,
        {
          className: n,
          onOptionsButton: c,
          onOptionsActionDescription: Object(d.f)(
            s ? "#Login_HidePassword" : "#Login_ShowPassword",
          ),
        },
        r.createElement(
          $,
          Object.assign(
            {
              bIsPassword: !s,
              autoComplete: "off",
              ref: t,
              inlineControls: r.createElement(
                L,
                {
                  className: gt.TogglePasswordVisibilityBtn,
                  onPointerDown: c,
                  onOKButton: c,
                },
                s ? r.createElement(lt.h, null) : r.createElement(lt.g, null),
              ),
            },
            i,
          ),
        ),
      );
    });
    r.forwardRef(function (e, t) {
      var n;
      const { className: i } = e,
        s = Object(a.c)(e, ["className"]),
        o = null !== (n = e.value) && void 0 !== n ? n : "";
      return r.createElement(
        it,
        Object.assign(
          {
            autoComplete: "off",
            value: o,
            ref: t,
            placeholder: "   .   .   .   ",
          },
          s,
          {
            onChange: (e) => {
              !(function (e) {
                const t = e.split(".");
                if (t.length > 4) return !1;
                for (let e = 0; e < t.length; e++) {
                  const n = t[e];
                  if ("" == n) {
                    if (e == t.length - 1) continue;
                    return !1;
                  }
                  if (!/^[0-9]*$/.test(n)) return !1;
                  const a = parseInt(n);
                  if (!(a >= 0 && a <= 255)) return !1;
                }
                return !0;
              })(e.target.value)
                ? (e.target.value = o)
                : s.onChange && s.onChange(e);
            },
          },
        ),
      );
    });
    var bt = n("Yl2M"),
      ft = n.n(bt),
      vt = n("hqYq"),
      St = n("wb6w"),
      yt = n("j7Vr");
    const Et = Object(yt.a)(ft.a["error-shake-duration"]);
    function Ct(e, t) {
      return t < 0 ? 0 : t > 1 ? 1 : 0 == e ? t : Math.round(t / e) * e;
    }
    function wt(e, t, n) {
      const a = e + n * (t - e);
      return Number.parseFloat(a.toFixed(10));
    }
    function Bt(e, t, n) {
      return (n - e) / (t - e);
    }
    var Ot;
    !(function (e) {
      (e[(e.None = 0)] = "None"),
        (e[(e.MouseDragging = 1)] = "MouseDragging"),
        (e[(e.TouchStart = 2)] = "TouchStart"),
        (e[(e.TouchDragging = 3)] = "TouchDragging");
    })(Ot || (Ot = {}));
    class Dt extends r.Component {
      constructor(e) {
        super(e),
          (this.m_refSlider = r.createRef()),
          (this.m_refHandle = r.createRef()),
          (this.m_navRefSlider = r.createRef()),
          (this.m_sliderBounds = null),
          (this.m_handleBounds = null),
          (this.m_eDragMode = Ot.None),
          (this.m_vTouchStartPosition = Object(vt.c)()),
          (this.m_fStartValue = null),
          (this.m_fLatestUserValue = null),
          (this.m_bInnerSliderHasFocus = !1),
          (this.m_fStartValue = this.props.value),
          (this.m_fLatestUserValue = this.props.value);
      }
      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 null !== (e = this.props.step) && void 0 !== e ? e : 1;
      }
      get normalizedStep() {
        return this.step / this.range;
      }
      get normalizedClampedValue() {
        const e =
          null == this.props.value || isNaN(this.props.value)
            ? this.props.min
            : Object(Pe.a)(this.props.value, this.props.min, this.props.max);
        return Bt(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 Bt(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 Ot.MouseDragging:
            return 1;
          case Ot.TouchDragging:
          case Ot.TouchStart:
            return 0;
          case Ot.None:
            return;
        }
      }
      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, n, a, r, i, s, o, l;
        if (e != this.m_eDragMode) {
          switch (
            ((this.m_eDragMode = e),
            this.props.onChangeStart &&
              this.props.onChangeStart(this.SliderChangeSource),
            e)
          ) {
            case Ot.MouseDragging:
            case Ot.TouchDragging:
            case Ot.TouchStart:
              this.RecomputeSliderBounds(),
                (this.m_fStartValue = this.props.value),
                (this.m_fLatestUserValue = this.props.value);
            case Ot.None:
          }
          switch (e) {
            case Ot.MouseDragging:
              null ===
                (n =
                  null === (t = this.m_refSlider.current) || void 0 === t
                    ? void 0
                    : t.ownerDocument) ||
                void 0 === n ||
                n.addEventListener("mousemove", this.OnWindowMouseMove, {
                  passive: !1,
                }),
                null ===
                  (r =
                    null === (a = this.m_refSlider.current) || void 0 === a
                      ? void 0
                      : a.ownerDocument) ||
                  void 0 === r ||
                  r.addEventListener("mouseup", this.OnWindowMouseUp, {
                    passive: !1,
                  });
              break;
            case Ot.TouchStart:
            case Ot.TouchDragging:
              null ===
                (s =
                  null === (i = this.m_refSlider.current) || void 0 === i
                    ? void 0
                    : i.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 Ot.None:
              this.RemoveDocumentEventListeners();
          }
        }
      }
      OnGamepadDirection(e) {
        var t;
        if (this.props.disabled) return !1;
        let n = 0;
        if (e.detail.button == He.a.DIR_LEFT) n = -1;
        else {
          if (e.detail.button != He.a.DIR_RIGHT) return !1;
          n = 1;
        }
        let a =
          null !== (t = this.props.minimumDpadGranularity) && void 0 !== t
            ? t
            : 0.05;
        0 == a && 0 == this.normalizedStep && (a = 0.05);
        const r =
            0 == this.normalizedStep
              ? a
              : Math.round(a / this.normalizedStep) * this.normalizedStep,
          i = Math.max(r, this.normalizedStep) * n,
          s = Ct(this.normalizedStep, this.normalizedClampedValue + i);
        let o = wt(this.props.min, this.props.max, s);
        if (
          ((o = Object(Pe.a)(
            o,
            this.props.clampMin ? this.props.clampMin : this.props.min,
            this.props.clampMax ? this.props.clampMax : this.props.max,
          )),
          o != this.props.value)
        ) {
          const e = o > this.m_fLatestUserValue;
          Ve.a.PlayNavSound(e ? Ve.b.SliderUp : Ve.b.SliderDown),
            (this.m_fLatestUserValue = o),
            this.props.onChange && this.props.onChange(o, 2);
        } else Ve.a.PlayNavSound(Ve.b.FailedNav);
        return !0;
      }
      ComputeNormalizedValueForMousePosition(e) {
        if (null == this.m_sliderBounds) return 0;
        const t = this.m_sliderBounds.right - this.m_sliderBounds.left,
          n =
            null == this.m_handleBounds
              ? 0
              : this.m_handleBounds.right - this.m_handleBounds.left,
          a = t - n;
        return (e - this.m_sliderBounds.left - n / 2) / a;
      }
      UpdateSliderValueForPosition(e) {
        if (this.props.disabled || !this.m_refSlider.current) return;
        const t = this.ComputeNormalizedValueForMousePosition(e),
          n = Ct(this.normalizedStep, t);
        let a = wt(this.props.min, this.props.max, n);
        if (
          ((a = Object(Pe.a)(
            a,
            this.props.clampMin ? this.props.clampMin : this.props.min,
            this.props.clampMax ? this.props.clampMax : this.props.max,
          )),
          a != this.props.value)
        ) {
          const e = a > this.props.value,
            t = 0 == this.step;
          (this.m_eDragMode == Ot.None || !t) &&
            Ve.a.PlayNavSound(e ? Ve.b.SliderUp : Ve.b.SliderDown),
            (this.m_fLatestUserValue = a),
            this.props.onChange &&
              this.props.onChange(a, this.SliderChangeSource);
        }
      }
      OnWindowMouseMove(e) {
        this.UpdateSliderValueForPosition(e.clientX);
      }
      OnWindowMouseUp(e) {
        this.m_eDragMode != Ot.None && this.Complete();
      }
      OnMouseDown(e) {
        0 == e.button &&
          (this.props.disabled ||
            (e.preventDefault(),
            this.SetDragMode(Ot.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(Ot.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 Ot.TouchStart:
              const n = { x: e.touches[0].clientX, y: e.touches[0].clientY };
              if (Object(vt.b)(this.m_vTouchStartPosition, n) >= 10) {
                const e = Object(vt.a)(this.m_vTouchStartPosition, n);
                Math.abs(e.x) > Math.abs(e.y)
                  ? (this.SetDragMode(Ot.TouchDragging),
                    null === (t = this.m_refSlider.current) ||
                      void 0 === t ||
                      t.focus())
                  : this.SetDragMode(Ot.None);
              }
              break;
            case Ot.TouchDragging:
              this.UpdateSliderValueForPosition(e.touches[0].clientX);
          }
          e.preventDefault();
        }
      }
      OnWindowTouchEnd(e) {
        this.m_eDragMode != Ot.None && this.Complete();
      }
      Complete() {
        const e = this.m_eDragMode != Ot.None;
        this.props.onChange &&
          this.props.onChange(this.m_fLatestUserValue, this.SliderChangeSource),
          this.props.onChangeComplete &&
            this.props.onChangeComplete(
              this.m_fLatestUserValue,
              this.SliderChangeSource,
            ),
          this.SetDragMode(Ot.None);
        const t = 0 == this.step;
        if (this.m_fLatestUserValue != this.m_fStartValue && t && e) {
          const e = this.m_fLatestUserValue > this.m_fStartValue;
          Ve.a.PlayNavSound(e ? Ve.b.SliderUp : Ve.b.SliderDown);
        }
      }
      RemoveDocumentEventListeners() {
        var e, t, n, a, r, i, 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 ===
            (a =
              null === (n = this.m_refSlider.current) || void 0 === n
                ? void 0
                : n.ownerDocument) ||
            void 0 === a ||
            a.removeEventListener("touchmove", this.OnWindowTouchMove),
          null ===
            (i =
              null === (r = this.m_refSlider.current) || void 0 === r
                ? void 0
                : r.ownerDocument) ||
            void 0 === i ||
            i.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);
      }
      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 != Ot.None) return;
        let e;
        (this.m_fLatestUserValue = this.props.resetValue),
          this.props.onChange && this.props.onChange(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)),
          Ve.a.PlayNavSound(e ? Ve.b.SliderUp : Ve.b.SliderDown);
      }
      OnContextMenu(e) {
        if (null != this.props.resetValue) {
          const t = r.createElement(
            de.c,
            null,
            r.createElement(
              de.d,
              {
                disabled: !this.CanResetToDefault,
                onSelected: this.ResetToDefault,
              },
              Object(d.f)("#ResetToDefault"),
            ),
          );
          Object(ce.a)(t, e);
        }
      }
      render() {
        var e, t;
        const n =
            null === (e = this.props.notchTicksVisible) || void 0 === e || e,
          a = null === (t = this.props.focusable) || void 0 === t || t,
          i = this.normalizedDefaultValue,
          o = null != i,
          l = {};
        this.CanResetToDefault &&
          (l[He.a.SECONDARY] = Object(d.f)("#ResetToDefault"));
        let u = ft.a.SliderHandle,
          m = ft.a.SliderHandleContainer;
        return (
          "verticalline" == this.props.handleType
            ? ((u = ft.a.VerticalLineSliderHandle),
              (m = ft.a.VerticalLineSliderHandleContainer))
            : ("leftparen" != this.props.handleType &&
                "rightparen" != this.props.handleType) ||
              ((u = Object(c.a)(
                ft.a.ParenSliderHandle,
                "leftparen" == this.props.handleType ? ft.a.Left : ft.a.Right,
              )),
              (m = Object(c.a)(
                ft.a.ParenSliderHandleContainer,
                "leftparen" == this.props.handleType ? ft.a.Left : ft.a.Right,
              ))),
          r.createElement(
            St.a,
            {
              noFocusRing: !0,
              className: ft.a.SliderControlPanelGroup,
              navRef: this.props.navRef,
              onMouseDown: (e) => this.OnMouseDown(e.nativeEvent),
              onTouchStart: (e) => this.OnTouchStart(e.nativeEvent),
              onOKActionDescription: this.props.disabled
                ? null
                : Object(d.f)("#Slider_AdjustSlider"),
              focusable: a,
              childFocusDisabled: this.props.disabled || !a,
              onContextMenu: this.OnContextMenu,
              onOKButton: this.props.disabled
                ? () => Ve.a.PlayNavSound(Ve.b.FailedNav)
                : null,
              onSecondaryButton: this.CanResetToDefault
                ? this.ResetToDefault
                : void 0,
              onSecondaryActionDescription: this.CanResetToDefault
                ? Object(d.f)("#ResetToDefault")
                : void 0,
              actionDescriptionMap: l,
            },
            r.createElement(
              s.e,
              {
                className: Object(c.a)(
                  ft.a.SliderControlAndNotches,
                  this.props.disabled && ft.a.Disabled,
                  o && ft.a.WithDefaultValue,
                ),
                focusable: this.isKeyNavTarget,
                noFocusRing: !0,
                onFocus: this.OnInnerSliderFocus,
                onBlur: this.OnInnerSliderBlur,
                style: {
                  "--normalized-slider-value": this.normalizedClampedValue,
                  "--normalized-slider-default-value": i,
                },
                ref: Object(q.a)(this.m_refSlider, this.props.innerRef),
                navRef: this.m_navRefSlider,
                onGamepadDirection: this.OnGamepadDirection,
                onOKButton: this.BlurInnerSlider,
                onOKActionDescription: null,
                onCancelButton: this.BlurInnerSlider,
                onCancelActionDescription: Object(d.f)(
                  "#ActionButtonLabelDone",
                ),
              },
              r.createElement(
                "div",
                { className: ft.a.SliderControl },
                r.createElement("div", {
                  style: this.props.trackStyleOverride,
                  className: Object(c.a)(
                    ft.a.SliderTrack,
                    null != this.props.notchCount && n && ft.a.SliderHasNotches,
                    { [ft.a.SliderTrackDark]: "dark" === this.props.trackTone },
                  ),
                }),
                o &&
                  r.createElement(
                    "div",
                    { className: ft.a.DefaultValueTickContainer },
                    r.createElement(
                      "div",
                      { className: ft.a.DefaultValueTick },
                      r.createElement(lt.c, { direction: "down" }),
                    ),
                  ),
                this.validRange &&
                  null != this.props.value &&
                  !isNaN(this.props.value) &&
                  this.showHandle &&
                  r.createElement(
                    "div",
                    { className: m },
                    r.createElement(
                      "div",
                      { className: u, ref: this.m_refHandle },
                      "leftparen" == this.props.handleType &&
                        r.createElement(lt.e, null),
                      "rightparen" == this.props.handleType &&
                        r.createElement(lt.f, null),
                    ),
                  ),
              ),
              r.createElement(It, {
                notchCount: this.props.notchCount,
                notchLabels: this.props.notchLabels,
                sliderValue: this.normalizedClampedValue,
                notchTicksVisible: n,
              }),
            ),
          )
        );
      }
    }
    function It(e) {
      let {
          sliderValue: t,
          notchCount: n,
          notchLabels: a,
          notchTicksVisible: i,
        } = e,
        s = null != a ? a : [];
      if (!n) return null;
      let l = !1,
        d = [];
      for (let e = 0; e < n; ++e) {
        let a = s.find((t) => t.notchIndex == e);
        a && (l = !0),
          d.push(
            r.createElement(Tt, {
              key: e,
              notchIndex: e,
              sliderValue: t,
              notchLabel: a,
              notchCount: n,
              notchTicksVisible: i,
            }),
          );
      }
      return r.createElement(
        o.a,
        {
          className: Object(c.a)(
            ft.a.SliderNotchContainer,
            l && ft.a.HasNotchLabels,
          ),
        },
        d,
      );
    }
    function Tt(e) {
      var t;
      const n = e.notchIndex <= (e.notchCount - 1) * e.sliderValue,
        a = 2 == e.notchCount && !e.notchTicksVisible,
        i = a && 0 == e.notchIndex,
        s = a && 1 == e.notchIndex;
      return r.createElement(
        "div",
        { className: Object(c.a)(ft.a.SliderNotch, a && ft.a.AlignToEnds) },
        e.notchTicksVisible &&
          r.createElement("div", {
            className: Object(c.a)(ft.a.SliderNotchTick, n && ft.a.TickActive),
          }),
        e.notchLabel &&
          r.createElement(
            "div",
            {
              className: Object(c.a)(
                ft.a.SliderNotchLabel,
                i && ft.a.AlignToLeft,
                s && ft.a.AlignToRight,
              ),
            },
            null === (t = e.notchLabel) || void 0 === t ? void 0 : t.label,
          ),
      );
    }
    Object(a.b)([q.b], Dt.prototype, "RecomputeSliderBounds", null),
      Object(a.b)([q.b], Dt.prototype, "SetDragMode", null),
      Object(a.b)([q.b], Dt.prototype, "OnGamepadDirection", null),
      Object(a.b)([q.b], Dt.prototype, "UpdateSliderValueForPosition", null),
      Object(a.b)([q.b], Dt.prototype, "OnWindowMouseMove", null),
      Object(a.b)([q.b], Dt.prototype, "OnWindowMouseUp", null),
      Object(a.b)([q.b], Dt.prototype, "OnMouseDown", null),
      Object(a.b)([q.b], Dt.prototype, "OnTouchStart", null),
      Object(a.b)([q.b], Dt.prototype, "OnWindowTouchMove", null),
      Object(a.b)([q.b], Dt.prototype, "OnWindowTouchEnd", null),
      Object(a.b)([q.b], Dt.prototype, "Complete", null),
      Object(a.b)([q.b], Dt.prototype, "BlurInnerSlider", null),
      Object(a.b)([q.b], Dt.prototype, "OnInnerSliderFocus", null),
      Object(a.b)([q.b], Dt.prototype, "OnInnerSliderBlur", null),
      Object(a.b)([q.b], Dt.prototype, "ResetToDefault", null),
      Object(a.b)([q.b], Dt.prototype, "OnContextMenu", null);
    const Rt = r.forwardRef((e, t) => {
      const n = Object(a.c)(e, []);
      return r.createElement(
        o.a,
        { className: ft.a.SliderControlWithIcon },
        e.icon &&
          r.createElement(
            o.a,
            {
              onTouchStart: (t) => e.onIconTouch && e.onIconTouch(t),
              className: ft.a.Icon,
            },
            e.icon,
          ),
        r.createElement(Dt, Object.assign({}, n, { ref: t })),
      );
    });
    function jt(e) {
      const {
          label: t,
          description: n,
          tabIndex: i,
          className: s,
          showValue: o,
          renderValue: l,
          valueSuffix: c,
          tooltip: u,
          layout: m,
          padding: p,
          bottomSeparator: h,
          notchCount: _,
          indentLevel: g,
          editableValue: b,
          highlightOnFocus: f,
          parentSliderRef: v,
        } = e,
        S = Object(a.c)(e, [
          "label",
          "description",
          "tabIndex",
          "className",
          "showValue",
          "renderValue",
          "valueSuffix",
          "tooltip",
          "layout",
          "padding",
          "bottomSeparator",
          "notchCount",
          "indentLevel",
          "editableValue",
          "highlightOnFocus",
          "parentSliderRef",
        ]),
        y = r.useRef(),
        E = r.useRef(),
        C = r.useRef(),
        w = (null != l ? l : te)(e.value),
        B = (function (e) {
          var t, n;
          const { min: a, max: i } = e,
            s = null !== (t = e.validValues) && void 0 !== t ? t : "steps",
            o = null !== (n = e.step) && void 0 !== n ? n : 1,
            l = r.useCallback(
              (e) => "number" == typeof e && !Number.isNaN(e),
              [],
            ),
            c = r.useCallback((e) => !!l(e) && e >= a && e <= i, [l, a, i]),
            d = r.useCallback(
              (e) => !!c(e) && (0 == o || ((e - a) / o) % 1 == 0),
              [c, a, o],
            ),
            u = r.useCallback(
              (e) => !(!l(e) || "function" != typeof s) && s(e),
              [l, s],
            );
          switch (s) {
            case "all":
              return l;
            case "range":
              return c;
            case "steps":
              return d;
            default:
              return u;
          }
        })(e),
        [O, D] = r.useState(!1),
        I = () => {
          e.onChangeStart && e.onChangeStart(3), D(!0);
        },
        T = (t) => {
          B(t) &&
            (e.onChange && e.onChange(t, 3),
            e.onChangeComplete && e.onChangeComplete(t, 3)),
            D(!1);
        };
      r.useLayoutEffect(() => {
        var e, t;
        !O &&
          (null === (e = C.current) || void 0 === e ? void 0 : e.BHasFocus()) &&
          (null === (t = E.current) || void 0 === t || t.TakeFocus());
      }, [C, E, O]);
      let R = t;
      b
        ? (R = r.createElement(
            r.Fragment,
            null,
            r.createElement("div", { className: ft.a.LabelText }, e.label),
            r.createElement(At, {
              navRef: C,
              editing: O,
              renderedValue: w,
              valueSuffix: e.valueSuffix,
              onClick: I,
              onChangeComplete: T,
              validator: B,
            }),
          ))
        : o &&
          (R = r.createElement(
            r.Fragment,
            null,
            r.createElement("div", { className: ft.a.LabelText }, e.label),
            r.createElement(
              "div",
              { className: ft.a.DescriptionValue },
              w,
              " ",
              e.valueSuffix,
            ),
          ));
      const j = r.useRef(null),
        A = r.useCallback(
          (e) => {
            var t;
            null === (t = j.current) ||
              void 0 === t ||
              t.OnTouchStart(e.nativeEvent);
          },
          [j],
        ),
        k = r.useCallback(
          (e) => {
            var t;
            null === (t = j.current) || void 0 === t || t.OnContextMenu(e);
          },
          [j],
        ),
        M = Object(q.g)(j, v);
      return r.createElement(
        rt,
        {
          childrenLayout: null != m ? m : "below",
          padding: p,
          bottomSeparator: h,
          childrenContainerWidth: "fixed",
          label: R,
          description: n,
          ref: y,
          className: s,
          onTouchStart: A,
          onContextMenu: k,
          indentLevel: g,
          onOptionsActionDescription: b
            ? Object(d.f)("#Slider_EditValue")
            : void 0,
          onOptionsButton: b ? I : void 0,
          highlightOnFocus: f,
        },
        r.createElement(
          Rt,
          Object.assign({ ref: M, notchCount: _, focusable: !O, navRef: E }, S),
        ),
      );
    }
    function At(e) {
      const {
          editing: t,
          renderedValue: n,
          valueSuffix: a,
          onClick: i,
          onChangeComplete: o,
          navRef: l,
          validator: u,
        } = e,
        m = r.useRef(),
        p = r.useRef(),
        h = r.useRef(),
        _ = Object(q.g)(l, h),
        { fnTriggerErrorShake: g, bPlayingErrorShake: b } = (function (e) {
          const [t, n] = r.useState(!1),
            a = r.useRef(),
            i = r.useRef(),
            s = r.useCallback(() => {
              window.clearTimeout(a.current),
                (a.current = window.setTimeout(() => {
                  var t, n, a;
                  null === (t = e.current) ||
                    void 0 === t ||
                    t.classList.remove(ft.a.ErrorShake),
                    null === (n = e.current) ||
                      void 0 === n ||
                      n.getBoundingClientRect(),
                    null === (a = e.current) ||
                      void 0 === a ||
                      a.classList.add(ft.a.ErrorShake);
                }, 0)),
                n(!0),
                window.clearTimeout(i.current),
                (i.current = window.setTimeout(() => n(!1), Et));
            }, [e]);
          return (
            r.useEffect(
              () => () => {
                window.clearTimeout(a.current), window.clearTimeout(i.current);
              },
              [],
            ),
            { fnTriggerErrorShake: s, bPlayingErrorShake: t }
          );
        })(m),
        f = t || b,
        [v, S] = r.useState("");
      r.useEffect(() => {
        f || S("");
      }, [f]);
      const y = u(Number.parseFloat(v)),
        E = r.useRef(!1),
        C = r.useCallback(
          (e) => {
            !y && v.length > 0 && g(),
              E.current ||
                ((y || e) && (o(Number.parseFloat(v)), (E.current = !0)));
          },
          [y, v, g, o],
        ),
        w = r.useCallback(() => {
          var e;
          return null === (e = p.current) || void 0 === e
            ? void 0
            : e.TakeFocusAndShowKeyboard();
        }, [p]),
        B = r.useRef(!1);
      r.useLayoutEffect(() => {
        t && !B.current && w(), (B.current = t);
      }, [h, t, w]);
      const O = b || (f && !y && v.length > 0 && "-" != v),
        D = Object(c.a)(ft.a.DescriptionValue, O && ft.a.RedBorder),
        [I, T] = r.useState(0),
        [R, j] = r.useState(0),
        A = r.useCallback(
          (e) => {
            const t = e.target.clientWidth;
            f ? j(t) : T(t);
          },
          [f],
        ),
        k = Object(q.j)(A);
      r.useLayoutEffect(() => {
        var e, t;
        (null === (e = h.current) || void 0 === e ? void 0 : e.BHasFocus()) &&
          (null === (t = h.current) ||
            void 0 === t ||
            t.Node().ForceMeasureFocusRing());
      }, [R]);
      const M = f ? v : n,
        P = f ? Math.max(I, R) : I;
      return r.createElement(
        "div",
        { className: D },
        r.createElement(
          "div",
          { className: ft.a.FakeEditableValue, ref: k },
          M,
        ),
        r.createElement(s.f, {
          refKeyboardHandle: p,
          navRef: _,
          ref: m,
          focusable: t,
          className: ft.a.EditableValue,
          style: { width: P },
          onEnterKeyPress: () => C(!1),
          strEnterKeyLabel: Object(d.f)("#ActionButtonLabelDone"),
          onClick: i,
          onFocus: () => (E.current = !1),
          onBlur: () => C(!0),
          value: M,
          placeholder: n,
          onChange: (e) => S(e.target.value.trim()),
          onCancelButton: () => C(!0),
          onCancelActionDescription: Object(d.f)("#ActionButtonLabelDone"),
          onOKButton: w,
          onOKActionDescription: Object(d.f)("#Slider_EditValue"),
          onOptionsActionDescription: void 0,
          onOptionsButton: w,
        }),
        a && r.createElement("div", { className: ft.a.EditableValueSuffix }, a),
      );
    }
    r.forwardRef((e, t) => {
      const {
        label: n,
        labelIndex: a,
        xOffset: i,
        onResize: s,
        OnMouseDown: o,
        OnTouchStart: l,
      } = e;
      r.useEffect(() => {
        s(a);
      }, [s, a]);
      const c = r.useCallback(
          (e) => {
            s(a);
          },
          [s, a],
        ),
        d = Object(q.j)(c),
        u = Object(q.g)(d, t);
      return r.createElement(
        "div",
        {
          className: ft.a.CompoundSliderSubSliderLabel,
          ref: u,
          onMouseDown: o,
          onTouchStart: l,
          style: { transform: `translateX(${i}px)` },
        },
        r.createElement(
          "div",
          { className: ft.a.CompoundSliderSubSliderLabelInternal },
          n,
        ),
      );
    });
    const kt = r.forwardRef(function (e, t) {
      const { value: n, onChange: a, disabled: i, navRef: o } = e;
      return r.createElement(
        s.e,
        {
          noFocusRing: !0,
          className: Object(c.a)(at.a.Toggle, {
            [at.a.Disabled]: !!i,
            [at.a.On]: !!n,
          }),
          onClick: () => {
            if (!i && a) {
              const e = !n;
              a(e), Ve.a.PlayNavSound(e ? Ve.b.ToggleOn : Ve.b.ToggleOff);
            }
          },
          ref: t,
          navRef: o,
        },
        r.createElement("div", { className: at.a.ToggleRail }),
        r.createElement("div", { className: at.a.ToggleSwitch }),
      );
    });
    class Mt extends x {
      OnToggleChange(e) {
        this.props.disabled || e === this.checked || this.Toggle();
      }
      render() {
        const e = !!this.props.disabled,
          { actionDescriptions: t, gamepadEvents: n } = Object(ut.a)(
            this.props,
          );
        return r.createElement(
          rt,
          Object.assign(
            {
              className: this.props.className,
              disabled: e,
              label: this.props.label,
              icon: this.props.icon,
              description: this.props.description,
              padding: this.props.padding,
              bottomSeparator: this.props.bottomSeparator,
              highlightOnFocus: this.props.highlightOnFocus,
              inlineWrap: "keep-inline",
              onContextMenu: this.props.onContextMenu,
              actionDescriptionMap: t,
            },
            n,
          ),
          r.createElement(kt, {
            onChange: this.OnToggleChange,
            value: this.checked,
            disabled: e,
            navRef: this.props.navRef,
          }),
        );
      }
    }
    Object(a.b)([q.b], Mt.prototype, "OnToggleChange", null);
    var Pt = n("C3kK");
    function Lt(e) {
      const {
          children: t,
          bCenterVertically: n,
          renderDialogContentDiv: i,
          renderDialogContentInnerDiv: s,
        } = e,
        l = Object(a.c)(e, [
          "children",
          "bCenterVertically",
          "renderDialogContentDiv",
          "renderDialogContentInnerDiv",
        ]),
        d = Object(c.a)(
          at.a.GamepadDialogContent,
          "DialogContent _DialogLayout",
          e.className,
          n && " _DialogCenterVertically",
        ),
        { ref: u, navRef: m } = Object(Pt.a)();
      return r.createElement(
        o.a,
        Object.assign({}, l, { className: d, ref: u, navRef: m }),
        r.createElement(
          o.a,
          {
            className: Object(c.a)(
              at.a.GamepadDialogContent_InnerWidth,
              "DialogContent_InnerWidth",
            ),
          },
          t,
        ),
      );
    }
    var Gt,
      Nt = n("E+pw"),
      Ft = n.n(Nt),
      xt = n("VeD8"),
      zt = n("pQ8y");
    function Ut(e) {
      let { childrenKey: t, childrenClasses: n, children: a, direction: i } = e,
        s = Object(c.a)(Ft.a.TransitionGroup, i);
      return r.createElement(
        xt.a,
        { className: s, appear: !1, enter: !0, exit: !0 },
        r.createElement(Wt, { key: t, childrenClasses: n }, a),
      );
    }
    function Wt(e) {
      const { sizeClass: t, children: n, childrenClasses: i } = e,
        s = Object(a.c)(e, ["sizeClass", "children", "childrenClasses"]),
        [l, d, u, m] = (function () {
          let e = r.useRef(),
            t = r.useRef();
          r.useLayoutEffect(() => {
            let n = e.current;
            if (!n || t.current) return;
            t.current = {
              element: n,
              activeProps: new Set(),
              bExiting: !1,
              fnDone: null,
            };
            let a = t.current,
              r = (e) => {
                e.target == n && a.activeProps.add(e.propertyName);
              };
            n.addEventListener("transitionrun", r, !1);
            let i = (e) => {
              e.target == n &&
                (a.activeProps.delete(e.propertyName),
                a.fnDone &&
                  0 == a.activeProps.size &&
                  a.bExiting &&
                  a.fnDone());
            };
            n.addEventListener("transitionend", i, !1),
              n.addEventListener("transitioncancel", i, !1);
          }, []);
          let n = r.useCallback(
              (e) => {
                t.current ? (t.current.fnDone = e) : e();
              },
              [t],
            ),
            a = r.useCallback(() => {
              t.current && (t.current.bExiting = !1);
            }, [t]),
            i = r.useCallback(() => {
              t.current && (t.current.bExiting = !0);
            }, [t]);
          return [e, n, a, i];
        })(),
        p = r.useRef(!0),
        h = r.useCallback(() => p.current, [p]),
        _ = r.useCallback(() => {
          (p.current = !0), u();
        }, [u]),
        g = r.useCallback(() => {
          (p.current = !1), m();
        }, [m]),
        b = e.childrenClasses,
        f = {
          enter: b.enterStart,
          enterActive: b.enterEnd,
          exit: b.exitStart,
          exitActive: b.exitEnd,
        };
      return r.createElement(
        zt.a,
        Object.assign(
          {
            nodeRef: l,
            classNames: f,
            in: !0,
            timeout: 1e4,
            addEndListener: d,
            onEntering: _,
            onExiting: g,
          },
          s,
        ),
        r.createElement(
          "div",
          { ref: l, className: Object(c.a)(Ft.a.ContentWrapper, t, b.base) },
          r.createElement(o.a, { className: t, fnCanTakeFocus: h }, e.children),
        ),
      );
    }
    function Ht(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");
    })(Gt || (Gt = {}));
    var Vt = n("A6lR"),
      qt = n.n(Vt);
    const Kt = r.createContext(null);
    function Qt(e) {
      const t = r.useContext(Kt),
        { title: n, icon: i, active: s } = e,
        l = Object(a.c)(e, ["title", "icon", "active"]);
      return r.createElement(
        o.a,
        Object.assign(
          {
            preferredFocus: s,
            navRef: s ? t : null,
            noFocusRing: !0,
            onActivate: l.onClick,
            onFocus: l.onClick,
          },
          l,
        ),
        i && r.createElement("div", { className: qt.a.PageListItem_Icon }, i),
        r.createElement("div", { className: qt.a.PageListItem_Title }, n),
      );
    }
    function Yt(e) {
      return r.createElement("div", { className: qt.a.Separator });
    }
    const Zt = r.forwardRef(function (e, t) {
      const n = r.useRef();
      r.useEffect(() => {
        var e;
        null === (e = n.current) || void 0 === e || e.TakeFocus();
      }, [e.page]);
      const a = Boolean(e.showTitle);
      return r.createElement(
        Kt.Provider,
        { value: n },
        r.createElement(
          $e,
          Object.assign({}, e, {
            stylesheet: qt.a,
            showTitle: a,
            renderPageListItem: Qt,
            renderPageListSeparator: Yt,
            renderPageAnimation: Jt,
          }),
        ),
      );
    });
    function Jt(e) {
      let t = Gt.None;
      "up" == e.direction
        ? (t = Gt.Up)
        : "down" == e.direction && (t = Gt.Down);
      let n =
        ((a = qt.a),
        (i = t) == Gt.Left
          ? a.Left
          : i == Gt.Right
            ? a.Right
            : i == Gt.Up
              ? a.Up
              : i == Gt.Down
                ? a.Down
                : "");
      var a, i;
      return r.createElement(
        Ut,
        {
          childrenKey: e.activePage.identifier,
          childrenClasses: Ht(qt.a, qt.a.ContentTransition),
          direction: n,
        },
        e.children,
      );
    }
  },
  "0D+i": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    });
    var a = n("aaBf");
    class r {
      constructor() {
        "dev" === a.c.WEB_UNIVERSE && (window.g_HomeViewStore = this);
        const e = Object(a.g)("home_view_setting", "application_config");
        this.ValidateHomeViewData(e) && this.SetHomeViewSetting(e);
        const t = Object(a.g)(
          "home_view_setting_override",
          "application_config",
        );
        this.ValidateHomeViewDataOverride(t) &&
          this.SetHomeViewSettingOverride(t);
      }
      BHasHomeView() {
        return Boolean(this.m_HomeView);
      }
      GetHomeView() {
        var e;
        return null === (e = this.m_HomeView) || void 0 === e ? void 0 : e.home;
      }
      static Get() {
        return (
          r.s_globalSingletonStore ||
            ((r.s_globalSingletonStore = new r()),
            "dev" == a.c.WEB_UNIVERSE &&
              (window.g_HomeViewSetting = r.s_globalSingletonStore)),
          r.s_globalSingletonStore
        );
      }
      ValidateHomeViewData(e) {
        const t = e;
        return (
          t && "object" == typeof t.home && "object" == typeof t.main_cluster
        );
      }
      SetHomeViewSetting(e) {
        this.m_HomeView = e;
      }
      ValidateHomeViewDataOverride(e) {
        const t = e;
        return (
          t &&
          (!t.all || "object" == typeof t.all) &&
          (!t.maincap || "object" == typeof t.maincap)
        );
      }
      SetHomeViewSettingOverride(e) {
        this.m_HomeView.home = Object.assign(
          Object.assign(
            Object.assign({}, this.m_HomeView.home),
            null == e ? void 0 : e.all,
          ),
          null == e ? void 0 : e.maincap,
        );
      }
    }
  },
  "0Lok": function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return p;
    }),
      n.d(t, "c", function () {
        return h;
      }),
      n.d(t, "a", function () {
        return _;
      });
    n("RYKw");
    var a = n("q1tI"),
      r = n.n(a),
      i = n("Q8oI"),
      s = n("1j+z"),
      o = n("mrSG"),
      l = n("Yr+Q"),
      c = n("uuth"),
      d = n("KT6v");
    class u extends r.a.Component {
      OnEnter() {
        l.a.AddImpression(this.props.appID, this.props.snr);
      }
      render() {
        return r.a.createElement(
          c.a,
          { onEnter: this.OnEnter },
          this.props.children,
        );
      }
    }
    Object(o.b)([d.b], u.prototype, "OnEnter", null);
    var m = n("dqrJ");
    function p(e) {
      return "bundle" == e
        ? "bundle"
        : "sub" == e
          ? "sub"
          : Object(i.BIsSaleItemType)(e)
            ? "app"
            : null;
    }
    function h(e) {
      return 2 == e ? "bundle" : 1 == e ? "sub" : 0 == e ? "app" : null;
    }
    const _ = (e) => {
      const t = Object(m.c)(),
        n = Object(s.c)(t);
      return e.appid && n
        ? r.a.createElement(
            u,
            { appID: e.appid, snr: n },
            r.a.createElement(
              "div",
              { className: "ImpressionTrackedElement" },
              e.children,
            ),
          )
        : r.a.createElement(r.a.Fragment, null, e.children);
    };
  },
  "0WkO": function (e, t, n) {
    e.exports = {
      LanguageHeader: "curatorfeedbrowse_LanguageHeader_2Kb53",
      CuratorInfoRow: "curatorfeedbrowse_CuratorInfoRow_2gA_6",
      CuratorInfoImg: "curatorfeedbrowse_CuratorInfoImg_1AzjB",
      CuratorInfoName: "curatorfeedbrowse_CuratorInfoName_3SLJ2",
      CuratorInfoTitleCtn: "curatorfeedbrowse_CuratorInfoTitleCtn_1tAoH",
      CuratorInfoActionCtn: "curatorfeedbrowse_CuratorInfoActionCtn_1chZO",
      CuratorInfoPreview: "curatorfeedbrowse_CuratorInfoPreview_6t_s3",
      CuratorInfoIcon: "curatorfeedbrowse_CuratorInfoIcon_z1i2K",
      CuratorInfoFollow: "curatorfeedbrowse_CuratorInfoFollow_3J_V2",
      CuratorHoverContainer: "curatorfeedbrowse_CuratorHoverContainer_1CV6j",
      CuratorHoverToolTip: "curatorfeedbrowse_CuratorHoverToolTip_201Gt",
    };
  },
  "0ZVb": function (e, t, n) {
    e.exports = {
      RewardContainer: "salerewardshelfdisplay_RewardContainer_31FTL",
      RewardShelfCtn: "salerewardshelfdisplay_RewardShelfCtn_2-ecD",
    };
  },
  "0hrb": function (e, t, n) {
    "use strict";
    n("EiFA");
  },
  "0rDd": function (e, t, n) {
    "use strict";
    n("5VAZ"), n("Z7xW"), n("ubWN"), n("AQa9"), n("/loZ");
  },
  "1NFT": function (e, t, n) {
    "use strict";
    n.d(t, "g", function () {
      return y;
    }),
      n.d(t, "d", function () {
        return E;
      }),
      n.d(t, "h", function () {
        return C;
      }),
      n.d(t, "a", function () {
        return w;
      }),
      n.d(t, "b", function () {
        return B;
      }),
      n.d(t, "c", function () {
        return D;
      }),
      n.d(t, "e", function () {
        return T;
      }),
      n.d(t, "f", function () {
        return R;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = (n("0CSJ"), n("CYEq")),
      o = (n("bznR"), n("3wCP")),
      l = n("KT6v"),
      c = n("IDaJ"),
      d = n("DV2j"),
      u = (n("7DIv"), n("ERCR")),
      m = (n("A2YN"), n("+GaU")),
      p = (n("Q8oI"), n("YFBH")),
      h = n("hHds");
    class _ {
      SetFactory(e) {
        this.m_factory = e;
      }
      CreateVirtualKeyboardRef(e) {
        return this.m_factory
          ? this.m_factory.CreateVirtualKeyboardRef(e)
          : {
              ShowVirtualKeyboard: () => {},
              SetAsCurrentVirtualKeyboardTarget: () => {},
              HideVirtualKeyboard: () => {},
              DelayHideVirtualKeyboard: () => {},
              BIsActive: () => !1,
              BIsElementValidForInput: () => !1,
            };
      }
    }
    const g = Object(s.a)("VirtualKeyboardRefFactory", () => new _());
    function b(e, t) {
      const { onTextEntered: n } = e,
        r = Object(a.c)(e, ["onTextEntered"]),
        s = i.a.useRef(),
        o = i.a.useRef({ onTextEntered: () => null });
      var d;
      Object.assign(
        o.current,
        Object.assign(Object.assign({}, r), {
          onTextEntered:
            n ||
            ((d = s),
            (e, t) => {
              if (
                !(function (e) {
                  if ("Backspace" == e)
                    return SteamClient.Input.ControllerKeyboardSendText(""), !0;
                  if ("Enter" == e)
                    return SteamClient.Input.ControllerKeyboardSendText(""), !0;
                  if ("Tab" == e)
                    return (
                      SteamClient.Input.ControllerKeyboardSendText("\t"), !0
                    );
                  if (
                    1 === e.length ||
                    ("ArrowLeft" != e && "ArrowRight" != e && "Tab" != e)
                  )
                    return SteamClient.Input.ControllerKeyboardSendText(e), !0;
                  return !1;
                })(e) &&
                d.current
              ) {
                const n = d.current,
                  a = n.value;
                !(function (e, t, n) {
                  const a = e,
                    r = t;
                  if (null == r) return;
                  if (
                    !a ||
                    null == a.selectionStart ||
                    null == a.selectionEnd ||
                    null == a.value ||
                    null == a.value.length
                  )
                    return;
                  const i = a.selectionStart,
                    s = a.selectionEnd,
                    o =
                      ((c = a.selectionDirection),
                      "backward" === c ? -1 : "forward" === c ? 1 : 0),
                    l = h.t(a);
                  var c;
                  if (1 === r.length || ("Enter" === r && l)) {
                    const e = "Enter" === r ? "\n" : r,
                      t = a.value;
                    Object.getOwnPropertyDescriptor(
                      window.HTMLInputElement.prototype,
                      "value",
                    ).set.call(a, t.slice(0, i) + e + t.slice(s)),
                      a.setSelectionRange(i + 1, i + 1, "none");
                  } else if ("Backspace" === r) {
                    const e = a.value;
                    i !== s
                      ? ((a.value = e.slice(0, i) + e.slice(s)),
                        a.setSelectionRange(i, i, "none"))
                      : a.selectionStart > 0 &&
                        ((a.value = e.slice(0, i - 1) + e.slice(s)),
                        a.setSelectionRange(i - 1, i - 1, "none"));
                  } else if ("ArrowLeft" === r)
                    if (n) {
                      const e = f(-1, [i, s, o], [0, a.value.length]);
                      a.setSelectionRange(e[0], e[1], v(e[2]));
                    } else
                      i === s && i > 0
                        ? a.setSelectionRange(i - 1, i - 1, "none")
                        : a.setSelectionRange(i, i, "none");
                  else if ("ArrowRight" === r)
                    if (n) {
                      const e = f(1, [i, s, o], [0, a.value.length]);
                      a.setSelectionRange(e[0], e[1], v(e[2]));
                    } else
                      i === s && s < a.value.length
                        ? a.setSelectionRange(s + 1, s + 1, "none")
                        : a.setSelectionRange(s, s, "none");
                  else
                    "ArrowUp" === r || "Home" === r
                      ? a.setSelectionRange(0, 0, "none")
                      : ("ArrowDown" !== r && "End" !== r) ||
                        a.setSelectionRange(
                          a.value.length,
                          a.value.length,
                          "none",
                        );
                })(n, e, t);
                const r = n.value;
                if (a !== r) {
                  const e = new Event("input", { bubbles: !0 });
                  n.dispatchEvent(e);
                }
              }
            }),
          BIsElementValidForInput: () =>
            s.current && document.activeElement == s.current,
        }),
      );
      const u = (function (e) {
          const t = i.a.useRef();
          t.current || (t.current = g.CreateVirtualKeyboardRef(e));
          return t.current;
        })(o.current),
        m = i.a.useCallback(
          (e) => {
            (document.hasFocus() || document.activeElement != s.current) &&
              (e.currentTarget == s.current
                ? u.BIsActive() && u.DelayHideVirtualKeyboard()
                : console.warn(
                    "keyboard got blur event, but it's not the active element",
                  ));
          },
          [u],
        ),
        p = Object(l.i)(
          (e) => {
            s.current = e;
            const t = [];
            return (
              e &&
                (e.addEventListener(
                  "focus",
                  u.SetAsCurrentVirtualKeyboardTarget,
                ),
                t.push(() =>
                  e.removeEventListener(
                    "focus",
                    u.SetAsCurrentVirtualKeyboardTarget,
                  ),
                ),
                e.addEventListener("click", u.ShowVirtualKeyboard),
                t.push(() =>
                  e.removeEventListener("click", u.ShowVirtualKeyboard),
                ),
                t.push(Object(c.l)(s.current, u.ShowVirtualKeyboard)),
                t.push(Object(c.e)(s.current, m))),
              () => t.forEach((e) => e())
            );
          },
          [m, u],
        );
      return (
        i.a.useLayoutEffect(
          () => (
            Object(l.d)(t, {
              TakeFocusAndShowKeyboard: () => {
                const e = s.current;
                e &&
                  (document.activeElement != e && e.focus(),
                  u.ShowVirtualKeyboard());
              },
            }),
            () => Object(l.d)(t, null)
          ),
          [u, t],
        ),
        p
      );
    }
    function f(e, t, n) {
      const a = t[2],
        r = a < 0 ? 0 : 1,
        i = e < 0 ? 0 : 1,
        s = [t[0], t[1]];
      (s[r] += e), (s[r] - n[i]) * e > 0 && (s[r] = n[i]);
      return s[0] === s[1]
        ? [s[0], s[1], 0]
        : s[0] < s[1]
          ? [s[0], s[1], a]
          : [s[1], s[0], -a];
    }
    function v(e) {
      return e < 0 ? "backward" : e > 0 ? "forward" : "none";
    }
    n("aaBf");
    var S = n("2GtY");
    const y = Object(s.a)("GamepadNavigationContext", () =>
        i.a.createContext(null),
      ),
      E = Object(s.a)("FocusRingNavigationContext", () =>
        i.a.createContext(d.h),
      );
    i.a.forwardRef(function (e, t) {
      return i.a.createElement(u.f, Object.assign({}, e, { ref: t }));
    });
    function C(e) {
      const { navRef: t } = e,
        n = Object(a.c)(e, ["navRef"]),
        s = i.a.useRef(),
        o = Object(r.useContext)(y),
        c = Object(r.useContext)(E),
        d = (function (e, t) {
          let n = i.a.useRef(null);
          return (
            !e ||
              (n.current && n.current.m_Parent == e) ||
              (n.current = e.Tree.CreateNode(e, t)),
            n.current
          );
        })(o, c);
      return (
        i.a.useLayoutEffect(() => {
          d && d.SetProperties(n);
        }),
        i.a.useLayoutEffect(() => {
          if (!o) return;
          const e = o.Tree.RegisterNavigationItem(d, s.current);
          return () => {
            e();
          };
        }, [o, d, s]),
        i.a.useLayoutEffect(() => {
          if (d && t)
            return Object(l.d)(t, d.CreateHandle()), () => Object(l.d)(t, null);
        }, [d, t]),
        { ref: s, node: d }
      );
    }
    function w(e) {
      const {
          onButtonDown: t,
          onButtonUp: n,
          onOKButton: r,
          onCancelButton: i,
          onSecondaryButton: s,
          onOptionsButton: o,
          onGamepadDirection: l,
          onGamepadFocus: d,
          onGamepadBlur: u,
          onMenuButton: m,
          onOKActionDescription: p,
          onCancelActionDescription: h,
          onSecondaryActionDescription: _,
          onOptionsActionDescription: g,
          onMenuActionDescription: b,
          actionDescriptionMap: f,
        } = e,
        v = Object(a.c)(e, [
          "onButtonDown",
          "onButtonUp",
          "onOKButton",
          "onCancelButton",
          "onSecondaryButton",
          "onOptionsButton",
          "onGamepadDirection",
          "onGamepadFocus",
          "onGamepadBlur",
          "onMenuButton",
          "onOKActionDescription",
          "onCancelActionDescription",
          "onSecondaryActionDescription",
          "onOptionsActionDescription",
          "onMenuActionDescription",
          "actionDescriptionMap",
        ]),
        S = {};
      void 0 !== t && (S.onButtonDown = t),
        void 0 !== n && (S.onButtonUp = n),
        void 0 !== r && (S.onOKButton = r),
        void 0 !== i && (S.onCancelButton = i),
        void 0 !== s && (S.onSecondaryButton = s),
        void 0 !== o && (S.onOptionsButton = o),
        void 0 !== m && (S.onMenuButton = m),
        void 0 !== l && (S.onGamepadDirection = l),
        void 0 !== d && (S.onGamepadFocus = d),
        void 0 !== u && (S.onGamepadBlur = u);
      return {
        gamepadEvents: S,
        actionDescriptions: Object(c.a)({
          onOKActionDescription: p,
          onCancelActionDescription: h,
          onSecondaryActionDescription: _,
          onOptionsActionDescription: g,
          onMenuActionDescription: b,
          actionDescriptionMap: f,
        }),
        props: v,
      };
    }
    function B(e) {
      const {
          autoFocus: t,
          preferredFocus: n,
          disableNavSounds: r,
          fnCanTakeFocus: i,
          childFocusDisabled: s,
          retainFocus: o,
          onFocusWithin: l,
          navKey: c,
          noFocusRing: d,
          focusable: u,
          focusableIfNoChildren: m,
          navRef: p,
          actionDescriptionMap: h,
          onMoveUp: _,
          onMoveRight: g,
          onMoveDown: b,
          onMoveLeft: f,
          navEntryPreferPosition: v,
          scrollIntoViewWhenChildFocused: S,
          fnScrollIntoViewHandler: y,
          scrollIntoViewType: E,
          resetNavOnEntry: C,
        } = e,
        B = Object(a.c)(e, [
          "autoFocus",
          "preferredFocus",
          "disableNavSounds",
          "fnCanTakeFocus",
          "childFocusDisabled",
          "retainFocus",
          "onFocusWithin",
          "navKey",
          "noFocusRing",
          "focusable",
          "focusableIfNoChildren",
          "navRef",
          "actionDescriptionMap",
          "onMoveUp",
          "onMoveRight",
          "onMoveDown",
          "onMoveLeft",
          "navEntryPreferPosition",
          "scrollIntoViewWhenChildFocused",
          "fnScrollIntoViewHandler",
          "scrollIntoViewType",
          "resetNavOnEntry",
        ]),
        { gamepadEvents: O, actionDescriptions: D, props: I } = w(B);
      return {
        elemProps: I,
        navOptions: {
          autoFocus: t,
          preferredFocus: n,
          disableNavSounds: r,
          fnCanTakeFocus: i,
          childFocusDisabled: s,
          retainFocus: o,
          onFocusWithin: l,
          navKey: c,
          noFocusRing: d,
          focusable: u,
          focusableIfNoChildren: m,
          navRef: p,
          onMoveUp: _,
          onMoveRight: g,
          onMoveDown: b,
          onMoveLeft: f,
          navEntryPreferPosition: v,
          scrollIntoViewWhenChildFocused: S,
          fnScrollIntoViewHandler: y,
          scrollIntoViewType: E,
          resetNavOnEntry: C,
          actionDescriptionMap: Object.assign(Object.assign({}, h), D),
        },
        gamepadEvents: O,
      };
    }
    function O(e) {
      return function (t) {
        const {
            focusClassName: n,
            focusWithinClassName: r,
            className: s,
            divRef: c,
            node: d,
            tabIndex: u,
            children: m,
          } = t,
          p = Object(a.c)(t, [
            "focusClassName",
            "focusWithinClassName",
            "className",
            "divRef",
            "node",
            "tabIndex",
            "children",
          ]),
          [h, _] = i.a.useState(d.BHasFocus());
        Object(l.e)(d.FocusCallbackList, _);
        const [g, b] = i.a.useState(d.BFocusWithin());
        Object(l.e)(d.FocusWithinCallbackList, b);
        const [f, v] = i.a.useState(d.Tree.BIsActive());
        return (
          Object(l.e)(d.Tree.OnActiveStateChangedCallbacks, v),
          i.a.createElement(
            e,
            Object.assign(Object.assign({}, p), {
              className: Object(o.a)(s, h && f && n, g && f && r),
              tabIndex: f ? u : -1,
              ref: c,
            }),
            m,
          )
        );
      };
    }
    const D = O("div");
    function I(e, t, n, a) {
      const { elemProps: s, navOptions: c, gamepadEvents: d } = B(n);
      void 0 !== c.focusable || s.disabled || (c.focusable = !0);
      const { ref: u, node: p } = C(Object.assign({}, c)),
        h = Object(r.useCallback)(
          () => (S.a.PlayNavSound(S.b.DefaultOk), u.current.click(), !0),
          [u],
        );
      d.onOKButton ||
        ((s.onClick || ("button" == e && "submit" == s.type) || "a" == e) &&
          (d.onOKButton = h)),
        c.focusable && (s.tabIndex = s.tabIndex || 0),
        Object(m.a)(d, u);
      const _ = Object(l.g)(a, u),
        g = s.children;
      delete s.children;
      const b = s.focusClassName;
      return (
        delete s.focusClassName,
        i.a.createElement(
          y.Provider,
          { value: p },
          p
            ? i.a.createElement(
                t,
                Object.assign(Object.assign({}, s), {
                  divRef: _,
                  node: p,
                  focusClassName: Object(o.a)(b, "gpfocus"),
                  focusWithinClassName: "gpfocuswithin",
                  className: Object(o.a)(s.className, "Focusable"),
                }),
                g,
              )
            : i.a.createElement(
                e,
                Object.assign(Object.assign({}, s), {
                  ref: _,
                  className: Object(o.a)(s.className, "Focusable"),
                }),
                g,
              ),
        )
      );
    }
    function T(e) {
      const t = O(e);
      return i.a.forwardRef(function (n, a) {
        return I(e, t, n, a);
      });
    }
    function R(e) {
      const t = O(e);
      return i.a.forwardRef(function (n, r) {
        const i = Object(p.a)(n),
          { virtualKeyboardProps: s } = i,
          o = i.props,
          { refKeyboardHandle: c } = o,
          d = Object(a.c)(o, ["refKeyboardHandle"]),
          u = b(s, c),
          m = Object(l.g)(r, u);
        return I(e, t, d, m);
      });
    }
  },
  "1ciW": function (e, t, n) {
    e.exports = { BroadcastCtn: "VODPlayer_BroadcastCtn_1exXY" };
  },
  "1dSB": function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY1MjI5RjcyNjYyMjExRTlCQTM3QzA4REJGQTAwNUZCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY1MjI5RjczNjYyMjExRTlCQTM3QzA4REJGQTAwNUZCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjUyMjlGNzA2NjIyMTFFOUJBMzdDMDhEQkZBMDA1RkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjUyMjlGNzE2NjIyMTFFOUJBMzdDMDhEQkZBMDA1RkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oZ6UCAAAFiElEQVR42uybW2hcVRSGZ9JE22RotJa2wUrEW0xBlGIl0kijQZqWoPXSPjSt0oLgg4hvpY999SkQxYoPgmmgKkKVSiMqtrQpVeO9YCMOtTqmaVF6G5OYXqb/ov/AdHrOnrXP2efkwMyGj0Mm+7LWOvuy1t77pAuFQqqaU12qylPNANVugPryH9LptNMGMMfMxaMDdII20A6WggxoYrb/QB7kwK9gDBwCRyDPtGN5bvyhFEeNNIKNYB+YKgRPU6xD6mp0ZYDr9HVpAJRvAf3gQsF9usC6WxJnAJRrBgNgphB9mmFbzYkwAMr0gVOF+JO02TdrBkDeDNhVmP0kMmSCGiBdrrRmFUCZu/HYC+5PyGp2DPRC9qztKlAXoAs9hMdIgpRPUZYRymaVrHoAGzgA5ifUrzkPVkGHH533AHb74QQrn6Jsw5TVXQ/gJPNtwrp9pTlhBXTJu+oBOyNW/iDYAt4Co+BS2f8nwWtgGegBXyvmhJ3B1kXvdT7q9CK4pbicSfwAOsCrYAj0eLjaWUW9faH8AHp4cTg57WA7uAx+Ae+Al8ADYI7Pi9uhdJaawxhgIAblz4E6sMfn/9kQBpA0EMgADGzi8O2/YHsnDXnWBBwCxdihxc8ApklwG2iIYcb+BoLcgecSQ573kecVcB9Yjb+/Ancp62+gLvplkLH3KW5aRJ2eoZAfRNiGLIeLodukdhlcF5PyKS5pj0TcRoY6qfcEN8ekfA5v5SS3zKJOm1UG4B5eV1xvn8vc8hja6qJu5k1Rvo25EQpyFsjSdlomN7AQfCpjlBPb0ojaLW7O7q9kgE7HDZ8De8BnErKiy//pkWdDSQ9cgMejdHmfAy0OZeksN8AN6yIYdLS+i0f3Arg5xAbmHPAUOORR/+UAMg1WdITAqLIyEeB1CT0paBt4A/wDtoh353g/fx04Ad4shrt4LgLbwLRS5lGNASaUlW0yHIREklB3vc/vq8EVhcwTGgPkFRUdTNoGAGT6SCF3XuMKNynaG07gJsiXijxNWkeoUqpXvpWHwQ+0/nEZx4oyPeAog5jDFhudDUG7TpAhMKyodz4nxNJ0ESwzlGnziEAnNPv+yPOhqyGQV9hNJp1nK+R5HNzm0XOeVgRGpWkx6zIp/yR9Bk1QVHEI5JSdZ7dsWRn+P+Xz+/+GMhd9fp8xKL8Vj48lkNXEHpohYOMIjRgEuwmMleU/YzrdlX0B7hCVpt+kLkOZvWEcIa8eMOZiSobLK2+tGwyCn+kOP8boz6/MX+zu+xgv7AZPsC4XaUzTA7osLDqegPX/qIW8XRUPRxk1nbGICNvxho7NkvIynP5Wjn+ZkyTQmjZOgryTs99CjpdnsQNsVSov6YDnfSOvXWHeybG5x3OP4S3JIce7oNvizXZwwsoY8iwBZy3k3KjeFue2s809H9nZmWdwiHIMVmTpXOOlGNvsprEu0YlaaAiTP7e8X9Roey7Qbxlrf+IX+/NtDdITLCYJbb8H39FNLsb3VxjYtBqUt72Z0u/X431PhznBnLD0sQ+D9ahj3Ef4RXisBQ+Ce8GtHMOya/Q7+EkCLZTP+ZRfwGV1rYVM4ly1Fpdfq3uCAY/G/nW9IYK65EWtl2U3gDzBjsaYOczhqIstsXrwPDgS4iZZ8MNRFgh7PC6u7Xusp1Wh9O1U+m1wOmTbFY/HtTdEduHR56hHy3j/A4yXBDkN3P29k/OCizQEXTZ5GeA6fWtXZHSBjVTUm7p2YJr0JDL2eimvOhozGCHLw4rzCVZeZOvRXJgMtCfI+3erEtoTRCbjHcHQBigxwkqOsySN+ZW2ygfeFWYXWyEzbQKUH+KElw1UunZdvvbBRO2Tmag/mpoMofRk1B9NBfpgwrLBRH82l659O1zlqWaAajfAVQEGAEyk4t4HpStTAAAAAElFTkSuQmCC";
  },
  "1fPh": function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return r;
    }),
      n.d(t, "a", function () {
        return i;
      });
    var a = n("aaBf");
    let r = {
      DiagData: () => "/:anything*/diagdata",
      SalePages: () => "/sales",
      OptInPages: () => "/optin",
      SteamML: () => "/steamml",
      BuildPatchNotes: () => "/apps/builds/:appid(\\d+)",
      SteamworksEvents: () => "/steamworksevents",
      PromotionTools: () => "/promotion",
      PricingTools: () => "/pricing",
      DeckVerified: () => "/apps/deckreview/:appid(\\d+)",
      DeckVerifiedAdmin: () => "/admin/deckverified",
      DeckCompatTestingDashboard: () => "/deckcompattesting/dashboard",
    };
    function i() {
      let e = document.createElement("a");
      e.href = a.c.PARTNER_BASE_URL;
      let t = e.pathname;
      return t.endsWith("/") || (t += "/"), t;
    }
  },
  "1gou": function (e, t, n) {
    "use strict";
    var a = n("mrSG"),
      r = (n("q1tI"), n("2vnA"));
    class i {
      constructor(e, t) {
        if (!t.hasOwnProperty(e))
          throw new Error("Room effect " + e + " is not defined.");
        (this.name = e),
          (this.timestamp = Date.now()),
          (this.settings = t[e]),
          (this.expires = this.timestamp + this.settings.timeout);
      }
      static QueueFor(e) {
        return i.k_QueueForEffect[e];
      }
      Queue() {
        return i.k_QueueForEffect[this.name];
      }
      bIsExpired() {
        return Date.now() > this.expires;
      }
      bIsActive() {
        const e = Date.now();
        return this.timestamp <= e && this.expires > e;
      }
      iTimeToExpiry() {
        return this.expires - Date.now();
      }
      render() {
        return this.bIsActive() ? this.settings.render(this) : null;
      }
    }
    i.k_QueueForEffect = {
      snowball: "snowball",
      snow: "confetti_snow",
      confetti: "confetti_snow",
      goldfetti: "confetti_snow",
      firework: "festive",
      balloons: "festive",
      lny2020_lanterns: "festive",
      lny2020_firework: "festive",
      lny2020_confetti: "confetti_snow",
    };
    class s {
      constructor(e) {
        (this.m_mapRoomEffectQueue = {
          default: [],
          snowball: [],
          confetti_snow: [],
          festive: [],
        }),
          (this.m_rgRunningEffects = []),
          (this.m_effectSettings = e);
      }
      AddRoomEffect(e) {
        this.QueueRoomEffect(e), this.UpdateRunningRoomEffects();
      }
      QueueRoomEffect(e) {
        this.m_mapRoomEffectQueue[i.QueueFor(e)].push(e);
      }
      ActivateRoomEffect(e) {
        try {
          const t = new i(e, this.m_effectSettings);
          this.m_rgRunningEffects.push(t),
            window.setTimeout(() => {
              this.UpdateRunningRoomEffects();
            }, t.iTimeToExpiry() + 100);
        } catch (e) {
          console.log(e);
        }
      }
      BIsQueueFull(e) {
        return (
          this.m_rgRunningEffects.filter((t) => t.Queue() == e).length >=
          s.k_MaxRoomEffectRunning[e]
        );
      }
      UpdateRunningRoomEffects() {
        this.m_rgRunningEffects = this.m_rgRunningEffects.filter(
          (e) => !e.bIsExpired(),
        );
        for (let e in this.m_mapRoomEffectQueue) {
          const t = e;
          for (
            ;
            this.m_mapRoomEffectQueue[t].length > 0 && !this.BIsQueueFull(t);
          )
            this.ActivateRoomEffect(this.m_mapRoomEffectQueue[t].shift());
        }
      }
    }
    (s.k_MaxRoomEffectRunning = {
      default: 1,
      snowball: 10,
      confetti_snow: 3,
      festive: 10,
    }),
      Object(a.b)([r.C], s.prototype, "m_rgRunningEffects", void 0);
  },
  "1j+z": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    }),
      n.d(t, "d", function () {
        return l;
      }),
      n.d(t, "b", function () {
        return c;
      }),
      n.d(t, "c", function () {
        return d;
      }),
      n.d(t, "e", function () {
        return u;
      });
    var a = n("fvA7"),
      r = n("4uD3"),
      i = n("aaBf"),
      s = n("KrJD");
    function o(e, t = "", n = null) {
      return u.InstrumentLink(e, t, n);
    }
    function l(e, t, n = null) {
      const a = Object(r.d)(e).toLowerCase(),
        s = Object(r.d)(i.c.COMMUNITY_BASE_URL).toLowerCase(),
        o = Object(r.d)(i.c.STORE_BASE_URL).toLowerCase();
      return a === s || a === o ? c(e, t, n) : e;
    }
    function c(e, t, n = null) {
      const a = d(t, n);
      return u.AddNavParamToURL(e, a);
    }
    function d(e, t = null) {
      return (null == e ? void 0 : e.domain) ? u.GetLinkParam(e, t) : i.c.SNR;
    }
    class u {
      static SetNavEventParams(e, t, n = null, a = null) {
        (u.sm_strDomain = e),
          (u.sm_strController = t),
          (u.sm_strMethod = n),
          (u.sm_strSubmethod = a),
          (u.sm_strComputedLinkPrefix = null);
      }
      static GetDefaultParams() {
        let e = { domain: u.sm_strDomain, controller: u.sm_strController };
        return (
          u.sm_strMethod && (e.method = u.sm_strMethod),
          u.sm_strSubmethod && (e.submethod = u.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, n = null) {
        const a = u.GetLinkParam(t, n);
        return u.AddNavParamToURL(e, a);
      }
      static GetLinkParam(e, t = null) {
        let n, a;
        if (
          ("string" == typeof e || e.domain || (e = e.feature),
          "string" != typeof e && e.domain)
        )
          (n = u.ComputeLinkPrefix(
            e.domain,
            e.controller,
            e.method,
            e.submethod,
          )),
            (a = e.feature),
            (t = null != t ? t : e.depth);
        else {
          if (!u.sm_strComputedLinkPrefix && !u.ComputeStaticLinkPrefix())
            return null;
          (n = u.sm_strComputedLinkPrefix),
            (a = "string" == typeof e ? e : e.feature);
        }
        let r = u.EncodeEventComponent(a);
        return r && ((n += "_" + r), t && (n += "_" + t)), n;
      }
      static AddNavParamToURL(e, t) {
        try {
          const n = new URL(Object(r.b)(e)),
            a = new URLSearchParams(n.search);
          return (
            a.set("snr", encodeURIComponent(t)),
            n.origin + n.pathname + "?" + a.toString() + n.hash
          );
        } catch (t) {
          return console.error(e, t), e;
        }
      }
      static ComputeStaticLinkPrefix() {
        return u.sm_strDomain
          ? ((u.sm_strComputedLinkPrefix = u.ComputeLinkPrefix(
              u.sm_strDomain,
              u.sm_strController,
              u.sm_strMethod,
              u.sm_strSubmethod,
            )),
            !0)
          : (Object(a.a)(
              !1,
              "CStoreNavEvents::SetNavEventParams was not called before calling InstrumentLink!",
            ),
            !1);
      }
      static ComputeLinkPrefix(e, t, n, a) {
        let r = "";
        return (
          (r += u.EncodeEventComponent(e)),
          (r += "_"),
          (r += u.EncodeEventComponent(t)),
          (r += "_"),
          (r += u.EncodeEventComponent(n)),
          (r += "_"),
          (r += u.EncodeEventComponent(a)),
          r
        );
      }
      static EncodeEventComponent(e) {
        if (!e) return "";
        return e in s
          ? "" + s[e]
          : (e.match(/^[0-9]+$/) || (e = e.replace(/^[0-9]+/, "")),
            e.replace(/[^a-zA-Z0-9\- ]+/g, ""));
      }
    }
  },
  "1pnr": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return S;
    }),
      n.d(t, "b", function () {
        return y;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("Gp1o"),
      l = n("AQa9"),
      c = (n("Q8oI"), n("A/iR"), n("5VAZ")),
      d = n("hc+a");
    n("HgJB");
    n("/loZ");
    var u = n("Mx8f"),
      m = n("fvA7"),
      p = n("D6PB"),
      h = n("+h+B"),
      _ = n("CqJL"),
      g = n("3o+G"),
      b = n("aaBf");
    class f {
      constructor(e) {
        Object(m.a)(
          "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 v(e) {
      let t = "" + e;
      const n = _.b.GetELanguageFallback(e);
      return e != n && (t += "_" + n), t;
    }
    class S {
      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 h.b()),
          (this.m_bLoadedFromConfig = !1);
      }
      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 d.a(e.clan_steamid);
                const n = this.InsertEventModelFromClanEventData(t, e);
                e.announcement_body &&
                  this.m_mapExistingEvents.set(
                    c.u + e.announcement_body.gid,
                    n,
                  );
              }
            });
          let n = Object(b.h)("partnereventstore", "application_config");
          this.ValidateStoreDefault(n) &&
            n.forEach((e) => {
              if (e) {
                let t = new d.a(e.clan_steamid);
                const n = this.InsertEventModelFromClanEventData(t, e);
                e.announcement_body &&
                  !this.m_mapExistingEvents.has(
                    c.u + e.announcement_body.gid,
                  ) &&
                  this.m_mapExistingEvents.set(
                    c.u + e.announcement_body.gid,
                    n,
                  );
              }
            });
          let a = Object(b.h)("partnereventadjacents", "application_config");
          this.ValidateAdjacentEvent(a) &&
            (("dev" != b.c.WEB_UNIVERSE && "beta" != b.c.WEB_UNIVERSE) ||
              console.log(
                "DEV_DEBUG: CPartnerEventStore loading adjacents gids payload: " +
                  a.length,
              ),
            a.forEach((e) => {
              e &&
                this.m_mapAdjacentAnnouncementGIDs.set(
                  e.announcementGID,
                  e.adjacents,
                );
            })),
            "dev" == b.c.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
          ? Object(g.e)(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 d.a(t.clan_steamid);
              this.InsertEventModelFromClanEventData(e, t);
            }
          }
      }
      GetRankedClanEvents(e, t) {
        let n = [],
          a = e ? this.GetClanEventGIDs(e) : this.GetClanEventGIDsForApp(t);
        if (!a || 0 == a.length) return n;
        for (let e of a) {
          let t = this.GetClanEventModel(e);
          n.push(t);
        }
        return n.sort(this.DefaultEventSortFunction), n;
      }
      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)
          ? c.u + e.announcement_body.gid
          : e.gid;
      }
      InsertEventModelFromClanEventData(e, t) {
        let n = new c.j();
        if (
          ((n.clanSteamID = e),
          Object(m.a)(
            n.clanSteamID && n.clanSteamID.BIsValid(),
            "Invalid Clan SteamID: " +
              n.clanSteamID.ConvertTo64BitString() +
              " " +
              b.c.EUNIVERSE,
          ),
          (n.GID = this.GetEventLookupKey(t)),
          (n.bOldAnnouncement = this.BIsOldAnnouncement(t)),
          (n.appid = t.appid),
          (n.startTime = t.rtime32_start_time),
          (n.endTime = t.rtime32_end_time),
          (n.visibilityStartTime = t.rtime32_visibility_start),
          (n.visibilityEndTime = t.rtime32_visibility_end),
          (n.loadedAllLanguages = !1),
          (n.type = t.event_type),
          (n.nVotesUp = t.votes_up),
          (n.nVotesDown = t.votes_down),
          (n.comment_type = t.comment_type),
          (n.gidfeature = t.gidfeature),
          (n.gidfeature2 = t.gidfeature2),
          (n.featured_app_tagid = t.featured_app_tagid),
          (n.vecTags = new Array()),
          (n.creator_steamid = t.creator_steamid),
          (n.last_update_steamid = t.last_update_steamid),
          (n.rtime32_last_modified = t.rtime32_last_modified),
          (n.rtime32_moderator_reviewed = t.rtime_mod_reviewed),
          (n.video_preview_type = t.video_preview_type),
          (n.video_preview_id = t.video_preview_id),
          (n.has_live_stream = t.has_live_stream),
          (n.live_stream_viewer_count = t.live_stream_viewer_count),
          (n.m_nBuildID = t.build_id),
          (n.m_strBuildBranch = t.build_branch),
          t.announcement_body)
        ) {
          let e = t.announcement_body;
          (n.AnnouncementGID = e.gid),
            n.name.set(e.language, e.headline),
            n.description.set(e.language, e.body),
            n.timestamp_loc_updated.clear(),
            (n.forumTopicGID = e.forum_topic_id),
            (n.nCommentCount = e.commentcount),
            (n.postTime = e.posttime),
            n.bOldAnnouncement && !e.hidden && (n.startTime = e.posttime),
            (n.announcementClanSteamID = new d.a(e.clanid)),
            e.tags &&
              e.tags.length > 0 &&
              e.tags.forEach((e) => n.vecTags.push(e)),
            !n.rtime32_last_solr_search_col_updated &&
              n.rtime32_last_modified &&
              ((n.rtime32_last_solr_search_col_updated =
                n.rtime32_last_modified),
              (n.rtime32_last_modified = e.updatetime));
        } else
          (n.AnnouncementGID = "0"),
            (n.forumTopicGID = t.forum_topic_id),
            n.name.clear(),
            n.description.clear(),
            n.timestamp_loc_updated.clear(),
            (n.postTime = t.rtime32_start_time),
            (n.nCommentCount = t.comment_count),
            n.name.set(0, t.event_name),
            n.description.set(0, t.event_notes);
        t.broadcaster_accountid &&
          (n.broadcaster = new d.a(t.broadcaster_accountid));
        const a = c.b;
        try {
          n.jsondata = Object.assign(
            Object.assign({}, a),
            t.jsondata ? JSON.parse(t.jsondata) : void 0,
          );
        } catch (e) {
          const t = Object(p.a)(e);
          throw (
            (console.error(
              "PartnerEventStore::InsertEventModelFromClanEventData: failed to parse embedded json model" +
                t.strErrorMsg,
              t,
            ),
            e)
          );
        }
        if (
          ((n.jsondata.localized_capsule_image = Object(u.e)(
            n.jsondata.localized_capsule_image || [],
            30,
            null,
          )),
          (n.jsondata.localized_title_image = Object(u.e)(
            n.jsondata.localized_title_image || [],
            30,
            null,
          )),
          (n.jsondata.localized_spotlight_image = Object(u.e)(
            n.jsondata.localized_spotlight_image || [],
            30,
            null,
          )),
          (n.jsondata.localized_subtitle = Object(u.e)(
            n.jsondata.localized_subtitle || [],
            30,
            null,
          )),
          (n.jsondata.localized_summary = Object(u.e)(
            n.jsondata.localized_summary || [],
            30,
            null,
          )),
          (n.jsondata.localized_broadcast_title = Object(u.e)(
            n.jsondata.localized_broadcast_title || [],
            30,
            null,
          )),
          (n.jsondata.localized_broadcast_left_image = Object(u.e)(
            n.jsondata.localized_broadcast_left_image || [],
            30,
            null,
          )),
          (n.jsondata.localized_broadcast_right_image = Object(u.e)(
            n.jsondata.localized_broadcast_right_image || [],
            30,
            null,
          )),
          (n.jsondata.localized_sale_header = Object(u.e)(
            n.jsondata.localized_sale_header || [],
            30,
            null,
          )),
          (n.jsondata.localized_sale_overlay = Object(u.e)(
            n.jsondata.localized_sale_overlay || [],
            30,
            null,
          )),
          (n.jsondata.localized_sale_product_banner = Object(u.e)(
            n.jsondata.localized_sale_product_banner || [],
            30,
            null,
          )),
          (n.jsondata.localized_sale_product_mobile_banner = Object(u.e)(
            n.jsondata.localized_sale_product_mobile_banner || [],
            30,
            null,
          )),
          (n.jsondata.localized_sale_logo = Object(u.e)(
            n.jsondata.localized_sale_logo || [],
            30,
            null,
          )),
          void 0 !== n.jsondata.sale_num_headers)
        )
          for (let e = 0; e < n.jsondata.sale_num_headers; ++e)
            n.jsondata.localized_per_day_sales_header[e] = Object(u.e)(
              n.jsondata.localized_per_day_sales_header[e],
              30,
              null,
            );
        return (
          n.jsondata.sale_sections &&
            n.jsondata.sale_sections.forEach((e, t) => {
              e.localized_label &&
                (e.localized_label = Object(u.e)(e.localized_label, 30, null)),
                (n.jsondata.sale_sections[t] = Object.assign(
                  Object.assign({}, c.c),
                  e,
                ));
            }),
          n.jsondata.email_setting &&
            n.jsondata.email_setting.sections &&
            n.jsondata.email_setting.sections.forEach((e) => {
              void 0 !== e.localized_headline &&
                null !== e.localized_headline &&
                (e.localized_headline = Object(u.e)(
                  e.localized_headline,
                  30,
                  null,
                )),
                void 0 !== e.localized_body &&
                  null !== e.localized_body &&
                  (e.localized_body = Object(u.e)(e.localized_body, 30, null)),
                void 0 !== e.localized_image &&
                  null !== e.localized_image &&
                  (e.localized_image = Object(u.e)(
                    e.localized_image,
                    30,
                    null,
                  ));
            }),
          n.jsondata.localized_title_image.forEach((e, t) => {
            if (null != e && "http" == e.substr(0, 4)) {
              let a = e.lastIndexOf("/"),
                r = e.substr(a + 1);
              n.jsondata.localized_title_image[t] = r;
            }
          }),
          t.published
            ? t.hidden
              ? (n.visibility_state = c.d.k_EEventStateStaged)
              : (n.visibility_state = c.d.k_EEventStateVisible)
            : (n.visibility_state = c.d.k_EEventStateUnpublished),
          this.InsertUniqueEventGID(e.GetAccountID(), n.appid, n.GID),
          this.m_mapExistingEvents.set(n.GID, n),
          n.AnnouncementGID &&
            n.AnnouncementGID.length > 1 &&
            this.m_mapAnnouncementBodyToEvent.set(n.AnnouncementGID, n.GID),
          (n.bLoaded = !0),
          n
        );
      }
      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(
              Object(u.e)([], 30, 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 n = this.m_mapExistingEvents.get(e);
              n && t.push(n);
            }),
          t
        );
      }
      QueueLoadPartnerEvent(e, t, n) {
        return Object(a.a)(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(n)),
            this.m_PendingInfoPromise ||
              (this.m_PendingInfoPromise = new Promise(
                (e) => (this.m_PendingInfoResolve = e),
              ));
          const a = this.m_PendingInfoPromise,
            r = () => {
              const e = this.m_PendingInfoResolve,
                t = this.m_rgQueuedEventsClanIDs,
                n = this.m_rgQueuedEventsUniqueIDs,
                a = 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, n, a).then(() => e());
            };
          if (this.m_rgQueuedEventsClanIDs.length >= 30)
            this.m_QueuedEventTimeout.Cancel(), r();
          else if (!this.m_QueuedEventTimeout.IsScheduled()) {
            const e = 50;
            this.m_QueuedEventTimeout.Schedule(e, r);
          }
          return a;
        });
      }
      InternalLoadPartnerEventList(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = n.some((e) => e);
          const r =
              b.c.STORE_BASE_URL +
              (a
                ? "events/ajaxgeteventdetailsforedit/"
                : "events/ajaxgeteventdetails/"),
            s = v(Object(l.g)(b.c.LANGUAGE)),
            o = {
              clanid_list: e.join(","),
              uniqueid_list: t.join(","),
              lang_list: s,
              origin: self.origin,
            };
          try {
            const e = yield i.a.get(r, { params: o, withCredentials: a });
            this.RegisterClanEvents(e.data.events);
          } catch (e) {
            let t = Object(p.a)(e);
            console.error("GetEventDetails hit error " + t.strErrorMsg, t);
          }
        });
      }
      LoadAdjacentPartnerEvents(e, t, n, r, i, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadAdjacentPartnerEvents(
            e,
            void 0,
            t,
            n,
            r,
            i,
            s,
            o,
          );
        });
      }
      LoadAdjacentPartnerEventsByAnnouncement(e, t, n, r, i, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadAdjacentPartnerEvents(
            void 0,
            e,
            t,
            n,
            r,
            i,
            s,
            o,
          );
        });
      }
      LoadAdjacentPartnerEventsByEvent(e, t, n, r, i, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = t || e.clanSteamID;
          return e.bOldAnnouncement
            ? this.InternalLoadAdjacentPartnerEvents(
                void 0,
                e.AnnouncementGID,
                a,
                n,
                r,
                i,
                s,
                o,
              )
            : this.InternalLoadAdjacentPartnerEvents(
                e.GID,
                e.AnnouncementGID,
                a,
                n,
                r,
                i,
                s,
                o,
              );
        });
      }
      InternalLoadAdjacentPartnerEvents(e, t, n, r, o, c, u, m) {
        var h;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = new Array();
          if (this.m_mapAdjacentAnnouncementGIDs.has(t)) {
            let e = this.m_mapAdjacentAnnouncementGIDs.get(t),
              n = new Array();
            if (
              (e.forEach((e) => {
                if (this.m_mapAnnouncementBodyToEvent.has(e)) {
                  let t = this.m_mapAnnouncementBodyToEvent.get(e);
                  a.push(this.m_mapExistingEvents.get(t));
                } else n.push(e);
              }),
              n.length > 0)
            ) {
              (yield this.LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(
                null,
                n,
                m,
              )).forEach((e) => a.push(e));
            }
          } else {
            let _ = b.c.STORE_BASE_URL + "events/ajaxgetadjacentpartnerevents/";
            const g = v(Object(l.g)(b.c.LANGUAGE));
            let f = {
              clan_accountid: n ? n.GetAccountID() : void 0,
              appid: r,
              count_before: o,
              count_after: c,
              gidevent: e,
              gidannouncement: t,
              lang_list: g,
              rtime_oldestevent: u ? u.rtime_oldestevent : void 0,
              require_tags:
                u && u.require_tags ? u.require_tags.join(",") : void 0,
              exclude_tags:
                u && u.exclude_tags ? u.exclude_tags.join(",") : void 0,
              require_no_tags: u ? u.require_no_tags : void 0,
              event_type_filter:
                u && u.event_type_filter
                  ? u.event_type_filter.join(",")
                  : void 0,
              exclude_event_types:
                u && u.exclude_event_types
                  ? u.exclude_event_types.join(",")
                  : void 0,
              origin: self.origin,
            };
            try {
              let o = yield i.a.get(_, {
                params: f,
                cancelToken: null == m ? void 0 : m.token,
              });
              if (
                1 ==
                (null === (h = null == o ? void 0 : o.data) || void 0 === h
                  ? void 0
                  : h.success)
              )
                Object(s.G)(() => {
                  for (let e of o.data.events) {
                    let t = this.GetEventLookupKey(e);
                    if (!this.m_mapExistingEvents.has(t)) {
                      let t = new d.a(e.clan_steamid);
                      this.InsertEventModelFromClanEventData(n || t, e);
                    }
                    a.push(this.m_mapExistingEvents.get(t));
                  }
                  0 == a.length &&
                    (e && this.BHasClanEventModel(e)
                      ? a.push(this.m_mapExistingEvents.get(e))
                      : t &&
                        this.BHasClanAnnouncementGID(t) &&
                        a.push(this.GetClanEventFromAnnouncementGID(t)));
                });
              else {
                let e = Object(p.a)(null == o ? void 0 : o.data);
                console.error(
                  "LoadAdjacentPartnerEvents Success but empty response:" +
                    r +
                    " clanAccount:" +
                    (n ? n.GetAccountID() : 0) +
                    " " +
                    e.strErrorMsg,
                  e,
                );
              }
            } catch (e) {
              let t = Object(p.a)(e);
              52 != t.errorCode &&
                console.error(
                  "LoadAdjacentPartnerEvents hit error on appid:" +
                    r +
                    " clanAccount:" +
                    (n ? n.GetAccountID() : 0) +
                    " " +
                    t.strErrorMsg,
                  t,
                );
            }
          }
          return a;
        });
      }
      LoadPartnerEventsPageable(e, t, n = 0, r = 0) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = new Array(),
            o = b.c.STORE_BASE_URL + "events/ajaxgetpartnereventspageable/",
            l = {
              clan_accountid: e ? e.GetAccountID() : void 0,
              appid: t,
              offset: n,
              count: r,
              l: b.c.LANGUAGE,
              origin: self.origin,
            };
          try {
            let e = yield i.a.get(o, { params: l });
            Object(s.G)(() => {
              for (let t of e.data.events) {
                let e = this.GetEventLookupKey(t);
                if (!this.m_mapExistingEvents.has(e)) {
                  let e = new d.a(t.clan_steamid);
                  this.InsertEventModelFromClanEventData(e, t);
                }
                a.push(this.m_mapExistingEvents.get(e));
              }
            });
          } catch (e) {
            console.error(
              "LoadClanEventInDateRange hit error " +
                Object(p.a)(e).strErrorMsg,
            );
          }
          return a;
        });
      }
      GetBestEventsForCurrentUser(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = new Array(),
            r = {
              l: b.c.LANGUAGE,
              include_steam_blog: !0,
              filter_to_played_within_days: e,
              include_only_game_updates: t,
            },
            o = b.c.STORE_BASE_URL + "events/ajaxgetbesteventsforuser",
            l = yield i.a.get(o, {
              params: r,
              withCredentials: !0,
              cancelToken: n ? n.token : void 0,
            });
          return (
            Object(s.G)(() => {
              for (let e of l.data.events) {
                let t = this.GetEventLookupKey(e);
                if (!this.m_mapExistingEvents.has(t)) {
                  let t = new d.a(e.clan_steamid);
                  this.InsertEventModelFromClanEventData(t, e);
                }
                let n = {
                  nAppPriority: e.nAppPriority,
                  bPossibleTakeOver: e.bPossibleTakeOver,
                  event: this.m_mapExistingEvents.get(t),
                };
                a.push(n);
              }
            }),
            a
          );
        });
      }
      LoadImportantEventsAroundToday(e, t, n, r, o, l) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = new Array(),
            c = new Array();
          c.push({ priority: 0, appids: t }),
            n && c.push({ priority: 1, appids: n }),
            r && c.push({ priority: 2, appids: r });
          let u = {
              count: e,
              strAppIDPriority: JSON.stringify({ prioritized_apps: c }),
              filterToEventTypes: l ? l.toString() : "",
              l: b.c.LANGUAGE,
            },
            m = b.c.STORE_BASE_URL + "events/ajaxgettodayboundedevents",
            p = yield i.a.get(m, {
              params: u,
              withCredentials: !0,
              cancelToken: o.token,
            });
          return (
            Object(s.G)(() => {
              for (let e of p.data.events) {
                let t = this.GetEventLookupKey(e);
                if (!this.m_mapExistingEvents.has(t)) {
                  let t = new d.a(e.clan_steamid);
                  this.InsertEventModelFromClanEventData(t, e);
                }
                a.push(this.m_mapExistingEvents.get(t));
              }
            }),
            a
          );
        });
      }
      InsertUniqueEventGID(e, t, n) {
        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 a = this.m_mapClanToGIDs.get(e);
        -1 == a.indexOf(n) && (a.push(n), this.m_mapAppIDToGIDs.get(t).push(n));
      }
      ResetModel() {}
      DeleteClanEvent(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.m_mapExistingEvents.has(t) &&
            (this.m_mapExistingEvents.get(t).deleteInProgress = !0);
          let n = null,
            a = new URLSearchParams();
          return (
            a.append("sessionid", b.c.SESSIONID),
            a.append("bDelete", "1"),
            a.append("gid", t),
            (n = yield i.a.post(
              b.c.COMMUNITY_BASE_URL +
                "/gid/" +
                e.ConvertTo64BitString() +
                "/ajaxcreateupdatedeletepartnerevents/",
              a,
            )),
            this.RemoveGIDFromList(e, t),
            n.data
          );
        });
      }
      RemoveGIDFromList(e, t) {
        if (
          (this.m_mapExistingEvents.delete(t),
          this.m_mapClanToGIDs.has(e.GetAccountID()))
        ) {
          let n = this.m_mapClanToGIDs.get(e.GetAccountID()),
            a = n.indexOf(t);
          a >= 0 && n.splice(a, 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(c.u + t) &&
            this.m_mapExistingEvents.delete(c.u + 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,
        n,
        r,
        s,
        o = !1,
      ) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = v(o ? 0 : Object(l.g)(b.c.LANGUAGE)),
            c = {
              appid: t,
              clan_accountid: e ? e.GetAccountID() : void 0,
              announcement_gid: r,
              event_gid: n,
              lang_list: a,
              last_modified_time: s || 0,
              origin: self.origin,
              for_edit: o,
            },
            u = null,
            p = null;
          if (o) {
            const n = Object(b.f)();
            "community" === n
              ? ((p = b.c.COMMUNITY_BASE_URL),
                (p += e ? "gid/" + e.ConvertTo64BitString() : "ogg/" + t),
                (p += "/"))
              : (p =
                  "partnerweb" === n
                    ? b.c.PARTNER_BASE_URL + "sales/"
                    : b.c.STORE_BASE_URL + "events/"),
              (p += "ajaxgetpartnereventforedit"),
              (u = { params: c, withCredentials: !0 });
          } else
            (p = b.c.STORE_BASE_URL + "events/ajaxgetpartnerevent"),
              (u = { params: c, withCredentials: !1 });
          let h = (yield i.a.get(p, u)).data.event,
            _ = this.GetEventLookupKey(h);
          if (
            !this.m_mapExistingEvents.has(_) ||
            this.m_mapExistingEvents.get(_).rtime32_last_modified <
              h.rtime32_last_modified ||
            this.m_mapExistingEvents.get(_).rtime32_moderator_reviewed <
              h.rtime_mod_reviewed
          ) {
            Object(m.a)(
              h.clan_steamid,
              "ClanSteamID is missing from data we received",
            );
            let e = new d.a(h.clan_steamid);
            this.InsertEventModelFromClanEventData(e, h);
          }
          return this.m_mapExistingEvents.get(_);
        });
      }
      InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
        e,
        t,
        n,
        r,
        i,
        s,
      ) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (n && this.m_mapExistingEvents.has(n))
            return this.m_mapExistingEvents.get(n);
          if (r) {
            if (this.m_mapExistingEvents.has(c.u + r))
              return this.m_mapExistingEvents.get(c.u + r);
            if (this.m_mapAnnouncementBodyToEvent.has(r)) {
              const e = this.m_mapAnnouncementBodyToEvent.get(r);
              if (this.m_mapExistingEvents.has(e))
                return this.m_mapExistingEvents.get(e);
            }
          }
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
            e,
            t,
            n,
            r,
            i,
            s,
          );
        });
      }
      LoadPartnerEventFromAnnoucementGID(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
            void 0,
            e,
            void 0,
            t,
            n,
          );
        });
      }
      LoadPartnerEventFromAnnoucementGIDAndClanSteamID(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
            e,
            void 0,
            void 0,
            t,
            n,
            r,
          );
        });
      }
      LoadPartnerEventFromClanEventGID(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
            void 0,
            e,
            t,
            void 0,
            n,
          );
        });
      }
      LoadPartnerEventFromClanEventGIDAndClanSteamID(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
            e,
            void 0,
            t,
            void 0,
            n,
            r,
          );
        });
      }
      LoadPartnerEventGeneric(e, t, n, r, i) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGIDCached(
            e,
            t,
            n,
            r,
            i,
          );
        });
      }
      LoadHiddenPartnerEvent(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
            e,
            null,
            t,
            null,
            0,
            !0,
          );
        });
      }
      LoadHiddenPartnerEventByAnnouncementGID(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalLoadPartnerEventFromClanEventOrClanAnnouncementGID(
            e,
            null,
            null,
            t,
            0,
            !0,
          );
        });
      }
      HintLoadImportantUpdates() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = Object(o.b)(36e5);
          if (e != this.m_tsUpdatedAppsQueryTime) {
            this.m_tsUpdatedAppsQueryTime = e;
            const t = { page: 1, numPerPage: 500, includeAnnouncements: !1 },
              n = b.c.STORE_BASE_URL + "updated/ajaxgetmyappsraw",
              a = yield i.a.get(n, { params: t, withCredentials: !0 });
            a.data.apps &&
              a.data.apps.length > 0 &&
              Object(s.G)(() => {
                const e = new Map(a.data.apps.map((e) => [e.appid, new f(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 Object(a.a)(this, void 0, void 0, function* () {
          let n =
            b.c.COMMUNITY_BASE_URL +
            "gid/" +
            e.ConvertTo64BitString() +
            "/announcements/ajaxgetlocalization/" +
            t;
          return (yield i.a.get(n)).data.localization;
        });
      }
      LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = new Array(),
            r = b.c.STORE_BASE_URL + "events/ajaxgetbatchedpartnerevent/",
            o = v(Object(l.g)(b.c.LANGUAGE));
          let c, u;
          if (e) {
            let t = new Array();
            e.forEach((e) => {
              this.m_mapExistingEvents.has(e)
                ? a.push(this.m_mapExistingEvents.get(e))
                : t.push(e);
            }),
              t.sort(),
              (c = t.join(","));
          }
          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);
                a.push(this.m_mapExistingEvents.get(e));
              } else e.push(t);
            }),
              e.sort(),
              (u = e.join(","));
          }
          if (!c && !u) return a;
          let m = {
            event_gids: c,
            announcement_gids: u,
            lang_list: o,
            origin: self.origin,
          };
          try {
            let e = yield i.a.get(r, {
              params: m,
              cancelToken: n ? n.token : void 0,
            });
            e &&
              e.data &&
              e.data.events &&
              Object(s.G)(() => {
                for (let t of e.data.events) {
                  let e = this.GetEventLookupKey(t);
                  if (!this.m_mapExistingEvents.has(e)) {
                    let e = new d.a(t.clan_steamid);
                    this.InsertEventModelFromClanEventData(e, t);
                  }
                  a.push(this.m_mapExistingEvents.get(e));
                }
              });
          } catch (e) {
            let t = Object(p.a)(e);
            console.error(
              "LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs hit error " +
                t.strErrorMsg,
              t,
            );
          }
          return a;
        });
      }
    }
    Object(a.b)([s.C], S.prototype, "m_mapExistingEvents", void 0),
      Object(a.b)([s.C], S.prototype, "m_mapAnnouncementBodyToEvent", void 0),
      Object(a.b)([s.C], S.prototype, "m_mapClanToGIDs", void 0),
      Object(a.b)([s.C], S.prototype, "m_mapAppIDToGIDs", void 0),
      Object(a.b)([s.C], S.prototype, "m_mapUpdatedApps", void 0),
      Object(a.b)([s.k], S.prototype, "Init", null),
      Object(a.b)([s.k], S.prototype, "RegisterClanEvents", null),
      Object(a.b)(
        [s.k],
        S.prototype,
        "InsertEventModelFromClanEventData",
        null,
      ),
      Object(a.b)([s.k], S.prototype, "DeleteClanEvent", null),
      Object(a.b)([s.k], S.prototype, "RemoveGIDFromList", null),
      Object(a.b)([s.k], S.prototype, "FlushEventFromCache", null),
      Object(a.b)([s.C], S.prototype, "GetAppImportantUpdate", null);
    const y = new S();
    window.g_PartnerEventStore = y;
  },
  "1uBP": function (e, t, n) {
    e.exports = { MoreDots: "pricingcomponents_MoreDots_2YpW8" };
  },
  "1zEj": function (e, t, n) {
    e.exports = {
      DashboardPage: "discountdashboard_DashboardPage_353rn",
      DashTitleBar: "discountdashboard_DashTitleBar_2m-_V",
      DashTitle: "discountdashboard_DashTitle_1FK58",
      ConfidentialBanner: "discountdashboard_ConfidentialBanner_2H9Kz",
      Throbber: "discountdashboard_Throbber_21Esx",
      ErrorMessage: "discountdashboard_ErrorMessage_190ux",
      ButtonGroup: "discountdashboard_ButtonGroup_2peTi",
    };
  },
  "2GtY": function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return a;
    }),
      n.d(t, "a", function () {
        return i;
      });
    var a,
      r = n("+h+B");
    !(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.FriendOnline = 7)] = "FriendOnline"),
        (e[(e.FriendInGame = 8)] = "FriendInGame"),
        (e[(e.VolSound = 9)] = "VolSound"),
        (e[(e.ShowModal = 10)] = "ShowModal"),
        (e[(e.HideModal = 11)] = "HideModal"),
        (e[(e.IntoGameDetail = 12)] = "IntoGameDetail"),
        (e[(e.OutOfGameDetail = 13)] = "OutOfGameDetail"),
        (e[(e.PagedNavigation = 14)] = "PagedNavigation"),
        (e[(e.ToggleOn = 15)] = "ToggleOn"),
        (e[(e.ToggleOff = 16)] = "ToggleOff"),
        (e[(e.SliderUp = 17)] = "SliderUp"),
        (e[(e.SliderDown = 18)] = "SliderDown"),
        (e[(e.ChangeTabs = 19)] = "ChangeTabs"),
        (e[(e.DefaultOk = 20)] = "DefaultOk"),
        (e[(e.OpenSideMenu = 21)] = "OpenSideMenu"),
        (e[(e.CloseSideMenu = 22)] = "CloseSideMenu"),
        (e[(e.BasicNav = 23)] = "BasicNav"),
        (e[(e.FailedNav = 24)] = "FailedNav"),
        (e[(e.Typing = 25)] = "Typing");
    })(a || (a = {}));
    const i = new (class {
      constructor() {
        this.m_fnCallbackOnPlaySound = new r.a();
      }
      RegisterCallbackOnPlaySound(e) {
        return this.m_fnCallbackOnPlaySound.Register(e);
      }
      PlayNavSound(e) {
        this.m_fnCallbackOnPlaySound.Dispatch(e);
      }
    })();
  },
  "2hyl": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("eV45"),
      s = n("ERCR"),
      o = (n("3wCP"), n("OeiR")),
      l = n("CqJL"),
      c = n("KT6v"),
      d = n("2n6b"),
      u = n.n(d);
    class m extends r.Component {
      TryHide() {
        this.m_fnHide && this.m_fnHide(), (this.m_fnHide = null);
      }
      componentWillUnmount() {
        this.TryHide();
      }
      render() {
        const {
            toolTipContent: e,
            nDelayShowMS: t,
            bDisabled: n,
            direction: a,
            nBodyAlignment: r,
            nBodyDistance: i,
            nAllowOffscreenPx: s,
            nMaxLateralMoveOnScreen: o,
            strTooltipClassname: l,
          } = this.props,
          c = {
            direction: a,
            nBodyAlignment: r,
            nBodyDistance: i,
            nAllowOffscreenPx: s,
            nMaxLateralMoveOnScreen: o,
            className: l,
          };
        let d = null;
        if (!n) {
          const n = (e) => (this.m_fnHide = e);
          d =
            "string" == typeof e
              ? h.ForText(e, n, t, c)
              : h.ForReactNode(e, n, t, c);
        }
        const u = Object.assign(Object.assign({}, this.props), {
          onMouseEnter: d ? d.ShowToolTip : null,
          onMouseLeave: this.TryHide,
        });
        return this.RenderHelper(u, d);
      }
    }
    (m.defaultProps = { nDelayShowMS: 300 }),
      Object(a.b)([c.b], m.prototype, "TryHide", null);
    class p extends m {
      RenderHelper(e, t) {
        const {
            toolTipContent: n,
            nDelayShowMS: i,
            bDisabled: o,
            direction: l,
            nBodyAlignment: c,
            nBodyDistance: d,
            nAllowOffscreenPx: u,
            nMaxLateralMoveOnScreen: m,
            strTooltipClassname: p,
            bNavStop: h,
          } = e,
          _ = Object(a.c)(e, [
            "toolTipContent",
            "nDelayShowMS",
            "bDisabled",
            "direction",
            "nBodyAlignment",
            "nBodyDistance",
            "nAllowOffscreenPx",
            "nMaxLateralMoveOnScreen",
            "strTooltipClassname",
            "bNavStop",
          ]);
        return r.createElement(
          s.e,
          Object.assign(
            { noFocusRing: !0, focusable: null != h ? h : !!_.onClick },
            _,
          ),
          e.children,
        );
      }
    }
    r.Component;
    r.Component;
    r.Component;
    class h {
      constructor(e, t, n, a) {
        (this.m_rctContent = e),
          (this.m_nDelayShowMS = n),
          (this.m_hoverPositionProps = a),
          (this.m_strKey = "tooltip-" + Math.floor(1e8 * Math.random())),
          (this.m_fnOnShow = t);
      }
      static ForReactNode(e, t, n, a) {
        return new h(e, t, n, a);
      }
      static ForText(e, t, n, a) {
        return new h(
          r.createElement(
            "div",
            { className: u.a.TextToolTip },
            Object(l.f)(e),
          ),
          t,
          n,
          a,
        );
      }
      ShowToolTip(e) {
        const t = e.currentTarget || e,
          n = { target: t };
        let a;
        if ("function" == typeof this.m_rctContent) {
          if (((a = this.m_rctContent()), !a)) return;
        } else a = this.m_rctContent;
        h.sm_embeddedElements.ShowElementDelayed(
          t.ownerDocument,
          this.m_nDelayShowMS,
          r.createElement(
            o.a,
            Object.assign({}, n, this.m_hoverPositionProps),
            a,
          ),
          this.m_strKey,
        ),
          this.m_fnOnShow && this.m_fnOnShow(() => this.HideToolTip(t));
      }
      HideToolTip(e) {
        const t = e.currentTarget || e;
        h.sm_embeddedElements.HideElement(t.ownerDocument, this.m_strKey);
      }
    }
    (h.sm_embeddedElements = new i.a("ignored-id-tooltip-map")),
      Object(a.b)([c.b], h.prototype, "ShowToolTip", null),
      Object(a.b)([c.b], h.prototype, "HideToolTip", null);
  },
  "2jbI": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    }),
      n.d(t, "b", function () {
        return d;
      }),
      n.d(t, "c", function () {
        return p;
      }),
      n.d(t, "d", function () {
        return g;
      });
    var a = n("hRO2"),
      r = n("gFJg"),
      i = (n("JuuX"), n("RYKw"));
    const s = a.Message;
    class o extends s {
      constructor(e = null) {
        super(),
          o.prototype.released_only || r.a(o.M()),
          s.initialize(this, e, 0, -1, [10, 11, 15, 16], null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                released_only: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                coming_soon_only: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                type_filters: { n: 3, c: l },
                tagids_must_match: { n: 10, c: c, r: !0, q: !0 },
                tagids_exclude: {
                  n: 11,
                  r: !0,
                  q: !0,
                  br: r.d.readInt32,
                  bw: r.h.writeRepeatedInt32,
                },
                content_descriptors_must_match: {
                  n: 15,
                  r: !0,
                  q: !0,
                  br: r.d.readEnum,
                  bw: r.h.writeRepeatedEnum,
                },
                content_descriptors_excluded: {
                  n: 16,
                  r: !0,
                  q: !0,
                  br: r.d.readEnum,
                  bw: r.h.writeRepeatedEnum,
                },
                regional_top_n_sellers: {
                  n: 40,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                global_top_n_sellers: {
                  n: 41,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                regional_long_term_top_n_sellers: {
                  n: 42,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                global_long_term_top_n_sellers: {
                  n: 43,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQueryFilters";
      }
    }
    class l extends s {
      constructor(e = null) {
        super(),
          l.prototype.include_apps || r.a(l.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                include_apps: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                include_packages: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                include_bundles: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
                include_games: { n: 10, br: r.d.readBool, bw: r.h.writeBool },
                include_demos: { n: 11, br: r.d.readBool, bw: r.h.writeBool },
                include_mods: { n: 12, br: r.d.readBool, bw: r.h.writeBool },
                include_dlc: { n: 13, br: r.d.readBool, bw: r.h.writeBool },
                include_software: {
                  n: 14,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_video: { n: 15, br: r.d.readBool, bw: r.h.writeBool },
                include_hardware: {
                  n: 16,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_series: { n: 17, br: r.d.readBool, bw: r.h.writeBool },
                include_music: { n: 18, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQueryFilters_TypeFilters";
      }
    }
    class c extends s {
      constructor(e = null) {
        super(),
          c.prototype.tagids || r.a(c.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                tagids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: r.d.readInt32,
                  bw: r.h.writeRepeatedInt32,
                },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQueryFilters_TagFilter";
      }
    }
    class d extends s {
      constructor(e = null) {
        super(),
          d.prototype.start || r.a(d.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                start: { n: 1, d: 0, br: r.d.readInt32, bw: r.h.writeInt32 },
                count: { n: 2, d: 10, br: r.d.readInt32, bw: r.h.writeInt32 },
                sort: { n: 10, d: 0, br: r.d.readEnum, bw: r.h.writeEnum },
                filters: { n: 20, c: o },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQueryParams";
      }
    }
    class u extends s {
      constructor(e = null) {
        super(),
          u.prototype.id || r.a(u.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                id: { n: 1, c: i.g },
                score: { n: 2, br: r.d.readDouble, bw: r.h.writeDouble },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQueryPerResultMetadata";
      }
    }
    class m extends s {
      constructor(e = null) {
        super(),
          m.prototype.total_matching_records || r.a(m.M()),
          s.initialize(this, e, 0, -1, [4], null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                total_matching_records: {
                  n: 1,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                start: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                count: { n: 3, br: r.d.readInt32, bw: r.h.writeInt32 },
                per_result_metadata: { n: 4, c: u, r: !0, q: !0 },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQueryResultMetadata";
      }
    }
    class p extends s {
      constructor(e = null) {
        super(),
          p.prototype.query_name || r.a(p.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                query_name: { n: 1, br: r.d.readString, bw: r.h.writeString },
                query: { n: 2, c: d },
                context: { n: 3, c: i.c },
                data_request: { n: 4, c: i.d },
                override_country_code: {
                  n: 5,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQuery_Query_Request";
      }
    }
    class h extends s {
      constructor(e = null) {
        super(),
          h.prototype.metadata || r.a(h.M()),
          s.initialize(this, e, 0, -1, [2, 3], null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                metadata: { n: 1, c: m },
                ids: { n: 2, c: i.g, r: !0, q: !0 },
                store_items: { n: 3, c: i.f, r: !0, q: !0 },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQuery_Query_Response";
      }
    }
    class _ extends s {
      constructor(e = null) {
        super(),
          _.prototype.metadata || r.a(_.M()),
          s.initialize(this, e, 0, -1, [2, 3], null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                metadata: { n: 1, c: m },
                ids: { n: 2, c: i.g, r: !0, q: !0 },
                store_items: { n: 3, c: i.f, r: !0, q: !0 },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreQuery_SearchSuggestions_Response";
      }
    }
    var g;
    !(function (e) {
      (e.Query = function (e, t) {
        return e.SendMsg("StoreQuery.Query#1", t, h, {
          bConstMethod: !0,
          ePrivilege: 2,
          eWebAPIKeyRequirement: 1,
        });
      }),
        (e.SearchSuggestions = function (e, t) {
          return e.SendMsg("StoreQuery.SearchSuggestions#1", t, _, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        });
    })(g || (g = {}));
  },
  "2n6b": function (e, t, n) {
    e.exports = {
      TextToolTip: "tooltip_TextToolTip_1y-4v",
      ToolTipCustom: "tooltip_ToolTipCustom_3g-WB",
      ToolTipTitle: "tooltip_ToolTipTitle_DE02N",
      Center: "tooltip_Center_3PLe5",
      ToolTipInsetContent: "tooltip_ToolTipInsetContent_1SHdU",
    };
  },
  "2v/W": function (e, t, n) {
    e.exports = {
      LegalFooter: "legalfooter_LegalFooter_1toSX",
      FooterLegal: "legalfooter_FooterLegal_NhD-A",
      mainmenu_socials_china: "legalfooter_mainmenu_socials_china_1OAV-",
      mainmenu_social_box: "legalfooter_mainmenu_social_box_1uZkp",
      mainmenu_line: "legalfooter_mainmenu_line_1ujPZ",
      mainmenu_links_china: "legalfooter_mainmenu_links_china_5_s3N",
      mainmenu_legal_china: "legalfooter_mainmenu_legal_china_1B4ek",
      mainmenu_legal_pwlegal: "legalfooter_mainmenu_legal_pwlegal_GySrg",
      mainmenu_logos_china: "legalfooter_mainmenu_logos_china_2ttaN",
      mainmenu_china_wechat_logo:
        "legalfooter_mainmenu_china_wechat_logo_v6LHV",
      mainmenu_china_weibo_logo: "legalfooter_mainmenu_china_weibo_logo_2GAfj",
      mainmenu_china_pw_logo: "legalfooter_mainmenu_china_pw_logo_1X2xL",
      mainmenu_china_valve_logo: "legalfooter_mainmenu_china_valve_logo_26sg3",
      mainmenu_footer_spacer: "legalfooter_mainmenu_footer_spacer_1MxXF",
      china_spacer: "legalfooter_china_spacer_3QSE3",
    };
  },
  "2vra": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      EventDetailsPageContainer:
        "partnereventdisplay_EventDetailsPageContainer_20XlT",
      EventBackgroundBlurCtn:
        "partnereventdisplay_EventBackgroundBlurCtn_3rKYS",
      EventBackgroundBlur: "partnereventdisplay_EventBackgroundBlur_kaZJc",
      DetailArtworkAgeAppropriate:
        "partnereventdisplay_DetailArtworkAgeAppropriate_75VUh",
      DetailArtworkAgeNotAppropriate:
        "partnereventdisplay_DetailArtworkAgeNotAppropriate_kuBdF",
      EventCoverImageBlr: "partnereventdisplay_EventCoverImageBlr_kWUFe",
      EventBodyCtn: "partnereventdisplay_EventBodyCtn_3KJa6",
      EventBodyPosition: "partnereventdisplay_EventBodyPosition_1_EgC",
      EventBody: "partnereventdisplay_EventBody_2YAxc",
      EventBroadcastCtn: "partnereventdisplay_EventBroadcastCtn_3NWzu",
      EventColumns: "partnereventdisplay_EventColumns_1-31n",
      EventCoverImageCtn: "partnereventdisplay_EventCoverImageCtn_8rzw2",
      NoTitleArtwork: "partnereventdisplay_NoTitleArtwork_PKC9M",
      ScreenshotInsteadOfCover:
        "partnereventdisplay_ScreenshotInsteadOfCover_xwuCI",
      EventCoverImage: "partnereventdisplay_EventCoverImage_3Es9h",
      EventCoverImageBackground:
        "partnereventdisplay_EventCoverImageBackground_38E5Z",
      InLibraryView: "partnereventdisplay_InLibraryView_1wfkI",
      InEditor: "partnereventdisplay_InEditor_3D4ki",
      EventCoverImageFuzz: "partnereventdisplay_EventCoverImageFuzz_Gz7fq",
      LibraryEventTitleContainer:
        "partnereventdisplay_LibraryEventTitleContainer_27mr2",
      CoverImageGradient: "partnereventdisplay_CoverImageGradient_2hH-3",
      EventDetailTitleImg: "partnereventdisplay_EventDetailTitleImg_2vDKl",
      EventDetailTitleDesc: "partnereventdisplay_EventDetailTitleDesc_2aF2w",
      EventDetailsSticky: "partnereventdisplay_EventDetailsSticky_3_XOK",
      EventDetailUserType: "partnereventdisplay_EventDetailUserType_FoJSO",
      EventDetailGameCallToAction:
        "partnereventdisplay_EventDetailGameCallToAction_3HGRR",
      EventDetailTimeInfo: "partnereventdisplay_EventDetailTimeInfo_1LYF7",
      EventDetailsDescription:
        "partnereventdisplay_EventDetailsDescription_EAm-y",
      EventDetailsBody: "partnereventdisplay_EventDetailsBody_1jV9Y",
      EventDetailsGame: "partnereventdisplay_EventDetailsGame_33w2x",
      EventDetailsAvatar: "partnereventdisplay_EventDetailsAvatar_1Haii",
      GameActions: "partnereventdisplay_GameActions_WJUJV",
      ActionButton: "partnereventdisplay_ActionButton_3Kr6m",
      Ownership: "partnereventdisplay_Ownership_edTvd",
      EventDetailsType: "partnereventdisplay_EventDetailsType_2GTWl",
      EventDetailTitle: "partnereventdisplay_EventDetailTitle_3tRR7",
      EventDetailTitleContainer:
        "partnereventdisplay_EventDetailTitleContainer_1vQvy",
      EventDetailsSubTitle: "partnereventdisplay_EventDetailsSubTitle_3kWwD",
      LibraryEventBodyContainer:
        "partnereventdisplay_LibraryEventBodyContainer_1N9sf",
      "lang_zh-cn": "partnereventdisplay_lang_zh-cn_3TJns",
      lang_ko: "partnereventdisplay_lang_ko_1xwhG",
      lang_ja: "partnereventdisplay_lang_ja_3pLM1",
      "lang_zh-tw": "partnereventdisplay_lang_zh-tw_2maQz",
      AppSocialLinksCtn: "partnereventdisplay_AppSocialLinksCtn_2_ZOD",
      AppSocialLinks: "partnereventdisplay_AppSocialLinks_30FCg",
      AppSocialLink: "partnereventdisplay_AppSocialLink_3BofS",
      StartDate: "partnereventdisplay_StartDate_3wOrc",
      EndDate: "partnereventdisplay_EndDate_DjdgB",
      MultiDateAndTime: "partnereventdisplay_MultiDateAndTime_24Mpj",
      RightSideTitles: "partnereventdisplay_RightSideTitles_2-qfS",
      DisplayAdminPanel_Title:
        "partnereventdisplay_DisplayAdminPanel_Title_3uePT",
      DateAndTime: "partnereventdisplay_DateAndTime_pm2OB",
      NoDateAndTime: "partnereventdisplay_NoDateAndTime_3s6_x",
      AppSummaryCtn: "partnereventdisplay_AppSummaryCtn_UC5kX",
      AppSummaryWidgetTitleCtn:
        "partnereventdisplay_AppSummaryWidgetTitleCtn_1FDzc",
      Title: "partnereventdisplay_Title_il5ra",
      AppSummaryWidgetCtn: "partnereventdisplay_AppSummaryWidgetCtn_1h15t",
      DisplayAdminPanel: "partnereventdisplay_DisplayAdminPanel_39cO1",
      DisplayAdminPanel_ctn: "partnereventdisplay_DisplayAdminPanel_ctn_3L896",
      DisplayAdminPanel_Spacer:
        "partnereventdisplay_DisplayAdminPanel_Spacer_28zYq",
      AdminButton: "partnereventdisplay_AdminButton_3nblI",
      EditorStatsCtn: "partnereventdisplay_EditorStatsCtn_3wqEU",
      VisibilityNote: "partnereventdisplay_VisibilityNote_3eaVQ",
      EditorStatsRow: "partnereventdisplay_EditorStatsRow_2wg4K",
      SteamBlog: "partnereventdisplay_SteamBlog_2mXYq",
      LunarNewYearHeader: "partnereventdisplay_LunarNewYearHeader_1S4WN",
      EnvelopeArea: "partnereventdisplay_EnvelopeArea_3E7nZ",
      TokenBalanceContainer: "partnereventdisplay_TokenBalanceContainer_3UVg4",
      TokenBalance: "partnereventdisplay_TokenBalance_1qc1y",
      EnvelopeContainer: "partnereventdisplay_EnvelopeContainer_zIYox",
      BackingRect: "partnereventdisplay_BackingRect_1syik",
      Envelope: "partnereventdisplay_Envelope_fFo-i",
      GiftLabel: "partnereventdisplay_GiftLabel_2l2If",
      OpenState: "partnereventdisplay_OpenState_3LNOL",
      Opened: "partnereventdisplay_Opened_3GSov",
      Locked: "partnereventdisplay_Locked_1cmvE",
      Unlocked: "partnereventdisplay_Unlocked_1XT8N",
      NeedLogin: "partnereventdisplay_NeedLogin_1vg4j",
      BottomMessage: "partnereventdisplay_BottomMessage_2KIaC",
      VO: "partnereventdisplay_VO_cBm0u",
      LunarNewYearOpenEnvelopeVideoDialog:
        "partnereventdisplay_LunarNewYearOpenEnvelopeVideoDialog_3X5no",
      Container: "partnereventdisplay_Container_R9eMg",
      Column: "partnereventdisplay_Column_2Mwrw",
      VideoBox: "partnereventdisplay_VideoBox_3QIgL",
      CoinText: "partnereventdisplay_CoinText_3eqJy",
      Visible: "partnereventdisplay_Visible_2ErIU",
      LunarNewYearOpenEnvelopeVideo:
        "partnereventdisplay_LunarNewYearOpenEnvelopeVideo_H8Ui_",
      StoryHeader: "partnereventdisplay_StoryHeader_1KYgx",
      StorySubHeader: "partnereventdisplay_StorySubHeader_2DJfA",
      StoryText: "partnereventdisplay_StoryText_iL7dN",
      StoryPicture: "partnereventdisplay_StoryPicture_2Mf4v",
      CheckBackText: "partnereventdisplay_CheckBackText_1m-56",
      DancingRat: "partnereventdisplay_DancingRat_1h7Iy",
      Links: "partnereventdisplay_Links_1juHt",
      MarketLink: "partnereventdisplay_MarketLink_VG3wD",
      MarketLinkhover: "partnereventdisplay_MarketLinkhover_29KRC",
      ReadMoreCnt: "partnereventdisplay_ReadMoreCnt_3EF5z",
    };
  },
  "38/H": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return r;
      });
    n("A/LU"), n("RYKw");
    function a(e) {
      switch (e) {
        case 0:
          return "game";
        case 6:
          return "software";
        case 1:
          return "demo";
        case 4:
          return "dlc";
        case 7:
        case 3:
          return "video";
        case 11:
          return "music";
        case 12:
          return "beta";
        case 2:
          return "mod";
      }
      return "invalid";
    }
    function r(e) {
      return (
        "game" === e ||
        "dlc" === e ||
        "software" === e ||
        "music" === e ||
        "application" === e ||
        "demo" === e ||
        "hardware" === e ||
        "mod" === e ||
        "video" == e ||
        "beta" === e ||
        "advertising" === e
      );
    }
  },
  "3Y40": function (e, t, n) {
    "use strict";
  },
  "3o+G": function (e, t, n) {
    "use strict";
    function a(e, t) {
      return e < t ? -1 : e > t ? 1 : 0;
    }
    function r(e, t) {
      return a(e.toLocaleLowerCase(), t.toLocaleLowerCase());
    }
    function i(e) {
      if (!e) return "";
      if (DOMParser) {
        return new DOMParser().parseFromString(e, "text/html").documentElement
          .textContent;
      }
      return e;
    }
    function s(e, t = "") {
      return e.replace(/\bhttps?:\/\/\S+/gi, t);
    }
    function o(e, t, n = !0) {
      let a = e.trim();
      if (((a = a.replace(n ? /\s+/g : /[ \t]+/g, " ")), a.length > t)) {
        a = a.substring(0, t);
        let e = a.replace(/^(.*([.!?])) .*$/, "$1"),
          r = e.length;
        (r < 0.6 * t || r == t) && (e = a.replace(/ [^ ]*$/, "...")),
          (a = n ? e.replace(/(\r\n|\n|\r)/gm, "") : e);
      }
      return a;
    }
    function l(e) {
      let t,
        n,
        a = 0;
      if (0 === e.length) return a;
      for (t = 0; t < e.length; t++)
        (n = e.charCodeAt(t)), (a = (a << 5) - a + n), (a |= 0);
      return a;
    }
    n.d(t, "e", function () {
      return a;
    }),
      n.d(t, "f", function () {
        return r;
      }),
      n.d(t, "b", function () {
        return i;
      }),
      n.d(t, "c", function () {
        return s;
      }),
      n.d(t, "d", function () {
        return o;
      }),
      n.d(t, "a", function () {
        return l;
      });
  },
  "3sPj": function (e, t, n) {
    "use strict";
    n("4gLa");
  },
  "3wCP": function (e, t, n) {
    "use strict";
    function a(e) {
      return Object.keys(e).reduce(
        (t, n) => (e[n] ? (t ? `${t} ${n}` : n) : t),
        "",
      );
    }
    t.a = function (...e) {
      return e.reduce(
        (e, t) =>
          t
            ? "string" == typeof t
              ? e
                ? `${e} ${t}`
                : t
              : "object" == typeof t
                ? e
                  ? `${e} ${a(t)}`
                  : a(t)
                : e
            : e,
        "",
      );
    };
  },
  "45Yz": function (e, t, n) {
    e.exports = {
      Container: "discussionwidget_Container_Neabc",
      VoteContainer: "discussionwidget_VoteContainer_15PEq",
      DiscussContainer: "discussionwidget_DiscussContainer_1djzW",
      ShareContainer: "discussionwidget_ShareContainer_22ZAl",
      InnerContainer: "discussionwidget_InnerContainer_3ZhYO",
      DiscussionButton: "discussionwidget_DiscussionButton_2UIXV",
      DiscussIcon: "discussionwidget_DiscussIcon_3HGeJ",
      linkField: "discussionwidget_linkField_3pTnJ",
      LinkInputLabel: "discussionwidget_LinkInputLabel_29Sot",
      ShareButtonContainer: "discussionwidget_ShareButtonContainer_1aDGX",
      LinkButton: "discussionwidget_LinkButton_3GIDL",
      ShareSteamBtn: "discussionwidget_ShareSteamBtn_3tNdk",
      ClipboardText: "discussionwidget_ClipboardText_33dsh",
      LinkInput: "discussionwidget_LinkInput_2zQuR",
      ShareIcon: "discussionwidget_ShareIcon_1AGg9",
      ClipboardIcon: "discussionwidget_ClipboardIcon_3WgdL",
      SteamIcon: "discussionwidget_SteamIcon_zNuIw",
      share_controls_ctn: "discussionwidget_share_controls_ctn_28Xi2",
      ShareBtn: "discussionwidget_ShareBtn_1HSfx",
      VoteCount: "discussionwidget_VoteCount_5cxfG",
      DiscussionCount: "discussionwidget_DiscussionCount_2t0Zf",
      DiscussionButtonText: "discussionwidget_DiscussionButtonText_3XOWK",
      VoteDownIcon: "discussionwidget_VoteDownIcon_2FIBl",
      VoteDownSelectedIcon: "discussionwidget_VoteDownSelectedIcon_2HOjs",
      VoteUpIcon: "discussionwidget_VoteUpIcon_XwlJT",
      VoteUpSelectedIcon: "discussionwidget_VoteUpSelectedIcon_1XFU-",
      VoteUpStaticIcon: "discussionwidget_VoteUpStaticIcon_3sIY5",
      VoteButtonSelected: "discussionwidget_VoteButtonSelected_2cjnR",
    };
  },
  "4APE": function (e, t, n) {
    e.exports = {
      DiscrepancyDialogRow: "debugmatchesdialog_DiscrepancyDialogRow_TDPfu",
      DiscrepancyDialogHeaderRow:
        "debugmatchesdialog_DiscrepancyDialogHeaderRow_1862u",
      DiscrepancyDialogCell: "debugmatchesdialog_DiscrepancyDialogCell_2qHMu",
      DiscrepancyDialogTooltip:
        "debugmatchesdialog_DiscrepancyDialogTooltip_1-9nG",
    };
  },
  "4CMN": function (e, t, n) {
    "use strict";
    n.d(t, "f", function () {
      return U;
    }),
      n.d(t, "e", function () {
        return W;
      }),
      n.d(t, "a", function () {
        return K;
      }),
      n.d(t, "b", function () {
        return Z;
      }),
      n.d(t, "c", function () {
        return J;
      }),
      n.d(t, "d", function () {
        return X;
      });
    var a = n("TyAF"),
      r = n("q1tI"),
      i = n.n(r),
      s = (n("AQa9"), n("Q8oI"), n("ERCR")),
      o = n("uaeK"),
      l = n("7DIv"),
      c = (n("5VAZ"), n("My6o")),
      d = n("1j+z"),
      u = (n("RYKw"), n("REtK")),
      m = (n("PEc5"), n("A5uu")),
      p = n("xSFm"),
      h = n("OJUs"),
      _ = n("8a+n"),
      g = n.n(_),
      b = n("GwlT"),
      f = n("iHGD"),
      v = n("SpZB"),
      S = n("GGDl"),
      y = n("RZJs"),
      E = n("0Lok"),
      C = n("GGO3"),
      w = n("X/Dm"),
      B = n("Dr0G"),
      O = n("ztQu"),
      D = n("3wCP"),
      I = n("CqJL"),
      T = n("aaBf"),
      R = n("dqrJ"),
      j = n("ewwH"),
      A = n("6esO"),
      k = n("aalJ"),
      M = n("yd9a"),
      P = n.n(M),
      L = n("DtIw");
    const G = (e) => {
      var t, n, a, s;
      const {
          id: l,
          strReason: c,
          bHidePrice: u,
          bHidePlatforms: m,
          bUseSubscriptionLayout: p,
        } = e,
        {
          bIsHovered: h,
          purchaseInfo: _,
          displayInfo: g,
          displayStoreItem: v,
          baseGameStoreItem: S,
          baseGameInfo: C,
        } = Object(f.a)(e, { include_trailers: !0, include_screenshots: !0 }),
        B = Object(j.g)(),
        O = Object(r.useRef)(),
        P = Object(r.useCallback)(() => {
          var e;
          null === (e = null == O ? void 0 : O.current) ||
            void 0 === e ||
            e.pause();
        }, []);
      Object(r.useEffect)(
        () => (
          window.addEventListener("scroll", P),
          () => {
            window.removeEventListener("scroll", P);
          }
        ),
        [P],
      );
      const G = Object(R.c)();
      if (!v) return null;
      let N =
        (null === (t = v.GetAssets().GetLibraryHeroURL()) || void 0 === t
          ? void 0
          : t.trim().length) > 0
          ? v.GetAssets().GetLibraryHeroURL()
          : v.GetAssets().GetPageBackgroundURL();
      const F = v.GetOnlyAllAgesSafeScreenshots();
      null == F || F.length;
      let x = v.GetMicroTrailer();
      S &&
        ((N && 11 !== v.GetAppType()) ||
          (N =
            (null === (n = S.GetAssets().GetLibraryHeroURL()) || void 0 === n
              ? void 0
              : n.trim().length) > 0
              ? S.GetAssets().GetLibraryHeroURL()
              : S.GetAssets().GetPageBackgroundURL()),
        x || (x = null == S ? void 0 : S.GetMicroTrailer()));
      const z = Object(d.b)(v.GetStorePageURL(), G),
        U = Object(d.c)(G),
        W = 0 == v.GetStoreItemType();
      return i.a.createElement(
        E.a,
        { appid: W && v.GetAppID() },
        i.a.createElement(
          o.a,
          {
            focusable: !0,
            className: A.SuperCapsuleCtn,
            autoFocus: e.bAutoFocus,
            onMouseEnter: () => {
              var e;
              null === (e = null == O ? void 0 : O.current) ||
                void 0 === e ||
                e.play();
            },
          },
          !B &&
            i.a.createElement(
              "div",
              { className: Object(D.a)(A.BGGradientTwo) },
              " ",
            ),
          i.a.createElement(
            "div",
            { className: Object(D.a)(A.BGGradient) },
            i.a.createElement(
              "div",
              {
                className: Object(D.a)(A.BGImage),
                style: { backgroundImage: `url("${N}")` },
              },
              " ",
            ),
            x &&
              !B &&
              i.a.createElement(
                "video",
                {
                  ref: O,
                  className: Object(D.a)(A.BGVideo),
                  playsInline: !0,
                  autoPlay: !0,
                  muted: !0,
                  loop: !0,
                },
                i.a.createElement("source", {
                  src: x.strWebMURL,
                  type: "video/webm",
                }),
                Boolean(!T.c.IN_LIBRARY && !T.c.IN_GAMEPADUI) &&
                  i.a.createElement("source", {
                    src: x.strMP4URL,
                    type: "video/mp4",
                  }),
              ),
          ),
          i.a.createElement(
            "div",
            { className: Object(D.a)(A.FeatureCtn) },
            i.a.createElement(
              "a",
              { href: z, className: Object(D.a)(A.Artwork) },
              i.a.createElement(k.c, {
                snr: U,
                appID: g.id,
                classOverride: Object(D.a)("WishlistButton"),
              }),
              i.a.createElement(b.c, { appids: v.GetIncludedAppIDsOrSelf() }),
              (!Boolean(null == v ? void 0 : v.GetParentAppID()) ||
                Boolean(S)) &&
                i.a.createElement(J, { info: Boolean(S) ? C : g }),
              i.a.createElement(w.a, {
                eDeckCompatibilityCategory:
                  (null === (a = null == S ? void 0 : S.GetPlatforms()) ||
                  void 0 === a
                    ? void 0
                    : a.steam_deck_compat_category) ||
                  (null === (s = v.GetPlatforms()) || void 0 === s
                    ? void 0
                    : s.steam_deck_compat_category),
                className: A.DeckCompatIconOverride,
              }),
              Boolean(p && W)
                ? i.a.createElement(L.a, { appid: v.GetAppID(), bIsMuted: h })
                : i.a.createElement(K, {
                    info: _,
                    bHidePlatforms: m,
                    bHidePrice: u,
                  }),
            ),
            i.a.createElement(
              "div",
              { className: Object(D.a)(A.Info) },
              i.a.createElement(
                "a",
                { className: A.Title, href: z },
                v.GetName(),
              ),
              i.a.createElement("div", { className: A.Reason }, c),
              W &&
                i.a.createElement(
                  "div",
                  { className: A.StoreSaleItemRelease },
                  Object(I.o)(
                    "#Sale_ReleaseDate",
                    i.a.createElement(
                      "span",
                      null,
                      v.GetFormattedSteamReleaseDate(),
                    ),
                  ),
                ),
              W &&
                i.a.createElement(
                  "div",
                  {
                    className: Object(D.a)(
                      M.StoreSaleItemReview,
                      A.StoreSaleItemReview,
                    ),
                  },
                  i.a.createElement(k.b, { appInfo: g }),
                ),
              i.a.createElement(y.b, {
                rgTagIDs: v.BHasTags()
                  ? v.GetTagIDs()
                  : null == S
                    ? void 0
                    : S.GetTagIDs(),
                instanceNum: l,
              }),
            ),
          ),
        ),
      );
    };
    var N = n("5rag"),
      F = n("/ea4"),
      x = n("rSim"),
      z = n("YIYq");
    const U = (e) => {
        let { displayStyle: t } = e;
        if ("bundle" == e.type || "sub" == e.type)
          return i.a.createElement(W, Object.assign({}, e));
        if (T.c.IN_GAMEPADUI) return i.a.createElement(W, Object.assign({}, e));
        switch (
          (!Object(O.a)() ||
            ("library" != t && "animated" != t) ||
            (t = "bordered"),
          t)
        ) {
          case "library":
            return i.a.createElement(H, Object.assign({}, e));
          case "animated":
            return i.a.createElement(G, Object.assign({}, e));
          default:
            return i.a.createElement(W, Object.assign({}, e));
        }
      },
      W = Object(a.a)((e) => {
        var t;
        const {
            myInstance: n,
            bIsHovered: a,
            setIsHovered: r,
            displayStoreItem: c,
            baseGameStoreItem: u,
            displayInfo: m,
            purchaseInfo: p,
            hoverType: h,
            nHoverId: _,
            artworkInfo: C,
            artworkStoreItem: B,
          } = Object(f.a)(e),
          {
            bShowDemoButton: O,
            bHidePrice: j,
            bUseSubscriptionLayout: A,
            bHidePlatforms: M,
            bHideContainedApps: G,
            bShowReviewSummary: N,
            bShowDeckCompatibilityDialog: F,
            bAutoFocus: U,
            fnOnClickOverride: W,
          } = e,
          H = Object(R.c)(),
          q = i.a.useMemo(
            () => (null == c ? void 0 : c.GetIncludedAppIDsOrSelf()),
            [c],
          );
        if (!c) return null;
        const K = c.GetBestPurchaseOption().discount_pct,
          Q = c.GetIncludedAppIDs().length;
        let Y = c.GetShortDescription();
        (2 != c.GetStoreItemType() && 1 != c.GetStoreItemType()) ||
          (Y = K
            ? Object(I.f)("#Sale_BundleSave_WithDiscount", K, Q)
            : Object(I.f)("#Sale_BundleSave", Q));
        const J = Object(d.c)(H),
          X = c.GetStorePageURL(),
          $ = Boolean(!G && Q > 0),
          ee = c.BHasTags()
            ? c.GetTagIDs()
            : (null == u ? void 0 : u.BHasTags())
              ? u.GetTagIDs()
              : [],
          te = 0 == c.GetStoreItemType(),
          ne = Object(d.b)(X, H);
        return i.a.createElement(
          E.a,
          { appid: te ? c.GetAppID() : void 0 },
          i.a.createElement(
            o.a,
            {
              className: P.a.StoreSaleWidgetOuterContainer,
              onMouseEnter: () => r(!0),
              onMouseLeave: () => r(!1),
              "flow-children": "grid",
              navEntryPreferPosition: l.d.PREFERRED_CHILD,
              autoFocus: U,
            },
            i.a.createElement(
              s.e,
              Object.assign(
                {
                  className: Object(D.a)(
                    P.a.StoreSaleWidgetContainer,
                    P.a.SaleItemDefaultCapsuleDisplay,
                  ),
                },
                Object(S.a)(c, H, void 0, W),
                { preferredFocus: $ },
              ),
              i.a.createElement(
                "div",
                { className: Object(D.a)(P.a.StoreSaleWidgetHalfLeft) },
                i.a.createElement(
                  "a",
                  {
                    href: W ? void 0 : ne,
                    target: T.c.IN_CLIENT || W ? void 0 : "_blank",
                    onClick: W,
                  },
                  i.a.createElement(
                    "div",
                    { className: P.a.StoreSaleWidgetImage },
                    i.a.createElement(b.c, { appids: q }),
                    i.a.createElement(Z, { info: C, imageType: "header" }),
                    i.a.createElement(w.a, {
                      eDeckCompatibilityCategory:
                        null === (t = c.GetPlatforms()) || void 0 === t
                          ? void 0
                          : t.steam_deck_compat_category,
                    }),
                    Boolean(m && a) && i.a.createElement(z.a, { appInfo: m }),
                  ),
                ),
              ),
              i.a.createElement(
                "div",
                {
                  className: Object(D.a)(
                    P.a.StoreSaleWidgetRight,
                    $ ? P.a.Bundle : "",
                  ),
                },
                Boolean(te && !W) &&
                  i.a.createElement(k.c, {
                    appID: m.id,
                    classOverride: Object(D.a)(
                      g.a.WishlistButtonNotTop,
                      "WishlistButton",
                    ),
                    snr: J,
                  }),
                i.a.createElement(
                  "div",
                  { className: P.a.TitleCtn },
                  i.a.createElement(
                    "a",
                    {
                      href: W ? void 0 : ne,
                      target: T.c.IN_CLIENT ? void 0 : "_blank",
                      onClick: W,
                    },
                    i.a.createElement(
                      "div",
                      { className: P.a.StoreSaleWidgetTitle },
                      c.GetName(),
                    ),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: P.a.StoreSaleWidgetReleaseAndTags },
                  ee &&
                    i.a.createElement(
                      "div",
                      { className: P.a.StoreSaleWidgetTags },
                      ee.map((e) =>
                        i.a.createElement(y.a, {
                          key: "tag_" + e,
                          tagid: e,
                          className: P.a.AppTag,
                        }),
                      ),
                    ),
                  i.a.createElement(
                    "div",
                    { className: P.a.WidgetReleaseDateAndPlatformCtn },
                    te &&
                      i.a.createElement(
                        "div",
                        { className: P.a.StoreSaleWidgetRelease },
                        c.GetFormattedSteamReleaseDate(),
                      ),
                    !M && i.a.createElement(x.a, { item: m }),
                  ),
                  N && i.a.createElement(k.b, { appInfo: m }),
                ),
                $ && i.a.createElement(V, { info: p }),
                Boolean(te && Y) &&
                  i.a.createElement(
                    "div",
                    {
                      className: Object(D.a)(
                        P.a.StoreSaleWidgetShortDesc,
                        "StoreSaleWidgetShortDesc",
                      ),
                    },
                    Boolean(Y.startsWith("#") && -1 == Y.indexOf(" "))
                      ? i.a.createElement(
                          "span",
                          { className: P.a.LocalizationSpan },
                          Object(I.l)(
                            Y,
                            i.a.createElement("i", null),
                            i.a.createElement("i", null),
                            i.a.createElement("i", null),
                            i.a.createElement("i", null),
                          ),
                        )
                      : Y,
                  ),
                Boolean(!W)
                  ? i.a.createElement(
                      i.a.Fragment,
                      null,
                      Boolean(A && te)
                        ? i.a.createElement(L.a, { appid: m.id, bIsMuted: a })
                        : i.a.createElement(v.c, {
                            info: p,
                            bShowDemoButton: O,
                            bHidePrice: j,
                            bHideWishlistButton: !(
                              !T.c.IN_GAMEPADUI && c.BIsComingSoon()
                            ),
                            bShowDeckCompatibilityDialog: F,
                          }),
                    )
                  : i.a.createElement(
                      "div",
                      { className: P.a.StoreActionWidgetContainer },
                      i.a.createElement(
                        "div",
                        { className: P.a.StoreSalePriceActionWidgetContainer },
                        i.a.createElement(v.a, { info: p }),
                        i.a.createElement(
                          "a",
                          {
                            className: Object(D.a)(P.a.Action, "CartBtn"),
                            onClick: W,
                          },
                          Object(I.f)("#Summer2022_opt_in_button"),
                        ),
                      ),
                    ),
                i.a.createElement(
                  "div",
                  { className: P.a.StoreSaleWidgetBgTint },
                  i.a.createElement(Z, { info: m, imageType: "header" }),
                ),
              ),
            ),
          ),
          Boolean(e.strReason) &&
            e.strReason.length > 0 &&
            i.a.createElement(
              "div",
              { className: P.a.RecommendationReason },
              e.strReason,
            ),
        );
      }),
      H = Object(a.a)((e) => {
        var t, n, a, r, s;
        const {
            myInstance: o,
            setIsHovered: l,
            displayInfo: c,
            displayStoreItem: u,
            hoverType: m,
            nHoverId: p,
            purchaseInfo: h,
          } = Object(f.a)(e, { include_all_purchase_options: !0 }),
          {
            bHidePrice: _,
            bShowDemoButton: S,
            bShowPurchaseOptionsButton: C,
          } = e,
          [B, O] = i.a.useState(!1),
          j = () => O(!B),
          A = Object(R.c)(),
          M = i.a.useMemo(
            () => (null == u ? void 0 : u.GetIncludedAppIDsOrSelf()),
            [u],
          );
        if (!u) return null;
        const L = Object(d.c)(A),
          G = u.GetStorePageURL(),
          z = 0 == u.GetStoreItemType();
        return i.a.createElement(
          E.a,
          { appid: z && u.GetAppID() },
          i.a.createElement(
            "div",
            {
              className: Object(D.a)(
                P.a.StoreSaleWidgetContainer,
                P.a.LibraryAssetExpandedDisplay,
                "LibraryAssetExpandedDisplay",
              ),
            },
            i.a.createElement(
              "div",
              { className: P.a.StoreSaleWidgetLibraryAssetExtendedTop },
              i.a.createElement(
                "div",
                { className: Object(D.a)(P.a.StoreSaleWidgetLeft) },
                i.a.createElement(
                  F.a,
                  { type: m, id: p, fnHoverState: l },
                  i.a.createElement(
                    "div",
                    { className: P.a.StoreSaleWidgetImage },
                    i.a.createElement(b.c, { appids: M }),
                    i.a.createElement(Z, { info: c, imageType: "library" }),
                    i.a.createElement(w.a, {
                      eDeckCompatibilityCategory:
                        null === (t = u.GetPlatforms()) || void 0 === t
                          ? void 0
                          : t.steam_deck_compat_category,
                    }),
                  ),
                ),
              ),
              i.a.createElement(
                "div",
                { className: P.a.StoreSaleWidgetCrossCenterRight },
                i.a.createElement(k.c, {
                  appID: z && u.GetAppID(),
                  classOverride: Object(D.a)(
                    g.a.WishlistButtonNotTop,
                    "WishlistButton",
                  ),
                  snr: L,
                }),
                i.a.createElement(
                  "div",
                  { className: P.a.TitleCtn },
                  i.a.createElement(
                    "a",
                    {
                      href: Object(d.b)(G, A),
                      target: T.c.IN_CLIENT ? void 0 : "_blank",
                    },
                    i.a.createElement(
                      "div",
                      { className: P.a.StoreSaleWidgetTitle },
                      u.GetName(),
                    ),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: P.a.StoreSaleWidgetContents },
                  i.a.createElement(
                    "div",
                    { className: P.a.StoreSaleWidgetCenter },
                    (null === (n = u.GetShortDescription()) || void 0 === n
                      ? void 0
                      : n.length) > 0 &&
                      i.a.createElement(
                        "div",
                        {
                          className: Object(D.a)(
                            P.a.StoreSaleWidgetShortDesc,
                            "StoreSaleWidgetShortDesc",
                          ),
                        },
                        u.GetShortDescription(),
                      ),
                    i.a.createElement(y.b, {
                      rgTagIDs: u.GetTagIDs(),
                      instanceNum: o,
                    }),
                    i.a.createElement(
                      "div",
                      { className: P.a.StoreMetaDataCtn },
                      i.a.createElement(
                        "div",
                        { className: P.a.StoreSaleItemRelease },
                        Object(I.o)(
                          "#Sale_ReleaseDate",
                          i.a.createElement(
                            "span",
                            null,
                            u.GetFormattedSteamReleaseDate(),
                          ),
                        ),
                      ),
                      Boolean(
                        null === (a = u.GetDeveloperNames()) || void 0 === a
                          ? void 0
                          : a.length,
                      ) &&
                        i.a.createElement(
                          "div",
                          { className: P.a.StoreSaleItemDev },
                          Object(I.f)("#CreatorHome_DevelopedBy"),
                          i.a.createElement(
                            "span",
                            null,
                            u.GetDeveloperNames()[0],
                          ),
                        ),
                      Boolean(
                        null === (r = u.GetPublisherNames()) || void 0 === r
                          ? void 0
                          : r.length,
                      ) &&
                        i.a.createElement(
                          "div",
                          { className: P.a.StoreSaleItemDev },
                          Object(I.f)("#CreatorHome_PublishedBy"),
                          i.a.createElement(
                            "span",
                            null,
                            u.GetPublisherNames()[0],
                          ),
                        ),
                    ),
                  ),
                  i.a.createElement(
                    "div",
                    { className: P.a.StoreSaleWidgetRight },
                    i.a.createElement(N.a, {
                      info: c,
                      bPopOutTrailerPlayback: !0,
                    }),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: P.a.StoreSaleItemReview },
                  i.a.createElement(k.b, { appInfo: c }),
                ),
                i.a.createElement(
                  "div",
                  { className: P.a.CapsuleBottomBar },
                  i.a.createElement(x.a, { item: c }),
                  i.a.createElement(v.c, {
                    info: h,
                    bShowDemoButton: S,
                    bHidePrice: _,
                    bShowPurchaseOptionsButton: C,
                    fnOnPurchaseOptionsClick: j,
                    bHideWishlistButton: !0,
                  }),
                ),
                i.a.createElement(
                  "div",
                  { className: P.a.StoreSaleWidgetBgTint },
                  i.a.createElement(J, { info: c }),
                  i.a.createElement(w.a, {
                    eDeckCompatibilityCategory:
                      null === (s = u.GetPlatforms()) || void 0 === s
                        ? void 0
                        : s.steam_deck_compat_category,
                  }),
                ),
              ),
            ),
            i.a.createElement(v.b, {
              storeItem: u,
              bPurchaseOptionsExpanded: B,
              fnCollapseOptions: j,
            }),
          ),
        );
      });
    function V(e) {
      const { info: t } = e,
        [n] = Object(h.a)(t.id, Object(p.j)(t.type), {}),
        [a, r] = i.a.useState(null);
      return (
        i.a.useEffect(() => {
          n &&
            (1 == n.GetStoreItemType() || 2 == n.GetStoreItemType()
              ? r(n.GetIncludedAppIDs().map((e) => ({ id: e, type: "game" })))
              : console.error(
                  "ContentsPreviewList unexpected store item type: ",
                  n.GetStoreItemType(),
                ));
        }, [n]),
        a
          ? i.a.createElement(
              "div",
              { className: P.a.BundleContentPreview },
              i.a.createElement(
                "div",
                { className: P.a.ContentsCount },
                Object(I.n)("#Sale_ContentPreview", a.length),
              ),
              i.a.createElement(
                "div",
                { className: P.a.PreviewCtn },
                a
                  .slice(0, 6)
                  .map((e) =>
                    i.a.createElement(q, {
                      key: `preview${e.id}_${e.type}`,
                      info: e,
                    }),
                  ),
              ),
            )
          : null
      );
    }
    function q(e) {
      const { info: t } = e,
        [n] = Object(h.d)(t.id, Object(p.j)(t.type), { include_assets: !0 }),
        a = null == n ? void 0 : n.GetAssets().GetSmallCapsuleURL();
      return i.a.createElement(
        F.a,
        {
          type: Object(E.b)(t.type),
          id: t.id,
          hoverClassName: P.a.PreviewItem,
        },
        i.a.createElement("img", {
          src: a,
          className: P.a.PreviewImg,
          loading: "lazy",
          alt: null == n ? void 0 : n.GetName(),
        }),
      );
    }
    const K = (e) => {
        const {
          info: t,
          bShowAsMuted: n,
          bHidePrice: a,
          bShowInLibraryInsteadOfPrice: r,
          bHidePlatforms: s,
          strClassName: o,
          creatorAccountID: l,
        } = e;
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "div",
            {
              className: Object(D.a)(
                P.a.CapsuleBottomBar,
                "CapsuleBottomBar",
                n && P.a.Muted,
                o,
              ),
            },
            !s && i.a.createElement(x.a, { item: t }),
            !a &&
              i.a.createElement(
                "span",
                { className: P.a.BottomBarPriceInfo },
                i.a.createElement(v.a, { info: t, bShowInLibrary: r }),
              ),
          ),
          l && i.a.createElement(Q, Object.assign({ creatorAccountID: l }, e)),
        );
      },
      Q = (e) => {
        const { creatorAccountID: t, bShowAsMuted: n, strClassName: a } = e,
          [r, s] = Object(u.b)(t);
        return i.a.createElement(
          "div",
          { className: Object(D.a)(P.a.BottomCreatorRow, n && P.a.Muted, a) },
          i.a.createElement("img", {
            className: Object(D.a)(P.a.CreatorLogo),
            src: r ? Object(c.a)(null, "medium") : s.avatar_medium_url,
          }),
          i.a.createElement(
            "span",
            { className: P.a.CreatorName },
            !r && s && s.group_name,
          ),
        );
      };
    function Y(e, t, n) {
      var a;
      if (
        (t
          ? n.push(
              e.GetAssets().GetHeaderURL(),
              e.GetAssets().GetMainCapsuleURL(),
            )
          : n.push(
              e.GetAssets().GetMainCapsuleURL(),
              e.GetAssets().GetHeaderURL(),
            ),
        1 ==
          (null === (a = e.GetIncludedAppIDs()) || void 0 === a
            ? void 0
            : a.length))
      ) {
        const a = m.a.Get().GetApp(e.GetIncludedAppIDs()[0]);
        a
          ? t
            ? n.push(
                a.GetAssets().GetHeaderURL(),
                a.GetAssets().GetMainCapsuleURL(),
              )
            : n.push(
                a.GetAssets().GetMainCapsuleURL(),
                a.GetAssets().GetHeaderURL(),
              )
          : ("dev" != T.c.WEB_UNIVERSE && "beta" != T.c.WEB_UNIVERSE) ||
            console.log(
              "PushDefaultCapsuleImages single app in package/bundle missing:",
              e.GetIncludedAppIDs()[0],
            );
      }
    }
    function Z(e) {
      const { info: t, imageType: n } = e,
        [a] = Object(h.a)(t.id, Object(p.j)(t.type), { include_assets: !0 });
      if ("library" === n) return i.a.createElement(J, { info: t });
      let r = new Array();
      Y(a, "header" === n, r), (r = r.filter((e) => Boolean(e) && "" !== e));
      let s,
        o,
        l = "";
      if ("main" === n)
        (s = P.a.mainCapsuleImgWidth),
          (o = P.a.mainCapsuleImgHeight),
          (l = P.a.MainCapsuleImageContainer);
      else
        (s = P.a.headerCapsuleImgWidth),
          (o = P.a.headerCapsuleImgHeight),
          (l = P.a.HeaderCapsuleImageContainer);
      return i.a.createElement(
        "div",
        { className: l },
        i.a.createElement(B.b, {
          lazyLoad: !0,
          srcs: r,
          className: Object(D.a)(P.a.CapsuleImage),
          width: s,
          height: o,
          alt: a.GetName(),
        }),
      );
    }
    function J(e) {
      var t;
      const { info: n } = e,
        [a] = Object(h.a)(n.id, Object(p.j)(n.type), { include_assets: !0 }),
        r = new Array(),
        [s, o] = i.a.useState(null);
      if (
        (r.push(a.GetAssets().GetLibraryCapsuleURL() || ""),
        0 ==
          (null === (t = a.GetIncludedAppIDs()) || void 0 === t
            ? void 0
            : t.length))
      ) {
        const e = m.a.Get().GetApp(a.GetIncludedAppIDs()[0]);
        e && r.push(null == e ? void 0 : e.GetAssets().GetLibraryCapsuleURL());
      }
      const l = r.length - 1;
      return (
        Y(a, !0, r),
        i.a.createElement(
          "div",
          {
            className: s
              ? P.a.LibraryFallbackAssetImageContainer
              : P.a.LibraryAssetImageContainer,
          },
          s &&
            i.a.createElement("div", {
              className: P.a.FallbackBackground,
              style: { backgroundImage: `url(${s})` },
            }),
          i.a.createElement(B.b, {
            lazyLoad: !0,
            srcs: r,
            className: P.a.CapsuleImage,
            width: P.a.libraryAssetImgWidth,
            height: P.a.libraryAssetImgHeight,
            alt: a.GetName(),
            onImageError: (e) => {
              const t = r.indexOf(e);
              t >= l && t < r.length - 1 && o(r[t + 1]);
            },
          }),
        )
      );
    }
    const X = Object(a.a)((e) => {
      const t = I.a.GetWithFallback(e.link.localized_link_capsule, e.language);
      return i.a.createElement(
        C.b,
        {
          url: e.link.url,
          className: e.strClassName ? e.strClassName : void 0,
        },
        i.a.createElement(
          "div",
          { className: P.a.CapsuleContainer },
          Boolean(e.link.localized_link_capsule) &&
            i.a.createElement("img", {
              className: P.a.LinkCapsuleImage,
              src:
                T.c.MEDIA_CDN_COMMUNITY_URL +
                `images/clans/${e.clanAccountID}/${t}`,
            }),
          Boolean(e.link.materialized_link_capsule) &&
            i.a.createElement("img", {
              className: P.a.LinkCapsuleImage,
              src: e.link.materialized_link_capsule,
            }),
        ),
      );
    });
  },
  "4Dd6": function (e, t, n) {
    "use strict";
    var a = n("hRO2");
    n("gFJg");
    a.Message;
    var r;
    !(function (e) {
      e.ReportProductImpressionsFromClient = function (e, t) {
        return e.SendNotification(
          "ExperimentService.ReportProductImpressionsFromClient#1",
          t,
          { ePrivilege: 1 },
        );
      };
    })(r || (r = {}));
  },
  "4MUT": function (e, t, n) {
    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",
    };
  },
  "4OT9": function (e, t, n) {
    e.exports = {
      Group: "radio_Group_1x1SX",
      Button: "radio_Button_YWN38",
      Active: "radio_Active_giqX0",
    };
  },
  "4gLa": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    });
    class a {
      constructor() {
        (this.comments = 0),
          (this.inventory_items = 0),
          (this.invites = 0),
          (this.gifts = 0),
          (this.offline_messages = 0),
          (this.trade_offers = 0),
          (this.async_game_updates = 0),
          (this.moderator_messages = 0),
          (this.help_request_replies = 0);
      }
    }
    var r;
    !(function (e) {
      (e[(e.k_EClientUINotificationGroupChatMessage = 1)] =
        "k_EClientUINotificationGroupChatMessage"),
        (e[(e.k_EClientUINotificationFriendChatMessage = 2)] =
          "k_EClientUINotificationFriendChatMessage"),
        (e[(e.k_EClientUINotificationFriendPersonaState = 3)] =
          "k_EClientUINotificationFriendPersonaState");
    })(r || (r = {}));
  },
  "4o1L": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    });
    var a,
      r = n("mrSG"),
      i = (n("q1tI"), n("IDaJ"), n("XUgT")),
      s = (n("DV2j"), n("7DIv"), n("+h+B"), n("DRUm")),
      o = n("KT6v");
    function l(e) {
      switch (e) {
        case i.a.OK:
          return a.A;
        case i.a.CANCEL:
          return a.B;
        case i.a.SECONDARY:
          return a.X;
        case i.a.OPTIONS:
          return a.Y;
        case i.a.DIR_LEFT:
          return a.Left;
        case i.a.DIR_RIGHT:
          return a.Right;
        case i.a.DIR_UP:
          return a.Up;
        case i.a.DIR_DOWN:
          return a.Down;
        case i.a.STEAM_GUIDE:
          return a.HomeMenu;
        case i.a.STEAM_QUICK_MENU:
          return a.QuickMenu;
        case i.a.SELECT:
          return a.Select;
        case i.a.START:
          return a.Start;
        case i.a.BUMPER_LEFT:
          return a.LeftBumper;
        case i.a.BUMPER_RIGHT:
          return a.RightBumper;
        case i.a.TRIGGER_LEFT:
          return a.LeftTrigger;
        case i.a.TRIGGER_RIGHT:
          return a.RightTrigger;
        default:
          return null;
      }
    }
    !(function (e) {
      (e[(e.A = 0)] = "A"),
        (e[(e.B = 1)] = "B"),
        (e[(e.X = 2)] = "X"),
        (e[(e.Y = 3)] = "Y"),
        (e[(e.Left = 4)] = "Left"),
        (e[(e.Right = 5)] = "Right"),
        (e[(e.Up = 6)] = "Up"),
        (e[(e.Down = 7)] = "Down"),
        (e[(e.HomeMenu = 8)] = "HomeMenu"),
        (e[(e.QuickMenu = 9)] = "QuickMenu"),
        (e[(e.Select = 10)] = "Select"),
        (e[(e.Start = 11)] = "Start"),
        (e[(e.LeftBumper = 12)] = "LeftBumper"),
        (e[(e.RightBumper = 13)] = "RightBumper"),
        (e[(e.LeftTrigger = 14)] = "LeftTrigger"),
        (e[(e.RightTrigger = 15)] = "RightTrigger"),
        (e[(e.LeftStick = 16)] = "LeftStick"),
        (e[(e.LeftStickClick = 17)] = "LeftStickClick"),
        (e[(e.RightStick = 18)] = "RightStick"),
        (e[(e.RightStickClick = 19)] = "RightStickClick"),
        (e[(e.LeftTrackpad = 20)] = "LeftTrackpad"),
        (e[(e.LeftTrackpadClick = 21)] = "LeftTrackpadClick"),
        (e[(e.RightTrackpad = 22)] = "RightTrackpad"),
        (e[(e.RightTrackpadClick = 23)] = "RightTrackpadClick"),
        (e[(e.RearLeftUpper = 24)] = "RearLeftUpper"),
        (e[(e.RearLeftLower = 25)] = "RearLeftLower"),
        (e[(e.RearRightUpper = 26)] = "RearRightUpper"),
        (e[(e.RearRightLower = 27)] = "RearRightLower");
    })(a || (a = {}));
    class c {
      constructor() {
        (this.m_boundActions = new Map()),
          (this.m_defaultActions = new Map()),
          (this.m_actionSubscriptions = new Map()),
          (this.m_actionDescriptionChangedCallbackRegistrations = []);
      }
      SetFocusNavController(e) {
        e.FocusChangedCallbacks.Register(this.OnFocusNavigationChanged);
      }
      BFromActiveNavTree(e, t) {
        let n = null == t ? void 0 : t.Tree;
        return (
          n || (n = null == e ? void 0 : e.Tree),
          n && n.Controller.IsActiveFocusNavTree(n)
        );
      }
      OnFocusNavigationChanged(e, t, n) {
        if (this.BFromActiveNavTree(t, n))
          if (
            (this.m_actionDescriptionChangedCallbackRegistrations.forEach((e) =>
              e.Unregister(),
            ),
            (this.m_actionDescriptionChangedCallbackRegistrations = []),
            n)
          ) {
            const e = () => {
              var e;
              return d(
                null !== (e = n.GetActiveActionDescriptions()) && void 0 !== e
                  ? e
                  : {},
              );
            };
            e();
            for (let t = n; null != t; t = t.Parent)
              this.m_actionDescriptionChangedCallbackRegistrations.push(
                t.ActionDescriptionChangedCallbackList.Register(() => e()),
              );
          } else d({ [i.a.OK]: null });
      }
      GetActionDescription(e) {
        let t;
        return (
          this.m_boundActions.has(e)
            ? (t = this.m_boundActions.get(e))
            : this.m_defaultActions.has(e) &&
              (t = this.m_defaultActions.get(e)),
          c.Log("GetActionDescription", t),
          t
        );
      }
      NotifyUpdate(e) {
        if (this.m_actionSubscriptions.has(e)) {
          const t = this.GetActionDescription(e);
          this.m_actionSubscriptions.get(e).forEach((e) => e(t));
        }
      }
      NotifyAll() {
        Array.from(this.m_actionSubscriptions.keys()).forEach((e) => {
          this.NotifyUpdate(e);
        });
      }
      IsDefaultAction(e) {
        return this.GetActionDescription(e) === this.m_defaultActions.get(e);
      }
      SetDefaultAction(e, t) {
        void 0 === t
          ? this.m_defaultActions.delete(e)
          : this.m_defaultActions.set(e, t),
          this.m_boundActions.has(e) || this.NotifyUpdate(e);
      }
      ClearActions() {
        c.Log("ClearActionDescriptions"),
          this.m_boundActions.clear(),
          this.NotifyAll();
      }
      SetActionsFromMap(e) {
        const t = Array.from(this.m_boundActions.keys());
        for (let n of t) e[n] || this.SetAction(n, void 0);
        for (let t in e) {
          const n = parseInt(t);
          this.SetAction(n, e[n]);
        }
      }
      SetAction(e, t) {
        if ((c.Log("SetActionDescription", e, t), void 0 === t)) {
          if (!this.m_boundActions.has(e)) return;
          this.m_boundActions.delete(e);
        } else {
          if (this.m_boundActions.get(e) === t) return;
          this.m_boundActions.set(e, t);
        }
        this.NotifyUpdate(e);
      }
      SubscribeToActionFunction(e, t) {
        this.m_actionSubscriptions.has(e) ||
          this.m_actionSubscriptions.set(e, []),
          this.m_actionSubscriptions.get(e).push(t),
          this.m_boundActions.has(e)
            ? t(this.m_boundActions.get(e))
            : this.m_defaultActions.has(e) && t(this.m_defaultActions.get(e));
        return () => {
          const n = this.m_actionSubscriptions.get(e),
            a = n.indexOf(t);
          a >= 0
            ? n.splice(a, 1)
            : console.error(
                "Unsubscribing an action that was already unsubscribed",
              );
        };
      }
      static Instance() {
        return (
          c.g_ActionDescriptionStore || (c.g_ActionDescriptionStore = new c()),
          c.g_ActionDescriptionStore
        );
      }
    }
    function d(e) {
      const t = {};
      for (const n in e) {
        const a = parseInt(n);
        t[l(a)] = e[a];
      }
      c.Instance().SetActionsFromMap(t);
    }
    (c.Log = new s.a("ActionDescription").Debug),
      Object(r.b)([o.b], c.prototype, "OnFocusNavigationChanged", null);
  },
  "4pCg": function (e, t, n) {
    e.exports = {
      Header: "optin_admin_dynamic_sections_Header_1DEtC",
      AddSectionCtn: "optin_admin_dynamic_sections_AddSectionCtn_QTymR",
      optionList: "optin_admin_dynamic_sections_optionList_2QQ6j",
    };
  },
  "4uD3": function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return r;
    }),
      n.d(t, "e", function () {
        return i;
      }),
      n.d(t, "b", function () {
        return o;
      }),
      n.d(t, "g", function () {
        return l;
      }),
      n.d(t, "a", function () {
        return c;
      }),
      n.d(t, "f", function () {
        return d;
      }),
      n.d(t, "c", function () {
        return u;
      });
    var a = n("aaBf");
    n("Q8oI");
    function r(e) {
      let t = new RegExp(
          "^(steam://openurl(_external)?/)?((f|ht)tps?://)?([^@/?#]*@)?([^/#?]+)",
          "im",
        ),
        n = e.match(t);
      return n && n.length > 5 ? n[6].toString() : e;
    }
    function i(e) {
      let t = r(e);
      return t.startsWith("www.") && (t = t.slice(4)), t;
    }
    const s = /^(steam|ftp|https?):\/\//;
    function o(e) {
      return s.test(e) ? e : "https://" + e;
    }
    function l(e) {
      return e
        ? 1 != a.c.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.replace(
                /https:\/\/media.steampowered.com\//g,
                a.c.MEDIA_CDN_URL,
              )).replace(
                /https:\/\/cdn.akamai.steamstatic.com\//g,
                a.c.MEDIA_CDN_URL,
              )).replace(
                /https:\/\/cdn.cloudflare.steamstatic.com\//g,
                a.c.MEDIA_CDN_URL,
              )).replace(
              /https:\/\/cdn.edgecast.steamstatic.com\//g,
              a.c.MEDIA_CDN_URL,
            )).replace(
              /https:\/\/cdn.dota2.com\//g,
              a.c.MEDIA_CDN_URL,
            )).replace(
              /https:\/\/storefront.steampowered.com\/v\/gfx\//g,
              a.c.MEDIA_CDN_URL + "steam/",
            )).replace(
              /https:\/\/cdn.steamcommunity.com\//g,
              a.c.COMMUNITY_CDN_URL,
            )).replace(
              /https:\/\/community.akamai.steamstatic.com\//g,
              a.c.COMMUNITY_CDN_URL,
            )).replace(
              /https:\/\/community.cloudflare.steamstatic.com\//g,
              a.c.COMMUNITY_CDN_URL,
            )).replace(
              /https:\/\/community.edgecast.steamstatic.com\//g,
              a.c.COMMUNITY_CDN_URL,
            )).replace(/{IMG_URL}/g, a.c.IMG_URL)).replace(
              /{MEDIA_CDN_URL}/g,
              a.c.MEDIA_CDN_URL,
            )).replace(
              /{MEDIA_CDN_COMMUNITY_URL}/g,
              a.c.MEDIA_CDN_COMMUNITY_URL,
            )).replace(/{COMMUNITY_CDN_URL}/g, a.c.COMMUNITY_CDN_URL)).replace(
              /{STEAM_CLAN_IMAGE}/g,
              a.c.MEDIA_CDN_COMMUNITY_URL + "images/clans/",
            )))
        : e;
    }
    function c(e) {
      if (!e) return !0;
      const t = r(e).toLocaleLowerCase();
      return (
        [
          r(a.c.COMMUNITY_CDN_URL).toLocaleLowerCase(),
          r(a.c.MEDIA_CDN_URL).toLocaleLowerCase(),
          r(a.c.MEDIA_CDN_COMMUNITY_URL).toLocaleLowerCase(),
          r(a.c.STORE_CDN_URL).toLocaleLowerCase(),
          "support.steampowered.com",
          "steamcdn-a.akamaihd.net",
          "cdn.cloudflare.steamstatic.com",
          "cdn.akamai.steamstatic.com",
        ].indexOf(t) >= 0
      );
    }
    function d(e) {
      return a.c.SNR &&
        a.c.SNR.length > 0 &&
        e &&
        -1 == e.toLocaleLowerCase().indexOf("snr=")
        ? e + (e.indexOf("?") >= 0 ? "&" : "?") + "snr=" + a.c.SNR
        : e;
    }
    function u(e, t) {
      try {
        const n = new URL(t),
          a = new URL(e);
        return n.origin + a.pathname + a.search + a.hash;
      } catch (e) {
        return "";
      }
    }
  },
  "4xkm": function (e, t, n) {
    "use strict";
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.definitions || r.a(s.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: { definitions: { n: 1, c: o, r: !0, q: !0 } },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetVoteDefinitionsForEvents_Response";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.voteid || r.a(o.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                voteid: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                appid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetVoteDefinitionsForEvents_Response_Vote_Defintion";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.category_id || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                category_id: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                category_name: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                appid: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                write_in_name: {
                  n: 4,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                store_appid: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                developer_id: { n: 6, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CSteamAwardsNomination";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.nominations || r.a(c.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: { nominations: { n: 1, c: l, r: !0, q: !0 } },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CSteamAwards_GetUserNominations_Response";
      }
    }
    var d, u;
    !(function (e) {
      e.GetVoteDefinitionsForEvents = function (e, t) {
        return e.SendMsg("StoreSales.GetVoteDefinitionsForEvents#1", t, s, {
          bConstMethod: !0,
          ePrivilege: 7,
        });
      };
    })(d || (d = {})),
      (function (e) {
        e.GetUserNominations = function (e, t) {
          return e.SendMsg("SteamAwards.GetUserNominations#1", t, c, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        };
      })(u || (u = {}));
  },
  "4ybx": function (e, t, n) {
    e.exports = {
      CropImage: "cropmodal_CropImage_S3KPJ",
      CropPreviewGroup: "cropmodal_CropPreviewGroup_2Re_P",
      CropPreviewLabel: "cropmodal_CropPreviewLabel_xbQ7P",
    };
  },
  "5Quo": function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return a;
    }),
      n.d(t, "a", function () {
        return g;
      });
    var a,
      r = n("mrSG"),
      i = n("2vnA"),
      s = n("i8i4"),
      o = n("hHds"),
      l = n("by5a"),
      c = n("VQwQ"),
      d = n("Q8oI"),
      u = n("CqJL"),
      m = n("aaBf"),
      p = n("fvA7"),
      h = n("Mx8f");
    class _ {
      constructor(e, t, n) {
        if (((this.m_rgLoadingLinks = []), (this.m_rgLoadingLinks = []), n))
          for (let e = 0; e < n.length; e++) this.AddLink(n[e], !0);
        else {
          let t = e.getElementsByTagName("link");
          for (let e = 0; e < t.length; e++) {
            let n = t[e];
            this.AddLink(n, !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),
          h.b(this.m_rgLoadingLinks, e.currentTarget),
          0 == this.m_rgLoadingLinks.length &&
            (this.m_fnRender(), (this.m_fnRender = void 0));
      }
    }
    Object(r.b)([c.a], _.prototype, "OnLinkLoad", null),
      (function (e) {
        (e[(e.Minimized = 1)] = "Minimized"),
          (e[(e.Hidden = 2)] = "Hidden"),
          (e[(e.Tooltip = 4)] = "Tooltip"),
          (e[(e.ContextMenu = 8)] = "ContextMenu"),
          (e[(e.Resizable = 16)] = "Resizable");
      })(a || (a = {}));
    class g {
      constructor(e, t) {
        (this.m_bFocused = !1),
          Object(p.a)(
            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 += "_pid" + this.m_rgParams.target_browser.m_unPID),
          (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();
      }
      Show(e = !0, t = !1) {
        window.SteamClient && (this.m_rgParams.eCreationFlags |= a.Hidden),
          this.m_rgParams.eCreationFlags & a.Tooltip && (e = !1),
          this.BIsValid() &&
            (this.BIsClosed()
              ? ((this.m_popup = void 0), (this.m_element = void 0))
              : e && this.Focus(t));
        let n,
          r,
          i,
          s = f.GetExistingPopup(this.m_strName);
        (s && !this.m_rgParams.replace_existing_popup) ||
          ((this.m_rgParams = this.UpdateParamsBeforeShow(this.m_rgParams)),
          s
            ? ((r = s.m_element),
              (n = s.m_popup),
              s.ReleasePopup(),
              (i = s.m_renderWhenReady),
              f.RemoveTrackedPopup(s),
              n.removeEventListener("beforeunload", s.OnBeforeUnloadEvent),
              n.removeEventListener("unload", s.OnUnload),
              n.removeEventListener("resize", s.OnResizeEvent),
              n.removeEventListener("focus", this.OnFocusInternal),
              n.removeEventListener("blur", this.OnBlurInternal),
              n.removeEventListener("drop", s.OnDrop),
              n.removeEventListener("dragover", s.OnDragOver),
              n.removeEventListener("message", this.OnMessage))
            : (({ popup: n, element: r } = b.CreatePopup(
                this.m_strName,
                this.m_rgParams,
              )),
              (i = new _(n.document, r))),
          n &&
            r &&
            ((n.document.title = this.m_strTitle),
            n.addEventListener("beforeunload", this.OnBeforeUnloadEvent),
            n.addEventListener("unload", this.OnUnload),
            n.addEventListener("resize", this.OnResizeEvent),
            n.addEventListener("focus", this.OnFocusInternal),
            n.addEventListener("blur", this.OnBlurInternal),
            n.addEventListener("drop", this.OnDrop),
            n.addEventListener("dragover", this.OnDragOver),
            n.addEventListener("message", this.OnMessage),
            m.c.LANGUAGE &&
              n.document.documentElement.setAttribute("lang", Object(u.c)()),
            (this.m_popup = n),
            (this.m_element = r),
            (this.m_renderWhenReady = i),
            this.m_renderWhenReady.SetTarget(() =>
              this.RenderInternal(this.m_popup, this.m_element, e),
            )),
          f.AddTrackedPopup(this),
          s && e && this.Focus());
      }
      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, n) {
        var a;
        this.browser_info &&
          ((a = this.browser_info).m_eBrowserType ==
            d.EBrowserType.EBrowserType_OpenVROverlay ||
            a.m_eBrowserType ==
              d.EBrowserType.EBrowserType_OpenVROverlay_Dashboard) &&
          (t.ownerDocument.body.className += " VR"),
          this.Render(e, t),
          this.OnLoad(),
          e.SteamClient &&
            (n
              ? e.SteamClient.Window.BringToFront()
              : e.SteamClient.Window.ShowWindow());
      }
      OnResizeEvent() {
        this.OnResize();
      }
      OnBeforeUnloadEvent() {
        this.OnBeforeUnload();
      }
      OnUnload() {
        this.RemoveEventListeners(),
          f.RemoveTrackedPopup(this),
          this.OnClose(),
          s.unmountComponentAtNode(this.m_element);
      }
      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);
      }
      Focus(e = !1) {
        this.m_popup &&
        void 0 !== this.m_popup.SteamClient &&
        void 0 !== this.m_popup.SteamClient.Window
          ? e
            ? this.m_popup.SteamClient.Window.SetForegroundWindow()
            : this.m_popup.SteamClient.Window.BringToFront()
          : this.m_popup && this.m_popup.focus();
      }
      Close() {
        this.m_popup && this.m_popup.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_bFocused = !0), this.OnFocus();
      }
      OnBlurInternal() {
        (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);
      }
      ReleasePopup() {
        this.OnClose(), (this.m_popup = null);
      }
      OnBeforeUnload() {}
      OnFocus() {}
      OnBlur() {}
    }
    Object(r.b)([i.C], g.prototype, "m_bFocused", void 0),
      Object(r.b)([c.a], g.prototype, "OnMessage", null),
      Object(r.b)([c.a], g.prototype, "OnResizeEvent", null),
      Object(r.b)([c.a], g.prototype, "OnBeforeUnloadEvent", null),
      Object(r.b)([c.a], g.prototype, "OnUnload", null),
      Object(r.b)([c.a], g.prototype, "OnFocusInternal", null),
      Object(r.b)([c.a], g.prototype, "OnBlurInternal", null);
    Object(r.b)(
      [c.a],
      class extends g {
        constructor(e, t, n, a) {
          super(e, n), this.SetSavedDimensionsKey(t), (this.m_bExpires = a);
        }
        BIsInOverlay() {
          return (
            this.browser_info &&
            this.browser_info != { m_unPID: 0, m_nBrowserID: -1 }
          );
        }
        SetSavedDimensionsKey(e) {
          this.m_strSavedDimensionsKey = e;
        }
        UpdateParamsBeforeShow(e) {
          return (
            !this.m_strSavedDimensionsKey ||
            e.bIgnoreSavedDimensions ||
            e.strRestoreDetails
              ? e.strRestoreDetails &&
                ((this.m_strInitialSavedDimensionsKey =
                  this.GetSavedDimensionsKey()),
                f.SetRestoreDetails(
                  this.m_strInitialSavedDimensionsKey,
                  e.strRestoreDetails,
                  this.m_bExpires,
                ))
              : ((this.m_strInitialSavedDimensionsKey =
                  this.GetSavedDimensionsKey()),
                (e.strRestoreDetails = f.GetRestoreDetails(
                  this.m_strInitialSavedDimensionsKey,
                ))),
            e
          );
        }
        OnLoad() {
          this.GetWindowRestoreDetails().then((e) => {
            (this.m_strInitialRestoreDetails = e), this.OnResizeComplete(e);
          });
        }
        OnResize() {
          this.QueryAndStoreWindowPosition();
        }
        OnResizeComplete(e) {}
        QueryAndStoreWindowPosition() {
          if (this.m_strInitialRestoreDetails) {
            let e = this.GetSavedDimensionsKey();
            this.m_popup.setTimeout(() => {
              this.GetWindowRestoreDetails().then((t) => {
                let n =
                  this.m_strInitialRestoreDetails == t &&
                  e == this.m_strInitialSavedDimensionsKey;
                this.m_popup &&
                  this.m_strSavedDimensionsKey &&
                  t &&
                  !n &&
                  (f.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) {
          f.SetRestoreDetails(this.GetSavedDimensionsKey(), e, !1),
            (this.m_rgParams.strRestoreDetails = e);
        }
      }.prototype,
      "QueryAndStoreWindowPosition",
      null,
    );
    class b {
      constructor() {
        if (
          ((this.m_bShuttingDown = !1),
          (this.m_mapPopups = new Map()),
          (this.m_rgShutdownCallbacks = []),
          (this.m_rgPopupCreatedCallbacks = []),
          (this.m_unCurrentAccountID = 0),
          (this.m_mapRestoreDetails = new Map()),
          (this.m_bSaveRequired = !1),
          !Object({ NODE_ENV: "production", STEAM_BUILD: "buildbot" })
            .MOBILE_BUILD)
        ) {
          window.addEventListener("beforeunload", (e) => {
            this.m_bShuttingDown = !0;
            for (let e of this.m_rgShutdownCallbacks) e();
            let t = [];
            this.m_mapPopups.forEach((e) => {
              e.BIsValid() && !e.BIsClosed() && t.push(e);
            });
            for (let e of t) e.Close();
            this.m_bSaveRequired && this.SaveSavedDimensionStore(),
              this.m_mapPopups.clear();
          });
          let e = document.querySelector("head");
          Object(p.a)(e, "Couldn't find head element"),
            e &&
              ((this.m_DynamicCSSObserver = new MutationObserver(() => {
                const e = o.p();
                this.m_mapPopups.forEach((t) => {
                  o.a(t.window, e);
                });
              })),
              this.m_DynamicCSSObserver.observe(e, { childList: !0 }));
        }
      }
      SetCurrentLoggedInAccountID(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();
      }
      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 n = t.dimensions || {},
          a = n.width || 300,
          r = n.height || 300,
          i = t.title,
          s = "width=" + a + ",height=" + r;
        void 0 !== n.left && (s += ",left=" + n.left),
          void 0 !== n.top && (s += ",top=" + n.top),
          (s += ",resizeable,status=0,toolbar=0,menubar=0,location=0");
        let l = "about:blank",
          c = [];
        c.push("createflags=" + t.eCreationFlags),
          t.minWidth && c.push("minwidth=" + t.minWidth),
          t.minHeight && c.push("minheight=" + t.minHeight),
          t.target_browser &&
            (c.push("pid=" + t.target_browser.m_unPID),
            c.push("browser=" + t.target_browser.m_nBrowserID),
            c.push("browserType=" + t.target_browser.m_eBrowserType),
            t.availscreenwidth &&
              t.availscreenheight &&
              (c.push("screenavailwidth=" + t.availscreenwidth),
              c.push("screenavailheight=" + t.availscreenheight))),
          t.strVROverlayKey && c.push("vrOverlayKey=" + t.strVROverlayKey),
          t.strRestoreDetails &&
            c.push("restoredetails=" + t.strRestoreDetails),
          t.window_opener_id && c.push("openerid=" + t.window_opener_id),
          c && (l += "?" + c.join("&"));
        let d = (t.owner_window || window).open(l, e, s, !0);
        if (!d)
          return (
            console.log(
              "Failed to create popup.. browser popup blocker enabled?",
            ),
            {}
          );
        let u = "";
        t.html_class && (u = `class="${t.html_class}"`);
        let m = "";
        t.body_class && (m = `class="${t.body_class}"`);
        let p = `<!DOCTYPE html><html ${u}><head><title></title></head><body ${m}><div id="popup_target"></div></body></html>`;
        return (
          d.document.write(p),
          (d.document.title = i),
          o.a(d, o.p()),
          { popup: d, element: d.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, n) {
        if (e) {
          if (t) {
            if (this.m_mapRestoreDetails.size > 50) {
              let e = null,
                t = Date.now();
              for (let n of Array.from(this.m_mapRestoreDetails.keys())) {
                let a = this.m_mapRestoreDetails.get(n);
                a.last_used < t && a.bExpires && ((t = a.last_used), (e = n));
              }
              e && this.m_mapRestoreDetails.delete(e);
            }
            let a = {
              strRestoreDetails: t,
              last_used: Date.now(),
              bExpires: n,
            };
            this.m_mapRestoreDetails.set(e, a);
          } else this.m_mapRestoreDetails.delete(e);
          (this.m_bSaveRequired = !0),
            this.m_bShuttingDown
              ? this.SaveSavedDimensionStore()
              : this.DebouncedSaveSavedDimensionStore();
        }
      }
    }
    Object(r.b)(
      [c.a, Object(l.a)(100)],
      b.prototype,
      "DebouncedSaveSavedDimensionStore",
      null,
    );
    let f = new b();
    window.g_PopupManager = f;
  },
  "5Sr9": function (e, t, n) {
    e.exports = {
      SearchResults: "newsaledialog_SearchResults_3j5hs",
      VerifyCtn: "newsaledialog_VerifyCtn_14bU7",
      VerifyCheck: "newsaledialog_VerifyCheck_QK3cD",
      FailCheck: "newsaledialog_FailCheck_3ZDrm",
      MinWidthCtn: "newsaledialog_MinWidthCtn_3VgMx",
      DateCtn: "newsaledialog_DateCtn_HCvNc",
      BasicInfoCtn: "newsaledialog_BasicInfoCtn_1_-Y4",
      StepOneTitle: "newsaledialog_StepOneTitle_21SRB",
    };
  },
  "5VAZ": function (e, t, n) {
    "use strict";
    n.d(t, "s", function () {
      return y;
    }),
      n.d(t, "d", function () {
        return E;
      }),
      n.d(t, "a", function () {
        return w;
      }),
      n.d(t, "t", function () {
        return B;
      }),
      n.d(t, "o", function () {
        return O;
      }),
      n.d(t, "q", function () {
        return D;
      }),
      n.d(t, "i", function () {
        return I;
      }),
      n.d(t, "f", function () {
        return T;
      }),
      n.d(t, "g", function () {
        return R;
      }),
      n.d(t, "e", function () {
        return j;
      }),
      n.d(t, "l", function () {
        return A;
      }),
      n.d(t, "m", function () {
        return k;
      }),
      n.d(t, "k", function () {
        return M;
      }),
      n.d(t, "n", function () {
        return P;
      }),
      n.d(t, "c", function () {
        return L;
      }),
      n.d(t, "h", function () {
        return G;
      }),
      n.d(t, "b", function () {
        return N;
      }),
      n.d(t, "u", function () {
        return F;
      }),
      n.d(t, "r", function () {
        return x;
      }),
      n.d(t, "j", function () {
        return z;
      }),
      n.d(t, "p", function () {
        return U;
      });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = n("Cug9"),
      s = (n("AQa9"), n("Q8oI"));
    n("jYlc");
    const o = {
      bBroadcastEnabled: !1,
      broadcastChatSetting: "hide",
      default_broadcast_title: "#Broadcast_default_title_dev",
      localized_broadcast_title: new Array(30),
      localized_broadcast_left_image: new Array(30),
      localized_broadcast_right_image: new Array(30),
      broadcast_whitelist: [],
    };
    var l = n("hc+a"),
      c = (n("TYQL"), n("oUO1"), n("4xkm"), n("I8QC")),
      d = n("REtK"),
      u = n("OsUa"),
      m = (n("+Cr/"), n("DAjO")),
      p = n("A5uu"),
      h = n("fvA7"),
      _ = n("CqJL"),
      g = n("gM6l"),
      b = n("U7vI"),
      f = (n("vDqi"), n("q1tI"), n("/loZ"), n("D6PB"), n("aaBf"));
    var v = n("3o+G"),
      S = (n("ZvQN"), n("VQwQ"));
    Object(a.b)(
      [S.a],
      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,
    );
    n("A/iR"), n("xdsl"), n("XGRy"), n("6FYJ");
    new Set([9, 11, 20, 21, 22, 23, 24, 25, 26, 27, 31, 35]);
    const y = 593110;
    var E;
    !(function (e) {
      (e[(e.k_EEventStateUnpublished = 0)] = "k_EEventStateUnpublished"),
        (e[(e.k_EEventStateStaged = 1)] = "k_EEventStateStaged"),
        (e[(e.k_EEventStateVisible = 2)] = "k_EEventStateVisible");
    })(E || (E = {}));
    const C = [
      "newandtrending",
      "topwishlisted",
      "trendingwishlisted",
      "popularcomingsoon",
      "mostplayeddemo",
      "dailyactiveuserdemo",
      "playednowdemo",
      "recentlyreleased",
      "popularpurchased",
      "popularpurchaseddiscounted",
      "discounted",
      "price",
      "contenthub_newandtrending",
      "contenthub_topsellers",
      "contenthub_popular",
      "contenthub_toprated",
      "contenthub_upcoming",
      "contenthub_all",
    ];
    function w(e) {
      return C.indexOf(e) >= 0;
    }
    const B = [
      {
        label: "#Sale_BrowserSortOption_NewAndTrending",
        flavor: "newandtrending",
        tooltip: "#Sale_BrowserSortOption_NewAndTrending_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_TopWishlisted",
        flavor: "topwishlisted",
        tooltip: "#Sale_BrowserSortOption_TopWishlisted_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_TrendingWishlisted",
        flavor: "trendingwishlisted",
        tooltip: "#Sale_BrowserSortOption_TrendingWishlisted_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_PopularUpcoming",
        flavor: "popularcomingsoon",
        tooltip: "#Sale_BrowserSortOption_PopularUpcoming_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_MostPlayedDemo",
        flavor: "mostplayeddemo",
        tooltip: "#Sale_BrowserSortOption_MostPlayedDemo_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_DailyActiveUserDemo",
        flavor: "dailyactiveuserdemo",
        tooltip: "#Sale_BrowserSortOption_DailyActiveUserDemo_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_PlayedNowDemo",
        flavor: "playednowdemo",
        tooltip: "#Sale_BrowserSortOption_PlayedNowDemo_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_RecentlyReleased",
        flavor: "recentlyreleased",
        tooltip: "#Sale_BrowserSortOption_RecentlyReleased_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_PopularPurchased",
        flavor: "popularpurchased",
        tooltip: "#Sale_BrowserSortOption_PopularPurchased_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_PopularPurchasedDiscounted",
        flavor: "popularpurchaseddiscounted",
        tooltip: "#Sale_BrowserSortOption_PopularPurchasedDiscounted_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_Discounted",
        flavor: "discounted",
        tooltip: "#Sale_BrowserSortOption_Discounted_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_Price",
        flavor: "price",
        tooltip: "#Sale_BrowserSortOption_Price_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_ContentHub_NewAndTrending",
        flavor: "contenthub_newandtrending",
        tooltip: "#Sale_BrowserSortOption_ContentHub_NewAndTrending_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_ContentHub_TopSellers",
        flavor: "contenthub_topsellers",
        tooltip: "#Sale_BrowserSortOption_ContentHub_TopSellers_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_ContentHub_Popular",
        flavor: "contenthub_popular",
        tooltip: "#Sale_BrowserSortOption_ContentHub_Popular_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_ContentHub_TopRated",
        flavor: "contenthub_toprated",
        tooltip: "#Sale_BrowserSortOption_ContentHub_TopRated_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_ContentHub_Upcoming",
        flavor: "contenthub_upcoming",
        tooltip: "#Sale_BrowserSortOption_ContentHub_Upcoming_ttip",
      },
      {
        label: "#Sale_BrowserSortOption_ContentHub_All",
        flavor: "contenthub_all",
        tooltip: "#Sale_BrowserSortOption_ContentHub_All_ttip",
      },
    ];
    function O(e) {
      switch (e) {
        case "links":
        case "itemdef":
          return { nMaxItemsPerRow: 5, nItemMinimumWidth: 200 };
        case "contenthubspecials":
          return { nMaxItemsPerRow: 3, nItemMinimumWidth: 306 };
        default:
          return { nMaxItemsPerRow: 4, nItemMinimumWidth: 280 };
      }
    }
    const D = "bordered";
    var I, T, R, j;
    !(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");
    })(I || (I = {})),
      (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");
      })(T || (T = {})),
      (function (e) {
        (e[(e.k_EHideOwnedItems = 0)] = "k_EHideOwnedItems"),
          (e[(e.k_EHideWishlistedItems = 1)] = "k_EHideWishlistedItems"),
          (e[(e.k_EHideIgnoredItems = 2)] = "k_EHideIgnoredItems");
      })(R || (R = {})),
      (function (e) {
        (e[(e.k_ESortFacetsByName = 0)] = "k_ESortFacetsByName"),
          (e[(e.k_ESortFacetsByMatchCount = 1)] = "k_ESortFacetsByMatchCount"),
          (e[(e.k_ESortFacetsManually = 2)] = "k_ESortFacetsManually");
      })(j || (j = {}));
    function A(e) {
      return f.c.IN_GAMEPADUI ? 1 : e.carousel_rows || 1;
    }
    function k(e) {
      return e.cap_item_count || 0;
    }
    function M(e) {
      return e.cap_section_content
        ? e.cap_section_row_count && e.cap_section_row_count > 0
          ? e.cap_section_row_count
          : 4
        : 0;
    }
    function P(e) {
      return Boolean(null == e ? void 0 : e.store_filter)
        ? JSON.stringify(e.store_filter)
        : void 0;
    }
    const L = {
      capsules: [],
      events: [],
      links: [],
      localized_label: new Array(30),
      localized_label_image: new Array(30),
      default_label: "#Sale_default_label",
      section_type: "unselected_empty",
    };
    var G;
    !(function (e) {
      (e[(e.k_ETaggedItems = 0)] = "k_ETaggedItems"),
        (e[(e.k_EContentHub = 1)] = "k_EContentHub");
    })(G || (G = {}));
    const N = Object.assign(
        Object.assign(
          {
            localized_subtitle: new Array(30),
            localized_summary: new Array(30),
            localized_title_image: new Array(30),
            localized_capsule_image: new Array(30),
            localized_spotlight_image: new Array(30),
            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(30),
            localized_sale_overlay: new Array(30),
            localized_sale_product_banner: new Array(30),
            localized_sale_product_mobile_banner: new Array(30),
            localized_sale_logo: new Array(30),
            sale_font: "",
            sale_background_color: "",
            sale_header_offset: 150,
            referenced_appids: [],
          },
          o,
        ),
        { bScheduleEnabled: !1, scheduleEntries: [] },
      ),
      F = "old_announce_",
      x = 80;
    class z {
      constructor() {
        (this.type = 1),
          (this.appid = 0),
          (this.name = new Map()),
          (this.description = new Map()),
          (this.timestamp_loc_updated = new Map()),
          (this.visibility_state = E.k_EEventStateUnpublished),
          (this.jsondata = N),
          (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());
      }
      BIsPartnerEvent() {
        return !this.bOldAnnouncement && Boolean(this.GID);
      }
      static FromJSON(e) {
        let t = new z(),
          n = JSON.parse(e);
        return (
          Object.assign(t, n),
          (t.name = new Map(n.name)),
          (t.description = new Map(n.description)),
          (t.vecTags = new Array(n.vecTags)),
          (t.clanSteamID = new l.a(n.clanSteamID)),
          Object(h.a)(
            t.clanSteamID && t.clanSteamID.BIsValid(),
            "Invalid Clan SteamID: " + t.clanSteamID.ConvertTo64BitString(),
          ),
          n.broadcaster &&
            ((t.broadcaster = new l.a(n.broadcaster)),
            Object(h.a)(
              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 z();
        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, n) => {
            t.name.set(n, e);
          }),
          (t.description = new Map()),
          this.description.forEach((e, n) => {
            t.description.set(n, e);
          }),
          (t.timestamp_loc_updated = new Map()),
          this.timestamp_loc_updated.forEach((e, n) => {
            t.timestamp_loc_updated.set(n, 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 l.a(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 n = t;
        return (
          null == e ||
            e.forEach((e) => {
              void 0 !== e.visibility_index &&
                (n =
                  void 0 === n
                    ? e.visibility_index
                    : Math.max(n, e.visibility_index));
            }),
          n
        );
      }
      GetLastReferencedSaleDay() {
        let e;
        for (const t of this.GetSaleSections())
          if ("tabs" === t.section_type)
            for (const n of t.tabs)
              e = this.GetLastReferencedSaleDayFromCapsules(n.capsules, e);
          else e = this.GetLastReferencedSaleDayFromCapsules(t.capsules, e);
        return (
          this.jsondata.sale_num_headers > 1 &&
            (null == e || e < this.jsondata.sale_num_headers) &&
            (e = this.jsondata.sale_num_headers),
          e
        );
      }
      GetDayIndexFromEventStart() {
        let e = 0;
        const t = m.b.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 n = this.GetLastReferencedSaleDay() || 0;
        return Math.min(e, n);
      }
      GetNameWithFallback(e) {
        const t = _.b.GetELanguageFallback(e);
        return this.name.get(e) || this.name.get(t);
      }
      GetGameTitle(e) {
        var t;
        return null === (t = p.a.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() ||
            !_.b.IsELanguageValidInRealm(e, s.ESteamRealm.k_ESteamRealmGlobal)
          ) ||
          !(
            !this.BInRealmChina() ||
            !_.b.IsELanguageValidInRealm(e, s.ESteamRealm.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 = c.d.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);
        return t;
      }
      GetImageURL(e, t = 0, n = c.c.full) {
        const a = this.GetImgArray(e),
          r = a && a.length > t && null != a[t];
        return r && a[t].startsWith("http")
          ? a[t]
          : r
            ? c.a.GenerateArtworkURLFromHashAndExtensions(
                this.clanSteamID,
                a[t],
                n,
              )
            : void 0;
      }
      GetImageHash(e, t = 0) {
        let n = this.GetImgArray(e);
        return n && n.length > t && null != n[t]
          ? n[t].substr(0, n[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 n = this.GetImgArray(e);
        return n && n.length > t && null != n[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 (
            f.c.COMMUNITY_BASE_URL +
            "app/" +
            this.appid +
            "/eventcomments/" +
            this.forumTopicGID
          );
        {
          const e = d.a.GetClanInfoByClanAccountID(
            this.clanSteamID.GetAccountID(),
          );
          if (e && e.vanity_url)
            return (
              f.c.COMMUNITY_BASE_URL +
              "groups/" +
              e.vanity_url +
              "/eventcomments/" +
              this.forumTopicGID
            );
        }
        return (
          f.c.COMMUNITY_BASE_URL +
          "gid/" +
          this.clanSteamID.ConvertTo64BitString() +
          "/eventcomments/" +
          this.forumTopicGID
        );
      }
      BIsEventInFuture() {
        return m.b.GetTimeNowWithOverride() < this.startTime;
      }
      BHasEventEnded() {
        return this.endTime < m.b.GetTimeNowWithOverride();
      }
      UpdateVoteCount(e, t) {
        "up" == e
          ? (this.nVotesUp = Object(g.a)(
              this.nVotesUp + t,
              0,
              Number.MAX_SAFE_INTEGER,
            ))
          : "down" == e &&
            (this.nVotesDown = Object(g.a)(
              this.nVotesDown + t,
              0,
              Number.MAX_SAFE_INTEGER,
            ));
      }
      GetImageFromBeginningOfDescription(e, t) {
        let n = this.GetDescriptionWithFallback(e);
        if (n) {
          let e = n.indexOf("[img]");
          if (-1 !== e && e < t) {
            e += 5;
            let t = n.indexOf("[/img]", e);
            if (-1 != t) {
              let a = n.substr(e, t - e).trim();
              if (0 != a.length)
                return (
                  (a = a.replace(
                    i.e,
                    f.c.MEDIA_CDN_COMMUNITY_URL + "images/clans/",
                  )),
                  a.replace("http://", "https://")
                );
            }
          }
        }
        return null;
      }
      GetImageURLWithFallback(e, t, n = c.c.full) {
        var a, r;
        const i = this.GetImageURL(e, t, n);
        if (i && i.trim().length > 0) return i;
        const s = _.b.GetELanguageFallback(t);
        if (t != s) {
          const t = this.GetImageURL(e, s, n);
          if (t && t.trim().length > 0) return t;
        }
        const o = d.a.GetClanInfoByClanAccountID(
          this.clanSteamID.GetAccountID(),
        );
        if ("capsule" == e) {
          let e = this.GetImageFromBeginningOfDescription(t, Number.MAX_VALUE);
          if (e) return e;
          let n = this.appid;
          if (!n && o && ((o.is_creator_home && !o.is_ogg) || o.is_curator)) {
            if (
              !(null ===
                (r =
                  null === (a = this.jsondata) || void 0 === a
                    ? void 0
                    : a.referenced_appids) || void 0 === r
                ? void 0
                : r.length)
            )
              return o.avatar_full_url;
            n = this.jsondata.referenced_appids[0];
          }
          const i = p.a.Get().GetApp(n);
          return i
            ? i.GetAssets().GetMainCapsuleURL()
            : f.c.MEDIA_CDN_URL + "steam/apps/" + n + "/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) {
          p.a.Get().QueueAppRequest(this.appid, { include_screenshots: !0 });
          const t = p.a.Get().GetApp(this.appid);
          let n = Number(
            this.bOldAnnouncement
              ? this.AnnouncementGID
              : null == this.GID
                ? 0
                : this.GID,
          );
          return (null == t
            ? void 0
            : t.GetOnlyAllAgesSafeScreenshots().length) > 1
            ? ((n %= t.GetOnlyAllAgesSafeScreenshots().length),
              t.GetOnlyAllAgesSafeScreenshots()[n])
            : (null ===
                  (e =
                    null == t
                      ? void 0
                      : t.GetBothAllAgesSafeAndMatureScreenshots()) ||
                void 0 === e
                  ? void 0
                  : e.length) > 0
              ? ((n %= t.GetBothAllAgesSafeAndMatureScreenshots().length),
                t.GetBothAllAgesSafeAndMatureScreenshots()[n])
              : "";
        }
        if (this.clanSteamID) {
          const e = d.a.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 n = this.GetImageURL(e, t);
        if (!n || 0 == n.length) {
          const a = _.b.GetELanguageFallback(t);
          t != a && (n = this.GetImageURL(e, a));
        }
        return !n || 0 == n.length;
      }
      GetImageForSizeAsArrayWithFallback(e, t, n, a) {
        let r = new Array();
        this.BImageNeedScreenshotFallback(e, t) ||
          (r.push(this.GetImageURLWithFallback(e, t, n)),
          n != c.c.full &&
            r.push(this.GetImageURLWithFallback(e, t, c.c.full)));
        const i = this.GetFallbackArtworkScreenshot();
        return i && !a && r.push(i), r;
      }
      GetDescriptionWithFallback(e) {
        const t = _.b.GetELanguageFallback(e);
        return this.description.get(e) || this.description.get(t);
      }
      BIsImageSafeForAllAges(e, t) {
        var n;
        const a = d.a.GetClanInfoByClanAccountID(
            this.clanSteamID.GetAccountID(),
          ),
          r = _.b.GetELanguageFallback(t);
        return (
          null != this.GetImageURL(e, t) ||
          (t != r && null != this.GetImageURL(e, r)) ||
          (this.appid &&
            (null === (n = p.a.Get().GetApp(this.appid)) || void 0 === n
              ? void 0
              : n.BHasAgeSafeScreenshots())) ||
          (!this.appid &&
            a &&
            ((a.is_creator_home && !a.is_ogg) || a.is_curator))
        );
      }
      BIsVisibleEvent() {
        let e = Math.floor(m.b.GetTimeNowWithOverride());
        return (
          this.visibility_state == E.k_EEventStateVisible &&
          e > this.visibilityStartTime &&
          (this.visibilityEndTime < 10 || e < this.visibilityEndTime)
        );
      }
      BIsStagedEvent() {
        return this.visibility_state == E.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 > m.b.GetTimeNowWithOverride() ||
            (1575396e3 == this.jsondata.action_end_time &&
              1606845600 > m.b.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
          ? _.a.GetWithFallback(this.jsondata.localized_subtitle, e)
          : "";
      }
      GetSubTitleWithSummaryFallback(e) {
        var t;
        return (
          _.a.GetWithFallback(
            null === (t = this.jsondata) || void 0 === t
              ? void 0
              : t.localized_subtitle,
            e,
          ) || z.GenerateSummaryFromText(this.GetDescriptionWithFallback(e))
        );
      }
      GetSummaryWithFallback(e, t) {
        var n;
        return (
          _.a.GetWithFallback(
            null === (n = this.jsondata) || void 0 === n
              ? void 0
              : n.localized_summary,
            e,
          ) || z.GenerateSummaryFromText(this.GetDescriptionWithFallback(e), t)
        );
      }
      GetSummary(e) {
        var t;
        return _.a.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
          ? ((e = Object(i.b)(e, [
              "img",
              "h1",
              "h2",
              "h3",
              "spoiler",
              "table",
              "previewyoutube",
              "looping_media",
              "roomeffect",
              "sticker",
            ])),
            (e = Object(i.c)(e)),
            (e = Object(v.c)(e)),
            Object(v.d)(e, t || 180))
          : "";
      }
      BHasTag(e) {
        return -1 != this.vecTags.indexOf(e);
      }
      BIsOGGEvent() {
        return 0 !== this.appid;
      }
      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 = m.b.GetTimeNowWithOverride(),
          n = 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 < n))
        );
      }
      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 (
          _.a.GetWithFallback(this.jsondata.localized_broadcast_title, e) ||
          Object(_.f)(
            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) =>
          l.a.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 (
            f.c.STORE_BASE_URL +
            "newshub/" +
            (this.appid
              ? "app/" + this.appid
              : "group/" + this.clanSteamID.GetAccountID()) +
            "/view/" +
            this.GID
          );
        if (!this.jsondata.sale_vanity_id_valve_approved_for_sale_subpath) {
          if (u.a.BHasCreatorHomeLoaded(this.clanSteamID)) {
            return (
              u.a
                .GetCreatorHome(this.clanSteamID)
                .GetCreatorHomeURL("developer") +
              "sale/" +
              this.jsondata.sale_vanity_id
            );
          }
          return (
            f.c.STORE_BASE_URL +
            "curator/" +
            this.clanSteamID.GetAccountID() +
            "/sale/" +
            this.jsondata.sale_vanity_id
          );
        }
        return f.c.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);
      }
      GetSaleSectionCount() {
        return this.jsondata.sale_sections.length;
      }
      static AccumulateCapsuleListIDs(e, t, n, a) {
        e &&
          e.forEach((e) => {
            if (e) {
              t.has(e.type) && ((a && !a(e.id)) || n.add(e.id));
            }
          });
      }
      GetSaleItemOfType(e, t) {
        var n;
        if (!this.jsondata.sale_sections) return new Set();
        const a = new Set(e),
          r = new Set();
        if (
          (Object(h.a)(
            !this.jsondata.bOptimizedForSize,
            "Cannot find all items in optimized json",
          ),
          this.jsondata.bOptimizedForSize && "dev" == f.c.WEB_UNIVERSE)
        )
          throw new Error("GetSaleOfItemType called on a truncated jsondata.");
        return (
          null === (n = this.jsondata.tagged_items) ||
            void 0 === n ||
            n.forEach((e) => {
              z.AccumulateCapsuleListIDs([e.capsule], a, r, t);
            }),
          this.jsondata.sale_sections.forEach((e) => {
            if ("items" === e.section_type)
              z.AccumulateCapsuleListIDs(e.capsules, a, r, t);
            else if ("tabs" === e.section_type && e.tabs)
              for (const n of e.tabs)
                z.AccumulateCapsuleListIDs(n.capsules, a, r, t);
          }),
          r
        );
      }
      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 Object(b.b)(this.type);
      }
      GetCategoryAsString() {
        return this.BHasTag("steam_award_nomination_request")
          ? Object(_.f)("#PartnerEvent_SteamAwardNominations")
          : this.BHasTag("steam_award_vote_request")
            ? Object(_.f)("#PartnerEvent_SteamAwardVoteRequest")
            : this.BHasTag("steam_game_festival_artist_statement")
              ? Object(_.f)("#PartnerEvent_SteamGameFestival_ArtistState")
              : this.BHasTag("steam_game_festival_office_hour")
                ? Object(_.f)("#PartnerEvent_SteamGameFestival_OfficeHour")
                : this.BHasTag("steam_game_festival_broadcast")
                  ? Object(_.f)("#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
        );
      }
      BHasSteamStoreSpotlight() {
        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 === G.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;
      }
    }
    Object(a.b)([r.C], z.prototype, "GID", void 0),
      Object(a.b)([r.C], z.prototype, "AnnouncementGID", void 0),
      Object(a.b)([r.C], z.prototype, "forumTopicGID", void 0),
      Object(a.b)([r.C], z.prototype, "type", void 0),
      Object(a.b)([r.C], z.prototype, "appid", void 0),
      Object(a.b)([r.C], z.prototype, "name", void 0),
      Object(a.b)([r.C], z.prototype, "description", void 0),
      Object(a.b)([r.C], z.prototype, "timestamp_loc_updated", void 0),
      Object(a.b)([r.C], z.prototype, "startTime", void 0),
      Object(a.b)([r.C], z.prototype, "endTime", void 0),
      Object(a.b)([r.C], z.prototype, "visibilityStartTime", void 0),
      Object(a.b)([r.C], z.prototype, "visibilityEndTime", void 0),
      Object(a.b)([r.C], z.prototype, "m_nBuildID", void 0),
      Object(a.b)([r.C], z.prototype, "m_strBuildBranch", void 0),
      Object(a.b)([r.C], z.prototype, "postTime", void 0),
      Object(a.b)([r.C], z.prototype, "visibility_state", void 0),
      Object(a.b)([r.C], z.prototype, "broadcaster", void 0),
      Object(a.b)([r.C], z.prototype, "jsondata", void 0),
      Object(a.b)([r.C], z.prototype, "nCommentCount", void 0),
      Object(a.b)([r.C], z.prototype, "nVotesUp", void 0),
      Object(a.b)([r.C], z.prototype, "nVotesDown", void 0),
      Object(a.b)([r.C], z.prototype, "bOldAnnouncement", void 0),
      Object(a.b)([r.C], z.prototype, "announcementClanSteamID", void 0),
      Object(a.b)([r.C], z.prototype, "loadedAllLanguages", void 0),
      Object(a.b)([r.C], z.prototype, "bLoaded", void 0),
      Object(a.b)([r.C], z.prototype, "deleteInProgress", void 0),
      Object(a.b)([r.C], z.prototype, "vecTags", void 0),
      Object(a.b)([r.C], z.prototype, "last_update_steamid", void 0),
      Object(a.b)([r.C], z.prototype, "rtime32_last_modified", void 0),
      Object(a.b)(
        [r.C],
        z.prototype,
        "rtime32_last_solr_search_col_updated",
        void 0,
      ),
      Object(a.b)(
        [r.C],
        z.prototype,
        "rtime32_last_local_modification",
        void 0,
      ),
      Object(a.b)([r.C], z.prototype, "rtime32_moderator_reviewed", void 0),
      Object(a.b)([r.C], z.prototype, "video_preview_type", void 0),
      Object(a.b)([r.C], z.prototype, "video_preview_id", void 0),
      Object(a.b)([r.C], z.prototype, "m_overrideCurrentDay", void 0);
    function U(e) {
      return null == e ? void 0 : e.replace("(", "\\(").replace(")", "\\)");
    }
  },
  "5ZQm": function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return r;
      }),
      n.d(t, "a", function () {
        return p;
      });
    var a,
      r,
      i = n("mrSG"),
      s = n("q1tI"),
      o = n("4o1L"),
      l = n("yJRL"),
      c = n.n(l),
      d = n("3wCP");
    function u(e) {
      switch (e) {
        case r.Small:
          return c.a.SizeSmall;
        case r.Medium:
          return c.a.SizeMedium;
        case r.Large:
          return c.a.SizeLarge;
        default:
          return c.a.SizeMedium;
      }
    }
    function m(e) {
      switch (e) {
        case a.Knockout:
          return c.a.Knockout;
        case a.Light:
          return c.a.Light;
        case a.Dark:
          return c.a.Dark;
        default:
          return c.a.Light;
      }
    }
    function p(e) {
      const t = Object(d.a)(
          null != e.size ? u(e.size) : u(r.Medium),
          null != e.type ? m(e.type) : m(a.Light),
          e.additionalClassName,
        ),
        n = e.type == a.Knockout;
      switch (e.button) {
        case o.a.A:
          return s.createElement(h, { bIsKnockout: n, className: t });
        case o.a.B:
          return s.createElement(_, { bIsKnockout: n, className: t });
        case o.a.X:
          return s.createElement(g, { bIsKnockout: n, className: t });
        case o.a.Y:
          return s.createElement(b, { bIsKnockout: n, className: t });
        case o.a.Left:
          return s.createElement(S, { bIsKnockout: n, className: t });
        case o.a.Right:
          return s.createElement(y, { bIsKnockout: n, className: t });
        case o.a.Up:
          return s.createElement(f, { bIsKnockout: n, className: t });
        case o.a.Down:
          return s.createElement(v, { bIsKnockout: n, className: t });
        case o.a.HomeMenu:
          return s.createElement(E, { bIsKnockout: n, className: t });
        case o.a.QuickMenu:
          return s.createElement(C, { bIsKnockout: n, className: t });
        case o.a.Select:
          return s.createElement(w, { bIsKnockout: n, className: t });
        case o.a.Start:
          return s.createElement(B, { bIsKnockout: n, className: t });
        case o.a.LeftBumper:
          return s.createElement(O, { bIsKnockout: n, className: t });
        case o.a.RightBumper:
          return s.createElement(D, { bIsKnockout: n, className: t });
        case o.a.LeftTrigger:
          return s.createElement(I, { bIsKnockout: n, className: t });
        case o.a.RightTrigger:
          return s.createElement(T, { bIsKnockout: n, className: t });
        case o.a.LeftStick:
          return s.createElement(k, { bIsKnockout: n, className: t });
        case o.a.RightStick:
          return s.createElement(A, { bIsKnockout: n, className: t });
        case o.a.LeftStickClick:
          return s.createElement(R, { bIsKnockout: n, className: t });
        case o.a.RightStickClick:
          return s.createElement(j, { bIsKnockout: n, className: t });
        case o.a.LeftTrackpad:
          return s.createElement(N, { bIsKnockout: n, className: t });
        case o.a.RightTrackpad:
          return s.createElement(x, { bIsKnockout: n, className: t });
        case o.a.LeftTrackpadClick:
          return s.createElement(F, { bIsKnockout: n, className: t });
        case o.a.RightTrackpadClick:
          return s.createElement(z, { bIsKnockout: n, className: t });
        case o.a.RearLeftUpper:
          return s.createElement(M, { bIsKnockout: n, className: t });
        case o.a.RearRightUpper:
          return s.createElement(L, { bIsKnockout: n, className: t });
        case o.a.RearLeftLower:
          return s.createElement(P, { bIsKnockout: n, className: t });
        case o.a.RearRightLower:
          return s.createElement(G, { bIsKnockout: n, className: t });
        default:
          return s.createElement(U, { bIsKnockout: n, className: t });
      }
    }
    function h(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM21.2697 24H24.1317L19.2717 11.4H16.6077L11.8917 24H14.6457L15.4737 21.552H20.4057L21.2697 24ZM16.1937 19.446L17.9217 14.406L19.6857 19.446H16.1937Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              cx: "18",
              cy: "18",
              r: "18",
              fill: "currentColor",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M24.1317 24H21.2697L20.4057 21.552H15.4737L14.6457 24H11.8917L16.6077 11.4H19.2717L24.1317 24ZM17.9217 14.406L16.1937 19.446H19.6857L17.9217 14.406Z",
            }),
          );
    }
    function _(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM23.173 20.382C23.173 18.81 22.369 17.778 20.761 17.286C21.349 16.974 21.775 16.584 22.039 16.116C22.303 15.648 22.435 15.132 22.435 14.568C22.435 13.56 22.081 12.78 21.373 12.228C20.665 11.676 19.573 11.4 18.097 11.4H13.435V24H18.601C19.993 24 21.103 23.682 21.931 23.046C22.759 22.41 23.173 21.522 23.173 20.382ZM16.117 16.674V13.596H17.881C19.165 13.596 19.807 14.082 19.807 15.054C19.807 15.57 19.645 15.972 19.321 16.26C18.997 16.536 18.535 16.674 17.935 16.674H16.117ZM19.843 21.372C19.507 21.672 19.003 21.822 18.331 21.822H16.117V18.582H18.403C19.039 18.582 19.525 18.72 19.861 18.996C20.197 19.26 20.365 19.656 20.365 20.184C20.365 20.676 20.191 21.072 19.843 21.372Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M20.761 17.286C22.369 17.778 23.173 18.81 23.173 20.382C23.173 21.522 22.759 22.41 21.931 23.046C21.103 23.682 19.993 24 18.601 24H13.435V11.4H18.097C19.573 11.4 20.665 11.676 21.373 12.228C22.081 12.78 22.435 13.56 22.435 14.568C22.435 15.132 22.303 15.648 22.039 16.116C21.775 16.584 21.349 16.974 20.761 17.286ZM16.117 13.596V16.674H17.935C18.535 16.674 18.997 16.536 19.321 16.26C19.645 15.972 19.807 15.57 19.807 15.054C19.807 14.082 19.165 13.596 17.881 13.596H16.117ZM18.331 21.822C19.003 21.822 19.507 21.672 19.843 21.372C20.191 21.072 20.365 20.676 20.365 20.184C20.365 19.656 20.197 19.26 19.861 18.996C19.525 18.72 19.039 18.582 18.403 18.582H16.117V21.822H18.331Z",
            }),
          );
    }
    function g(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              fill: "currentColor",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM23.7101 11.4H20.3621L17.8601 15.45L15.3581 11.4H12.1001L16.4021 17.484L11.9201 24H15.0881L17.9141 19.41L20.8661 24H24.1061L19.2821 17.394L23.7101 11.4Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M20.3621 11.4H23.7101L19.2821 17.394L24.1061 24H20.8661L17.9141 19.41L15.0881 24H11.9201L16.4021 17.484L12.1001 11.4H15.3581L17.8601 15.45L20.3621 11.4Z",
            }),
          );
    }
    function b(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              fill: "currentColor",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM16.69 24H19.318V18.996L23.71 11.4H20.848L18.094 16.44L15.358 11.4H12.298L16.69 18.978V24Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              cx: "18",
              cy: "18",
              r: "18",
              fill: "currentColor",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M19.318 24H16.69V18.978L12.298 11.4H15.358L18.094 16.44L20.848 11.4H23.71L19.318 18.996V24Z",
            }),
          );
    }
    function f(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM25 20.1998L19.5555 14.7554V27.1998H16.4444V14.7554L11 20.1998L8.66663 17.8665L18 8.66661L27.3333 17.8665L25 20.1998Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M19.5555 14.7554L25 20.1998L27.3333 17.8665L18 8.66661L8.66663 17.8665L11 20.1998L16.4444 14.7554V27.1998H19.5555V14.7554Z",
            }),
          );
    }
    function v(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM10.9999 15.6666L16.4444 21.1111L16.4444 8.66663H19.5555L19.5555 21.1111L24.9999 15.6666L27.3333 18L17.9999 27.1998L8.66659 18L10.9999 15.6666Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M16.4444 21.1111L10.9999 15.6666L8.66659 18L17.9999 27.1998L27.3333 18L24.9999 15.6666L19.5555 21.1111L19.5555 8.66663L16.4444 8.66663L16.4444 21.1111Z",
            }),
          );
    }
    function S(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM20.2664 10.9332L14.8219 16.3777H27.2664V19.4888H14.8219L20.2664 24.9332L17.933 27.2665L8.73314 17.9332L17.933 8.59988L20.2664 10.9332Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M14.8219 16.3777L20.2664 10.9333L17.933 8.59994L8.73314 17.9332L17.933 27.2666L20.2664 24.9333L14.8219 19.4888L27.2664 19.4888L27.2664 16.3777L14.8219 16.3777Z",
            }),
          );
    }
    function y(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM15.7332 24.9332L21.1776 19.4888H8.73315V16.3777H21.1776L15.7332 10.9332L18.0665 8.59991L27.2664 17.9333L18.0665 27.2666L15.7332 24.9332Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M21.1776 19.4887L15.7332 24.9332L18.0665 27.2665L27.2664 17.9332L18.0665 8.59985L15.7332 10.9332L21.1776 16.3776L8.73315 16.3776L8.73315 19.4887L21.1776 19.4887Z",
            }),
          );
    }
    function E(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 100 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              fill: "currentColor",
              d: "M18 0C8.05888 0 0 8.05888 0 18C0 27.9411 8.05888 36 18 36H82C91.9411 36 100 27.9411 100 18C100 8.05888 91.9411 0 82 0H18ZM21.8011 11.5C22.6531 11.5 23.4391 11.62 24.1591 11.86C24.8791 12.1 25.4851 12.394 25.9771 12.742L24.8611 14.722C24.4171 14.41 23.9191 14.158 23.3671 13.966C22.8271 13.774 22.3111 13.678 21.8191 13.678C21.2191 13.678 20.7511 13.804 20.4151 14.056C20.0791 14.296 19.9111 14.632 19.9111 15.064C19.9111 15.496 20.1091 15.838 20.5051 16.09C20.9011 16.33 21.5071 16.594 22.3231 16.882C23.1631 17.182 23.8351 17.458 24.3391 17.71C24.8431 17.962 25.2811 18.334 25.6531 18.826C26.0371 19.306 26.2291 19.924 26.2291 20.68C26.2291 21.484 26.0191 22.18 25.5991 22.768C25.1911 23.356 24.6151 23.812 23.8711 24.136C23.1271 24.448 22.2751 24.604 21.3151 24.604C20.5351 24.604 19.7371 24.502 18.9211 24.298C18.1171 24.082 17.4091 23.794 16.7971 23.434L17.6251 21.238C18.2011 21.55 18.8071 21.802 19.4431 21.994C20.0911 22.174 20.7271 22.264 21.3511 22.264C22.0351 22.264 22.5451 22.132 22.8811 21.868C23.2291 21.604 23.4031 21.256 23.4031 20.824C23.4031 20.392 23.2171 20.056 22.8451 19.816C22.4731 19.576 21.9031 19.33 21.1351 19.078C20.2711 18.802 19.5751 18.538 19.0471 18.286C18.5191 18.022 18.0631 17.644 17.6791 17.152C17.3071 16.648 17.1211 15.994 17.1211 15.19C17.1211 14.446 17.3131 13.798 17.6971 13.246C18.0931 12.682 18.6451 12.25 19.3531 11.95C20.0611 11.65 20.8771 11.5 21.8011 11.5ZM35.2486 24.388H32.6026V14.056H28.7866V11.788H39.0646V14.056H35.2486V24.388ZM50.8108 11.788H42.3148V24.388H50.8108V22.102H44.9608V19.15H50.0008V16.882H44.9608V14.038H50.8108V11.788ZM65.8582 24.388H62.9962L62.1322 21.94H57.2002L56.3722 24.388H53.6182L58.3342 11.788H60.9982L65.8582 24.388ZM59.6482 14.794L57.9202 19.834H61.4122L59.6482 14.794ZM79.7729 11.788L75.8489 20.734L71.6009 11.788H69.0629V24.388H71.4749V16.468L74.9309 24.028H76.5329L79.9169 16.378V24.388H82.4549V11.788H79.7729Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 100 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 18C0 8.05888 8.05888 0 18 0H82C91.9411 0 100 8.05888 100 18C100 27.9411 91.9411 36 82 36H18C8.05888 36 0 27.9411 0 18Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M21.8011 11.5C22.6531 11.5 23.4391 11.62 24.1591 11.86C24.8791 12.1 25.4851 12.394 25.9771 12.742L24.8611 14.722C24.4171 14.41 23.9191 14.158 23.3671 13.966C22.8271 13.774 22.3111 13.678 21.8191 13.678C21.2191 13.678 20.7511 13.804 20.4151 14.056C20.0791 14.296 19.9111 14.632 19.9111 15.064C19.9111 15.496 20.1091 15.838 20.5051 16.09C20.9011 16.33 21.5071 16.594 22.3231 16.882C23.1631 17.182 23.8351 17.458 24.3391 17.71C24.8431 17.962 25.2811 18.334 25.6531 18.826C26.0371 19.306 26.2291 19.924 26.2291 20.68C26.2291 21.484 26.0191 22.18 25.5991 22.768C25.1911 23.356 24.6151 23.812 23.8711 24.136C23.1271 24.448 22.2751 24.604 21.3151 24.604C20.5351 24.604 19.7371 24.502 18.9211 24.298C18.1171 24.082 17.4091 23.794 16.7971 23.434L17.6251 21.238C18.2011 21.55 18.8071 21.802 19.4431 21.994C20.0911 22.174 20.7271 22.264 21.3511 22.264C22.0351 22.264 22.5451 22.132 22.8811 21.868C23.2291 21.604 23.4031 21.256 23.4031 20.824C23.4031 20.392 23.2171 20.056 22.8451 19.816C22.4731 19.576 21.9031 19.33 21.1351 19.078C20.2711 18.802 19.5751 18.538 19.0471 18.286C18.5191 18.022 18.0631 17.644 17.6791 17.152C17.3071 16.648 17.1211 15.994 17.1211 15.19C17.1211 14.446 17.3131 13.798 17.6971 13.246C18.0931 12.682 18.6451 12.25 19.3531 11.95C20.0611 11.65 20.8771 11.5 21.8011 11.5Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M35.2486 24.388H32.6026V14.056H28.7866V11.788H39.0646V14.056H35.2486V24.388Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M42.3148 11.788H50.8108V14.038H44.9608V16.882H50.0008V19.15H44.9608V22.102H50.8108V24.388H42.3148V11.788Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M65.8582 24.388H62.9962L62.1322 21.94H57.2002L56.3722 24.388H53.6182L58.3342 11.788H60.9982L65.8582 24.388ZM59.6482 14.794L57.9202 19.834H61.4122L59.6482 14.794Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M75.8489 20.734L79.7729 11.788H82.4549V24.388H79.9169V16.378L76.5329 24.028H74.9309L71.4749 16.468V24.388H69.0629V11.788H71.6009L75.8489 20.734Z",
            }),
          );
    }
    function C(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 81 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 0C8.05888 0 0 8.05888 0 18C0 27.9411 8.05888 36 18 36H61C70.9411 36 79 27.9411 79 18C79 8.05888 70.9411 0 61 0H18ZM21.5 22.5C23.9853 22.5 26 20.4853 26 18C26 15.5147 23.9853 13.5 21.5 13.5C19.0147 13.5 17 15.5147 17 18C17 20.4853 19.0147 22.5 21.5 22.5ZM44 18C44 20.4853 41.9853 22.5 39.5 22.5C37.0147 22.5 35 20.4853 35 18C35 15.5147 37.0147 13.5 39.5 13.5C41.9853 13.5 44 15.5147 44 18ZM57.5 22.5C59.9853 22.5 62 20.4853 62 18C62 15.5147 59.9853 13.5 57.5 13.5C55.0147 13.5 53 15.5147 53 18C53 20.4853 55.0147 22.5 57.5 22.5Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 81 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 18C0 8.05888 8.05888 0 18 0H61C70.9411 0 79 8.05888 79 18C79 27.9411 70.9411 36 61 36H18C8.05888 36 0 27.9411 0 18Z",
            }),
            s.createElement("circle", {
              className: c.a.Foreground,
              fill: "currentColor",
              cx: "21.5",
              cy: "18",
              r: "4.5",
            }),
            s.createElement("circle", {
              className: c.a.Foreground,
              fill: "currentColor",
              cx: "39.5",
              cy: "18",
              r: "4.5",
            }),
            s.createElement("circle", {
              className: c.a.Foreground,
              fill: "currentColor",
              cx: "57.5",
              cy: "18",
              r: "4.5",
            }),
          );
    }
    function w(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 48 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M12 6C5.37258 6 0 11.3726 0 18C0 24.6274 5.37258 30 12 30H36C42.6274 30 48 24.6274 48 18C48 11.3726 42.6274 6 36 6H12ZM31 11H17V25H31V11Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 48 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("rect", {
              className: c.a.Background,
              fill: "currentColor",
              y: "6",
              width: "48",
              height: "24",
              rx: "12",
            }),
            s.createElement("rect", {
              className: c.a.Foreground,
              fill: "currentColor",
              x: "17",
              y: "11",
              width: "14",
              height: "14",
            }),
          );
    }
    function B(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 48 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M12 6C5.37258 6 0 11.3726 0 18C0 24.6274 5.37258 30 12 30H36C42.6274 30 48 24.6274 48 18C48 11.3726 42.6274 6 36 6H12ZM31 11H17V13.8H31V11ZM17 22.2H31V25H17V22.2ZM31 16.6H17V19.4H31V16.6Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 48 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("rect", {
              className: c.a.Background,
              fill: "currentColor",
              y: "6",
              width: "48",
              height: "24",
              rx: "12",
            }),
            s.createElement("rect", {
              className: c.a.Foreground,
              fill: "currentColor",
              x: "17",
              y: "11",
              width: "14",
              height: "2.8",
            }),
            s.createElement("rect", {
              className: c.a.Foreground,
              fill: "currentColor",
              x: "17",
              y: "22.2",
              width: "14",
              height: "2.8",
            }),
            s.createElement("rect", {
              className: c.a.Foreground,
              fill: "currentColor",
              x: "17",
              y: "16.6",
              width: "14",
              height: "2.8",
            }),
          );
    }
    function O(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M7.5 0C3.35786 0 0 4.47715 0 10V30C0 31.1046 0.671574 32 1.5 32H34.5C35.3284 32 36 31.1046 36 30V2C36 0.895431 35.3284 0 34.5 0H7.5ZM9.36182 23H17.8218V20.624H12.0078V10.4H9.36182V23ZM25.7635 20.714V10.4H23.7296L19.5896 12.452L20.4356 14.432L23.0816 13.316V20.714H20.1115V23H28.1576V20.714H25.7635Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 10C0 4.47715 3.35786 0 7.5 0H34.5C35.3284 0 36 0.895431 36 2V30C36 31.1046 35.3284 32 34.5 32H1.5C0.671574 32 0 31.1046 0 30V10Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.8218 23H9.36182V10.4H12.0078V20.624H17.8218V23Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M25.7635 10.4V20.714H28.1576V23H20.1116V20.714H23.0816V13.316L20.4356 14.432L19.5896 12.452L23.7296 10.4H25.7635Z",
            }),
          );
    }
    function D(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M28.5 0C32.6421 0 36 4.47715 36 10V30C36 31.1046 35.3284 32 34.5 32H1.5C0.671573 32 0 31.1046 0 30V2C0 0.895431 0.671573 0 1.5 0H28.5ZM15.8185 23H18.7525L15.7825 18.23C16.5505 17.894 17.1445 17.402 17.5645 16.754C17.9965 16.106 18.2125 15.296 18.2125 14.324C18.2125 13.088 17.8045 12.128 16.9885 11.444C16.1725 10.748 14.9005 10.4 13.1725 10.4H8.45654V23H11.1025V18.752H12.9745H13.2805L15.8185 23ZM11.1025 16.484V12.65H13.0105C13.8385 12.65 14.4385 12.806 14.8105 13.118C15.1945 13.418 15.3865 13.874 15.3865 14.486C15.3865 15.11 15.1885 15.602 14.7925 15.962C14.4085 16.31 13.8685 16.484 13.1725 16.484H11.1025ZM26.6688 20.714V10.4H24.6348L20.4948 12.452L21.3408 14.432L23.9868 13.316V20.714H21.0168V23H29.0628V20.714H26.6688Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M36 10C36 4.47715 32.6421 0 28.5 0H1.5C0.671574 0 0 0.895431 0 2V30C0 31.1046 0.671574 32 1.5 32H34.5C35.3284 32 36 31.1046 36 30V10Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M18.7525 23H15.8185L13.2805 18.752H12.9745H11.1025V23H8.45654V10.4H13.1725C14.9005 10.4 16.1725 10.748 16.9885 11.444C17.8045 12.128 18.2125 13.088 18.2125 14.324C18.2125 15.296 17.9965 16.106 17.5645 16.754C17.1445 17.402 16.5505 17.894 15.7825 18.23L18.7525 23ZM11.1025 12.65V16.484H13.1725C13.8685 16.484 14.4085 16.31 14.7925 15.962C15.1885 15.602 15.3865 15.11 15.3865 14.486C15.3865 13.874 15.1945 13.418 14.8105 13.118C14.4385 12.806 13.8385 12.65 13.0105 12.65H11.1025Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M26.6688 10.4V20.714H29.0628V23H21.0168V20.714H23.9868V13.316L21.3408 14.432L20.4948 12.452L24.6348 10.4H26.6688Z",
            }),
          );
    }
    function I(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M7.5 32C3.35786 32 0 27.5228 0 22V2C0 0.895431 0.671574 0 1.5 0H34.5C35.3284 0 36 0.895431 36 2V30C36 31.1046 35.3284 32 34.5 32H7.5ZM29.0743 20.714H23.0083L25.6183 18.554C26.6623 17.69 27.4363 16.91 27.9403 16.214C28.4443 15.506 28.6963 14.72 28.6963 13.856C28.6963 12.68 28.2583 11.774 27.3823 11.138C26.5063 10.502 25.3423 10.184 23.8903 10.184C23.0743 10.184 22.3063 10.298 21.5863 10.526C20.8783 10.754 20.2483 11.06 19.6963 11.444L20.5963 13.388C20.9683 13.136 21.4003 12.926 21.8923 12.758C22.3963 12.59 22.9123 12.506 23.4403 12.506C24.1483 12.506 24.7243 12.668 25.1683 12.992C25.6243 13.304 25.8523 13.772 25.8523 14.396C25.8523 14.78 25.7623 15.134 25.5823 15.458C25.4023 15.782 25.1623 16.088 24.8623 16.376C24.5743 16.664 24.1543 17.042 23.6023 17.51L23.2963 17.78L19.6603 20.804V23H29.0743V20.714ZM9.32458 23H17.7846V20.624H11.9706V10.4H9.32458V23Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 22C0 27.5228 3.35786 32 7.5 32H34.5C35.3284 32 36 31.1046 36 30V2C36 0.895432 35.3284 0 34.5 0H1.5C0.671574 0 0 0.895432 0 2V22Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.7846 23H9.32458V10.4H11.9706V20.624H17.7846V23Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.0083 20.714H29.0743V23H19.6603V20.804L23.2963 17.78L23.6023 17.51C24.1543 17.042 24.5743 16.664 24.8623 16.376C25.1623 16.088 25.4023 15.782 25.5823 15.458C25.7623 15.134 25.8523 14.78 25.8523 14.396C25.8523 13.772 25.6243 13.304 25.1683 12.992C24.7243 12.668 24.1483 12.506 23.4403 12.506C22.9123 12.506 22.3963 12.59 21.8923 12.758C21.4003 12.926 20.9683 13.136 20.5963 13.388L19.6963 11.444C20.2483 11.06 20.8783 10.754 21.5863 10.526C22.3063 10.298 23.0743 10.184 23.8903 10.184C25.3423 10.184 26.5063 10.502 27.3823 11.138C28.2583 11.774 28.6963 12.68 28.6963 13.856C28.6963 14.72 28.4443 15.506 27.9403 16.214C27.4363 16.91 26.6623 17.69 25.6183 18.554L23.0083 20.714Z",
            }),
          );
    }
    function T(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M28.5 32C32.6421 32 36 27.5228 36 22V2C36 0.895431 35.3284 0 34.5 0H1.5C0.671573 0 0 0.895431 0 2V30C0 31.1046 0.671573 32 1.5 32H28.5ZM28.9796 20.714H22.9136L25.5236 18.554C26.5676 17.69 27.3416 16.91 27.8456 16.214C28.3496 15.506 28.6016 14.72 28.6016 13.856C28.6016 12.68 28.1636 11.774 27.2876 11.138C26.4116 10.502 25.2476 10.184 23.7956 10.184C22.9796 10.184 22.2116 10.298 21.4916 10.526C20.7836 10.754 20.1536 11.06 19.6016 11.444L20.5016 13.388C20.8736 13.136 21.3056 12.926 21.7976 12.758C22.3016 12.59 22.8176 12.506 23.3456 12.506C24.0536 12.506 24.6296 12.668 25.0736 12.992C25.5296 13.304 25.7576 13.772 25.7576 14.396C25.7576 14.78 25.6676 15.134 25.4876 15.458C25.3076 15.782 25.0676 16.088 24.7676 16.376C24.4796 16.664 24.0596 17.042 23.5076 17.51L23.2016 17.78L19.5656 20.804V23H28.9796V20.714ZM14.7813 23H17.7153L14.7453 18.23C15.5133 17.894 16.1073 17.402 16.5273 16.754C16.9593 16.106 17.1753 15.296 17.1753 14.324C17.1753 13.088 16.7673 12.128 15.9513 11.444C15.1353 10.748 13.8633 10.4 12.1353 10.4H7.41931V23H10.0653V18.752H11.9373H12.2433L14.7813 23ZM10.0653 16.484V12.65H11.9733C12.8013 12.65 13.4013 12.806 13.7733 13.118C14.1573 13.418 14.3493 13.874 14.3493 14.486C14.3493 15.11 14.1513 15.602 13.7553 15.962C13.3713 16.31 12.8313 16.484 12.1353 16.484H10.0653Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 32",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M36 22C36 27.5228 32.6421 32 28.5 32H1.5C0.671574 32 0 31.1046 0 30V2C0 0.895432 0.671574 0 1.5 0H34.5C35.3284 0 36 0.895432 36 2V22Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.7153 23H14.7813L12.2433 18.752H11.9373H10.0653V23H7.41931V10.4H12.1353C13.8633 10.4 15.1353 10.748 15.9513 11.444C16.7673 12.128 17.1753 13.088 17.1753 14.324C17.1753 15.296 16.9593 16.106 16.5273 16.754C16.1073 17.402 15.5133 17.894 14.7453 18.23L17.7153 23ZM10.0653 12.65V16.484H12.1353C12.8313 16.484 13.3713 16.31 13.7553 15.962C14.1513 15.602 14.3493 15.11 14.3493 14.486C14.3493 13.874 14.1573 13.418 13.7733 13.118C13.4013 12.806 12.8013 12.65 11.9733 12.65H10.0653Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M22.9136 20.714H28.9796V23H19.5656V20.804L23.2016 17.78L23.5076 17.51C24.0596 17.042 24.4796 16.664 24.7676 16.376C25.0676 16.088 25.3076 15.782 25.4876 15.458C25.6676 15.134 25.7576 14.78 25.7576 14.396C25.7576 13.772 25.5296 13.304 25.0736 12.992C24.6296 12.668 24.0536 12.506 23.3456 12.506C22.8176 12.506 22.3016 12.59 21.7976 12.758C21.3056 12.926 20.8736 13.136 20.5016 13.388L19.6016 11.444C20.1536 11.06 20.7836 10.754 21.4916 10.526C22.2116 10.298 22.9796 10.184 23.7956 10.184C25.2476 10.184 26.4116 10.502 27.2876 11.138C28.1636 11.774 28.6016 12.68 28.6016 13.856C28.6016 14.72 28.3496 15.506 27.8456 16.214C27.3416 16.91 26.5676 17.69 25.5236 18.554L22.9136 20.714Z",
            }),
          );
    }
    function R(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              d: "M11 32V33.601C11 34.926 12.0446 36 13.3333 36H22.6667C23.9554 36 25 34.926 25 33.601V32C22.7984 32.523 20.4394 32.8029 18 32.8029C15.5606 32.8029 13.2016 32.523 11 32Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              d: "M23.1111 0H12L17.5556 5.625L23.1111 0Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 30.75C27.9411 30.75 36 25.7132 36 19.5C36 13.2868 27.9411 8.25 18 8.25C8.05887 8.25 0 13.2868 0 19.5C0 25.7132 8.05887 30.75 18 30.75ZM25.4679 14.284C24.7852 13.7613 23.7879 13.5 22.4759 13.5C21.6972 13.5 20.9666 13.6173 20.2839 13.852C19.6119 14.0867 19.0092 14.4227 18.4759 14.86L19.4679 16.364C19.8199 16.0973 20.2146 15.8893 20.6519 15.74C21.0999 15.58 21.5639 15.5 22.0439 15.5C22.6732 15.5 23.1639 15.6227 23.5159 15.868C23.8786 16.1133 24.0599 16.4387 24.0599 16.844C24.0599 17.2813 23.8679 17.6227 23.4839 17.868C23.1106 18.1027 22.6146 18.22 21.9959 18.22H20.6999V19.996H22.1399C23.7079 19.996 24.4919 20.508 24.4919 21.532C24.4919 22.0547 24.2839 22.4653 23.8679 22.764C23.4626 23.0627 22.8972 23.212 22.1719 23.212C21.0306 23.212 20.0439 22.876 19.2119 22.204L18.2039 23.932C18.7052 24.3373 19.3186 24.652 20.0439 24.876C20.7799 25.1 21.5532 25.212 22.3639 25.212C23.2172 25.212 23.9959 25.068 24.6999 24.78C25.4039 24.4813 25.9586 24.0653 26.3639 23.532C26.7692 22.988 26.9719 22.364 26.9719 21.66C26.9719 20.892 26.7479 20.2787 26.2999 19.82C25.8626 19.3507 25.2866 19.0413 24.5719 18.892V18.844C25.1799 18.6093 25.6492 18.2733 25.9799 17.836C26.3212 17.388 26.4919 16.8813 26.4919 16.316C26.4919 15.484 26.1506 14.8067 25.4679 14.284ZM9.48901 24.956H17.009V22.844H11.841V13.756H9.48901V24.956Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("ellipse", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "19.5",
              rx: "18",
              ry: "11.25",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M11 32V33.601C11 34.926 12.0446 36 13.3333 36H22.6667C23.9554 36 25 34.926 25 33.601V32C22.7984 32.523 20.4394 32.8029 18 32.8029C15.5606 32.8029 13.2016 32.523 11 32Z",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M23.1111 0H12L17.5556 5.625L23.1111 0Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.009 24.956H9.48901V13.756H11.841V22.844H17.009V24.956Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M22.4759 13.5C23.7879 13.5 24.7852 13.7613 25.4679 14.284C26.1506 14.8067 26.4919 15.484 26.4919 16.316C26.4919 16.8813 26.3212 17.388 25.9799 17.836C25.6492 18.2733 25.1799 18.6093 24.5719 18.844V18.892C25.2866 19.0413 25.8626 19.3507 26.2999 19.82C26.7479 20.2787 26.9719 20.892 26.9719 21.66C26.9719 22.364 26.7692 22.988 26.3639 23.532C25.9586 24.0653 25.4039 24.4813 24.6999 24.78C23.9959 25.068 23.2172 25.212 22.3639 25.212C21.5532 25.212 20.7799 25.1 20.0439 24.876C19.3186 24.652 18.7052 24.3373 18.2039 23.932L19.2119 22.204C20.0439 22.876 21.0306 23.212 22.1719 23.212C22.8972 23.212 23.4626 23.0627 23.8679 22.764C24.2839 22.4653 24.4919 22.0547 24.4919 21.532C24.4919 20.508 23.7079 19.996 22.1399 19.996H20.6999V18.22H21.9959C22.6146 18.22 23.1106 18.1027 23.4839 17.868C23.8679 17.6227 24.0599 17.2813 24.0599 16.844C24.0599 16.4387 23.8786 16.1133 23.5159 15.868C23.1639 15.6227 22.6732 15.5 22.0439 15.5C21.5639 15.5 21.0999 15.58 20.6519 15.74C20.2146 15.8893 19.8199 16.0973 19.4679 16.364L18.4759 14.86C19.0092 14.4227 19.6119 14.0867 20.2839 13.852C20.9666 13.6173 21.6972 13.5 22.4759 13.5Z",
            }),
          );
    }
    function j(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              d: "M11 32V33.601C11 34.926 12.0446 36 13.3333 36H22.6667C23.9554 36 25 34.926 25 33.601V32C22.7984 32.523 20.4394 32.8029 18 32.8029C15.5606 32.8029 13.2016 32.523 11 32Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              d: "M23.1111 0H12L17.5556 5.625L23.1111 0Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 30.75C27.9411 30.75 36 25.7132 36 19.5C36 13.2868 27.9411 8.25 18 8.25C8.05887 8.25 0 13.2868 0 19.5C0 25.7132 8.05887 30.75 18 30.75ZM26.5882 14.284C25.9056 13.7613 24.9082 13.5 23.5962 13.5C22.8176 13.5 22.0869 13.6173 21.4043 13.852C20.7323 14.0867 20.1296 14.4227 19.5963 14.86L20.5882 16.364C20.9403 16.0973 21.3349 15.8893 21.7723 15.74C22.2202 15.58 22.6842 15.5 23.1642 15.5C23.7936 15.5 24.2843 15.6227 24.6362 15.868C24.9989 16.1133 25.1803 16.4387 25.1803 16.844C25.1803 17.2813 24.9883 17.6227 24.6043 17.868C24.2309 18.1027 23.7349 18.22 23.1162 18.22H21.8203V19.996H23.2603C24.8283 19.996 25.6122 20.508 25.6122 21.532C25.6122 22.0547 25.4042 22.4653 24.9883 22.764C24.5829 23.0627 24.0176 23.212 23.2923 23.212C22.1509 23.212 21.1643 22.876 20.3323 22.204L19.3242 23.932C19.8256 24.3373 20.4389 24.652 21.1642 24.876C21.9002 25.1 22.6736 25.212 23.4842 25.212C24.3376 25.212 25.1162 25.068 25.8202 24.78C26.5243 24.4813 27.0789 24.0653 27.4842 23.532C27.8896 22.988 28.0923 22.364 28.0923 21.66C28.0923 20.892 27.8682 20.2787 27.4202 19.82C26.9829 19.3507 26.4069 19.0413 25.6922 18.892V18.844C26.3002 18.6093 26.7696 18.2733 27.1003 17.836C27.4416 17.388 27.6122 16.8813 27.6122 16.316C27.6122 15.484 27.2709 14.8067 26.5882 14.284ZM15.544 24.956H18.152L15.512 20.716C16.1947 20.4173 16.7227 19.98 17.096 19.404C17.48 18.828 17.672 18.108 17.672 17.244C17.672 16.1453 17.3093 15.292 16.584 14.684C15.8587 14.0653 14.728 13.756 13.192 13.756H9V24.956H11.352V21.18H13.016H13.288L15.544 24.956ZM11.352 19.164V15.756H13.048C13.784 15.756 14.3173 15.8947 14.648 16.172C14.9893 16.4387 15.16 16.844 15.16 17.388C15.16 17.9427 14.984 18.38 14.632 18.7C14.2907 19.0093 13.8107 19.164 13.192 19.164H11.352Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("ellipse", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "19.5",
              rx: "18",
              ry: "11.25",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M11 32V33.601C11 34.926 12.0446 36 13.3333 36H22.6667C23.9554 36 25 34.926 25 33.601V32C22.7984 32.523 20.4394 32.8029 18 32.8029C15.5606 32.8029 13.2016 32.523 11 32Z",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M23.1111 0H12L17.5556 5.625L23.1111 0Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M18.152 24.956H15.544L13.288 21.18H13.016H11.352V24.956H9V13.756H13.192C14.728 13.756 15.8587 14.0653 16.584 14.684C17.3093 15.292 17.672 16.1453 17.672 17.244C17.672 18.108 17.48 18.828 17.096 19.404C16.7227 19.98 16.1947 20.4173 15.512 20.716L18.152 24.956ZM11.352 15.756V19.164H13.192C13.8107 19.164 14.2907 19.0093 14.632 18.7C14.984 18.38 15.16 17.9427 15.16 17.388C15.16 16.844 14.9893 16.4387 14.648 16.172C14.3173 15.8947 13.784 15.756 13.048 15.756H11.352Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.5962 13.5C24.9082 13.5 25.9056 13.7613 26.5882 14.284C27.2709 14.8067 27.6122 15.484 27.6122 16.316C27.6122 16.8813 27.4416 17.388 27.1003 17.836C26.7696 18.2733 26.3002 18.6093 25.6922 18.844V18.892C26.4069 19.0413 26.9829 19.3507 27.4202 19.82C27.8682 20.2787 28.0923 20.892 28.0923 21.66C28.0923 22.364 27.8896 22.988 27.4842 23.532C27.0789 24.0653 26.5243 24.4813 25.8202 24.78C25.1162 25.068 24.3376 25.212 23.4843 25.212C22.6736 25.212 21.9003 25.1 21.1643 24.876C20.4389 24.652 19.8256 24.3373 19.3243 23.932L20.3323 22.204C21.1643 22.876 22.1509 23.212 23.2923 23.212C24.0176 23.212 24.5829 23.0627 24.9882 22.764C25.4042 22.4653 25.6122 22.0547 25.6122 21.532C25.6122 20.508 24.8283 19.996 23.2603 19.996H21.8203V18.22H23.1163C23.7349 18.22 24.2309 18.1027 24.6043 17.868C24.9883 17.6227 25.1803 17.2813 25.1803 16.844C25.1803 16.4387 24.9989 16.1133 24.6363 15.868C24.2843 15.6227 23.7936 15.5 23.1643 15.5C22.6842 15.5 22.2203 15.58 21.7723 15.74C21.3349 15.8893 20.9403 16.0973 20.5883 16.364L19.5963 14.86C20.1296 14.4227 20.7323 14.0867 21.4043 13.852C22.0869 13.6173 22.8176 13.5 23.5962 13.5Z",
            }),
          );
    }
    function A(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 24.75C27.9411 24.75 36 19.7132 36 13.5C36 7.2868 27.9411 2.25 18 2.25C8.05887 2.25 0 7.2868 0 13.5C0 19.7132 8.05887 24.75 18 24.75ZM20.8833 18.9875H23.6775L20.849 14.4447C21.5804 14.1247 22.1461 13.6561 22.5461 13.039C22.9575 12.4218 23.1633 11.6504 23.1633 10.7247C23.1633 9.54755 22.7747 8.63326 21.9975 7.98183C21.2204 7.31898 20.009 6.98755 18.3633 6.98755H13.8718V18.9875H16.3918V14.9418H18.1747H18.4661L20.8833 18.9875ZM16.3918 12.7818V9.13041H18.209C18.9975 9.13041 19.569 9.27898 19.9233 9.57612C20.289 9.86183 20.4718 10.2961 20.4718 10.879C20.4718 11.4733 20.2833 11.9418 19.9061 12.2847C19.5404 12.6161 19.0261 12.7818 18.3633 12.7818H16.3918Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              d: "M11 26V31.601C11 32.926 12.0446 34 13.3333 34H22.6667C23.9554 34 25 32.926 25 31.601V26C22.7984 26.523 20.4394 26.8029 18 26.8029C15.5606 26.8029 13.2016 26.523 11 26Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("ellipse", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "13.5",
              rx: "18",
              ry: "11.25",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.6775 18.9875H20.8833L18.4661 14.9418H18.1747H16.3918V18.9875H13.8718V6.98755H18.3633C20.009 6.98755 21.2204 7.31898 21.9975 7.98184C22.7747 8.63326 23.1633 9.54755 23.1633 10.7247C23.1633 11.6504 22.9575 12.4218 22.5461 13.039C22.1461 13.6561 21.5804 14.1247 20.849 14.4447L23.6775 18.9875ZM16.3918 9.13041V12.7818H18.3633C19.0261 12.7818 19.5404 12.6161 19.9061 12.2847C20.2833 11.9418 20.4718 11.4733 20.4718 10.879C20.4718 10.2961 20.289 9.86183 19.9233 9.57612C19.569 9.27898 18.9975 9.13041 18.209 9.13041H16.3918Z",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M11 26V31.601C11 32.926 12.0446 34 13.3333 34H22.6667C23.9554 34 25 32.926 25 31.601V26C22.7984 26.523 20.4394 26.8029 18 26.8029C15.5606 26.8029 13.2016 26.523 11 26Z",
            }),
          );
    }
    function k(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M18 24.75C27.9411 24.75 36 19.7132 36 13.5C36 7.2868 27.9411 2.25 18 2.25C8.05887 2.25 0 7.2868 0 13.5C0 19.7132 8.05887 24.75 18 24.75ZM14 19H23V16.7371H16.8149V7H14V19Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              d: "M11 26V31.601C11 32.926 12.0446 34 13.3333 34H22.6667C23.9554 34 25 32.926 25 31.601V26C22.7984 26.523 20.4394 26.8029 18 26.8029C15.5606 26.8029 13.2016 26.523 11 26Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("ellipse", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "13.5",
              rx: "18",
              ry: "11.25",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23 19H14V7H16.8149V16.7371H23V19Z",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M11 26V31.601C11 32.926 12.0446 34 13.3333 34H22.6667C23.9554 34 25 32.926 25 31.601V26C22.7984 26.523 20.4394 26.8029 18 26.8029C15.5606 26.8029 13.2016 26.523 11 26Z",
            }),
          );
    }
    function M(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M2 0C0.895431 0 0 0.895431 0 2V34C0 35.1046 0.895431 36 2 36H34C35.1046 36 36 35.1046 36 34V2C36 0.895431 35.1046 0 34 0H2ZM8.62341 24.75H17.0834V22.374H11.2694V12.15H8.62341V24.75ZM27.3111 19.854V12.15H24.8631L18.6891 20.16V21.888H24.6291V24.75H27.3111V21.888H29.1291V19.854H27.3111ZM21.2631 19.854L24.7371 15.3V19.854H21.2631Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 2C0 0.895431 0.895431 0 2 0H34C35.1046 0 36 0.895431 36 2V34C36 35.1046 35.1046 36 34 36H2C0.895431 36 0 35.1046 0 34V2Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.0834 24.75H8.62341V12.15H11.2694V22.374H17.0834V24.75Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M27.3111 12.15V19.854H29.1291V21.888H27.3111V24.75H24.6291V21.888H18.6891V20.16L24.8631 12.15H27.3111ZM24.7371 15.3L21.2631 19.854H24.7371V15.3Z",
            }),
          );
    }
    function P(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M2 0C0.895431 0 0 0.895431 0 2V34C0 35.1046 0.895431 36 2 36H34C35.1046 36 36 35.1046 36 34V2C36 0.895431 35.1046 0 34 0H2ZM8.23669 24.75H16.6967V22.374H10.8827V12.15H8.23669V24.75ZM27.3744 14.4V12.15H19.3284V18.648L21.0024 19.566C21.3744 19.266 21.7524 19.044 22.1364 18.9C22.5204 18.744 22.9404 18.666 23.3964 18.666C24.0084 18.666 24.4884 18.828 24.8364 19.152C25.1964 19.476 25.3764 19.944 25.3764 20.556C25.3764 21.252 25.1424 21.786 24.6744 22.158C24.2064 22.53 23.5464 22.716 22.6944 22.716C21.5664 22.716 20.5404 22.404 19.6164 21.78L18.6804 23.796C19.1484 24.192 19.7364 24.498 20.4444 24.714C21.1524 24.93 21.9144 25.038 22.7304 25.038C23.8344 25.038 24.7884 24.852 25.5924 24.48C26.4084 24.096 27.0264 23.562 27.4464 22.878C27.8784 22.194 28.0944 21.396 28.0944 20.484C28.0944 19.26 27.7524 18.33 27.0684 17.694C26.3964 17.046 25.4964 16.722 24.3684 16.722C23.9244 16.722 23.4804 16.776 23.0364 16.884C22.6044 16.98 22.2144 17.136 21.8664 17.352V14.4H27.3744Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 2C0 0.895431 0.895431 0 2 0H34C35.1046 0 36 0.895431 36 2V34C36 35.1046 35.1046 36 34 36H2C0.895431 36 0 35.1046 0 34V2Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M16.6967 24.75H8.23669V12.15H10.8827V22.374H16.6967V24.75Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M27.3744 12.15V14.4H21.8664V17.352C22.2144 17.136 22.6044 16.98 23.0364 16.884C23.4804 16.776 23.9244 16.722 24.3684 16.722C25.4964 16.722 26.3964 17.046 27.0684 17.694C27.7524 18.33 28.0944 19.26 28.0944 20.484C28.0944 21.396 27.8784 22.194 27.4464 22.878C27.0264 23.562 26.4084 24.096 25.5924 24.48C24.7884 24.852 23.8344 25.038 22.7304 25.038C21.9144 25.038 21.1524 24.93 20.4444 24.714C19.7364 24.498 19.1484 24.192 18.6804 23.796L19.6164 21.78C20.5404 22.404 21.5664 22.716 22.6944 22.716C23.5464 22.716 24.2064 22.53 24.6744 22.158C25.1424 21.786 25.3764 21.252 25.3764 20.556C25.3764 19.944 25.1964 19.476 24.8364 19.152C24.4884 18.828 24.0084 18.666 23.3964 18.666C22.9404 18.666 22.5204 18.744 22.1364 18.9C21.7524 19.044 21.3744 19.266 21.0024 19.566L19.3284 18.648V12.15H27.3744Z",
            }),
          );
    }
    function L(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M2 0C0.895431 0 0 0.895431 0 2V34C0 35.1046 0.895431 36 2 36H34C35.1046 36 36 35.1046 36 34V2C36 0.895431 35.1046 0 34 0H2ZM14.5176 24.75H17.4516L14.4816 19.98C15.2496 19.644 15.8436 19.152 16.2636 18.504C16.6956 17.856 16.9116 17.046 16.9116 16.074C16.9116 14.838 16.5036 13.878 15.6876 13.194C14.8716 12.498 13.5996 12.15 11.8716 12.15H7.15564V24.75H9.80164V20.502H11.6736H11.9796L14.5176 24.75ZM9.80164 18.234V14.4H11.7096C12.5376 14.4 13.1376 14.556 13.5096 14.868C13.8936 15.168 14.0856 15.624 14.0856 16.236C14.0856 16.86 13.8876 17.352 13.4916 17.712C13.1076 18.06 12.5676 18.234 11.8716 18.234H9.80164ZM27.6539 19.854V12.15H25.2059L19.0319 20.16V21.888H24.9719V24.75H27.6539V21.888H29.4719V19.854H27.6539ZM21.6059 19.854L25.0799 15.3V19.854H21.6059Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 2C0 0.895431 0.895431 0 2 0H34C35.1046 0 36 0.895431 36 2V34C36 35.1046 35.1046 36 34 36H2C0.895431 36 0 35.1046 0 34V2Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.4516 24.75H14.5176L11.9796 20.502H11.6736H9.80164V24.75H7.15564V12.15H11.8716C13.5996 12.15 14.8716 12.498 15.6876 13.194C16.5036 13.878 16.9116 14.838 16.9116 16.074C16.9116 17.046 16.6956 17.856 16.2636 18.504C15.8436 19.152 15.2496 19.644 14.4816 19.98L17.4516 24.75ZM9.80164 14.4V18.234H11.8716C12.5676 18.234 13.1076 18.06 13.4916 17.712C13.8876 17.352 14.0856 16.86 14.0856 16.236C14.0856 15.624 13.8936 15.168 13.5096 14.868C13.1376 14.556 12.5376 14.4 11.7096 14.4H9.80164Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M27.6539 12.15V19.854H29.4719V21.888H27.6539V24.75H24.9719V21.888H19.0319V20.16L25.2059 12.15H27.6539ZM25.0799 15.3L21.6059 19.854H25.0799V15.3Z",
            }),
          );
    }
    function G(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M2 0C0.895431 0 0 0.895431 0 2V34C0 35.1046 0.895431 36 2 36H34C35.1046 36 36 35.1046 36 34V2C36 0.895431 35.1046 0 34 0H2ZM14.6934 24.75H17.6274L14.6574 19.98C15.4254 19.644 16.0194 19.152 16.4394 18.504C16.8714 17.856 17.0874 17.046 17.0874 16.074C17.0874 14.838 16.6794 13.878 15.8634 13.194C15.0474 12.498 13.7754 12.15 12.0474 12.15H7.33142V24.75H9.97742V20.502H11.8494H12.1554L14.6934 24.75ZM9.97742 18.234V14.4H11.8854C12.7134 14.4 13.3134 14.556 13.6854 14.868C14.0694 15.168 14.2614 15.624 14.2614 16.236C14.2614 16.86 14.0634 17.352 13.6674 17.712C13.2834 18.06 12.7434 18.234 12.0474 18.234H9.97742ZM28.2797 14.4V12.15H20.2337V18.648L21.9077 19.566C22.2797 19.266 22.6577 19.044 23.0417 18.9C23.4257 18.744 23.8457 18.666 24.3017 18.666C24.9137 18.666 25.3937 18.828 25.7417 19.152C26.1017 19.476 26.2817 19.944 26.2817 20.556C26.2817 21.252 26.0477 21.786 25.5797 22.158C25.1117 22.53 24.4517 22.716 23.5997 22.716C22.4717 22.716 21.4457 22.404 20.5217 21.78L19.5857 23.796C20.0537 24.192 20.6417 24.498 21.3497 24.714C22.0577 24.93 22.8197 25.038 23.6357 25.038C24.7397 25.038 25.6937 24.852 26.4977 24.48C27.3137 24.096 27.9317 23.562 28.3517 22.878C28.7837 22.194 28.9997 21.396 28.9997 20.484C28.9997 19.26 28.6577 18.33 27.9737 17.694C27.3017 17.046 26.4017 16.722 25.2737 16.722C24.8297 16.722 24.3857 16.776 23.9417 16.884C23.5097 16.98 23.1197 17.136 22.7717 17.352V14.4H28.2797Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M0 2C0 0.895431 0.895431 0 2 0H34C35.1046 0 36 0.895431 36 2V34C36 35.1046 35.1046 36 34 36H2C0.895431 36 0 35.1046 0 34V2Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.6274 24.75H14.6934L12.1554 20.502H11.8494H9.97742V24.75H7.33142V12.15H12.0474C13.7754 12.15 15.0474 12.498 15.8634 13.194C16.6794 13.878 17.0874 14.838 17.0874 16.074C17.0874 17.046 16.8714 17.856 16.4394 18.504C16.0194 19.152 15.4254 19.644 14.6574 19.98L17.6274 24.75ZM9.97742 14.4V18.234H12.0474C12.7434 18.234 13.2834 18.06 13.6674 17.712C14.0634 17.352 14.2614 16.86 14.2614 16.236C14.2614 15.624 14.0694 15.168 13.6854 14.868C13.3134 14.556 12.7134 14.4 11.8854 14.4H9.97742Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M28.2797 12.15V14.4H22.7717V17.352C23.1197 17.136 23.5097 16.98 23.9417 16.884C24.3857 16.776 24.8297 16.722 25.2737 16.722C26.4017 16.722 27.3017 17.046 27.9737 17.694C28.6577 18.33 28.9997 19.26 28.9997 20.484C28.9997 21.396 28.7837 22.194 28.3517 22.878C27.9317 23.562 27.3137 24.096 26.4977 24.48C25.6937 24.852 24.7397 25.038 23.6357 25.038C22.8197 25.038 22.0577 24.93 21.3497 24.714C20.6417 24.498 20.0537 24.192 19.5857 23.796L20.5217 21.78C21.4457 22.404 22.4717 22.716 23.5997 22.716C24.4517 22.716 25.1117 22.53 25.5797 22.158C26.0477 21.786 26.2817 21.252 26.2817 20.556C26.2817 19.944 26.1017 19.476 25.7417 19.152C25.3937 18.828 24.9137 18.666 24.3017 18.666C23.8457 18.666 23.4257 18.744 23.0417 18.9C22.6577 19.044 22.2797 19.266 21.9077 19.566L20.2337 18.648V12.15H28.2797Z",
            }),
          );
    }
    function N(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M5.73583 3C3.6326 3 1.88863 4.6288 1.74515 6.72713L0.292161 27.9771C0.134133 30.2883 1.96629 32.25 4.28284 32.25H31.7172C34.0337 32.25 35.8659 30.2883 35.7078 27.9771L34.2548 6.72713C34.1114 4.6288 32.3674 3 30.2642 3H5.73583ZM14.8236 24.0625H23.2836V21.6865H17.4696V11.4625H14.8236V24.0625Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M1.74515 6.72713C1.88863 4.6288 3.6326 3 5.73584 3H30.2642C32.3674 3 34.1114 4.6288 34.2548 6.72713L35.7078 27.9771C35.8659 30.2883 34.0337 32.25 31.7172 32.25H4.28284C1.96629 32.25 0.134134 30.2883 0.292162 27.9771L1.74515 6.72713Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.2836 24.0625H14.8236V11.4625H17.4696V21.6865H23.2836V24.0625Z",
            }),
          );
    }
    function F(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M6.6282 8C4.52356 8 2.77893 9.6309 2.63727 11.7308L1.28806 31.7308C1.13224 34.0406 2.96389 36 5.27899 36H30.7211C33.0362 36 34.8679 34.0406 34.7121 31.7308L33.3629 11.7308C33.2212 9.63091 31.4766 8 29.3719 8H6.6282ZM14.8237 28.0625H23.2837V25.6865H17.4697V15.4625H14.8237V28.0625Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              d: "M24 0H12L18 6L24 0Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M2.63721 11.7308C2.77887 9.6309 4.5235 8 6.62814 8H29.3719C31.4765 8 33.2211 9.63091 33.3628 11.7308L34.712 31.7308C34.8678 34.0406 33.0362 36 30.7211 36H5.27893C2.96382 36 1.13218 34.0406 1.288 31.7308L2.63721 11.7308Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.2836 28.0625H14.8236V15.4625H17.4696V25.6865H23.2836V28.0625Z",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M24 0H12L18 6L24 0Z",
            }),
          );
    }
    function x(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M5.7359 3C3.63266 3 1.88869 4.6288 1.74521 6.72713L0.292222 27.9771C0.134194 30.2883 1.96635 32.25 4.2829 32.25H31.7172C34.0338 32.25 35.8659 30.2883 35.7079 27.9771L34.2549 6.72713C34.1114 4.6288 32.3675 3 30.2642 3H5.7359ZM20.7179 24.0625H23.6519L20.6819 19.2925C21.4499 18.9565 22.0439 18.4645 22.4639 17.8165C22.8959 17.1685 23.1119 16.3585 23.1119 15.3865C23.1119 14.1505 22.7039 13.1905 21.8879 12.5065C21.0719 11.8105 19.7999 11.4625 18.0719 11.4625H13.3559V24.0625H16.0019V19.8145H17.8739H18.1799L20.7179 24.0625ZM16.0019 17.5465V13.7125H17.9099C18.7379 13.7125 19.3379 13.8685 19.7099 14.1805C20.0939 14.4805 20.2859 14.9365 20.2859 15.5485C20.2859 16.1725 20.0879 16.6645 19.6919 17.0245C19.3079 17.3725 18.7679 17.5465 18.0719 17.5465H16.0019Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M1.74515 6.72713C1.88863 4.6288 3.6326 3 5.73584 3H30.2642C32.3674 3 34.1114 4.6288 34.2548 6.72713L35.7078 27.9771C35.8659 30.2883 34.0337 32.25 31.7172 32.25H4.28284C1.96629 32.25 0.134134 30.2883 0.292162 27.9771L1.74515 6.72713Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.6518 24.0625H20.7178L18.1798 19.8145H17.8738H16.0018V24.0625H13.3558V11.4625H18.0718C19.7998 11.4625 21.0718 11.8105 21.8878 12.5065C22.7038 13.1905 23.1118 14.1505 23.1118 15.3865C23.1118 16.3585 22.8958 17.1685 22.4638 17.8165C22.0438 18.4645 21.4498 18.9565 20.6818 19.2925L23.6518 24.0625ZM16.0018 13.7125V17.5465H18.0718C18.7678 17.5465 19.3078 17.3725 19.6918 17.0245C20.0878 16.6645 20.2858 16.1725 20.2858 15.5485C20.2858 14.9365 20.0938 14.4805 19.7098 14.1805C19.3378 13.8685 18.7378 13.7125 17.9098 13.7125H16.0018Z",
            }),
          );
    }
    function z(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fill: "currentColor",
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M6.6282 8C4.52356 8 2.77893 9.6309 2.63727 11.7308L1.28806 31.7308C1.13224 34.0406 2.96389 36 5.27899 36H30.7211C33.0362 36 34.8679 34.0406 34.7121 31.7308L33.3629 11.7308C33.2212 9.63091 31.4766 8 29.3719 8H6.6282ZM20.7179 28.0625H23.6519L20.6819 23.2925C21.4499 22.9565 22.0439 22.4645 22.4639 21.8165C22.8959 21.1685 23.1119 20.3585 23.1119 19.3865C23.1119 18.1505 22.7039 17.1905 21.8879 16.5065C21.0719 15.8105 19.7999 15.4625 18.0719 15.4625H13.3559V28.0625H16.0019V23.8145H17.8739H18.1799L20.7179 28.0625ZM16.0019 21.5465V17.7125H17.9099C18.7379 17.7125 19.3379 17.8685 19.7099 18.1805C20.0939 18.4805 20.2859 18.9365 20.2859 19.5485C20.2859 20.1725 20.0879 20.6645 19.6919 21.0245C19.3079 21.3725 18.7679 21.5465 18.0719 21.5465H16.0019Z",
            }),
            s.createElement("path", {
              fill: "currentColor",
              d: "M24 0H12L18 6L24 0Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M2.63721 11.7308C2.77887 9.6309 4.5235 8 6.62814 8H29.3719C31.4765 8 33.2211 9.63091 33.3628 11.7308L34.712 31.7308C34.8678 34.0406 33.0362 36 30.7211 36H5.27893C2.96382 36 1.13218 34.0406 1.288 31.7308L2.63721 11.7308Z",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M23.6518 28.0625H20.7178L18.1798 23.8145H17.8738H16.0018V28.0625H13.3558V15.4625H18.0718C19.7998 15.4625 21.0718 15.8105 21.8878 16.5065C22.7038 17.1905 23.1118 18.1505 23.1118 19.3865C23.1118 20.3585 22.8958 21.1685 22.4638 21.8165C22.0438 22.4645 21.4498 22.9565 20.6818 23.2925L23.6518 28.0625ZM16.0018 17.7125V21.5465H18.0718C18.7678 21.5465 19.3078 21.3725 19.6918 21.0245C20.0878 20.6645 20.2858 20.1725 20.2858 19.5485C20.2858 18.9365 20.0938 18.4805 19.7098 18.1805C19.3378 17.8685 18.7378 17.7125 17.9098 17.7125H16.0018Z",
            }),
            s.createElement("path", {
              className: c.a.Background,
              fill: "currentColor",
              d: "M24 0H12L18 6L24 0Z",
            }),
          );
    }
    function U(e) {
      var { bIsKnockout: t } = e,
        n = Object(i.c)(e, ["bIsKnockout"]);
      return t
        ? s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              fill: "currentColor",
              d: "M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM20.4999 10.8201C19.7519 10.4974 18.8719 10.3361 17.8599 10.3361C16.9799 10.3361 16.1219 10.4681 15.2859 10.7321C14.4499 10.9961 13.7166 11.3407 13.0859 11.7661L14.0759 13.9881C15.0586 13.2547 16.1073 12.8881 17.2219 12.8881C17.9699 12.8881 18.5493 13.0494 18.9599 13.3721C19.3853 13.6801 19.5979 14.1201 19.5979 14.6921C19.5979 15.1027 19.4953 15.4474 19.2899 15.7261C19.0846 16.0047 18.7693 16.3201 18.3439 16.6721C17.8893 17.0681 17.5153 17.4347 17.2219 17.7721C16.9286 18.1094 16.6793 18.5641 16.4739 19.1361C16.2686 19.7081 16.1659 20.4047 16.1659 21.2261H18.8499C18.8499 20.6541 18.9453 20.1554 19.1359 19.7301C19.3266 19.2901 19.5539 18.9234 19.8179 18.6301C20.0966 18.3221 20.4633 17.9701 20.9179 17.5741C21.3579 17.1781 21.7026 16.8407 21.9519 16.5621C22.2159 16.2834 22.4359 15.9461 22.6119 15.5501C22.7879 15.1541 22.8759 14.6994 22.8759 14.1861C22.8759 13.4234 22.6706 12.7561 22.2599 12.1841C21.8493 11.5974 21.2626 11.1427 20.4999 10.8201ZM18.7839 23.2721C18.4759 22.9494 18.0653 22.7881 17.5519 22.7881C17.0386 22.7881 16.6279 22.9494 16.3199 23.2721C16.0119 23.5801 15.8579 23.9907 15.8579 24.5041C15.8579 25.0467 16.0119 25.4794 16.3199 25.8021C16.6279 26.1101 17.0386 26.2641 17.5519 26.2641C18.0653 26.2641 18.4759 26.1101 18.7839 25.8021C19.0919 25.4794 19.2459 25.0467 19.2459 24.5041C19.2459 23.9907 19.0919 23.5801 18.7839 23.2721Z",
            }),
          )
        : s.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            s.createElement("circle", {
              className: c.a.Background,
              fill: "currentColor",
              cx: "18",
              cy: "18",
              r: "18",
            }),
            s.createElement("path", {
              className: c.a.Foreground,
              fill: "currentColor",
              d: "M17.8599 10.3361C18.8719 10.3361 19.7519 10.4974 20.4999 10.8201C21.2626 11.1427 21.8493 11.5974 22.2599 12.1841C22.6706 12.7561 22.8759 13.4234 22.8759 14.1861C22.8759 14.6994 22.7879 15.1541 22.6119 15.5501C22.4359 15.9461 22.2159 16.2834 21.9519 16.5621C21.7026 16.8407 21.3579 17.1781 20.9179 17.5741C20.4633 17.9701 20.0966 18.3221 19.8179 18.6301C19.5539 18.9234 19.3266 19.2901 19.1359 19.7301C18.9453 20.1554 18.8499 20.6541 18.8499 21.2261H16.1659C16.1659 20.4047 16.2686 19.7081 16.4739 19.1361C16.6793 18.5641 16.9286 18.1094 17.2219 17.7721C17.5153 17.4347 17.8893 17.0681 18.3439 16.6721C18.7693 16.3201 19.0846 16.0047 19.2899 15.7261C19.4953 15.4474 19.5979 15.1027 19.5979 14.6921C19.5979 14.1201 19.3853 13.6801 18.9599 13.3721C18.5493 13.0494 17.9699 12.8881 17.2219 12.8881C16.1073 12.8881 15.0586 13.2547 14.0759 13.9881L13.0859 11.7661C13.7166 11.3407 14.4499 10.9961 15.2859 10.7321C16.1219 10.4681 16.9799 10.3361 17.8599 10.3361ZM17.5519 22.7881C18.0653 22.7881 18.4759 22.9494 18.7839 23.2721C19.0919 23.5801 19.2459 23.9907 19.2459 24.5041C19.2459 25.0467 19.0919 25.4794 18.7839 25.8021C18.4759 26.1101 18.0653 26.2641 17.5519 26.2641C17.0386 26.2641 16.6279 26.1101 16.3199 25.8021C16.0119 25.4794 15.8579 25.0467 15.8579 24.5041C15.8579 23.9907 16.0119 23.5801 16.3199 23.2721C16.6279 22.9494 17.0386 22.7881 17.5519 22.7881Z",
            }),
          );
    }
    !(function (e) {
      (e[(e.Knockout = 0)] = "Knockout"),
        (e[(e.Light = 1)] = "Light"),
        (e[(e.Dark = 2)] = "Dark");
    })(a || (a = {})),
      (function (e) {
        (e[(e.Small = 0)] = "Small"),
          (e[(e.Medium = 1)] = "Medium"),
          (e[(e.Large = 2)] = "Large");
      })(r || (r = {}));
  },
  "5eHa": function (e, t, n) {
    "use strict";
    var a;
    n.r(t);
    function r(e, t, n) {
      null != e &&
        ("number" == typeof e
          ? this.fromNumber(e, t, n)
          : null == t && "string" != typeof e
            ? this.fromString(e, 256)
            : this.fromString(e, t));
    }
    function i() {
      return new r(null);
    }
    "Microsoft Internet Explorer" == navigator.appName
      ? ((r.prototype.am = function (e, t, n, a, r, i) {
          for (var s = 32767 & t, o = t >> 15; --i >= 0; ) {
            var l = 32767 & this[e],
              c = this[e++] >> 15,
              d = o * l + c * s;
            (r =
              ((l = s * l + ((32767 & d) << 15) + n[a] + (1073741823 & r)) >>>
                30) +
              (d >>> 15) +
              o * c +
              (r >>> 30)),
              (n[a++] = 1073741823 & l);
          }
          return r;
        }),
        (a = 30))
      : "Netscape" != navigator.appName
        ? ((r.prototype.am = function (e, t, n, a, r, i) {
            for (; --i >= 0; ) {
              var s = t * this[e++] + n[a] + r;
              (r = Math.floor(s / 67108864)), (n[a++] = 67108863 & s);
            }
            return r;
          }),
          (a = 26))
        : ((r.prototype.am = function (e, t, n, a, r, i) {
            for (var s = 16383 & t, o = t >> 14; --i >= 0; ) {
              var l = 16383 & this[e],
                c = this[e++] >> 14,
                d = o * l + c * s;
              (r =
                ((l = s * l + ((16383 & d) << 14) + n[a] + r) >> 28) +
                (d >> 14) +
                o * c),
                (n[a++] = 268435455 & l);
            }
            return r;
          }),
          (a = 28)),
      (r.prototype.DB = a),
      (r.prototype.DM = (1 << a) - 1),
      (r.prototype.DV = 1 << a);
    (r.prototype.FV = Math.pow(2, 52)),
      (r.prototype.F1 = 52 - a),
      (r.prototype.F2 = 2 * a - 52);
    var s,
      o,
      l = new Array();
    for (s = "0".charCodeAt(0), o = 0; o <= 9; ++o) l[s++] = o;
    for (s = "a".charCodeAt(0), o = 10; o < 36; ++o) l[s++] = o;
    for (s = "A".charCodeAt(0), o = 10; o < 36; ++o) l[s++] = o;
    function c(e) {
      return "0123456789abcdefghijklmnopqrstuvwxyz".charAt(e);
    }
    function d(e, t) {
      var n = l[e.charCodeAt(t)];
      return null == n ? -1 : n;
    }
    function u(e) {
      var t = i();
      return t.fromInt(e), t;
    }
    function m(e) {
      var t,
        n = 1;
      return (
        0 != (t = e >>> 16) && ((e = t), (n += 16)),
        0 != (t = e >> 8) && ((e = t), (n += 8)),
        0 != (t = e >> 4) && ((e = t), (n += 4)),
        0 != (t = e >> 2) && ((e = t), (n += 2)),
        0 != (t = e >> 1) && ((e = t), (n += 1)),
        n
      );
    }
    function p(e) {
      this.m = e;
    }
    function h(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 _(e, t) {
      return 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) {
      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 y() {}
    function E(e) {
      return e;
    }
    function C(e) {
      (this.r2 = i()),
        (this.q3 = i()),
        r.ONE.dlShiftTo(2 * e.t, this.r2),
        (this.mu = this.r2.divide(e)),
        (this.m = e);
    }
    (p.prototype.convert = function (e) {
      return e.s < 0 || e.compareTo(this.m) >= 0 ? e.mod(this.m) : e;
    }),
      (p.prototype.revert = function (e) {
        return e;
      }),
      (p.prototype.reduce = function (e) {
        e.divRemTo(this.m, null, e);
      }),
      (p.prototype.mulTo = function (e, t, n) {
        e.multiplyTo(t, n), this.reduce(n);
      }),
      (p.prototype.sqrTo = function (e, t) {
        e.squareTo(t), this.reduce(t);
      }),
      (h.prototype.convert = function (e) {
        var t = i();
        return (
          e.abs().dlShiftTo(this.m.t, t),
          t.divRemTo(this.m, null, t),
          e.s < 0 && t.compareTo(r.ZERO) > 0 && this.m.subTo(t, t),
          t
        );
      }),
      (h.prototype.revert = function (e) {
        var t = i();
        return e.copyTo(t), this.reduce(t), t;
      }),
      (h.prototype.reduce = function (e) {
        for (; e.t <= this.mt2; ) e[e.t++] = 0;
        for (var t = 0; t < this.m.t; ++t) {
          var n = 32767 & e[t],
            a =
              (n * this.mpl +
                (((n * this.mph + (e[t] >> 15) * this.mpl) & this.um) << 15)) &
              e.DM;
          for (
            e[(n = t + this.m.t)] += this.m.am(0, a, e, t, 0, this.m.t);
            e[n] >= e.DV;
          )
            (e[n] -= e.DV), e[++n]++;
        }
        e.clamp(),
          e.drShiftTo(this.m.t, e),
          e.compareTo(this.m) >= 0 && e.subTo(this.m, e);
      }),
      (h.prototype.mulTo = function (e, t, n) {
        e.multiplyTo(t, n), this.reduce(n);
      }),
      (h.prototype.sqrTo = function (e, t) {
        e.squareTo(t), this.reduce(t);
      }),
      (r.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);
      }),
      (r.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);
      }),
      (r.prototype.fromString = function (e, t) {
        var n;
        if (16 == t) n = 4;
        else if (8 == t) n = 3;
        else if (256 == t) n = 8;
        else if (2 == t) n = 1;
        else if (32 == t) n = 5;
        else {
          if (4 != t) return void this.fromRadix(e, t);
          n = 2;
        }
        (this.t = 0), (this.s = 0);
        for (var a = e.length, i = !1, s = 0; --a >= 0; ) {
          var o = 8 == n ? 255 & e[a] : d(e, a);
          o < 0
            ? "-" == e.charAt(a) && (i = !0)
            : ((i = !1),
              0 == s
                ? (this[this.t++] = o)
                : s + n > 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 += n) >= this.DB && (s -= this.DB));
        }
        8 == n &&
          0 != (128 & e[0]) &&
          ((this.s = -1),
          s > 0 && (this[this.t - 1] |= ((1 << (this.DB - s)) - 1) << s)),
          this.clamp(),
          i && r.ZERO.subTo(this, this);
      }),
      (r.prototype.clamp = function () {
        for (var e = this.s & this.DM; this.t > 0 && this[this.t - 1] == e; )
          --this.t;
      }),
      (r.prototype.dlShiftTo = function (e, t) {
        var n;
        for (n = this.t - 1; n >= 0; --n) t[n + e] = this[n];
        for (n = e - 1; n >= 0; --n) t[n] = 0;
        (t.t = this.t + e), (t.s = this.s);
      }),
      (r.prototype.drShiftTo = function (e, t) {
        for (var n = e; n < this.t; ++n) t[n - e] = this[n];
        (t.t = Math.max(this.t - e, 0)), (t.s = this.s);
      }),
      (r.prototype.lShiftTo = function (e, t) {
        var n,
          a = e % this.DB,
          r = this.DB - a,
          i = (1 << r) - 1,
          s = Math.floor(e / this.DB),
          o = (this.s << a) & this.DM;
        for (n = this.t - 1; n >= 0; --n)
          (t[n + s + 1] = (this[n] >> r) | o), (o = (this[n] & i) << a);
        for (n = s - 1; n >= 0; --n) t[n] = 0;
        (t[s] = o), (t.t = this.t + s + 1), (t.s = this.s), t.clamp();
      }),
      (r.prototype.rShiftTo = function (e, t) {
        t.s = this.s;
        var n = Math.floor(e / this.DB);
        if (n >= this.t) t.t = 0;
        else {
          var a = e % this.DB,
            r = this.DB - a,
            i = (1 << a) - 1;
          t[0] = this[n] >> a;
          for (var s = n + 1; s < this.t; ++s)
            (t[s - n - 1] |= (this[s] & i) << r), (t[s - n] = this[s] >> a);
          a > 0 && (t[this.t - n - 1] |= (this.s & i) << r),
            (t.t = this.t - n),
            t.clamp();
        }
      }),
      (r.prototype.subTo = function (e, t) {
        for (var n = 0, a = 0, r = Math.min(e.t, this.t); n < r; )
          (a += this[n] - e[n]), (t[n++] = a & this.DM), (a >>= this.DB);
        if (e.t < this.t) {
          for (a -= e.s; n < this.t; )
            (a += this[n]), (t[n++] = a & this.DM), (a >>= this.DB);
          a += this.s;
        } else {
          for (a += this.s; n < e.t; )
            (a -= e[n]), (t[n++] = a & this.DM), (a >>= this.DB);
          a -= e.s;
        }
        (t.s = a < 0 ? -1 : 0),
          a < -1 ? (t[n++] = this.DV + a) : a > 0 && (t[n++] = a),
          (t.t = n),
          t.clamp();
      }),
      (r.prototype.multiplyTo = function (e, t) {
        var n = this.abs(),
          a = e.abs(),
          i = n.t;
        for (t.t = i + a.t; --i >= 0; ) t[i] = 0;
        for (i = 0; i < a.t; ++i) t[i + n.t] = n.am(0, a[i], t, i, 0, n.t);
        (t.s = 0), t.clamp(), this.s != e.s && r.ZERO.subTo(t, t);
      }),
      (r.prototype.squareTo = function (e) {
        for (var t = this.abs(), n = (e.t = 2 * t.t); --n >= 0; ) e[n] = 0;
        for (n = 0; n < t.t - 1; ++n) {
          var a = t.am(n, t[n], e, 2 * n, 0, 1);
          (e[n + t.t] += t.am(n + 1, 2 * t[n], e, 2 * n + 1, a, t.t - n - 1)) >=
            t.DV && ((e[n + t.t] -= t.DV), (e[n + t.t + 1] = 1));
        }
        e.t > 0 && (e[e.t - 1] += t.am(n, t[n], e, 2 * n, 0, 1)),
          (e.s = 0),
          e.clamp();
      }),
      (r.prototype.divRemTo = function (e, t, n) {
        var a = e.abs();
        if (!(a.t <= 0)) {
          var s = this.abs();
          if (s.t < a.t)
            return (
              null != t && t.fromInt(0), void (null != n && this.copyTo(n))
            );
          null == n && (n = i());
          var o = i(),
            l = this.s,
            c = e.s,
            d = this.DB - m(a[a.t - 1]);
          d > 0
            ? (a.lShiftTo(d, o), s.lShiftTo(d, n))
            : (a.copyTo(o), s.copyTo(n));
          var u = o.t,
            p = o[u - 1];
          if (0 != p) {
            var h = p * (1 << this.F1) + (u > 1 ? o[u - 2] >> this.F2 : 0),
              _ = this.FV / h,
              g = (1 << this.F1) / h,
              b = 1 << this.F2,
              f = n.t,
              v = f - u,
              S = null == t ? i() : t;
            for (
              o.dlShiftTo(v, S),
                n.compareTo(S) >= 0 && ((n[n.t++] = 1), n.subTo(S, n)),
                r.ONE.dlShiftTo(u, S),
                S.subTo(o, o);
              o.t < u;
            )
              o[o.t++] = 0;
            for (; --v >= 0; ) {
              var y =
                n[--f] == p
                  ? this.DM
                  : Math.floor(n[f] * _ + (n[f - 1] + b) * g);
              if ((n[f] += o.am(0, y, n, v, 0, u)) < y)
                for (o.dlShiftTo(v, S), n.subTo(S, n); n[f] < --y; )
                  n.subTo(S, n);
            }
            null != t && (n.drShiftTo(u, t), l != c && r.ZERO.subTo(t, t)),
              (n.t = u),
              n.clamp(),
              d > 0 && n.rShiftTo(d, n),
              l < 0 && r.ZERO.subTo(n, n);
          }
        }
      }),
      (r.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;
      }),
      (r.prototype.isEven = function () {
        return 0 == (this.t > 0 ? 1 & this[0] : this.s);
      }),
      (r.prototype.exp = function (e, t) {
        if (e > 4294967295 || e < 1) return r.ONE;
        var n = i(),
          a = i(),
          s = t.convert(this),
          o = m(e) - 1;
        for (s.copyTo(n); --o >= 0; )
          if ((t.sqrTo(n, a), (e & (1 << o)) > 0)) t.mulTo(a, s, n);
          else {
            var l = n;
            (n = a), (a = l);
          }
        return t.revert(n);
      }),
      (r.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 n,
          a = (1 << t) - 1,
          r = !1,
          i = "",
          s = this.t,
          o = this.DB - ((s * this.DB) % t);
        if (s-- > 0)
          for (
            o < this.DB && (n = this[s] >> o) > 0 && ((r = !0), (i = c(n)));
            s >= 0;
          )
            o < t
              ? ((n = (this[s] & ((1 << o) - 1)) << (t - o)),
                (n |= this[--s] >> (o += this.DB - t)))
              : ((n = (this[s] >> (o -= t)) & a),
                o <= 0 && ((o += this.DB), --s)),
              n > 0 && (r = !0),
              r && (i += c(n));
        return r ? i : "0";
      }),
      (r.prototype.negate = function () {
        var e = i();
        return r.ZERO.subTo(this, e), e;
      }),
      (r.prototype.abs = function () {
        return this.s < 0 ? this.negate() : this;
      }),
      (r.prototype.compareTo = function (e) {
        var t = this.s - e.s;
        if (0 != t) return t;
        var n = this.t;
        if (0 != (t = n - e.t)) return t;
        for (; --n >= 0; ) if (0 != (t = this[n] - e[n])) return t;
        return 0;
      }),
      (r.prototype.bitLength = function () {
        return this.t <= 0
          ? 0
          : this.DB * (this.t - 1) + m(this[this.t - 1] ^ (this.s & this.DM));
      }),
      (r.prototype.mod = function (e) {
        var t = i();
        return (
          this.abs().divRemTo(e, null, t),
          this.s < 0 && t.compareTo(r.ZERO) > 0 && e.subTo(t, t),
          t
        );
      }),
      (r.prototype.modPowInt = function (e, t) {
        var n;
        return (
          (n = e < 256 || t.isEven() ? new p(t) : new h(t)), this.exp(e, n)
        );
      }),
      (r.ZERO = u(0)),
      (r.ONE = u(1)),
      (y.prototype.convert = E),
      (y.prototype.revert = E),
      (y.prototype.mulTo = function (e, t, n) {
        e.multiplyTo(t, n);
      }),
      (y.prototype.sqrTo = function (e, t) {
        e.squareTo(t);
      }),
      (C.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 = i();
        return e.copyTo(t), this.reduce(t), t;
      }),
      (C.prototype.revert = function (e) {
        return e;
      }),
      (C.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);
      }),
      (C.prototype.mulTo = function (e, t, n) {
        e.multiplyTo(t, n), this.reduce(n);
      }),
      (C.prototype.sqrTo = function (e, t) {
        e.squareTo(t), this.reduce(t);
      });
    var w = [
        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,
      ],
      B = (1 << 26) / w[w.length - 1];
    (r.prototype.chunkSize = function (e) {
      return Math.floor((Math.LN2 * this.DB) / Math.log(e));
    }),
      (r.prototype.toRadix = function (e) {
        if ((null == e && (e = 10), 0 == this.signum() || e < 2 || e > 36))
          return "0";
        var t = this.chunkSize(e),
          n = Math.pow(e, t),
          a = u(n),
          r = i(),
          s = i(),
          o = "";
        for (this.divRemTo(a, r, s); r.signum() > 0; )
          (o = (n + s.intValue()).toString(e).substr(1) + o),
            r.divRemTo(a, r, s);
        return s.intValue().toString(e) + o;
      }),
      (r.prototype.fromRadix = function (e, t) {
        this.fromInt(0), null == t && (t = 10);
        for (
          var n = this.chunkSize(t),
            a = Math.pow(t, n),
            i = !1,
            s = 0,
            o = 0,
            l = 0;
          l < e.length;
          ++l
        ) {
          var c = d(e, l);
          c < 0
            ? "-" == e.charAt(l) && 0 == this.signum() && (i = !0)
            : ((o = t * o + c),
              ++s >= n &&
                (this.dMultiply(a), this.dAddOffset(o, 0), (s = 0), (o = 0)));
        }
        s > 0 && (this.dMultiply(Math.pow(t, s)), this.dAddOffset(o, 0)),
          i && r.ZERO.subTo(this, this);
      }),
      (r.prototype.fromNumber = function (e, t, n) {
        if ("number" == typeof t)
          if (e < 2) this.fromInt(1);
          else
            for (
              this.fromNumber(e, n),
                this.testBit(e - 1) ||
                  this.bitwiseTo(r.ONE.shiftLeft(e - 1), g, this),
                this.isEven() && this.dAddOffset(1, 0);
              !this.isProbablePrime(t);
            )
              this.dAddOffset(2, 0),
                this.bitLength() > e &&
                  this.subTo(r.ONE.shiftLeft(e - 1), this);
        else {
          var a = new Array(),
            i = 7 & e;
          (a.length = 1 + (e >> 3)),
            t.nextBytes(a),
            i > 0 ? (a[0] &= (1 << i) - 1) : (a[0] = 0),
            this.fromString(a, 256);
        }
      }),
      (r.prototype.bitwiseTo = function (e, t, n) {
        var a,
          r,
          i = Math.min(e.t, this.t);
        for (a = 0; a < i; ++a) n[a] = t(this[a], e[a]);
        if (e.t < this.t) {
          for (r = e.s & this.DM, a = i; a < this.t; ++a) n[a] = t(this[a], r);
          n.t = this.t;
        } else {
          for (r = this.s & this.DM, a = i; a < e.t; ++a) n[a] = t(r, e[a]);
          n.t = e.t;
        }
        (n.s = t(this.s, e.s)), n.clamp();
      }),
      (r.prototype.changeBit = function (e, t) {
        var n = r.ONE.shiftLeft(e);
        return this.bitwiseTo(n, t, n), n;
      }),
      (r.prototype.addTo = function (e, t) {
        for (var n = 0, a = 0, r = Math.min(e.t, this.t); n < r; )
          (a += this[n] + e[n]), (t[n++] = a & this.DM), (a >>= this.DB);
        if (e.t < this.t) {
          for (a += e.s; n < this.t; )
            (a += this[n]), (t[n++] = a & this.DM), (a >>= this.DB);
          a += this.s;
        } else {
          for (a += this.s; n < e.t; )
            (a += e[n]), (t[n++] = a & this.DM), (a >>= this.DB);
          a += e.s;
        }
        (t.s = a < 0 ? -1 : 0),
          a > 0 ? (t[n++] = a) : a < -1 && (t[n++] = this.DV + a),
          (t.t = n),
          t.clamp();
      }),
      (r.prototype.dMultiply = function (e) {
        (this[this.t] = this.am(0, e - 1, this, 0, 0, this.t)),
          ++this.t,
          this.clamp();
      }),
      (r.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];
      }),
      (r.prototype.multiplyLowerTo = function (e, t, n) {
        var a,
          r = Math.min(this.t + e.t, t);
        for (n.s = 0, n.t = r; r > 0; ) n[--r] = 0;
        for (a = n.t - this.t; r < a; ++r)
          n[r + this.t] = this.am(0, e[r], n, r, 0, this.t);
        for (a = Math.min(e.t, t); r < a; ++r) this.am(0, e[r], n, r, 0, t - r);
        n.clamp();
      }),
      (r.prototype.multiplyUpperTo = function (e, t, n) {
        --t;
        var a = (n.t = this.t + e.t - t);
        for (n.s = 0; --a >= 0; ) n[a] = 0;
        for (a = Math.max(t - this.t, 0); a < e.t; ++a)
          n[this.t + a - t] = this.am(t - a, e[a], n, 0, 0, this.t + a - t);
        n.clamp(), n.drShiftTo(1, n);
      }),
      (r.prototype.modInt = function (e) {
        if (e <= 0) return 0;
        var t = this.DV % e,
          n = this.s < 0 ? e - 1 : 0;
        if (this.t > 0)
          if (0 == t) n = this[0] % e;
          else for (var a = this.t - 1; a >= 0; --a) n = (t * n + this[a]) % e;
        return n;
      }),
      (r.prototype.millerRabin = function (e) {
        var t = this.subtract(r.ONE),
          n = t.getLowestSetBit();
        if (n <= 0) return !1;
        var a = t.shiftRight(n);
        (e = (e + 1) >> 1) > w.length && (e = w.length);
        for (var s = i(), o = 0; o < e; ++o) {
          s.fromInt(w[o]);
          var l = s.modPow(a, this);
          if (0 != l.compareTo(r.ONE) && 0 != l.compareTo(t)) {
            for (var c = 1; c++ < n && 0 != l.compareTo(t); )
              if (0 == (l = l.modPowInt(2, this)).compareTo(r.ONE)) return !1;
            if (0 != l.compareTo(t)) return !1;
          }
        }
        return !0;
      }),
      (r.prototype.clone = function () {
        var e = i();
        return this.copyTo(e), e;
      }),
      (r.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];
      }),
      (r.prototype.byteValue = function () {
        return 0 == this.t ? this.s : (this[0] << 24) >> 24;
      }),
      (r.prototype.shortValue = function () {
        return 0 == this.t ? this.s : (this[0] << 16) >> 16;
      }),
      (r.prototype.signum = function () {
        return this.s < 0
          ? -1
          : this.t <= 0 || (1 == this.t && this[0] <= 0)
            ? 0
            : 1;
      }),
      (r.prototype.toByteArray = function () {
        var e = this.t,
          t = new Array();
        t[0] = this.s;
        var n,
          a = this.DB - ((e * this.DB) % 8),
          r = 0;
        if (e-- > 0)
          for (
            a < this.DB &&
            (n = this[e] >> a) != (this.s & this.DM) >> a &&
            (t[r++] = n | (this.s << (this.DB - a)));
            e >= 0;
          )
            a < 8
              ? ((n = (this[e] & ((1 << a) - 1)) << (8 - a)),
                (n |= this[--e] >> (a += this.DB - 8)))
              : ((n = (this[e] >> (a -= 8)) & 255),
                a <= 0 && ((a += this.DB), --e)),
              0 != (128 & n) && (n |= -256),
              0 == r && (128 & this.s) != (128 & n) && ++r,
              (r > 0 || n != this.s) && (t[r++] = n);
        return t;
      }),
      (r.prototype.equals = function (e) {
        return 0 == this.compareTo(e);
      }),
      (r.prototype.min = function (e) {
        return this.compareTo(e) < 0 ? this : e;
      }),
      (r.prototype.max = function (e) {
        return this.compareTo(e) > 0 ? this : e;
      }),
      (r.prototype.and = function (e) {
        var t = i();
        return this.bitwiseTo(e, _, t), t;
      }),
      (r.prototype.or = function (e) {
        var t = i();
        return this.bitwiseTo(e, g, t), t;
      }),
      (r.prototype.xor = function (e) {
        var t = i();
        return this.bitwiseTo(e, b, t), t;
      }),
      (r.prototype.andNot = function (e) {
        var t = i();
        return this.bitwiseTo(e, f, t), t;
      }),
      (r.prototype.not = function () {
        for (var e = i(), t = 0; t < this.t; ++t) e[t] = this.DM & ~this[t];
        return (e.t = this.t), (e.s = ~this.s), e;
      }),
      (r.prototype.shiftLeft = function (e) {
        var t = i();
        return e < 0 ? this.rShiftTo(-e, t) : this.lShiftTo(e, t), t;
      }),
      (r.prototype.shiftRight = function (e) {
        var t = i();
        return e < 0 ? this.lShiftTo(-e, t) : this.rShiftTo(e, t), t;
      }),
      (r.prototype.getLowestSetBit = function () {
        for (var e = 0; e < this.t; ++e)
          if (0 != this[e]) return e * this.DB + v(this[e]);
        return this.s < 0 ? this.t * this.DB : -1;
      }),
      (r.prototype.bitCount = function () {
        for (var e = 0, t = this.s & this.DM, n = 0; n < this.t; ++n)
          e += S(this[n] ^ t);
        return e;
      }),
      (r.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)));
      }),
      (r.prototype.setBit = function (e) {
        return this.changeBit(e, g);
      }),
      (r.prototype.clearBit = function (e) {
        return this.changeBit(e, f);
      }),
      (r.prototype.flipBit = function (e) {
        return this.changeBit(e, b);
      }),
      (r.prototype.add = function (e) {
        var t = i();
        return this.addTo(e, t), t;
      }),
      (r.prototype.subtract = function (e) {
        var t = i();
        return this.subTo(e, t), t;
      }),
      (r.prototype.multiply = function (e) {
        var t = i();
        return this.multiplyTo(e, t), t;
      }),
      (r.prototype.divide = function (e) {
        var t = i();
        return this.divRemTo(e, t, null), t;
      }),
      (r.prototype.remainder = function (e) {
        var t = i();
        return this.divRemTo(e, null, t), t;
      }),
      (r.prototype.divideAndRemainder = function (e) {
        var t = i(),
          n = i();
        return this.divRemTo(e, t, n), new Array(t, n);
      }),
      (r.prototype.modPow = function (e, t) {
        var n,
          a,
          r = e.bitLength(),
          s = u(1);
        if (r <= 0) return s;
        (n = r < 18 ? 1 : r < 48 ? 3 : r < 144 ? 4 : r < 768 ? 5 : 6),
          (a = r < 8 ? new p(t) : t.isEven() ? new C(t) : new h(t));
        var o = new Array(),
          l = 3,
          c = n - 1,
          d = (1 << n) - 1;
        if (((o[1] = a.convert(this)), n > 1)) {
          var _ = i();
          for (a.sqrTo(o[1], _); l <= d; )
            (o[l] = i()), a.mulTo(_, o[l - 2], o[l]), (l += 2);
        }
        var g,
          b,
          f = e.t - 1,
          v = !0,
          S = i();
        for (r = m(e[f]) - 1; f >= 0; ) {
          for (
            r >= c
              ? (g = (e[f] >> (r - c)) & d)
              : ((g = (e[f] & ((1 << (r + 1)) - 1)) << (c - r)),
                f > 0 && (g |= e[f - 1] >> (this.DB + r - c))),
              l = n;
            0 == (1 & g);
          )
            (g >>= 1), --l;
          if (((r -= l) < 0 && ((r += this.DB), --f), v))
            o[g].copyTo(s), (v = !1);
          else {
            for (; l > 1; ) a.sqrTo(s, S), a.sqrTo(S, s), (l -= 2);
            l > 0 ? a.sqrTo(s, S) : ((b = s), (s = S), (S = b)),
              a.mulTo(S, o[g], s);
          }
          for (; f >= 0 && 0 == (e[f] & (1 << r)); )
            a.sqrTo(s, S),
              (b = s),
              (s = S),
              (S = b),
              --r < 0 && ((r = this.DB - 1), --f);
        }
        return a.revert(s);
      }),
      (r.prototype.modInverse = function (e) {
        var t = e.isEven();
        if ((this.isEven() && t) || 0 == e.signum()) return r.ZERO;
        for (
          var n = e.clone(),
            a = this.clone(),
            i = u(1),
            s = u(0),
            o = u(0),
            l = u(1);
          0 != n.signum();
        ) {
          for (; n.isEven(); )
            n.rShiftTo(1, n),
              t
                ? ((i.isEven() && s.isEven()) ||
                    (i.addTo(this, i), s.subTo(e, s)),
                  i.rShiftTo(1, i))
                : s.isEven() || s.subTo(e, s),
              s.rShiftTo(1, s);
          for (; a.isEven(); )
            a.rShiftTo(1, a),
              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);
          n.compareTo(a) >= 0
            ? (n.subTo(a, n), t && i.subTo(o, i), s.subTo(l, s))
            : (a.subTo(n, a), t && o.subTo(i, o), l.subTo(s, l));
        }
        return 0 != a.compareTo(r.ONE)
          ? r.ZERO
          : l.compareTo(e) >= 0
            ? l.subtract(e)
            : l.signum() < 0
              ? (l.addTo(e, l), l.signum() < 0 ? l.add(e) : l)
              : l;
      }),
      (r.prototype.pow = function (e) {
        return this.exp(e, new y());
      }),
      (r.prototype.gcd = function (e) {
        var t = this.s < 0 ? this.negate() : this.clone(),
          n = e.s < 0 ? e.negate() : e.clone();
        if (t.compareTo(n) < 0) {
          var a = t;
          (t = n), (n = a);
        }
        var r = t.getLowestSetBit(),
          i = n.getLowestSetBit();
        if (i < 0) return t;
        for (
          r < i && (i = r), i > 0 && (t.rShiftTo(i, t), n.rShiftTo(i, n));
          t.signum() > 0;
        )
          (r = t.getLowestSetBit()) > 0 && t.rShiftTo(r, t),
            (r = n.getLowestSetBit()) > 0 && n.rShiftTo(r, n),
            t.compareTo(n) >= 0
              ? (t.subTo(n, t), t.rShiftTo(1, t))
              : (n.subTo(t, n), n.rShiftTo(1, n));
        return i > 0 && n.lShiftTo(i, n), n;
      }),
      (r.prototype.isProbablePrime = function (e) {
        var t,
          n = this.abs();
        if (1 == n.t && n[0] <= w[w.length - 1]) {
          for (t = 0; t < w.length; ++t) if (n[0] == w[t]) return !0;
          return !1;
        }
        if (n.isEven()) return !1;
        for (t = 1; t < w.length; ) {
          for (var a = w[t], r = t + 1; r < w.length && a < B; ) a *= w[r++];
          for (a = n.modInt(a); t < r; ) if (a % w[t++] == 0) return !1;
        }
        return n.millerRabin(e);
      });
    var O = r,
      D = function (e, t) {
        (this.modulus = new O(e, 16)), (this.encryptionExponent = new O(t, 16));
      },
      I = {
        base64:
          "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
        encode: function (e) {
          if (!e) return !1;
          var t,
            n,
            a,
            r,
            i,
            s,
            o,
            l = "",
            c = 0;
          do {
            (r = (t = e.charCodeAt(c++)) >> 2),
              (i = ((3 & t) << 4) | ((n = e.charCodeAt(c++)) >> 4)),
              (s = ((15 & n) << 2) | ((a = e.charCodeAt(c++)) >> 6)),
              (o = 63 & a),
              isNaN(n) ? (s = o = 64) : isNaN(a) && (o = 64),
              (l +=
                this.base64.charAt(r) +
                this.base64.charAt(i) +
                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,
            n,
            a,
            r,
            i = "",
            s = 0;
          do {
            (t = this.base64.indexOf(e.charAt(s++))),
              (n = this.base64.indexOf(e.charAt(s++))),
              (a = this.base64.indexOf(e.charAt(s++))),
              (r = this.base64.indexOf(e.charAt(s++))),
              (i += String.fromCharCode((t << 2) | (n >> 4))),
              64 != a && (i += String.fromCharCode(((15 & n) << 4) | (a >> 2))),
              64 != r && (i += String.fromCharCode(((3 & a) << 6) | r));
          } while (s < e.length);
          return i;
        },
      },
      T = {
        hex: "0123456789abcdef",
        encode: function (e) {
          if (!e) return !1;
          var t,
            n = "",
            a = 0;
          do {
            (t = e.charCodeAt(a++)),
              (n += this.hex.charAt((t >> 4) & 15) + this.hex.charAt(15 & t));
          } while (a < e.length);
          return n;
        },
        decode: function (e) {
          if (!e) return !1;
          e = e.replace(/[^0-9abcdef]/g, "");
          var t = "",
            n = 0;
          do {
            t += String.fromCharCode(
              ((this.hex.indexOf(e.charAt(n++)) << 4) & 240) |
                (15 & this.hex.indexOf(e.charAt(n++))),
            );
          } while (n < e.length);
          return t;
        },
      },
      R = {
        getPublicKey: function (e, t) {
          return new D(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),
            I.encode(T.decode(e)))
          );
        },
        pkcs1pad2: function (e, t) {
          if (t < e.length + 11) return null;
          for (var n = [], a = e.length - 1; a >= 0 && t > 0; )
            n[--t] = e.charCodeAt(a--);
          for (n[--t] = 0; t > 2; )
            n[--t] = Math.floor(254 * Math.random()) + 1;
          return (n[--t] = 2), (n[--t] = 0), new O(n);
        },
      };
    t.default = R;
  },
  "5rag": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return g;
    });
    var a = n("aaBf"),
      r = n("xSFm"),
      i = n("OJUs"),
      s = n("q1tI"),
      o = (n("5VAZ"), n("l1Mn")),
      l = n("ztQu"),
      c = n("3wCP"),
      d = n("hHds"),
      u = n("bznR"),
      m = n("+d5k"),
      p = n("XL31"),
      h = n("ePyj"),
      _ = n.n(h);
    function g(e) {
      var t;
      const { info: n, bPopOutTrailerPlayback: h } = e,
        [g] = Object(i.a)(n.id, Object(r.j)(n.type), {
          include_trailers: !0,
          include_screenshots: !0,
        }),
        [b, f] = s.useState(!1),
        [v, S] = s.useState(void 0),
        y = null == g ? void 0 : g.GetAllTrailers().GetHighlightTrailers(),
        E = (null == y ? void 0 : y.length) > 0 && y[0],
        C = s.useCallback(
          (e) => {
            if (E)
              if (h) {
                const t = (
                    Object(l.a)()
                      ? E.GetTrailer480p().strWebMURL
                      : E.GetTrailerMax().strWebMURL
                  ).replace("http://", "https://"),
                  n = (
                    Object(l.a)()
                      ? E.GetTrailer480p().strMP4URL
                      : E.GetTrailerMax().strMP4URL
                  ).replace("http://", "https://");
                Object(m.b)(
                  s.createElement(
                    u.f,
                    { bAllowFullSize: !0, bOKDisabled: !0 },
                    s.createElement(
                      "div",
                      { className: _.a.VideoPopupContainers },
                      s.createElement(
                        "video",
                        {
                          className: _.a.VideoLarge,
                          controls: !0,
                          autoPlay: !0,
                          poster: E.GetScreenshot(),
                        },
                        s.createElement("source", {
                          src: t,
                          type: "video/webm",
                        }),
                        Boolean(!a.c.IN_CLIENT) &&
                          s.createElement("source", {
                            src: n,
                            type: "video/mp4",
                          }),
                      ),
                    ),
                  ),
                  Object(d.o)(e),
                );
              } else f((e) => !e);
          },
          [E, h],
        );
      if (!g)
        return s.createElement(
          "div",
          { className: _.a.MediaContainer },
          s.createElement(p.a, { size: "medium" }),
        );
      if (
        !E &&
        0 ===
          (null === (t = g.GetOnlyAllAgesSafeScreenshots()) || void 0 === t
            ? void 0
            : t.length)
      )
        return (
          ("dev" != a.c.WEB_UNIVERSE && "beta" != a.c.WEB_UNIVERSE) ||
            console.log(
              "appCapsule for appid: " + (null == g ? void 0 : g.GetAppID()),
              g.GetOnlyAllAgesSafeScreenshots(),
            ),
          null
        );
      const w = E || (void 0 !== v && -1 !== v) ? v : 0,
        B = new Array(),
        O = g.GetOnlyAllAgesSafeScreenshots();
      return (
        O.forEach((e, t) => {
          if ((E || t > 0) && B.length < 3) {
            const n = (function (e, t) {
              const n = e.replace(/\.[^\.]+$/g, "");
              return n + t + e.slice(n.length);
            })(e, ".116x65").replace("http://", "https://");
            B.push(
              s.createElement("img", {
                key: t + "_" + n,
                className: _.a.ScreenshotThumbnail,
                src: n,
                onClick: () => {
                  return (
                    (t = e),
                    void Object(m.b)(
                      s.createElement(
                        u.f,
                        { bAllowFullSize: !0, bOKDisabled: !0 },
                        s.createElement(
                          "div",
                          { className: _.a.PopupScreenshotContainer },
                          s.createElement("img", {
                            className: _.a.PopupScreenshot,
                            src: t,
                          }),
                        ),
                      ),
                      window,
                    )
                  );
                  var t;
                },
                onMouseEnter: () => S(t),
              }),
            );
          }
        }),
        s.createElement(
          "div",
          { className: _.a.MediaContainer },
          s.createElement(
            "div",
            { className: _.a.MainMediaCtn },
            Boolean(E) &&
              s.createElement(
                "div",
                {
                  className: Object(c.a)(
                    _.a.VideoThumbnail,
                    b ? _.a.videoPlaying : null,
                  ),
                  onClick: C,
                },
                Boolean(-1 === w || void 0 === w)
                  ? s.createElement(
                      s.Fragment,
                      null,
                      s.createElement("img", { src: E.GetScreenshot() }),
                      s.createElement(
                        "div",
                        { className: _.a.VideoPlayButton },
                        s.createElement(o.V, null),
                      ),
                    )
                  : s.createElement("img", { src: O[w] }),
              ),
            Boolean(!E) && s.createElement("img", { src: O[w] }),
          ),
          Boolean(B.length > 0) &&
            s.createElement(
              "div",
              { className: _.a.Screenshot, onMouseLeave: () => S(-1) },
              B,
            ),
          s.createElement(
            "div",
            {
              className: Object(c.a)(
                _.a.VideoLargeContainer,
                b ? _.a.videoPlaying : null,
              ),
              onClick: C,
            },
            Boolean(b) &&
              s.createElement(
                "video",
                {
                  className: _.a.VideoLarge,
                  controls: !0,
                  autoPlay: !0,
                  poster: E.GetScreenshot(),
                },
                s.createElement("source", {
                  src: Object(l.a)()
                    ? E.GetTrailer480p().strWebMURL
                    : E.GetTrailerMax().strWebMURL,
                  type: "video/webm",
                }),
                Boolean(!a.c.IN_CLIENT) &&
                  s.createElement("source", {
                    src: Object(l.a)()
                      ? E.GetTrailer480p().strMP4URL
                      : E.GetTrailerMax().strMP4URL,
                    type: "video/mp4",
                  }),
              ),
            s.createElement("div", { onClick: C }, s.createElement(o.Ab, null)),
          ),
        )
      );
    }
  },
  "5w3V": function (e, t, n) {
    e.exports = {
      Row: "dailydealsdashboard_Row_2fsEu",
      InfoCtn: "dailydealsdashboard_InfoCtn_3t-3P",
    };
  },
  "5xvY": function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return c;
    }),
      n.d(t, "b", function () {
        return d;
      }),
      n.d(t, "c", function () {
        return u;
      }),
      n.d(t, "a", function () {
        return m;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r);
    const s = n("5eHa").default;
    function o(e, t) {
      return e.endsWith("/") || (e += "/"), `${e}login/${t}/`;
    }
    function l() {
      let e = new FormData();
      return e.append("donotcache", new Date().getTime().toString()), e;
    }
    function c(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        let t = l(),
          n = o(e, "refreshcaptcha"),
          a = "";
        try {
          let e = yield i.a.post(n, t);
          if (200 != e.status) return !1;
          a = e.data.gid;
        } catch (e) {
          return !1;
        }
        return a;
      });
    }
    function d(e, t) {
      return o(e, "rendercaptcha") + `?gid=${t}`;
    }
    function u(e, t) {
      let n = s.getPublicKey(t.publickey_mod, t.publickey_exp),
        a = s.encrypt(e, n);
      return !1 === a ? null : a;
    }
    function m(e, t, n) {
      return Object(a.a)(this, void 0, void 0, function* () {
        if (
          ((n = Object.assign({}, n)).strUserName &&
            (n.strUserName = n.strUserName.replace(/[^\x00-\x7F]/g, "")),
          !n.strPassword || n.strPassword.match(/[^\x00-\x7F]/))
        )
          return null;
        if (!n.strUserName) return null;
        let r = yield (function (e, t) {
          return Object(a.a)(this, void 0, void 0, function* () {
            let n = l();
            n.append("username", t);
            let a,
              r = o(e, "getrsakey");
            try {
              let e = yield i.a.post(r, n);
              if (200 != e.status) return null;
              let t = e.data;
              if (
                !(
                  t &&
                  t.success &&
                  t.publickey_mod &&
                  t.publickey_exp &&
                  t.timestamp
                )
              )
                return null;
              a = t;
            } catch (e) {
              return null;
            }
            return a;
          });
        })(e, n.strUserName);
        if (!r) return console.log("Failed to get RSA key"), null;
        let s = yield (function (e, t, n, r) {
          return Object(a.a)(this, void 0, void 0, function* () {
            const a = u(n.strPassword, r);
            if (!a) return null;
            let s = l();
            s.append("password", a),
              s.append("username", n.strUserName),
              s.append("twofactorcode", n.strTwoFactorCode || ""),
              s.append("emailauth", n.strEmailAuthCode || ""),
              s.append("loginfriendlyname", ""),
              s.append("captchagid", n.gidCaptcha || ""),
              s.append("captcha_text", n.strCaptchaText || ""),
              s.append("emailsteamid", n.emailSteamID || ""),
              s.append("rsatimestamp", r.timestamp),
              s.append("remember_login", n.bRememberLogin ? "true" : "false");
            let c = {};
            t &&
              (s.append("oauth_client_id", t),
              s.append("mobile_chat_client", "true"));
            let d,
              m = o(e, "dologin");
            try {
              let e = yield i.a.post(m, s, c);
              if (200 != e.status) return null;
              let t = e.data;
              if (!t) return null;
              t.oauth && (t.oauth = JSON.parse(t.oauth)), (d = t);
            } catch (e) {
              return null;
            }
            return d;
          });
        })(e, t, n, r);
        return s;
      });
    }
  },
  "6FYJ": function (e, t) {},
  "6Gnh": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return g;
    }),
      n.d(t, "b", function () {
        return b;
      }),
      n.d(t, "c", function () {
        return f;
      });
    var a = n("mrSG"),
      r = n("TyAF"),
      i = n("q1tI"),
      s = n.n(i),
      o = n("xvkT"),
      l = n("AQa9"),
      c = n("eV45"),
      d = n("OeiR"),
      u = (n("2hyl"), n("KT6v")),
      m = n("aaBf"),
      p = n("OSG2"),
      h = n("nRWi"),
      _ = n.n(h);
    const g = Object(r.a)((e) => {
      const t = e.photo
          ? Object(o.d)(e.photo, Object(l.g)(m.c.LANGUAGE))
          : null,
        n = e.photo ? ("string" == typeof t ? t : t[1]) : null,
        a = Boolean(e.title),
        r = Boolean(e.company);
      return s.a.createElement(
        "div",
        { className: _.a.SpeakerPopup, onMouseLeave: e.fnClose },
        s.a.createElement(
          "div",
          { className: _.a.SpeakerInfoOuter },
          e.photo && s.a.createElement("img", { src: n }),
          s.a.createElement(
            "div",
            { className: _.a.SpeakerInfoInner },
            s.a.createElement("div", null, e.name),
            (a || r) &&
              s.a.createElement(
                "div",
                null,
                a &&
                  s.a.createElement(
                    "span",
                    { className: _.a.SpeakerTitle },
                    e.title,
                  ),
                a && r && s.a.createElement("span", null, ", "),
                r && s.a.createElement("span", null, e.company),
              ),
          ),
        ),
        e.bio &&
          s.a.createElement(
            "div",
            { className: _.a.SpeakerBio },
            e.bio,
            e.bioString && s.a.createElement(p.a, { text: e.bioString }),
          ),
      );
    });
    class b extends s.a.Component {
      constructor() {
        super(...arguments), (this.m_refAnchor = s.a.createRef());
      }
      ClosePopup() {
        this.m_fnHidePopup &&
          (this.m_fnHidePopup(),
          (this.m_fnHidePopup = null),
          window.removeEventListener("scroll", this.OnScroll));
      }
      componentWillUnmount() {
        this.ClosePopup();
      }
      OnScroll() {
        Math.abs(window.scrollY - this.m_nScrollPosAtHoverStart) > 50 &&
          this.ClosePopup();
      }
      OnHover(e) {
        const t = this.m_refAnchor.current;
        if (!t) return;
        const n = {
            direction: "right",
            bEnablePointerEvents: !0,
            style: { maxWidth: 640, minHeight: t.clientHeight },
            target: t,
          },
          a = "presenter-hover-" + Math.floor(1e8 * Math.random());
        (this.m_fnHidePopup = () =>
          b.sm_embeddedElements.HideElement(t.ownerDocument, a)),
          window.addEventListener("scroll", this.OnScroll),
          (this.m_nScrollPosAtHoverStart = window.scrollY);
        b.sm_embeddedElements.ShowElementDelayed(
          t.ownerDocument,
          150,
          s.a.createElement(
            d.a,
            Object.assign({}, n),
            s.a.createElement(
              g,
              Object.assign({}, this.props, { fnClose: this.OnLeave }),
            ),
          ),
          a,
        );
      }
      OnLeave(e) {
        this.ClosePopup();
      }
      render() {
        return s.a.createElement(
          "div",
          {
            className: _.a.SpeakerHover,
            ref: this.m_refAnchor,
            onMouseEnter: this.OnHover,
            onFocus: this.OnHover,
            onMouseLeave: this.OnLeave,
            onBlur: this.OnLeave,
          },
          this.props.children,
        );
      }
    }
    (b.sm_embeddedElements = new c.a("presenter-hover-source-elements")),
      Object(a.b)([u.b], b.prototype, "ClosePopup", null),
      Object(a.b)([u.b], b.prototype, "OnScroll", null),
      Object(a.b)([u.b], b.prototype, "OnHover", null),
      Object(a.b)([u.b], b.prototype, "OnLeave", null);
    class f extends s.a.Component {
      render() {
        const e = this.props.photo
            ? Object(o.d)(this.props.photo, Object(l.g)(m.c.LANGUAGE))
            : null,
          t =
            this.props.photo && !this.props.hidePhotoInCompactView
              ? "string" == typeof e
                ? e
                : e[1]
              : null,
          n = Boolean(this.props.title),
          a = Boolean(this.props.company);
        return s.a.createElement(
          "div",
          { className: _.a.SpeakerOuter },
          s.a.createElement(
            b,
            Object.assign({}, this.props),
            s.a.createElement(
              "div",
              { className: _.a.Speaker },
              s.a.createElement(
                "div",
                { className: _.a.SpeakerInfoOuter },
                !!t && s.a.createElement("img", { src: t }),
                s.a.createElement(
                  "div",
                  { className: _.a.SpeakerInfoInner },
                  s.a.createElement("div", null, this.props.name),
                  (n || a) &&
                    s.a.createElement(
                      "div",
                      null,
                      n &&
                        s.a.createElement(
                          "span",
                          { className: _.a.SpeakerTitle },
                          this.props.title,
                        ),
                      n && a && s.a.createElement("span", null, ", "),
                      a && s.a.createElement("span", null, this.props.company),
                    ),
                ),
              ),
            ),
          ),
        );
      }
    }
  },
  "6Uth": function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return R;
    }),
      n.d(t, "b", function () {
        return j;
      }),
      n.d(t, "a", function () {
        return A;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("wd/R"),
      l = (n("AQa9"), n("Q8oI"), n("v2zI")),
      c = (n("5VAZ"), n("hc+a")),
      d = n("CjDG"),
      u = n("1pnr"),
      m = n("A5uu"),
      p = n("oB2E"),
      h = (n("/loZ"), n("fvA7")),
      _ = n("D6PB"),
      g = n("VQwQ"),
      b = n("CqJL"),
      f = n("aaBf"),
      v = n("nJCB"),
      S = n("PVYc"),
      y = n("vfQD"),
      E = n("nCSS"),
      C = n("DAjO"),
      w = n("QoNC");
    function B(e, t, n, a) {
      return {
        strId: "section-" + t,
        strSectionLabel: t,
        rtSectionStart: n,
        rtSectionEnd: a,
        bIsFutureSection: n >= e,
        nRenderedHeight: 2500,
        nTopOffset: 0,
      };
    }
    class O {
      constructor(e) {
        (this.m_nForwardStuckCount = 0),
          (this.m_nBackwardStuckCount = 0),
          (this.m_mapCalendarAppsByID = new Map()),
          (this.m_mapCalendarClansByID = new Map()),
          (this.m_mapCalendarEventsByGid = new Map()),
          (this.m_rgSortedCalendarEvents = new Array()),
          (this.m_visibilityStore = new y.a()),
          (this.m_currentView = s.C.box(null)),
          (this.m_bFinishedSearchingForward = !1),
          (this.m_bFinishedSearchingBackward = !1),
          (this.m_rgCalendarSections = []),
          (this.m_rgFutureSections = []),
          (this.m_collectionMetaData = void 0),
          (this.m_key = e),
          v.a.Get().HintLoad();
      }
      GetNumEventsLoaded() {
        return this.m_mapCalendarEventsByGid.size;
      }
      BIsGlobalCalendar() {
        return !(
          this.m_key.appids ||
          this.m_key.clanaccountids ||
          this.m_key.collectionid ||
          this.m_key.saleid
        );
      }
      BIsShowingFeaturedFeed() {
        return Boolean(
          this.GetCollectionID() === E.a.Featured ||
            (this.BIsGlobalCalendar() && !f.j.accountid),
        );
      }
      BIsSingleSourceCalendar() {
        return Boolean(
          this.BIsSingleGroupCalendar()
            ? !this.BIsSingleAppCalendar()
            : this.BIsSingleAppCalendar(),
        );
      }
      GetKey() {
        return this.m_key;
      }
      BEventMatchCalendarSingleSource(e) {
        return (
          (this.BIsSingleAppCalendar() && this.m_key.appids[0] == e.appid) ||
          (this.BIsSingleGroupCalendar() &&
            this.m_key.clanaccountids[0] == e.clanid)
        );
      }
      BIsSingleSourceMuted() {
        return (
          !!this.BIsSingleSourceCalendar() &&
          (this.BIsSingleAppCalendar()
            ? w.a.Get().BIsMutedAppID(this.GetSingleAppID())
            : w.a.Get().BIsMutedClanID(this.GetSingleGroupID()))
        );
      }
      BIsSingleGroupCalendar() {
        return Boolean(
          this.m_key.clanaccountids && 1 == this.m_key.clanaccountids.length,
        );
      }
      GetSingleGroupID() {
        return this.m_key.clanaccountids[0];
      }
      BIsSingleAppCalendar() {
        return Boolean(this.m_key.appids && 1 == this.m_key.appids.length);
      }
      GetSingleAppID() {
        return this.m_key.appids[0];
      }
      BIsCollectionCalendar() {
        return !!this.m_key.collectionid;
      }
      GetCollectionID() {
        return this.m_key.collectionid;
      }
      BIsSaleCalendar() {
        return !!this.m_key.saleid;
      }
      GetSaleID() {
        return this.m_key.saleid;
      }
      BIsCalendarEndTimeSet() {
        return !!this.m_key.rtCalendarEnd;
      }
      GetCalendarEndTime() {
        return this.m_key.rtCalendarEnd;
      }
      SetCollectionMetaData(e) {
        this.m_collectionMetaData = e;
      }
      GetCollectionMetaData() {
        return this.m_collectionMetaData;
      }
      BHasCollectionMetaData() {
        return Boolean(this.m_collectionMetaData);
      }
      ValidateCollectionMetadata(e) {
        const t = e;
        return (
          t &&
          "object" == typeof t &&
          t.clanid &&
          "number" == typeof t.clanid &&
          t.clan_event_gid &&
          "string" == typeof t.clan_event_gid
        );
      }
      SetFilteredView(e, t) {
        const n = this.m_currentView.get();
        n && n.dispose();
        const a = this.BIsSingleSourceMuted(),
          r = new D(
            () => this.m_rgSortedCalendarEvents,
            this.LoadAdditionalEvents,
            this.BHitEventHorizon,
            e,
            t,
            a,
          );
        this.m_currentView.set(r);
      }
      BIsFilteredViewEmpty() {
        var e;
        return !!(null === (e = this.m_currentView.get()) || void 0 === e
          ? void 0
          : e.BIsViewEmpty());
      }
      GetCalendarItemsInTimeRange(e, t) {
        const n = this.m_currentView.get();
        return n
          ? n.GetCalendarItemsInTimeRange(e, t)
          : (console.error("calendar view not yet initialized"),
            { rgCalendarItems: [], bIsComplete: !1 });
      }
      GetActiveEventsAt(e) {
        const t = this.m_currentView.get();
        return t
          ? t.GetActiveEventsAt(e)
          : (console.error("calendar view not yet initialized"), []);
      }
      GetCurrentlyLoadedEventCount(e, t) {
        var n;
        return null === (n = this.m_currentView.get()) || void 0 === n
          ? void 0
          : n.GetCurrentlyLoadedEventCount(e, t);
      }
      GetCurrentlyLoadedItemsForStats() {
        var e;
        return (
          (null === (e = this.m_currentView.get()) || void 0 === e
            ? void 0
            : e.GetCurrentlyLoadedEvents()) || []
        );
      }
      GetCalendarSections(e) {
        return e ? this.m_rgFutureSections : this.m_rgCalendarSections;
      }
      GetStoreInitializationTimestamp() {
        return (
          this.m_dtInitTime ||
            (this.m_dtInitTime = C.b.GetTimeNowWithOverrideAsDate()),
          this.m_dtInitTime
        );
      }
      InitCalendarSections() {
        const e = this.GetStoreInitializationTimestamp(),
          t = [],
          n = e.getTime() / 1e3;
        t.push(B(n, Object(b.f)("#EventCalendar_FutureEventsHeader"), n));
        const a = new Date(e);
        a.setHours(0, 0, 0, 1);
        let r = a.getTime() / 1e3;
        t.push(B(n, Object(b.f)("#Time_Today"), r, n)),
          a.setDate(a.getDate() - 1);
        let i = r;
        (r = a.getTime() / 1e3),
          t.push(B(n, Object(b.f)("#Time_Yesterday"), r, i));
        const s =
            this.m_rgSortedCalendarEvents[
              this.m_rgSortedCalendarEvents.length - 1
            ],
          o = s ? s.start_time : n;
        let l = o > r;
        for (let e = 0; e < 5 && !l; e++)
          a.setDate(a.getDate() - 1),
            (i = r),
            (r = a.getTime() / 1e3),
            t.push(B(n, Object(b.h)(a), r, i)),
            (l = o > r);
        const c = new Date(a);
        let d = r;
        for (; c.getMonth() == e.getMonth() && 1 != c.getDate() && !l; ) {
          c.setDate(c.getDate() - 7);
          const e = c.getTime() / 1e3;
          t.push(B(n, Object(b.g)(d - 1), e, d)), (l = o > e), (d = e);
        }
        const u = new Date(e);
        u.setHours(0, 0, 0, 1), u.setDate(1);
        let m = d;
        for (let a = 1; !l; a++) {
          const r = new Date(u);
          r.setMonth(e.getMonth() - a, 1);
          const i = r.getTime() / 1e3;
          t.push(B(n, Object(b.g)(i), i, m)), (l = o > i), (m = i);
        }
        this.m_rgCalendarSections.length > t.length
          ? this.m_rgCalendarSections.splice(
              t.length,
              this.m_rgCalendarSections.length,
            )
          : t
              .splice(this.m_rgCalendarSections.length, t.length)
              .forEach((e) => this.m_rgCalendarSections.push(e));
      }
      InitFutureCalendarSections() {
        const e = this.GetStoreInitializationTimestamp(),
          t = [];
        let n;
        this.m_key.rtCalendarEnd && (n = this.m_key.rtCalendarEnd);
        const a =
          this.m_rgSortedCalendarEvents.length > 0 &&
          this.m_rgSortedCalendarEvents[0];
        a && (n = a.start_time), n || (n = e.getTime() / 1e3);
        const r = e.getTime() / 1e3,
          i = new Date(e);
        i.setHours(24, 0, 0, 0);
        let s = i.getTime() / 1e3;
        t.push(
          B(
            r,
            Object(b.f)(
              this.m_key.bSectionByDay ? "#Time_UpNext" : "#Time_Today",
            ),
            r,
            s,
          ),
        );
        let l = n <= s,
          c = s;
        i.setDate(i.getDate() + 1),
          (s = i.getTime() / 1e3),
          l || t.push(B(r, Object(b.f)("#Time_Tomorrow"), c, s)),
          (l = n <= s);
        const d = 6 - o(e).weekday();
        for (let e = 2; e <= d && !l; e++) {
          c = s;
          const e = Object(b.h)(i);
          i.setDate(i.getDate() + 1),
            (s = i.getTime() / 1e3),
            t.push(B(r, e, c, s)),
            (l = n <= s);
        }
        if (this.m_key.bSectionByDay)
          for (; !l; ) {
            c = s;
            const e = Object(b.i)(i);
            i.setDate(i.getDate() + 1),
              (s = i.getTime() / 1e3),
              t.push(B(r, e, c, s)),
              (l = n <= s);
          }
        else {
          const a = new Date(i);
          let c = s;
          const d = o(e).daysInMonth();
          if (a.getMonth() == e.getMonth() && a.getDate() != d && !l) {
            a.setDate(a.getDate() + 7);
            const e = a.getTime() / 1e3;
            t.push(B(r, Object(b.f)("#EventCalendar_NextWeek"), c, e)),
              (l = n <= e),
              (c = e);
          }
          const u = new Date(e);
          let m;
          if (
            (u.setMonth(u.getMonth() + 1),
            u.setDate(1),
            u.setHours(0, 0, 0, 0),
            a < u && !l)
          ) {
            const e = u.getTime() / 1e3;
            t.push(B(r, Object(b.f)("#EventCalendar_LaterThisMonth"), c, e)),
              (l = n <= e),
              (m = e);
          } else m = c;
          for (let a = 2; !l; a++) {
            const i = new Date(u);
            i.setMonth(e.getMonth() + a);
            const s = i.getTime() / 1e3;
            t.push(B(r, Object(b.g)(m), m, s)), (l = n <= s), (m = s);
          }
        }
        this.m_rgFutureSections.length > t.length
          ? this.m_rgFutureSections.splice(
              t.length,
              this.m_rgFutureSections.length,
            )
          : t
              .splice(this.m_rgFutureSections.length, t.length)
              .forEach((e) => this.m_rgFutureSections.push(e));
      }
      RegisterCalendarEventsAndModels(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          yield v.a.Get().HintLoad(),
            Object(s.G)(() => {
              this.RegisterCalendarApps(e.apps),
                this.RegisterCalendarClans(e.clans),
                this.RegisterCalendarEvents(e.documents),
                u.b.RegisterClanEvents(e.events),
                this.RegisterReadEvents(e.events_read),
                this.RegisterEventVotes(e.event_votes),
                e.forwardComplete && (this.m_bFinishedSearchingForward = !0),
                e.backwardComplete && (this.m_bFinishedSearchingBackward = !0),
                this.InitCalendarSections(),
                this.InitFutureCalendarSections(),
                this.SetCollectionMetaData(
                  this.ValidateCollectionMetadata(e.metadatainfo)
                    ? e.metadatainfo
                    : null,
                );
            });
        });
      }
      RegisterCalendarApps(e) {
        if (e)
          for (const t of e) {
            if (this.m_mapCalendarAppsByID.has(t.appid)) continue;
            const e = new l.b();
            (e.appid = t.appid),
              (e.source = t.source),
              (e.playtime = t.playtime),
              (e.last_played = t.last_played),
              (e.wishlist_added = t.wishlist_added),
              this.m_mapCalendarAppsByID.set(t.appid, e);
          }
      }
      RegisterCalendarClans(e) {
        if (e)
          for (const t of e)
            if (!this.m_mapCalendarClansByID.has(t.clanid)) {
              const e = new l.c();
              (e.clanid = t.clanid),
                (e.source = t.source),
                this.m_mapCalendarClansByID.set(t.clanid, e);
            }
      }
      RegisterReadEvents(e) {
        if (!e) return;
        const t = d.a.Get();
        for (const n of e) t.SetEventAsRead(n);
      }
      RegisterEventVotes(e) {
        if (!e) return;
        const t = d.a.Get();
        for (const n of e) {
          const e = void 0 === n.vote ? void 0 : Boolean(n.vote);
          t.SetVote(n.id, e);
        }
      }
      RegisterCalendarEvents(e) {
        if (e) {
          let t = !1;
          for (const n of e)
            this.BInternalInsertCalendarEventItem(n) && (t = !0);
          t && this.RebuildSortedCalendarEventList();
        }
      }
      BHitEventHorizon(e) {
        return "forward" == e
          ? this.m_bFinishedSearchingForward
          : this.m_bFinishedSearchingBackward;
      }
      GetTimeEdgeForDirection(e, t) {
        return "forward" === e
          ? this.m_rgSortedCalendarEvents.length > 0
            ? this.m_rgSortedCalendarEvents[0].start_time
            : t
          : this.m_rgSortedCalendarEvents.length > 0
            ? this.m_rgSortedCalendarEvents[
                this.m_rgSortedCalendarEvents.length - 1
              ].start_time
            : t;
      }
      UpdateStuckCounters(e, t) {
        const n =
            "forward" === e
              ? this.m_bFinishedSearchingForward
              : this.m_bFinishedSearchingBackward,
          a = this.GetTimeEdgeForDirection(e, void 0);
        return n || a !== t
          ? ("forward" == e
              ? (this.m_nForwardStuckCount = 0)
              : (this.m_nBackwardStuckCount = 0),
            !1)
          : ("forward" == e
              ? this.m_nForwardStuckCount++
              : this.m_nBackwardStuckCount++,
            !0);
      }
      GetRequestInFlight(e) {
        return "forward" === e
          ? this.m_forwardRequestInFlight
          : this.m_backwardRequestInFlight;
      }
      SetRequestInFlight(e, t) {
        Object(h.a)(
          !t || !this.GetRequestInFlight(e),
          "Already have a request in flight for",
          e,
        ),
          "forward" === e
            ? (this.m_forwardRequestInFlight = t)
            : (this.m_backwardRequestInFlight = t);
      }
      LoadAdditionalEvents(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.BHitEventHorizon(e)) return 1;
          let n = this.GetRequestInFlight(e);
          if (n) return n;
          const r =
              f.c.STORE_BASE_URL + "events/ajaxgetusereventcalendarrange/",
            s =
              "forward" === e
                ? this.m_nForwardStuckCount
                : this.m_nBackwardStuckCount,
            o = s < 3 ? s : 0,
            l = s >= 3 ? 1 : 0,
            c = ("dev" === f.c.WEB_UNIVERSE ? 50 : 250) + 50 * o,
            d = this.GetTimeEdgeForDirection(e, C.b.GetTimeNowWithOverride()),
            u = {
              minTime: 0,
              maxTime: 0,
              ascending: !0,
              maxResults: c,
              populateEvents: 15,
              appTypes: this.m_visibilityStore.GetGameSources().join(","),
              eventTypes: Array.from(
                this.m_visibilityStore.enabledEventTypeSet,
              ).join(","),
              appIdFilter: Boolean(
                this.m_key.appids && this.m_key.appids.length > 0,
              )
                ? this.m_key.appids.sort().join(",")
                : void 0,
              clanIdFilter: Boolean(
                this.m_key.clanaccountids &&
                  this.m_key.clanaccountids.length > 0,
              )
                ? this.m_key.clanaccountids.sort().join(",")
                : void 0,
              collectionID: this.m_key.collectionid,
              saleID: this.m_key.saleid,
              hubtype: this.m_key.hubtype,
              category_or_language: this.m_key.category_or_language,
              tag_name: this.m_key.tag_name,
              tags: this.m_key.rgTags
                ? this.m_key.rgTags.sort().join(",")
                : void 0,
            };
          "forward" === e
            ? ((u.minTime = Math.floor(d + l)), (u.ascending = !0))
            : ((u.maxTime = Math.floor(d - l)), (u.ascending = !1));
          return (
            (n = i.a
              .get(r, {
                params: u,
                cancelToken: t ? t.token : void 0,
                withCredentials: !0,
              })
              .then((n) =>
                Object(a.a)(this, void 0, void 0, function* () {
                  if ((this.SetRequestInFlight(e, null), 1 == n.data.success)) {
                    if (
                      (yield this.RegisterCalendarEventsAndModels(n.data),
                      this.UpdateStuckCounters(e, d))
                    )
                      return this.LoadAdditionalEvents(e, t);
                  } else
                    console.error(
                      "LoadAdditionalEvents was not successful: Msg" +
                        n.data.msg,
                    );
                  return n.data.success;
                }),
              )
              .catch((t) => {
                this.SetRequestInFlight(e, null);
                let n = Object(_.a)(t);
                return (
                  console.error(
                    "LoadAdditionalEvents hit error " + n.strErrorMsg,
                    n,
                  ),
                  "forward" == e
                    ? (this.m_bFinishedSearchingForward = !0)
                    : (this.m_bFinishedSearchingBackward = !0),
                  2
                );
              })),
            this.SetRequestInFlight(e, n),
            n
          );
        });
      }
      BInternalInsertCalendarEventItem(e) {
        if (!e.unique_id)
          return (
            Object(h.a)(
              !1,
              "Attmpted to register a calendar event item with an invalid unique id!",
            ),
            !1
          );
        if (this.m_mapCalendarEventsByGid.has(e.unique_id)) return !1;
        const t = this.m_mapCalendarAppsByID.get(e.appid),
          n = this.m_mapCalendarClansByID.get(e.clanid);
        if (!t && !n) return console.log("No AppInfo or ClanInfo For: ", e), !1;
        const a = new l.d();
        return (
          (a.clanid = e.clanid),
          (a.unique_id = e.unique_id),
          (a.event_type = e.event_type),
          (a.appid = e.appid),
          (a.start_time = e.start_time),
          (a.score = e.score),
          (a.appInfo = t),
          (a.clanInfo = n),
          this.m_rgSortedCalendarEvents.push(a),
          this.m_mapCalendarEventsByGid.set(a.unique_id, a),
          !0
        );
      }
      GetCalendarAppInfoForAppID(e) {
        return this.m_mapCalendarAppsByID.get(e);
      }
      RebuildSortedCalendarEventList() {
        const e = this.m_rgSortedCalendarEvents.slice();
        this.m_rgSortedCalendarEvents = e.sort(
          (e, t) => t.start_time - e.start_time,
        );
      }
      UpdateEventBlockFromCalendarEvent(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = e.appInfo ? e.appid : void 0,
            a = e.clanInfo ? e.clanInfo.clanid : void 0;
          null != n || null != a
            ? (yield w.a.Get().UpdateCommunitionSetting(t, n, a),
              S.b.RecordAppInteractionEvent(n, S.a.k_eMuted))
            : Object(h.a)(
                !1,
                "Both clan id and account id are missing, cannot change communication status",
              );
        });
      }
    }
    Object(a.b)([s.C], O.prototype, "m_mapCalendarEventsByGid", void 0),
      Object(a.b)([s.C], O.prototype, "m_rgSortedCalendarEvents", void 0),
      Object(a.b)([s.C], O.prototype, "m_bFinishedSearchingForward", void 0),
      Object(a.b)([s.C], O.prototype, "m_bFinishedSearchingBackward", void 0),
      Object(a.b)([s.C], O.prototype, "m_rgCalendarSections", void 0),
      Object(a.b)([s.C], O.prototype, "m_rgFutureSections", void 0),
      Object(a.b)([s.C], O.prototype, "m_collectionMetaData", void 0),
      Object(a.b)([s.k], O.prototype, "InitCalendarSections", null),
      Object(a.b)([s.k], O.prototype, "InitFutureCalendarSections", null),
      Object(a.b)([s.k], O.prototype, "RegisterCalendarEventsAndModels", null),
      Object(a.b)([s.k], O.prototype, "RegisterCalendarApps", null),
      Object(a.b)([s.k], O.prototype, "RegisterCalendarClans", null),
      Object(a.b)([s.k], O.prototype, "RegisterReadEvents", null),
      Object(a.b)([s.k], O.prototype, "RegisterEventVotes", null),
      Object(a.b)([s.k], O.prototype, "RegisterCalendarEvents", null),
      Object(a.b)([g.a], O.prototype, "BHitEventHorizon", null),
      Object(a.b)([s.k.bound], O.prototype, "LoadAdditionalEvents", null),
      Object(a.b)(
        [s.k],
        O.prototype,
        "UpdateEventBlockFromCalendarEvent",
        null,
      );
    class D {
      constructor(e, t, n, r, i, o) {
        (this.m_rgLoadedEventsBox = s.C.box([])),
          (this.m_lastLoadLatch = null),
          (this.m_fnGetUnfilteredEvents = e),
          (this.m_fnLoadAdditionalEvents = t),
          (this.m_fnBHitEventHorizon = n),
          (this.m_fnBIsEventInView = r),
          (this.m_bSkipStorePreferenceCheck = i),
          (this.m_bAllowMutedAndIgnoredSources = o),
          (this.m_rgAutorunDisposer = Object(s.l)(() =>
            Object(a.a)(this, void 0, void 0, function* () {
              const e = this.viewFilteredEvents.slice();
              if (!this.m_bSkipStorePreferenceCheck) {
                const t = Array.from(
                  new Set(e.map((e) => e.appid).filter(Boolean)),
                ).sort();
                if (
                  ((this.m_lastLoadLatch = e),
                  yield m.a
                    .Get()
                    .QueueMultipleAppRequests(
                      t,
                      Object.assign(Object.assign({}, p.i), {
                        include_assets: !0,
                      }),
                    ),
                  this.m_lastLoadLatch != e)
                )
                  return;
                this.m_lastLoadLatch = null;
              }
              this.m_rgLoadedEventsBox.set(e);
            }),
          ));
      }
      dispose() {
        this.m_rgAutorunDisposer();
      }
      get viewFilteredEvents() {
        return this.m_fnGetUnfilteredEvents().filter((e) =>
          this.m_fnBIsEventInView(e),
        );
      }
      get filteredAndCheckedEvents() {
        return this.m_rgLoadedEventsBox.get().filter((e) => {
          if (e.appid) {
            if (
              !this.m_bAllowMutedAndIgnoredSources &&
              (w.a.Get().BIsMutedAppID(e.appid) ||
                v.a.Get().BIsGameIgnored(e.appid))
            )
              return !1;
            if (
              !this.m_bSkipStorePreferenceCheck &&
              Object(p.e)(m.a.Get().GetApp(e.appid))
            )
              return !1;
          } else if (
            !this.m_bAllowMutedAndIgnoredSources &&
            (w.a.Get().BIsMutedClanID(e.clanid) ||
              v.a.Get().BIsIgnoringCurator(c.a.InitFromClanID(e.clanid)))
          )
            return !1;
          return !0;
        });
      }
      BIsCompleteThroughTime(e, t) {
        if (this.m_fnBHitEventHorizon(e)) return !0;
        const n = this.m_fnGetUnfilteredEvents();
        return "forward" === e
          ? t && n.length > 0 && n[0].start_time > t
          : n.length > 0 && n[n.length - 1].start_time < t;
      }
      EnsureRangeIsLoaded(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          for (
            let e = 0;
            e < 100 && !this.BIsCompleteThroughTime("forward", t);
            e++
          )
            yield this.m_fnLoadAdditionalEvents("forward");
          for (
            let t = 0;
            t < 100 && !this.BIsCompleteThroughTime("backward", e);
            t++
          )
            yield this.m_fnLoadAdditionalEvents("backward");
        });
      }
      GetCalendarItemsInTimeRange(e, t) {
        this.EnsureRangeIsLoaded(e, t);
        const n = this.filteredAndCheckedEvents.filter(
            (n) => n.start_time >= e && (!t || n.start_time < t),
          ),
          a = this.BIsCompleteThroughTime("forward", t),
          r = this.BIsCompleteThroughTime("backward", e);
        return { rgCalendarItems: n, bIsComplete: a && r };
      }
      GetCurrentlyLoadedEvents() {
        return this.filteredAndCheckedEvents;
      }
      GetCurrentlyLoadedEventCount(e, t) {
        let n = 0;
        this.filteredAndCheckedEvents.forEach((a) => {
          a.start_time >= e && (!t || a.start_time < t) && n++;
        });
        const a = this.BIsCompleteThroughTime("forward", t),
          r = this.BIsCompleteThroughTime("backward", e);
        return { nCount: n, bIsComplete: a && r };
      }
      BIsViewEmpty() {
        return this.filteredAndCheckedEvents.length > 0;
      }
      GetActiveEventsAt(e) {
        return this.filteredAndCheckedEvents
          .map((e) => u.b.GetClanEventModel(e.unique_id))
          .filter((t) => {
            if (t) {
              const n = t.endTime || t.startTime + 3600;
              return e >= t.startTime && e < n;
            }
            return !1;
          });
      }
    }
    Object(a.b)([s.n.struct], D.prototype, "viewFilteredEvents", null),
      Object(a.b)([s.n.struct], D.prototype, "filteredAndCheckedEvents", null);
    const I = s.C.box(null),
      T = new Map();
    function R(e) {
      let t = "";
      return (
        e.appids &&
          e.appids.length > 0 &&
          (t += "appids:" + e.appids.sort().join(",")),
        e.clanaccountids &&
          e.clanaccountids.length > 0 &&
          (t += "clanids:" + e.clanaccountids.sort().join(",")),
        e.collectionid && (t += "collection:" + e.collectionid),
        e.saleid && (t += "sale:" + e.saleid),
        e.bSectionByDay && (t += "_sectionbyday"),
        e.rtCalendarEnd && (t += "_end:" + e.rtCalendarEnd),
        e.rgTags &&
          e.rgTags.length > 0 &&
          (t += "_tags:" + e.rgTags.sort().join(",")),
        e.hubtype &&
          (t +=
            "_hubtype:" +
            e.hubtype +
            "_" +
            e.category_or_language +
            "_" +
            e.tag_name),
        I.get() !== t && (I.set(t), T.has(t) || T.set(t, new O(e))),
        t
      );
    }
    function j() {
      return null == I.get() && R({}), T.get(I.get());
    }
    function A() {
      return null !== I;
    }
    window.g_EventCalendarMap = T;
  },
  "6Zqp": function (e, t, n) {
    e.exports = {
      SuggestContainer: "storesuggest_SuggestContainer_2cC_r",
      Results: "storesuggest_Results_2DkEc",
      EmptyResults: "storesuggest_EmptyResults_Qc3qN",
      ResultSectionHeader: "storesuggest_ResultSectionHeader_3aRVs",
      ResultRow: "storesuggest_ResultRow_3XLYN",
      AvatarImage: "storesuggest_AvatarImage_2VMck",
      GameName: "storesuggest_GameName_2qPx7",
      Label: "storesuggest_Label_KZD9P",
    };
  },
  "6esO": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      FeatureCtn: "animated_featured_capsule_FeatureCtn_16rVm",
      SuperCapsuleCtn: "animated_featured_capsule_SuperCapsuleCtn_1yW5j",
      BGVideo: "animated_featured_capsule_BGVideo_3t6Hv",
      BGImage: "animated_featured_capsule_BGImage_1vLqA",
      BGGradient: "animated_featured_capsule_BGGradient_2avQX",
      BGGradientTwo: "animated_featured_capsule_BGGradientTwo_IJi1Z",
      CapsuleDecorators: "animated_featured_capsule_CapsuleDecorators_3TEEJ",
      Artwork: "animated_featured_capsule_Artwork_1FF93",
      Info: "animated_featured_capsule_Info_1cMHE",
      StoreSaleItemRelease:
        "animated_featured_capsule_StoreSaleItemRelease_3sroE",
      StoreSaleItemReview:
        "animated_featured_capsule_StoreSaleItemReview_1Xu5C",
      animated_featured_capsule_Title:
        "animated_featured_capsule_animated_featured_capsule_Title_2IRwL",
      Title: "animated_featured_capsule_Title_M9DU4",
      Reason: "animated_featured_capsule_Reason_9ddd6",
      InfoSlideRight: "animated_featured_capsule_InfoSlideRight_1eQ4o",
      ArtworkSlideRight: "animated_featured_capsule_ArtworkSlideRight_3J6vd",
      InfoSlideLeft: "animated_featured_capsule_InfoSlideLeft_8uobO",
      ArtworkSlideLeft: "animated_featured_capsule_ArtworkSlideLeft_2lJ-z",
      BgImageFade: "animated_featured_capsule_BgImageFade_3ui1_",
      BgVidShow: "animated_featured_capsule_BgVidShow_28QON",
      DeckCompatIconOverride:
        "animated_featured_capsule_DeckCompatIconOverride_3GTgt",
    };
  },
  "6f0C": function (e, t, n) {
    e.exports = {
      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",
      PopoutSubMenu: "contextmenu_PopoutSubMenu_3TVcU",
      PopoutSubMenuItems: "contextmenu_PopoutSubMenuItems_2Et1H",
    };
  },
  "6v3d": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      SalePageLogoCtn: "saledisplaylogo_SalePageLogoCtn_16OLl",
    };
  },
  "6wRw": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    });
    var a = n("mrSG"),
      r = n("aaBf"),
      i = n("2vnA"),
      s = n("vDqi"),
      o = n.n(s);
    const l = new (class {
      constructor() {
        (this.m_mapEmoticonHovers = i.C.map()), (this.m_inflightRequests = {});
      }
      Get(e) {
        return this.m_mapEmoticonHovers.has(e) || this.m_inflightRequests[e]
          ? this.m_mapEmoticonHovers.get(e)
          : (this.Load(e), null);
      }
      BLoaded(e) {
        return !!this.m_mapEmoticonHovers.get(e);
      }
      Load(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = `${r.c.COMMUNITY_CDN_URL}economy/emoticonhoverjson/${encodeURIComponent(e)}?l=${encodeURIComponent(r.c.LANGUAGE)}&origin=${Object(r.e)()}`;
          this.m_inflightRequests[e] = !0;
          try {
            const { data: n } = yield o.a.get(t);
            !(function (e) {
              return (
                e &&
                "object" == typeof e &&
                "number" == typeof e.appid &&
                "string" == typeof e.app_name
              );
            })(n)
              ? this.m_mapEmoticonHovers.set(e, null)
              : this.m_mapEmoticonHovers.set(e, n);
          } catch (t) {
            this.m_mapEmoticonHovers.set(e, null);
          } finally {
            this.m_inflightRequests[e] = !1;
          }
        });
      }
    })();
  },
  "7+Vq": function (e, t, n) {
    e.exports = {
      description: "reservations_description_3Ubep",
      description2: "reservations_description2_1mvr1",
      j1: "reservations_j1_3rNUK",
      options: "reservations_options_1zuYB",
      price: "reservations_price_1ApEF",
      CommunityPreviewReservationWidgetControl:
        "reservations_CommunityPreviewReservationWidgetControl_BjRBn",
      reservecopy: "reservations_reservecopy_2Qvuq",
      reserverow: "reservations_reserverow_3zb75",
      reserverowReserved: "reservations_reserverowReserved_rmkeH",
      reservebutton: "reservations_reservebutton_3jeTo",
      noreserve: "reservations_noreserve_2N07E",
      cancelreservation: "reservations_cancelreservation_2Oumz",
      alreadyreserved: "reservations_alreadyreserved_JQjTv",
      expecteddate: "reservations_expecteddate_2ZGaP",
    };
  },
  "7DIv": function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return P;
    }),
      n.d(t, "d", function () {
        return L;
      }),
      n.d(t, "e", function () {
        return G;
      }),
      n.d(t, "b", function () {
        return N;
      }),
      n.d(t, "a", function () {
        return F;
      });
    var a = n("mrSG"),
      r = n("XUgT"),
      i = n("hqYq"),
      s = n("fvA7"),
      o = n("VQwQ"),
      l = n("+h+B"),
      c = n("DRUm");
    var d = n("IDaJ"),
      u = n("DV2j"),
      m = n("hHds");
    function p(e, t, n) {
      const a = [],
        [r, i] = e.GetChildren(),
        s = e.GetActiveChild();
      let o;
      const l = s ? s.Element.getBoundingClientRect() : null;
      if (s) {
        const e = g(s, t, n);
        if (
          e &&
          !e.offScreen &&
          ((o = h(s, e, e.overlap, n)), o && !o.visibility.offScreen)
        )
          return o;
        e && a.push({ child: s, visibility: e });
      }
      const c = n || l;
      for (let e = 0; e < r.length; e++) {
        const n = r[e];
        if (n == s) continue;
        const i = g(n, t, c);
        i && a.push({ child: n, visibility: i });
      }
      let d;
      a.sort(_);
      for (const e of a) {
        const { child: n, visibility: a } = e;
        if (a.offScreen && d) {
          if (!d.visibility.offScreen) break;
          if (a.distance > d.visibility.distance) break;
        }
        const r = n == s ? o : h(n, a, a.overlap || t, c);
        r && (!d || _(r, d) < 0) && (d = r);
      }
      return d;
    }
    function h(e, t, n, a) {
      switch (e.GetFocusable()) {
        case "none":
          return null;
        case "children":
          return p(e, t.overlap || n, a);
        case "self":
          return { child: e, visibility: t };
      }
    }
    function _(e, t) {
      const n = e.visibility,
        a = t.visibility;
      return n.offScreen
        ? a.offScreen
          ? n.distance - a.distance
          : 1
        : a.offScreen
          ? -1
          : n.distance - a.distance;
    }
    function g(e, t, n) {
      const a = e.Element.getBoundingClientRect(),
        r = e.GetFocusable();
      let i;
      if ("none" == r) return null;
      if ("self" == r) {
        if (
          a.top < t.top ||
          a.right > t.right ||
          a.bottom > t.bottom ||
          a.left < t.left
        ) {
          const e = a.top + a.height / 2,
            n = a.left + a.width / 2;
          if (e < t.top) return { offScreen: "top", distance: t.top - e };
          if (n > t.right) return { offScreen: "right", distance: n - t.right };
          if (e > t.bottom)
            return { offScreen: "bottom", distance: e - t.bottom };
          if (n < t.left) return { offScreen: "left", distance: t.left - n };
        }
        n && (i = Object(m.k)(a, n));
      } else if ("children" == r) {
        const n = e.Element;
        if (n.scrollHeight > a.height || n.scrollWidth > a.width) {
          const e = n.ownerDocument.defaultView.getComputedStyle(n);
          if ("visible" == e.overflowX || "visible" == e.overflowY)
            return { overlap: t };
        }
        if (a.bottom < t.top)
          return { offScreen: "top", distance: t.top - a.bottom };
        if (a.left > t.right)
          return { offScreen: "right", distance: a.left - t.right };
        if (a.top > t.bottom)
          return { offScreen: "bottom", distance: a.top - t.bottom };
        if (a.right < t.left)
          return { offScreen: "left", distance: t.left - a.right };
      }
      return {
        overlap: {
          top: Math.max(a.top, t.top),
          right: Math.min(a.right, t.right),
          bottom: Math.min(a.bottom, t.bottom),
          left: Math.max(a.left, t.left),
        },
        distance: i,
      };
    }
    var b = n("gM6l"),
      f = n("X9fq");
    const v = new c.a("ScrollSnap").Debug;
    let S = !1;
    let y;
    function E(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,
        n = 0,
        a = e;
      for (; a; ) {
        if (((t += a.offsetTop), (n += a.offsetLeft), "ownerDocument" in a)) {
          if ("fixed" === window.getComputedStyle(a).position) break;
        }
        a = a.offsetParent;
      }
      for (a = null == e ? void 0 : e.parentElement; a; ) {
        const { scrollTop: e, scrollLeft: r } = k(a);
        if (((t -= e), (n -= r), "ownerDocument" in a)) {
          if ("fixed" === window.getComputedStyle(a).position) break;
        }
        a = a.parentElement;
      }
      return {
        left: n,
        top: t,
        right: n + e.offsetWidth,
        bottom: t + e.offsetHeight,
      };
    }
    function C(e, t) {
      return "x" == t
        ? [e.left, e.right, e.right - e.left]
        : [e.top, e.bottom, e.bottom - e.top];
    }
    function w(e, t, n, a) {
      let [r, i, s] = C(e, a),
        [o, l, c] = C(t, a),
        [d, u] = C(n, a);
      return r < o && i > l
        ? 0
        : (r < o && s <= c) || (i > l && s > c)
          ? r - o - d
          : (r < o && s > c) || (i > l && s <= c)
            ? i - l + u
            : 0;
    }
    function B(e) {
      return "auto" == e
        ? 0
        : e.endsWith("px")
          ? parseInt(e)
          : (console.log("Unsupported length", e), 0);
    }
    function O(e) {
      if (!("ownerDocument" in e))
        return { left: 0, right: 0, top: 0, bottom: 0 };
      const t = e.ownerDocument.defaultView.getComputedStyle(e);
      return {
        left: B(t.scrollMarginLeft),
        right: B(t.scrollMarginRight),
        top: B(t.scrollMarginTop),
        bottom: B(t.scrollMarginBottom),
      };
    }
    function D(e, t) {
      let n = (function (e) {
        let t;
        return (
          (t =
            "ownerDocument" in e
              ? e.ownerDocument.defaultView.getComputedStyle(e)
              : e.document.defaultView.getComputedStyle(
                  window.document.documentElement,
                )),
          {
            left: B(t.scrollPaddingLeft),
            right: B(t.scrollPaddingRight),
            top: B(t.scrollPaddingTop),
            bottom: B(t.scrollPaddingBottom),
          }
        );
      })(e);
      return {
        left: Math.max(0, t.left + n.left),
        right: Math.max(0, t.right - n.right),
        top: Math.max(0, t.top + n.top),
        bottom: Math.max(0, t.bottom - n.bottom),
      };
    }
    function I(e) {
      return e > -1 && e < 1;
    }
    function T(e, t, n, a, r) {
      v(
        "----------------------------------------------------------------------------------",
      ),
        v("Scrolling Into View:", t);
      let i = [],
        s = t,
        o = E(t),
        l = null != r ? r : Number.MAX_VALUE;
      for (; s; ) {
        let e = Object(m.m)(s);
        e || (e = Object(m.n)(s));
        let t = O(s),
          n = D(e, E(e)),
          c = A(e),
          d = { element: e, left: 0, top: 0 };
        if (
          (v(
            "Checking scroll div",
            e,
            `scroll y:${c.scrollTop} of ${c.MaxScrollTop()}, x:${c.scrollLeft} of ${c.MaxScrollLeft()}, adjusted =>`,
            n,
            "target => ",
            o,
          ),
          (a && "y" != a) ||
            !Object(m.c)(e, "y") ||
            ((d.top = w(o, n, t, "y")),
            (d.top = b.a(d.top, -c.scrollTop, c.MaxScrollTop() - c.scrollTop)),
            r &&
              ((d.top = Math.min(l, Math.abs(d.top)) * (d.top < 0 ? -1 : 1)),
              (l -= Math.abs(d.top))),
            v(`- checked y: ${d.top}`)),
          (a && "x" != a) ||
            !Object(m.c)(e, "x") ||
            ((d.left = w(o, n, t, "x")),
            (d.left = b.a(
              d.left,
              -c.scrollLeft,
              c.MaxScrollLeft() - c.scrollLeft,
            )),
            r &&
              ((d.left = Math.min(l, Math.abs(d.left)) * (d.left < 0 ? -1 : 1)),
              (l -= Math.abs(d.left))),
            v(`- checked x: ${d.left}`)),
          i.push(d),
          r && !l)
        )
          break;
        if (!("ownerDocument" in e)) break;
        const u = window.getComputedStyle(e);
        if ("fixed" === u.position || "sticky" === u.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 i) {
        if (I(e.left) && I(e.top)) continue;
        let t = A(e.element),
          a = t.scrollTop + e.top,
          r = t.scrollLeft + e.left;
        (r = b.a(r, 0, t.MaxScrollLeft())),
          (a = b.a(a, 0, t.MaxScrollTop())),
          (I(t.scrollLeft - r) && I(t.scrollTop - a)) ||
            (t.scrollTo({ left: r, top: a, behavior: n }),
            c || (v("Scrolling:"), (c = !0)),
            v(`- ${e.top},${e.left} => ${a}, ${r}, behavior: ${n}`, e.element));
      }
    }
    class R {
      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, n;
        if ("auto" == 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 a = null !== (t = e.left) && void 0 !== t ? t : this.scrollLeft,
            r = null !== (n = e.top) && void 0 !== n ? n : this.scrollTop;
          let i = "sine";
          this.m_animation && (this.m_animation.Cancel(), (i = "linear"));
          if (
            Math.max(
              Math.abs(this.currentScrollTop - r),
              Math.abs(this.currentScrollLeft - a),
            ) > 0
          ) {
            const e = {
              msDuration: 200,
              timing: i,
              onComplete: this.ResetScrollState,
            };
            if (this.m_window) {
              const t = this.currentScrollLeft,
                n = this.currentScrollTop;
              this.m_animation = new f.b(this.m_window, e, (e) => {
                this.m_window.scrollTo({
                  left: t + (a - t) * e,
                  top: n + (r - n) * e,
                  behavior: "auto",
                });
              });
            } else
              (this.m_element.style.scrollSnapType = "initial"),
                (this.m_animation = new f.c(
                  this.m_element,
                  { scrollTop: r, scrollLeft: a },
                  e,
                ));
            (this.m_scrollLeftTarget = a),
              (this.m_scrollTopTarget = r),
              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;
      }
    }
    Object(a.b)([o.a], R.prototype, "ResetScrollState", null);
    const j = new WeakMap();
    function A(e) {
      let t = j.get(e);
      return t || ((t = new R(e)), j.set(e, t)), t;
    }
    function k(e) {
      const t = j.get(e);
      return t
        ? { scrollLeft: t.scrollLeft, scrollTop: t.scrollTop }
        : { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop };
    }
    const M = new c.a("FocusNavigationMovement").Debug;
    var P, L, G, N;
    !(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");
    })(P || (P = {})),
      (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");
      })(L || (L = {})),
      (function (e) {
        (e[(e.Standard = 0)] = "Standard"),
          (e[(e.NoTransform = 1)] = "NoTransform"),
          (e[(e.NoTransformSparseContent = 2)] = "NoTransformSparseContent");
      })(G || (G = {})),
      (function (e) {
        (e[(e.INVALID = 0)] = "INVALID"),
          (e[(e.FORWARD = 1)] = "FORWARD"),
          (e[(e.BACKWARD = 2)] = "BACKWARD");
      })(N || (N = {}));
    class F {
      constructor(e, t, n) {
        (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 l.a()),
          (this.m_bFocusWithin = !1),
          (this.m_FocusWithinCallbackList = new l.a()),
          (this.m_ActionDescriptionsChangedCallbackList = new l.a()),
          (this.m_RetainFocusParent = null),
          (this.m_rgNavigationHandlers = []),
          (this.m_rgFocusHandlers = []),
          (this.m_Tree = e),
          (this.m_Parent = t),
          (this.m_FocusRing = n),
          (this.m_nDepth = t ? t.m_nDepth + 1 : 0);
      }
      CreateHandle() {
        return new u.e(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, n, a, r, i;
        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 === (n = this.m_Properties) || void 0 === n
              ? void 0
              : n.retainFocus,
          u =
            null === (a = this.m_Properties) || void 0 === a
              ? void 0
              : a.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 === (r = this.m_FocusRing) ||
              void 0 === r ||
              r.OnBlur(d.c.APPLICATION, this, this)
            : !this.m_Properties.noFocusRing &&
              u &&
              this.BHasFocus() &&
              (null === (i = this.m_FocusRing) ||
                void 0 === i ||
                i.OnFocus(d.c.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 n =
          null === (t = this.m_Properties) || void 0 === t
            ? void 0
            : t.actionDescriptionMap;
        if (n)
          for (const t in n) {
            const a = t;
            void 0 === e[a] && (e[a] = n[a]);
          }
        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() &&
            (Object(s.a)(
              !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)
            : Object(s.a)(
                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(),
          n = this.m_Properties.autoFocus || t;
        if (this.BWantsAutoFocus() || n) {
          let e = -1;
          this.m_rgChildren.length &&
            (this.EnsureChildrenSorted(),
            (e = this.m_rgChildren.findIndex((e) => e.BWantsAutoFocus()))),
            (this.m_Properties.autoFocus || n || -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),
            Object(s.a)(
              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) &&
          (M(
            `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(d.c.APPLICATION, null)),
          this.UnregisterDOMEvents(),
          this.m_Parent
            ? this.m_Parent.RemoveChild(this)
            : Object(s.a)(
                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 != P.NONE ||
            this.m_Properties.onMoveUp ||
            this.m_Properties.onMoveRight ||
            this.m_Properties.onMoveDown ||
            this.m_Properties.onMoveLeft) &&
          this.m_rgNavigationHandlers.push(
            Object(d.i)(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);
        Object(s.a)(-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 n = e.m_element,
              a = t.m_element;
            if (!n) return a ? 1 : 0;
            if (!a) return -1;
            const r = n.compareDocumentPosition(a);
            return r & Node.DOCUMENT_POSITION_PRECEDING
              ? 1
              : r & 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(d.c.BROWSER, this);
      }
      OnDOMBlur(e) {
        this.m_bFocused &&
          this.m_element.ownerDocument.hasFocus() &&
          this.m_Tree.TransferFocus(d.c.BROWSER, null);
      }
      UpdateParentActiveChild() {
        this.m_Parent &&
          (this.m_Parent.SetActiveChild(this),
          this.m_Parent.UpdateParentActiveChild());
      }
      GetFocusable() {
        const {
          focusable: e,
          focusableIfNoChildren: t,
          childFocusDisabled: n,
          fnCanTakeFocus: a,
        } = this.m_Properties;
        return this.m_bMounted
          ? a && !a(this)
            ? "none"
            : e || (t && (n || 0 == this.m_rgChildren.length))
              ? "self"
              : !n && this.m_rgChildren.length
                ? "children"
                : "none"
          : "none";
      }
      BTakeFocus(e, t) {
        const n = this.FindFocusableNode(t);
        return this.InternalFocusDescendant(n, 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 n = this.FindFocusableDescendant(t);
        return this.InternalFocusDescendant(n, e, t);
      }
      BFocusFirstChild(e) {
        const t = this.FindNextFocusableChildInDirection(
          -1,
          N.FORWARD,
          r.a.INVALID,
        );
        return this.InternalFocusDescendant(t, e);
      }
      BFocusLastChild(e) {
        const t = this.FindNextFocusableChildInDirection(
          this.m_rgChildren.length,
          N.BACKWARD,
          r.a.INVALID,
        );
        return this.InternalFocusDescendant(t, e);
      }
      FindFocusableDescendant(e, t) {
        const n = Object(u.a)(e),
          { focusableIfNoChildren: a, childFocusDisabled: r } =
            this.m_Properties;
        if (r) return null;
        if (this.m_rgChildren.length) {
          this.EnsureChildrenSorted();
          const { navEntryPreferPosition: r, resetNavOnEntry: s } =
            this.m_Properties;
          let o,
            l = this.GetActiveChildIndex();
          if ((s && void 0 !== e && (l = -1), !this.IsValidChildIndex(l))) {
            const e = this.GetLayout();
            l =
              l >= this.m_rgChildren.length ||
              e == P.ROW_REVERSE ||
              e == P.COLUMN_REVERSE ||
              r == L.LAST
                ? this.m_rgChildren.length - 1
                : 0;
          }
          if ((r == L.MAINTAIN_X || r == L.MAINTAIN_Y || t) && n) {
            let a, s;
            r == L.MAINTAIN_X ? (a = "x") : r == L.MAINTAIN_Y && (a = "y"),
              a == i.d[n] &&
                (s = this.m_Tree.GetLastFocusedMovementRect(i.d[n])),
              M(
                `Taking focus while preserving ${L[r]} preserved: ${a} movement: ${n}, node:`,
                s || t,
              );
            const l = this.ComputeRelativeDirection(e, P.GRID);
            if (s || t) {
              const r = l == N.BACKWARD ? this.m_rgChildren.length - 1 : 0;
              o = this.FindClosestChildInNextAxiallyAlignedSet(
                a || i.d[n],
                l,
                e,
                s || t,
                r,
                this.m_rgChildren[r].GetBoundingRect(),
              );
            } else if (a != i.d[n]) {
              const t = l == N.BACKWARD ? this.m_rgChildren.length : -1;
              o = this.FindNextFocusableChildInDirection(t, l, e);
            }
          } else if (r == L.PREFERRED_CHILD) {
            for (const t of this.m_rgChildren)
              if (((o = t.BWantsPreferredFocus() && t.FindFocusableNode(e)), o))
                return o;
          } else
            r == L.LAST &&
              (o = this.FindNextFocusableChildInDirection(
                l + 1,
                N.BACKWARD,
                e,
              ));
          return (
            o ||
              (o = this.FindNextFocusableChildInDirection(l - 1, N.FORWARD, e)),
            o || (o = this.FindNextFocusableChildInDirection(l, N.BACKWARD, e)),
            o || (a ? this : null)
          );
        }
        return null;
      }
      BVisibleChildTakeFocus(e) {
        var t;
        const n = p(
          this,
          this.Element
            ? this.Element.getBoundingClientRect()
            : document.body.getBoundingClientRect(),
        );
        return (
          M(
            `Focusing visible child, best child match is ${null === (t = null == n ? void 0 : n.child) || void 0 === t ? void 0 : t.Element.className} - ${JSON.stringify(null == n ? void 0 : n.visibility)}`,
          ),
          !!n && n.child.BTakeFocus(e)
        );
      }
      GetLayout() {
        if (this.m_Properties.layout) return this.m_Properties.layout;
        if (this.m_rgChildren.length < 2) return P.NONE;
        return Object(u.f)(this.m_element);
      }
      OnNavigationEvent(e) {
        const t = e.detail.button;
        if (this.BTryInternalNavigation(t, e.detail.is_repeat)) return !0;
        const {
          onMoveUp: n,
          onMoveRight: a,
          onMoveDown: i,
          onMoveLeft: s,
        } = this.m_Properties;
        let o = !1;
        switch (t) {
          case r.a.DIR_UP:
            n && (o = n(e.detail, this));
            break;
          case r.a.DIR_RIGHT:
            a && (o = a(e.detail, this));
            break;
          case r.a.DIR_DOWN:
            i && (o = i(e.detail, this));
            break;
          case r.a.DIR_LEFT:
            s && (o = s(e.detail, this));
        }
        return o;
      }
      InternalFocusDescendant(e, t, n) {
        return !!e && (this.m_Tree.TransferFocus(t, e, Object(u.a)(n)), !0);
      }
      BTryInternalNavigation(e, t) {
        const n = this.GetLayout();
        let a,
          i = this.ComputeRelativeDirection(e, n);
        if (
          (M(
            `Handling navigation event ${r.a[e]} - ${P[n]} - ${N[i]}`,
            this.m_element,
          ),
          i == N.INVALID)
        )
          return !1;
        if (this.m_Properties.focusable && this.m_bFocused)
          return M("Skipping navigation within focused element"), !1;
        if ((this.EnsureChildrenSorted(!0), n == P.GRID))
          a = this.FindNextFocusableChildInGrid(
            this.GetActiveChildIndex(),
            i,
            e,
          );
        else {
          let t = this.GetActiveChildIndex();
          this.IsValidChildIndex(t) ||
            (t = i == N.FORWARD ? -1 : this.m_rgChildren.length),
            (a = this.FindNextFocusableChildInDirection(t, i, e));
        }
        if (a) {
          const n = Object(u.a)(e);
          if (this.GetScrollIntoViewType() == G.NoTransformSparseContent) {
            const e =
                ("y" == n ? window.innerHeight : window.innerWidth) /
                (t ? 4.5 : 3.33),
              r = E(a.Element);
            if (
              (r.top > window.innerHeight &&
                r.bottom > window.innerHeight + e) ||
              (r.bottom < 0 && r.top < -e) ||
              (r.left > window.innerWidth && r.right > window.innerWidth + e) ||
              (r.right < 0 && r.left < -e)
            )
              return (
                M(`Element too far away, scrolling ${e} on ${n} axis `),
                T(a.Element, a.Element, "smooth", n, e),
                !0
              );
          }
          return this.m_Tree.TransferFocus(d.c.GAMEPAD, a, 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()
            : G.Standard;
      }
      GetRelativeDirection(e) {
        return this.ComputeRelativeDirection(e, this.GetLayout());
      }
      ComputeRelativeDirection(e, t) {
        let n = t == P.ROW_REVERSE || t == P.COLUMN_REVERSE;
        switch (t) {
          case P.ROW:
          case P.ROW_REVERSE:
            switch (e) {
              case r.a.DIR_LEFT:
                return n ? N.FORWARD : N.BACKWARD;
              case r.a.DIR_RIGHT:
                return n ? N.BACKWARD : N.FORWARD;
              default:
                return N.INVALID;
            }
          case P.COLUMN:
          case P.COLUMN_REVERSE:
            switch (e) {
              case r.a.DIR_UP:
                return n ? N.FORWARD : N.BACKWARD;
              case r.a.DIR_DOWN:
                return n ? N.BACKWARD : N.FORWARD;
              default:
                return N.INVALID;
            }
          case P.GRID:
            switch (e) {
              case r.a.DIR_LEFT:
              case r.a.DIR_UP:
                return n ? N.FORWARD : N.BACKWARD;
              case r.a.DIR_RIGHT:
              case r.a.DIR_DOWN:
                return n ? N.BACKWARD : N.FORWARD;
              default:
                return N.INVALID;
            }
          default:
            return N.INVALID;
        }
      }
      AdvanceIndex(e, t) {
        return e + (t == N.FORWARD ? 1 : -1);
      }
      FindNextFocusableChildInDirection(e, t, n) {
        let a = t == N.FORWARD ? 1 : -1;
        for (let t = e + a; t >= 0 && t < this.m_rgChildren.length; t += a) {
          const e = this.m_rgChildren[t].FindFocusableNode(n);
          if (e) return e;
        }
        return null;
      }
      ScanChildren(e, t, n) {
        let a = t == N.FORWARD ? 1 : -1;
        for (let t = e; t >= 0 && t < this.m_rgChildren.length; t += a)
          if (n(this.m_rgChildren[t], t)) return t;
        return -1;
      }
      FindNextFocusableChildInGrid(e, t, n) {
        const a = n == r.a.DIR_UP || n == r.a.DIR_DOWN,
          i = this.GetLastFocusElement();
        if (!i || i == this.m_element)
          return (
            Object(s.a)(
              !1,
              "No active child for grid navigation",
              this.m_iLastActiveChildIndex,
              this.m_rgChildren.length,
              i,
            ),
            this.FindFocusableDescendant(n)
          );
        const o = this.GetActiveDescendant().GetBoundingRect();
        if (n == r.a.DIR_UP || n == r.a.DIR_DOWN) {
          const e = this.m_Tree.GetLastFocusedMovementRect("x");
          e && ((o.x = e.x), (o.width = e.width));
        }
        if (a) {
          let a = e;
          for (; -1 != a; ) {
            const e = this.ScanChildren(
              this.AdvanceIndex(a, t),
              t,
              (e) => !Object(u.b)("y", o, e.GetBoundingRect()),
            );
            if (-1 != e) {
              const a = this.m_rgChildren[e].GetBoundingRect(),
                r = this.FindClosestChildInNextAxiallyAlignedSet(
                  "x",
                  t,
                  n,
                  o,
                  e,
                  a,
                );
              if (r) return r;
            }
            a = e;
          }
        } else {
          let a = t == N.FORWARD ? 1 : -1;
          for (
            let r = this.AdvanceIndex(e, t);
            r >= 0 && r < this.m_rgChildren.length;
            r += a
          ) {
            const e = this.m_rgChildren[r];
            if (!Object(u.b)("y", o, e.GetBoundingRect())) return null;
            let t = e.FindFocusableNode(n);
            if (t) return t;
          }
        }
        return null;
      }
      FindClosestChildInNextAxiallyAlignedSet(e, t, n, a, r, s) {
        (!r || r < 0) && (r = 0);
        let o = [];
        const l = Object(u.g)(a);
        this.ScanChildren(r, t, (t) => {
          const n = t.GetBoundingRect();
          return (
            !(!s || Object(u.b)(i.d[e], s, n)) ||
            (o.push({
              child: t,
              overlap: Object(u.i)(e, a, n),
              dist: Object(u.d)(e, l, n),
            }),
            !1)
          );
        }),
          t == N.BACKWARD && o.reverse(),
          o.sort((e, t) => {
            const n = t.overlap - e.overlap;
            return 0 != n ? n : e.dist - t.dist;
          });
        for (const { child: e } of o) {
          const t = e.FindFocusableNode(n, a);
          if (t) return t;
        }
        return null;
      }
      GetChildren() {
        return (
          this.EnsureChildrenSorted(),
          [this.m_rgChildren, this.m_iLastActiveChildIndex]
        );
      }
      SetActiveChild(e) {
        e instanceof F
          ? (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()
            ? (Object(s.a)(
                !this.m_Tree.BUseVirtualFocus(),
                "Virtual focus tree should not have browser focus",
              ),
              this.m_element.focus({ preventScroll: !0 }))
            : this.m_Tree.BUseVirtualFocus() ||
              M(
                `Didn't move focus to element as tree ${this.m_Tree.id} is not active focus tree`,
              ),
          (function (e, t) {
            var n, a, r;
            const i = e.Element;
            if (!i) return;
            let s = [e];
            for (let t = e.Parent; t; t = t.Parent)
              (null === (n = t.m_Properties) || void 0 === n
                ? void 0
                : n.scrollIntoViewWhenChildFocused) && s.push(t);
            for (; s.length; ) {
              let n = s.pop(),
                i = 0 == s.length,
                o =
                  null === (a = n.m_Properties) || void 0 === a
                    ? void 0
                    : a.scrollIntoViewType;
              if (
                (void 0 === o && (o = S ? G.NoTransform : G.Standard),
                (null === (r = n.m_Properties) || void 0 === r
                  ? void 0
                  : r.fnScrollIntoViewHandler) &&
                  !1 !== n.m_Properties.fnScrollIntoViewHandler(e, t, n))
              )
                continue;
              const l = n.m_element,
                c = o == G.NoTransform || o == G.NoTransformSparseContent || !i;
              if (t) {
                const t = c ? E(l) : l.getBoundingClientRect();
                let n = !1;
                const a = Math.max(1.4 * (t.bottom - t.top), 40);
                ((y && performance.now() - y < 500) ||
                  t.bottom < -a ||
                  t.top > window.innerHeight + a) &&
                  (n = !0);
                let r = n ? "auto" : "smooth";
                n && (y = performance.now()),
                  e.Tree.Controller.BIsRestoringHistory() && (r = "auto"),
                  c
                    ? T(0, l, r)
                    : l.scrollIntoView({ behavior: r, block: "nearest" });
              } else
                c
                  ? T(0, l, "auto")
                  : l.scrollIntoView({
                      behavior: "auto",
                      block: "nearest",
                      inline: "nearest",
                    });
            }
          })(this, t),
          this.m_Tree.OnChildActivated(e);
      }
    }
    Object(a.b)([o.a], F.prototype, "OnDOMFocus", null),
      Object(a.b)([o.a], F.prototype, "OnDOMBlur", null),
      Object(a.b)([o.a], F.prototype, "OnNavigationEvent", null);
  },
  "7U+2": function (e, t, n) {
    e.exports = {
      ToolbarCtn: "saveprices_ToolbarCtn_3lAEz",
      Visible: "saveprices_Visible_CLKT9",
      ToolbarPlaceHolder: "saveprices_ToolbarPlaceHolder_OUjJM",
      ToolbarInfo: "saveprices_ToolbarInfo_1bPMN",
      ChangeCount: "saveprices_ChangeCount_1fN8w",
      Buttons: "saveprices_Buttons_1krNh",
      Button: "saveprices_Button_2Jjzu",
      SaveButton: "saveprices_SaveButton_16sHr",
      NavigationWarning: "saveprices_NavigationWarning_3lm-H",
      PricePreviewWarning: "saveprices_PricePreviewWarning_IxZAj",
      SeeDetailsSection: "saveprices_SeeDetailsSection_36-JC",
      SeeDetailsButton: "saveprices_SeeDetailsButton_4aHIW",
      PriceOverrideSummaryList: "saveprices_PriceOverrideSummaryList_3Y8X4",
      OldPriceCtn: "saveprices_OldPriceCtn_2UeXR",
      NewPriceCtn: "saveprices_NewPriceCtn_1m40G",
      PriceOverrideSummary: "saveprices_PriceOverrideSummary_30js1",
      PackageName: "saveprices_PackageName_IcOXT",
      OldPrice: "saveprices_OldPrice_1lyzs",
      NewPrice: "saveprices_NewPrice_nEEX4",
      Currency: "saveprices_Currency_3EgiM",
      PricePrefix: "saveprices_PricePrefix_2suSE",
      PriceSuffix: "saveprices_PriceSuffix_3uRmh",
      ChangeArrow: "saveprices_ChangeArrow_3Pb94",
      SaveDialogBody: "saveprices_SaveDialogBody_2bTmc",
      SaveDialogBodyText: "saveprices_SaveDialogBodyText_3Ohx3",
      AutoPublishCheckBox: "saveprices_AutoPublishCheckBox_2tKL7",
      RadioButtons: "saveprices_RadioButtons_3lsh2",
      PublishError: "saveprices_PublishError_k_qc0",
      PublishWarning: "saveprices_PublishWarning_3uUgr",
      PublishErrorDialog: "saveprices_PublishErrorDialog_381pE",
      HoverToolTip: "saveprices_HoverToolTip_1yXHp",
      PriceChangeSaveWarning: "saveprices_PriceChangeSaveWarning_2lTJ7",
      PriceChangeSaveWarningArrow:
        "saveprices_PriceChangeSaveWarningArrow_B3-IB",
    };
  },
  "83ty": function (e, t, n) {
    e.exports = {
      UnknownValue: "gridcomponents_UnknownValue_3ovtf",
      PackageName: "gridcomponents_PackageName_t8fSj",
      PackageType: "gridcomponents_PackageType_3LZvj",
      AppCount: "gridcomponents_AppCount_2J3kN",
      PackageID: "gridcomponents_PackageID_1E3TV",
    };
  },
  "8a+n": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      HoverContentTransition: "gamehover_HoverContentTransition_28V2p",
      Opening: "gamehover_Opening_1l-0j",
      Open: "gamehover_Open_1ayoA",
      GameHoverCapsuleCtn: "gamehover_GameHoverCapsuleCtn_1xj08",
      UseHidingBottomHalf: "gamehover_UseHidingBottomHalf_3gpwq",
      TrailerAnchorStoreLink: "gamehover_TrailerAnchorStoreLink_3ez7t",
      TrailerCtn: "gamehover_TrailerCtn_1HPr0",
      FullDivImage: "gamehover_FullDivImage_L1LBy",
      Transparent: "gamehover_Transparent_7QvTi",
      Midline: "gamehover_Midline_ZAUt4",
      Price: "gamehover_Price_xCwmG",
      CapsuleImageAnchorPoint: "gamehover_CapsuleImageAnchorPoint_34JHj",
      CapsuleImageCtn: "gamehover_CapsuleImageCtn_3Y_gL",
      WithCornerShine: "gamehover_WithCornerShine_2eMgs",
      DemoButton: "gamehover_DemoButton_1E2kZ",
      WishlistButton: "gamehover_WishlistButton_1lp6v",
      WishlistButtonText: "gamehover_WishlistButtonText_3SsXJ",
      WishlistLoadingText: "gamehover_WishlistLoadingText_3IPtL",
      WishlistButtonNotTop: "gamehover_WishlistButtonNotTop_vZlYI",
      BottomShelf: "gamehover_BottomShelf_vQZp_",
      BottomShelfOffScreen: "gamehover_BottomShelfOffScreen_39gjl",
      TextContent: "gamehover_TextContent_UXVbQ",
      GameTitle: "gamehover_GameTitle_2NhGd",
      TagRow: "gamehover_TagRow_1C_vt",
      Tags: "gamehover_Tags_1g1Rl",
      Tag: "gamehover_Tag_3OWC2",
      PlatformDisplay: "gamehover_PlatformDisplay_2ltsM",
      ReviewsAndRelease: "gamehover_ReviewsAndRelease_2Q5ow",
      ReleaseDate: "gamehover_ReleaseDate_2Jm0t",
      ReleasePrefix: "gamehover_ReleasePrefix_2dc5p",
      ReviewScore: "gamehover_ReviewScore_FiMyk",
      ReviewScoreHeader: "gamehover_ReviewScoreHeader_3UAIA",
      ReviewScoreCount: "gamehover_ReviewScoreCount_3P8a7",
      ReviewScoreValue: "gamehover_ReviewScoreValue_2LZyW",
      ReviewScoreLow: "gamehover_ReviewScoreLow_3uFQK",
      ReviewScoreMixed: "gamehover_ReviewScoreMixed_1MLZa",
      ReviewScoreHigh: "gamehover_ReviewScoreHigh_3VcW-",
      ReviewScorePercentage: "gamehover_ReviewScorePercentage_1Upk4",
      GameHoverCreatorFollowButtonCtn:
        "gamehover_GameHoverCreatorFollowButtonCtn_2yA0d",
    };
  },
  "8nKW": function (e, t, n) {
    e.exports = {
      DialogDropDownMenu_Item: "dropdown_DialogDropDownMenu_Item_3HD54",
      DialogDropDownMenu: "dropdown_DialogDropDownMenu_27Awt",
    };
  },
  "8oMD": function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUNDNzBFNTUyMUM0MTFFNDk1REVFODRBNUU5RjA2MUYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUNDNzBFNTYyMUM0MTFFNDk1REVFODRBNUU5RjA2MUYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5Q0M3MEU1MzIxQzQxMUU0OTVERUU4NEE1RTlGMDYxRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5Q0M3MEU1NDIxQzQxMUU0OTVERUU4NEE1RTlGMDYxRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv3vUKAAAAAlSURBVHjaYvz//z8DsYARpFhISAivjnfv3jGSp3jUGeQ4AyDAADZHNe2nyOBrAAAAAElFTkSuQmCC";
  },
  "8uBp": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return R;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("5xvY"),
      l = n("VQwQ"),
      c = n("CqJL");
    var d, u;
    !(function (e) {
      (e[(e.Invalid = 0)] = "Invalid"),
        (e[(e.AccountName = 1)] = "AccountName"),
        (e[(e.EmailCode = 2)] = "EmailCode"),
        (e[(e.TwoFactorCode = 3)] = "TwoFactorCode"),
        (e[(e.Complete = 4)] = "Complete");
    })(d || (d = {})),
      (function (e) {
        (e[(e.None = 0)] = "None"), (e[(e.InvalidCode = 1)] = "InvalidCode");
      })(u || (u = {}));
    class m {
      constructor(e, t) {
        (this.m_strBaseURL = ""),
          (this.m_strOAuthClientID = ""),
          (this.m_fnLoginComplete = null),
          (this.m_bRequestInFlight = !1),
          (this.m_eCurrentStep = d.AccountName),
          (this.m_strErrorMessage = ""),
          (this.m_strEmailDomain = ""),
          (this.m_strCaptchaURL = ""),
          (this.m_eSteamGuardCodeError = u.None),
          (this.m_strBaseURL = e),
          (this.m_strOAuthClientID = t),
          (this.m_userFields = {
            strUserName: "",
            strPassword: "",
            strTwoFactorCode: "",
            strEmailAuthCode: "",
            emailSteamID: "",
            gidCaptcha: "",
            strCaptchaText: "",
            bRememberLogin: !1,
          });
      }
      Shutdown() {
        this.m_fnLoginComplete = null;
      }
      SetLoginCompleteCallback(e) {
        this.m_fnLoginComplete = e;
      }
      SetUserName(e) {
        this.m_userFields.strUserName = e;
      }
      GetUserName() {
        return this.m_userFields.strUserName;
      }
      SetPassword(e) {
        this.m_userFields.strPassword = e;
      }
      GetPassword() {
        return this.m_userFields.strPassword;
      }
      SetRememberPassword(e) {
        this.m_userFields.bRememberLogin = e;
      }
      GetRememberPassword() {
        return this.m_userFields.bRememberLogin;
      }
      SetEmailAuthCode(e) {
        this.m_userFields.strEmailAuthCode = e;
      }
      GetEmailAuthCode() {
        return this.m_userFields.strEmailAuthCode;
      }
      GetEmailDomain() {
        return this.m_strEmailDomain;
      }
      SetTwoFactorCode(e) {
        this.m_userFields.strTwoFactorCode = e;
      }
      GetTwoFactorCode() {
        return this.m_userFields.strTwoFactorCode;
      }
      SetCaptchaText(e) {
        this.m_userFields.strCaptchaText = e;
      }
      GetCaptchaText() {
        return this.m_userFields.strCaptchaText;
      }
      IsRequestInFlight() {
        return this.m_bRequestInFlight;
      }
      GetCurrentStep() {
        return this.m_eCurrentStep;
      }
      GetErrorMessage() {
        return this.m_strErrorMessage;
      }
      SetInitialErrorMessage(e) {
        this.m_strErrorMessage = e;
      }
      GetSteamGuardCodeError() {
        return this.m_eSteamGuardCodeError;
      }
      GetCaptchaURL() {
        return this.m_strCaptchaURL;
      }
      DoLogin() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_bRequestInFlight) return;
          Object(s.G)(() => {
            (this.m_bRequestInFlight = !0), (this.m_strErrorMessage = "");
          });
          let e = yield Object(o.a)(
            this.m_strBaseURL,
            this.m_strOAuthClientID,
            this.m_userFields,
          );
          Object(s.G)(() => {
            (this.m_bRequestInFlight = !1), this.UpdateLoginResult(e);
          });
        });
      }
      UpdateLoginResult(e) {
        if (!e)
          return (
            console.log("Login timeout"),
            void (this.m_strErrorMessage = Object(c.f)(
              "#ConnectionTrouble_FailedToConnect",
            ))
          );
        if (e.login_complete) {
          if (((this.m_eCurrentStep = d.Complete), this.m_fnLoginComplete)) {
            let t = {
              steamID: e.oauth ? e.oauth.steamid : "",
              strAccountName: e.oauth ? e.oauth.account_name : "",
              strOAuthToken: e.oauth ? e.oauth.oauth_token : "",
            };
            this.m_fnLoginComplete(t);
          }
        } else
          (this.m_strErrorMessage = e.message || ""),
            (this.m_eSteamGuardCodeError = u.None),
            e.requires_twofactor
              ? (this.UpdateCaptchaURL("-1"),
                this.m_eCurrentStep != d.TwoFactorCode ||
                  this.m_strErrorMessage ||
                  ((this.m_strErrorMessage = Object(c.f)(
                    "#MobileLogin_IncorrectSteamGuard",
                  )),
                  (this.m_eSteamGuardCodeError = u.InvalidCode),
                  (this.m_userFields.strTwoFactorCode = "")),
                (this.m_eCurrentStep = d.TwoFactorCode))
              : e.captcha_needed && e.captcha_gid
                ? ((this.m_eCurrentStep = d.AccountName),
                  this.UpdateCaptchaURL(e.captcha_gid))
                : e.emailauth_needed
                  ? (e.emaildomain && (this.m_strEmailDomain = e.emaildomain),
                    e.emailsteamid &&
                      (this.m_userFields.emailSteamID = e.emailsteamid),
                    this.m_eCurrentStep != d.EmailCode ||
                      this.m_strErrorMessage ||
                      ((this.m_strErrorMessage = Object(c.f)(
                        "#MobileLogin_IncorrectSteamGuard",
                      )),
                      (this.m_eSteamGuardCodeError = u.InvalidCode),
                      (this.m_userFields.strEmailAuthCode = "")),
                    (this.m_eCurrentStep = d.EmailCode))
                  : e.agreement_session_url
                    ? (this.Shutdown(),
                      console.log(window.location.href),
                      (window.location.href =
                        e.agreement_session_url +
                        "&redir=" +
                        window.location.href))
                    : console.log("Unhandled login error");
      }
      RefreshCaptcha() {
        return Object(a.a)(this, void 0, void 0, function* () {
          let e = yield Object(o.d)(this.m_strBaseURL);
          e ? this.UpdateCaptchaURL(e) : console.log("Failed to get captcha");
        });
      }
      UpdateCaptchaURL(e) {
        (this.m_userFields.gidCaptcha = e),
          (this.m_userFields.strCaptchaText = ""),
          (this.m_strCaptchaURL =
            "-1" != e ? Object(o.b)(this.m_strBaseURL, e) : "");
      }
    }
    Object(a.b)([s.C], m.prototype, "m_bRequestInFlight", void 0),
      Object(a.b)([s.C], m.prototype, "m_userFields", void 0),
      Object(a.b)([s.C], m.prototype, "m_eCurrentStep", void 0),
      Object(a.b)([s.C], m.prototype, "m_strErrorMessage", void 0),
      Object(a.b)([s.C], m.prototype, "m_strEmailDomain", void 0),
      Object(a.b)([s.C], m.prototype, "m_strCaptchaURL", void 0),
      Object(a.b)([s.C], m.prototype, "m_eSteamGuardCodeError", void 0),
      Object(a.b)([l.a], m.prototype, "DoLogin", null),
      Object(a.b)([s.k.bound], m.prototype, "UpdateCaptchaURL", null);
    var p = n("0CSJ"),
      h = n("l1Mn"),
      _ = n("TyAF"),
      g = n("KT6v"),
      b = n("3wCP"),
      f = n("QLjo"),
      v = n.n(f),
      S = n("XL31"),
      y = n("aaBf");
    let E = class extends i.a.Component {
      constructor(e) {
        super(e),
          (this.m_manager = new m(this.props.baseURL)),
          this.props.onLoginComplete &&
            this.m_manager.SetLoginCompleteCallback(this.props.onLoginComplete);
      }
      componentWillUnmount() {
        this.m_manager.Shutdown();
      }
      render() {
        let e = this.props,
          { baseURL: t, onLoginComplete: n, className: r } = e,
          s = Object(a.c)(e, ["baseURL", "onLoginComplete", "className"]),
          o = Object(b.a)(v.a.LoginDialog, r),
          l = this.m_manager.GetCurrentStep(),
          c = this.m_manager.GetErrorMessage();
        return i.a.createElement(
          "div",
          Object.assign({ className: o }, s),
          i.a.createElement(
            "div",
            { className: v.a.LoginPanelBackground },
            i.a.createElement(h.jb, null),
          ),
          i.a.createElement(
            "div",
            { className: v.a.LoginPanelContent },
            c && i.a.createElement(C, { text: c }),
            l == d.AccountName &&
              i.a.createElement(w, {
                manager: this.m_manager,
                autoFocus: this.props.autoFocus,
              }),
            l == d.TwoFactorCode &&
              i.a.createElement(O, {
                manager: this.m_manager,
                authtype: d.TwoFactorCode,
              }),
            l == d.EmailCode &&
              i.a.createElement(O, {
                manager: this.m_manager,
                authtype: d.EmailCode,
              }),
            l == d.Complete &&
              i.a.createElement(
                "div",
                { className: v.a.LoginComplete },
                i.a.createElement(S.a, null),
              ),
          ),
        );
      }
    };
    function C(e) {
      return i.a.createElement("div", { className: v.a.ErrorMessage }, e.text);
    }
    E = Object(a.b)([_.a], E);
    let w = class extends i.a.Component {
      constructor(e) {
        super(e), (this.state = { nNameSize: 0, nPassSize: 0 });
      }
      OnSubmit(e) {
        e.preventDefault(), this.props.manager.DoLogin();
      }
      OnChangeName(e) {
        let t = e.target.value || "";
        this.props.manager.SetUserName(e.target.value),
          t.length > 24 && t.length < 39
            ? this.setState({ nNameSize: 1 })
            : t.length > 38
              ? this.setState({ nNameSize: 2 })
              : this.setState({ nNameSize: 0 });
      }
      OnChangePassword(e) {
        let t = e.target.value || "";
        (t = t.replace(/[^\x00-\x7F]/g, "")),
          this.props.manager.SetPassword(t),
          t.length > 19 && t.length < 39
            ? this.setState({ nPassSize: 1 })
            : t.length > 38
              ? this.setState({ nPassSize: 2 })
              : this.setState({ nPassSize: 0 });
      }
      OnChangeRememberPass(e) {
        this.props.manager.SetRememberPassword(e.target.checked);
      }
      render() {
        let e,
          t,
          n = this.props.manager;
        return (
          (t =
            1 == this.state.nPassSize
              ? v.a.MedPass
              : 2 == this.state.nPassSize
                ? v.a.LargePass
                : v.a.DefaultPass),
          (e =
            1 == this.state.nNameSize
              ? v.a.MedName
              : 2 == this.state.nNameSize
                ? v.a.LargeName
                : v.a.DefaultNAme),
          i.a.createElement(
            "div",
            { className: v.a.AccountPasswordPanel },
            i.a.createElement(
              "div",
              { className: v.a.SigninTitle },
              Object(c.f)("#Login_SignIn"),
            ),
            i.a.createElement(
              "form",
              { className: v.a.AccountPasswordForm, onSubmit: this.OnSubmit },
              i.a.createElement(p.z, {
                autoFocus: this.props.autoFocus,
                className: Object(b.a)(v.a.AccountNameLabel, e),
                label: Object(c.f)("#Login_AccountName"),
                type: "text",
                value: n.GetUserName(),
                focusOnMount: !0,
                maxLength: 64,
                onChange: this.OnChangeName,
              }),
              i.a.createElement(p.z, {
                bIsPassword: !0,
                className: Object(b.a)(v.a.PasswordDots, t),
                label: Object(c.f)("#Login_Password"),
                type: "password",
                autoComplete: "off",
                maxLength: 64,
                size: 64,
                value: n.GetPassword(),
                onChange: this.OnChangePassword,
              }),
              i.a.createElement(p.f, {
                className: v.a.RememberMeCheck,
                label: Object(c.f)("#Login_RememberMe"),
                disabled: !1,
                onChange: () => this.OnChangeRememberPass,
                checked: n.GetRememberPassword(),
              }),
              n.GetCaptchaURL() && i.a.createElement(B, { manager: n }),
              i.a.createElement(
                p.F,
                { disabled: this.props.manager.IsRequestInFlight() },
                Object(c.f)("#Login_SignIn").toLocaleUpperCase(),
              ),
            ),
            i.a.createElement(
              "a",
              { className: v.a.NeedHelpLink, href: y.c.HELP_BASE_URL },
              Object(c.f)("#Login_ForgotPassword"),
            ),
            i.a.createElement("div", { className: v.a.LoginCreateSeperator }),
            i.a.createElement(
              "div",
              { className: v.a.SteamUpsellContainer },
              i.a.createElement(
                "div",
                { className: v.a.SteamUpsell },
                Object(c.f)("#Login_NoSteamAccount"),
              ),
              i.a.createElement(
                "div",
                { className: v.a.CreateAccountLink },
                i.a.createElement(
                  "a",
                  { href: `${y.c.STORE_BASE_URL}join/` },
                  Object(c.f)("#Login_CreateAccount"),
                ),
              ),
            ),
          )
        );
      }
    };
    Object(a.b)([g.b], w.prototype, "OnSubmit", null),
      Object(a.b)([g.b], w.prototype, "OnChangeName", null),
      Object(a.b)([g.b], w.prototype, "OnChangePassword", null),
      Object(a.b)([g.b], w.prototype, "OnChangeRememberPass", null),
      (w = Object(a.b)([_.a], w));
    let B = class extends i.a.Component {
      OnCaptchaText(e) {
        this.props.manager.SetCaptchaText(e.target.value);
      }
      RefreshCaptcha(e) {
        this.props.manager.RefreshCaptcha();
      }
      render() {
        let e = this.props.manager;
        return i.a.createElement(
          "div",
          { className: v.a.CaptchaContainer },
          i.a.createElement(
            "div",
            { className: v.a.CaptchaBlock },
            i.a.createElement(
              "div",
              { className: v.a.CaptchaImageAndInput },
              i.a.createElement(
                "div",
                { className: v.a.CaptchaImageBox },
                i.a.createElement("img", {
                  className: v.a.CaptchaImage,
                  src: e.GetCaptchaURL(),
                }),
              ),
              i.a.createElement(p.z, {
                className: v.a.CaptchaInput,
                type: "text",
                autoComplete: "off",
                maxLength: 6,
                value: e.GetCaptchaText(),
                onChange: this.OnCaptchaText,
              }),
            ),
            i.a.createElement(
              "div",
              { className: v.a.ErrorMessage },
              Object(c.f)("#Login_CaptchaVerification"),
            ),
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              "span",
              {
                className: v.a.RefreshCaptchaText,
                onClick: this.RefreshCaptcha,
              },
              Object(c.f)("#Login_RefreshCaptcha"),
            ),
          ),
        );
      }
    };
    Object(a.b)([g.b], B.prototype, "OnCaptchaText", null),
      Object(a.b)([g.b], B.prototype, "RefreshCaptcha", null),
      (B = Object(a.b)([_.a], B));
    let O = class extends i.a.Component {
      OnSubmit(e) {
        e.preventDefault(), this.props.manager.DoLogin();
      }
      OnChangeAuthCode(e) {
        this.props.authtype == d.TwoFactorCode
          ? this.props.manager.SetTwoFactorCode(e.target.value)
          : this.props.manager.SetEmailAuthCode(e.target.value);
      }
      render() {
        let e,
          t = this.props.manager,
          n = "",
          a = null,
          r = "",
          s = t.GetSteamGuardCodeError() == u.InvalidCode;
        switch (this.props.authtype) {
          case d.TwoFactorCode:
            (n = t.GetTwoFactorCode()),
              (a = Object(c.f)("#Login_Enter2FA")),
              (e = i.a.createElement(h.K, null)),
              (r = Object(c.f)("#Login_Enter2FAHelp"));
            break;
          case d.EmailCode:
            (n = t.GetEmailAuthCode()),
              (a = Object(c.o)(
                "#Login_SentSteamguard",
                i.a.createElement(
                  "span",
                  { className: v.a.Highlight },
                  "@",
                  t.GetEmailDomain(),
                ),
              )),
              (r = Object(c.f)("#Login_EnterSteamguard")),
              (e = i.a.createElement(h.z, null));
        }
        return i.a.createElement(
          "div",
          { className: v.a.AuthenticationPanel },
          i.a.createElement(p.C, null, Object(c.f)("#Login_SigningIn")),
          i.a.createElement(
            "div",
            { className: v.a.SigningInAccountName },
            t.GetUserName(),
          ),
          i.a.createElement(p.d, null, a),
          i.a.createElement(
            "div",
            { className: v.a.AuthenticatorInputcontainer },
            e,
            i.a.createElement(
              "form",
              { className: v.a.AccountPasswordForm, onSubmit: this.OnSubmit },
              i.a.createElement(p.z, {
                className: Object(b.a)(v.a.AccountName),
                label: "Steam Guard Code",
                type: "text",
                autoComplete: "off",
                focusOnMount: !0,
                maxLength: 64,
                value: n,
                onChange: this.OnChangeAuthCode,
              }),
              i.a.createElement(
                p.F,
                { disabled: this.props.manager.IsRequestInFlight() },
                Object(c.f)("#Login_SteamguardSubmit").toLocaleUpperCase(),
              ),
            ),
          ),
          i.a.createElement(
            "a",
            {
              className: Object(b.a)(
                v.a.NeedHelpLink,
                s ? v.a.NeedHelpHighlight : null,
              ),
              href: "http://help.steampowered.com/",
            },
            r,
          ),
        );
      }
    };
    Object(a.b)([g.b], O.prototype, "OnSubmit", null),
      Object(a.b)([g.b], O.prototype, "OnChangeAuthCode", null),
      (O = Object(a.b)([_.a], O));
    var D = n("+d5k");
    class I extends i.a.Component {
      OnLoginComplete(e) {
        window.location.href =
          this.props.redirectURL &&
          this.props.redirectURL !== Object(y.e)() + "login"
            ? this.props.redirectURL
            : y.c.COMMUNITY_BASE_URL;
      }
      render() {
        return y.j && y.j.logged_in
          ? (this.OnLoginComplete(), null)
          : i.a.createElement(
              "div",
              null,
              i.a.createElement(E, {
                baseURL: Object(y.e)(),
                onLoginComplete: this.OnLoginComplete,
              }),
            );
      }
    }
    Object(a.b)([g.b], I.prototype, "OnLoginComplete", null);
    class T extends i.a.Component {
      render() {
        return i.a.createElement(
          D.a,
          {
            onEscKeypress: this.props.closeModal,
            bDisableBackgroundDismiss: !0,
          },
          i.a.createElement(I, { redirectURL: this.props.redirectURL }),
        );
      }
    }
    function R() {
      Object(D.d)(
        i.a.createElement(T, {
          ownerWin: window,
          redirectURL: window.location.href,
        }),
        window,
        { strTitle: Object(c.f)("#Login_SignIn") },
      );
    }
  },
  "8xcD": function (e, t, n) {
    "use strict";
    var a, r;
    n.d(t, "a", function () {
      return r;
    }),
      n.d(t, "b", function () {
        return i;
      }),
      (function (e) {
        (e[(e.Hover = 0)] = "Hover"),
          (e[(e.ClickPopup = 1)] = "ClickPopup"),
          (e[(e.ClickSurroundingRegion = 2)] = "ClickSurroundingRegion");
      })(a || (a = {})),
      (function (e) {
        (e[(e.Chat = 0)] = "Chat"),
          (e[(e.Notification = 1)] = "Notification"),
          (e[(e.Error = 2)] = "Error");
      })(r || (r = {}));
    class i {}
  },
  "9HlB": function (e, t, n) {
    e.exports = { CompatIcon: "deckcompaticons_CompatIcon_3cV4w" };
  },
  "9OSe": function (e, t) {
    e.exports =
      "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTQwMHB4IiBoZWlnaHQ9IjE0MDlweCIgdmlld0JveD0iMCAxODAxLjUgMTQwMCAxNDA5IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMTgwMS41IDE0MDAgMTQwOSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBpZD0iaWNvbm1vbnN0ci1saW5rLTFfMV8iIGZpbGw9IiNGRkZGRkYiIGQ9Ik0zNjIuMzUzLDIzMTAuNTg4YzE0OC4yMzUtMTQ4LjIzNSwzODcuMDYtMTQ4LjIzNSw1MjcuMDYsMA0KCWMxNi40NzEsMTYuNDcxLDMyLjk0MSw0MS4xNzcsNDkuNDExLDU3LjY0N0w4MDcuMDU5LDI1MDBjLTQxLjE3Ni04Mi4zNTMtMTMxLjc2NS0xMzEuNzY1LTIyMi4zNTMtMTE1LjI5NA0KCWMtNDEuMTc3LDguMjM1LTc0LjExOCwyNC43MDYtOTguODIzLDQ5LjQxMWwtMjQ3LjA1OSwyNDcuMDZjLTc0LjExOCw3NC4xMTctNzQuMTE4LDE5Ny42NDYsMCwyODANCgljNzQuMTE4LDc0LjExNywxOTcuNjQ3LDc0LjExNywyODAsMGwwLDBsNzQuMTE4LTc0LjExOGM3NC4xMTcsMjQuNzA2LDE0OC4yMzUsNDEuMTc3LDIyMi4zNTMsMzIuOTQxbC0xNzIuOTQsMTcyLjk0MQ0KCWMtMTQ4LjIzNSwxNDguMjM1LTM4Ny4wNiwxNDguMjM1LTUyNy4wNiwwcy0xNDguMjM1LTM4Ny4wNTksMC01MjcuMDU5QzEwNy4wNTksMjU1Ny42NDcsMzYyLjM1MywyMzEwLjU4OCwzNjIuMzUzLDIzMTAuNTg4eg0KCSBNNzU3LjY0NiwxOTA3LjA1OUw1OTIuOTQxLDIwODBjNzQuMTE3LTguMjM1LDE0OC4yMzUsOC4yMzUsMjE0LjExNywzMi45NDFsNzQuMTE4LTc0LjExOGM3NC4xMTctNzQuMTE3LDE5Ny42NDYtNzQuMTE3LDI4MCwwDQoJYzgyLjM1Myw3NC4xMTgsNzQuMTE3LDE5Ny42NDcsMCwyODBsLTI1NS4yOTQsMjQ3LjA2Yy03NC4xMTgsNzQuMTE3LTE5Ny42NDcsNzQuMTE3LTI4MCwwDQoJYy04LjIzNS0xNi40NzEtMjQuNzA2LTQxLjE3Ny0zMi45NDEtNjUuODgzbC0xMzEuNzY1LDEzMS43NjVjMTYuNDcxLDI0LjcwNiwzMi45NCw0MS4xNzcsNDkuNDExLDU3LjY0Nw0KCWMxNDguMjM1LDE0OC4yMzUsMzg3LjA1OSwxNDguMjM1LDUyNy4wNiwwbDAsMGwyNDcuMDU5LTI0Ny4wNmMxNDguMjM1LTE0OC4yMzUsMTQ4LjIzNS0zODcuMDU5LDAtNTI3LjA1OQ0KCVM5MDUuODgzLDE3NjcuMDU5LDc1Ny42NDYsMTkwNy4wNTlMNzU3LjY0NiwxOTA3LjA1OUw3NTcuNjQ2LDE5MDcuMDU5eiIvPg0KPC9zdmc+DQo=";
  },
  "9Pkb": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      PartnerEventFont: "partnereventshared_PartnerEventFont_jl62C",
      BetaContainer: "partnereventshared_BetaContainer_V9W-c",
      EventBetaTextTitle: "partnereventshared_EventBetaTextTitle_1RBMY",
      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",
      FlexContainSpaceBetween:
        "partnereventshared_FlexContainSpaceBetween_2hZlk",
      FlexRowWrapSpaceBetweenContainer:
        "partnereventshared_FlexRowWrapSpaceBetweenContainer_1tkkJ",
      FlexRowWrapFlexStartContainer:
        "partnereventshared_FlexRowWrapFlexStartContainer_1j2ti",
      SaveBackground: "partnereventshared_SaveBackground_sD4zz",
      SupportedGroupLabel: "partnereventshared_SupportedGroupLabel_2ALDc",
      LanguageWithContent: "partnereventshared_LanguageWithContent_26qgE",
      InputBorder: "partnereventshared_InputBorder_3GXan",
      RadioOption: "partnereventshared_RadioOption_qDLh8",
      EventEditorTextTitleCtn:
        "partnereventshared_EventEditorTextTitleCtn_3Stjq",
      doclink: "partnereventshared_doclink_pv25B",
      EventEditorUnpaddedTextTitle:
        "partnereventshared_EventEditorUnpaddedTextTitle_3YEdx",
      EventEditorTextTitle: "partnereventshared_EventEditorTextTitle_KxUwI",
      EventEditorTextTitleLengthInfo:
        "partnereventshared_EventEditorTextTitleLengthInfo_RI6jm",
      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",
      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",
      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",
    };
  },
  "9yZi": function (e, t) {},
  "A/LU": function (e, t, n) {
    "use strict";
    var a = n("hRO2");
    n("gFJg"), n("TYQL");
    a.Message;
  },
  "A/iR": function (e, t, n) {
    "use strict";
    var a,
      r = n("mrSG"),
      i = n("2vnA"),
      s = (n("AQa9"), n("Q8oI"), n("WDYG")),
      o = (n("hc+a"), n("I8QC")),
      l = n("CqJL"),
      c = n("VQwQ");
    !(function (e) {
      (e[(e.k_EStorePage = 0)] = "k_EStorePage"),
        (e[(e.k_EEventPage = 1)] = "k_EEventPage"),
        (e[(e.k_ESalesPage = 2)] = "k_ESalesPage");
    })(a || (a = {}));
    class d {
      constructor(e) {
        this.m_setting = e;
      }
      BIsEnableEnabled() {
        return this.m_setting.bEnable;
      }
      GetLocalizedSubject(e) {
        return this.m_setting.localized_subject &&
          this.m_setting.localized_subject[e]
          ? this.m_setting.localized_subject[e]
          : "";
      }
      GetSubjectTextLoc() {
        return this.m_setting.subject_loc_token
          ? this.m_setting.subject_loc_token
          : "EventEmail_Subject_NewUpdate";
      }
      GetNumSections() {
        return this.m_setting.sections.length;
      }
      GetSection(e) {
        return this.m_setting.sections[e];
      }
      GetSomeCreatorTarget() {
        return this.GetTargetting().creator_home[0];
      }
      GetFiltering() {
        return this.m_setting.filtering || {};
      }
      BIsIRTopNFiltering() {
        return this.GetFiltering().ir_topn;
      }
      BIsWishListFiltering() {
        return this.GetFiltering().wishlist;
      }
      GetControlGroupPercent() {
        let e = this.GetFiltering();
        return Boolean(e && e.control_group_percent)
          ? e.control_group_percent
          : 0;
      }
      GetTargetting() {
        return this.m_setting.targeting || {};
      }
      BIsTargetingGamePlayers() {
        return this.GetTargetting().game_players;
      }
      BIsTargetingGameFollowers() {
        return this.GetTargetting().game_followers;
      }
      BIsTargetingGameWishlisters() {
        return this.GetTargetting().game_wishlister;
      }
      BIsExcludingGameOwners() {
        return this.GetTargetting().game_exclude_owners;
      }
      BIsTargetingGameOwnersWithoutPlaytime() {
        return this.GetTargetting().game_owner_with_no_playtime;
      }
      BIsTargetingSomeCreator() {
        return (
          this.GetTargetting().creator_home &&
          this.GetTargetting().creator_home.length > 0
        );
      }
      BIsTargetingSomeCreatorPlayer() {
        return (
          this.GetTargetting().creator_home_player &&
          this.GetTargetting().creator_home_player.length > 0
        );
      }
      BIsTargetingCreator(e) {
        let t = this.GetTargetting().creator_home;
        return t && t.length > 0 && t.some((t) => t === e);
      }
      BIsTargetingCreatorPlayer(e) {
        let t = this.GetTargetting().creator_home_player;
        return t && t.length > 0 && t.some((t) => t === e);
      }
      BIsLocked() {
        return this.m_setting.locked;
      }
      BHasSomeTargetEnabled() {
        return (
          this.BIsTargetingGamePlayers() ||
          this.BIsTargetingGameFollowers() ||
          this.BIsTargetingGameWishlisters() ||
          this.BIsTargetingSomeCreator() ||
          this.BIsTargetingSomeCreatorPlayer() ||
          this.BIsTargetingGameOwnersWithoutPlaytime()
        );
      }
      BHasSomeLanguage(e) {
        return (
          this.m_setting &&
          this.m_setting.sections.some((t) => {
            let n = new u(t);
            return (
              n.GetHeadline(e).trim().length > 0 ||
              n.GetBody(e).trim().length > 0 ||
              void 0 !== n.GetImageHashAndExtRaw(e)
            );
          })
        );
      }
      GetInternalTargetingPartnerCapability() {
        return this.m_setting.internal_targeting.capability;
      }
      BHasInternalTargetingPriority() {
        return this.m_setting.internal_targeting.priority;
      }
      BHasInternalTargetingPublisherRight(e) {
        return (this.m_setting.internal_targeting.pub_rights & e) == e;
      }
      BHasAnyInternalTargetingPublisherRight() {
        return 0 != this.m_setting.internal_targeting.pub_rights;
      }
      BHasInternalTargetingAppRight(e) {
        return (this.m_setting.internal_targeting.app_rights & e) == e;
      }
      BHasAnyInternalTargetingAppRight() {
        return 0 != this.m_setting.internal_targeting.app_rights;
      }
      GetInternalTargetAppCount() {
        return this.m_setting.internal_targeting
          ? this.m_setting.internal_targeting.appids.length
          : 0;
      }
      GetInternalTargetPublisherCount() {
        return this.m_setting.internal_targeting
          ? this.m_setting.internal_targeting.partnerids.length
          : 0;
      }
      GetInternalTargetAppIDs() {
        return this.m_setting.internal_targeting
          ? this.m_setting.internal_targeting.appids
          : [];
      }
      GetInternalTargetPublisherIDs() {
        return this.m_setting.internal_targeting
          ? this.m_setting.internal_targeting.partnerids
          : [];
      }
      BHasLocalizedSubject(e) {
        return (
          this.m_setting.localized_subject &&
          e < this.m_setting.localized_subject.length &&
          Boolean(this.m_setting.localized_subject[e])
        );
      }
    }
    Object(r.b)([i.C], d.prototype, "m_setting", void 0),
      Object(r.b)([c.a], d.prototype, "BHasSomeLanguage", null);
    class u {
      constructor(e) {
        this.m_section = e;
      }
      BHasHeadline() {
        return void 0 !== this.m_section.localized_headline;
      }
      BHasHeadlineInLanguage(e) {
        return (
          this.m_section.localized_headline &&
          this.m_section.localized_headline.length > e &&
          Boolean(this.m_section.localized_headline[e])
        );
      }
      BHasBody() {
        return void 0 !== this.m_section.localized_body;
      }
      BHasBodyInLanguage(e) {
        return (
          this.m_section.localized_body &&
          this.m_section.localized_body.length > e &&
          this.m_section.localized_body[e]
        );
      }
      BHasCallToAction() {
        return void 0 !== this.m_section.button_loc_token;
      }
      BHasImage() {
        return void 0 !== this.m_section.localized_image;
      }
      BHasVideo() {
        return void 0 !== this.m_section.video_link;
      }
      BHasSomeImage() {
        return (
          this.m_section.localized_image &&
          this.m_section.localized_image.some((e) => Boolean(e))
        );
      }
      GetHeadline(e) {
        return l.a.Get(this.m_section.localized_headline, e);
      }
      GetHeadlineWithFallback(e) {
        let t = this.GetHeadline(e);
        const n = l.b.GetELanguageFallback(e);
        return 0 == t.length && e != n && (t = this.GetHeadline(n)), t;
      }
      GetBody(e) {
        return this.m_section.localized_body &&
          this.m_section.localized_body.length > e &&
          this.m_section.localized_body[e]
          ? this.m_section.localized_body[e]
          : "";
      }
      GetBodyWithFallback(e) {
        let t = this.GetBody(e);
        const n = l.b.GetELanguageFallback(e);
        return 0 == t.length && e != n && (t = this.GetBody(n)), t;
      }
      GetImageHashAndExtRaw(e) {
        return this.m_section.localized_image &&
          this.m_section.localized_image.length > e &&
          this.m_section.localized_image[e]
          ? this.m_section.localized_image[e]
          : void 0;
      }
      GetImageHash(e) {
        let t = this.GetImageHashAndExtRaw(e);
        if (t) return t.substr(0, t.length - 4);
      }
      GetImageHashAndExtWithFallback(e) {
        let t = this.GetImageHashAndExtRaw(e);
        const n = l.b.GetELanguageFallback(e);
        return void 0 === t && e != n && (t = this.GetImageHashAndExtRaw(n)), t;
      }
      RemoveImage(e) {
        this.m_section.localized_image &&
          this.m_section.localized_image.length > e &&
          (this.m_section.localized_image[e] = void 0);
      }
      GetImageURLWithFallback(e, t) {
        let n = this.GetImageHashAndExtWithFallback(e);
        return n ? o.a.GenerateArtworkURLFromHashAndExtensions(t, n) : void 0;
      }
      GetVideoURL() {
        return this.m_section.video_link ? this.m_section.video_link : "";
      }
      GetVideoImage() {
        return this.m_section.video_image;
      }
      GetDestination() {
        return this.m_section.button_destination;
      }
      BIsStoreSalesPage() {
        return this.m_section.button_destination == a.k_ESalesPage;
      }
      GetDestinationStorePath() {
        return this.m_section.button_store_path
          ? this.m_section.button_store_path
          : "";
      }
      GetButtonTextLoc() {
        return this.m_section.button_loc_token;
      }
      GetButtonAppidOverride() {
        return this.m_section.button_appid_override;
      }
      BHasButtonAppIDOverride() {
        return (
          this.m_section.button_appid_override &&
          this.m_section.button_appid_override > 3
        );
      }
      BHasValidVideoURL() {
        return Object(s.a)(this.m_section.video_link);
      }
      GetYouTubeVideoID() {
        return Object(s.c)(this.m_section.video_link);
      }
      GetYouTubeImageURL() {
        if (this.BHasValidVideoURL())
          return (
            "https://img.youtube.com/vi/" + this.GetYouTubeVideoID() + "/0.jpg"
          );
      }
      GetRawVideoURL() {
        return this.m_section.video_link;
      }
      BHasVideoImage() {
        return Boolean(this.m_section.video_image);
      }
    }
    Object(r.b)([i.C], u.prototype, "m_section", void 0);
  },
  A2YN: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return m;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = n("3wCP"),
      s = n("DRUm"),
      o = (n("IDaJ"), n("DV2j"), n("7DIv"), n("1NFT")),
      l = n("4MUT"),
      c = n.n(l),
      d = n("KT6v");
    const u = new s.a("FocusNavigation").Debug;
    function m(e) {
      const {
          className: t,
          rootClassName: n,
          render: a,
          children: s,
          NavigationManager: l,
        } = e,
        u = r.a.useRef(),
        [m, h] = r.a.useState({
          bFocusWithin: !1,
          navTarget: null,
          prevTarget: null,
        }),
        _ = Object(d.k)(null == l ? void 0 : l.GetShowDebugFocusRing()),
        g = r.a.useRef(),
        b = r.a.useMemo(
          () => ({
            OnBlur: (e, t, n) => {
              h({ bFocusWithin: !1, navTarget: null, prevTarget: null });
            },
            OnFocus: (e, t, n) => {
              h({ bFocusWithin: !0, navTarget: t, prevTarget: null });
            },
            OnFocusChange: (e, t, n) => {
              h({ bFocusWithin: !0, navTarget: n, prevTarget: t });
            },
            OnForceMeasureFocusRing: () => {
              var e;
              null === (e = g.current) ||
                void 0 === e ||
                e.MeasureElementAndUpdate();
            },
          }),
          [h],
        );
      let { bFocusWithin: f, navTarget: v, prevTarget: S } = m;
      return r.a.createElement(
        r.a.Fragment,
        null,
        r.a.createElement(
          "div",
          { className: Object(i.a)(c.a.FocusRingRoot, n), ref: u },
          r.a.createElement(p, {
            ref: g,
            className: Object(i.a)(t, _ && c.a.DebugFocusRing),
            render: a,
            bFocusWithin: f,
            navTarget: v,
            refContainer: u,
            bDebug: _,
          }),
        ),
        r.a.createElement(o.d.Provider, { value: b }, s),
      );
    }
    const p = r.a.forwardRef((e, t) => {
      const {
          className: n,
          render: s,
          bFocusWithin: o,
          navTarget: l,
          refContainer: d,
          bDebug: m,
        } = e,
        [p, _] = r.a.useState(l),
        [g, b] = r.a.useState(null),
        [f, v] = r.a.useState(!1),
        [S, y] = r.a.useState(!1),
        E = r.a.useRef(performance.now()),
        C = Object(a.useCallback)(() => {
          if (!l || !l.BWantsFocusRing()) return null != g && (b(null), !0);
          let e = l.GetBoundingRect();
          const t = d.current.getBoundingClientRect();
          if (m) {
            let t = l.Element;
            const n = t.ownerDocument.defaultView,
              a = (t) =>
                "none" == n.getComputedStyle(t).display ||
                (0 == e.width && 0 == e.height && 0 == e.x && 0 == e.y);
            for (; a(t) && t.parentElement; )
              (t = t.parentElement), (e = t.getBoundingClientRect());
            let r = l.Element != t;
            r != S &&
              (y(r),
              r &&
                u(
                  "Focused on hidden item: ",
                  l.Element,
                  ". Closest visible ancestor: ",
                  t,
                ));
          }
          const n = {
            left: e.x - t.x,
            top: e.y - t.y,
            height: e.height,
            width: e.width,
          };
          return (
            (!g ||
              n.left != g.left ||
              n.top != g.top ||
              n.height != g.height ||
              n.width != g.width) &&
            (b(n), !0)
          );
        }, [l, d, b, g, S, y, m]);
      r.a.useImperativeHandle(t, () => ({ MeasureElementAndUpdate: C }), [C]);
      let w = o,
        B = g || {};
      l && d.current && (l.BWantsFocusRing() || (w = !1)),
        l != p && (_(l), (E.current = performance.now()), C(), f && v(!1)),
        r.a.useEffect(() => {
          if (!w || performance.now() - E.current > 500) return;
          let e;
          const t = () => {
            e = requestAnimationFrame(() => {
              C() ? v(!0) : performance.now() - E.current <= 500 && t();
            });
          };
          return t(), () => cancelAnimationFrame(e);
        });
      const O = s || h;
      return r.a.createElement(
        O,
        Object.assign({}, B, {
          visible: w && null !== g,
          key: E.current,
          className: Object(i.a)(n, S && c.a.FocusRingOnHiddenItem),
          animationEnabled: !f,
          target: l,
        }),
      );
    });
    function h(e) {
      const {
        className: t,
        visible: n,
        left: a,
        top: s,
        height: o,
        width: l,
        target: d,
        animationEnabled: u,
      } = e;
      if (!n) return null;
      const m = {
        left: a - 0 + "px",
        top: s - 0 + "px",
        height: o + "px",
        width: l + "px",
      };
      return r.a.createElement("div", {
        className: Object(i.a)(c.a.FocusRing, u && c.a.Animated, t),
        style: m,
      });
    }
  },
  A5uu: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return S;
    });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = (n("AQa9"), n("Q8oI"), n("y6Yv")),
      s = n("WkhL"),
      o = (n("Wiwi"), n("hRO2")),
      l = n("gFJg"),
      c = n("RYKw");
    const d = o.Message;
    class u extends d {
      constructor(e = null) {
        super(),
          u.prototype.request || l.a(u.M()),
          d.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                request: { n: 1, c: c.a },
                include_unpublished: {
                  n: 2,
                  br: l.d.readBool,
                  bw: l.h.writeBool,
                },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = l.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return l.g(u.M(), e, t);
      }
      static fromObject(e) {
        return l.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new o.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return l.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new o.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        l.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new o.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPartnerStoreBrowse_GetItems_Request";
      }
    }
    var m;
    (m || (m = {})).GetItems = function (e, t) {
      return e.SendMsg("PartnerStoreBrowse.GetItems#1", t, c.b, {
        bConstMethod: !0,
        ePrivilege: 1,
      });
    };
    var p = n("fvA7"),
      h = n("D6PB"),
      _ = n("aaBf"),
      g = n("+y9j"),
      b = n("PEc5");
    function f(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,
        ),
        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,
      };
    }
    function v(e, t) {
      return Object(a.a)(this, void 0, void 0, function* () {
        const n = yield e,
          a = yield t;
        return 1 != n ? n : a;
      });
    }
    class S {
      constructor() {
        (this.k_QueueWaitUntilRequestMS = 5),
          (this.k_nMaxBatchSize = 250),
          (this.m_mapApps = new Map()),
          (this.m_mapPackages = new Map()),
          (this.m_mapBundles = new Map()),
          (this.m_setUnavailableApps = new Set()),
          (this.m_setUnavailablePackages = new Set()),
          (this.m_setUnavailableBundles = new Set()),
          (this.m_mapAppsInFlight = new Map()),
          (this.m_mapPackageInFlight = new Map()),
          (this.m_mapBundleInFlight = new Map()),
          (this.m_SteamInterface = null),
          (this.m_bUsePartnerAPI = !1),
          (this.m_bInitialized = !1),
          (this.m_setPendingAppInfo = new Set()),
          (this.m_setPendingBundleInfo = new Set()),
          (this.m_setPendingPackageInfo = new Set()),
          (this.m_setPendingDataRequest = {}),
          (this.m_PendingTimer = void 0),
          (this.k_AlreadyResolvedOK = Promise.resolve(1)),
          (this.k_AlreadyResolvedInvalid = Promise.resolve(8));
      }
      static Get() {
        return (
          S.sm_instance ||
            ((S.sm_instance = new S()),
            (window.StoreItemCache = S.sm_instance)),
          S.sm_instance
        );
      }
      static Initialize(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          Object(p.a)(
            !S.Get().m_bInitialized,
            "CStoreItemCache was already initialized; initialize it only once.",
          ),
            (S.Get().m_SteamInterface = e),
            (S.Get().m_bUsePartnerAPI = !!t),
            (S.Get().m_bInitialized = !0);
        });
      }
      static BIsInitialized() {
        return S.Get().m_bInitialized;
      }
      QueueAppRequest(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.QueueStoreItemRequest(e, 0, t);
        });
      }
      QueuePackageRequest(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.QueueStoreItemRequest(e, 1, t);
        });
      }
      QueueBundleRequest(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.QueueStoreItemRequest(e, 2, 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 Object(a.a)(this, void 0, void 0, function* () {
          const n = (yield Promise.all(
            e.map((e) => this.QueueStoreItemRequest(e, 0, t)),
          )).filter((e) => 1 != e);
          return n.length > 0 ? n[0] : 1;
        });
      }
      QueueMultiplePackageRequests(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = (yield Promise.all(
            e.map((e) => this.QueueStoreItemRequest(e, 1, t)),
          )).filter((e) => 1 != e);
          return n.length > 0 ? n[0] : 1;
        });
      }
      QueueMultipleBundleRequests(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = (yield Promise.all(
            e.map((e) => this.QueueStoreItemRequest(e, 2, t)),
          )).filter((e) => 1 != e);
          return n.length > 0 ? n[0] : 1;
        });
      }
      QueueMultipleStoreItemRequests(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = (yield Promise.all(
            e.map((e, a) => this.QueueStoreItemRequest(e, t[a], n)),
          )).filter((e) => 1 != e);
          return a.length > 0 ? a[0] : 1;
        });
      }
      QueueStoreItemRequest(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            (Object(p.a)(
              S.ValidateDataRequest(n),
              "Invalid Data Request: " + JSON.stringify(n),
            ),
            !e)
          )
            return (
              Object(p.a)(
                !e,
                `unexpected id ${e} of zero or undefined for type ${t}`,
              ),
              this.k_AlreadyResolvedInvalid
            );
          const a = this.GetPreviousSupersetLoadPromise(e, t, n);
          if (a) return a;
          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 = f(this.m_setPendingDataRequest, n)),
            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;
            default:
              Object(p.a)(!1, `Unexpected Type ${t}`);
          }
          const r = 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()),
            r
          );
        });
      }
      FlushPendingInfo() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = this.m_PendingInfoResolve,
            t = Array.from(this.m_setPendingAppInfo),
            n = Array.from(this.m_setPendingPackageInfo),
            a = Array.from(this.m_setPendingBundleInfo),
            r = 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_setPendingDataRequest = {}),
            (this.m_PendingTimer = void 0),
            this.HintLoadStoreItems(void 0, t, n, a, r).then((t) => e(t));
        });
      }
      HintLoadStoreApps(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.HintLoadStoreItems(null, e, null, null, t);
        });
      }
      HintLoadStorePackages(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.HintLoadStoreItems(null, null, e, null, t);
        });
      }
      HintLoadStoreBundles(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.HintLoadStoreItems(null, null, null, e, t);
        });
      }
      GetPreviousSupersetLoadPromise(e, t, n) {
        if (this.BHasStoreItem(e, t, n) || this.BIsStoreItemMissing(e, t))
          return this.k_AlreadyResolvedOK;
        let a = null;
        switch (t) {
          case 0:
            a = this.m_mapAppsInFlight.get(e);
            break;
          case 1:
            a = this.m_mapPackageInFlight.get(e);
            break;
          case 2:
            a = this.m_mapBundleInFlight.get(e);
        }
        return a && b.a.BDataRequestContainsOtherDataRequest(a.dataRequest, n)
          ? a.promise
          : null;
      }
      HintLoadStoreItems(e, t, n, r, i) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          const s = new Promise((e) => (a = e));
          let o = [],
            l = [];
          (t || []).forEach((e) => {
            const t = this.GetPreviousSupersetLoadPromise(e, 0, i);
            if (t) l.push(t);
            else {
              o.push(c.g.fromObject({ appid: e }));
              let t = f(this.GetStoreItemDataRequest(e, 0), i);
              const n = this.m_mapAppsInFlight.get(e);
              (t = f(null == n ? void 0 : n.dataRequest, t)),
                n && l.push(n.promise),
                this.m_mapAppsInFlight.set(e, {
                  promise: n ? v(n.promise, s) : s,
                  dataRequest: t,
                });
            }
          }),
            (n || []).forEach((e) => {
              const t = this.GetPreviousSupersetLoadPromise(e, 1, i);
              if (t) l.push(t);
              else {
                o.push(c.g.fromObject({ packageid: e }));
                let t = f(this.GetStoreItemDataRequest(e, 1), i);
                const n = this.m_mapPackageInFlight.get(e);
                (t = f(null == n ? void 0 : n.dataRequest, t)),
                  n && l.push(n.promise),
                  this.m_mapPackageInFlight.set(e, {
                    promise: n ? v(n.promise, s) : s,
                    dataRequest: t,
                  });
              }
            }),
            (r || []).forEach((e) => {
              const t = this.GetPreviousSupersetLoadPromise(e, 2, i);
              if (t) l.push(t);
              else {
                o.push(c.g.fromObject({ bundleid: e }));
                let t = f(this.GetStoreItemDataRequest(e, 2), i);
                const n = this.m_mapBundleInFlight.get(e);
                (t = f(null == n ? void 0 : n.dataRequest, t)),
                  n && l.push(n.promise),
                  this.m_mapBundleInFlight.set(e, {
                    promise: n ? v(n.promise, s) : s,
                    dataRequest: t,
                  });
              }
            });
          let d = 1;
          if (
            (o.length > 0 &&
              (d = yield this.InternalHandleLoadStoreItems(e, o, i)),
            a(d),
            l.length > 0)
          ) {
            const e = yield Promise.all(l);
            for (const t of e) 1 != t && 1 == d && (d = t);
          }
          return (
            (t || []).forEach((e) => this.m_mapAppsInFlight.delete(e)),
            (n || []).forEach((e) => this.m_mapPackageInFlight.delete(e)),
            (r || []).forEach((e) => this.m_mapBundleInFlight.delete(e)),
            d
          );
        });
      }
      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()));
        });
      }
      SortStoreItems(e) {
        let t = e.slice();
        return (
          t.sort((e, t) => {
            var n, a, r, i, s, o;
            let l = null !== (n = e.appid()) && void 0 !== n ? n : 0,
              c = null !== (a = t.appid()) && void 0 !== a ? a : 0;
            if (l != c) return l - c;
            let d = null !== (r = e.packageid()) && void 0 !== r ? r : 0,
              u = null !== (i = t.packageid()) && void 0 !== i ? i : 0;
            if (d != u) return d - u;
            let m = null !== (s = e.bundleid()) && void 0 !== s ? s : 0,
              p = null !== (o = t.bundleid()) && void 0 !== o ? o : 0;
            return m != p ? m - p : 0;
          }),
          t
        );
      }
      InternalHandleLoadStoreItems(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = 1;
          e ||
            (this.m_SteamInterface ||
              (this.m_SteamInterface = new s.a(_.c.WEBAPI_BASE_URL)),
            (e = this.m_SteamInterface)),
            (t = this.SortStoreItems(t));
          const o = new Array();
          try {
            const s = [];
            for (; t.length > 0; ) {
              const a = t.splice(0, this.k_nMaxBatchSize);
              if ((o.push(a), this.m_bUsePartnerAPI)) {
                const t = i.b.Init(u);
                t.Body().set_include_unpublished(!1);
                const r = t.Body().request(!0);
                r.set_context(Object(g.a)(this.m_bUsePartnerAPI)),
                  r.set_data_request(c.d.fromObject(n)),
                  r.set_ids(a),
                  s.push(m.GetItems(e.GetServiceTransport(), t));
              } else {
                const t = i.b.Init(c.a);
                Object(g.b)(t, this.m_bUsePartnerAPI),
                  Object(g.c)(t, n),
                  t.Body().set_ids(a),
                  s.push(c.e.GetItems(e.GetAnonymousServiceTransport(), t));
              }
            }
            (yield Promise.all(s)).forEach((e, i) => {
              1 == e.GetEResult()
                ? e
                    .Body()
                    .store_items()
                    .forEach((e) => {
                      const t = e.id(),
                        a = e.item_type();
                      if (1 != e.success() || this.BIsStoreItemMissing(t, a))
                        switch (
                          ("dev" == _.c.WEB_UNIVERSE &&
                            console.warn(
                              `Failed to load ${t} type ${a} with error ${e.success()}`,
                              e,
                            ),
                          a)
                        ) {
                          case 0:
                            this.m_setUnavailableApps.add(t),
                              this.m_mapApps.delete(t);
                            break;
                          case 1:
                            this.m_setUnavailablePackages.add(t),
                              this.m_mapPackages.delete(t);
                            break;
                          case 2:
                            this.m_setUnavailableBundles.add(t),
                              this.m_mapBundles.delete(t);
                            break;
                          default:
                            console.error(
                              "CStoreItemCache.InternalHandleLoadStoreItems unexpected item_type in response " +
                                a +
                                " " +
                                t,
                            );
                        }
                      else this.ReadItem(e, n);
                    })
                : (console.error(
                    "CStoreItemCache::InternalHandleLoadStoreItems failed with eResult: " +
                      e.GetEResult() +
                      " message: " +
                      e.Hdr().error_message(),
                    Object(r.I)(t),
                  ),
                  (1 == e.Hdr().transport_error() || _.c.FROM_WEB) &&
                    this.MarkStoreItemIDUnavailable(o[i]),
                  1 == a && (a = e.GetEResult()));
            });
          } catch (e) {
            const t = Object(h.a)(e);
            return (
              console.error(
                "CStoreItemCache::InternalHandleLoadStoreItems failed: " +
                  t.strErrorMsg,
                t,
              ),
              o.forEach((e) => this.MarkStoreItemIDUnavailable(e)),
              79
            );
          }
          return a;
        });
      }
      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;
          default:
            console.error("Invalid map type requested", e);
        }
        return t;
      }
      BHasStoreItem(e, t, n) {
        let a = this.GetMapForType(t);
        return Boolean(
          a && a.has(e) && (!n || a.get(e).BContainDataRequest(n)),
        );
      }
      GetStoreItem(e, t) {
        if (-1 == t || 3 == t) return;
        const n = this.GetMapForType(t);
        return null == n ? void 0 : n.get(e);
      }
      GetStoreItemDataRequest(e, t) {
        var n, a;
        return (
          (null ===
            (a =
              null === (n = this.GetMapForType(t)) || void 0 === n
                ? void 0
                : n.get(e)) || void 0 === a
            ? void 0
            : a.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);
      }
      BIsStoreItemMissing(e, t) {
        switch (t) {
          case 0:
            return this.BIsAppMissing(e);
          case 1:
            return this.BIsPackageMissing(e);
          case 2:
            return this.BIsBundleMissing(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);
      }
      ReadResults(e, t) {
        let n = [];
        for (const a of e) n.push(this.ReadItem(a, t));
        return n;
      }
      ReadItem(e, t) {
        const n = e.item_type();
        let a = null;
        switch (n) {
          case 0:
            a = this.m_mapApps;
            break;
          case 1:
            a = this.m_mapPackages;
            break;
          case 2:
            a = this.m_mapBundles;
            break;
          default:
            return console.error(`Invalid item type: ${n}`), null;
        }
        let r = a.get(e.id());
        return (
          r ? r.MergeData(e, t) : ((r = new b.a(e, t)), a.set(e.id(), r)), r
        );
      }
    }
    (S.k_DataRequest_CommonOnly = {}),
      (S.k_DataRequest_BasicInfo = { include_basic_info: !0 }),
      (S.k_DataRequest_Assets = { include_assets: !0 }),
      (S.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,
      });
  },
  A6lR: function (e, t, n) {
    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_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",
      "ItemFocusAnim-darkerGrey-nocolor":
        "gamepadpagedsettings_ItemFocusAnim-darkerGrey-nocolor_2fKE6",
      "ItemFocusAnim-grey": "gamepadpagedsettings_ItemFocusAnim-grey_2FB9p",
      "ItemFocusAnimBorder-darkGrey":
        "gamepadpagedsettings_ItemFocusAnimBorder-darkGrey_2srJq",
      "ItemFocusAnim-green": "gamepadpagedsettings_ItemFocusAnim-green_2Jedu",
      focusAnimation: "gamepadpagedsettings_focusAnimation_2C5Uw",
      hoverAnimation: "gamepadpagedsettings_hoverAnimation_3sbAz",
    };
  },
  AEPT: function (e, t, n) {
    e.exports = {
      Bold: "bbcodes_Bold_YFA7u",
      Italic: "bbcodes_Italic_zA7ad",
      Header1: "bbcodes_Header1_3nmkN",
      Header2: "bbcodes_Header2_2C1Hj",
      Header3: "bbcodes_Header3_2q6Vr",
      Header4: "bbcodes_Header4_1zThg",
      Header5: "bbcodes_Header5_3c6Cp",
      SmallText: "bbcodes_SmallText_38kjs",
      Underline: "bbcodes_Underline_2r-_U",
      Strike: "bbcodes_Strike_2Maum",
      Spoiler: "bbcodes_Spoiler_29sJ0",
      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-",
      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",
    };
  },
  AQa9: function (e, t, n) {
    "use strict";
    function a(e) {
      return 3 == e || 6 == e;
    }
    function r(e) {
      return 5 == e || 6 == e;
    }
    n.d(t, "b", function () {
      return a;
    }),
      n.d(t, "a", function () {
        return r;
      }),
      n.d(t, "i", function () {
        return i;
      }),
      n.d(t, "j", function () {
        return s;
      }),
      n.d(t, "h", function () {
        return o;
      }),
      n.d(t, "e", function () {
        return l;
      }),
      n.d(t, "f", function () {
        return c;
      }),
      n.d(t, "d", function () {
        return d;
      }),
      n.d(t, "g", function () {
        return u;
      }),
      n.d(t, "c", function () {
        return m;
      });
    const i = 1,
      s = 4,
      o = "18446744073709551615";
    function l(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 "vn";
        case 29:
          return "sc-sc";
        default:
          return t;
      }
    }
    const c = (e) => ("koreana" === e ? "korean" : e);
    function d(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";
        default:
          return t;
      }
    }
    function u(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;
        default:
          return t;
      }
    }
    const m = [
      1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
      22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35,
    ];
    var p, h, _, g, b, f, v;
    !(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");
    })(p || (p = {})),
      (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");
      })(h || (h = {})),
      (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");
      })(_ || (_ = {})),
      (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");
      })(g || (g = {})),
      (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");
      })(b || (b = {})),
      (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");
      })(f || (f = {})),
      (function (e) {
        (e[(e.k_EActivateGameOverlayToWebPageMode_Default = 0)] =
          "k_EActivateGameOverlayToWebPageMode_Default"),
          (e[(e.k_EActivateGameOverlayToWebPageMode_Modal = 1)] =
            "k_EActivateGameOverlayToWebPageMode_Modal");
      })(v || (v = {}));
  },
  AWEE: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      BannerContainer: "deckverified_BannerContainer_zoxHi",
      BannerHeader: "deckverified_BannerHeader_3Lsq6",
      BannerContentDesktop: "deckverified_BannerContentDesktop_3trhB",
      BannerContent: "deckverified_BannerContent_hDTtf",
      LearnMore: "deckverified_LearnMore_2sOzU",
      DeveloperBlockLinkDesktop: "deckverified_DeveloperBlockLinkDesktop_Gd9gA",
      CategoryIcon: "deckverified_CategoryIcon_2L6Br",
      LearnMoreCtn: "deckverified_LearnMoreCtn_trFCC",
      LearnMorePC: "deckverified_LearnMorePC_83ZIV",
      DialogHeader: "deckverified_DialogHeader_3UphA",
      DialogTitle: "deckverified_DialogTitle_3ksC4",
      AppTitleCategory: "deckverified_AppTitleCategory_iEQjF",
      CompatibilityDetailsStillLearning:
        "deckverified_CompatibilityDetailsStillLearning_1ikG4",
      CompatibilityDetailsContainerDesktop:
        "deckverified_CompatibilityDetailsContainerDesktop_3u4v2",
      CompatibilityDetailsContainer:
        "deckverified_CompatibilityDetailsContainer_Ze2dD",
      CompatibilityDetailsInterior_NoScroll:
        "deckverified_CompatibilityDetailsInterior_NoScroll_3qHc2",
      CompatibilityDetailsInterior_Scroll:
        "deckverified_CompatibilityDetailsInterior_Scroll_t9o7x",
      CompatibilityDetailsRow: "deckverified_CompatibilityDetailsRow_Z5TII",
      CompatibilityDetailRatingSummary:
        "deckverified_CompatibilityDetailRatingSummary_On1GY",
      Verified: "deckverified_Verified_3XJtm",
      Playable: "deckverified_Playable_3JveY",
      Unsupported: "deckverified_Unsupported_mo6YS",
      CompatibilityDetailRatingDescription:
        "deckverified_CompatibilityDetailRatingDescription_1x8ES",
      CompatibilityDetailsSeparator:
        "deckverified_CompatibilityDetailsSeparator_205o5",
      CompatibilityDetailsResultIcon:
        "deckverified_CompatibilityDetailsResultIcon_7xKM6",
      CompatabilityDetailsNoteContainer:
        "deckverified_CompatabilityDetailsNoteContainer_3uIY7",
      CompatibilityNotes: "deckverified_CompatibilityNotes_VKHAL",
      CompatibilityDetailsNoteRow:
        "deckverified_CompatibilityDetailsNoteRow_2PIjk",
      DeveloperBlogYButton: "deckverified_DeveloperBlogYButton_-d0ty",
      Divider: "deckverified_Divider_7VhJG",
      DeveloperComments_Anchor: "deckverified_DeveloperComments_Anchor_3TheI",
      DeveloperComments_Icon: "deckverified_DeveloperComments_Icon_1szzw",
      DeveloperComments_LinkNoIcon:
        "deckverified_DeveloperComments_LinkNoIcon_1M-Eq",
      DeveloperComments_LinkIcon:
        "deckverified_DeveloperComments_LinkIcon_1xcX8",
    };
  },
  AvbV: function (e, t, n) {
    var a = {
      "./main_brazilian.json": ["TFAN", 3],
      "./main_bulgarian.json": ["c2SO", 4],
      "./main_czech.json": ["peP3", 5],
      "./main_danish.json": ["0bnV", 6],
      "./main_dutch.json": ["wcLc", 7],
      "./main_english.json": ["/rNK", 8],
      "./main_finnish.json": ["iywU", 9],
      "./main_french.json": ["Xnpc", 10],
      "./main_german.json": ["pmKi", 11],
      "./main_greek.json": ["mTRv", 12],
      "./main_hungarian.json": ["WkHb", 13],
      "./main_italian.json": ["Jz5U", 14],
      "./main_japanese.json": ["3Dk9", 15],
      "./main_koreana.json": ["neQD", 16],
      "./main_latam.json": ["6oHD", 17],
      "./main_norwegian.json": ["2OvS", 18],
      "./main_polish.json": ["3pwE", 19],
      "./main_portuguese.json": ["hY40", 20],
      "./main_romanian.json": ["Q95+", 21],
      "./main_russian.json": ["bsPT", 22],
      "./main_schinese.json": ["B/Zz", 23],
      "./main_spanish.json": ["U6iL", 24],
      "./main_swedish.json": ["4uPU", 25],
      "./main_tchinese.json": ["rgC9", 26],
      "./main_thai.json": ["87dp", 27],
      "./main_turkish.json": ["yMpO", 28],
      "./main_ukrainian.json": ["zTWm", 29],
      "./main_vietnamese.json": ["wqiy", 30],
    };
    function r(e) {
      if (!n.o(a, e))
        return Promise.resolve().then(function () {
          var t = new Error("Cannot find module '" + e + "'");
          throw ((t.code = "MODULE_NOT_FOUND"), t);
        });
      var t = a[e],
        r = t[0];
      return n.e(t[1]).then(function () {
        return n.t(r, 3);
      });
    }
    (r.keys = function () {
      return Object.keys(a);
    }),
      (r.id = "AvbV"),
      (e.exports = r);
  },
  B0PS: function (e, t, n) {
    e.exports = {
      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",
    };
  },
  BDyy: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return b;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("fvA7"),
      o = n("3wCP"),
      l = n("KT6v"),
      c = n("m/d7"),
      d = (n("IDaJ"), n("7DIv")),
      u = n("C3kK"),
      m = n("A2YN"),
      p = n("uaeK"),
      h = n("+4Yk"),
      _ = n.n(h);
    const g = i.a.forwardRef(function (e, t) {
        const {
            scrollDirection: n,
            scrollPaddingTop: r,
            scrollPaddingRight: s,
            scrollPaddingBottom: c,
            scrollPaddingLeft: d,
            className: h,
            children: g,
            style: b,
          } = e,
          f = Object(a.c)(e, [
            "scrollDirection",
            "scrollPaddingTop",
            "scrollPaddingRight",
            "scrollPaddingBottom",
            "scrollPaddingLeft",
            "className",
            "children",
            "style",
          ]);
        let v;
        switch (n) {
          case "x":
            v = _.a.ScrollX;
            break;
          case "both":
            v = _.a.ScrollBoth;
            break;
          default:
            v = _.a.ScrollY;
        }
        let S = Object.assign({}, b);
        (r || 0 === r) && (S.scrollPaddingTop = r),
          (s || 0 === s) && (S.scrollPaddingRight = s),
          (c || 0 === c) && (S.scrollPaddingBottom = c),
          (d || 0 === d) && (S.scrollPaddingLeft = d);
        const { ref: y, navRef: E } = Object(u.a)(),
          C = Object(l.g)(E, f.navRef),
          w = Object(l.g)(y, t);
        return i.a.createElement(
          p.a,
          Object.assign({}, f, {
            style: S,
            className: Object(o.a)(h, _.a.ScrollPanel, v),
            ref: w,
            navRef: C,
          }),
          i.a.createElement(m.a, null, g),
        );
      }),
      b = i.a.forwardRef(function (e, t) {
        const { scrollStepPercent: n, scrollBehavior: r } = e,
          s = Object(a.c)(e, ["scrollStepPercent", "scrollBehavior"]),
          o = i.a.useRef(),
          c = i.a.useCallback((e) => e.currentTarget != e.target, []),
          m = Object(u.b)(o, r, n, c),
          p = Object(l.g)(o, t);
        return i.a.createElement(
          g,
          Object.assign({}, s, {
            onGamepadDirection: m,
            ref: p,
            scrollIntoViewType: d.e.NoTransformSparseContent,
          }),
        );
      });
    i.a.forwardRef(function (e, t) {
      const { name: n, msScrollRestoreDelay: r, onScroll: s } = e,
        o = Object(a.c)(e, ["name", "msScrollRestoreDelay", "onScroll"]);
      return i.a.createElement(
        f,
        { name: n, msScrollRestoreDelay: r, parentOnScroll: s, refDiv: t },
        (e, t) =>
          i.a.createElement(g, Object.assign({}, o, { onScroll: e, ref: t })),
      );
    });
    function f(e) {
      const {
          name: t,
          msScrollRestoreDelay: n,
          parentOnScroll: a,
          refDiv: r,
          children: o,
        } = e,
        [d, u] = Object(c.b)(`${t}ScrollTop`, 250, 0),
        [m, p] = Object(c.b)(`${t}ScrollLeft`, 250, 0),
        h = i.a.useRef(0),
        _ = i.a.useRef(0),
        g = i.a.useRef();
      let b = i.a.useCallback(
        (e) => {
          const { scrollTop: t, scrollLeft: n } = e.currentTarget;
          u(t), (h.current = t), p(n), (_.current = n), a && a(e);
        },
        [u, p, a],
      );
      i.a.useLayoutEffect(() => {
        const e = function () {
          Object(s.a)(
            g.current.scrollHeight >= d,
            `Element is ${g.current.scrollHeight} high but trying to restore scrollTop of ${d}, element may need more time to lay out.`,
            g.current,
          ),
            (h.current = d),
            (_.current = m),
            g.current.scrollTo({ top: d, left: m, behavior: "auto" }),
            g.current.dispatchEvent(new UIEvent("scroll"));
        };
        (d == h.current && m == _.current) ||
          (n ? window.setTimeout(e, n) : e());
      }, [d, m, n]);
      const f = Object(l.g)(g, r);
      return i.a.useMemo(() => o(b, f), [b, f, o]);
    }
  },
  BZx3: function (e, t, n) {
    e.exports = {
      SteamAwardContainer: "nominationandvote_SteamAwardContainer_1URX_",
      InLibraryView: "nominationandvote_InLibraryView_G4QsG",
      SVGIcon_DialogCheck: "nominationandvote_SVGIcon_DialogCheck_2aLys",
      SteamAwardHeader: "nominationandvote_SteamAwardHeader_3y5EI",
      SteamAwardHeaderImage: "nominationandvote_SteamAwardHeaderImage_3qbCX",
      SteamAwardMainCtn: "nominationandvote_SteamAwardMainCtn_1sXnA",
      SteamAwardMainTitle: "nominationandvote_SteamAwardMainTitle_3pJ_b",
      SteamAwardSubTitle: "nominationandvote_SteamAwardSubTitle_20kVa",
      SteamAwardLearnMore: "nominationandvote_SteamAwardLearnMore_39H0B",
      BottomRight: "nominationandvote_BottomRight_3V40P",
      SteamAwardHeaderText: "nominationandvote_SteamAwardHeaderText_3cjsY",
      LinkText: "nominationandvote_LinkText_3zZ5B",
      SteamAwardVoteWidget: "nominationandvote_SteamAwardVoteWidget_2KW2e",
      SteamAwardVotePrompt: "nominationandvote_SteamAwardVotePrompt_ljjOj",
      SteamAwardCategoryTitle:
        "nominationandvote_SteamAwardCategoryTitle_1D2VY",
      VotingTitle: "nominationandvote_VotingTitle_1Se8T",
      SteamAwardCategoryDesc: "nominationandvote_SteamAwardCategoryDesc_3V0WN",
      SteamAwardVoteButtonArea:
        "nominationandvote_SteamAwardVoteButtonArea_19hlK",
      SteamAwardVoteButton: "nominationandvote_SteamAwardVoteButton_2kL1t",
      SteamAwardVoteButtonText:
        "nominationandvote_SteamAwardVoteButtonText_3m3rH",
      SteamAwardVoteButtonSubmitted:
        "nominationandvote_SteamAwardVoteButtonSubmitted_1uy7w",
      SteamAwardNominateButton:
        "nominationandvote_SteamAwardNominateButton_5q3u9",
      SteamAwardLinkToNominationPage:
        "nominationandvote_SteamAwardLinkToNominationPage_1Rwxu",
      SteamAwardVoteCheckBox: "nominationandvote_SteamAwardVoteCheckBox_LJVDk",
      SteamAwardModalGameTitle:
        "nominationandvote_SteamAwardModalGameTitle_wQc21",
      ExpiredEventHeader: "nominationandvote_ExpiredEventHeader_jFLfU",
      AwardCategoriesCtn: "nominationandvote_AwardCategoriesCtn_2UFWM",
    };
  },
  Bj5E: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkYyNjlFOEM1MjJEMzExRTJCNTVBQkZGOUQyOTI0ODU5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkYyNjlFOEM2MjJEMzExRTJCNTVBQkZGOUQyOTI0ODU5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI2OUU4QzMyMkQzMTFFMkI1NUFCRkY5RDI5MjQ4NTkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjI2OUU4QzQyMkQzMTFFMkI1NUFCRkY5RDI5MjQ4NTkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4IrEPeAAABJ0lEQVR42mL8//8/AzmABUScEOZJI1HfLBaoppmk2sh4Ql/r/69HD0jSxCanwMD07eVzhl9ADgz/ZmJikMjOY2CUlEIRR8YgPYzbBLhQQoeJl4/B7uY9hv9//jC8XLWc4UFfD8OPZ08xbGX6CSSQ8XdgKH/79o3h+69fDHwBwQy6ew8ySOYXMfxiZERRx/ILPTqA/K9fv8K5f4EG3Pn5i+EfSB2SWpaf6G6A2vgP6NSrWzYz3J8zk0Hk9SsGVka0ePzLxs7w9ydC+3+gpn29PQzv9uxiEHz7mkEY6ESQPb+QHMbMwcHAwiotw/Dj3h2E6L+/DIyrljKIgCMLGMoMmCmLQ0qagdnh66fn/xgYfP+B9BCJv79/lw5KcrPISKqzGMlN5AABBgBSmY83jVsiQAAAAABJRU5ErkJggg==";
  },
  C3kK: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return l;
    }),
      n.d(t, "a", function () {
        return c;
      });
    var a = n("q1tI"),
      r = n.n(a),
      i = n("X9fq"),
      s = n("KT6v"),
      o = n("XUgT");
    n("DV2j");
    function l(e, t = "smooth", n, a) {
      const s = (null != n ? n : 30) / 100,
        l = r.a.useRef(void 0),
        c = r.a.useRef(void 0),
        d = r.a.useCallback(() => {
          (l.current = void 0), (c.current = void 0);
        }, []),
        u = (function (e, t) {
          const n = r.a.useRef();
          return r.a.useCallback(
            (a, r) => {
              let s = "sine";
              n.current && (n.current.Cancel(), (s = "linear")),
                void 0 === a && (a = e.current.scrollTop),
                void 0 === r && (r = e.current.scrollLeft);
              let o = Math.max(
                Math.abs(e.current.scrollTop - a),
                Math.abs(e.current.scrollLeft - r),
              );
              if (o > 0) {
                let l = Math.max(Math.min((o / 1e3) * 200, 500), 300);
                (n.current = new i.c(
                  e.current,
                  { scrollTop: a, scrollLeft: r },
                  { msDuration: l, timing: s, onComplete: t },
                )),
                  n.current.Start();
              } else t && t();
            },
            [e, t],
          );
        })(e, d);
      return r.a.useCallback(
        (n) => {
          var r, i;
          if (a && !a(n)) return !1;
          const {
              scrollTop: m,
              scrollHeight: p,
              clientHeight: h,
              scrollLeft: _,
              scrollWidth: g,
              clientWidth: b,
            } = e.current,
            f = null !== (r = l.current) && void 0 !== r ? r : m,
            v = null !== (i = c.current) && void 0 !== i ? i : _;
          switch (n.detail.button) {
            case o.a.DIR_UP:
              if (f <= 2) return !1;
              l.current = Math.max(0, f - h * s);
              break;
            case o.a.DIR_DOWN:
              if (f >= p - h - 2) return !1;
              l.current = Math.min(p - h, f + h * s);
              break;
            case o.a.DIR_LEFT:
              if (v <= 2) return !1;
              c.current = Math.max(0, v - b * s);
              break;
            case o.a.DIR_RIGHT:
              if (v >= g - b - 2) return !1;
              c.current = Math.min(g - b, v + b * s);
              break;
            default:
              return !1;
          }
          return (
            t && "smooth" != t
              ? (e.current.scrollTo({
                  top: l.current,
                  left: c.current,
                  behavior: "auto",
                }),
                d())
              : u(l.current, c.current),
            !0
          );
        },
        [a, e, t, s, u, d],
      );
    }
    function c() {
      const e = r.a.useRef(),
        t = r.a.useCallback(
          (t) => {
            window.requestAnimationFrame(() => {
              var t, n, a;
              (null === (t = e.current) || void 0 === t
                ? void 0
                : t.BFocusWithin()) &&
                (null ===
                  (a =
                    null === (n = e.current.Node()) || void 0 === n
                      ? void 0
                      : n.GetLastFocusElement()) ||
                  void 0 === a ||
                  a.scrollIntoView({ behavior: "auto", block: "nearest" }));
            });
          },
          [e],
        );
      return { ref: Object(s.j)(t), navRef: e };
    }
  },
  "CH7/": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return b;
    });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = n("vDqi"),
      s = n.n(i),
      o = n("hc+a"),
      l = (n("n2rv"), n("Eu8H")),
      c = n("aaBf"),
      d = (n("LHo7"), n("+h+B")),
      u = n("CqJL"),
      m = n("XPBy");
    n("PENG");
    const p = 1e6;
    class h {
      constructor() {
        this.playback_speed = 1;
      }
    }
    class _ extends h {}
    class g extends h {}
    class b {
      constructor() {
        (this.m_steamIDBroadcast = ""),
          (this.m_steamIDViewer = ""),
          (this.m_broadcastID = ""),
          (this.m_ulViewerToken = ""),
          (this.m_strCDNAuthUrlParameters = void 0),
          (this.m_host = ""),
          (this.m_strBroadcastOrigin = ""),
          (this.m_strStatsLink = ""),
          (this.m_strStalledLink = ""),
          (this.m_strEventLogLink = ""),
          (this.m_allTimeSnapshot = new f(0)),
          (this.m_rgSnapShots = new Array(new f(0))),
          (this.m_videoResolution = 0),
          (this.m_audioRate = 0),
          (this.m_audioChannel = 0),
          (this.m_frameRate = 0),
          (this.m_strBufferingVideoResolution = "0x0@0"),
          (this.m_nPlaybackVideoResolution = 0),
          (this.m_strPlaybackVideoResolution = "0x0"),
          (this.m_htmlVideoResolution = 0),
          (this.m_strHtmlVideoDisplay = ""),
          (this.m_nAudioBandwidth = 0),
          (this.m_nVideoBandwidth = 0),
          (this.m_nBandwidthRequired = 0),
          (this.m_nCurBandwidthVideo = 0),
          (this.m_nAudioBufferedMS = 0),
          (this.m_nVideoBufferedMS = 0),
          (this.m_nActiveDownloads = 0),
          (this.m_nVideoDownloadProgress = 0),
          (this.m_videoBufferedRanges = null),
          (this.m_audioBufferedRanges = null),
          (this.m_nSegmentDurationMS = 0),
          (this.m_nPlaybackRate = 0),
          (this.m_nTimeToFirstFrameMS = -1),
          (this.m_fpsMonitor = new S());
      }
      GetBytesReceivedToDisplay() {
        return Object(m.b)(this.m_allTimeSnapshot.m_nBytesReceived, 1);
      }
      GetBufferingResolutionToDisplay() {
        return this.m_strBufferingVideoResolution;
      }
      GetPlaybackResolutionToDisplay() {
        return this.m_strPlaybackVideoResolution;
      }
      GetHTMLVideoResolutionToDisplay() {
        return this.m_strHtmlVideoDisplay;
      }
      GetDroppedFramesToDisplay() {
        return (
          this.m_allTimeSnapshot.m_nFramesDropped +
          "/" +
          this.m_allTimeSnapshot.m_nFramesDecoded
        );
      }
      GetStalledEventsToDisplay() {
        return String(this.m_allTimeSnapshot.m_nStallEvents);
      }
      GetFailedDownloadsToDisplay() {
        return String(this.m_allTimeSnapshot.m_nFailedSegments);
      }
      GetNumBufferedVideoRanges() {
        return this.m_videoBufferedRanges
          ? this.m_videoBufferedRanges.length
          : 0;
      }
      GetNumBufferedAudioRanges() {
        return this.m_audioBufferedRanges
          ? this.m_audioBufferedRanges.length
          : 0;
      }
      GetBufferedVideoSegmentForDisplay(e) {
        return this.m_videoBufferedRanges &&
          e < this.m_videoBufferedRanges.length
          ? Object(l.d)(this.m_videoBufferedRanges.start(e)) +
              " - " +
              Object(l.d)(this.m_videoBufferedRanges.end(e))
          : Object(u.f)("#DASHPlayerStats_VideoNoRangeInformation");
      }
      GetBufferedAudioSegmentForDisplay(e) {
        return this.m_audioBufferedRanges &&
          e < this.m_audioBufferedRanges.length
          ? Object(l.d)(this.m_audioBufferedRanges.start(e)) +
              " - " +
              Object(l.d)(this.m_audioBufferedRanges.end(e))
          : Object(u.f)("#DASHPlayerStats_AudioNoRangeInformation");
      }
      GetBandwidthStatsToDisplay() {
        if (this.m_rgSnapShots.length < 2)
          return (
            (this.m_allTimeSnapshot.m_nBandwidthMin / p).toFixed(3) +
            " / " +
            (this.m_allTimeSnapshot.m_nBandwidthMax / p).toFixed(3) +
            " / " +
            (this.m_allTimeSnapshot.GetAverageBandwidth() / p).toFixed(3)
          );
        {
          let e = this.m_rgSnapShots[this.m_rgSnapShots.length - 2],
            t = this.m_rgSnapShots[this.m_rgSnapShots.length - 1];
          return (
            (
              (0 == t.m_nBandwidthMin
                ? e.m_nBandwidthMin
                : Math.min(e.m_nBandwidthMin, t.m_nBandwidthMin)) / p
            ).toFixed(3) +
            " / " +
            (Math.max(e.m_nBandwidthMax, t.m_nBandwidthMax) / p).toFixed(3) +
            " / " +
            (e.GetAverageBandwidthFromTwo(t) / p).toFixed(3)
          );
        }
      }
      GetDownloadTimeStatsToDisplay() {
        if (this.m_rgSnapShots.length < 2)
          return (
            (this.m_allTimeSnapshot.m_nSegmentDownloadTimeMinMS / 1e3).toFixed(
              3,
            ) +
            " / " +
            (this.m_allTimeSnapshot.m_nSegmentDownloadTimeMaxMS / 1e3).toFixed(
              3,
            ) +
            " / " +
            (this.m_allTimeSnapshot.GetAverageDownloadTime() / 1e3).toFixed(3)
          );
        {
          let e = this.m_rgSnapShots[this.m_rgSnapShots.length - 2],
            t = this.m_rgSnapShots[this.m_rgSnapShots.length - 1];
          return (
            (
              (0 == t.m_nSegmentDownloadTimeMinMS
                ? e.m_nSegmentDownloadTimeMinMS
                : Math.min(
                    e.m_nSegmentDownloadTimeMinMS,
                    t.m_nSegmentDownloadTimeMinMS,
                  )) / 1e3
            ).toFixed(3) +
            " / " +
            (
              Math.max(
                e.m_nSegmentDownloadTimeMaxMS,
                t.m_nSegmentDownloadTimeMaxMS,
              ) / 1e3
            ).toFixed(3) +
            " / " +
            (e.GetAverageDownloadTimeFromTwo(t) / 1e3).toFixed(3)
          );
        }
      }
      BHasFrameInformation() {
        return this.m_allTimeSnapshot.m_nFramesDecoded > 0;
      }
      GetBandwidthRequiredToDisplay() {
        return (this.m_nBandwidthRequired / p).toFixed(3);
      }
      GetBandwithVideoToDisplay() {
        return (this.m_nCurBandwidthVideo / p).toFixed(3);
      }
      GetContentServerToDisplay() {
        return this.m_host;
      }
      GetVideoBufferedToDisplay() {
        return (this.m_nVideoBufferedMS / 1e3).toFixed(3);
      }
      GetAudioBufferedToDisplay() {
        return (this.m_nAudioBufferedMS / 1e3).toFixed(3);
      }
      GetActiveDownloadsToDisplay() {
        return String(this.m_nActiveDownloads);
      }
      GetVideoDownloadProgressToDisplay() {
        return this.m_nVideoDownloadProgress
          ? String(Math.round(100 * this.m_nVideoDownloadProgress)) + "%"
          : "100%";
      }
      GetTimeToFirstFrameToDisplay() {
        return -1 == this.m_nTimeToFirstFrameMS
          ? "Unknown"
          : String(this.m_nTimeToFirstFrameMS);
      }
      GetPersistentFrameDropsForDisplay() {
        return String(this.m_fpsMonitor.BIsDroppingFrames());
      }
      GetCurrentFPSForDisplay() {
        return this.m_fpsMonitor.BHasCurrentFPS()
          ? this.m_fpsMonitor.GetCurrentFPS().toFixed(1)
          : Object(u.f)("#DASHPlayerStats_Tracking");
      }
      GetPlaybackRateForDisplay() {
        return this.m_nPlaybackRate.toFixed(1) + "x";
      }
      GetFPSMonitor() {
        return this.m_fpsMonitor;
      }
      SetHTMLVideoPlayerDisplay(e, t, n, a) {
        this.m_htmlVideoResolution != a &&
          ((this.m_htmlVideoResolution = a),
          (this.m_strHtmlVideoDisplay = n + "x" + a)),
          this.m_nPlaybackVideoResolution != t &&
            ((this.m_nPlaybackVideoResolution = t),
            (this.m_strPlaybackVideoResolution = e + "x" + t));
      }
      SetVideoPlaybackResolution(e, t, n) {
        0 == this.m_videoResolution &&
          ((this.m_allTimeSnapshot.m_nInitialVideoResolution = t),
          (this.m_rgSnapShots[
            this.m_rgSnapShots.length - 1
          ].m_nInitialVideoResolution = t)),
          (this.m_strBufferingVideoResolution = e + "x" + t + "@" + n),
          (this.m_videoResolution = t),
          (this.m_frameRate = n);
      }
      SetRepresentation(e) {
        e &&
          (e.nAudioSamplingRate
            ? ((this.m_audioRate = Math.round(e.nBandwidth / 1e3)),
              (this.m_audioChannel = e.nAudioChannels),
              (this.m_nAudioBandwidth = e.nBandwidth))
            : e.nFrameRate &&
              (this.SetVideoPlaybackResolution(
                e.nWidth,
                e.nHeight,
                e.nFrameRate,
              ),
              (this.m_nVideoBandwidth = e.nBandwidth)),
          (this.m_nBandwidthRequired =
            this.m_nAudioBandwidth + this.m_nVideoBandwidth));
      }
      SetCurrentVideoBandwidth(e) {
        this.m_nCurBandwidthVideo = e;
      }
      SetSegmentDurationMS(e) {
        this.m_nSegmentDurationMS = e;
      }
      SetBroadcasterAndViewerInfo(e, t, n, a, r) {
        (this.m_steamIDBroadcast = e),
          (this.m_steamIDViewer = t),
          (this.m_broadcastID = n),
          (this.m_ulViewerToken = a),
          (this.m_strCDNAuthUrlParameters = r);
      }
      SetAnalyticLinks(e, t, n) {
        (this.m_strStatsLink = e),
          (this.m_strStalledLink = t),
          (this.m_strEventLogLink = n);
      }
      SetVideoInitializationURL(e) {
        let t = new URL(e);
        (this.m_host = t.hostname),
          (this.m_strBroadcastOrigin =
            t.searchParams.get("broadcast_origin") || "");
        let n = this.m_strBroadcastOrigin.indexOf(":");
        -1 !== n &&
          (this.m_strBroadcastOrigin = this.m_strBroadcastOrigin.substr(0, n));
      }
      SetAudioRate(e) {
        this.m_audioRate = e;
      }
      CaptureFrequentlyUpdatingInformation(e, t) {
        let n = this.ExtractFrameInfo(e);
        this.LogFrameInfo(n), this.LogBufferDuration(t, e);
      }
      LogDownload(e, t) {
        this.m_allTimeSnapshot.SegmentReceived(e, t),
          this.m_rgSnapShots[this.m_rgSnapShots.length - 1].SegmentReceived(
            e,
            t,
          );
      }
      LogSegmentDownloadFailure(e, t) {
        (this.m_allTimeSnapshot.m_nFailedSegments += 1),
          (this.m_rgSnapShots[
            this.m_rgSnapShots.length - 1
          ].m_nFailedSegments += 1),
          (this.m_allTimeSnapshot.m_nLastSegementDownloadStatus = t),
          (this.m_rgSnapShots[
            this.m_rgSnapShots.length - 1
          ].m_nLastSegementDownloadStatus = t),
          this.LogDownload(0, e);
      }
      LogVideoError(e) {}
      LogVideoOnCanPlay(e) {
        -1 === this.m_nTimeToFirstFrameMS &&
          (this.m_nTimeToFirstFrameMS =
            Date.now() - this.m_allTimeSnapshot.m_timeMS);
      }
      LogErrorEvent(e, t) {}
      ReportVideoStalled(e, t) {
        if (0 == this.m_strStalledLink.length) return;
        let n = this.FindBehindSegmentLoader(e, t);
        if (!n)
          return void Object(l.c)(
            "DASHStats: Did not find any audio or video loaders",
          );
        (this.m_allTimeSnapshot.m_nStallEvents += 1),
          (this.m_rgSnapShots[this.m_rgSnapShots.length - 1].m_nStallEvents +=
            1);
        let a = new g();
        this.GatherCommonStats(
          a,
          t,
          n.GetBandwidthRequired(),
          n.GetAvgDownloadRate(),
        ),
          (a.last_segment_response =
            this.m_rgSnapShots[
              this.m_rgSnapShots.length - 1
            ].m_nLastSegementDownloadStatus),
          (a.audio_stalled = n.ContainsAudio()),
          this.CaptureActiveDownloads(e),
          (a.active_downloads = this.m_nActiveDownloads),
          (a.vid_down_progress = this.m_nVideoDownloadProgress);
        let r = n.GetDownloadHistory(),
          i = 0;
        for (let e = r.length - 1; e >= 0 && i < 3; --e)
          ++i,
            (a["segment" + i + "_bytes"] = r[e].cubData),
            (a["segment" + i + "_time"] = Math.round(r[e].nDownloadMS) / 1e3);
        this.SendReportToServer(a, this.m_strStalledLink);
      }
      FindBehindSegmentLoader(e, t) {
        let n = !1,
          a = !1,
          r = t.currentTime,
          i = null,
          s = null;
        for (let t of e)
          (s = t.ContainsAudio() ? t : s),
            (i = t.ContainsVideo() ? t : s),
            t.BHasEnoughBuffered(r) &&
              ((a = a || t.ContainsAudio()), (n = n || t.ContainsVideo()));
        return (a = a || null == s), !n || (n && a) ? i : s;
      }
      ExtractFrameInfo(e) {
        let t = 0,
          n = 0;
        if (e.getVideoPlaybackQuality)
          try {
            let a = e.getVideoPlaybackQuality();
            (n = a.totalVideoFrames), (t = a.droppedVideoFrames);
          } catch (e) {
            Object(l.c)(
              "Browser does not support HTMLVideoElement.getVideoPlaybackQuality()",
              e.message,
            );
          }
        else
          e.webkitDecodedFrames
            ? ((n = e.webkitDecodedFrames), (t = e.webkitDroppedFrames))
            : e.webkitDecodedFrameCount &&
              ((n = e.webkitDecodedFrameCount),
              (t = e.webkitDroppedFrameCount));
        return { framesDecoded: n, framesDropped: t };
      }
      LogFrameInfo(e) {
        (this.m_allTimeSnapshot.m_nFramesDecoded = e.framesDecoded),
          (this.m_allTimeSnapshot.m_nFramesDropped = e.framesDropped);
        let t = this.m_rgSnapShots[this.m_rgSnapShots.length - 1];
        if (1 == this.m_rgSnapShots.length)
          (t.m_nFramesDecoded = e.framesDecoded),
            (t.m_nFramesDropped = e.framesDropped);
        else {
          let n = this.m_rgSnapShots[this.m_rgSnapShots.length - 2];
          (t.m_nFramesDecoded = e.framesDecoded - n.m_nFramesDecoded),
            (t.m_nFramesDropped = e.framesDropped - n.m_nFramesDropped);
        }
      }
      LogBufferDuration(e, t) {
        this.m_nActiveDownloads = 0;
        for (let n of e)
          n.ContainsAudio()
            ? ((this.m_nAudioBufferedMS = n.GetAmountBufferedMS(t.currentTime)),
              (this.m_audioBufferedRanges = n.GetSourceBufferTimeRanges()))
            : n.ContainsVideo() &&
              ((this.m_nVideoBufferedMS = n.GetAmountBufferedMS(t.currentTime)),
              (this.m_videoBufferedRanges = n.GetSourceBufferTimeRanges())),
            (this.m_nActiveDownloads += n.GetActiveDownloads()),
            n.ContainsVideo() &&
              (this.m_nVideoDownloadProgress = n.GetActiveDownloadProgress());
        this.m_nPlaybackRate = t.playbackRate;
      }
      CaptureActiveDownloads(e) {
        this.m_nActiveDownloads = 0;
        for (let t of e)
          (this.m_nActiveDownloads += t.GetActiveDownloads()),
            t.ContainsVideo() &&
              (this.m_nVideoDownloadProgress = t.GetActiveDownloadProgress());
      }
      ReportPlayerStats(e, t) {
        if (0 == this.m_strStatsLink.length) return;
        let n = this.ExtractFrameInfo(t);
        if (
          n.framesDecoded == this.m_allTimeSnapshot.m_nFramesDecoded &&
          0 ==
            this.m_rgSnapShots[this.m_rgSnapShots.length - 1].m_nBytesReceived
        )
          return void this.CreateNewEmptySnapshot(t.videoHeight);
        this.LogFrameInfo(n), this.LogBufferDuration(e, t);
        let a = new _(),
          r = this.m_rgSnapShots[this.m_rgSnapShots.length - 1];
        (a.frames_decoded = r.m_nFramesDecoded),
          (a.frames_dropped = r.m_nFramesDropped),
          (a.bytes_received = r.m_nBytesReceived),
          (a.seconds_delta = Math.round((Date.now() - r.m_timeMS) / 1e3)),
          (a.failed_segments = r.m_nFailedSegments),
          (a.bw_min = r.m_nBandwidthMin),
          (a.bw_max = r.m_nBandwidthMax),
          (a.audio_buffer = Math.round(this.m_nAudioBufferedMS / 1e3)),
          (a.video_buffer = Math.round(this.m_nVideoBufferedMS / 1e3)),
          (a.seg_time_avg = Math.round(r.GetAverageDownloadTime()) / 1e3),
          (a.seg_time_min = Math.round(r.m_nSegmentDownloadTimeMinMS) / 1e3),
          (a.seg_time_max = Math.round(r.m_nSegmentDownloadTimeMaxMS) / 1e3),
          (a.initial_vid_res = r.m_nInitialVideoResolution),
          (a.ttff = this.m_nTimeToFirstFrameMS),
          (a.seg_duration = this.m_nSegmentDurationMS),
          this.GatherCommonStats(
            a,
            t,
            this.m_nBandwidthRequired,
            r.GetAverageBandwidth(),
          ),
          this.CreateNewEmptySnapshot(t.videoHeight),
          this.SendReportToServer(a, this.m_strStatsLink);
      }
      SendReportToServer(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = new URL(t),
            a = new FormData();
          for (let t of Object.keys(e)) a.append(t, e[t]);
          a.append("l", n.searchParams.get("l")),
            a.append("e", n.searchParams.get("e")),
            a.append("h", n.searchParams.get("h")),
            Object(l.c)("CDASHStats Sending Report to Server", e),
            s.a.post(t, a).catch((e) => {
              Object(l.c)("Failed to upload stats: ", e);
            });
        });
      }
      CreateNewEmptySnapshot(e) {
        this.m_rgSnapShots.length >= 5 && this.m_rgSnapShots.shift(),
          this.m_rgSnapShots.push(new f(e));
      }
      GatherCommonStats(e, t, n, a) {
        (e.steamid = this.m_steamIDViewer),
          (e.host = this.m_host),
          (e.playback_position = Math.round(t.currentTime)),
          (e.video_res = this.m_videoResolution),
          (e.audio_rate = this.m_audioRate),
          (e.audio_ch = this.m_audioChannel),
          (e.bw_required = n),
          (e.bw_avg = Math.round(a)),
          (e.broadcast_accountid = this.m_steamIDBroadcast
            ? new o.a(this.m_steamIDBroadcast).GetAccountID()
            : 0),
          (e.useragent = window.navigator.userAgent),
          (e.sessionid = c.c.SESSIONID),
          (e.broadcast_origin = this.m_strBroadcastOrigin);
      }
    }
    Object(a.b)([r.C], b.prototype, "m_allTimeSnapshot", void 0),
      Object(a.b)([r.C], b.prototype, "m_strBufferingVideoResolution", void 0),
      Object(a.b)([r.C], b.prototype, "m_strPlaybackVideoResolution", void 0),
      Object(a.b)([r.C], b.prototype, "m_strHtmlVideoDisplay", void 0),
      Object(a.b)([r.C], b.prototype, "m_nBandwidthRequired", void 0),
      Object(a.b)([r.C], b.prototype, "m_nCurBandwidthVideo", void 0),
      Object(a.b)([r.C], b.prototype, "m_nAudioBufferedMS", void 0),
      Object(a.b)([r.C], b.prototype, "m_nVideoBufferedMS", void 0),
      Object(a.b)([r.C], b.prototype, "m_nActiveDownloads", void 0),
      Object(a.b)([r.C], b.prototype, "m_nVideoDownloadProgress", void 0),
      Object(a.b)([r.C], b.prototype, "m_videoBufferedRanges", void 0),
      Object(a.b)([r.C], b.prototype, "m_audioBufferedRanges", void 0),
      Object(a.b)([r.C], b.prototype, "m_nPlaybackRate", void 0),
      Object(a.b)([r.k], b.prototype, "SetVideoPlaybackResolution", null),
      Object(a.b)([r.k], b.prototype, "SetRepresentation", null),
      Object(a.b)([r.k], b.prototype, "SetCurrentVideoBandwidth", null),
      Object(a.b)(
        [r.k],
        b.prototype,
        "CaptureFrequentlyUpdatingInformation",
        null,
      ),
      Object(a.b)([r.k], b.prototype, "LogDownload", null),
      Object(a.b)([r.k], b.prototype, "LogSegmentDownloadFailure", null),
      Object(a.b)([r.k], b.prototype, "LogFrameInfo", null),
      Object(a.b)([r.k], b.prototype, "LogBufferDuration", null);
    class f {
      constructor(e) {
        (this.m_timeMS = Date.now()),
          (this.m_nBytesReceived = 0),
          (this.m_nInitialVideoResolution = 0),
          (this.m_nFailedSegments = 0),
          (this.m_nStallEvents = 0),
          (this.m_nEntries = 0),
          (this.m_nSegmentDownloadTimeTotalMS = 0),
          (this.m_nSegmentDownloadTimeMaxMS = 0),
          (this.m_nSegmentDownloadTimeMinMS = 0),
          (this.m_nBandwidthTotal = 0),
          (this.m_nBandwidthMin = 0),
          (this.m_nBandwidthMax = 0),
          (this.m_nLastSegementDownloadStatus = 200),
          (this.m_nFramesDecoded = 0),
          (this.m_nFramesDropped = 0),
          (this.m_nInitialVideoResolution = e);
      }
      GetAverageBandwidth() {
        return this.m_nBandwidthTotal / Math.max(1, this.m_nEntries);
      }
      GetAverageDownloadTime() {
        return (
          this.m_nSegmentDownloadTimeTotalMS / Math.max(1, this.m_nEntries)
        );
      }
      GetAverageBandwidthFromTwo(e) {
        return (
          (e.m_nBandwidthTotal + this.m_nBandwidthTotal) /
          Math.max(1, e.m_nEntries + this.m_nEntries)
        );
      }
      GetAverageDownloadTimeFromTwo(e) {
        return (
          (e.m_nSegmentDownloadTimeTotalMS +
            this.m_nSegmentDownloadTimeTotalMS) /
          Math.max(1, e.m_nEntries + this.m_nEntries)
        );
      }
      SegmentReceived(e, t) {
        if (((this.m_nBytesReceived += e), e < 1024)) return;
        let n = Math.round((8 * e * 1e3) / Math.max(t, 1));
        0 == this.m_nEntries
          ? ((this.m_nSegmentDownloadTimeMinMS = t), (this.m_nBandwidthMin = n))
          : ((this.m_nSegmentDownloadTimeMinMS = Math.min(
              t,
              this.m_nSegmentDownloadTimeMinMS,
            )),
            (this.m_nBandwidthMin = Math.min(n, this.m_nBandwidthMin))),
          (this.m_nBandwidthMax = Math.max(n, this.m_nBandwidthMax)),
          (this.m_nSegmentDownloadTimeMaxMS = Math.max(
            t,
            this.m_nSegmentDownloadTimeMaxMS,
          )),
          (this.m_nBandwidthTotal += n),
          (this.m_nSegmentDownloadTimeTotalMS += t),
          (this.m_nEntries += 1);
      }
    }
    Object(a.b)([r.C], f.prototype, "m_nBytesReceived", void 0),
      Object(a.b)([r.C], f.prototype, "m_nFailedSegments", void 0),
      Object(a.b)([r.C], f.prototype, "m_nStallEvents", void 0),
      Object(a.b)([r.C], f.prototype, "m_nSegmentDownloadTimeMaxMS", void 0),
      Object(a.b)([r.C], f.prototype, "m_nSegmentDownloadTimeMinMS", void 0),
      Object(a.b)([r.C], f.prototype, "m_nBandwidthMin", void 0),
      Object(a.b)([r.C], f.prototype, "m_nBandwidthMax", void 0),
      Object(a.b)([r.C], f.prototype, "m_nFramesDecoded", void 0),
      Object(a.b)([r.C], f.prototype, "m_nFramesDropped", void 0),
      Object(a.b)([r.k], f.prototype, "SegmentReceived", null);
    class v {
      reset(e, t) {
        (this.bDropReading = e), (this.nTotalDecodedFrames = t);
      }
    }
    class S {
      constructor() {
        (this.k_nTestFrequencyMS = 1e3),
          (this.k_nSlidingWindow = 6),
          (this.k_nDroppedFramesThreshold = 1),
          (this.k_nFailThreshold = 3),
          (this.k_nIgnoreReadingAroundResizeMS = 2e3),
          (this.m_schTracker = new d.b()),
          (this.m_rgResultsWindow = []),
          (this.m_nLastResizeMS = 0),
          (this.m_bDroppingFrameDetected = !1),
          (this.m_nCurrentFPS = 0);
      }
      StartTracking(e) {
        this.m_schTracker.Schedule(this.k_nTestFrequencyMS, this.TakeReading),
          (this.m_fnRequestDecoded = e),
          (this.m_lastFrameInfo = this.m_fnRequestDecoded()),
          (this.m_bDroppingFrameDetected = !1);
      }
      BHasCurrentFPS() {
        return 0 != this.m_nCurrentFPS;
      }
      GetCurrentFPS() {
        return this.m_nCurrentFPS;
      }
      BIsDroppingFrames() {
        return this.m_bDroppingFrameDetected;
      }
      SetWindowResized() {
        this.m_nLastResizeMS = Date.now();
      }
      BIsInResizeTimeWindow() {
        return (
          this.m_nLastResizeMS &&
          Date.now() - this.m_nLastResizeMS <
            this.k_nIgnoreReadingAroundResizeMS
        );
      }
      Close() {
        this.m_schTracker.Cancel(),
          (this.m_rgResultsWindow = []),
          (this.m_bDroppingFrameDetected = !1);
      }
      LogResizeAction() {
        this.m_nLastResizeMS = Date.now();
      }
      TakeReading() {
        this.m_schTracker.Schedule(this.k_nTestFrequencyMS, this.TakeReading);
        let e = !1,
          t = this.m_fnRequestDecoded();
        this.BIsInResizeTimeWindow() ||
          (e =
            this.m_lastFrameInfo.framesDropped > 0 &&
            t.framesDropped - this.m_lastFrameInfo.framesDropped >
              this.k_nDroppedFramesThreshold),
          this.AppendReading(e, t.framesDecoded),
          (this.m_bDroppingFrameDetected = this.ComputeDroppingFrames()),
          (this.m_nCurrentFPS =
            t.framesDecoded -
            this.m_lastFrameInfo.framesDecoded -
            (t.framesDropped - this.m_lastFrameInfo.framesDropped)),
          (this.m_lastFrameInfo = t);
      }
      ComputeDroppingFrames() {
        return (
          this.m_rgResultsWindow.length == this.k_nSlidingWindow &&
          this.m_rgResultsWindow.filter((e) => e.bDropReading).length >=
            this.k_nFailThreshold
        );
      }
      AppendReading(e, t) {
        let n;
        (n =
          this.m_rgResultsWindow.length >= this.k_nSlidingWindow
            ? this.m_rgResultsWindow.shift()
            : new v()),
          n.reset(e, t),
          this.m_rgResultsWindow.push(n);
      }
    }
    Object(a.b)([r.C], S.prototype, "m_bDroppingFrameDetected", void 0),
      Object(a.b)([r.C], S.prototype, "m_nCurrentFPS", void 0),
      Object(a.b)([r.k.bound], S.prototype, "TakeReading", null);
  },
  CKni: function (e, t, n) {
    e.exports = {
      ApprovalRequiredCtn:
        "requirevalvepublishapproval_ApprovalRequiredCtn_35VNX",
      Right: "requirevalvepublishapproval_Right_3Jm6x",
      Title: "requirevalvepublishapproval_Title_1KfQ-",
    };
  },
  CYEq: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    });
    n("fvA7"), n("AQa9");
    function a(e, t) {
      return t();
    }
  },
  CbaM: function (e, t, n) {
    e.exports = {
      LinkRegionDragBox: "linkregionbox_LinkRegionDragBox_29l0q",
      EdgeDown: "linkregionbox_EdgeDown_2Bt49",
      LinkRegionGridBox: "linkregionbox_LinkRegionGridBox_318EQ",
      LinkRegionEdge: "linkregionbox_LinkRegionEdge_15F07",
      TopLeft: "linkregionbox_TopLeft_274JE",
      Top: "linkregionbox_Top_3zto4",
      TopRight: "linkregionbox_TopRight_M9j5_",
      Left: "linkregionbox_Left_11dM4",
      Middle: "linkregionbox_Middle_wV64J",
      LinkRegionDelete: "linkregionbox_LinkRegionDelete_3K61p",
      LinkRegionSettings: "linkregionbox_LinkRegionSettings_3ueMF",
      Right: "linkregionbox_Right_3lstG",
      BottomLeft: "linkregionbox_BottomLeft_2ESbg",
      Bottom: "linkregionbox_Bottom_12EOo",
      BottomRight: "linkregionbox_BottomRight_36IF2",
      topleft: "linkregionbox_topleft_O2omO",
      top: "linkregionbox_top_35EJJ",
      topright: "linkregionbox_topright_2V_59",
      left: "linkregionbox_left_12MLC",
      right: "linkregionbox_right_1O_rk",
      bottomleft: "linkregionbox_bottomleft_q3R54",
      bottom: "linkregionbox_bottom_2hxKH",
      bottomright: "linkregionbox_bottomright_2k7pu",
      middle: "linkregionbox_middle_2wo5w",
      LinkRegionButtonContainer:
        "linkregionbox_LinkRegionButtonContainer_1Upt7",
      DialogButton: "linkregionbox_DialogButton_3ZEiE",
      LinkRegionInfo: "linkregionbox_LinkRegionInfo_2CpDc",
      LinkText: "linkregionbox_LinkText_3C08T",
    };
  },
  CjDG: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return h;
    }),
      n.d(t, "a", function () {
        return v;
      }),
      n.d(t, "c", function () {
        return S;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = (n("AQa9"), n("Q8oI"), n("y6Yv")),
      l = (n("5VAZ"), n("Gdzm")),
      c = n("+h+B"),
      d = n("VQwQ"),
      u = n("aaBf"),
      m = (n("/loZ"), n("D6PB"));
    n("Wiwi");
    class p {
      constructor(e) {
        (this.m_setShownEvents = new Set()),
          (this.m_setReadEvents = new Set()),
          (this.m_rgPendingUpload = []),
          (this.m_schUpload = new c.b()),
          (this.m_bUploading = !1),
          (this.m_CMInterface = e);
      }
      MarkEventShown(e, t, n) {
        let a = this.MakeKey(e, n);
        if (this.m_setShownEvents.has(a)) return !1;
        this.m_setShownEvents.add(a);
        let r = new l.e();
        return (
          r.set_event_gid(e),
          r.set_clanid(t),
          r.set_display_location(n),
          r.set_mark_shown(!0),
          this.QueueForUpload(r),
          !0
        );
      }
      MarkEventRead(e, t, n) {
        let a = this.MakeKey(e, n);
        if (this.m_setReadEvents.has(a)) return !1;
        this.m_setReadEvents.add(a);
        let r = new l.e();
        return (
          r.set_event_gid(e),
          r.set_clanid(t),
          r.set_display_location(n),
          r.set_mark_read(!0),
          this.QueueForUpload(r),
          !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 Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_bUploading) return this.UploadPendingData();
        });
      }
      UploadPendingData() {
        return Object(a.a)(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 n = o.b.Init(l.d);
            for (let t of e) n.Body().add_markings(t);
            this.m_bUploading = !0;
            let a = yield l.g.MarkPartnerEventsForUser(
              this.m_CMInterface.GetServiceTransport(),
              n,
            );
            (this.m_bUploading = !1), (t = 1 == a.GetEResult());
          } else {
            if (!u.j.logged_in) return;
            let n = e.map((e) => e.toObject()),
              a = Object(u.e)() + "actions/ajaxmarkpartnerevents";
            const r = new FormData();
            r.append("sessionid", u.c.SESSIONID),
              r.append("request", JSON.stringify(n));
            try {
              t =
                1 ==
                (yield i.a.post(a, r, { withCredentials: !0 })).data.success;
            } catch (e) {
              let t = Object(m.a)(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));
        });
      }
    }
    Object(a.b)([d.a], p.prototype, "UploadPendingData", null);
    var h,
      _ = n("hc+a"),
      g = n("fvA7"),
      b = n("q1tI");
    class f {
      constructor(e) {
        (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()),
          (this.clanid = e);
      }
    }
    Object(a.b)([s.C], f.prototype, "clanid", void 0),
      Object(a.b)([s.C], f.prototype, "appid", void 0),
      Object(a.b)([s.C], f.prototype, "can_edit", void 0),
      Object(a.b)([s.C], f.prototype, "owns_app", void 0),
      Object(a.b)([s.C], f.prototype, "follows_app", void 0),
      Object(a.b)([s.C], f.prototype, "support_user", void 0),
      Object(a.b)([s.C], f.prototype, "valve_admin", void 0),
      Object(a.b)([s.C], f.prototype, "limited_user", void 0),
      Object(a.b)([s.C], f.prototype, "event_ignored", void 0),
      Object(a.b)([s.C], f.prototype, "event_followed", void 0),
      Object(a.b)([s.C], f.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");
      })(h || (h = {}));
    class v {
      constructor() {
        (this.m_mapClanToUserPermissions = new Map()),
          (this.m_mapAnnounceGIDToVote = new Map()),
          (this.m_setReadEventGIDs = new Set()),
          (this.m_cm = void 0),
          (this.m_bIsPresentationMode = Object(u.a)());
      }
      static Get() {
        return (
          Object(g.a)(
            !!v.s_EventUserStore,
            "Have not yet initialized global EventUserStore",
          ),
          v.s_EventUserStore
        );
      }
      static IsInitialized() {
        return !!v.s_EventUserStore;
      }
      static InitGlobal(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!v.s_EventUserStore) {
            const t = new v();
            yield t.Init(e),
              (v.s_EventUserStore = t),
              "dev" == u.c.WEB_UNIVERSE && (window.g_EventUserStore = t);
          }
        });
      }
      Init(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_cm = e), (this.m_tracker = new p(e));
          const t = Object(u.h)(
            "partnereventpermissions",
            "application_config",
          );
          this.ValidateStoreDefault(t) &&
            (Object(s.G)(() => {
              t.forEach((e) => {
                let t = new f(e.clanid),
                  n = { result: t, promise: v.RemapToPromise(t) };
                this.CopyFromResponseToTrack(n, e),
                  this.m_mapClanToUserPermissions.set(e.clanid, n);
              });
            }),
            ("dev" != u.c.WEB_UNIVERSE && "beta" != u.c.WEB_UNIVERSE) ||
              console.log(
                "CEventUserStore has loaded",
                this.m_mapClanToUserPermissions.size,
                this.m_mapClanToUserPermissions,
              ));
          let n = Object(u.h)("uservotes", "application_config");
          n &&
            Object(s.G)(() => {
              n.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 Object(a.a)(this, void 0, void 0, function* () {
          return e;
        });
      }
      BIsUserLoggedIn() {
        return u.j.logged_in;
      }
      BIsPartnerEventPermissionsLoaded(e) {
        return this.m_mapClanToUserPermissions.has(e);
      }
      GetPartnerEventPermissions(e) {
        if (!e || !e.BIsValid()) return new f(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, n) {
        let a = this.GetPartnerEventPermissions(e),
          r = a.event_followed.indexOf(t);
        return -1 !== r && (a.event_followed_flags[r] & n) == n;
      }
      BIgnoresEvent(e, t) {
        return (
          -1 != this.GetPartnerEventPermissions(e).event_ignored.indexOf(t)
        );
      }
      LoadSingleAppEventPermissions(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = e.GetAccountID(),
            n = this.m_mapClanToUserPermissions.get(t);
          return (
            n ||
              ((n = {
                promise: this.InternalLoadSingleAppEventPermissions(e),
                result: new f(t),
              }),
              this.m_mapClanToUserPermissions.set(t, n)),
            n.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 Object(a.a)(this, void 0, void 0, function* () {
          let t = null,
            n = e.GetAccountID(),
            a = !Boolean(u.j.logged_in);
          if (!this.m_mapClanToUserPermissions.has(n)) {
            let t = new f(e.GetAccountID());
            this.m_mapClanToUserPermissions.set(n, {
              result: t,
              promise: v.RemapToPromise(t),
            });
          }
          try {
            if (Boolean(u.j.logged_in)) {
              let r =
                  u.c.COMMUNITY_BASE_URL +
                  "gid/" +
                  e.ConvertTo64BitString() +
                  "/ajaxgetpartnereventpermissions/",
                s = {};
              if (
                ("partnerweb" == Object(u.f)() &&
                  ((r =
                    u.c.PARTNER_BASE_URL +
                    "partnerevents/ajaxgetpartnereventpermissions"),
                  (s = { clanaccountid: e.GetAccountID() })),
                (t = yield i.a.get(r, { params: s, withCredentials: !0 })),
                1 != t.data.success)
              )
                console.error(
                  "Partner Events Failed Load:" +
                    Object(m.a)(t.data).strErrorMsg,
                ),
                  (a = !0);
              else {
                let e = this.m_mapClanToUserPermissions.get(n);
                this.CopyFromResponseToTrack(e, t.data);
              }
            }
          } catch (e) {
            if (
              ((t = e.response),
              (a = !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 = Object(m.a)(e);
              console.error(
                "InternalLoadSingleAppEventPermissions account: " +
                  n +
                  ": " +
                  t.strErrorMsg,
                t,
              );
            }
          } finally {
            a &&
              Object(s.G)(() => {
                let e = this.m_mapClanToUserPermissions.get(n);
                (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(n).result;
        });
      }
      SetFollowOrUnfollowEvent(e, t, n, r, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = this.GetPartnerEventPermissions(n),
            l = a.event_followed.indexOf(r),
            c = 0;
          -1 !== l &&
            ((c = a.event_followed_flags[l]), e ? (o = c & ~o) : (o |= c));
          let d = 0 == o,
            m =
              (Object(u.e)() == u.c.STORE_BASE_URL
                ? u.c.STORE_BASE_URL + "events"
                : u.c.COMMUNITY_BASE_URL + "/gid/" + n.ConvertTo64BitString()) +
              (d ? "/unfolloworunignoreevent" : "/followorignoreevent"),
            p = new URLSearchParams();
          p.append("sessionid", u.c.SESSIONID),
            p.append("authwgtoken", u.j.authwgtoken),
            p.append("ignore", "" + t),
            p.append("gid", r),
            p.append("notification_flag", "" + o),
            p.append("clan_accountid", "" + n.GetAccountID());
          yield i.a.post(m, p, { withCredentials: !0 });
          Object(s.G)(() => {
            let e = this.m_mapClanToUserPermissions.get(n.GetAccountID()),
              a = null,
              i = null,
              s = null,
              l = null;
            d
              ? ((a = t ? e.result.event_ignored : e.result.event_followed),
                (s = t ? null : e.result.event_followed_flags))
              : t
                ? ((a = e.result.event_followed),
                  (s = e.result.event_followed_flags),
                  (i = e.result.event_ignored))
                : ((a = e.result.event_ignored),
                  (i = e.result.event_followed),
                  (l = e.result.event_followed_flags));
            let c = a.indexOf(r);
            if ((c > -1 && (a.splice(c, 1), s && s.splice(c, 1)), i)) {
              let e = i.indexOf(r);
              -1 == e ? (i.push(r), l && l.push(o)) : (l[e] = o);
            }
          });
        });
      }
      Vote(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!e || !e.AnnouncementGID) return !1;
          const a = this.m_mapAnnounceGIDToVote.get(e.AnnouncementGID);
          if (a === t) return !0;
          if (
            (this.m_mapAnnounceGIDToVote.set(e.AnnouncementGID, t),
            Object(s.G)(() => {
              !0 === a && e.UpdateVoteCount("up", -1),
                !1 === a && e.UpdateVoteCount("down", -1),
                !0 === t && e.UpdateVoteCount("up", 1),
                !1 === t && e.UpdateVoteCount("down", 1);
            }),
            this.m_cm)
          ) {
            let n = o.b.Init(l.f);
            return (
              n.Body().set_announcementid(e.AnnouncementGID),
              n.Body().set_vote_up(!!t),
              n.Body().set_clan_accountid(e.clanSteamID.GetAccountID()),
              1 ==
                (yield l.g.RateClanAnnouncement(
                  this.m_cm.GetServiceTransport(),
                  n,
                )).GetEResult()
            );
          }
          {
            let a =
              window.location.href.indexOf(u.c.COMMUNITY_BASE_URL) >= 0
                ? u.c.COMMUNITY_BASE_URL +
                  "gid/" +
                  e.clanSteamID.ConvertTo64BitString() +
                  "/announcements/rate/" +
                  e.AnnouncementGID
                : u.c.STORE_BASE_URL +
                  "updated/ajaxrateupdate/" +
                  e.AnnouncementGID;
            const r = new URLSearchParams();
            r.append("sessionid", u.c.SESSIONID),
              r.append("authwgtoken", u.j.authwgtoken),
              r.append("voteup", t ? "1" : "0"),
              r.append("clanid", "" + e.clanSteamID.GetAccountID()),
              r.append("ajax", "1");
            let s = { withCredentials: !0, cancelToken: n.token };
            return 1 == (yield i.a.post(a, r, s)).data.success;
          }
        });
      }
      LoadMyVote(e, t) {
        return Object(a.a)(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 n;
            if (this.m_cm) {
              let t = o.b.Init(l.c);
              t.Body().set_announcementid(e.AnnouncementGID);
              let a = yield l.g.GetClanAnnouncementVoteForUser(
                this.m_cm.GetServiceTransport(),
                t,
              );
              1 == a.GetEResult() &&
                (n =
                  !!a.Body().voted_up() || (!a.Body().voted_down() && void 0));
            } else {
              let a =
                  u.c.COMMUNITY_BASE_URL +
                  "ogg/" +
                  e.appid +
                  "/announcements/ajaxgetmyvote/" +
                  e.AnnouncementGID,
                r = yield i.a.get(a, {
                  withCredentials: !0,
                  cancelToken: t.token,
                });
              n = !!r.data.voted_up || (!r.data.voted_down && void 0);
            }
            return this.m_mapAnnounceGIDToVote.set(e.AnnouncementGID, n), n;
          }
        });
      }
      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 (u.b.IS_OGG || u.b.IS_VALVE_GROUP) && t.valve_admin;
      }
      BShowSaleEditorTab(e) {
        if (e.BHasSaleEnabled()) return !0;
        let t = this.GetPartnerEventPermissions(e.clanSteamID);
        return (
          !u.b.IS_OGG &&
          (t.valve_admin ||
            (e.jsondata.clone_from_event_gid &&
              e.jsondata.clone_from_sale_enabled))
        );
      }
    }
    function S(e) {
      const [t, n] = Object(b.useState)(
          v.Get().BIsPartnerEventPermissionsLoaded(e),
        ),
        a = _.a.InitFromClanID(e),
        [r, i] = Object(b.useState)(v.Get().GetPartnerEventPermissions(a));
      return (
        Object(b.useEffect)(() => {
          if (!t) {
            const t = _.a.InitFromClanID(e);
            v.Get()
              .LoadSingleAppEventPermissions(t)
              .then((e) => {
                i(e), n(!0);
              });
          }
        }, [t, e]),
        r
      );
    }
    Object(a.b)([s.C], v.prototype, "m_mapClanToUserPermissions", void 0),
      Object(a.b)([s.C], v.prototype, "m_mapAnnounceGIDToVote", void 0),
      Object(a.b)([s.C], v.prototype, "m_setReadEventGIDs", void 0),
      Object(a.b)([s.k], v.prototype, "CopyFromResponseToTrack", null);
  },
  CmzP: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      DummyValue: "maincapsule_DummyValue_1byjs",
      PlaceholderExpanded: "maincapsule_PlaceholderExpanded_2NNkc",
      ThrobberCtn: "maincapsule_ThrobberCtn_24Wfk",
      PlaceholderCompact: "maincapsule_PlaceholderCompact_2tg6P",
    };
  },
  Co9h: function (e, t, n) {
    e.exports = {
      HoverPosition: "hoverposition_HoverPosition_1tQrX",
      Ready: "hoverposition_Ready_12dDx",
      NoSpace: "hoverposition_NoSpace_2RE0x",
      EnablePointerEvents: "hoverposition_EnablePointerEvents_346UO",
      HoverAboveModal: "hoverposition_HoverAboveModal_2znvo",
    };
  },
  Coar: function (e, t, n) {
    e.exports = {
      OuterCtn: "salebadgeprogressdisplay_OuterCtn_2DBYM",
      ImgSpread: "salebadgeprogressdisplay_ImgSpread_1LZYR",
      Title: "salebadgeprogressdisplay_Title_2HdEI",
      ImgCtnWithArrow: "salebadgeprogressdisplay_ImgCtnWithArrow_3cLdm",
      BadgeTierCtn: "salebadgeprogressdisplay_BadgeTierCtn_1GEr3",
      BadgeDesc: "salebadgeprogressdisplay_BadgeDesc_30X6j",
      BadgeLevel: "salebadgeprogressdisplay_BadgeLevel_2AZcl",
      FinalBadge: "salebadgeprogressdisplay_FinalBadge_3YHV9",
    };
  },
  CqJL: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return d;
    }),
      n.d(t, "f", function () {
        return u;
      }),
      n.d(t, "o", function () {
        return m;
      }),
      n.d(t, "l", function () {
        return p;
      }),
      n.d(t, "m", function () {
        return h;
      }),
      n.d(t, "n", function () {
        return g;
      }),
      n.d(t, "a", function () {
        return f;
      }),
      n.d(t, "d", function () {
        return S;
      }),
      n.d(t, "c", function () {
        return y;
      }),
      n.d(t, "e", function () {
        return E;
      });
    var a = n("q1tI"),
      r = n("AQa9"),
      i = n("Q8oI"),
      s = n("aaBf"),
      o = n("Mx8f"),
      l = (n("fvA7"), n("9yZi"), n("+h+B")),
      c = n("exEy");
    n.d(t, "g", function () {
      return c.b;
    }),
      n.d(t, "h", function () {
        return c.c;
      }),
      n.d(t, "j", function () {
        return c.e;
      }),
      n.d(t, "k", function () {
        return c.f;
      }),
      n.d(t, "p", function () {
        return c.h;
      }),
      n.d(t, "q", function () {
        return c.i;
      }),
      n.d(t, "r", function () {
        return c.j;
      }),
      n.d(t, "i", function () {
        return c.d;
      });
    class d {
      constructor() {
        (this.m_mapTokens = new Map()),
          (this.m_mapFallbackTokens = new Map()),
          (this.m_cbkTokensChanged = new l.a());
      }
      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
            ? i.ESteamRealm.k_ESteamRealmChina
            : i.ESteamRealm.k_ESteamRealmGlobal)
        );
      }
      static GetLanguageListForRealms(e) {
        const t = new Array();
        for (let n = 0; n < 30; n++)
          for (const a of e)
            if (this.IsELanguageValidInRealm(n, a)) {
              t.push(n);
              break;
            }
        return t;
      }
      InitFromObjects(e, t, n, a, r) {
        r || this.m_mapTokens.clear();
        const i = Object.assign(Object.assign({}, n || {}), e),
          s = Object.assign(Object.assign({}, a || {}), t || {});
        this.AddTokens(i, 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(Object(r.g)(s.c.LANGUAGE)),
          (s.c.SUPPORTED_LANGUAGES || []).forEach((e) => {
            e.value != s.c.LANGUAGE && t.push(Object(r.g)(e.value));
          }),
          e)
        ) {
          d.GetLanguageListForRealms(e).forEach((e) => {
            -1 == t.indexOf(e) && t.push(e);
          });
        }
        return t;
      }
      SetPreferredLocales(e) {
        this.m_rgLocalesToUse = e;
      }
      LocalizeString(e, t) {
        if (!e || 0 == e.length || "#" != e.charAt(0)) return;
        let n = this.m_mapTokens.get(e.substring(1));
        if (void 0 !== n) return n;
        !t &&
          d.sm_ErrorReportingStore &&
          d.sm_ErrorReportingStore.ReportError(
            new Error(
              `Unable to find localization token '${e}' for language '${s.c.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 u(e, ...t) {
      let n = E.LocalizeString(e);
      return void 0 === n ? e : b(n, ...t);
    }
    function m(e, ...t) {
      let n = E.LocalizeString(e);
      if (void 0 === n) return e;
      let r,
        i = [],
        s = /(.*?)%(\d+)\$s/g,
        o = 0;
      for (; (r = s.exec(n)); ) {
        (o += r[0].length), i.push(r[1]);
        let e = parseInt(r[2]);
        e >= 1 && e <= t.length && i.push(t[e - 1]);
      }
      return i.push(n.substr(o)), a.createElement(a.Fragment, null, ...i);
    }
    function p(e, ...t) {
      let n = E.LocalizeString(e);
      return void 0 === n ? e : _(n, ...t);
    }
    function h(e, t, ...n) {
      let a;
      return (
        (a = u(1 === t || "1" === t ? e : e + "_Plural", t)),
        void 0 === a ? e : _(a, ...n)
      );
    }
    function _(e, ...t) {
      let n,
        r = [],
        i = /(.*?)<(\d+)>(.*)<\/(\2)>/g,
        s = 0;
      for (; (n = i.exec(e)); ) {
        (s += n[0].length), r.push(n[1]);
        let e = parseInt(n[2]),
          i = n[3] || "",
          o = (e >= 1 && e <= t.length ? t[e - 1] : null)
            ? a.cloneElement(t[e - 1], {}, [i])
            : i;
        r.push(o);
      }
      return r.push(e.substr(s)), a.createElement(a.Fragment, null, ...r);
    }
    function g(e, t, ...n) {
      return 1 === t || "1" === t ? u(e, t, ...n) : u(e + "_Plural", t, ...n);
    }
    function b(e, ...t) {
      return 0 == t.length
        ? e
        : (e = e.replace(/%(?:(\d+)\$)?s/g, function (e, n) {
            if (n <= t.length && n >= 1) {
              let e = t[n - 1];
              return String(null == e ? "" : e);
            }
            return e;
          }));
    }
    class f {
      static Set(e, t, n) {
        if (e.length <= t) {
          if (t >= 30) return e;
          e = Object(o.e)(e, t + 1, null);
        }
        return (e[t] = n), e;
      }
      static Get(e, t) {
        return (e && e.length > t && e[t]) || "";
      }
      static GetWithFallback(e, t) {
        if (e) {
          return f.Get(e, t) || f.Get(e, d.GetELanguageFallback(t));
        }
        return null;
      }
    }
    const v = {
        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: "vn",
        sc_schinese: "zh-cn",
        koreana: "ko",
      },
      S = {
        "en-US": 0,
        "de-DE": 1,
        "fr-FR": 2,
        "it-IT": 3,
        "ko-KR": 4,
        "es-ES": 5,
        "zh-CH": 6,
        "zh-CN": 7,
        "ru-RU": 8,
        "th-TH": 9,
        "ja-JP": 10,
        "pt-PT": 11,
        "pl-PL": 12,
        "da-DK": 13,
        "nl-NL": 14,
        "fi-FI": 15,
        "nb-NO": 16,
        "sv-SE": 17,
        "hu-HU": 18,
        "cs-CZ": 19,
        "ro-RO": 20,
        "tr-TR": 21,
        "pt-BR": 22,
        "bg-BG": 23,
        "el-GR": 24,
        "ar-SA": 25,
        "uk-UA": 26,
        "es-419": 27,
        "vi-VN": 28,
      };
    function y() {
      return v[s.c.LANGUAGE] || null;
    }
    const E = new d();
    window.LocalizationManager = E;
  },
  Cug9: function (e, t, n) {
    "use strict";
    n.d(t, "f", function () {
      return o;
    }),
      n.d(t, "g", function () {
        return l;
      }),
      n.d(t, "e", function () {
        return d;
      }),
      n.d(t, "d", function () {
        return u;
      }),
      n.d(t, "b", function () {
        return m;
      }),
      n.d(t, "c", function () {
        return p;
      }),
      n.d(t, "a", function () {
        return _;
      });
    var a = n("q1tI"),
      r = n("AQa9"),
      i = n("aaBf"),
      s = n("agHs");
    const o = [
        "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",
      ],
      l = [
        "h1",
        "h2",
        "h3",
        "b",
        "u",
        "i",
        "strike",
        "spoiler",
        "noparse",
        "url",
      ],
      c = ["img", "previewyoutube", "looping_media", "roomeffect"],
      d = (o.filter((e) => -1 == c.indexOf(e)), "{STEAM_CLAN_IMAGE}"),
      u = "{STEAM_CLAN_LOC_IMAGE}";
    function m(e, t = null, n = " ") {
      let a = null == t ? void 0 : t.join("|");
      a || (a = o.join("|") + "|\\*");
      let r = new RegExp("\\[(" + a + ")\\b[^\\]]*\\].*?\\[/\\1\\]", "gi");
      return e.replace(r, n);
    }
    function p(e, t = null, n = "") {
      let a = null == t ? void 0 : t.join("|");
      a || (a = o.join("|") + "|\\*");
      let r = "\\[\\/?(?:" + a + "){1,}.*?]";
      return e.replace(new RegExp(r, "gi"), n);
    }
    function h(e, t, n = 0) {
      if (2 == t.type) {
        let e = t.text.indexOf("="),
          n = t.text.indexOf(" ");
        if ((-1 != n && (-1 == e || n < e) && (e = n), e > 0)) {
          t.tag = t.text.substr(0, e).toLocaleLowerCase();
          let n = t.text.substr(e);
          t.args = (function (e) {
            if (!e || e.length < 1) return {};
            let t = {},
              n = "",
              a = "",
              r = 0,
              i = 0;
            "=" == e[0] && (r = 2);
            let s = !1;
            for (i++; i < e.length; i++) {
              let o = e[i],
                l = !0,
                c = !1;
              switch (r) {
                case 0:
                  if ("=" == o) return {};
                  if (" " == o) continue;
                  r = 1;
                  break;
                case 1:
                  ("=" != o && " " != o) ||
                    s ||
                    (" " == o ? ((r = 0), (c = !0)) : (r = 2), (l = !1));
                  break;
                case 2:
                  " " == o
                    ? ((r = 0), (l = !1), (c = !0))
                    : '"' == o
                      ? ((r = 4), (l = !1))
                      : (r = 3);
                  break;
                case 3:
                case 4:
                  ((" " == o && 4 != r && !s) || ('"' == o && 4 == r && !s)) &&
                    ((r = 0), (l = !1), (c = !0));
              }
              if (l)
                if ("\\" != o || s)
                  if (((s = !1), 1 == r)) n += o;
                  else {
                    if (3 != r && 4 != r)
                      throw new Error(
                        "Not expecting to accumulate buffer in state " + r,
                      );
                    a += o;
                  }
                else s = !0;
              c && ((t[n] = a), (n = ""), (a = ""));
            }
            0 != r && (t[n] = a);
            return t;
          })(n);
        } else (t.args = {}), (t.tag = t.text.toLocaleLowerCase());
      }
      e.push(t);
      let a = new g();
      return (a.type = n), a;
    }
    class _ {
      constructor(e, t = () => new s.b(), n) {
        (this.m_dictComponents = void 0),
          (this.m_dictComponents = e),
          (this.m_fnAccumulatorFactory = t),
          (this.m_renderingLanguage = n || Object(r.g)(i.c.LANGUAGE));
      }
      UpdateOverrideLanguage(e) {
        this.m_renderingLanguage = e || Object(r.g)(i.c.LANGUAGE);
      }
      ParseBBCode(e, t, n = !1) {
        const a = (function (e, t) {
          const n = [];
          let a = new g(),
            r = !1,
            i = !1,
            s = !1;
          for (let o = 0; o < e.length; o++) {
            let l = e[o];
            switch (a.type) {
              case 0:
                "[" == l
                  ? ((a.type = 2), (i = !0))
                  : ((a.type = 1), "\\" == l && t ? (r = !r) : (a.text += l));
                break;
              case 2:
              case 3:
                if ("/" == l && i) (a.type = 3), (a.text = ""), (i = !1);
                else if ("[" != l || r)
                  if ("]" != l || r)
                    "\\" == l && t
                      ? ((a.text += l), (r = !r), (i = !1))
                      : ((a.text += l), (r = !1), (i = !1));
                  else {
                    const e =
                        2 == a.type && "noparse" == a.text.toLocaleLowerCase(),
                      t =
                        3 == a.type && "noparse" == a.text.toLocaleLowerCase();
                    i || (s && !t)
                      ? (a.ConvertMalformedNodeToText(), (a.text += l))
                      : e
                        ? (s = !0)
                        : t && (s = !1),
                      (a = h(n, a)),
                      (i = !1);
                  }
                else a.ConvertMalformedNodeToText(), (a = h(n, a, 2)), (i = !0);
                break;
              case 1:
                "[" != l || r
                  ? "\\" == l && t
                    ? (r && (a.text += l), (r = !r))
                    : (r && ((a.text += "\\"), (r = !1)), (a.text += l))
                  : ((a = h(n, a, 2)), (i = !0));
            }
          }
          return (
            0 != a.type &&
              ((2 != a.type && 3 != a.type) || a.ConvertMalformedNodeToText(),
              n.push(a)),
            n
          );
        })(e, n);
        return this.Parse_BuildReactComponents(a, t);
      }
      Parse_BuildReactComponents(e, t) {
        let n = this.m_fnAccumulatorFactory(void 0),
          r = [],
          i = function () {
            return r.length < 1 ? void 0 : r[r.length - 1];
          },
          s = this.m_dictComponents,
          o = this.m_renderingLanguage,
          l = !1,
          c = !0,
          d = function (e, i, d) {
            if (e && e.node.tag === i.text && s.get(e.node.tag)) {
              const i = s.get(e.node.tag),
                u = r.map((e) => e.node.tag),
                m = {
                  context: t,
                  parentTags: u,
                  tagname: e.node.tag,
                  args: e.node.args,
                  language: o,
                  key: `${e.node.tag}_${d}`,
                },
                p = a.createElement(i.Constructor, m, ...n.GetElements());
              (n = e.accumulator),
                n.AppendNode(p),
                (l = i.skipFollowingNewline),
                (c = e.bWrapTextForCopying);
            } else if (e) {
              let t = e.accumulator;
              t.AppendText("[" + e.node.text + "]", !1),
                n.GetElements().forEach((e) => t.AppendNode(e)),
                t.AppendText("[/" + i.text + "]", !1),
                (n = t),
                (c = e.bWrapTextForCopying);
            }
          };
        for (
          e.forEach((e, t) => {
            var a, o;
            if (1 == e.type) {
              const t = l ? e.text.replace(/^[\t\r ]*\n/g, "") : e.text;
              n.AppendText(t, c), (l = !1);
            } else if (2 == e.type) {
              const o = s.get(e.tag);
              if (o) {
                const u = i();
                if (void 0 !== u) {
                  const n = s.get(u.node.tag);
                  n &&
                    n.autocloses &&
                    e.tag === u.node.tag &&
                    d(r.pop(), u.node, t);
                }
                r.push({ accumulator: n, node: e, bWrapTextForCopying: c }),
                  (n = this.m_fnAccumulatorFactory(e)),
                  (l = o.skipInternalNewline),
                  (c =
                    null !== (a = o.allowWrapTextForCopying) &&
                    void 0 !== a &&
                    a);
              } else n.AppendText("[" + e.text + "]", 0 == r.length);
            } else if (3 == e.type) {
              for (
                ;
                i() &&
                i().node.tag !== e.text &&
                s.get(i().node.tag) &&
                s.get(i().node.tag).autocloses;
              ) {
                const e = r.pop();
                d(e, e.node, t);
              }
              if (
                (null === (o = i()) || void 0 === o ? void 0 : o.node.tag) ==
                e.text
              ) {
                const n = r.pop();
                d(n, e, t);
              } else n.AppendText("[/" + e.text + "]", 0 == r.length);
            }
          });
          r.length > 0;
        ) {
          let e = r.pop(),
            t = e.accumulator;
          t.AppendText("[" + e.node.text + "]", !1),
            n.GetElements().forEach((e) => t.AppendNode(e)),
            (n = t);
        }
        let u = n.GetElements();
        return u.length > 1
          ? a.createElement(a.Fragment, null, ...u)
          : 1 == u.length
            ? u[0]
            : null;
      }
    }
    class g {
      constructor() {
        (this.type = 0), (this.text = "");
      }
      ConvertMalformedNodeToText() {
        3 == this.type
          ? (this.text = "[/" + this.text)
          : 2 == this.type && (this.text = "[" + this.text),
          (this.type = 1);
      }
    }
  },
  D6PB: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return s;
    });
    n("AQa9");
    var a = n("vDqi"),
      r = n.n(a),
      i = n("y6Yv");
    function s(e) {
      if (r.a.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,
          };
      } 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.error(e),
            console.groupEnd();
        else {
          if ("object" == typeof e && e instanceof i.b)
            return {
              strErrorMsg: "" + e.GetEResult(),
              errorCode: e.GetEResult(),
            };
          console.error("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 };
    }
  },
  DAjO: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return _;
    }),
      n.d(t, "d", function () {
        return g;
      }),
      n.d(t, "a", function () {
        return S;
      }),
      n.d(t, "c", function () {
        return y;
      });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = n("wd/R"),
      s = n.n(i),
      o = n("s4NR"),
      l = n.n(o),
      c = n("q1tI"),
      d = n.n(c),
      u = n("Q8oI"),
      m = n("EVHR"),
      p = n("aaBf");
    n("hHds");
    class h {
      constructor() {
        (this.bOpenEventLandingPage = !1),
          (this.bIncludeFeaturedAsGameSource = !0),
          (this.nOverrideDateNow = void 0);
      }
      get bRequireAllEventsLoadedInTimeBlock() {
        return !1;
      }
      get bIsFollowingEnabled() {
        return p.c.EREALM != u.ESteamRealm.k_ESteamRealmChina;
      }
      get bIsCuratorsEnabled() {
        return p.c.EREALM != u.ESteamRealm.k_ESteamRealmChina;
      }
      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 = l.a.parse("?" == e[0] ? e.substring(1) : e);
        if (
          "string" == typeof t.t &&
          ("dev" == p.c.WEB_UNIVERSE || "beta" == p.c.WEB_UNIVERSE)
        ) {
          let e = /^\d+$/.test(t.t) ? s.a.unix(Number.parseInt(t.t)) : s()(t.t);
          (this.nOverrideDateNow = Math.floor(e.unix())),
            console.log(
              "CEventCalendarDevFeatures overriding partner event time: " +
                this.nOverrideDateNow +
                " " +
                e.format(),
            );
        }
      }
    }
    Object(a.b)([r.C], h.prototype, "nOverrideDateNow", void 0);
    const _ = new h();
    function g(e = 1) {
      const [t, n] = d.a.useState(() => v()),
        a = Object(m.a)("useTimeNowWithOverride"),
        r = d.a.useCallback(() => {
          a.token.reason || n(v());
        }, []);
      return (
        d.a.useEffect(() => {
          const t = 1e3 * e,
            n = t - (Date.now() % t),
            a = window.setTimeout(r, n);
          return () => {
            window.clearTimeout(a);
          };
        }, [t, e, r]),
        t
      );
    }
    window.g_EventCalendarDevFeatures = _;
    const b = new Date(),
      f = Math.floor(b.getTime() / 1e3);
    function v() {
      const e = Math.floor(Date.now() / 1e3);
      return _.nOverrideDateNow ? _.nOverrideDateNow + (e - f) : e;
    }
    function S() {
      var e;
      return null !== (e = _.nOverrideDateNow) && void 0 !== e ? e : f;
    }
    function y() {
      return d.a.useMemo(() => S(), []);
    }
  },
  DRUm: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a = n("mrSG"),
      r = n("VQwQ"),
      i = (n("JFuO"), n("EDis")),
      s = n("+h+B");
    const o = [
      "ActionDescription",
      "Backstack",
      "BrowserBackstack",
      "GroupMemberStore",
      "Chat",
      "ChatRoom",
      "ChatRoomGroup",
      "ChatHistory",
      "CompositionState",
      "AppOverviewImplObservable",
      "ReducedValue",
      "FocusNavigation",
      "FocusNavigationMovement",
      "GamepadEvents",
      "VirtualKeyboard",
      "UIStore/BasicUIStore",
      "SystemNetworkStore",
      "SteamClient",
      "AudioPlaybackManager",
      "LaunchStates",
      "Haptics",
      "ControllerConfigurator",
      "FriendsUI/RemotePlay",
    ];
    var l;
    !(function (e) {
      (e[(e.Debug = 0)] = "Debug"),
        (e[(e.Info = 1)] = "Info"),
        (e[(e.Warning = 2)] = "Warning"),
        (e[(e.Error = 3)] = "Error");
    })(l || (l = {}));
    class c {
      constructor(e, t) {
        (this.m_fnIdGenerator = null),
          (this.m_sName = e),
          (this.m_fnIdGenerator = t),
          d.Get().RegisterLogName(e);
      }
      Debug(...e) {
        this.Log(l.Debug, ...e);
      }
      Info(...e) {
        this.Log(l.Info, ...e);
      }
      Warning(...e) {
        this.Log(l.Warning, ...e);
      }
      Error(...e) {
        this.Log(l.Error, ...e);
      }
      Assert(e, ...t) {
        e || this.Log(l.Error, "Assertion failed:", ...t);
      }
      Log(e, ...t) {
        var n, a;
        if (e == l.Debug && !d.Get().IsDebugLogEnabled(this.m_sName)) return;
        let r = this.m_sName;
        const i =
          null !==
            (a =
              null === (n = this.m_fnIdGenerator) || void 0 === n
                ? void 0
                : n.call(this)) && void 0 !== a
            ? a
            : null;
        null != i && (r += " (" + i + ")");
        u(e, d.Get().IncludeBacktraceInLog, r, this.m_sName, ...t);
      }
    }
    Object(a.b)([r.a], c.prototype, "Debug", null),
      Object(a.b)([r.a], c.prototype, "Info", null),
      Object(a.b)([r.a], c.prototype, "Warning", null),
      Object(a.b)([r.a], c.prototype, "Error", null),
      Object(a.b)([r.a], c.prototype, "Assert", null);
    class d {
      constructor() {
        (this.m_Storage = null),
          (this.m_rgLogNames = null),
          (this.m_setEnabledDebugLogs = new Set()),
          (this.m_bIncludeBacktraceInLog = !1),
          (this.m_SettingsChangedCallback = new s.a()),
          (this.m_bLoading = !1),
          (this.m_Storage = new i.a()),
          (this.m_rgLogNames = o.slice()),
          this.LoadSettings();
      }
      LogAsLogManager(...e) {
        u(l.Info, this.IncludeBacktraceInLog, "LogManager", "LogManager", ...e);
      }
      LoadSettings() {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_bLoading = !0),
            (this.m_bIncludeBacktraceInLog = !!(yield this.m_Storage.GetObject(
              d.k_IncludeBacktraceInLog_StorageKey,
            )));
          const e = yield this.m_Storage.GetObject(
            d.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 Object(a.a)(this, void 0, void 0, function* () {
          yield this.m_Storage.StoreObject(
            d.k_EnabledLogNames_StorageKey,
            Array.from(this.m_setEnabledDebugLogs),
          ),
            yield this.m_Storage.StoreObject(
              d.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 == d.s_Singleton && (d.s_Singleton = new d()), d.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 Object(a.a)(this, void 0, void 0, function* () {
          this.SetDebugLogEnabled(e, !this.IsDebugLogEnabled(e));
        });
      }
      SetDebugLogEnabled(e, t) {
        return Object(a.a)(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 Object(a.a)(this, void 0, void 0, function* () {
          (this.m_setEnabledDebugLogs = new Set(e ? o : [])),
            this.m_SettingsChangedCallback.Dispatch(),
            yield this.SaveSettings();
        });
      }
      RegisterForSettingsChanges(e) {
        return this.m_SettingsChangedCallback.Register(e);
      }
      get IncludeBacktraceInLog() {
        return this.m_bIncludeBacktraceInLog;
      }
      SetIncludeBacktraceInLog(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_bIncludeBacktraceInLog = e),
            this.m_SettingsChangedCallback.Dispatch(),
            yield this.SaveSettings();
        });
      }
    }
    function u(e, t, n, a, ...r) {
      const i = (function (e) {
          let t = 0;
          for (let n = 0; n < e.length; n++)
            t = e.charCodeAt(n) + ((t << 5) - t);
          return [(t >> 0) & 255, (t >> 8) & 255, (t >> 16) & 255];
        })(a).map((e, t) =>
          Math.round(
            Math.max(0, Math.min(255, 255 * (0.8 * (e / 255 - 0.5) + 0.15))),
          ),
        ),
        s = (299 * (o = i)[0] + 587 * o[1] + 114 * o[2]) / 1e3 >= 128;
      var o;
      let c = n;
      t &&
        (c =
          (function (e) {
            switch (e) {
              case l.Debug:
                return String.fromCodePoint(128027);
              case l.Info:
                return String.fromCodePoint(8505);
              case l.Warning:
                return String.fromCodePoint(9888);
              case l.Error:
                return String.fromCodePoint(128165);
            }
          })(e) +
          " " +
          c);
      const d = r.length >= 1 && "string" == typeof r[0] && r[0].includes("%c"),
        u = d && r.shift(),
        m = [
          `%c${c}%c:${d ? " %c" + u : ""}`,
          `color: ${s ? "black" : "white"}; background: rgb(${i.join(",")}); padding: 0 1ch`,
          "color: transparent; margin-right: -1ch",
          ...(d ? [""] : []),
          ...r,
        ];
      if (t)
        console.groupCollapsed(...m),
          console.trace("Callstack"),
          console.groupEnd();
      else
        switch (e) {
          case l.Debug:
          case l.Info:
            console.log(...m);
            break;
          case l.Warning:
            console.warn(...m);
            break;
          case l.Error:
            console.error(...m);
        }
    }
    (d.k_EnabledLogNames_StorageKey = "EnabledWebLogs"),
      (d.k_IncludeBacktraceInLog_StorageKey = "IncludeBacktraceInLog"),
      (d.s_Singleton = null);
  },
  DSc5: function (e, t, n) {},
  DV2j: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return d.a;
    }),
      n.d(t, "e", function () {
        return u;
      }),
      n.d(t, "b", function () {
        return m;
      }),
      n.d(t, "i", function () {
        return p;
      }),
      n.d(t, "d", function () {
        return h;
      }),
      n.d(t, "g", function () {
        return _;
      }),
      n.d(t, "h", function () {
        return g;
      }),
      n.d(t, "f", function () {
        return b;
      }),
      n.d(t, "a", function () {
        return f;
      });
    var a = n("XUgT"),
      r = (n("hqYq"), n("fvA7")),
      i = n("IDaJ"),
      s = n("7DIv");
    class o {
      constructor(e) {
        this.m_root = e;
      }
      static SerializeNavState(e, t = !0, n = !0) {
        return {
          root: o.SerializeNavNode(e, t, n),
          bHadFocus: e.BFocusWithin(),
        };
      }
      static SerializeNavNode(e, t = !0, n = !0) {
        let a = null;
        const [r, i] = e.GetChildren();
        return (
          r.length &&
            -1 != i &&
            t &&
            (a = r.map((e, t) => o.SerializeNavNode(e, t == i || n, n))),
          { sNavKey: e.NavKey, iActiveChild: i, rgChildren: a }
        );
      }
      static RestoreSerializedNavState(e, t, n = 0) {
        const { root: a, bHadFocus: r } = t;
        e.Tree.Controller.RestoreHistoryTransaction(() => {
          o.RestoreSerializedNavNode(e, a),
            (1 == n || (0 == n && r)) && e.BTakeFocus(i.c.APPLICATION);
        });
      }
      static RestoreSerializedNavNode(e, t) {
        const { sNavKey: n, iActiveChild: a, rgChildren: i } = t;
        if (
          (n && Object(r.a)(n == e.NavKey, "navkey mismatch"),
          e.SetActiveChild(a),
          i && i.length)
        ) {
          const [t] = e.GetChildren();
          let n = new Map();
          t.forEach((e) => {
            e.NavKey && n.set(e.NavKey, e);
          });
          for (const e of i) {
            if (!e.sNavKey) continue;
            const t = n.get(e.sNavKey);
            t && o.RestoreSerializedNavNode(t, e);
          }
          if (-1 != a && i[a].sNavKey) {
            const r = n.get(i[a].sNavKey);
            r && e.SetActiveChild(t.indexOf(r));
          }
          let r = 0,
            s = 0;
          for (; r < t.length && s < i.length; ) {
            for (; r < t.length && t[r].NavKey; ) r++;
            for (; s < i.length && i[s].sNavKey; ) s++;
            if (r >= t.length || s >= i.length) break;
            o.RestoreSerializedNavNode(t[r], i[s]), r++, s++;
          }
        }
      }
    }
    class l extends o {
      constructor() {
        super(...arguments), (this.m_rgHistory = []);
      }
      PushState() {
        this.m_rgHistory.push(o.SerializeNavState(this.m_root));
      }
      PopState(e = 0) {
        this.m_rgHistory.length &&
          o.RestoreSerializedNavState(this.m_root, this.m_rgHistory.pop(), e);
      }
    }
    class c extends o {
      constructor() {
        super(...arguments), (this.m_mapHistory = new Map());
      }
      SaveState(e) {
        this.m_mapHistory.set(e, o.SerializeNavState(this.m_root));
      }
      RestoreState(e, t = 0) {
        const n = this.m_mapHistory.get(e);
        return (
          !!n &&
          (console.log(`Restoring history for state ${e}`),
          o.RestoreSerializedNavState(this.m_root, n, t),
          !0)
        );
      }
    }
    var d = n("x+8X");
    n("wWru");
    class u {
      constructor(e) {
        this.m_node = e;
      }
      TakeFocus(e) {
        return this.m_node.BTakeFocus(e ? i.c.GAMEPAD : i.c.APPLICATION, e);
      }
      ParentTakeFocus(e) {
        this.m_node.Parent.BTakeFocus(e ? i.c.GAMEPAD : i.c.APPLICATION, e);
      }
      ChildTakeFocus(e) {
        return this.m_node.BChildTakeFocus(
          e ? i.c.GAMEPAD : i.c.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 l(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 c(this.m_node)),
          this.m_StateHistory.SaveState(e);
      }
      RestoreState(e, t = 0) {
        return !!this.m_StateHistory && this.m_StateHistory.RestoreState(e, t);
      }
      NavTree() {
        return this.m_node.Tree;
      }
      Node() {
        return this.m_node;
      }
    }
    function m(e, t, n) {
      return "x" == e
        ? t.x + t.width > n.x && t.x < n.x + n.width
        : "y" == e
          ? t.y + t.height > n.y && t.y < n.y + n.height
          : (Object(r.a)(!1, `Invalid axis ${e}`), !1);
    }
    function p(e, t, n) {
      let a;
      return (
        "x" == e
          ? (a = Math.min(t.x + t.width, n.x + n.width) - Math.max(t.x, n.x))
          : "y" == e
            ? (a =
                Math.min(t.y + t.height, n.y + n.height) - Math.max(t.y, n.y))
            : (Object(r.a)(!1, `Invalid axis ${e}`), (a = 0)),
        a < 0 ? 0 : a
      );
    }
    function h(e, t, n) {
      const a = 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 Object(r.a)(!1, `Invalid axis ${e}`);
        })(e, n);
      return a < i.min ? i.min - a : a > i.max ? a - i.max : 0;
    }
    function _(e) {
      return { x: e.x, y: e.y };
    }
    const g = {
      OnBlur: () => {},
      OnFocus: () => {},
      OnFocusChange: () => {},
      OnForceMeasureFocusRing: () => {},
    };
    function b(e) {
      if (!e) return s.c.NONE;
      const t = e.ownerDocument.defaultView,
        n = t.getComputedStyle(e);
      if ("flex" == n.display)
        switch (n.flexDirection) {
          case "row":
            return "wrap" == n.flexWrap ? s.c.GRID : s.c.ROW;
          case "row-reverse":
            return s.c.ROW_REVERSE;
          case "column":
            return s.c.COLUMN;
          case "column-reverse":
            return s.c.COLUMN_REVERSE;
        }
      else {
        if ("grid" == n.display) return s.c.GRID;
        if (e.childElementCount > 0) {
          const n = t.getComputedStyle(e.firstElementChild);
          if ("left" === n.float) return s.c.ROW;
          if ("right" === n.float) return s.c.ROW_REVERSE;
          if ("inline" === n.display || "inline-block" === n.display)
            return s.c.GRID;
        }
      }
      return s.c.COLUMN;
    }
    function f(e) {
      switch (e) {
        case a.a.DIR_UP:
        case a.a.DIR_DOWN:
          return "y";
        case a.a.DIR_LEFT:
        case a.a.DIR_RIGHT:
          return "x";
        default:
          return;
      }
    }
  },
  Dr0G: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return l;
    }),
      n.d(t, "a", function () {
        return c;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("KT6v"),
      s = n("dAlf"),
      o = n("CqJL");
    class l extends r.Component {
      constructor(e) {
        super(e), (this.state = { index: 0 });
      }
      componentDidUpdate(e) {
        e.srcs.length != this.props.srcs.length && this.setState({ index: 0 });
      }
      OnError() {
        this.props.onImageError &&
          this.props.onImageError(this.props.srcs[this.state.index]),
          this.state.index + 1 < this.props.srcs.length &&
            this.setState({ index: this.state.index + 1 });
      }
      render() {
        const {
          className: e,
          srcs: t,
          lazyLoad: n,
          width: a,
          height: i,
          alt: s,
          crossOrigin: o,
        } = this.props;
        return r.createElement("img", {
          className: e,
          src: t[this.state.index],
          crossOrigin: o,
          onError: this.OnError,
          loading: n ? "lazy" : void 0,
          width: a,
          height: i,
          alt: s,
        });
      }
    }
    Object(a.b)([i.b], l.prototype, "OnError", null);
    class c extends r.Component {
      constructor() {
        super(...arguments), (this.state = { error: !1 });
      }
      OnError() {
        this.setState({ error: !0 });
      }
      render() {
        const {
          className: e,
          src: t,
          lazyLoad: n,
          width: a,
          height: i,
          alt: l,
          crossOrigin: c,
        } = this.props;
        return this.state.error
          ? r.createElement(
              "div",
              { className: s.ErrorDiv },
              r.createElement(
                "p",
                null,
                Object(o.f)("#Image_ErrorTitle", this.props.src),
              ),
              r.createElement(
                "ul",
                null,
                r.createElement("li", null, Object(o.f)("#Image_Error_msg1")),
                r.createElement("li", null, Object(o.f)("#Image_Error_msg2")),
                r.createElement("li", null, Object(o.f)("#Image_Error_msg3")),
              ),
              r.createElement(
                "p",
                null,
                Object(o.f)("#Image_Error_suggestion"),
              ),
            )
          : r.createElement("img", {
              className: e,
              src: t,
              onError: this.OnError,
              crossOrigin: c,
              loading: n ? "lazy" : void 0,
              width: a,
              height: i,
              alt: l,
            });
      }
    }
    Object(a.b)([i.b], c.prototype, "OnError", null);
  },
  DtIw: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return m;
    });
    var a = n("TyAF"),
      r = n("q1tI"),
      i = n.n(r),
      s = (n("Q8oI"), n("IiHI")),
      o = n("nJCB"),
      l = n("3wCP"),
      c = n("CqJL"),
      d = n("yd9a"),
      u = n.n(d);
    const m = Object(a.a)((e) => {
      const { appid: t, bIsMuted: n } = e,
        a = o.a.Get().BOwnsApp(t),
        r = Object(l.a)(
          u.a.CapsuleBottomBar,
          n && u.a.Muted,
          a ? u.a.PlayNowButton : u.a.AddToLibraryButton,
        );
      return i.a.createElement(
        "div",
        {
          onClick: (e) => {
            e.preventDefault(),
              a ? Object(s.a)(t) : o.a.Get().AddLicenseForFreeGame(t);
          },
          className: r,
        },
        Object(c.f)(a ? "#Sale_PlayNow" : "#Sale_AddToLibrary"),
      );
    });
  },
  DukG: function (e, t, n) {
    e.exports = {
      PricingGridCtn: "pricinggrid_PricingGridCtn_2j-z9",
      PricingGrid: "pricinggrid_PricingGrid_fKA16",
      PricingGridDataColumn: "pricinggrid_PricingGridDataColumn_OVDCt",
      CompactOption: "pricinggrid_CompactOption_1mXo4",
      CurrencyHeader: "pricinggrid_CurrencyHeader_1kvIF",
      CurrencyNameCtn: "pricinggrid_CurrencyNameCtn_1eoBY",
      CurrencyName: "pricinggrid_CurrencyName_3ffEW",
      CurrencyMore: "pricinggrid_CurrencyMore_MltPJ",
      PriceProposalState: "pricinggrid_PriceProposalState_3M90f",
      HoverToolTip: "pricinggrid_HoverToolTip_1OS2v",
      ProposalState: "pricinggrid_ProposalState_2YxpI",
      ProposalStateKey: "pricinggrid_ProposalStateKey_2KHIg",
      NoProposalsInFlight: "pricinggrid_NoProposalsInFlight_1qgwH",
      NeedsReview: "pricinggrid_NeedsReview_2n1FF",
      AutoPublish: "pricinggrid_AutoPublish_zbAUU",
      PartnerWillPublish: "pricinggrid_PartnerWillPublish_2Wb1y",
      ApprovedCanPublish: "pricinggrid_ApprovedCanPublish_2ejxC",
      PackageMore: "pricinggrid_PackageMore_2lozM",
    };
  },
  "E+pw": function (e, t, n) {
    e.exports = {
      TransitionGroup: "overlappingtransition_TransitionGroup_woWQ7",
      ContentWrapper: "overlappingtransition_ContentWrapper_221Xt",
    };
  },
  EDis: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    });
    var a = n("JFuO");
    class r extends a.a {
      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();
      }
    }
  },
  EGyX: function (e, t, n) {
    e.exports = {
      DetailedStats: "salestats_DetailedStats_z2xIG",
      DetailedStatsTopBar: "salestats_DetailedStatsTopBar_3YStR",
      DetailedStatsTimestamp: "salestats_DetailedStatsTimestamp_1RMEX",
      TopBarSection: "salestats_TopBarSection_3cLfE",
      TopBarSectionName: "salestats_TopBarSectionName_3kYTw",
      TopBarSubSections: "salestats_TopBarSubSections_3h_Md",
      TopBarSubSection: "salestats_TopBarSubSection_3i-Zj",
      SubSectionName: "salestats_SubSectionName_C227Q",
      SubSectionValue: "salestats_SubSectionValue_1zwRa",
      DetailedStatsSectionHeader: "salestats_DetailedStatsSectionHeader_2ViSj",
      SectionHeaderName: "salestats_SectionHeaderName_2mE1g",
      SectionHeaderDescription: "salestats_SectionHeaderDescription_38FIW",
      DetailedStatsRow: "salestats_DetailedStatsRow_2Ca6m",
      DetailedStatsRowHeader: "salestats_DetailedStatsRowHeader_3NUuy",
      DetailedStatShort: "salestats_DetailedStatShort_2cAR3",
      DetailedStatLong: "salestats_DetailedStatLong_1WWxK",
      DetailedStatsButton: "salestats_DetailedStatsButton_2F8AJ",
    };
  },
  EMU5: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return i;
    });
    n("AQa9");
    var a, r, i, s, o;
    !(function (e) {
      (e[(e.Unknown = 0)] = "Unknown"),
        (e[(e.Wired = 1)] = "Wired"),
        (e[(e.Wireless = 2)] = "Wireless"),
        (e[(e.Virtual = 3)] = "Virtual");
    })(a || (a = {})),
      (function (e) {
        (e[(e.NotPresent = 0)] = "NotPresent"),
          (e[(e.Failed = 1)] = "Failed"),
          (e[(e.Disconnected = 2)] = "Disconnected"),
          (e[(e.Disconnecting = 3)] = "Disconnecting"),
          (e[(e.Connecting = 4)] = "Connecting"),
          (e[(e.Connected = 5)] = "Connected"),
          (e[(e.Retrying = 6)] = "Retrying");
      })(r || (r = {})),
      (function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.Weak = 1)] = "Weak"),
          (e[(e.Ok = 2)] = "Ok"),
          (e[(e.Good = 3)] = "Good"),
          (e[(e.Excellent = 4)] = "Excellent");
      })(i || (i = {})),
      (function (e) {
        (e[(e.None = 0)] = "None"),
          (e[(e.StaticWep = 1)] = "StaticWep"),
          (e[(e.DynamicWep = 2)] = "DynamicWep"),
          (e[(e.Wpa = 4)] = "Wpa"),
          (e[(e.WpaEnterprise = 8)] = "WpaEnterprise"),
          (e[(e.Wpa2 = 16)] = "Wpa2"),
          (e[(e.Wpa2Enterprise = 32)] = "Wpa2Enterprise"),
          (e[(e.Unsupported = 32768)] = "Unsupported");
      })(s || (s = {})),
      (function (e) {
        (e[(e.k_EHTTPProxyMode_Invalid = 0)] = "k_EHTTPProxyMode_Invalid"),
          (e[(e.k_EHTTPProxyMode_None = 1)] = "k_EHTTPProxyMode_None"),
          (e[(e.k_EHTTPProxyMode_Manual = 2)] = "k_EHTTPProxyMode_Manual"),
          (e[(e.k_EHTTPProxyMode_Automatic = 3)] =
            "k_EHTTPProxyMode_Automatic");
      })(o || (o = {}));
  },
  ERCR: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return d;
    }),
      n.d(t, "a", function () {
        return u;
      }),
      n.d(t, "e", function () {
        return m;
      }),
      n.d(t, "d", function () {
        return p;
      }),
      n.d(t, "c", function () {
        return h;
      }),
      n.d(t, "f", function () {
        return _;
      }),
      n.d(t, "g", function () {
        return g;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("1NFT"),
      o = n("KT6v"),
      l = (n("IDaJ"), n("DV2j"), n("7DIv"), n("LkEf")),
      c = n("+GaU");
    n("uaeK");
    const d = i.a.forwardRef(function (e, t) {
      const {
          NavigationManager: n,
          onActivated: r,
          onDeactivated: d,
          navTreeRef: u,
          secondary: m,
          virtualFocus: p,
          navID: h,
          children: _,
          "flow-children": g,
          parentEmbeddedNavTree: b,
        } = e,
        f = Object(a.c)(e, [
          "NavigationManager",
          "onActivated",
          "onDeactivated",
          "navTreeRef",
          "secondary",
          "virtualFocus",
          "navID",
          "children",
          "flow-children",
          "parentEmbeddedNavTree",
        ]),
        { elemProps: v, navOptions: S, gamepadEvents: y } = Object(s.b)(f);
      let E = i.a.useRef(null);
      E.current || (E.current = n.NewGamepadNavigationTree(h));
      const C = E.current;
      i.a.useLayoutEffect(() => {
        const e = Object(l.a)(g);
        C.Root.SetProperties(
          Object.assign(Object.assign({}, S), { layout: e }),
        );
      });
      let w = i.a.useRef();
      C.SetUseVirtualFocus(p),
        C.SetParentEmbeddedNavTree(b),
        Object(o.e)(C.OnActivateCallbacks, r),
        Object(o.e)(C.OnDeactivateCallbacks, d),
        Object(c.b)(y, w, E.current),
        i.a.useLayoutEffect(
          () => C.RegisterNavigationItem(C.Root, w.current),
          [C, w],
        ),
        i.a.useLayoutEffect(
          () => n.RegisterGamepadNavigationTree(C, m),
          [n, m, C],
        ),
        i.a.useLayoutEffect(
          () => (Object(o.d)(u, C), () => Object(o.d)(u, null)),
          [u, C],
        );
      const B = Object(o.g)(w, t);
      return i.a.createElement(
        "div",
        Object.assign({}, v, { "data-react-nav-root": h, ref: B }),
        i.a.createElement(s.g.Provider, { value: C.Root }, _),
      );
    });
    function u() {
      return i.a.createRef();
    }
    const m = Object(s.e)("div"),
      p = Object(s.e)("button"),
      h = Object(s.e)("a"),
      _ = Object(s.f)("input");
    Object(s.f)("textarea"), Object(s.e)("img");
    function g(e, t, n = !1) {
      i.a.useEffect(() => {
        const a = e.current;
        a && (t ? a.Activate(n) : a.Deactivate());
      }, [t, n, e]);
    }
  },
  EVHR: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("vDqi"),
      r = n.n(a),
      i = n("q1tI"),
      s = n.n(i);
    function o(e) {
      const t = s.a.useRef(r.a.CancelToken.source());
      return (
        s.a.useEffect(() => {
          const n = t.current;
          return () => n.cancel(e ? `${e}: unmounting` : "unmounting");
        }, [e]),
        t.current
      );
    }
  },
  Ecu1: function (e, t, n) {
    e.exports = {
      SaleSection: "storywidget_SaleSection_2AEDV",
      BookmarkCtn: "storywidget_BookmarkCtn_3fvV2",
      BookmarkTriangle: "storywidget_BookmarkTriangle_2ABiV",
      BookmarkText: "storywidget_BookmarkText_3vZ2a",
      BookmarkFirstLine: "storywidget_BookmarkFirstLine_24Wnu",
      BookmarkSecondLine: "storywidget_BookmarkSecondLine_2T3GB",
      BookmarkIcon: "storywidget_BookmarkIcon_1ApuU",
      BookmarkBadgedIcon: "storywidget_BookmarkBadgedIcon_8aK4m",
      BookmarkBadge: "storywidget_BookmarkBadge_2zxzv",
      StoryDialog: "storywidget_StoryDialog_31-P_",
      StoryPage: "storywidget_StoryPage_1-7YE",
      Opening: "storywidget_Opening_21i2V",
      Open: "storywidget_Open_Dgz7i",
      PageTwo: "storywidget_PageTwo_2eleb",
      "flip-in-ver-left": "storywidget_flip-in-ver-left_20UoB",
      PageOne: "storywidget_PageOne_jm0Eu",
      OnPageTwo: "storywidget_OnPageTwo_PITj6",
      "flip-vertical-left-one": "storywidget_flip-vertical-left-one_uCHwe",
      "flip-vertical-left-two": "storywidget_flip-vertical-left-two_20f_q",
      StoryHeader: "storywidget_StoryHeader_1ay-_",
      PageNumber: "storywidget_PageNumber_y-ASq",
      Page: "storywidget_Page_1q_th",
      PageText: "storywidget_PageText_1Ccei",
      PageFooter: "storywidget_PageFooter_1K_Kx",
      OptionText: "storywidget_OptionText_10n9B",
      Disabled: "storywidget_Disabled_2orwp",
      NoticeBox: "storywidget_NoticeBox_1k-Up",
      OptionTextNotice: "storywidget_OptionTextNotice_1Unhw",
      ResultBadge: "storywidget_ResultBadge_QnhwA",
      BadgeImage: "storywidget_BadgeImage_1PVrh",
      BadgeText: "storywidget_BadgeText_mIgtc",
      BadgeTitle: "storywidget_BadgeTitle_vMhKM",
      BadgeFooter: "storywidget_BadgeFooter_24Cq8",
    };
  },
  EiFA: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return r;
      });
    var a, r, i;
    !(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_MAX = 12)] = "EBrowserType_MAX");
    })(a || (a = {})),
      (function (e) {
        (e[(e.SystemKey0 = 0)] = "SystemKey0"),
          (e[(e.SystemKey1 = 1)] = "SystemKey1");
      })(r || (r = {})),
      (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");
      })(i || (i = {}));
  },
  Eu8H: function (e, t, n) {
    "use strict";
    function a(...e) {}
    function r(e) {
      let t = Math.floor(e / 3600),
        n = Math.floor(e / 60) % 60,
        a = Math.floor(e) % 60,
        r = a.toString();
      a < 10 && (r = "0" + r);
      let i = n.toString();
      return (
        n < 10 && t > 0 && (i = "0" + i), (t > 0 ? t + ":" : "") + i + ":" + r
      );
    }
    function i() {
      let e = !1;
      try {
        e = MediaSource.isTypeSupported(
          'video/mp4;codecs="avc1.4d4032,mp4a.40.2"',
        );
      } catch (e) {}
      return e;
    }
    function s() {
      let e = document
        .createElement("video")
        .canPlayType(
          'application/vnd.apple.mpegurl;codecs="avc1.64001f,mp4a.40.02"',
        );
      return "probably" === e || "maybe" === e;
    }
    n.d(t, "c", function () {
      return a;
    }),
      n.d(t, "d", function () {
        return r;
      }),
      n.d(t, "a", function () {
        return i;
      }),
      n.d(t, "b", function () {
        return s;
      });
  },
  F8HR: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      ContentHubTitleCtn: "contenthubmaincarousel_ContentHubTitleCtn_16cIW",
      ContentHubTitle: "contenthubmaincarousel_ContentHubTitle_3Xj5I",
      ContentHubSubtitle: "contenthubmaincarousel_ContentHubSubtitle_t1mzq",
      AONotice: "contenthubmaincarousel_AONotice_6dj45",
      ContentHubPlaceholder:
        "contenthubmaincarousel_ContentHubPlaceholder_3hHXa",
      ContentHubLabsWidget: "contenthubmaincarousel_ContentHubLabsWidget_3HwW9",
      SteamLabsBannerCtn: "contenthubmaincarousel_SteamLabsBannerCtn_2x0nt",
      SteamLabsIdentifiers: "contenthubmaincarousel_SteamLabsIdentifiers_rfw_K",
      SteamLabsName: "contenthubmaincarousel_SteamLabsName_tVmOk",
      SteamLabsNumber: "contenthubmaincarousel_SteamLabsNumber_3g01U",
      SteamLabsButton: "contenthubmaincarousel_SteamLabsButton_2nCCS",
      ReducedMotionToggleCtn:
        "contenthubmaincarousel_ReducedMotionToggleCtn_1yGL7",
    };
  },
  "FBv+": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("KT6v"),
      s = n("XLxW");
    class o extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            bRenderChildren: !1,
            nPrevRenderWidth: 0,
            nPrevRenderHeight: 0,
          }),
          (this.m_refContainer = r.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 n = 0,
          a = 0;
        if (this.m_refContainer.current) {
          const e = this.m_refContainer.current.GetBoundingClientRect();
          e && ((n = e.width), (a = e.height));
        }
        this.setState({
          bRenderChildren: e,
          nPrevRenderWidth: n,
          nPrevRenderHeight: a,
        }),
          e && this.props.onRender && this.props.onRender();
      }
      render() {
        const e = this.props,
          {
            placeholderWidth: t,
            placeholderHeight: n,
            onRender: i,
            style: o,
            mode: l,
          } = e,
          c = Object(a.c)(e, [
            "placeholderWidth",
            "placeholderHeight",
            "onRender",
            "style",
            "mode",
          ]),
          d = this.state.bRenderChildren;
        let u = o;
        if (!d) {
          const e = this.state.nPrevRenderWidth || t,
            a = this.state.nPrevRenderHeight || n;
          (void 0 === a && void 0 === e) ||
            (u = Object.assign(Object.assign({}, o), {
              minHeight: a,
              minWidth: e,
            }));
        }
        const m = this.BLoadAndUnload() ? "repeated" : "once";
        return r.createElement(
          s.a,
          Object.assign({ ref: this.m_refContainer, style: u }, c, {
            onVisibilityChange: this.OnVisibilityChange,
            trigger: m,
          }),
          d && this.props.children,
        );
      }
    }
    Object(a.b)([i.b], o.prototype, "OnVisibilityChange", null);
  },
  FF71: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return g;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = (n("Q8oI"), n("1j+z")),
      s = (n("RYKw"), n("nJCB")),
      o = n("xSFm"),
      l = n("OJUs"),
      c = n("j7Vr"),
      d = n("3wCP"),
      u = n("CqJL"),
      m = n("aaBf"),
      p = n("dqrJ"),
      h = n("yd9a"),
      _ = n.n(h);
    function g(e) {
      var t;
      const { info: n, className: h } = e,
        g = Object(p.c)(),
        b = Object(a.useRef)({ include_release: !0 }),
        [f] = Object(l.a)(n.id, Object(o.j)(n.type), b.current);
      if (
        (Object(a.useEffect)(() => {
          s.a.Get().HintLoad();
        }, []),
        !f)
      )
        return null;
      const v = () => {
        Object(c.e)(window, "steam://run/" + f.GetAppIDToRun());
      };
      if (8 == f.GetAppType()) return null;
      const S =
        f.BIsFree() ||
        "0" == f.GetBestPurchasePriceFormatted() ||
        f.GetBestPurchaseOption().discount_pct >= 100;
      if (1 == f.GetStoreItemType() && S && f.GetIncludedAppIDs().length > 1)
        return null;
      if (0 == f.GetStoreItemType()) {
        if (
          f.BIsComingSoon() &&
          !(null === (t = f.GetBestPurchaseOption()) || void 0 === t
            ? void 0
            : t.packageid)
        )
          return null;
        const e = s.a.Get().BOwnsApp(f.GetAppID());
        if (e && 10 === f.GetAppType()) return null;
        if (e || S) {
          const t =
            (e && Object(u.f)("#EventDisplay_CallToAction_PlayNow")) ||
            Object(u.f)("#EventDisplay_CallToAction_PlayNowForFree");
          return r.a.createElement(
            "div",
            { className: Object(d.a)(_.a.Action, h), onClick: v },
            r.a.createElement("span", null, t),
          );
        }
        if ("" == f.GetBestPurchasePriceFormatted()) {
          const e = Object(i.b)(f.GetStorePageURL(), g);
          return r.a.createElement(
            "a",
            { href: e, className: Object(d.a)(_.a.Action, h) },
            Object(u.f)("#EventDisplay_CallToAction_VisitStore"),
          );
        }
      }
      return r.a.createElement(
        "div",
        {
          className: Object(d.a)(_.a.Action, h),
          onClick: (e) => {
            const t = `${m.c.STORE_BASE_URL}cart`,
              a = `${m.c.STORE_BASE_URL}cart/addtocart`,
              r = Object(i.c)(g);
            if (
              2 == f.GetStoreItemType() ||
              f.GetBestPurchaseOption().bundleid
            ) {
              const i =
                2 == f.GetStoreItemType()
                  ? n.id
                  : f.GetBestPurchaseOption().bundleid;
              s.a.Get().AddToCart(e, null, a, t, r, i);
            } else
              s.a
                .Get()
                .AddToCart(e, f.GetBestPurchaseOption().packageid, a, t, r);
          },
        },
        r.a.createElement("span", null, Object(u.f)("#Store_AddToCart")),
      );
    }
  },
  Fd40: function (e, t, n) {
    e.exports = {
      DashboardCtn: "optin_admin_dashboard_DashboardCtn_24Fut",
      OptInAdminRow: "optin_admin_dashboard_OptInAdminRow_39siH",
      StatsCtn: "optin_admin_dashboard_StatsCtn_3ZKx3",
      Button: "optin_admin_dashboard_Button_27cO9",
      ButtonCtn: "optin_admin_dashboard_ButtonCtn_2oOF5",
      StatRefresh: "optin_admin_dashboard_StatRefresh_2EDoV",
    };
  },
  Fgqg: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return s;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = (n("9yZi"), n("KT6v"));
    class s extends r.Component {
      constructor(e) {
        super(e), (this.state = {}), (this.state.lastErrorKey = e.errorKey);
      }
      static InstallErrorReportingStore(e) {
        this.sm_ErrorReportingStore = e;
      }
      componentDidCatch(e, t) {
        const n = s.sm_ErrorReportingStore;
        n
          ? n
              .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: n } = this.props,
          { error: a, identifierHash: i, lastErrorKey: c } = this.state;
        return a && n == c
          ? void 0 !== t
            ? "function" == typeof t
              ? t(a.error)
              : t
            : s.sm_ErrorReportingStore &&
                s.sm_ErrorReportingStore.reporting_enabled
              ? r.createElement(l, {
                  error: a,
                  identifierHash: i,
                  store: s.sm_ErrorReportingStore,
                  onRefresh: this.Reset,
                })
              : r.createElement(o, { error: a, onDismiss: this.Reset })
          : e;
      }
    }
    Object(a.b)([i.b], s.prototype, "Reset", null);
    const o = ({ error: e, onDismiss: t }) => {
        let n = e.error ? e.error.stack : "Stack missing",
          a = e.info ? e.info.componentStack : "",
          i = (e.error && e.error.message) || "unknown error";
        return r.createElement(
          c,
          null,
          r.createElement(d, null, 'Error: "', i, '"'),
          "   ",
          r.createElement(
            "span",
            {
              style: { textDecoration: "underline", cursor: "pointer" },
              onClick: t,
            },
            "(x) Dismiss",
          ),
          r.createElement("br", null),
          r.createElement(u, null, n),
          r.createElement(u, null, "The error occurred while rendering:", a),
        );
      },
      l = (e) => {
        const { error: t, onRefresh: n, identifierHash: a, store: i } = e,
          s = (t.error && t.error.message) || "unknown error",
          o = `${i.product}_${i.version}_${a}`;
        return r.createElement(
          c,
          null,
          r.createElement(
            d,
            null,
            "Something went wrong while displaying this content. ",
            r.createElement(
              "span",
              {
                style: { textDecoration: "underline", cursor: "pointer" },
                onClick: n,
              },
              "Refresh",
            ),
          ),
          r.createElement(u, null, "Error Reference: ", o),
          r.createElement(u, null, s),
        );
      },
      c = ({ children: e }) =>
        r.createElement(
          "div",
          {
            style: {
              overflow: "auto",
              marginLeft: "15px",
              color: "white",
              fontSize: "16px",
              userSelect: "auto",
            },
            className: "ErrorBoundary",
          },
          e,
        ),
      d = ({ children: e }) =>
        r.createElement(
          "h1",
          {
            style: {
              fontSize: "20px",
              display: "inline-block",
              marginTop: "15px",
              userSelect: "auto",
            },
          },
          e,
        ),
      u = ({ children: e }) =>
        r.createElement(
          "pre",
          { style: { marginTop: "15px", opacity: 0.7, userSelect: "auto" } },
          e,
        );
  },
  Fjr4: function (e, t, n) {
    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",
    };
  },
  FsoQ: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAc9JREFUeNrsmz1Lw1AUhnP8qB+Qkk0pItbVxcX/IM6Cky7iFH+Jk79BwclBB3+AszgUwdVNBxFaCw1E7fW9cAep5pa0NiT3vgdeLjRJm/Ocm/NRiCilAp9tKvDcCIAACIAAsiyEzqAepCqqnvEhzHJSLGVQX7jvSKDPoYO8ADS9BUcAJNBiXgCudUjCJEgABPDLZip2v12obwIXur4DdBK+MeVrHaqJSB2KzKqT2izUgLZd2wH30CF8bFnTusgnlhdUsjmXAFxBe3Au9TEJ3hXpfNkA9M22T4v80TIBuIbzDz73ARe+9wG31pqo1DSWGNqBlgcO16oO4A3b/3XIOafQ8b9PSCWZBh8BYMMSfd3wvEPzrk6DH0OON8Z0vvLDkHAaJAACIICJJJeCy+Aa1Pnj8y+Uwa6lDOpA1S3fewSdjJJIi26EOnC0nTtKInpQalsALfn+CDQJgAA8BYDnP8IS+bwDmuNcXHQVWDURG7QUmf7ZEmV9nysZh7dcGIdbALBpAaD7h6dJDFRshQmAAAiAAAiAAAiAAAiAAAiAAAiAAAjgpyUO+ZmMAuDSIQCZvtj+E4zNuhtU98WJxDgfZ50gfHOUSZAACIAAPLZvAQYAZ32YkpymkAcAAAAASUVORK5CYII=";
  },
  G0wi: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("AQa9"),
      o = n("Q8oI"),
      l = n("CqJL"),
      c = n("4uD3"),
      d = n("aaBf"),
      u = n("KT6v");
    class m {
      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 m.s_Singleton || (m.s_Singleton = new m()), m.s_Singleton;
      }
    }
    Object(a.b)([u.b], m.prototype, "BUserHasVolumePreference", null),
      Object(a.b)([u.b], m.prototype, "SetVolumePreference", null);
    const p = (e) => {
      const { video: t, bAutoPlay: n, bControls: a, bLoop: u, bMuted: p } = e,
        h = Object(r.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]),
        [_, g] = i.a.useState(!1);
      if (!t.rgVideoSources || !t.rgVideoSources.length) return null;
      const b = (e) => {
          const t = new URL(e);
          return (
            (t.search =
              (t.search ? t.search + "&" : "?") + "origin=" + Object(d.e)()),
            t.toString()
          );
        },
        f = t.rgVideoSources
          .filter((e) => Boolean(e.sURL))
          .map((e) =>
            i.a.createElement("source", {
              key: e.sURL,
              src: b(e.sURL),
              type: e.sFormat,
            }),
          ),
        v = t.rgVideoTracks
          ? t.rgVideoTracks.map((e) => {
              let n = e.eLanguage;
              if (d.c.EREALM === o.ESteamRealm.k_ESteamRealmChina)
                if (
                  l.b.IsELanguageValidInRealm(
                    n,
                    o.ESteamRealm.k_ESteamRealmChina,
                  )
                )
                  n = l.b.GetELanguageFallback(n);
                else {
                  if (6 !== n) return null;
                  if (
                    t.rgVideoTracks.find(
                      (e) => l.b.GetELanguageFallback(e.eLanguage) === n,
                    )
                  )
                    return null;
                }
              else if (
                !l.b.IsELanguageValidInRealm(
                  n,
                  o.ESteamRealm.k_ESteamRealmGlobal,
                )
              )
                return null;
              return i.a.createElement("track", {
                key: e.sURL + n,
                src: b(e.sURL),
                kind: e.sKind,
                default: e.bDefault,
                srcLang: Object(s.e)(n),
                label: Object(l.f)("#language_selection_" + Object(s.d)(n)),
              });
            })
          : null,
        S = (function (e) {
          return !(
            !Object(c.a)(e.sPoster) ||
            (e.rgVideoSources &&
              e.rgVideoSources.some((e) => !Object(c.a)(e.sURL))) ||
            (e.rgVideoTracks &&
              e.rgVideoTracks.some((e) => !Object(c.a)(e.sURL)))
          );
        })(t);
      let y;
      (!S || (h && "public" == d.c.WEB_UNIVERSE)) && (y = "anonymous");
      const E = p || (n && m.Get().BVolumePreferenceMuted()),
        C = t.sPoster ? b(t.sPoster) : "";
      return i.a.createElement(
        "video",
        {
          width: "100%",
          height: "auto",
          autoPlay: n,
          muted: E,
          playsInline: !0,
          controls: a,
          poster: C,
          loop: u,
          crossOrigin: y,
          onVolumeChange: (e) => {
            const t = e.target,
              n = t.muted ? 0 : t.volume;
            _ && m.Get().SetVolumePreference(n);
          },
          onPlay: (e) => {
            const t = e.target,
              a = 0 == t.currentTime,
              r = m.Get().BUserHasVolumePreference();
            if ((g(!0), a))
              if (r || n)
                r &&
                  ((t.volume = m.Get().GetVolumePreference()),
                  (t.muted = m.Get().BVolumePreferenceMuted()));
              else {
                const e = t.muted ? 0 : t.volume;
                m.Get().SetVolumePreference(e);
              }
          },
        },
        f,
        v,
      );
    };
  },
  "G6+X": function (e, t, n) {
    e.exports = {
      SelectedAppCtn: "invitesdashboard_SelectedAppCtn_1kLuQ",
      SelectedApp: "invitesdashboard_SelectedApp_3FFre",
      AppName: "invitesdashboard_AppName_1FeTr",
      InviteBtnCtn: "invitesdashboard_InviteBtnCtn_2iMIj",
      InvitedAppsCtn: "invitesdashboard_InvitedAppsCtn_3Fouw",
      InviteTitleCtn: "invitesdashboard_InviteTitleCtn_IO0gU",
      InvitedAppsRowScrollCtn: "invitesdashboard_InvitedAppsRowScrollCtn_uIqPl",
      InvitedAppsRow: "invitesdashboard_InvitedAppsRow_2GaU2",
      InvitedAppCtn: "invitesdashboard_InvitedAppCtn_14klK",
      InviteAdminButtons: "invitesdashboard_InviteAdminButtons_L4pIQ",
      InvitedAppInfo: "invitesdashboard_InvitedAppInfo_2h8se",
    };
  },
  GCjA: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return _;
    });
    var a = n("mrSG"),
      r = (n("hc+a"), n("2vnA")),
      i = (n("Q8oI"), n("oeZY"), n("OsUa"), n("aaBf")),
      s = n("hRO2"),
      o = n("gFJg");
    const l = s.Message;
    class c extends l {
      constructor(e = null) {
        super(), l.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new c();
      }
      static deserializeBinary(e) {
        let t = new s.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new s.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new s.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CClan_RespondToClanInvite_Response";
      }
    }
    class d extends l {
      constructor(e = null) {
        super(),
          d.prototype.matches || o.a(d.M()),
          l.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                matches: { n: 1, c: u, r: !0, q: !0 },
                num_total_results: {
                  n: 2,
                  br: o.d.readUint32,
                  bw: o.h.writeUint32,
                },
                next_cursor: { n: 3, br: o.d.readString, bw: o.h.writeString },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = o.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return o.g(d.M(), e, t);
      }
      static fromObject(e) {
        return o.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new s.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return o.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new s.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        o.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new s.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CClan_GetPartnerEventsByBuildIDRange_Response";
      }
    }
    class u extends l {
      constructor(e = null) {
        super(),
          u.prototype.appid || o.a(u.M()),
          l.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                appid: { n: 1, br: o.d.readUint32, bw: o.h.writeUint32 },
                build_id: { n: 2, br: o.d.readUint32, bw: o.h.writeUint32 },
                branch: { n: 3, br: o.d.readString, bw: o.h.writeString },
                clan_event_gid: {
                  n: 4,
                  br: o.d.readFixed64String,
                  bw: o.h.writeFixed64String,
                },
                clan_account_id: {
                  n: 5,
                  br: o.d.readUint32,
                  bw: o.h.writeUint32,
                },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = o.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return o.g(u.M(), e, t);
      }
      static fromObject(e) {
        return o.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new s.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return o.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new s.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        o.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new s.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CClan_GetPartnerEventsByBuildIDRange_Response_PatchNotesDesc";
      }
    }
    var m;
    !(function (e) {
      (e.RespondToClanInvite = function (e, t) {
        return e.SendMsg("Clan.RespondToClanInvite#1", t, c, { ePrivilege: 1 });
      }),
        (e.GetPartnerEventsByBuildIDRange = function (e, t) {
          return e.SendMsg("Clan.GetPartnerEventsByBuildIDRange#1", t, d, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        });
    })(m || (m = {}));
    var p = n("vDqi"),
      h = n.n(p);
    n("/loZ"), n("AQa9");
    class _ {
      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),
          (this.m_clanSteamID = e);
      }
      Initialize(e) {
        (this.m_strName = e.name || ""),
          (this.m_strAvatarURLFullSize =
            e.avatar_url_full_size ||
            "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/fe/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 i.c.STORE_BASE_URL + "publisher/" + this.m_strVanity + "/";
            case "franchise":
              return i.c.STORE_BASE_URL + "franchise/" + this.m_strVanity + "/";
          }
          return i.c.STORE_BASE_URL + "developer/" + this.m_strVanity + "/";
        }
        return (
          i.c.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 Object(a.a)(this, void 0, void 0, function* () {
          this.BIsPartnerEventEditorEnabled() ||
            (yield this.UpdateGroupFlagsFeature([2, 8], !0));
        });
      }
      UpdateGroupFlagsFeature(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = i.c.PARTNER_BASE_URL + "sales/ajaxupdateclanaccountflags",
            a = this.m_clanAccountFlags;
          if (
            (e.forEach((e) => {
              t ? (a |= e) : (a &= ~e);
            }),
            a == this.m_clanAccountFlags)
          )
            return;
          let r = new Array();
          1 & a && r.push(1),
            8 & a && r.push(8),
            2 & a && r.push(2),
            4 & a && r.push(4),
            16 & a && r.push(16),
            32 & a && r.push(32);
          let s = new FormData();
          s.append("sessionid", i.c.SESSIONID),
            s.append("clan_account_id", this.GetClanAccountID().toString()),
            s.append("accountflags", JSON.stringify(r));
          let o = yield h.a.post(n, s);
          o &&
            200 == o.status &&
            1 == o.data.success &&
            (this.m_clanAccountFlags = a);
        });
      }
    }
    Object(a.b)([r.C], _.prototype, "m_appidList", void 0),
      Object(a.b)([r.C], _.prototype, "m_nFollowers", void 0),
      Object(a.b)([r.C], _.prototype, "m_clanAccountFlags", void 0);
  },
  GGDl: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    });
    n("IDaJ");
    var a = n("1j+z"),
      r = (n("PEc5"), n("0Lok")),
      i = n("fvA7"),
      s = n("CqJL"),
      o = n("aaBf");
    function l(e, t, n, l) {
      if (!o.c.IN_GAMEPADUI) return;
      if (!Object(r.c)(e.GetStoreItemType()))
        return void Object(i.a)(
          !1,
          "StoreItemWidgetSalePageAction: unexpected type: " +
            e.GetStoreItemType(),
        );
      const c = Object(a.b)(`${e.GetStorePageURL()}${n ? `?${n}` : ""}`, t);
      return {
        onOKButton: () => {
          l ? l(void 0) : (window.location.href = c);
        },
        onOKActionDescription: Object(s.f)("#Sale_Gamepad_Action_Select"),
      };
    }
  },
  GGO3: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return m;
    }),
      n.d(t, "a", function () {
        return p;
      });
    var a = n("q1tI"),
      r = n("CqJL"),
      i = n("ERCR"),
      s = (n("5VAZ"), n("1j+z")),
      o = n("dqrJ"),
      l = n("4uD3"),
      c = n("aaBf"),
      d = n("/i1u"),
      u = n.n(d);
    const m = (e) => {
      const t = Object(o.c)(),
        n = Object(l.c)(e.url, c.c.STORE_BASE_URL);
      if (n) {
        const r = Object(s.b)(n, t);
        return a.createElement(
          i.c,
          {
            href: r,
            target: c.c.IN_CLIENT ? void 0 : "_blank",
            className: e.className,
            style: e.style,
          },
          e.children,
        );
      }
      return a.createElement(a.Fragment, null, e.children);
    };
    function p(e) {
      const { section: t } = e;
      return t.label_link && !t.label_link_style
        ? a.createElement(
            "div",
            { className: u.a.SaleViewAll },
            a.createElement(
              m,
              { url: t.label_link },
              Object(r.f)("#btn_live_streams_all"),
            ),
          )
        : null;
    }
  },
  GKCI: function (e, t, n) {
    e.exports = {
      EventDetails: "discountgridheaders_EventDetails_3LMXj",
      Active: "discountgridheaders_Active_2BLec",
      RestrictedEligibility: "discountgridheaders_RestrictedEligibility_2lxTi",
      CollisionFreeDiscountEvent:
        "discountgridheaders_CollisionFreeDiscountEvent_15fBc",
      EventName: "discountgridheaders_EventName_2bJFF",
      EditEventLink: "discountgridheaders_EditEventLink_1XHd3",
      EventDates: "discountgridheaders_EventDates_2kY09",
      EventDateRange: "discountgridheaders_EventDateRange_312ig",
      EventNumDays: "discountgridheaders_EventNumDays_OAAVW",
      EventLink: "discountgridheaders_EventLink_VZ3pV",
      EventParticipationCtn: "discountgridheaders_EventParticipationCtn_2iuUu",
      ParticipationDetails: "discountgridheaders_ParticipationDetails_2tr5X",
      Title: "discountgridheaders_Title_3mO71",
      Count: "discountgridheaders_Count_1pDZ1",
      Selected: "discountgridheaders_Selected_36G76",
      ParticipationToolTip: "discountgridheaders_ParticipationToolTip_36hxa",
      AppLink: "discountgridheaders_AppLink_3RF-6",
      DiscountGridDataColumn:
        "discountgridheaders_DiscountGridDataColumn_1yW70",
      RelatedDiscount: "discountgridheaders_RelatedDiscount_12zwK",
      BasePrice: "discountgridheaders_BasePrice_1a_Lw",
      GridRowLoadingThrobber:
        "discountgridheaders_GridRowLoadingThrobber_r2FLR",
      CurrencyPicker: "discountgridheaders_CurrencyPicker_2Z65K",
      RelatedInfoPicker: "discountgridheaders_RelatedInfoPicker_O-95g",
      RelatedInfoPickerCtn: "discountgridheaders_RelatedInfoPickerCtn_2nnB1",
      CurrencyDropDown: "discountgridheaders_CurrencyDropDown_2gGuz",
      RelatedInfoDropDown: "discountgridheaders_RelatedInfoDropDown_1jj2u",
      CurrencyDropDownItem: "discountgridheaders_CurrencyDropDownItem_3wPHx",
      RelatedInfoDropDownItem:
        "discountgridheaders_RelatedInfoDropDownItem_1ORam",
    };
  },
  GP6Z: function (e, t, n) {
    e.exports = {
      SectionTitle: "optin_app_review_SectionTitle_VM14U",
      Row: "optin_app_review_Row_2db7m",
      Pruned: "optin_app_review_Pruned_2-QYp",
      CapsuleImg: "optin_app_review_CapsuleImg_8kkOB",
      GameInfo: "optin_app_review_GameInfo_3FTQ3",
      Title: "optin_app_review_Title_1Y3gQ",
      Desc: "optin_app_review_Desc_1ICOQ",
      StoreTags: "optin_app_review_StoreTags_3eS-z",
      ActionsCtn: "optin_app_review_ActionsCtn_2jqGL",
      RowNumber: "optin_app_review_RowNumber_1HUph",
      FilterTagCnt: "optin_app_review_FilterTagCnt_-HWZK",
      TagFilterBar: "optin_app_review_TagFilterBar_sNv3-",
    };
  },
  GXrw: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      statusAndName: "personanameandstatus_statusAndName_tU62t",
      threeLines: "personanameandstatus_threeLines_2LLIQ",
      blocked: "personanameandstatus_blocked_3ZrgL",
      richPresenceLabel: "personanameandstatus_richPresenceLabel_3JW4b",
      playerName: "personanameandstatus_playerName_26Ivx",
      playerNickname: "personanameandstatus_playerNickname_1jHdU",
      playerNicknameBracket: "personanameandstatus_playerNicknameBracket_27gBt",
      richPresenceContainer: "personanameandstatus_richPresenceContainer_1MA86",
      gameName: "personanameandstatus_gameName_14jAW",
      NoMask: "personanameandstatus_NoMask_19UOT",
      twoLine: "personanameandstatus_twoLine_2QEKA",
      DNDContainer: "personanameandstatus_DNDContainer_2e_2a",
      partyBeaconJoin: "personanameandstatus_partyBeaconJoin_2jMzG",
      hidePersona: "personanameandstatus_hidePersona_3C6Zm",
      compactView: "personanameandstatus_compactView_7gBr-",
      noContextMenu: "personanameandstatus_noContextMenu_15T6l",
      gameIsPrivateIcon: "personanameandstatus_gameIsPrivateIcon_2pNLD",
      PendingPersona: "personanameandstatus_PendingPersona_2Dg0A",
    };
  },
  Gdzm: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return o;
    }),
      n.d(t, "a", function () {
        return c;
      }),
      n.d(t, "f", function () {
        return S;
      }),
      n.d(t, "c", function () {
        return E;
      }),
      n.d(t, "d", function () {
        return P;
      }),
      n.d(t, "e", function () {
        return L;
      }),
      n.d(t, "g", function () {
        return x;
      });
    var a = n("hRO2"),
      r = n("gFJg"),
      i = n("HgJB");
    const s = a.Message;
    class o extends s {
      constructor(e = null) {
        super(),
          o.prototype.appids || r.a(o.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                appids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: r.d.readInt32,
                  bw: r.h.writeRepeatedInt32,
                },
                language: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetApps_Request";
      }
    }
    class l extends s {
      constructor(e = null) {
        super(),
          l.prototype.apps || r.a(l.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: { apps: { n: 1, c: i.a, r: !0, q: !0 } },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetApps_Response";
      }
    }
    class c extends s {
      constructor(e = null) {
        super(),
          c.prototype.appid || r.a(c.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                appid: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                language: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetAppRichPresenceLocalization_Request";
      }
    }
    class d extends s {
      constructor(e = null) {
        super(),
          d.prototype.appid || r.a(d.M()),
          s.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                appid: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                token_lists: { n: 2, c: m, r: !0, q: !0 },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetAppRichPresenceLocalization_Response";
      }
    }
    class u extends s {
      constructor(e = null) {
        super(),
          u.prototype.name || r.a(u.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                name: { n: 1, br: r.d.readString, bw: r.h.writeString },
                value: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetAppRichPresenceLocalization_Response_Token";
      }
    }
    class m extends s {
      constructor(e = null) {
        super(),
          m.prototype.language || r.a(m.M()),
          s.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                language: { n: 1, br: r.d.readString, bw: r.h.writeString },
                tokens: { n: 2, c: u, r: !0, q: !0 },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetAppRichPresenceLocalization_Response_TokenList";
      }
    }
    class p extends s {
      constructor(e = null) {
        super(),
          p.prototype.gidcomment || r.a(p.M()),
          s.initialize(this, e, 0, -1, [12], null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                gidcomment: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                steamid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                timestamp: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                text: { n: 4, br: r.d.readString, bw: r.h.writeString },
                upvotes: { n: 5, br: r.d.readInt32, bw: r.h.writeInt32 },
                hidden: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
                hidden_by_user: { n: 7, br: r.d.readBool, bw: r.h.writeBool },
                deleted: { n: 8, br: r.d.readBool, bw: r.h.writeBool },
                ipaddress: { n: 9, c: i.c },
                total_hidden: { n: 10, br: r.d.readInt32, bw: r.h.writeInt32 },
                upvoted_by_user: { n: 11, br: r.d.readBool, bw: r.h.writeBool },
                reactions: { n: 12, c: h, r: !0, q: !0 },
                gidparentcomment: {
                  n: 13,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_Comment";
      }
    }
    class h extends s {
      constructor(e = null) {
        super(),
          h.prototype.reactionid || r.a(h.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                reactionid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                count: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_Comment_Reaction";
      }
    }
    class _ extends s {
      constructor(e = null) {
        super(),
          _.prototype.comments || r.a(_.M()),
          s.initialize(this, e, 0, -1, [1, 2, 9], null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                comments: { n: 1, c: p, r: !0, q: !0 },
                deleted_comments: { n: 2, c: p, r: !0, q: !0 },
                steamid: {
                  n: 3,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                commentthreadid: {
                  n: 4,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                start: { n: 5, br: r.d.readInt32, bw: r.h.writeInt32 },
                count: { n: 6, br: r.d.readInt32, bw: r.h.writeInt32 },
                total_count: { n: 7, br: r.d.readInt32, bw: r.h.writeInt32 },
                upvotes: { n: 8, br: r.d.readInt32, bw: r.h.writeInt32 },
                upvoters: {
                  n: 9,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                user_subscribed: { n: 10, br: r.d.readBool, bw: r.h.writeBool },
                user_upvoted: { n: 11, br: r.d.readBool, bw: r.h.writeBool },
                answer_commentid: {
                  n: 12,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                answer_actor: {
                  n: 13,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                answer_actor_rank: {
                  n: 14,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                can_post: { n: 15, br: r.d.readBool, bw: r.h.writeBool },
                comment_thread_type: {
                  n: 16,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                gidfeature: {
                  n: 17,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                gidfeature2: {
                  n: 18,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetCommentThread_Response";
      }
    }
    class g extends s {
      constructor(e = null) {
        super(),
          g.prototype.gidcomment || r.a(g.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          g.sm_m ||
            (g.sm_m = {
              proto: g,
              fields: {
                gidcomment: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                commentthreadid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                count: { n: 3, br: r.d.readInt32, bw: r.h.writeInt32 },
                upvotes: { n: 4, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          g.sm_m
        );
      }
      static MBF() {
        return g.sm_mbf || (g.sm_mbf = r.e(g.M())), g.sm_mbf;
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(g.M(), e, t);
      }
      static fromObject(e) {
        return r.c(g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(g.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_PostCommentToThread_Response";
      }
    }
    class b extends s {
      constructor(e = null) {
        super(), s.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return b.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new b();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new b();
        return b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_DeleteCommentFromThread_Response";
      }
    }
    class f extends s {
      constructor(e = null) {
        super(),
          f.prototype.gidcomment || r.a(f.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          f.sm_m ||
            (f.sm_m = {
              proto: f,
              fields: {
                gidcomment: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                commentthreadid: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                count: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                upvotes: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                has_upvoted: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          f.sm_m
        );
      }
      static MBF() {
        return f.sm_mbf || (f.sm_mbf = r.e(f.M())), f.sm_mbf;
      }
      toObject(e = !1) {
        return f.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(f.M(), e, t);
      }
      static fromObject(e) {
        return r.c(f.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new f();
        return f.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(f.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(f.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_RateCommentThread_Response";
      }
    }
    class v extends s {
      constructor(e = null) {
        super(),
          v.prototype.commentthreadid || r.a(v.M()),
          s.initialize(this, e, 0, -1, [5], null);
      }
      static M() {
        return (
          v.sm_m ||
            (v.sm_m = {
              proto: v,
              fields: {
                commentthreadid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                gidcomment: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                upvotes: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                has_upvoted: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                upvoter_accountids: {
                  n: 5,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          v.sm_m
        );
      }
      static MBF() {
        return v.sm_mbf || (v.sm_mbf = r.e(v.M())), v.sm_mbf;
      }
      toObject(e = !1) {
        return v.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(v.M(), e, t);
      }
      static fromObject(e) {
        return r.c(v.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new v();
        return v.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(v.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(v.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetCommentThreadRatings_Response";
      }
    }
    class S extends s {
      constructor(e = null) {
        super(),
          S.prototype.announcementid || r.a(S.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          S.sm_m ||
            (S.sm_m = {
              proto: S,
              fields: {
                announcementid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                vote_up: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                clan_accountid: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          S.sm_m
        );
      }
      static MBF() {
        return S.sm_mbf || (S.sm_mbf = r.e(S.M())), S.sm_mbf;
      }
      toObject(e = !1) {
        return S.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(S.M(), e, t);
      }
      static fromObject(e) {
        return r.c(S.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new S();
        return S.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(S.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(S.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_RateClanAnnouncement_Request";
      }
    }
    class y extends s {
      constructor(e = null) {
        super(), s.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 a.BinaryReader(e),
          n = new y();
        return y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_RateClanAnnouncement_Response";
      }
    }
    class E extends s {
      constructor(e = null) {
        super(),
          E.prototype.announcementid || r.a(E.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          E.sm_m ||
            (E.sm_m = {
              proto: E,
              fields: {
                announcementid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
              },
            }),
          E.sm_m
        );
      }
      static MBF() {
        return E.sm_mbf || (E.sm_mbf = r.e(E.M())), E.sm_mbf;
      }
      toObject(e = !1) {
        return E.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(E.M(), e, t);
      }
      static fromObject(e) {
        return r.c(E.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new E();
        return E.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(E.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(E.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetClanAnnouncementVoteForUser_Request";
      }
    }
    class C extends s {
      constructor(e = null) {
        super(),
          C.prototype.voted_up || r.a(C.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          C.sm_m ||
            (C.sm_m = {
              proto: C,
              fields: {
                voted_up: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                voted_down: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          C.sm_m
        );
      }
      static MBF() {
        return C.sm_mbf || (C.sm_mbf = r.e(C.M())), C.sm_mbf;
      }
      toObject(e = !1) {
        return C.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(C.M(), e, t);
      }
      static fromObject(e) {
        return r.c(C.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new C();
        return C.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(C.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(C.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetClanAnnouncementVoteForUser_Response";
      }
    }
    class w extends s {
      constructor(e = null) {
        super(),
          w.prototype.avatars || r.a(w.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          w.sm_m ||
            (w.sm_m = {
              proto: w,
              fields: { avatars: { n: 1, c: B, r: !0, q: !0 } },
            }),
          w.sm_m
        );
      }
      static MBF() {
        return w.sm_mbf || (w.sm_mbf = r.e(w.M())), w.sm_mbf;
      }
      toObject(e = !1) {
        return w.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(w.M(), e, t);
      }
      static fromObject(e) {
        return r.c(w.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new w();
        return w.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(w.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(w.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetAvatarHistory_Response";
      }
    }
    class B extends s {
      constructor(e = null) {
        super(),
          B.prototype.avatar_sha1 || r.a(B.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          B.sm_m ||
            (B.sm_m = {
              proto: B,
              fields: {
                avatar_sha1: { n: 1, br: r.d.readString, bw: r.h.writeString },
                user_uploaded: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                timestamp: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          B.sm_m
        );
      }
      static MBF() {
        return B.sm_mbf || (B.sm_mbf = r.e(B.M())), B.sm_mbf;
      }
      toObject(e = !1) {
        return B.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(B.M(), e, t);
      }
      static fromObject(e) {
        return r.c(B.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new B();
        return B.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(B.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(B.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetAvatarHistory_Response_AvatarData";
      }
    }
    class O extends s {
      constructor(e = null) {
        super(),
          O.prototype.results || r.a(O.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          O.sm_m ||
            (O.sm_m = {
              proto: O,
              fields: { results: { n: 1, c: i.b, r: !0, q: !0 } },
            }),
          O.sm_m
        );
      }
      static MBF() {
        return O.sm_mbf || (O.sm_mbf = r.e(O.M())), O.sm_mbf;
      }
      toObject(e = !1) {
        return O.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(O.M(), e, t);
      }
      static fromObject(e) {
        return r.c(O.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new O();
        return O.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(O.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(O.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetUserPartnerEventNews_Response";
      }
    }
    class D extends s {
      constructor(e = null) {
        super(),
          D.prototype.clanid || r.a(D.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          D.sm_m ||
            (D.sm_m = {
              proto: D,
              fields: {
                clanid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                event_gid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                announcement_gid: {
                  n: 3,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                appid: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                possible_takeover: {
                  n: 5,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                rtime32_last_modified: {
                  n: 6,
                  d: 0,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                user_app_priority: {
                  n: 7,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          D.sm_m
        );
      }
      static MBF() {
        return D.sm_mbf || (D.sm_mbf = r.e(D.M())), D.sm_mbf;
      }
      toObject(e = !1) {
        return D.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(D.M(), e, t);
      }
      static fromObject(e) {
        return r.c(D.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new D();
        return D.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(D.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(D.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_PartnerEventResult";
      }
    }
    class I extends s {
      constructor(e = null) {
        super(),
          I.prototype.results || r.a(I.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          I.sm_m ||
            (I.sm_m = {
              proto: I,
              fields: { results: { n: 1, c: D, r: !0, q: !0 } },
            }),
          I.sm_m
        );
      }
      static MBF() {
        return I.sm_mbf || (I.sm_mbf = r.e(I.M())), I.sm_mbf;
      }
      toObject(e = !1) {
        return I.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(I.M(), e, t);
      }
      static fromObject(e) {
        return r.c(I.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new I();
        return I.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(I.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(I.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetBestEventsForUser_Response";
      }
    }
    class T extends s {
      constructor(e = null) {
        super(), s.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return T.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new T();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new T();
        return T.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_ClearUserPartnerEventsAppPriorities_Response";
      }
    }
    class R extends s {
      constructor(e = null) {
        super(),
          R.prototype.appid || r.a(R.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          R.sm_m ||
            (R.sm_m = {
              proto: R,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                user_app_priority: {
                  n: 2,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          R.sm_m
        );
      }
      static MBF() {
        return R.sm_mbf || (R.sm_mbf = r.e(R.M())), R.sm_mbf;
      }
      toObject(e = !1) {
        return R.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(R.M(), e, t);
      }
      static fromObject(e) {
        return r.c(R.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new R();
        return R.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(R.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(R.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_PartnerEventsAppPriority";
      }
    }
    class j extends s {
      constructor(e = null) {
        super(),
          j.prototype.priorities || r.a(j.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          j.sm_m ||
            (j.sm_m = {
              proto: j,
              fields: { priorities: { n: 1, c: R, r: !0, q: !0 } },
            }),
          j.sm_m
        );
      }
      static MBF() {
        return j.sm_mbf || (j.sm_mbf = r.e(j.M())), j.sm_mbf;
      }
      toObject(e = !1) {
        return j.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(j.M(), e, t);
      }
      static fromObject(e) {
        return r.c(j.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new j();
        return j.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(j.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(j.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetUserPartnerEventsAppPriorities_Response";
      }
    }
    class A extends s {
      constructor(e = null) {
        super(), s.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return A.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new A();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new A();
        return A.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_ClearSinglePartnerEventsAppPriority_Response";
      }
    }
    class k extends s {
      constructor(e = null) {
        super(), s.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return k.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new k();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new k();
        return k.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_PartnerEventsShowMoreForApp_Response";
      }
    }
    class M extends s {
      constructor(e = null) {
        super(), s.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return M.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new M();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new M();
        return M.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_PartnerEventsShowLessForApp_Response";
      }
    }
    class P extends s {
      constructor(e = null) {
        super(),
          P.prototype.markings || r.a(P.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          P.sm_m ||
            (P.sm_m = {
              proto: P,
              fields: { markings: { n: 1, c: L, r: !0, q: !0 } },
            }),
          P.sm_m
        );
      }
      static MBF() {
        return P.sm_mbf || (P.sm_mbf = r.e(P.M())), P.sm_mbf;
      }
      toObject(e = !1) {
        return P.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(P.M(), e, t);
      }
      static fromObject(e) {
        return r.c(P.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new P();
        return P.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(P.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return P.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(P.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return P.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_MarkPartnerEventsForUser_Request";
      }
    }
    class L extends s {
      constructor(e = null) {
        super(),
          L.prototype.clanid || r.a(L.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          L.sm_m ||
            (L.sm_m = {
              proto: L,
              fields: {
                clanid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                event_gid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                display_location: { n: 3, br: r.d.readEnum, bw: r.h.writeEnum },
                mark_shown: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                mark_read: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          L.sm_m
        );
      }
      static MBF() {
        return L.sm_mbf || (L.sm_mbf = r.e(L.M())), L.sm_mbf;
      }
      toObject(e = !1) {
        return L.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(L.M(), e, t);
      }
      static fromObject(e) {
        return r.c(L.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new L();
        return L.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(L.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return L.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(L.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return L.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_MarkPartnerEventsForUser_Request_PartnerEventMarking";
      }
    }
    class G extends s {
      constructor(e = null) {
        super(), s.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return G.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new G();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new G();
        return G.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return G.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return G.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_MarkPartnerEventsForUser_Response";
      }
    }
    class N extends s {
      constructor(e = null) {
        super(),
          N.prototype.events || r.a(N.M()),
          s.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          N.sm_m ||
            (N.sm_m = {
              proto: N,
              fields: { events: { n: 1, c: F, r: !0, q: !0 } },
            }),
          N.sm_m
        );
      }
      static MBF() {
        return N.sm_mbf || (N.sm_mbf = r.e(N.M())), N.sm_mbf;
      }
      toObject(e = !1) {
        return N.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(N.M(), e, t);
      }
      static fromObject(e) {
        return r.c(N.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new N();
        return N.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(N.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return N.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(N.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return N.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetUserPartnerEventViewStatus_Response";
      }
    }
    class F extends s {
      constructor(e = null) {
        super(),
          F.prototype.event_gid || r.a(F.M()),
          s.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          F.sm_m ||
            (F.sm_m = {
              proto: F,
              fields: {
                event_gid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                last_shown_time: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                last_read_time: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                clan_account_id: {
                  n: 4,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          F.sm_m
        );
      }
      static MBF() {
        return F.sm_mbf || (F.sm_mbf = r.e(F.M())), F.sm_mbf;
      }
      toObject(e = !1) {
        return F.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(F.M(), e, t);
      }
      static fromObject(e) {
        return r.c(F.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new F();
        return F.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(F.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return F.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(F.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return F.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCommunity_GetUserPartnerEventViewStatus_Response_PartnerEvent";
      }
    }
    var x;
    !(function (e) {
      (e.GetApps = function (e, t) {
        return e.SendMsg("Community.GetApps#1", t, l, {
          bConstMethod: !0,
          ePrivilege: 2,
          eWebAPIKeyRequirement: 1,
        });
      }),
        (e.GetAppRichPresenceLocalization = function (e, t) {
          return e.SendMsg("Community.GetAppRichPresenceLocalization#1", t, d, {
            ePrivilege: 1,
          });
        }),
        (e.GetCommentThread = function (e, t) {
          return e.SendMsg("Community.GetCommentThread#1", t, _, {
            ePrivilege: 2,
          });
        }),
        (e.PostCommentToThread = function (e, t) {
          return e.SendMsg("Community.PostCommentToThread#1", t, g, {
            ePrivilege: 3,
          });
        }),
        (e.DeleteCommentFromThread = function (e, t) {
          return e.SendMsg("Community.DeleteCommentFromThread#1", t, b, {
            ePrivilege: 1,
          });
        }),
        (e.RateCommentThread = function (e, t) {
          return e.SendMsg("Community.RateCommentThread#1", t, f, {
            ePrivilege: 3,
          });
        }),
        (e.GetCommentThreadRatings = function (e, t) {
          return e.SendMsg("Community.GetCommentThreadRatings#1", t, v, {
            ePrivilege: 2,
          });
        }),
        (e.RateClanAnnouncement = function (e, t) {
          return e.SendMsg("Community.RateClanAnnouncement#1", t, y, {
            ePrivilege: 3,
          });
        }),
        (e.GetClanAnnouncementVoteForUser = function (e, t) {
          return e.SendMsg("Community.GetClanAnnouncementVoteForUser#1", t, C, {
            ePrivilege: 1,
          });
        }),
        (e.GetAvatarHistory = function (e, t) {
          return e.SendMsg("Community.GetAvatarHistory#1", t, w, {
            ePrivilege: 1,
          });
        }),
        (e.GetUserPartnerEventNews = function (e, t) {
          return e.SendMsg("Community.GetUserPartnerEventNews#1", t, O, {
            bConstMethod: !0,
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.GetBestEventsForUser = function (e, t) {
          return e.SendMsg("Community.GetBestEventsForUser#1", t, I, {
            bConstMethod: !0,
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.MarkPartnerEventsForUser = function (e, t) {
          return e.SendMsg("Community.MarkPartnerEventsForUser#1", t, G, {
            ePrivilege: 1,
          });
        }),
        (e.GetUserPartnerEventViewStatus = function (e, t) {
          return e.SendMsg("Community.GetUserPartnerEventViewStatus#1", t, N, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.PartnerEventsShowMoreForApp = function (e, t) {
          return e.SendMsg("Community.PartnerEventsShowMoreForApp#1", t, k, {
            ePrivilege: 1,
          });
        }),
        (e.PartnerEventsShowLessForApp = function (e, t) {
          return e.SendMsg("Community.PartnerEventsShowLessForApp#1", t, M, {
            ePrivilege: 1,
          });
        }),
        (e.ClearUserPartnerEventsAppPriorities = function (e, t) {
          return e.SendMsg(
            "Community.ClearUserPartnerEventsAppPriorities#1",
            t,
            T,
            { ePrivilege: 1 },
          );
        }),
        (e.GetUserPartnerEventsAppPriorities = function (e, t) {
          return e.SendMsg(
            "Community.GetUserPartnerEventsAppPriorities#1",
            t,
            j,
            { ePrivilege: 1 },
          );
        }),
        (e.ClearSinglePartnerEventsAppPriority = function (e, t) {
          return e.SendMsg(
            "Community.ClearSinglePartnerEventsAppPriority#1",
            t,
            A,
            { ePrivilege: 1 },
          );
        });
    })(x || (x = {}));
  },
  "Gfg/": function (e, t) {
    e.exports =
      "data:image/jpeg;base64, ";
  },
  GjDv: function (e, t, n) {
    e.exports = {
      Label: "importexportdialog_Label_hoiNW",
      ImportLocSampleButtonCtn:
        "importexportdialog_ImportLocSampleButtonCtn_1jIuy",
      SampleTitle: "importexportdialog_SampleTitle_QbGGG",
      ImportButton: "importexportdialog_ImportButton_pFtCL",
    };
  },
  "Gsw+": function (e, t, n) {
    e.exports = {
      BuildNoteCtn: "buildpatchnotes_BuildNoteCtn_cZP-5",
      SplitPanel: "buildpatchnotes_SplitPanel_2TINc",
      DescriptionPanel: "buildpatchnotes_DescriptionPanel_2N1TH",
      RightPanel: "buildpatchnotes_RightPanel_EN_Yg",
      BuildTitle: "buildpatchnotes_BuildTitle_-2I9C",
      BuildSubTitle: "buildpatchnotes_BuildSubTitle_2lG_b",
      InfoText: "buildpatchnotes_InfoText_3-WB4",
      EditTopBar: "buildpatchnotes_EditTopBar_bJHHP",
      LangPicker: "buildpatchnotes_LangPicker_1P7Ac",
      EditTitle: "buildpatchnotes_EditTitle_2o-fI",
      SubmitButtonCtn: "buildpatchnotes_SubmitButtonCtn_Vj8rX",
      BBCodeEditor: "buildpatchnotes_BBCodeEditor_2gIbt",
      ErrorMsg: "buildpatchnotes_ErrorMsg_2yUUH",
      SteamChinaMsg: "buildpatchnotes_SteamChinaMsg_3EFpC",
      PreviewHeader: "buildpatchnotes_PreviewHeader_3GODe",
      SubmitPanel: "buildpatchnotes_SubmitPanel_2WB1w",
      SubmitThrobber: "buildpatchnotes_SubmitThrobber_2rWSm",
      SuccessPanel: "buildpatchnotes_SuccessPanel_3jQwV",
      ViewEventButton: "buildpatchnotes_ViewEventButton_3zUBg",
      FailedPanel: "buildpatchnotes_FailedPanel_1H8CO",
      FailedText: "buildpatchnotes_FailedText_pu4VY",
      FailedButton: "buildpatchnotes_FailedButton_soZLp",
    };
  },
  GuJZ: function (e, t, n) {
    e.exports = {
      SectionLabelCtn: "salelabels_SectionLabelCtn_3pfor",
      SectionLabelRight: "salelabels_SectionLabelRight_1nlql",
      SectionLabelLinkButton: "salelabels_SectionLabelLinkButton_3gSfe",
    };
  },
  GwlT: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return g;
    }),
      n.d(t, "a", function () {
        return b;
      }),
      n.d(t, "b", function () {
        return f;
      });
    var a = n("q1tI"),
      r = n.n(a),
      i = n("8oMD"),
      s = n.n(i),
      o = n("lEFS"),
      l = n.n(o),
      c = (n("Q8oI"), n("Z7xW")),
      d = n("nJCB"),
      u = n("A5uu"),
      m = n("yd9a"),
      p = n.n(m),
      h = n("3wCP"),
      _ = n("CqJL");
    function g(e) {
      const { appids: t, hide_status_banners: n } = e,
        a = t.every((e) => d.a.Get().BOwnsApp(e)),
        i = t.every((e) => d.a.Get().BIsGameWishlisted(e)),
        o = t.some((e) => {
          const t = u.a.Get().GetApp(e);
          return t && b(e, null == t ? void 0 : t.GetParentAppID());
        }),
        c = a && !n,
        m = i && !n;
      return r.a.createElement(
        "div",
        { className: Object(h.a)(p.a.CapsuleDecorators, "CapsuleDecorators") },
        c &&
          r.a.createElement(
            "span",
            { className: Object(h.a)(p.a.Banner, p.a.Blue) },
            r.a.createElement("img", { src: s.a, className: p.a.LinesImg }),
            Object(_.f)("#Sale_InLibrary"),
          ),
        m &&
          r.a.createElement(
            "span",
            { className: p.a.Banner },
            r.a.createElement("img", { src: l.a, className: p.a.LinesImg }),
            Object(_.f)("#Sale_OnWishlist"),
          ),
        o && r.a.createElement(f, null),
      );
    }
    function b(e, t) {
      if (t || e) {
        const n = t || e;
        return n && c.a.Get().BIsAppStreaming(n);
      }
      return !1;
    }
    const f = () =>
      r.a.createElement(
        "div",
        { className: p.a.bordered_live_stream_icon },
        Object(_.f)("#home_page_live_broadcast"),
      );
  },
  HP60: function (e, t, n) {
    "use strict";
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("TyAF"),
      o = n("KT6v"),
      l = n("ERCR"),
      c = n("uaeK"),
      d = n("LlcT"),
      u = n("kQyc"),
      m = (n("l1Mn"), n("CqJL")),
      p = (n("Zj+z"), n("6wRw"), n("3wCP")),
      h = n("Q4I1"),
      _ = n.n(h),
      g = (n("gTmQ"), n("1gou"), n("wU9F"));
    const b = 1576780700;
    let f = class extends i.a.Component {
      OnEmoticonClick(e) {
        var t;
        const {
          emoticonStore: n,
          strFlairGroupID: a,
          SetUIDisplayPref: r,
          contextOptions: s,
          bShowChatAddons: o,
        } = this.props;
        let l = null;
        if (
          ((l = o
            ? i.a.createElement(u.a, {
                emoticonStore: this.props.emoticonStore,
                emoticonHoverStore: this.props.emoticonHoverStore,
                strFlairGroupID: this.props.strFlairGroupID,
                onEmoticonSelected: (e) => this.props.OnEmoticonSelected(e, !1),
                roomEffectSettings: this.props.roomEffectSettings,
                onRoomEffectSelected: this.props.onRoomEffectSelected,
                onStickerSelected: this.props.onStickerSelected,
              })
            : a &&
                n.flair_list &&
                (null === (t = n.GetFlairListByGroupID(a)) || void 0 === t
                  ? void 0
                  : t.length) > 0
              ? i.a.createElement(u.d, {
                  emoticonStore: this.props.emoticonStore,
                  emoticonHoverStore: this.props.emoticonHoverStore,
                  strFlairGroupID: this.props.strFlairGroupID,
                  OnSelected: this.props.OnEmoticonSelected,
                })
              : i.a.createElement(u.c, {
                  emoticonStore: this.props.emoticonStore,
                  emoticonHoverStore: this.props.emoticonHoverStore,
                  strFlairGroupID: this.props.strFlairGroupID,
                  OnSelected: this.props.OnEmoticonSelected,
                })),
          Object(d.a)(
            l,
            e,
            s || {
              bOverlapHorizontal: !0,
              bPreferPopLeft: !0,
              bPreferPopTop: !0,
            },
          ),
          this.BHaveUnseenEmoticons() && r)
        ) {
          let e = this.GetNewestIndicatorTime();
          (!e || e < b) && (e = b), r("rtLastAckedNewEmoticons", e);
        }
      }
      GetNewestIndicatorTime() {
        let e = this.props.emoticonStore,
          t = Number.MIN_SAFE_INTEGER,
          n = e.GetTimeReceivedNewestEmoticon();
        n && (t = n);
        let a = e.GetTimeReceivedForStickerOrEffect();
        return (t = Math.max(a, t)), t > Number.MIN_SAFE_INTEGER ? t : void 0;
      }
      BHaveUnseenEmoticons() {
        const { rtLastAckedNewEmoticons: e } = this.props;
        let t = this.GetNewestIndicatorTime();
        return !e || e < b || (t && (!e || e < t));
      }
      render() {
        const { disabled: e, className: t, ttip: n, useImg: a } = this.props;
        let r = [t],
          s = !1;
        return (
          e ? r.push("disabled") : this.BHaveUnseenEmoticons() && (s = !0),
          n && r.push("ttip"),
          a
            ? i.a.createElement(
                c.a,
                {
                  onClick: this.OnEmoticonClick,
                  onOKActionDescription: Object(m.f)(
                    "#ChatEntryButton_Emoticon",
                  ),
                  focusable: !0,
                },
                i.a.createElement("img", {
                  src: this.props.useImg,
                  className: Object(p.a)(...r),
                  title:
                    this.props.title ||
                    Object(m.f)("#ChatEntryButton_Emoticon"),
                  "data-tooltip-text": n,
                }),
              )
            : (r.push(_.a.chatSubmitButton, _.a.EmoticonPickerButton),
              i.a.createElement(
                l.d,
                {
                  className: Object(p.a)(...r),
                  onOKActionDescription: Object(m.f)(
                    "#ChatEntryButton_Emoticon",
                  ),
                  type: "button",
                  onClick: this.OnEmoticonClick,
                  title:
                    this.props.title ||
                    Object(m.f)("#ChatEntryButton_Emoticon"),
                  disabled: e,
                  "data-tooltip-text": n,
                },
                this.props.buttonIcon || i.a.createElement(g.a, null),
                s && i.a.createElement(u.e, null),
              ))
        );
      }
    };
    Object(a.b)([o.b], f.prototype, "OnEmoticonClick", null),
      (f = Object(a.b)([s.a], f)),
      (t.a = f);
  },
  HdPs: function (e, t, n) {
    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",
    };
  },
  HgJB: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return s;
    }),
      n.d(t, "d", function () {
        return o;
      }),
      n.d(t, "a", function () {
        return l;
      }),
      n.d(t, "b", function () {
        return d;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.v4 || r.a(s.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                v4: { n: 1, br: r.d.readFixed32, bw: r.h.writeFixed32 },
                v6: { n: 2, br: r.d.readBytes, bw: r.h.writeBytes },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMsgIPAddress";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.steamid || r.a(o.M()),
          i.initialize(this, e, 0, -1, [27], null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                client_sessionid: {
                  n: 2,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                routing_appid: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                jobid_source: {
                  n: 10,
                  d: "18446744073709551615",
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                jobid_target: {
                  n: 11,
                  d: "18446744073709551615",
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                target_job_name: {
                  n: 12,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                seq_num: { n: 24, br: r.d.readInt32, bw: r.h.writeInt32 },
                eresult: { n: 13, d: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                error_message: {
                  n: 14,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                ip: { n: 15, br: r.d.readUint32, bw: r.h.writeUint32 },
                ip_v6: { n: 29, br: r.d.readBytes, bw: r.h.writeBytes },
                auth_account_flags: {
                  n: 16,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                token_source: {
                  n: 22,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                admin_spoofing_user: {
                  n: 23,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                transport_error: {
                  n: 17,
                  d: 1,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                messageid: {
                  n: 18,
                  d: "18446744073709551615",
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                publisher_group_id: {
                  n: 19,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                sysid: { n: 20, br: r.d.readUint32, bw: r.h.writeUint32 },
                trace_tag: {
                  n: 21,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                webapi_key_id: {
                  n: 25,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                is_from_external_source: {
                  n: 26,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                forward_to_sysid: {
                  n: 27,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                cm_sysid: { n: 28, br: r.d.readUint32, bw: r.h.writeUint32 },
                launcher_type: {
                  n: 31,
                  d: 0,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                realm: { n: 32, d: 0, br: r.d.readUint32, bw: r.h.writeUint32 },
                timeout_ms: {
                  n: 33,
                  d: -1,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                debug_source: {
                  n: 34,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMsgProtoBufHeader";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.appid || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                name: { n: 2, br: r.d.readString, bw: r.h.writeString },
                icon: { n: 3, br: r.d.readString, bw: r.h.writeString },
                tool: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
                demo: { n: 7, br: r.d.readBool, bw: r.h.writeBool },
                media: { n: 8, br: r.d.readBool, bw: r.h.writeBool },
                community_visible_stats: {
                  n: 9,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                friendly_name: {
                  n: 10,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                propagation: { n: 11, br: r.d.readString, bw: r.h.writeString },
                has_adult_content: {
                  n: 12,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                is_visible_in_steam_china: {
                  n: 13,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                app_type: { n: 14, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCDDBAppDetailCommon";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.clanid || r.a(c.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                clanid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                event_gid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                announcement_gid: {
                  n: 3,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                rtime_start: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                rtime_end: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                priority_score: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                type: { n: 7, br: r.d.readUint32, bw: r.h.writeUint32 },
                clamp_range_slot: {
                  n: 8,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                appid: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                rtime32_last_modified: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CClanEventUserNewsTuple";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.rtime_before || r.a(d.M()),
          i.initialize(this, e, 0, -1, [4], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                rtime_before: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                rtime_after: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                qualified: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                events: { n: 4, c: c, r: !0, q: !0 },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CClanMatchEventByRange";
      }
    }
  },
  HidB: function (e, t, n) {
    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",
      ReminderOptionTooltip: "eventreminder_ReminderOptionTooltip_ccmSx",
      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",
    };
  },
  Hnqz: function (e, t, n) {
    "use strict";
  },
  Hpol: function (e, t, n) {
    e.exports = { Ctn: "loyaltyrewarditemembed_Ctn_2iceS" };
  },
  I6KZ: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      PersonaStatusIcon: "personastatusicons_PersonaStatusIcon_1WPl0",
      MobilePhoneIcon: "personastatusicons_MobilePhoneIcon_2aEFr",
    };
  },
  I8QC: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return v;
    }),
      n.d(t, "a", function () {
        return y;
      }),
      n.d(t, "b", function () {
        return C;
      }),
      n.d(t, "d", function () {
        return w;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("AQa9"),
      l = (n("Q8oI"), n("jYlc")),
      c = n("hc+a"),
      d = (n("Gdzm"), n("/loZ"), n("Mx8f")),
      u = n("fvA7"),
      m = n("+h+B"),
      p = n("hHds"),
      h = n("CqJL"),
      _ = n("D6PB"),
      g = n("VQwQ"),
      b = n("ZvQN"),
      f = n("aaBf");
    var v;
    function S(e, t, n, a = !1) {
      if (n)
        for (let r of n) {
          if (a ? Object(l.c)(e, t, r) : Object(l.b)(e, t, r)) return r;
        }
    }
    !(function (e) {
      (e.full = ""),
        (e.background_main = "_960x311"),
        (e.background_mini = "_480x156"),
        (e.capsule_main = "_400x225"),
        (e.spotlight_main = "_1054x230");
    })(v || (v = {}));
    class y {
      constructor() {
        (this.m_mapClanToImages = 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());
      }
      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);
      }
      static GetExtensionStringForFileType(e) {
        switch (e) {
          case 1:
            return ".jpg";
          case 2:
            return ".gif";
          case 3:
            return ".png";
        }
      }
      static GetExtensionString(e) {
        return y.GetExtensionStringForFileType(e.file_type) || ".jpg";
      }
      static GetExtensionTypeFromURL(e) {
        return e.endsWith(".jpg")
          ? 1
          : e.endsWith(".png")
            ? 3
            : e.endsWith(".gif")
              ? 2
              : void 0;
      }
      static GetHashAndExt(e) {
        return e.image_hash + y.GetExtensionString(e);
      }
      static GetThumbHashAndExt(e) {
        return e.thumbnail_hash + y.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, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = e.GetAccountID();
          if (
            (Object(u.a)(e && 0 != a, "ClanSteamID missing:" + e),
            e && (!this.m_mapClanToImages.has(a) || t))
          ) {
            let t = {},
              r = null;
            const o =
              f.c.COMMUNITY_BASE_URL +
              "/gid/" +
              e.ConvertTo64BitString() +
              "/getimages/";
            r = yield i.a.get(o, {
              params: t,
              withCredentials: !0,
              cancelToken: n ? n.token : null,
            });
            for (let e of r.data.images) e.clanAccountID = a;
            Object(s.G)(() => {
              this.m_mapClanImageLoadState.set(a, { loaded: !0 }),
                this.m_mapClanToImages.set(a, r.data.images);
            });
          }
          return this.m_mapClanToImages.get(a);
        });
      }
      GetLoadState(e) {
        return this.m_mapClanImageLoadState.get(e.GetAccountID());
      }
      GetClanImages(e) {
        let t = this.m_mapClanToImages.get(e.GetAccountID());
        return t || new Array();
      }
      GetFilteredClanImages(e, t) {
        let n = w.GetClanImages(e);
        if (t && t.trim().length > 0) {
          t = t.trim().toLowerCase();
          let e = new Array();
          for (let a of n)
            a.file_name &&
              a.file_name.toLowerCase().indexOf(t) >= 0 &&
              e.push(a);
          return e;
        }
        return n;
      }
      GetClanImageByID(e, t) {
        let n = e.GetAccountID(),
          a = this.m_mapClanToImages.get(n);
        return a ? a.find((e) => e.imageid == t) : null;
      }
      GetClanImageByURL(e, t) {
        let n = e.GetAccountID(),
          a = this.m_mapClanToImages.get(n);
        return a ? a.find((e) => e.thumb_url == t || e.url == t) : null;
      }
      GetClanImageByFile(e, t) {
        let n = e.GetAccountID(),
          a = this.m_mapClanToImages.get(n);
        return a ? a.find((e) => e.file_name == t.name) : null;
      }
      GetClanImageByImageHash(e, t) {
        let n = e.GetAccountID(),
          a = this.m_mapClanToImages.get(n);
        return a ? a.find((e) => e.image_hash == t) : null;
      }
      DeleteClanImageByID(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = { sessionid: f.c.SESSIONID, imageid: t },
            a = e.GetAccountID(),
            r = yield i.a.get(
              f.c.COMMUNITY_BASE_URL +
                "/gid/" +
                e.ConvertTo64BitString() +
                "/deleteimage/",
              { params: n },
            );
          if (!r || 200 != r.status || 1 != r.data.success) return r.data;
          let s = this.m_mapClanToImages.get(a),
            o = s.findIndex((e, n, a) => e.imageid == t);
          return o >= 0 && s.splice(o, 1), r.data;
        });
      }
      DeleteClanImage(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.DeleteClanImageByID(e, t.imageid);
        });
      }
      DetectLanguageFromURL(e, t) {
        let n = this.GetClanImageByURL(e, t);
        return n ? this.DetectLanguageFromFilename(n.file_name) : null;
      }
      DetectLangageFromClanImage(e) {
        return this.DetectLanguageFromFilename(e.file_name);
      }
      DetectLanguageFromFilename(e) {
        let t = e.lastIndexOf(".");
        -1 != t && (e = e.slice(0, t).toLowerCase());
        let n = null,
          a = 0;
        e.endsWith("korean") && ((n = 4), (a = "korean".length));
        for (let t = 0; t < 30; ++t) {
          const r = Object(o.d)(t);
          r.length <= a || (e.endsWith(r) && ((n = t), (a = r.length)));
        }
        return n;
      }
      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, n = v.full, a, r) {
        if (n != v.full || a) {
          let i = t.substring(t.lastIndexOf(".")),
            s = t.substring(0, t.length - i.length);
          return a && "localized_image_group" == r
            ? f.c.MEDIA_CDN_COMMUNITY_URL +
                "images/clans/" +
                e.GetAccountID() +
                "/" +
                s +
                "/" +
                Object(o.f)(Object(o.d)(a)) +
                i
            : f.c.MEDIA_CDN_COMMUNITY_URL +
                "images/clans/" +
                e.GetAccountID() +
                "/" +
                s +
                n +
                i;
        }
        return (
          f.c.MEDIA_CDN_COMMUNITY_URL +
          "images/clans/" +
          e.GetAccountID() +
          "/" +
          t
        );
      }
      static GenerateEditableArtworkURLFromHashAndExtension(e, t, n) {
        let a =
          f.c.COMMUNITY_BASE_URL +
          "gid/" +
          e.ConvertTo64BitString() +
          "/showclanimage/?image_hash_and_ext=" +
          t;
        return n && (a += "&lang=" + n), a;
      }
      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, n, r, i) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = t + y.GetExtensionString({ file_type: n }),
            s = y.GenerateEditableArtworkURLFromHashAndExtension(e, a);
          return yield this.AsyncGetImageResolutionInternal(s, r, i);
        });
      }
      AsyncGetImageResolutionInternal(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = { success: void 0 },
            r = new Image();
          (r.crossOrigin = "anonymous"),
            (r.onerror = (t) => {
              n ||
                ((a.err_msg =
                  "Load fail on url " +
                  e +
                  " with error: " +
                  Object(_.a)(t).strErrorMsg),
                console.error(a.err_msg)),
                (a.success = 2);
            }),
            (r.onload = () => {
              (a.width = r.width),
                (a.height = r.height),
                Object(u.a)(
                  a.width > 0 && a.height > 0,
                  "unexpected image resolution discovered for strURL: " + e,
                ),
                (a.success = 1);
            }),
            (r.src = e),
            t.token.promise.catch((e) => {
              (r.onload = () => {}), (a.success = 52);
            });
          let i = 0;
          for (; void 0 === a.success && i < 100; )
            yield Object(b.h)(100), (i += 1);
          return (
            i >= 100 &&
              ((a.success = 16),
              (a.err_msg = "We timed out processing images")),
            a
          );
        });
      }
      AsyncOverlay(e, t, n, r, i, s) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a,
            o,
            l = new Image();
          (l.crossOrigin = "anonymous"),
            (l.onerror = (e) => {
              (a =
                "Load fail on url " +
                n +
                " with error: " +
                Object(_.a)(e).strErrorMsg),
                console.error(a);
            }),
            (l.onload = () => {
              let e = new Image();
              (e.crossOrigin = "anonymous"),
                (e.onerror = (e) => {
                  (a =
                    "Load fail on url " +
                    t +
                    " with error: " +
                    Object(_.a)(e).strErrorMsg),
                    console.error(a);
                }),
                (e.onload = () => {
                  try {
                    let t = document.createElement("canvas"),
                      n = t.getContext("2d");
                    (t.width = i), (t.height = s), n.drawImage(e, 0, 0, i, s);
                    let a = (i - l.width) / 2,
                      r = (s - l.height) / 2;
                    n.drawImage(l, a, r),
                      t.toBlob((e) => (o = e), "image/jpeg");
                  } catch (e) {
                    a =
                      "Failed during image processing for " + r + " with " + e;
                  }
                }),
                (e.src = t);
            }),
            (l.src = n);
          let c = 0;
          for (; void 0 === o && c < 100; ) yield Object(b.h)(100), (c += 1);
          if (
            (c >= 100 &&
              void 0 === o &&
              (a = "AsyncOverlay - We timed out processing images"),
            a)
          )
            throw (console.log(a), { success: 2, err_msg: a });
          let d = new C(e),
            u = yield d.UploadFile(o, r);
          return u.image_hash + y.GetExtensionString(u);
        });
      }
      BDoesClanImageFileExistsOnCDNOrOrigin(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a =
              f.c.COMMUNITY_BASE_URL +
              "gid/" +
              t.ConvertTo64BitString() +
              "/hasclanimagefile",
            s = { image_hash_and_ext: n, lang: "" + r };
          return (
            1 ==
            (yield i.a.get(a, { params: s, 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 = Object(d.e)(
            this.m_curLocImageGroup.localized_images,
            30,
            null,
          )));
      }
      ClearImageGroup() {
        (this.m_curLocImageGroup = null), (this.m_curLocImageGroupType = null);
      }
      GetLocalizedImageGroupForEdit() {
        return this.m_curLocImageGroup;
      }
      GetLocalizedImageGroupForEditAsURL(e, t) {
        let n = this.m_curLocImageGroup.primaryImage;
        return this.m_curLocImageGroup.localized_images[t]
          ? this.m_curLocImageGroup.localized_images[t]
          : y.GenerateArtworkURLFromHashAndExtensions(e, y.GetHashAndExt(n));
      }
      GetLocalizedImageGroupForEditAsImgArray(e) {
        return this.GetAllLocalizedGroupImages();
      }
      DetermineAvailableLocalizationForGroup(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = this.m_curLocImageGroup.primaryImage,
            n = c.a.InitFromClanID(t.clanAccountID),
            a = y.GetHashAndExt(t),
            r = [];
          for (let t = 0; t < 30; ++t)
            r.push(this.BDoesClanImageFileExistsOnCDNOrOrigin(e, n, a, t));
          let i = yield Promise.all(r);
          Object(s.G)(() => {
            for (let e = 0; e < 30; ++e)
              i[e] &&
                (this.m_curLocImageGroup.localized_images[e] =
                  y.GenerateArtworkURLFromHashAndExtensions(
                    n,
                    a,
                    v.full,
                    e,
                    this.m_curLocImageGroupType,
                  ));
          });
        });
      }
      SetLocalizedImageGroupAtLang(e, t, n) {
        this.m_curLocImageGroup &&
          (this.m_curLocImageGroup.localized_images[e] = n
            ? y.GenerateArtworkURLFromHashAndExtensions(
                t,
                n,
                v.full,
                e,
                this.m_curLocImageGroupType,
              )
            : null);
      }
      AddLocalizeImageUploaded(e, t) {
        let n = this.m_curLocImageGroup.primaryImage;
        if (n.image_hash == e) {
          let e = c.a.InitFromClanID(n.clanAccountID),
            a = y.GetHashAndExt(n);
          this.m_curLocImageGroup.localized_images[t] =
            y.GenerateArtworkURLFromHashAndExtensions(
              e,
              a,
              v.full,
              t,
              this.m_curLocImageGroupType,
            );
        }
      }
      GetAllLocalizedGroupImages() {
        return (
          (this.m_curLocImageGroup &&
            this.m_curLocImageGroup.localized_images) ||
          []
        );
      }
    }
    Object(a.b)([s.C], y.prototype, "m_mapClanToImages", void 0),
      Object(a.b)([s.C], y.prototype, "m_mapClanImageLoadState", void 0),
      Object(a.b)([s.C], y.prototype, "m_curLocImageGroup", void 0);
    class E {
      constructor(e, t, n, a, r) {
        if (
          ((this.fileType = 0),
          (this.bCropped = !1),
          (this.file = e),
          (this.fileType = y.GetExtensionTypeFromURL(e.name)),
          (this.language = t),
          (this.uploadTime = Date.now()),
          (this.img = n),
          (this.localizedImageGroupPrimaryImage = r),
          a)
        ) {
          let e = S(n.width, n.height, a, !1);
          void 0 === e && (e = S(n.width, n.height, a, !0)),
            (this.type = e || a[0]);
        }
        (this.status = "pending"), this.ResetImage();
      }
      ResetImage() {
        (this.height = this.img.height),
          (this.width = this.img.width),
          (this.dataUrl = this.img.src);
      }
      static GetCropFormatDataURLType(e) {
        switch (e) {
          case 3:
            return "image/png";
          case 1:
            return "image/jpeg";
        }
      }
      CropImage(e, t, n, r, i, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return new Promise((a, l) => {
            const c = E.GetCropFormatDataURLType(o);
            if (!c) return void l("Invalid format provided");
            const d = document.createElement("canvas");
            (d.width = i), (d.height = s);
            d.getContext("2d").drawImage(this.img, e, t, n, r, 0, 0, i, s),
              d.toBlob((e) => {
                const t = d.toDataURL(c);
                3 !== o && t.startsWith("data:image/png")
                  ? l("Unable to encode into the requested file format")
                  : ((this.file = Object(p.f)(e, this.file.name)),
                    (this.width = i),
                    (this.height = s),
                    (this.dataUrl = t),
                    (this.uploadTime = Date.now()),
                    (this.bCropped = !0),
                    a());
              });
          });
        });
      }
      IsValidImage(e, t, n) {
        let a = 0,
          r = 0,
          i = !1,
          s = !e || 0 === e.length || e.includes(this.type);
        if (t) (a = t.width), (r = t.height), (i = !0);
        else {
          const e = l.a[this.type];
          e &&
            ((a = e.width), (r = e.height), (i = !e.bDisableEnforceDimensions));
        }
        const o = this.width >= a && this.height >= r,
          c = i ? this.width === a && this.height === r : o,
          d = n && n != this.fileType,
          u = Boolean(E.GetCropFormatDataURLType(this.fileType));
        let m = "",
          p = !1;
        return (
          s
            ? d
              ? (m = Object(h.f)(
                  "#ImageUpload_InvalidFormat",
                  y.GetExtensionStringForFileType(n),
                ))
              : c || u
                ? o
                  ? !c &&
                    u &&
                    ((m = Object(h.f)("#ImageUpload_InvalidDimensions", a, r)),
                    (p = !0))
                  : (m = Object(h.f)("#ImageUpload_TooSmall", a, r))
                : (m = Object(h.f)("#ImageUpload_InvalidResolution", a, r))
            : (m = Object(h.f)("#ImageUpload_InvalidFormatSelected")),
          { error: m, needsCrop: p }
        );
      }
      BIsOriginalMinimumDimensions(e) {
        return Object(l.c)(this.img.width, this.img.height, e);
      }
      GetResizeDimension() {
        return E.GetResizeDimension(this.type);
      }
      static GetResizeDimension(e) {
        return "background" === e
          ? [
              { width: 960, height: 311 },
              { width: 480, height: 156 },
            ]
          : "capsule" === e || "spotlight" === e
            ? [{ width: l.a[e].width / 2, height: l.a[e].height / 2 }]
            : void 0;
      }
    }
    Object(a.b)([s.C], E.prototype, "dataUrl", void 0),
      Object(a.b)([s.C], E.prototype, "width", void 0),
      Object(a.b)([s.C], E.prototype, "height", void 0),
      Object(a.b)([s.C], E.prototype, "type", void 0),
      Object(a.b)([s.C], E.prototype, "status", void 0),
      Object(a.b)([s.C], E.prototype, "message", void 0),
      Object(a.b)([s.C], E.prototype, "bCropped", void 0);
    class C {
      constructor(e) {
        (this.m_filesToUpload = []),
          (this.m_filesCompleted = []),
          (this.m_allCancelTokens = new Array()),
          (this.m_clanSteamID = e);
      }
      GetClanSteamID() {
        return this.m_clanSteamID;
      }
      AddImage(e, t = 0, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = w.DetectLanguageFromFilename(e.name) || t;
          return this.AddImageForLanguage(e, a, n, r);
        });
      }
      AddImageForLanguage(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = !1;
          return (
            yield new Promise((i) => {
              const s = new FileReader();
              (s.onload = () => {
                const o = new Image();
                (o.onload = () => {
                  const s = new E(e, t, o, n, r);
                  this.m_filesToUpload.push(s), (a = !0), i();
                }),
                  (o.onerror = (e) => {
                    console.error(
                      "CClanImageUploader failed to load the image, details",
                      e,
                    ),
                      (a = !1),
                      i();
                  }),
                  (o.src = s.result.toString());
              }),
                s.readAsDataURL(e);
            }),
            a
          );
        });
      }
      AddExistingClanImage(e, t = 0, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = y.GetHashAndExt(e),
            s = y.GenerateEditableArtworkURLFromHashAndExtension(
              this.m_clanSteamID,
              a,
            ),
            o = yield i()({ url: s, method: "GET", responseType: "blob" }),
            l = Object(p.f)(o.data, e.file_name);
          return yield this.AddImage(l, t, n, r);
        });
      }
      DeleteUploadImageByIndex(e) {
        this.m_filesToUpload.splice(e, 1);
      }
      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 = [];
      }
      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);
      }
      UploadAllFiles(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = {};
          for (let r of this.m_filesToUpload)
            if (!this.BIsFileCompleted(r.file)) {
              const i = r.IsValidImage(e, t, n);
              if (!i.error && !i.needsCrop) {
                r.status = "uploading";
                a[`${r.uploadTime}/${r.file.name}`] = this.UploadFile(
                  r.file,
                  r.file.name,
                  r.GetResizeDimension(),
                  r.localizedImageGroupPrimaryImage,
                  r.language,
                );
              }
            }
          return yield Object(m.d)(a);
        });
      }
      CancelAllUploads() {
        for (let e of this.m_allCancelTokens)
          e.cancel(Object(h.f)("#ImageUpload_CancelRequest"));
        this.m_allCancelTokens = new Array();
      }
      RetryAllFailedUploads() {
        this.CancelAllUploads(), this.UploadAllFiles();
      }
      handleUploadRefresh(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          yield w.LoadClanImages(this.m_clanSteamID, !0, e);
        });
      }
      UploadFile(e, t, n, r, s) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null,
            o = new FormData();
          o.append("clanimage", e, t),
            o.append("sessionid", f.c.SESSIONID),
            n &&
              n.length > 0 &&
              o.append(
                "resize",
                n.map((e) => e.width + "x" + e.height).join(","),
              );
          let l = "/uploadimage/";
          r &&
            ((l = "/ajaxuploadlocalizedimage/"),
            o.append("origimagehash", r.image_hash),
            o.append("thumbhash", r.thumbnail_hash),
            o.append("extension", "" + r.file_type),
            o.append("language", "" + s));
          const c = i.a.CancelToken.source();
          this.m_allCancelTokens.push(c);
          let d =
              f.c.COMMUNITY_BASE_URL +
              "/gid/" +
              this.m_clanSteamID.ConvertTo64BitString() +
              l,
            u = {
              cancelToken: c.token,
              withCredentials: !0,
              headers: { "Content-Type": "multipart/form-data" },
            };
          try {
            (a = yield i.a.post(d, o, u)), this.m_filesCompleted.push(e);
          } catch (t) {
            (this.m_lastError = {
              file: e,
              status: t.response ? t.response.status : 500,
              message: Object(_.a)(t).strErrorMsg,
            }),
              (a = t.response);
          }
          return r || (yield this.handleUploadRefresh(c)), a.data;
        });
      }
      static SendResizeRequest(e, t, n, r, s) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a =
              f.c.COMMUNITY_BASE_URL +
              "/gid/" +
              t.ConvertTo64BitString() +
              "/resizeimage/",
            o = new FormData();
          return (
            o.append("imagehash", n),
            o.append("extension", r),
            o.append(
              "resize",
              s.map((e) => e.width + "x" + e.height).join(","),
            ),
            o.append("sessionid", f.c.SESSIONID),
            (yield i.a.post(a, o, { cancelToken: e.token })).data.count
          );
        });
      }
    }
    Object(a.b)([s.C], C.prototype, "m_filesToUpload", void 0),
      Object(a.b)([s.C], C.prototype, "m_filesCompleted", void 0),
      Object(a.b)([s.C], C.prototype, "m_lastError", void 0),
      Object(a.b)([g.a], C.prototype, "AddImage", null),
      Object(a.b)([g.a], C.prototype, "AddExistingClanImage", null),
      Object(a.b)([g.a], C.prototype, "DeleteUploadImageByIndex", null),
      Object(a.b)([g.a], C.prototype, "DeleteUploadImage", null),
      Object(a.b)([g.a], C.prototype, "ClearImages", null);
    const w = new y();
  },
  "I90/": function (e, t, n) {
    e.exports = {
      SectionContainer: "salerowsection_SectionContainer_DPwXX",
      SaleSectionTitle: "salerowsection_SaleSectionTitle_jRz_c",
      SaleSectionResizeButton: "salerowsection_SaleSectionResizeButton_J8r3M",
      SaleSectionDesc: "salerowsection_SaleSectionDesc_3LwmL",
      TileContainer: "salerowsection_TileContainer_3miRj",
      EventNameCtn: "salerowsection_EventNameCtn_YXjI3",
      EventName: "salerowsection_EventName_1MeeJ",
      DatesCtn: "salerowsection_DatesCtn_1r5cs",
      EventDetailsCtn: "salerowsection_EventDetailsCtn_iajpg",
      CapsuleImg: "salerowsection_CapsuleImg_jrn9l",
      ClanInfoCtn: "salerowsection_ClanInfoCtn_3ZTR5",
      ClanInfoName: "salerowsection_ClanInfoName_QkmRb",
      HoverCtn: "salerowsection_HoverCtn_1euON",
      Avatar: "salerowsection_Avatar_1KgRK",
      TopStatsCtn: "salerowsection_TopStatsCtn_1mhrs",
      FeaturedApps: "salerowsection_FeaturedApps_OfWnM",
      EventStats: "salerowsection_EventStats_E5F7A",
      SaleDetails: "salerowsection_SaleDetails_1TNA2",
      BasicStatsCtn: "salerowsection_BasicStatsCtn_2pNPE",
      LinkCtn: "salerowsection_LinkCtn_y7fEJ",
      BrowseLink: "salerowsection_BrowseLink_3isng",
    };
  },
  IDaJ: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return a;
    }),
      n.d(t, "f", function () {
        return o;
      }),
      n.d(t, "g", function () {
        return l;
      }),
      n.d(t, "l", function () {
        return c;
      }),
      n.d(t, "h", function () {
        return d;
      }),
      n.d(t, "n", function () {
        return u;
      }),
      n.d(t, "m", function () {
        return m;
      }),
      n.d(t, "k", function () {
        return p;
      }),
      n.d(t, "i", function () {
        return h;
      }),
      n.d(t, "j", function () {
        return _;
      }),
      n.d(t, "e", function () {
        return g;
      }),
      n.d(t, "b", function () {
        return b;
      }),
      n.d(t, "d", function () {
        return f;
      }),
      n.d(t, "a", function () {
        return S;
      });
    var a,
      r = n("XUgT");
    !(function (e) {
      (e[(e.GAMEPAD = 0)] = "GAMEPAD"),
        (e[(e.KEYBOARD = 1)] = "KEYBOARD"),
        (e[(e.APPLICATION = 2)] = "APPLICATION"),
        (e[(e.BROWSER = 3)] = "BROWSER");
    })(a || (a = {}));
    let i = {
      [r.a.OK]: "vgp_onok",
      [r.a.CANCEL]: "vgp_oncancel",
      [r.a.SECONDARY]: "vgp_onsecondaryaction",
      [r.a.OPTIONS]: "vgp_onoptions",
      [r.a.START]: "vgp_onmenu",
    };
    function s(e, t, n) {
      return (
        e.addEventListener(t, n),
        () =>
          (function (e, t, n) {
            e.removeEventListener(t, n);
          })(e, t, n)
      );
    }
    function o(e, t) {
      return s(e, "vgp_onbuttondown", t);
    }
    function l(e, t) {
      return s(e, "vgp_onbuttonup", t);
    }
    function c(e, t) {
      return s(e, "vgp_onok", v(t));
    }
    function d(e, t) {
      return s(e, "vgp_oncancel", v(t));
    }
    function u(e, t) {
      return s(e, "vgp_onsecondaryaction", v(t));
    }
    function m(e, t) {
      return s(e, "vgp_onoptions", v(t));
    }
    function p(e, t) {
      return s(e, "vgp_onmenu", v(t));
    }
    function h(e, t) {
      return s(e, "vgp_ondirection", v(t));
    }
    function _(e, t) {
      return s(e, "vgp_onfocus", t);
    }
    function g(e, t) {
      return s(e, "vgp_onblur", t);
    }
    function b(e, t, n) {
      if (null === e) return !0;
      let a = new e.ownerDocument.defaultView.CustomEvent(t, {
        bubbles: !0,
        cancelable: !0,
        detail: n,
      });
      return e.dispatchEvent(a);
    }
    function f(e) {
      const t = [r.a.DIR_UP, r.a.DIR_DOWN, r.a.DIR_LEFT, r.a.DIR_RIGHT];
      let n = !0,
        a = !1,
        s = i[e.detail.button];
      return (
        s
          ? ((a = !0), (n = b(e.target, s, e.detail)))
          : -1 !== t.indexOf(e.detail.button) &&
            ((a = !0), (n = b(e.target, "vgp_ondirection", e.detail))),
        { bUnhandled: n, bHadLogicalEventMapping: a }
      );
    }
    function v(e) {
      return (t) => {
        !1 !== e(t) && (t.stopPropagation(), t.preventDefault());
      };
    }
    function S(e) {
      const {
          onOKActionDescription: t,
          onCancelActionDescription: n,
          onSecondaryActionDescription: a,
          onOptionsActionDescription: i,
          onMenuActionDescription: s,
          actionDescriptionMap: o,
        } = e,
        l = Object.assign({}, o);
      return (
        void 0 !== t && (l[r.a.OK] = t),
        void 0 !== n && (l[r.a.CANCEL] = n),
        void 0 !== a && (l[r.a.SECONDARY] = a),
        void 0 !== i && (l[r.a.OPTIONS] = i),
        void 0 !== s && (l[r.a.START] = s),
        l
      );
    }
  },
  IiHI: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return _;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = (n("Q8oI"), n("A5uu")),
      s = n("0CSJ"),
      o = n("bznR"),
      l = n("+d5k"),
      c = n("l1Mn"),
      d = n("3wCP"),
      u = n("CqJL"),
      m = n("aaBf"),
      p = n("JwC3"),
      h = n.n(p);
    function _(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        m.c.IN_CLIENT
          ? (console.log(`Running game ${e} locally.`),
            (window.location.href = "steam://run/" + e))
          : (console.log(
              `Cannot identify local client. Prompting user to launch ${e}.`,
            ),
            (function (e) {
              Object(a.a)(this, void 0, void 0, function* () {
                yield i.a.Get().QueueAppRequest(e, {});
                const t = i.a.Get().GetApp(e),
                  n = (null == t ? void 0 : t.GetName()) || "";
                console.log("prompting for", n);
                const a = m.c.STORE_BASE_URL + "about/";
                Object(l.b)(
                  r.createElement(g, {
                    appid: e,
                    strGameName: n,
                    strDownloadSteamUrl: a,
                  }),
                  window,
                );
              });
            })(e));
      });
    }
    const g = (e) => {
      const t = () => e.closeModal && e.closeModal();
      return r.createElement(
        o.i,
        { onEscKeypress: t, className: h.a.GotSteamDialog },
        r.createElement(
          s.g,
          null,
          r.createElement(s.y, null, " ", Object(u.f)("#GotSteam_Title"), " "),
          r.createElement(
            s.c,
            null,
            r.createElement(
              s.d,
              null,
              Object(u.o)(
                "#GotSteam_PromptWithDownloadLink",
                r.createElement(
                  "a",
                  {
                    href: e.strDownloadSteamUrl,
                    className: h.a.DownloadSteamUrl,
                  },
                  Object(u.f)("#GotSteam_DownloadLinkText"),
                ),
                r.createElement(
                  "span",
                  { className: h.a.GameName },
                  e.strGameName,
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: h.a.Buttons },
              r.createElement(
                "a",
                {
                  href: "steam://run/" + e.appid,
                  onClick: t,
                  className: Object(d.a)(h.a.Button, h.a.LeftButton),
                },
                r.createElement(
                  "div",
                  { className: h.a.AnswerText },
                  " ",
                  Object(u.f)("#GotSteam_Yes"),
                  " ",
                ),
                r.createElement(
                  "div",
                  { className: h.a.ActionText },
                  " ",
                  Object(u.f)("#GotSteam_Yes_Play"),
                  " ",
                ),
              ),
              r.createElement(
                "a",
                {
                  href: e.strDownloadSteamUrl,
                  onClick: t,
                  className: h.a.Button,
                },
                r.createElement(
                  "div",
                  { className: h.a.AnswerText },
                  " ",
                  Object(u.f)("#GotSteam_No"),
                  " ",
                ),
                r.createElement(
                  "div",
                  { className: h.a.ActionText },
                  " ",
                  Object(u.f)("#GotSteam_No_Download"),
                  " ",
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: h.a.Footer },
              r.createElement(c.jb, { className: h.a.Logo }),
              Object(u.f)("#GotSteam_Blurb"),
            ),
          ),
        ),
      );
    };
  },
  J2Me: function (e, t, n) {
    e.exports = {
      EventTileCarousel: "eventtilecarousel_EventTileCarousel_Q2o5R",
      HorizontalTiles: "eventtilecarousel_HorizontalTiles_1ardU",
      EventTileCarouselTitleContainer:
        "eventtilecarousel_EventTileCarouselTitleContainer_3k6g5",
      EventTileCarouselTextTitle:
        "eventtilecarousel_EventTileCarouselTextTitle_1VIQw",
      EventTileCarouselTitle: "eventtilecarousel_EventTileCarouselTitle_3Xili",
      EventTileCarouselFollow:
        "eventtilecarousel_EventTileCarouselFollow_2krs8",
    };
  },
  JFuO: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    });
    var a = n("mrSG");
    class r {
      GetObject(e) {
        return Object(a.a)(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 Object(a.a)(this, void 0, void 0, function* () {
          return this.StoreString(e, JSON.stringify(t));
        });
      }
    }
  },
  JWkP: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAA4CAYAAABJ7S5PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEJGOUM2QTBGNkY5MTFFOUJBQTg4OUJENjhFNUQyN0MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEJGOUM2OUZGNkY5MTFFOUJBQTg4OUJENjhFNUQyN0MiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkI2RThDNjdERjZGODExRTk5N0QwOTZDNjI3Q0M0MTRDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkI2RThDNjdFRjZGODExRTk5N0QwOTZDNjI3Q0M0MTRDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+XKq1FgAAAwJJREFUeNrsm4tRhDAQhoNjA7RAC7QQSzhLiCVgCVgClnBXAlcClAAlYAlnMm7OHeSRF4HEy8yOzp0w7Mfun90kJrfbjTwGIU8PBD/j2fYGSZJs/YwpN8Yt55bBTzmu3Fqwi8nN7xkhfrGxDYdwuhKPqGgdANO5d3r3Y8Y5ujMI4dCgAQFbM4oaPHIEt8KBMOVYBn/IdgJRGQLANiAYlFsJEYO/z9ZAFOgC5hmECwjY2bnvCqwRcyCa0UXME4iTQwhLVo3F8g8IUOipi9nGIFILTTCGAGlTTIGgS+G0IYjCA4QCdOGENGOQM4cOCGFnPOU4BLF1NHRzgjqXGlTxptQhCF/a8CfdlzSCatyohNwOIS0mIZiI5dIUxSxB1B4BDBCBRGX67AxzkB0cxGTFKf2e6j5NmhdZuw9InY82LtCcKbfhn5b1gJyaGoCSB9mG8zDpeWv9gctQw5EjCF+jlvkLvZ0WRHrfMVMk+ar0fFqx5P/TzJfijb1EtgjVKi/V8ZQ4caMAQ1z4CmH879YshdM1h9FxK+Gzd259BL72yhqhWVmGZkRZI/gH10gj/6qbGquiEqNQblFQhakPC3VEF5k+ZFoagcZ7ZGnRm6SGIHSJKEXUmsiVFeoq5rRYXI+IDEatGgiq23pFoE0YcwoCdaRFQDNKpyMNydpKtGjERo2X3BugBxfJNxXBVz4WsNMqs5do0BXLEBdpmHMQAUZFrZM/JmJ5DgDCoLuCbjprNCGuSzoFEQCMs83itekBsqNpRkMM92GtQKCzVuUBZpTBZhNJuaBaG3DOksLDyDORqaeiSW47tDYglAoqjcNkqeeZxSoSnKXGCATznCJOIDgDASlRE//ls7ONZWMQO3ehtWv90e01KDjfhFQs6YB4BuWnE2qfkmOcbWihpd52v2X05suDtdJsa8prh9KrHQslLwCUNQIVR7504UxGJ958glCqLLmGyOW53OHD9uT3ONGF7HQOQ/pvVGKDuGZoRiGoxJ7bie6RKe0+HR5EjOPxX34wvgUYAA3Q5FQ1OsEYAAAAAElFTkSuQmCC";
  },
  JfWo: function (e, t, n) {
    e.exports = {
      Results: "partnersiteappsearch_Results_3mK1P",
      ResultRow: "partnersiteappsearch_ResultRow_1QyQu",
      GameName: "partnersiteappsearch_GameName_353Qh",
      Label: "partnersiteappsearch_Label_3MUfh",
      AvatarImageCtn: "partnersiteappsearch_AvatarImageCtn_3h9l9",
      AvatarImage: "partnersiteappsearch_AvatarImage_PBBKP",
    };
  },
  JuuX: function (e, t, n) {
    "use strict";
    var a = n("hRO2");
    n("gFJg");
    a.Message;
  },
  JwC3: function (e, t, n) {
    e.exports = {
      GotSteamDialog: "gameactions_GotSteamDialog_2WQOE",
      DownloadSteamUrl: "gameactions_DownloadSteamUrl_3xLwV",
      GameName: "gameactions_GameName_1ZotM",
      Buttons: "gameactions_Buttons_9kzEB",
      Button: "gameactions_Button_2wUoW",
      LeftButton: "gameactions_LeftButton_2th1Y",
      AnswerText: "gameactions_AnswerText_1Z2Al",
      ActionText: "gameactions_ActionText_2Mewd",
      Footer: "gameactions_Footer_1nK6j",
      Logo: "gameactions_Logo_1bb0t",
    };
  },
  JzNE: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return _;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = (n("Q8oI"), n("IiHI")),
      s = (n("RYKw"), n("czhv")),
      o = n("xSFm"),
      l = n("OJUs"),
      c = n("2hyl"),
      d = n("3wCP"),
      u = n("CqJL"),
      m = n("FF71"),
      p = n("OZLa"),
      h = n.n(p);
    function _(e) {
      const { info: t, className: n } = e,
        p = Object(a.useRef)({ include_release: !0 }),
        [_] = Object(l.a)(
          null == t ? void 0 : t.id,
          Object(o.j)(null == t ? void 0 : t.type),
          p.current,
        ),
        g = Object(s.b)(null == t ? void 0 : t.id),
        b = !!(null == g ? void 0 : g.demo_appid),
        f = b
          ? Object(u.f)(
              "#Sale_InstallDemo_ttip",
              null == _ ? void 0 : _.GetName(),
            )
          : g
            ? Object(u.f)(
                "#Sale_CannotInstallDemo_ttip",
                null == _ ? void 0 : _.GetName(),
              )
            : Object(u.f)("#Loading");
      return !b && g && (null == _ ? void 0 : _.BIsFree())
        ? r.a.createElement(m.a, { info: t, className: n })
        : r.a.createElement(
            c.a,
            {
              toolTipContent: f,
              onClick: (e) => {
                e.preventDefault(),
                  e.stopPropagation(),
                  b && Object(i.a)(g.demo_appid);
              },
              className: Object(d.a)(
                n,
                h.a.DemoButton,
                !b && h.a.DisabledButton,
              ),
            },
            b
              ? Object(u.f)("#Sale_InstallDemo")
              : Object(u.f)("#Sale_DemoNotFound"),
          );
    }
  },
  KQV1: function (e, t, n) {
    e.exports = { DialogCtn: "invitesdialog_DialogCtn_3sIyQ" };
  },
  KT6v: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return r;
    }),
      n.d(t, "f", function () {
        return i;
      }),
      n.d(t, "e", function () {
        return s;
      }),
      n.d(t, "k", function () {
        return o;
      }),
      n.d(t, "d", function () {
        return l;
      }),
      n.d(t, "g", function () {
        return c;
      }),
      n.d(t, "a", function () {
        return d;
      }),
      n.d(t, "i", function () {
        return u;
      }),
      n.d(t, "h", function () {
        return m;
      }),
      n.d(t, "j", function () {
        return _;
      }),
      n.d(t, "b", function () {
        return g.a;
      });
    var a = n("q1tI");
    n("+h+B");
    function r(e, t, n) {
      return [e, t, n];
    }
    function i() {
      const [, e] = a.useState(0);
      return a.useCallback(() => e((e) => e + 1), []);
    }
    function s(e, t) {
      a.useLayoutEffect(() => {
        if (!t || !e) return;
        let n = e.Register(t);
        return () => n.Unregister();
      }, [e, t]);
    }
    function o(e) {
      const [t, n] = a.useState(null == e ? void 0 : e.Value);
      return (
        a.useEffect(() => {
          if (null == e) return () => {};
          const a = e.Subscribe(n);
          return (
            t !== e.Value && n(e.Value), null == a ? void 0 : a.Unsubscribe
          );
        }, [e]),
        t
      );
    }
    function l(e, t) {
      null != e &&
        ("function" == typeof e ? e(t) : "current" in e && (e.current = t));
    }
    function c(...e) {
      return a.useCallback((t) => {
        for (const n of e) l(n, t);
      }, e);
    }
    function d(...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 u(e, t) {
      const n = a.useRef();
      return a.useCallback((t) => {
        n.current && n.current(), (n.current = e(t));
      }, t);
    }
    function m(e) {
      const t = a.useRef(null);
      return { refWithValue: t, refForElement: c(e, t) };
    }
    var p = n("fvA7");
    function h(e, t) {
      return u(
        (n) => {
          if (!n) return;
          const a = t((t) => {
            e(t[0]);
          });
          return a.observe(n), () => a.unobserve(n);
        },
        [e, t],
      );
    }
    function _(e) {
      return h(
        e,
        a.useCallback(
          (e) =>
            "undefined" != typeof ResizeObserver
              ? new ResizeObserver(e)
              : (Object(p.a)(!1, "ResizeObserver is not available"),
                {
                  observe: () => {},
                  unobserve: () => {},
                  disconnect: () => {},
                }),
          [],
        ),
      );
    }
    var g = n("VQwQ");
  },
  KeX3: function (e, t, n) {
    e.exports = { SearchResults: "search_curator_SearchResults_3TC6C" };
  },
  Kjhy: function (e, t, n) {
    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",
      AppSummaryWidgetCtn: "eventbbcodeparser_AppSummaryWidgetCtn_1q-L5",
      LoyaltyRewardCtn: "eventbbcodeparser_LoyaltyRewardCtn_1-myD",
      SaleSectionCtn: "eventbbcodeparser_SaleSectionCtn_3gzGa",
      ReminderCtn: "eventbbcodeparser_ReminderCtn_1bSdg",
      BlockQuote: "eventbbcodeparser_BlockQuote_3EN2v",
      SocialLink: "eventbbcodeparser_SocialLink_2A_sW",
      SocialIcon: "eventbbcodeparser_SocialIcon_3zUWn",
      LocalizeBlock: "eventbbcodeparser_LocalizeBlock_1Bebk",
    };
  },
  KrJD: function (e) {
    e.exports = JSON.parse(
      '{"store.steampowered.com":1,"steamtv":2200,"steamclient":5000,"library":5100,"friendsui":5200,"friendcontextmenu":5201,"topsellers":7000,"steamcharts":7001,"weeklytopsellers":7002,"topchartlist":7003,"overview":7004,"mostplayed":7005,"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,"spotlight":40,"daily-deal":43,"promo-takeover":118,"live-broadcast":143,"large-cluster":201}',
    );
  },
  "L/yF": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return s;
    }),
      n.d(t, "c", function () {
        return c;
      }),
      n.d(t, "b", function () {
        return u;
      }),
      n.d(t, "d", function () {
        return _;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.gid || r.a(s.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                gid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                title: { n: 2, br: r.d.readString, bw: r.h.writeString },
                type: { n: 3, br: r.d.readEnum, bw: r.h.writeEnum },
                visibility: { n: 4, br: r.d.readEnum, bw: r.h.writeEnum },
                priority: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                association_type: { n: 6, br: r.d.readEnum, bw: r.h.writeEnum },
                associated_id: {
                  n: 7,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                associated_name: {
                  n: 8,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                start_date: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                end_date: { n: 10, br: r.d.readUint32, bw: r.h.writeUint32 },
                country_allow: {
                  n: 11,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                country_deny: {
                  n: 12,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                ownership_restrictions_overridden: {
                  n: 13,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                must_own_appid: {
                  n: 14,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                must_not_own_appid: {
                  n: 15,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                must_own_packageid: {
                  n: 16,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                must_not_own_packageid: {
                  n: 17,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                must_have_launched_appid: {
                  n: 18,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                additional_restrictions: {
                  n: 19,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                template_type: {
                  n: 20,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                template_vars: {
                  n: 21,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                flags: { n: 22, br: r.d.readUint32, bw: r.h.writeUint32 },
                creator_name: {
                  n: 23,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessageProto";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.messages || r.a(o.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                messages: { n: 1, c: s, r: !0, q: !0 },
                time_next_message_age: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_GetActiveMarketingMessages_Response";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.message || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = { proto: l, fields: { message: { n: 1, c: s } } }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_GetMarketingMessage_Response";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.lookup_type || r.a(c.M()),
          i.initialize(this, e, 0, -1, [4], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                lookup_type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                gid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                message_type: { n: 3, br: r.d.readEnum, bw: r.h.writeEnum },
                gidlist: {
                  n: 4,
                  r: !0,
                  q: !0,
                  br: r.d.readFixed64String,
                  bw: r.h.writeRepeatedFixed64String,
                },
                title: { n: 5, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_FindMarketingMessages_Request";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.messages || r.a(d.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: { messages: { n: 1, c: s, r: !0, q: !0 } },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_FindMarketingMessages_Response";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.message || r.a(u.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = { proto: u, fields: { message: { n: 1, c: s } } }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_CreateMarketingMessage_Request";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(),
          m.prototype.gid || r.a(m.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                gid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_CreateMarketingMessage_Response";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_UpdateMarketingMessage_Response";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CMarketingMessages_DeleteMarketingMessage_Response";
      }
    }
    var _;
    !(function (e) {
      (e.GetActiveMarketingMessages = function (e, t) {
        return e.SendMsg(
          "MarketingMessages.GetActiveMarketingMessages#1",
          t,
          o,
          { bConstMethod: !0, ePrivilege: 0, eWebAPIKeyRequirement: 1 },
        );
      }),
        (e.GetMarketingMessage = function (e, t) {
          return e.SendMsg("MarketingMessages.GetMarketingMessage#1", t, l, {
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.CreateMarketingMessage = function (e, t) {
          return e.SendMsg("MarketingMessages.CreateMarketingMessage#1", t, m, {
            ePrivilege: 4,
          });
        }),
        (e.UpdateMarketingMessage = function (e, t) {
          return e.SendMsg("MarketingMessages.UpdateMarketingMessage#1", t, p, {
            ePrivilege: 4,
          });
        }),
        (e.DeleteMarketingMessage = function (e, t) {
          return e.SendMsg("MarketingMessages.DeleteMarketingMessage#1", t, h, {
            ePrivilege: 4,
          });
        }),
        (e.FindMarketingMessages = function (e, t) {
          return e.SendMsg("MarketingMessages.FindMarketingMessages#1", t, d, {
            ePrivilege: 4,
          });
        });
    })(_ || (_ = {}));
  },
  L3yR: function (e, t, n) {
    e.exports = {
      SingleEventDetailsCtn: "singleeventdetails_SingleEventDetailsCtn_381ib",
      Visible: "singleeventdetails_Visible_1qjHy",
      Section: "singleeventdetails_Section_qWsOG",
      SectionLabel: "singleeventdetails_SectionLabel_1RuFO",
      SectionDate: "singleeventdetails_SectionDate_3DpTZ",
      ViewSummary: "singleeventdetails_ViewSummary_1asTw",
      SectionText: "singleeventdetails_SectionText_2oFM4",
      WarningText: "singleeventdetails_WarningText_3Uyj_",
      helpCtn: "singleeventdetails_helpCtn_2MBA-",
      BatchDiscountLine: "singleeventdetails_BatchDiscountLine_YW4tz",
      Disabled: "singleeventdetails_Disabled_3ndVf",
      BatchDiscountInput: "singleeventdetails_BatchDiscountInput_2Vsri",
      CellPct: "singleeventdetails_CellPct_1NHr4",
      BatchDiscountButton: "singleeventdetails_BatchDiscountButton_2SPUS",
    };
  },
  LBIc: function (e, t, n) {
    e.exports = { App: "apps_App_1zK68" };
  },
  LHo7: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    }),
      n.d(t, "e", function () {
        return h;
      }),
      n.d(t, "f", function () {
        return _;
      }),
      n.d(t, "c", function () {
        return g;
      }),
      n.d(t, "g", function () {
        return b;
      }),
      n.d(t, "d", function () {
        return f;
      }),
      n.d(t, "b", function () {
        return v;
      });
    var a = n("aaBf"),
      r = n("Eu8H");
    function i(e, t) {
      let n = e.getElementsByTagName("MPD");
      return n && 1 == n.length ? n[0] : null;
    }
    function s(e, t) {
      for (let n = 0; n < e.children.length; n++) {
        let a = e.children[n];
        if (a.tagName == t) return a;
      }
      return null;
    }
    function o(e, t) {
      let n = e.getAttribute(t);
      if (!n) return null;
      let a = new Date(n);
      return "[object Date]" === Object.prototype.toString.call(a) ? a : null;
    }
    function l(e, t) {
      let n = e.getAttribute(t);
      if (!n) return null;
      let a = 0,
        r = n.match(/(\d*)H/);
      return (
        r && (a += 60 * parseFloat(r[1]) * 60),
        (r = n.match(/(\d*)M/)),
        r && (a += 60 * parseFloat(r[1])),
        (r = n.match(/(\d*\.?\d*)S/)),
        r && (a += parseFloat(r[1])),
        a
      );
    }
    function c(e, t) {
      let n = e.getAttribute(t);
      return n
        ? ((n = n.toLowerCase()), "true" == n || ("false" != n && null))
        : null;
    }
    function d(e, t) {
      let n = e.getAttribute(t);
      return n ? parseInt(n) : null;
    }
    function u(e, t) {
      let n = e.getAttribute(t);
      return n || "";
    }
    function m(e, t, n) {
      return (e = (e = e.replace("$RepresentationID$", t)).replace(
        "$Number$",
        n.toString(),
      ));
    }
    function p(e) {
      return (
        0 == e.rgRoles.length || e.rgRoles.findIndex((e) => "main" == e) >= 0
      );
    }
    function h(e) {
      return e
        ? 1e3 == e.segmentTemplate.nTimeScale
          ? e.segmentTemplate.nDuration
          : (e.segmentTemplate.nDuration / e.segmentTemplate.nTimeScale) * 1e3
        : 0;
    }
    function _(e, t) {
      let n = h(e);
      return Math.floor(t / n) + 1;
    }
    function g(e, t, n) {
      return m(e + t.segmentTemplate.strInitialization, n.strID, 0);
    }
    function b(e, t, n, a) {
      return m(e + t.segmentTemplate.strMedia, n.strID, a);
    }
    function f(e, t, n) {
      if (!e.IsLiveContent()) return 0;
      let a = h(t);
      return (
        (n - t.segmentTemplate.nStartNumber) * a - e.GetDurationSinceStarted()
      );
    }
    class v {
      constructor() {
        (this.m_nMinBufferTime = 0),
          (this.m_dtAvailabilityStartTime = null),
          (this.m_dtPublishTime = null),
          (this.m_nMinimumUpdatePeriod = 0),
          (this.m_nTimeShiftBufferDepth = 0),
          (this.m_dtMediaPresentationDuration = null),
          (this.m_strBaseURL = ""),
          (this.m_strStatsLink = ""),
          (this.m_strStalledLink = ""),
          (this.m_strEventLogLink = ""),
          (this.m_rgPeriods = null),
          (this.m_tsLiveContentStart = 0);
      }
      GetType() {
        return this.m_strType;
      }
      GetMinimumUpdatePeriod() {
        return this.m_nMinimumUpdatePeriod;
      }
      GetAvailabilityStartTime() {
        return this.m_dtAvailabilityStartTime;
      }
      GetPeriods() {
        return this.m_rgPeriods;
      }
      GetBaseURL() {
        return this.m_strBaseURL;
      }
      GetTimeShiftBufferDepth() {
        return this.m_nTimeShiftBufferDepth;
      }
      GetMinBufferTime() {
        return this.m_nMinBufferTime;
      }
      GetTimedTextAdaptionSet(e) {
        return e < 0 || e > this.m_rgPeriods.length
          ? []
          : this.m_rgPeriods[e].rgAdaptationSets.filter((e) => e.bIsTimedText);
      }
      IsLiveContent() {
        return "dynamic" == this.GetType();
      }
      GetAdaptationByTrackID(e) {
        if (!this.m_rgPeriods || 0 == this.m_rgPeriods.length) return null;
        let t = this.m_rgPeriods[0];
        for (let n of t.rgAdaptationSets) if (e == n.strID) return n;
        return null;
      }
      GetVideoAdaption() {
        let e = this.m_rgPeriods[0];
        for (let t of e.rgAdaptationSets) if (t.bContainsVideo) return t;
        return null;
      }
      GetStartTime() {
        return !this.IsLiveContent() && this.m_rgPeriods.length > 0
          ? this.m_rgPeriods[0].nStart
          : 0;
      }
      GetEndTime() {
        return !this.IsLiveContent() && this.m_rgPeriods.length > 0
          ? this.GetStartTime() + this.m_rgPeriods[0].nDuration
          : Number.MAX_VALUE;
      }
      GetLowestRepresentation(e) {
        let t = this.GetAdaptationByTrackID(e);
        if (!t) return null;
        let n = t.rgRepresentations[0];
        for (let e of t.rgRepresentations)
          e.nBandwidth < n.nBandwidth && (n = e);
        return n;
      }
      GetStatsLink() {
        return this.m_strStatsLink;
      }
      GetStalledLink() {
        return this.m_strStalledLink;
      }
      GetEventLink() {
        return this.m_strEventLogLink;
      }
      StartLiveContentNow(e) {
        this.m_tsLiveContentStart = performance.now() - e;
      }
      GetDurationSinceStarted() {
        return performance.now() - this.m_tsLiveContentStart;
      }
      ParseRepresentation(e, t) {
        const n = t;
        let a = {
          strID: u(e, "id"),
          strMimeType: u(e, "mimeType"),
          strCodecs: u(e, "codecs"),
          nBandwidth: d(e, "bandwidth"),
        };
        if (n.bContainsVideo) {
          if (
            ((a.nWidth = d(e, "width")),
            (a.nHeight = d(e, "height")),
            (a.nFrameRate = d(e, "frameRate")),
            !(a.strID && a.strMimeType && a.strCodecs && a.nBandwidth))
          )
            return Object(r.c)("MPD - Representation Video Data Missing"), null;
        } else if (n.bContainsAudio) {
          a.nAudioSamplingRate = d(e, "audioSamplingRate");
          let t = s(e, "AudioChannelConfiguration");
          if (
            (t && (a.nAudioChannels = d(t, "value")),
            a.nAudioChannels || (a.nAudioChannels = 2),
            !(
              a.strID &&
              a.strMimeType &&
              a.strCodecs &&
              a.nAudioSamplingRate &&
              a.nAudioChannels
            ))
          )
            return Object(r.c)("MPD - Representation Audio Data Missing"), null;
        }
        return a;
      }
      BParse(e) {
        let t = new DOMParser().parseFromString(e, "application/xml"),
          n = i(t);
        if (!n) return !1;
        let p = n.getAttribute("type");
        if (((this.m_nMinBufferTime = l(n, "minBufferTime")), "dynamic" == p)) {
          if (
            ((this.m_strType = "dynamic"),
            (this.m_dtAvailabilityStartTime = o(n, "availabilityStartTime")),
            (this.m_dtPublishTime = o(n, "publishTime")),
            (this.m_nMinimumUpdatePeriod = l(n, "minimumUpdatePeriod")),
            (this.m_nTimeShiftBufferDepth = l(n, "timeShiftBufferDepth")),
            !(
              this.m_dtAvailabilityStartTime &&
              this.m_dtPublishTime &&
              this.m_nMinimumUpdatePeriod &&
              this.m_nMinBufferTime &&
              this.m_nTimeShiftBufferDepth
            ))
          )
            return !1;
        } else {
          if ("static" != p) return Object(r.c)("MPD - Unknown type"), !1;
          if (
            ((this.m_strType = "static"),
            (this.m_dtMediaPresentationDuration = o(
              n,
              "mediaPresentationDuration",
            )),
            !this.m_nMinBufferTime || !this.m_dtMediaPresentationDuration)
          )
            return (
              Object(r.c)("MPD - Missing Buffer Time or Presentation Duration"),
              !1
            );
        }
        let h = s(n, "BASEURL");
        h && (this.m_strBaseURL = h.textContent);
        let _ = s(n, "Analytics");
        _ &&
          ((this.m_strStatsLink = u(_, "statslink")),
          (this.m_strStalledLink = u(_, "stalledlink")),
          (this.m_strEventLogLink = u(_, "eventlink")));
        let g = t.getElementsByTagName("Period");
        if (0 == g.length) return !1;
        let b = g[0],
          f = {
            strID: u(b, "id"),
            nStart: l(b, "start"),
            nDuration: l(b, "duration"),
            rgAdaptationSets: [],
          };
        if (!f.strID || null === f.nStart)
          return Object(r.c)("MPD - Missing Period Information."), !1;
        (this.m_rgPeriods = []), this.m_rgPeriods.push(f);
        let v = b.getElementsByTagName("AdaptationSet");
        for (let e = 0; e < v.length; e++) {
          let t = v[e],
            n = u(t, "description"),
            i = u(t, "lang"),
            o = {
              bSegmentAlignment: c(t, "segmentAlignment"),
              bIsTimedText: "text/vtt" == u(t, "mimeType"),
              strLanguage: u(t, "lang"),
              bContainsVideo: !1,
              bContainsAudio: !1,
              bContainsGame: !1,
              strDescription: n || i,
              strForceSub: u(t, "forceSub"),
              strID: u(t, "id"),
              rgRoles: [],
              rgRepresentations: [],
              thumbnails: null,
              segmentTemplate: null,
            };
          if ((f.rgAdaptationSets.push(o), o.bIsTimedText)) {
            o.rgRoles.push("subtitle");
            let e = t.getElementsByTagName("Role");
            for (let t = 0; t < e.length; t++) {
              let n = u(e[t], "value");
              n && "subtitle" != n && o.rgRoles.push(n);
            }
            let n = t.getElementsByTagName("Representation");
            for (let e = 0; e < n.length; e++) {
              let t = n[e],
                i = {
                  strID: u(t, "id"),
                  nBandwidth: d(t, "bandwidth"),
                  strClosedCaptionFile: "",
                },
                l = s(t, "BaseURL"),
                c = l ? l.textContent : "";
              if (!c) {
                Object(r.c)(
                  "Closed Caption File has no BaseURL for (id): " + i.strID,
                );
                continue;
              }
              i.strClosedCaptionFile = this.m_strBaseURL + m(c, i.strID, 0);
              ("store" != Object(a.f)() && "dev" != a.c.WEB_UNIVERSE) ||
                (i.strClosedCaptionFile =
                  a.c.STORE_BASE_URL +
                  "vtt/video/" +
                  i.strClosedCaptionFile.substr(
                    "https://steamvideo-a.akamaihd.net/video/".length,
                  )),
                o.rgRepresentations.push(i);
            }
            continue;
          }
          if (!o.bSegmentAlignment)
            return Object(r.c)("MPD - Segment Alignment Missing"), !1;
          let l = t.getElementsByTagName("ContentComponent");
          for (let e = 0; e < l.length; e++) {
            let t = u(l[e], "contentType");
            "video" == t && (o.bContainsVideo = !0),
              "audio" == t && (o.bContainsAudio = !0),
              "game" == t && (o.bContainsGame = !0);
          }
          if (o.bContainsVideo) {
            let e = s(t, "Thumbnails");
            if (e) {
              let t = d(e, "sheet"),
                n = d(e, "period");
              o.thumbnails = {
                nPeriod: n,
                strTemplate: u(e, "template"),
                nSheet: t,
                nSheetSeconds: t * n,
              };
            }
          }
          let p = t.getElementsByTagName("Role");
          for (let e = 0; e < p.length; e++) {
            let t = u(p[e], "value");
            t && o.rgRoles.push(t);
          }
          let h = t.getElementsByTagName("SegmentTemplate");
          if (0 == h.length)
            return Object(r.c)("MPD - Segment Template Missing"), !1;
          let _ = h[0];
          o.segmentTemplate = {
            nTimeScale: d(_, "timescale"),
            nDuration: d(_, "duration"),
            nStartNumber: d(_, "startNumber"),
            strMedia: u(_, "media"),
            strInitialization: "",
          };
          let g = o.segmentTemplate;
          if (
            (o.bContainsGame
              ? (g.strInitialization = g.strMedia)
              : (g.strInitialization = u(_, "initialization")),
            !(
              g.nTimeScale &&
              g.nDuration &&
              g.nStartNumber &&
              g.strMedia &&
              g.strInitialization
            ))
          )
            return Object(r.c)("MPD - Segment Template Data Missing"), !1;
          let b = t.getElementsByTagName("Representation");
          for (let e = 0; e < b.length; e++) {
            let t = b[e],
              n = this.ParseRepresentation(t, o);
            if (!n) return !1;
            o.rgRepresentations.push(n);
          }
        }
        return !0;
      }
      BUpdate(e) {
        let t = new DOMParser().parseFromString(e, "application/xml"),
          n = i(t);
        if (!n) return !1;
        if (this.IsLiveContent()) {
          let e = t.getElementsByTagName("Period");
          if (0 == e.length) return !1;
          let n = e[0].getElementsByTagName("AdaptationSet");
          for (let e = 0; e < n.length; e++) {
            let t = n[e],
              a = u(t, "id"),
              i = this.GetAdaptationByTrackID(a);
            if (i) {
              const e = t.getElementsByTagName("SegmentTemplate");
              if (0 == e.length)
                return Object(r.c)("MPD - Segment Template Missing"), !1;
              const n = e[0];
              i.segmentTemplate.strMedia = u(n, "media");
              let a = t.getElementsByTagName("Representation");
              if (a.length > 1)
                for (let e = 0; e < a.length; e++) {
                  let t = a[e],
                    n = this.ParseRepresentation(t, i),
                    r = !0;
                  for (let e of i.rgRepresentations)
                    if (n.strID == e.strID) {
                      r = !1;
                      break;
                    }
                  r && i.rgRepresentations.push(n);
                }
              break;
            }
          }
        }
        let a = s(n, "Analytics");
        return (
          a &&
            ((this.m_strStatsLink = u(a, "statslink")),
            (this.m_strStalledLink = u(a, "stalledlink")),
            (this.m_strEventLogLink = u(a, "eventlink"))),
          !0
        );
      }
    }
  },
  LI84: function (e, t) {
    e.exports =
      "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gODAK/9sAQwAGBAUGBQQGBgUGBwcGCAoQCgoJCQoUDg8MEBcUGBgXFBYWGh0lHxobIxwWFiAsICMmJykqKRkfLTAtKDAlKCko/9sAQwEHBwcKCAoTCgoTKBoWGigoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo/8AAEQgAQABAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A8Inmk8+T94/3j/EfWmedJ/z0f/vo0T/6+T/eP86ZQA/zpP8Ano//AH0aPOk/56P/AN9GmVo6Loeq65M0Wj6ddXrr94QRF9v1I6fjQBR86T/no/8A30aPOk/56P8A99GtHW/Dus6GV/tjS7yyD8K00RVW+h6GsugB/nSf89H/AO+jT4JpPPj/AHj/AHh/EfWoafB/r4/94fzoAJ/9fJ/vH+dMp8/+vk/3j/OmUAXdE099W1mw06Jgsl3PHApPYswUH9a+qPF3iHSPhF4S0+003TxK0hMcEAbZvIA3SO2OvIz6k18nW88ttcRz28jxTRMHSRGKsrA5BBHQg1b1TWdT1fy/7V1G8vfLzs+0TNJtz1xknHQUAfUXw+8c6Z8UdN1HS9V0xIpUTM1s7eYkiE43KcAgg/lxg180+NtEHhzxZqmkqxdLWcojHqUPK598EV9CfBbwpF4G8J3fiLxA4trm5hEsnmceRCOQD/tHqR9B1r568a63/wAJH4r1TVghRLqYuinqE6KD74AoAxafB/r4/wDeH86ZT4P9fH/vD+dABP8A6+T/AHj/ADplPn/18n+8f50ygArt/gtpltq/xK0e2vYxJArPMUYZDFEZhn2yBXEV0/w203VNX8YWdloOoHTtQkWQx3IZl2gISeV55AI/GgD1H9pvxPdi/s/DcDGOz8pbqfHWRizBQfYbc/U+1eD12PxW0fWtE8Tpa+I9UOqXpt0cTl2bCEthctz1B/OuOoAKfB/r4/8AeH86ZT4P9fH/ALw/nQAT/wCvk/3j/OmVNPDJ58n7t/vH+E+tM8mT/nm//fJoAZV7Q9Xv9C1KLUNJuGtryMEJIoBIyCD1BHQmqnkyf883/wC+TR5Mn/PN/wDvk0AaHiHXtT8RX4vdau2u7oIIxIygHaCSBwB6msyn+TJ/zzf/AL5NHkyf883/AO+TQAynwf6+P/eH86PJk/55v/3yafBDJ58f7t/vD+E+tAH/2Q==";
  },
  "LQ/m": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("q1tI"),
      r = n("bznR"),
      i = n("CqJL"),
      s = n("aaBf");
    const o = (e) => {
      let t = s.c.HELP_BASE_URL + "wizard/HelpWithLimitedAccount";
      return a.createElement(
        r.e,
        {
          strTitle: Object(i.f)("#Informational_Message"),
          onCancel: e.closeModal,
          onOK: e.closeModal,
          bAlertDialog: !0,
        },
        a.createElement(
          "div",
          null,
          Object(i.o)(
            e.strTokenOverride || "#User_LimitedAccount",
            a.createElement(
              "a",
              { href: t, target: s.c.IN_CLIENT ? void 0 : "_blank" },
              Object(i.f)("#User_LimitedAccount_UrlInfo"),
            ),
          ),
        ),
      );
    };
  },
  LRRG: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return c;
    }),
      n.d(t, "a", function () {
        return d;
      }),
      n.d(t, "c", function () {
        return m;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.video_id || r.a(s.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                video_id: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                video_url: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CVideo_ClientGetVideoURL_Response";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.encryption_key || r.a(o.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                encryption_key: { n: 1, br: r.d.readBytes, bw: r.h.writeBytes },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CVideo_UnlockedH264_Notification";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.app_id || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                app_id: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                opf_settings: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CFovasVideo_ClientGetOPFSettings_Response";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.app_id || r.a(c.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                app_id: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                playback_position_in_seconds: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                video_track_id: {
                  n: 3,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                audio_track_id: {
                  n: 4,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                timedtext_track_id: {
                  n: 5,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                last_modified: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                hide_from_watch_history: {
                  n: 7,
                  d: !1,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                hide_from_library: {
                  n: 8,
                  d: !1,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "VideoBookmark";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.bookmarks || r.a(d.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: { bookmarks: { n: 1, c: c, r: !0, q: !0 } },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CVideo_SetVideoBookmark_Notification";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.bookmarks || r.a(u.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: { bookmarks: { n: 1, c: c, r: !0, q: !0 } },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CVideo_GetVideoBookmarks_Response";
      }
    }
    var m, p, h;
    !(function (e) {
      (e.ClientGetVideoURL = function (e, t) {
        return e.SendMsg("Video.ClientGetVideoURL#1", t, s, { ePrivilege: 1 });
      }),
        (e.SetVideoBookmark = function (e, t) {
          return e.SendNotification("Video.SetVideoBookmark#1", t, {
            ePrivilege: 1,
          });
        }),
        (e.GetVideoBookmarks = function (e, t) {
          return e.SendMsg("Video.GetVideoBookmarks#1", t, u, {
            ePrivilege: 1,
          });
        });
    })(m || (m = {})),
      (function (e) {
        e.NotifyUnlockedH264Handler = {
          name: "VideoClient.NotifyUnlockedH264#1",
          request: o,
        };
      })(p || (p = {})),
      (function (e) {
        e.ClientGetOPFSettings = function (e, t) {
          return e.SendMsg("FovasVideo.ClientGetOPFSettings#1", t, l, {
            ePrivilege: 1,
          });
        };
      })(h || (h = {}));
  },
  LkEf: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    });
    var a = n("7DIv");
    function r(e) {
      switch (e) {
        case "column":
          return a.c.COLUMN;
        case "column-reverse":
          return a.c.COLUMN_REVERSE;
        case "row":
          return a.c.ROW;
        case "row-reverse":
          return a.c.ROW_REVERSE;
        case "grid":
          return a.c.GRID;
        default:
          return a.c.NONE;
      }
    }
  },
  LlcT: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    n("q1tI");
    var a = n("nn/o"),
      r = n("CYEq");
    n("gTmQ");
    class i {
      constructor() {
        this.m_ctorContextMenu = a.a;
      }
      CreateContextMenuInstance(e, t, n, a, r) {
        return new this.m_ctorContextMenu(e, t, n, a, r);
      }
      SetContextMenuConstructor(e) {
        this.m_ctorContextMenu = e;
      }
    }
    const s = Object(r.a)("ContextMenuFactory", () => new i());
    function o(e, t, n) {
      let a,
        r,
        i,
        o = t;
      if (
        (null == o ? void 0 : o.preventDefault) &&
        (null == o ? void 0 : o.stopPropagation)
      ) {
        if (o.shiftKey) return null;
        o.preventDefault(),
          o.stopPropagation(),
          (i = o.currentTarget),
          (a = o.clientX),
          (r = o.clientY);
      } else i = t;
      let l = s.CreateContextMenuInstance(e, i, a, r, n);
      return l.Show(), l;
    }
  },
  Lnsj: function (e, t, n) {
    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",
    };
  },
  M1H4: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAeCAYAAAAo5+5WAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEEFRg0nBijuQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAw0lEQVRIx+2WMQqDMBSG/xedEnCp3kFzh56gN+iN7SrFLsEDmElwDHGyFNEYlQyF/FPgvXx5fMsL3R9P+CRJEgsAxhjy6We+UClLSFl+H7gMnqGcC3AuvOHMFzrHF86OQI/A062CMYaa5o2zYQiUNMsyGwRcVWWQicOpaNsPooqoIqqIKvYmrusX/dXE4VS4lqkQwnl5HMfND4xzmRbFzeZ5sVrXuscwDHRKhVIdad2vQpXq6JLjJdwH6lSxhAOwP+fdTHcfVDuVWnTzAAAAAElFTkSuQmCC";
  },
  M2hH: function (e, t, n) {
    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",
    };
  },
  M3d7: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return u;
    }),
      n.d(t, "a", function () {
        return m;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = (n("2vnA"), n("AQa9"), n("Q8oI"), n("y6Yv")),
      o = n("WkhL"),
      l = n("LRRG"),
      c = (n("/loZ"), n("D6PB")),
      d = n("aaBf");
    class u {
      constructor() {
        (this.m_LoadingOAuth = null), (this.m_mapBookmarks = new Map());
      }
      SetBookmarkForApp(e, t) {
        this.ValidateBookmarkData(t)
          ? this.m_mapBookmarks.set(e, l.b.fromObject(t))
          : this.InitializeBookmarkForApp(e);
      }
      ValidateBookmarkData(e) {
        const t = e;
        return (
          "object" == typeof t &&
          Number.isInteger(t.playback_position_in_seconds) &&
          Number.isInteger(t.app_id)
        );
      }
      InitializeBookmarkForApp(e) {
        if (!this.m_mapBookmarks.has(e)) {
          let t = {
            app_id: e,
            playback_position_in_seconds: 0,
            video_track_id: "0",
            audio_track_id: "0",
            timedtext_track_id: "0",
            hide_from_watch_history: !1,
            hide_from_library: !1,
          };
          this.m_mapBookmarks.set(e, new l.b(t));
        }
      }
      GetBookmarkPlayTimeInSeconds(e) {
        if (this.m_mapBookmarks.has(e)) {
          let t = this.m_mapBookmarks.get(e).playback_position_in_seconds();
          if (Number.isInteger(t)) return t;
        }
        return 0;
      }
      SendBookMarkedTimeToServer(e, t, n, r, i) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!d.j.logged_in) return;
          if (
            !this.m_transport &&
            (yield this.m_LoadingOAuth, !this.m_transport)
          )
            return void console.warn(
              "CVideoBookmarkStore:SetBookMark no auth token / transport",
            );
          const a = s.b.Init(l.a);
          if (this.m_mapBookmarks.has(e)) {
            let s = this.m_mapBookmarks.get(e),
              o = !1;
            s.app_id() != e && ((o = !0), s.set_app_id(e)),
              s.playback_position_in_seconds() != t &&
                ((o = !0), s.set_playback_position_in_seconds(t)),
              (n = n || "0"),
              s.video_track_id() != n && (s.set_video_track_id(n), (o = !0)),
              (r = r || "0"),
              s.audio_track_id() != r && (s.set_audio_track_id(r), (o = !0)),
              (i = i || "0") != s.timedtext_track_id() &&
                (s.set_timedtext_track_id(i), (o = !0)),
              o &&
                (a.Body().add_bookmarks(s),
                l.c.SetVideoBookmark(this.m_transport, a));
          }
        });
      }
      static Get() {
        return (
          u.s_VODStore || ((u.s_VODStore = new u()), u.s_VODStore.Init()),
          u.s_VODStore
        );
      }
      Init() {
        d.j.logged_in && this.LoadWatchVideoOAuthToken();
      }
      LoadWatchVideoOAuthToken() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e =
              "community" == Object(d.f)()
                ? d.c.COMMUNITY_BASE_URL + "actions/ajaxgetwatchvodtoken"
                : d.c.STORE_BASE_URL + "actions/ajaxgetwatchvodtoken",
            t = {};
          try {
            let n = yield i.a.get(e, { params: t, withCredentials: !0 });
            if (
              n &&
              200 == n.status &&
              n.data &&
              1 == n.data.success &&
              n.data.webapi_token
            )
              return (
                (this.m_transport = new o.a(
                  d.c.WEBAPI_BASE_URL,
                  n.data.webapi_token,
                ).GetServiceTransport()),
                this.m_transport
              );
          } catch (e) {
            let t = Object(c.a)(e);
            console.error(
              "CVideoBookmarkStore:LoadWatchVideoOAuthToken: Failed " +
                t.strErrorMsg,
              t,
            );
          }
          return null;
        });
      }
    }
    class m {
      constructor(e) {
        this.m_appid = e;
      }
      SetBookmark(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          d.j.logged_in &&
            u
              .Get()
              .SendBookMarkedTimeToServer(this.m_appid, Math.floor(e), t, n, r);
        });
      }
      GetBeginPlaytime() {
        return d.j.logged_in
          ? u.Get().GetBookmarkPlayTimeInSeconds(this.m_appid)
          : 0;
      }
    }
  },
  M4uF: function (e, t, n) {
    e.exports = {
      PriceCell: "pricinggridcell_PriceCell_1sKIc",
      PricePrefix: "pricinggridcell_PricePrefix_gPcNw",
      PriceSuffix: "pricinggridcell_PriceSuffix_3AEJb",
      EditablePrice: "pricinggridcell_EditablePrice_pm5xM",
      PriceInput: "pricinggridcell_PriceInput_1PcwX",
      USD: "pricinggridcell_USD_1C7qR",
      ProposedPrice: "pricinggridcell_ProposedPrice_rVkmD",
      ApprovedCanPublish: "pricinggridcell_ApprovedCanPublish_1JBd8",
      ChangedLocally: "pricinggridcell_ChangedLocally_5mvGW",
      WarningPrice: "pricinggridcell_WarningPrice_1Qd5u",
      SevereWarningPrice: "pricinggridcell_SevereWarningPrice_1o6zP",
      BadPrice: "pricinggridcell_BadPrice_18aiu",
      PriceChange: "pricinggridcell_PriceChange_w-K7q",
      PriceAlert: "pricinggridcell_PriceAlert_2eadU",
      PriceChangeArrow: "pricinggridcell_PriceChangeArrow_1z0l2",
      PriceIncrease: "pricinggridcell_PriceIncrease_2jQyP",
      PricePopout: "pricinggridcell_PricePopout_1Aoyz",
      DetailRow: "pricinggridcell_DetailRow_3P_fJ",
      DetailLabel: "pricinggridcell_DetailLabel_3RXb3",
      DetailPrice: "pricinggridcell_DetailPrice_2k3CV",
      DetailButton: "pricinggridcell_DetailButton_3ILP7",
      Disabled: "pricinggridcell_Disabled_3mZHs",
      HoverToolTip: "pricinggridcell_HoverToolTip_36qS7",
    };
  },
  Mx8f: function (e, t, n) {
    "use strict";
    n.d(t, "f", function () {
      return a;
    }),
      n.d(t, "d", function () {
        return r;
      }),
      n.d(t, "a", function () {
        return i;
      }),
      n.d(t, "b", function () {
        return s;
      }),
      n.d(t, "c", function () {
        return o;
      }),
      n.d(t, "g", function () {
        return l;
      }),
      n.d(t, "e", function () {
        return c;
      }),
      n.d(t, "h", function () {
        return d;
      });
    n("fvA7");
    function a(e) {
      if ((null == e ? void 0 : e.length) > 1) {
        let t = e.length;
        for (; 0 !== t; ) {
          let n = Math.floor(Math.random() * t);
          t -= 1;
          let a = e[t];
          (e[t] = e[n]), (e[n] = a);
        }
      }
    }
    function r(e, t, n) {
      t < 0 ||
        n < 0 ||
        (n >= e.length && (e[n] = void 0), e.splice(n, 0, e.splice(t, 1)[0]));
    }
    function i(e, t) {
      if (!e && !t) return !0;
      if (!e || !t) return !1;
      if (e.length != t.length) return !1;
      for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
      return !0;
    }
    function s(e, t) {
      return o(e, (e) => t == e);
    }
    function o(e, t) {
      let n = e.findIndex(t);
      return n >= 0 && (e.splice(n, 1), !0);
    }
    function l(e, t, n) {
      let a = 0,
        r = e.length - 1;
      for (; a <= r; ) {
        let i = Math.floor((a + r) / 2),
          s = n(e[i], t);
        if (s < 0) a = i + 1;
        else if (s > 0) r = i - 1;
        else {
          if (r == i) return i;
          if (i == a) return r > i && n(t, e[i + 1]) < 0 ? i : i + 1;
          a = i;
        }
      }
      return r;
    }
    function c(e, t, n) {
      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(n)) : e
      );
    }
    function d(e) {
      const t = new Set();
      return e.forEach((e) => t.add(e)), Array.from(t);
    }
  },
  My6o: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return r;
    }),
      n.d(t, "a", function () {
        return i;
      });
    var a = n("aaBf");
    const r = "fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb";
    function i(e, t) {
      let n = ".jpg";
      (e && "0000000000000000000000000000000000000000" !== e) || (e = r),
        44 == e.length && ((n = e.substr(-4)), (e = e.substr(0, 40)));
      let i = a.c.AVATAR_BASE_URL;
      return (
        i ||
          ((i = a.c.MEDIA_CDN_COMMUNITY_URL + "images/avatars/"),
          (i += e.substr(0, 2) + "/")),
        (i += e),
        t && "small" != t && (i += "_" + t),
        (i += n),
        i
      );
    }
  },
  NIsw: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      ShowContentsContainer: "salesection_ShowContentsContainer_F0Ae3",
      ShowContentsButton: "salesection_ShowContentsButton_1CYNr",
      FacetedBrowseLoadThrobber: "salesection_FacetedBrowseLoadThrobber_3lO-5",
    };
  },
  NKYw: function (e, t) {
    e.exports =
      "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTQwMHB4IiBoZWlnaHQ9IjE0MDlweCIgdmlld0JveD0iMCAwIDE0MDAgMTQwOSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTQwMCAxNDA5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik02OTguMTk1LDEwLjEyNWMtMzY0LjM0NywwLTY2Mi44MzgsMjgwLjkzOC02OTEuMjA2LDYzNy45NjlMMzc4Ljc0LDgwMS43OTcNCgljMzEuNTAyLTIxLjUzOSw2OS41NTUtMzQuMTMzLDExMC40OTUtMzQuMTMzYzMuNjY5LDAsNy4zMTUsMC4wOSwxMC45MzksMC4zMTNsMTY1LjMzLTIzOS42MzdjMC0xLjEzNy0wLjAyOS0yLjI1LTAuMDI5LTMuMzk1DQoJYzAtMTQ0LjIyNywxMTcuMzM1LTI2MS41NzQsMjYxLjU4Mi0yNjEuNTc0YzE0NC4yMzMsMCwyNjEuNTgzLDExNy4zNDgsMjYxLjU4MywyNjEuNTc0YzAsMTQ0LjI0Ni0xMTcuMzUsMjYxLjU5OC0yNjEuNTgzLDI2MS41OTgNCgljLTEuOTksMC0zLjk1LTAuMDQ3LTUuOTI2LTAuMDlMNjg1LjM0MSw5NTQuNjg4YzAuMTE5LDMuMDc0LDAuMjMsNi4xOTEsMC4yMyw5LjI5N2MwLDEwOC4yNzMtODguMDc2LDE5Ni4zNTItMTk2LjMzNiwxOTYuMzUyDQoJYy05NS4wNDEsMC0xNzQuNDk0LTY3Ljg0OC0xOTIuNDk2LTE1Ny42NzZMMzAuODcyLDg5Mi43NTRjODIuMzIsMjkxLjEzNywzNDkuODA3LDUwNC41ODIsNjY3LjMyMyw1MDQuNTgyDQoJYzM4My4wNjIsMCw2OTMuNTk4LTMxMC41NTEsNjkzLjU5OC02OTMuNjEzQzEzOTEuNzkzLDMyMC42NjQsMTA4MS4yNTcsMTAuMTI1LDY5OC4xOTUsMTAuMTI1Ii8+DQo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNDQxLjY0OCwxMDYyLjU2M2wtODUuMjAyLTM1LjIwM2MxNS4xMDUsMzEuNDQ1LDQxLjIzLDU3Ljc2Miw3NS45MTEsNzIuMjE1DQoJYzc0Ljk2MSwzMS4yNSwxNjEuNDEtNC4zMzYsMTkyLjY2Ny03OS4zNTljMTUuMTEyLTM2LjMxMywxNS4yMjQtNzYuMzU1LDAuMjIzLTExMi43NDJjLTE0Ljk3OS0zNi4zOTEtNDMuMjUtNjQuNzczLTc5LjU3Mi03OS45MjINCgljLTM2LjA0Ny0xNS4wMDQtNzQuNjU2LTE0LjQzOC0xMDguNTg3LTEuNjM3bDg4LjAwOSwzNi4zOTFjNTUuMzA0LDIzLjA1MSw4MS40NDQsODYuNTU5LDU4LjQwOCwxNDEuODU1DQoJQzU2MC40NzYsMTA1OS40NTcsNDk2Ljk0NCwxMDg1LjYxMyw0NDEuNjQ4LDEwNjIuNTYzIi8+DQo8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTEwMS4zNTMsNTI0Ljk2MWMwLTk2LjExMy03OC4xODQtMTc0LjMxMy0xNzQuMjk1LTE3NC4zMTNjLTk2LjA5NiwwLTE3NC4yOTQsNzguMTk5LTE3NC4yOTQsMTc0LjMxMw0KCWMwLDk2LjEwMiw3OC4xOTgsMTc0LjI3NywxNzQuMjk0LDE3NC4yNzdDMTAyMy4xNjksNjk5LjIzOCwxMTAxLjM1Myw2MjEuMDYzLDExMDEuMzUzLDUyNC45NjEgTTc5Ni40MTUsNTI0LjY1Ng0KCWMwLTcyLjMyNCw1OC42MzgtMTMwLjkxOCwxMzAuOTQtMTMwLjkxOGM3Mi4zMTYsMCwxMzAuOTI1LDU4LjU5NCwxMzAuOTI1LDEzMC45MThjMCw3Mi4zMTYtNTguNjA4LDEzMC45MTgtMTMwLjkyNSwxMzAuOTE4DQoJQzg1NS4wNTMsNjU1LjU3NCw3OTYuNDE1LDU5Ni45NzMsNzk2LjQxNSw1MjQuNjU2Ii8+DQo8L3N2Zz4NCg==";
  },
  NKx1: function (e, t) {},
  NLp2: function (e, t, n) {
    e.exports = {
      ErrorStyles: "partnereventdialog_ErrorStyles_3Hw9h",
      ErrorStylesWithIcon: "partnereventdialog_ErrorStylesWithIcon_jEJTF",
      ErrorIconLayout: "partnereventdialog_ErrorIconLayout_SZG-e",
      ErrorStylesBackground: "partnereventdialog_ErrorStylesBackground_2qATx",
      WarningStyles: "partnereventdialog_WarningStyles_3T0t1",
      WarningStylesWithIcon: "partnereventdialog_WarningStylesWithIcon_2kNvU",
      WarningIconLayout: "partnereventdialog_WarningIconLayout_6ikMv",
      WarningStylesBackground:
        "partnereventdialog_WarningStylesBackground_1NxX8",
      Padding: "partnereventdialog_Padding_1UI9U",
      NotTooWideModal: "partnereventdialog_NotTooWideModal_1KiHZ",
    };
  },
  NOMT: function (e, t, n) {
    e.exports = {
      simpleTitleSmallHeight: "80",
      simpleTitleLargeHeight: "200",
      SimpleTitleHeaderCtn:
        "eventcalendarcollectionheaders_SimpleTitleHeaderCtn_3FgtA",
      CollectionBannerGroup:
        "eventcalendarcollectionheaders_CollectionBannerGroup_K1QTv",
      AppBannerLogoCtn: "eventcalendarcollectionheaders_AppBannerLogoCtn_nymcp",
      SimpleTitleCtn: "eventcalendarcollectionheaders_SimpleTitleCtn_1GvE8",
      Title: "eventcalendarcollectionheaders_Title_18v9c",
      Subtitle: "eventcalendarcollectionheaders_Subtitle_2Fd1E",
      LargeHeader: "eventcalendarcollectionheaders_LargeHeader_1nUc-",
      NoHeaderImg: "eventcalendarcollectionheaders_NoHeaderImg_3jPvO",
      AppBannerLogo: "eventcalendarcollectionheaders_AppBannerLogo_2BVJj",
    };
  },
  NRSy: function (e, t, n) {
    e.exports = { SmallAvatar: "userprofile_SmallAvatar_1iIXx" };
  },
  O49i: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return w;
    }),
      n.d(t, "e", function () {
        return O;
      }),
      n.d(t, "b", function () {
        return I;
      }),
      n.d(t, "d", function () {
        return R;
      }),
      n.d(t, "a", function () {
        return ae;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.broadcast_id || r.a(s.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                broadcast_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                thumbnail_upload_address: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                thumbnail_upload_token: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                thumbnail_interval_seconds: {
                  n: 4,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                heartbeat_interval_seconds: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_BeginBroadcastSession_Response";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new o();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_EndBroadcastSession_Response";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.upload_token || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                upload_token: { n: 1, br: r.d.readString, bw: r.h.writeString },
                upload_address: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                broadcast_upload_id: {
                  n: 3,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                enable_replay: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
                http_address: { n: 7, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_StartBroadcastUpload_Response";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.broadcast_id || r.a(c.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                broadcast_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                upload_token: { n: 2, br: r.d.readString, bw: r.h.writeString },
                upload_address: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                http_address: { n: 4, br: r.d.readString, bw: r.h.writeString },
                broadcast_upload_id: {
                  n: 5,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                heartbeat_interval_seconds: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                is_rtmp: { n: 7, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_BroadcastUploadStarted_Notification";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.gameid || r.a(d.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                gameid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                title: { n: 2, br: r.d.readString, bw: r.h.writeString },
                num_viewers: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                permission: { n: 4, br: r.d.readInt32, bw: r.h.writeInt32 },
                is_rtmp: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                seconds_delay: { n: 6, br: r.d.readInt32, bw: r.h.writeInt32 },
                is_publisher: { n: 7, br: r.d.readBool, bw: r.h.writeBool },
                thumbnail_url: {
                  n: 8,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                update_interval: {
                  n: 9,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                is_uploading: { n: 10, br: r.d.readBool, bw: r.h.writeBool },
                duration: { n: 11, br: r.d.readUint32, bw: r.h.writeUint32 },
                is_replay: { n: 12, br: r.d.readBool, bw: r.h.writeBool },
                is_capturing_vod: {
                  n: 13,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                is_store_whitelisted: {
                  n: 14,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastStatus_Response";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.thumbnail_url || r.a(u.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                thumbnail_url: {
                  n: 1,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                update_interval: {
                  n: 2,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                num_viewers: { n: 3, br: r.d.readInt32, bw: r.h.writeInt32 },
                duration: { n: 4, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastThumbnail_Response";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(),
          m.prototype.response || r.a(m.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                response: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                mpd_url: { n: 2, br: r.d.readString, bw: r.h.writeString },
                broadcast_id: {
                  n: 3,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                gameid: {
                  n: 4,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                title: { n: 5, br: r.d.readString, bw: r.h.writeString },
                num_viewers: { n: 6, br: r.d.readUint32, bw: r.h.writeUint32 },
                permission: { n: 7, br: r.d.readInt32, bw: r.h.writeInt32 },
                is_rtmp: { n: 8, br: r.d.readBool, bw: r.h.writeBool },
                seconds_delay: { n: 9, br: r.d.readInt32, bw: r.h.writeInt32 },
                viewer_token: {
                  n: 10,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                hls_m3u8_master_url: {
                  n: 11,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                heartbeat_interval: {
                  n: 12,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                thumbnail_url: {
                  n: 13,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                is_webrtc: { n: 14, br: r.d.readBool, bw: r.h.writeBool },
                webrtc_session_id: {
                  n: 15,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                webrtc_offer_sdp: {
                  n: 16,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                webrtc_turn_server: {
                  n: 17,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                is_replay: { n: 18, br: r.d.readBool, bw: r.h.writeBool },
                duration: { n: 19, br: r.d.readInt32, bw: r.h.writeInt32 },
                cdn_auth_url_parameters: {
                  n: 20,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WatchBroadcast_Response";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(),
          p.prototype.success || r.a(p.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                success: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_InviteToBroadcast_Response";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_SendBroadcastStateToServer_Response";
      }
    }
    class _ extends i {
      constructor(e = null) {
        super(),
          _.prototype.steamid || r.a(_.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                state: { n: 2, br: r.d.readEnum, bw: r.h.writeEnum },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_BroadcastViewerState_Notification";
      }
    }
    class g extends i {
      constructor(e = null) {
        super(),
          g.prototype.broadcast_id || r.a(g.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          g.sm_m ||
            (g.sm_m = {
              proto: g,
              fields: {
                broadcast_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          g.sm_m
        );
      }
      static MBF() {
        return g.sm_mbf || (g.sm_mbf = r.e(g.M())), g.sm_mbf;
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(g.M(), e, t);
      }
      static fromObject(e) {
        return r.c(g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(g.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WaitingBroadcastViewer_Notification";
      }
    }
    class b extends i {
      constructor(e = null) {
        super(),
          b.prototype.broadcast_id || r.a(b.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          b.sm_m ||
            (b.sm_m = {
              proto: b,
              fields: {
                broadcast_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                broadcast_relay_id: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                upload_result: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                too_many_poor_uploads: {
                  n: 4,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          b.sm_m
        );
      }
      static MBF() {
        return b.sm_mbf || (b.sm_mbf = r.e(b.M())), b.sm_mbf;
      }
      toObject(e = !1) {
        return b.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(b.M(), e, t);
      }
      static fromObject(e) {
        return r.c(b.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new b();
        return b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(b.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(b.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_StopBroadcastUpload_Notification";
      }
    }
    class f extends i {
      constructor(e = null) {
        super(),
          f.prototype.broadcast_id || r.a(f.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          f.sm_m ||
            (f.sm_m = {
              proto: f,
              fields: {
                broadcast_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          f.sm_m
        );
      }
      static MBF() {
        return f.sm_mbf || (f.sm_mbf = r.e(f.M())), f.sm_mbf;
      }
      toObject(e = !1) {
        return f.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(f.M(), e, t);
      }
      static fromObject(e) {
        return r.c(f.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new f();
        return f.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(f.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(f.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_SessionClosed_Notification";
      }
    }
    class v extends i {
      constructor(e = null) {
        super(),
          v.prototype.broadcast_id || r.a(v.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          v.sm_m ||
            (v.sm_m = {
              proto: v,
              fields: {
                broadcast_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                num_viewers: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          v.sm_m
        );
      }
      static MBF() {
        return v.sm_mbf || (v.sm_mbf = r.e(v.M())), v.sm_mbf;
      }
      toObject(e = !1) {
        return v.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(v.M(), e, t);
      }
      static fromObject(e) {
        return r.c(v.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new v();
        return v.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(v.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(v.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_BroadcastStatus_Notification";
      }
    }
    class S extends i {
      constructor(e = null) {
        super(),
          S.prototype.broadcast_channel_id || r.a(S.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          S.sm_m ||
            (S.sm_m = {
              proto: S,
              fields: {
                broadcast_channel_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                broadcast_channel_name: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                broadcast_channel_avatar: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          S.sm_m
        );
      }
      static MBF() {
        return S.sm_mbf || (S.sm_mbf = r.e(S.M())), S.sm_mbf;
      }
      toObject(e = !1) {
        return S.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(S.M(), e, t);
      }
      static fromObject(e) {
        return r.c(S.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new S();
        return S.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(S.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(S.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_BroadcastChannelLive_Notification";
      }
    }
    class y extends i {
      constructor(e = null) {
        super(),
          y.prototype.thumbnail_upload_token || r.a(y.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          y.sm_m ||
            (y.sm_m = {
              proto: y,
              fields: {
                thumbnail_upload_token: {
                  n: 1,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                thumbnail_broadcast_session_id: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                thumbnail_data: { n: 3, br: r.d.readBytes, bw: r.h.writeBytes },
                thumbnail_width: {
                  n: 4,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                thumbnail_height: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          y.sm_m
        );
      }
      static MBF() {
        return y.sm_mbf || (y.sm_mbf = r.e(y.M())), y.sm_mbf;
      }
      toObject(e = !1) {
        return y.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(y.M(), e, t);
      }
      static fromObject(e) {
        return r.c(y.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new y();
        return y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(y.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(y.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_SendThumbnailToRelay_Notification";
      }
    }
    class E extends i {
      constructor(e = null) {
        super(),
          E.prototype.broadcaster_steamid || r.a(E.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          E.sm_m ||
            (E.sm_m = {
              proto: E,
              fields: {
                broadcaster_steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          E.sm_m
        );
      }
      static MBF() {
        return E.sm_mbf || (E.sm_mbf = r.e(E.M())), E.sm_mbf;
      }
      toObject(e = !1) {
        return E.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(E.M(), e, t);
      }
      static fromObject(e) {
        return r.c(E.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new E();
        return E.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(E.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(E.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_ViewerBroadcastInvite_Notification";
      }
    }
    class C extends i {
      constructor(e = null) {
        super(),
          C.prototype.chat_id || r.a(C.M()),
          i.initialize(this, e, 0, -1, [4], null);
      }
      static M() {
        return (
          C.sm_m ||
            (C.sm_m = {
              proto: C,
              fields: {
                chat_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                view_url_template: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                flair_group_ids: {
                  n: 4,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          C.sm_m
        );
      }
      static MBF() {
        return C.sm_mbf || (C.sm_mbf = r.e(C.M())), C.sm_mbf;
      }
      toObject(e = !1) {
        return C.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(C.M(), e, t);
      }
      static fromObject(e) {
        return r.c(C.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new C();
        return C.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(C.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(C.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastChatInfo_Response";
      }
    }
    class w extends i {
      constructor(e = null) {
        super(),
          w.prototype.chat_id || r.a(w.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          w.sm_m ||
            (w.sm_m = {
              proto: w,
              fields: {
                chat_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                message: { n: 2, br: r.d.readString, bw: r.h.writeString },
                instance_id: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                language: {
                  n: 4,
                  d: 0,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                country_code: { n: 5, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          w.sm_m
        );
      }
      static MBF() {
        return w.sm_mbf || (w.sm_mbf = r.e(w.M())), w.sm_mbf;
      }
      toObject(e = !1) {
        return w.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(w.M(), e, t);
      }
      static fromObject(e) {
        return r.c(w.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new w();
        return w.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(w.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(w.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_PostChatMessage_Request";
      }
    }
    class B extends i {
      constructor(e = null) {
        super(),
          B.prototype.persona_name || r.a(B.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          B.sm_m ||
            (B.sm_m = {
              proto: B,
              fields: {
                persona_name: { n: 1, br: r.d.readString, bw: r.h.writeString },
                in_game: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                result: { n: 3, br: r.d.readInt32, bw: r.h.writeInt32 },
                cooldown_time_seconds: {
                  n: 4,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          B.sm_m
        );
      }
      static MBF() {
        return B.sm_mbf || (B.sm_mbf = r.e(B.M())), B.sm_mbf;
      }
      toObject(e = !1) {
        return B.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(B.M(), e, t);
      }
      static fromObject(e) {
        return r.c(B.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new B();
        return B.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(B.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(B.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_PostChatMessage_Response";
      }
    }
    class O extends i {
      constructor(e = null) {
        super(),
          O.prototype.chat_id || r.a(O.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          O.sm_m ||
            (O.sm_m = {
              proto: O,
              fields: {
                chat_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                flair: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          O.sm_m
        );
      }
      static MBF() {
        return O.sm_mbf || (O.sm_mbf = r.e(O.M())), O.sm_mbf;
      }
      toObject(e = !1) {
        return O.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(O.M(), e, t);
      }
      static fromObject(e) {
        return r.c(O.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new O();
        return O.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(O.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(O.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_UpdateChatMessageFlair_Request";
      }
    }
    class D extends i {
      constructor(e = null) {
        super(),
          D.prototype.result || r.a(D.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          D.sm_m ||
            (D.sm_m = {
              proto: D,
              fields: {
                result: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                chat_id: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                flair: { n: 3, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          D.sm_m
        );
      }
      static MBF() {
        return D.sm_mbf || (D.sm_mbf = r.e(D.M())), D.sm_mbf;
      }
      toObject(e = !1) {
        return D.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(D.M(), e, t);
      }
      static fromObject(e) {
        return r.c(D.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new D();
        return D.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(D.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(D.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_UpdateChatMessageFlair_Response";
      }
    }
    class I extends i {
      constructor(e = null) {
        super(),
          I.prototype.chat_id || r.a(I.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          I.sm_m ||
            (I.sm_m = {
              proto: I,
              fields: {
                chat_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                user_steamid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                muted: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          I.sm_m
        );
      }
      static MBF() {
        return I.sm_mbf || (I.sm_mbf = r.e(I.M())), I.sm_mbf;
      }
      toObject(e = !1) {
        return I.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(I.M(), e, t);
      }
      static fromObject(e) {
        return r.c(I.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new I();
        return I.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(I.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(I.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_MuteBroadcastChatUser_Request";
      }
    }
    class T extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return T.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new T();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new T();
        return T.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_MuteBroadcastChatUser_Response";
      }
    }
    class R extends i {
      constructor(e = null) {
        super(),
          R.prototype.chat_id || r.a(R.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          R.sm_m ||
            (R.sm_m = {
              proto: R,
              fields: {
                chat_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                user_steamid: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          R.sm_m
        );
      }
      static MBF() {
        return R.sm_mbf || (R.sm_mbf = r.e(R.M())), R.sm_mbf;
      }
      toObject(e = !1) {
        return R.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(R.M(), e, t);
      }
      static fromObject(e) {
        return r.c(R.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new R();
        return R.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(R.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(R.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_RemoveUserChatText_Request";
      }
    }
    class j extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new j();
        return j.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_RemoveUserChatText_Response";
      }
    }
    class A extends i {
      constructor(e = null) {
        super(),
          A.prototype.persona_names || r.a(A.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          A.sm_m ||
            (A.sm_m = {
              proto: A,
              fields: { persona_names: { n: 1, c: k, r: !0, q: !0 } },
            }),
          A.sm_m
        );
      }
      static MBF() {
        return A.sm_mbf || (A.sm_mbf = r.e(A.M())), A.sm_mbf;
      }
      toObject(e = !1) {
        return A.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(A.M(), e, t);
      }
      static fromObject(e) {
        return r.c(A.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new A();
        return A.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(A.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(A.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastChatUserNames_Response";
      }
    }
    class k extends i {
      constructor(e = null) {
        super(),
          k.prototype.steam_id || r.a(k.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          k.sm_m ||
            (k.sm_m = {
              proto: k,
              fields: {
                steam_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                persona: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          k.sm_m
        );
      }
      static MBF() {
        return k.sm_mbf || (k.sm_mbf = r.e(k.M())), k.sm_mbf;
      }
      toObject(e = !1) {
        return k.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(k.M(), e, t);
      }
      static fromObject(e) {
        return r.c(k.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new k();
        return k.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(k.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(k.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastChatUserNames_Response_PersonaName";
      }
    }
    class M extends i {
      constructor(e = null) {
        super(),
          M.prototype.broadcast_clip_id || r.a(M.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          M.sm_m ||
            (M.sm_m = {
              proto: M,
              fields: {
                broadcast_clip_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          M.sm_m
        );
      }
      static MBF() {
        return M.sm_mbf || (M.sm_mbf = r.e(M.M())), M.sm_mbf;
      }
      toObject(e = !1) {
        return M.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(M.M(), e, t);
      }
      static fromObject(e) {
        return r.c(M.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new M();
        return M.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(M.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(M.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_StartBuildClip_Response";
      }
    }
    class P extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new P();
        return P.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return P.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return P.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBuildClipStatus_Response";
      }
    }
    class L extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return L.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new L();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new L();
        return L.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return L.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return L.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_SetClipDetails_Response";
      }
    }
    class G extends i {
      constructor(e = null) {
        super(),
          G.prototype.broadcast_clip_id || r.a(G.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          G.sm_m ||
            (G.sm_m = {
              proto: G,
              fields: {
                broadcast_clip_id: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                video_id: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                channel_id: {
                  n: 3,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                app_id: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                accountid_broadcaster: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                accountid_clipmaker: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                video_description: {
                  n: 7,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                start_time: { n: 8, br: r.d.readUint32, bw: r.h.writeUint32 },
                length_milliseconds: {
                  n: 9,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                thumbnail_path: {
                  n: 10,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          G.sm_m
        );
      }
      static MBF() {
        return G.sm_mbf || (G.sm_mbf = r.e(G.M())), G.sm_mbf;
      }
      toObject(e = !1) {
        return G.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(G.M(), e, t);
      }
      static fromObject(e) {
        return r.c(G.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new G();
        return G.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(G.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return G.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(G.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return G.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetClipDetails_Response";
      }
    }
    class N extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return N.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new N();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new N();
        return N.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return N.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return N.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_SetRTMPInfo_Response";
      }
    }
    class F extends i {
      constructor(e = null) {
        super(),
          F.prototype.broadcast_permission || r.a(F.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          F.sm_m ||
            (F.sm_m = {
              proto: F,
              fields: {
                broadcast_permission: {
                  n: 1,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                rtmp_host: { n: 2, br: r.d.readString, bw: r.h.writeString },
                rtmp_token: { n: 3, br: r.d.readString, bw: r.h.writeString },
                broadcast_delay: {
                  n: 4,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                app_id: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                required_app_id: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                broadcast_chat_permission: {
                  n: 7,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                broadcast_buffer: {
                  n: 8,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                steamid: {
                  n: 9,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                chat_rate_limit: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                enable_replay: { n: 11, br: r.d.readBool, bw: r.h.writeBool },
                is_partner_chat_only: {
                  n: 12,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          F.sm_m
        );
      }
      static MBF() {
        return F.sm_mbf || (F.sm_mbf = r.e(F.M())), F.sm_mbf;
      }
      toObject(e = !1) {
        return F.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(F.M(), e, t);
      }
      static fromObject(e) {
        return r.c(F.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new F();
        return F.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(F.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return F.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(F.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return F.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetRTMPInfo_Response";
      }
    }
    class x extends i {
      constructor(e = null) {
        super(),
          x.prototype.upload_stats || r.a(x.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          x.sm_m ||
            (x.sm_m = {
              proto: x,
              fields: { upload_stats: { n: 1, c: z, r: !0, q: !0 } },
            }),
          x.sm_m
        );
      }
      static MBF() {
        return x.sm_mbf || (x.sm_mbf = r.e(x.M())), x.sm_mbf;
      }
      toObject(e = !1) {
        return x.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(x.M(), e, t);
      }
      static fromObject(e) {
        return r.c(x.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new x();
        return x.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(x.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return x.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(x.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return x.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastUploadStats_Response";
      }
    }
    class z extends i {
      constructor(e = null) {
        super(),
          z.prototype.upload_result || r.a(z.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          z.sm_m ||
            (z.sm_m = {
              proto: z,
              fields: {
                upload_result: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                time_stopped: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                seconds_uploaded: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                max_viewers: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                resolution_x: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                resolution_y: { n: 6, br: r.d.readUint32, bw: r.h.writeUint32 },
                avg_bandwidth: {
                  n: 7,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                total_bytes: {
                  n: 8,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                app_id: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                total_unique_viewers: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                total_seconds_watched: {
                  n: 11,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                time_started: {
                  n: 12,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                upload_id: {
                  n: 13,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                local_address: {
                  n: 14,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                remote_address: {
                  n: 15,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                frames_per_second: {
                  n: 16,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                num_representations: {
                  n: 17,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                app_name: { n: 18, br: r.d.readString, bw: r.h.writeString },
                is_replay: { n: 19, br: r.d.readBool, bw: r.h.writeBool },
                session_id: {
                  n: 20,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
              },
            }),
          z.sm_m
        );
      }
      static MBF() {
        return z.sm_mbf || (z.sm_mbf = r.e(z.M())), z.sm_mbf;
      }
      toObject(e = !1) {
        return z.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(z.M(), e, t);
      }
      static fromObject(e) {
        return r.c(z.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new z();
        return z.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(z.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return z.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(z.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return z.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastUploadStats_Response_UploadStats";
      }
    }
    class U extends i {
      constructor(e = null) {
        super(),
          U.prototype.viewer_stats || r.a(U.M()),
          i.initialize(this, e, 0, -1, [1, 2], null);
      }
      static M() {
        return (
          U.sm_m ||
            (U.sm_m = {
              proto: U,
              fields: {
                viewer_stats: { n: 1, c: W, r: !0, q: !0 },
                country_stats: { n: 2, c: H, r: !0, q: !0 },
              },
            }),
          U.sm_m
        );
      }
      static MBF() {
        return U.sm_mbf || (U.sm_mbf = r.e(U.M())), U.sm_mbf;
      }
      toObject(e = !1) {
        return U.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(U.M(), e, t);
      }
      static fromObject(e) {
        return r.c(U.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new U();
        return U.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(U.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return U.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(U.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return U.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastViewerStats_Response";
      }
    }
    class W extends i {
      constructor(e = null) {
        super(),
          W.prototype.time || r.a(W.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          W.sm_m ||
            (W.sm_m = {
              proto: W,
              fields: {
                time: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                num_viewers: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          W.sm_m
        );
      }
      static MBF() {
        return W.sm_mbf || (W.sm_mbf = r.e(W.M())), W.sm_mbf;
      }
      toObject(e = !1) {
        return W.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(W.M(), e, t);
      }
      static fromObject(e) {
        return r.c(W.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new W();
        return W.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(W.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return W.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(W.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return W.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastViewerStats_Response_ViewerStats";
      }
    }
    class H extends i {
      constructor(e = null) {
        super(),
          H.prototype.country_code || r.a(H.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          H.sm_m ||
            (H.sm_m = {
              proto: H,
              fields: {
                country_code: { n: 1, br: r.d.readString, bw: r.h.writeString },
                num_viewers: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          H.sm_m
        );
      }
      static MBF() {
        return H.sm_mbf || (H.sm_mbf = r.e(H.M())), H.sm_mbf;
      }
      toObject(e = !1) {
        return H.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(H.M(), e, t);
      }
      static fromObject(e) {
        return r.c(H.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new H();
        return H.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(H.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return H.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(H.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return H.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_GetBroadcastViewerStats_Response_CountryStats";
      }
    }
    class V extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return V.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new V();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new V();
        return V.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return V.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return V.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCStartResult_Response";
      }
    }
    class q extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return q.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new q();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new q();
        return q.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return q.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return q.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCStopped_Response";
      }
    }
    class K extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return K.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new K();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new K();
        return K.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return K.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return K.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCSetAnswer_Response";
      }
    }
    class Q extends i {
      constructor(e = null) {
        super(),
          Q.prototype.sdp_mid || r.a(Q.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Q.sm_m ||
            (Q.sm_m = {
              proto: Q,
              fields: {
                sdp_mid: { n: 1, br: r.d.readString, bw: r.h.writeString },
                sdp_mline_index: {
                  n: 2,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                candidate: { n: 3, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          Q.sm_m
        );
      }
      static MBF() {
        return Q.sm_mbf || (Q.sm_mbf = r.e(Q.M())), Q.sm_mbf;
      }
      toObject(e = !1) {
        return Q.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Q.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Q.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Q();
        return Q.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Q.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Q.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Q.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Q.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTC_Candidate";
      }
    }
    class Y extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new Y();
        return Y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCAddHostCandidate_Response";
      }
    }
    class Z extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return Z.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new Z();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Z();
        return Z.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Z.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Z.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCAddViewerCandidate_Response";
      }
    }
    class J extends i {
      constructor(e = null) {
        super(),
          J.prototype.candidate_generation || r.a(J.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          J.sm_m ||
            (J.sm_m = {
              proto: J,
              fields: {
                candidate_generation: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                candidates: { n: 2, c: Q, r: !0, q: !0 },
              },
            }),
          J.sm_m
        );
      }
      static MBF() {
        return J.sm_mbf || (J.sm_mbf = r.e(J.M())), J.sm_mbf;
      }
      toObject(e = !1) {
        return J.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(J.M(), e, t);
      }
      static fromObject(e) {
        return r.c(J.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new J();
        return J.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(J.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return J.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(J.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return J.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCGetHostCandidates_Response";
      }
    }
    class X extends i {
      constructor(e = null) {
        super(),
          X.prototype.broadcast_session_id || r.a(X.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          X.sm_m ||
            (X.sm_m = {
              proto: X,
              fields: {
                broadcast_session_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          X.sm_m
        );
      }
      static MBF() {
        return X.sm_mbf || (X.sm_mbf = r.e(X.M())), X.sm_mbf;
      }
      toObject(e = !1) {
        return X.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(X.M(), e, t);
      }
      static fromObject(e) {
        return r.c(X.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new X();
        return X.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(X.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return X.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(X.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return X.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCNeedTURNServer_Notification";
      }
    }
    class $ extends i {
      constructor(e = null) {
        super(),
          $.prototype.turn_server || r.a($.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          $.sm_m ||
            ($.sm_m = {
              proto: $,
              fields: {
                turn_server: { n: 1, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          $.sm_m
        );
      }
      static MBF() {
        return $.sm_mbf || ($.sm_mbf = r.e($.M())), $.sm_mbf;
      }
      toObject(e = !1) {
        return $.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g($.M(), e, t);
      }
      static fromObject(e) {
        return r.c($.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new $();
        return $.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b($.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return $.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f($.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return $.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCLookupTURNServer_Response";
      }
    }
    class ee extends i {
      constructor(e = null) {
        super(),
          ee.prototype.broadcast_session_id || r.a(ee.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ee.sm_m ||
            (ee.sm_m = {
              proto: ee,
              fields: {
                broadcast_session_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                webrtc_session_id: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                viewer_steamid: {
                  n: 3,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                viewer_token: {
                  n: 4,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
              },
            }),
          ee.sm_m
        );
      }
      static MBF() {
        return ee.sm_mbf || (ee.sm_mbf = r.e(ee.M())), ee.sm_mbf;
      }
      toObject(e = !1) {
        return ee.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ee.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ee.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ee();
        return ee.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ee.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ee.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ee.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ee.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCStart_Notification";
      }
    }
    class te extends i {
      constructor(e = null) {
        super(),
          te.prototype.broadcast_session_id || r.a(te.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          te.sm_m ||
            (te.sm_m = {
              proto: te,
              fields: {
                broadcast_session_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                webrtc_session_id: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                answer: { n: 3, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          te.sm_m
        );
      }
      static MBF() {
        return te.sm_mbf || (te.sm_mbf = r.e(te.M())), te.sm_mbf;
      }
      toObject(e = !1) {
        return te.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(te.M(), e, t);
      }
      static fromObject(e) {
        return r.c(te.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new te();
        return te.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(te.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return te.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(te.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return te.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCSetAnswer_Notification";
      }
    }
    class ne extends i {
      constructor(e = null) {
        super(),
          ne.prototype.broadcast_session_id || r.a(ne.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ne.sm_m ||
            (ne.sm_m = {
              proto: ne,
              fields: {
                broadcast_session_id: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                webrtc_session_id: {
                  n: 2,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                candidate: { n: 3, c: Q },
              },
            }),
          ne.sm_m
        );
      }
      static MBF() {
        return ne.sm_mbf || (ne.sm_mbf = r.e(ne.M())), ne.sm_mbf;
      }
      toObject(e = !1) {
        return ne.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ne.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ne.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ne();
        return ne.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ne.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ne.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ne.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ne.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CBroadcast_WebRTCAddViewerCandidate_Notification";
      }
    }
    var ae, re;
    !(function (e) {
      (e.BeginBroadcastSession = function (e, t) {
        return e.SendMsg("Broadcast.BeginBroadcastSession#1", t, s, {
          ePrivilege: 1,
        });
      }),
        (e.EndBroadcastSession = function (e, t) {
          return e.SendMsg("Broadcast.EndBroadcastSession#1", t, o, {
            ePrivilege: 1,
          });
        }),
        (e.StartBroadcastUpload = function (e, t) {
          return e.SendMsg("Broadcast.StartBroadcastUpload#1", t, l, {
            ePrivilege: 1,
          });
        }),
        (e.NotifyBroadcastUploadStop = function (e, t) {
          return e.SendNotification(
            "Broadcast.NotifyBroadcastUploadStop#1",
            t,
            { ePrivilege: 1 },
          );
        }),
        (e.WatchBroadcast = function (e, t) {
          return e.SendMsg("Broadcast.WatchBroadcast#1", t, m, {
            ePrivilege: 2,
          });
        }),
        (e.HeartbeatBroadcast = function (e, t) {
          return e.SendNotification("Broadcast.HeartbeatBroadcast#1", t, {
            ePrivilege: 2,
          });
        }),
        (e.StopWatchingBroadcast = function (e, t) {
          return e.SendNotification("Broadcast.StopWatchingBroadcast#1", t, {
            ePrivilege: 2,
          });
        }),
        (e.GetBroadcastStatus = function (e, t) {
          return e.SendMsg("Broadcast.GetBroadcastStatus#1", t, d, {
            ePrivilege: 2,
          });
        }),
        (e.GetBroadcastThumbnail = function (e, t) {
          return e.SendMsg("Broadcast.GetBroadcastThumbnail#1", t, u, {
            ePrivilege: 2,
          });
        }),
        (e.InviteToBroadcast = function (e, t) {
          return e.SendMsg("Broadcast.InviteToBroadcast#1", t, p, {
            ePrivilege: 1,
          });
        }),
        (e.SendBroadcastStateToServer = function (e, t) {
          return e.SendMsg("Broadcast.SendBroadcastStateToServer#1", t, h, {
            ePrivilege: 1,
          });
        }),
        (e.NotifyBroadcastSessionHeartbeat = function (e, t) {
          return e.SendNotification(
            "Broadcast.NotifyBroadcastSessionHeartbeat#1",
            t,
            { ePrivilege: 1 },
          );
        }),
        (e.GetBroadcastChatInfo = function (e, t) {
          return e.SendMsg("Broadcast.GetBroadcastChatInfo#1", t, C, {
            ePrivilege: 2,
          });
        }),
        (e.PostChatMessage = function (e, t) {
          return e.SendMsg("Broadcast.PostChatMessage#1", t, B, {
            ePrivilege: 3,
          });
        }),
        (e.UpdateChatMessageFlair = function (e, t) {
          return e.SendMsg("Broadcast.UpdateChatMessageFlair#1", t, D, {
            ePrivilege: 1,
          });
        }),
        (e.MuteBroadcastChatUser = function (e, t) {
          return e.SendMsg("Broadcast.MuteBroadcastChatUser#1", t, T, {
            ePrivilege: 3,
          });
        }),
        (e.RemoveUserChatText = function (e, t) {
          return e.SendMsg("Broadcast.RemoveUserChatText#1", t, j, {
            ePrivilege: 3,
          });
        }),
        (e.GetBroadcastChatUserNames = function (e, t) {
          return e.SendMsg("Broadcast.GetBroadcastChatUserNames#1", t, A, {
            ePrivilege: 1,
          });
        }),
        (e.StartBuildClip = function (e, t) {
          return e.SendMsg("Broadcast.StartBuildClip#1", t, M, {
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.GetBuildClipStatus = function (e, t) {
          return e.SendMsg("Broadcast.GetBuildClipStatus#1", t, P, {
            bConstMethod: !0,
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.SetClipDetails = function (e, t) {
          return e.SendMsg("Broadcast.SetClipDetails#1", t, L, {
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.GetClipDetails = function (e, t) {
          return e.SendMsg("Broadcast.GetClipDetails#1", t, G, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.SetRTMPInfo = function (e, t) {
          return e.SendMsg("Broadcast.SetRTMPInfo#1", t, N, { ePrivilege: 1 });
        }),
        (e.GetRTMPInfo = function (e, t) {
          return e.SendMsg("Broadcast.GetRTMPInfo#1", t, F, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.NotifyWebRTCHaveTURNServer = function (e, t) {
          return e.SendNotification(
            "Broadcast.NotifyWebRTCHaveTURNServer#1",
            t,
            { ePrivilege: 1 },
          );
        }),
        (e.WebRTCStartResult = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCStartResult#1", t, V, {
            ePrivilege: 1,
          });
        }),
        (e.WebRTCStopped = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCStopped#1", t, q, {
            ePrivilege: 1,
          });
        }),
        (e.WebRTCSetAnswer = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCSetAnswer#1", t, K, {
            ePrivilege: 1,
          });
        }),
        (e.WebRTCLookupTURNServer = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCLookupTURNServer#1", t, $, {
            ePrivilege: 1,
          });
        }),
        (e.WebRTCAddHostCandidate = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCAddHostCandidate#1", t, Y, {
            ePrivilege: 1,
          });
        }),
        (e.WebRTCAddViewerCandidate = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCAddViewerCandidate#1", t, Z, {
            ePrivilege: 1,
          });
        }),
        (e.WebRTCGetHostCandidates = function (e, t) {
          return e.SendMsg("Broadcast.WebRTCGetHostCandidates#1", t, J, {
            ePrivilege: 1,
          });
        }),
        (e.GetBroadcastUploadStats = function (e, t) {
          return e.SendMsg("Broadcast.GetBroadcastUploadStats#1", t, x, {
            bConstMethod: !0,
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.GetBroadcastViewerStats = function (e, t) {
          return e.SendMsg("Broadcast.GetBroadcastViewerStats#1", t, U, {
            bConstMethod: !0,
            ePrivilege: 1,
            eWebAPIKeyRequirement: 2,
          });
        });
    })(ae || (ae = {})),
      (function (e) {
        (e.NotifyBroadcastViewerStateHandler = {
          name: "BroadcastClient.NotifyBroadcastViewerState#1",
          request: _,
        }),
          (e.NotifyWaitingBroadcastViewerHandler = {
            name: "BroadcastClient.NotifyWaitingBroadcastViewer#1",
            request: g,
          }),
          (e.NotifyBroadcastUploadStartedHandler = {
            name: "BroadcastClient.NotifyBroadcastUploadStarted#1",
            request: c,
          }),
          (e.NotifyStopBroadcastUploadHandler = {
            name: "BroadcastClient.NotifyStopBroadcastUpload#1",
            request: b,
          }),
          (e.NotifySessionClosedHandler = {
            name: "BroadcastClient.NotifySessionClosed#1",
            request: f,
          }),
          (e.NotifyViewerBroadcastInviteHandler = {
            name: "BroadcastClient.NotifyViewerBroadcastInvite#1",
            request: E,
          }),
          (e.NotifyBroadcastStatusHandler = {
            name: "BroadcastClient.NotifyBroadcastStatus#1",
            request: v,
          }),
          (e.NotifyBroadcastChannelLiveHandler = {
            name: "BroadcastClient.NotifyBroadcastChannelLive#1",
            request: S,
          }),
          (e.SendThumbnailToRelayHandler = {
            name: "BroadcastClient.SendThumbnailToRelay#1",
            request: y,
          }),
          (e.NotifyWebRTCNeedTURNServerHandler = {
            name: "BroadcastClient.NotifyWebRTCNeedTURNServer#1",
            request: X,
          }),
          (e.NotifyWebRTCStartHandler = {
            name: "BroadcastClient.NotifyWebRTCStart#1",
            request: ee,
          }),
          (e.NotifyWebRTCSetAnswerHandler = {
            name: "BroadcastClient.NotifyWebRTCSetAnswer#1",
            request: te,
          }),
          (e.NotifyWebRTCAddViewerCandidateHandler = {
            name: "BroadcastClient.NotifyWebRTCAddViewerCandidate#1",
            request: ne,
          });
      })(re || (re = {}));
  },
  OJUs: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    }),
      n.d(t, "b", function () {
        return c;
      }),
      n.d(t, "c", function () {
        return d;
      }),
      n.d(t, "e", function () {
        return u;
      }),
      n.d(t, "d", function () {
        return m;
      }),
      n.d(t, "f", function () {
        return h;
      }),
      n.d(t, "g", function () {
        return _;
      });
    var a = n("vDqi"),
      r = n.n(a),
      i = n("q1tI"),
      s = (n("Cug9"), n("Q8oI"), n("RYKw"), n("KT6v")),
      o = (n("PEc5"), n("A5uu"));
    function l(e, t, n, a) {
      const s = Object(i.useRef)(),
        l = Object(i.useRef)(void 0);
      s.current = e;
      const [c, d] = Object(i.useState)(void 0),
        {
          include_assets: u,
          include_release: m,
          include_platforms: p,
          include_all_purchase_options: h,
          include_screenshots: _,
          include_trailers: g,
          include_ratings: b,
          include_tag_count: f,
          include_reviews: v,
          include_basic_info: S,
          include_supported_languages: y,
        } = n;
      if (
        (Object(i.useEffect)(() => {
          const n = {
            include_assets: u,
            include_release: m,
            include_platforms: p,
            include_all_purchase_options: h,
            include_screenshots: _,
            include_trailers: g,
            include_ratings: b,
            include_tag_count: f,
            include_reviews: v,
            include_basic_info: S,
            include_supported_languages: y,
          };
          if (
            !e ||
            o.a.Get().BHasStoreItem(e, t, n) ||
            (void 0 !== c && a == l.current)
          )
            return;
          l.current = a;
          const i = r.a.CancelToken.source();
          return (
            o.a
              .Get()
              .QueueStoreItemRequest(e, t, n)
              .then((t) => {
                i.token.reason || s.current !== e || d(1 == t);
              }),
            () => i.cancel("useStoreItemCache: unmounting")
          );
        }, [e, t, a, c, u, m, p, h, _, g, b, f, v, S, y]),
        !e)
      )
        return [null, 2];
      if (!1 === c) return [void 0, 2];
      if (o.a.Get().BIsStoreItemMissing(e, t)) return [void 0, 2];
      if (!o.a.Get().BHasStoreItem(e, t, n)) return [void 0, 1];
      const E = o.a.Get().GetStoreItem(e, t);
      return (null == E ? void 0 : E.BIsVisible()) ? [E, 3] : [null, 2];
    }
    function c(e, t, n) {
      return l(e, 0, t, n);
    }
    function d(e, t, n) {
      return l(e, 2, t, n);
    }
    function u(e, t, n) {
      return l(e, 1, t, n);
    }
    function m(e, t, n) {
      const [a, s] = l(e, t, n),
        [o, d] = Object(i.useState)(null),
        [u, m] = c(o, n);
      return (
        Object(i.useEffect)(() => {
          var e;
          const t = r.a.CancelToken.source();
          if (
            1 == (null == a ? void 0 : a.GetStoreItemType()) &&
            1 == (null == a ? void 0 : a.GetIncludedAppIDs().length)
          ) {
            const n = a.GetIncludedAppIDs()[0];
            o != n &&
              ((null === (e = null == t ? void 0 : t.token) || void 0 === e
                ? void 0
                : e.reason) ||
                d(n));
          }
          return () =>
            t.cancel("useStoreItemCacheOrPackageSingleApp: unmounting");
        }, [o, a]),
        o ? [u, m] : [a, s]
      );
    }
    function p(e, t, n, a) {
      const l = Object(s.f)(),
        {
          include_assets: c,
          include_release: d,
          include_platforms: u,
          include_all_purchase_options: m,
          include_screenshots: p,
          include_trailers: h,
          include_ratings: _,
          include_tag_count: g,
          include_reviews: b,
          include_basic_info: f,
          include_supported_languages: v,
        } = n;
      if (
        (Object(i.useEffect)(() => {
          if (!e || 0 == e.length) return;
          const n = {
              include_assets: c,
              include_release: d,
              include_platforms: u,
              include_all_purchase_options: m,
              include_screenshots: p,
              include_trailers: h,
              include_ratings: _,
              include_tag_count: g,
              include_reviews: b,
              include_basic_info: f,
              include_supported_languages: v,
            },
            a = e.filter((e) => !o.a.Get().BHasStoreItem(e, t));
          if (0 == a.length) return;
          const i = r.a.CancelToken.source(),
            s = a.map((e) => o.a.Get().QueueStoreItemRequest(e, t, n));
          return (
            Promise.all(s).then(() => {
              i.token.reason || l();
            }),
            () => i.cancel("useStoreItemCacheMultiplePackages: unmounting")
          );
        }, [e, t, a, l, c, d, u, m, p, h, _, g, b, f, v]),
        !e)
      )
        return 2;
      if (
        !e.every(
          (e) =>
            o.a.Get().BHasStoreItem(e, t, n) ||
            o.a.Get().BIsStoreItemMissing(e, t),
        )
      )
        return 1;
      return e.every((e) => {
        var n;
        return null === (n = o.a.Get().GetStoreItem(e, t)) || void 0 === n
          ? void 0
          : n.BIsVisible();
      })
        ? 3
        : 2;
    }
    function h(e, t, n) {
      return p(e, 0, t, n);
    }
    function _(e, t, n) {
      return p(e, 1, t, n);
    }
  },
  OSG2: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a = n("Cug9"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("xvkT"),
      o = (n("AQa9"), n("agHs"));
    function l(e) {
      return new o.c(new o.b(), 0);
    }
    function c(e) {
      const { text: t, languageOverride: n } = e,
        [o] = Object(r.useState)(
          new a.a(new Map([...Array.from(s.c.entries())]), l, n),
        );
      return i.a.createElement(i.a.Fragment, null, o.ParseBBCode(t, {}));
    }
  },
  OVpQ: function (e, t, n) {
    e.exports = {
      fullscreen_bg: "contenthubpartnertakeover_fullscreen_bg_3YjZb",
      fullscreen_bg__video:
        "contenthubpartnertakeover_fullscreen_bg__video_1A7MF",
      fullscreen_bg__video_mobile:
        "contenthubpartnertakeover_fullscreen_bg__video_mobile_Ngifl",
      store_bg_overlay: "contenthubpartnertakeover_store_bg_overlay_2P4-a",
      gradient_width: "contenthubpartnertakeover_gradient_width_3c8AQ",
    };
  },
  "OW+i": function (e, t, n) {
    "use strict";
  },
  OZLa: function (e, t, n) {
    e.exports = {
      DemoButton: "demobutton_DemoButton_3tcqz",
      DisabledButton: "demobutton_DisabledButton_3Y_aA",
    };
  },
  OeiR: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return u;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("KT6v"),
      s = n("TyAF"),
      o = n("+h+B"),
      l = n("3wCP"),
      c = n("Co9h"),
      d = n.n(c);
    let u = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.m_listeners = new o.c()),
          (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: n,
            className: i,
            style: s,
            bEnablePointerEvents: o,
            direction: c,
            nBodyAlignment: u,
            nBodyDistance: m,
            nAllowOffscreenPx: p,
            nMaxLateralMoveOnScreen: h,
            children: _,
            onNoSpace: g,
            onWindowBlur: b,
          } = e,
          f = Object(a.c)(e, [
            "target",
            "visibilityObserver",
            "className",
            "style",
            "bEnablePointerEvents",
            "direction",
            "nBodyAlignment",
            "nBodyDistance",
            "nAllowOffscreenPx",
            "nMaxLateralMoveOnScreen",
            "children",
            "onNoSpace",
            "onWindowBlur",
          ]);
        let v = Object.assign({ left: this.state.x, top: this.state.y }, s),
          S = !n || n.visible;
        return r.createElement(
          "div",
          Object.assign({}, f, {
            className: Object(l.a)(
              i,
              d.a.HoverPosition,
              S && this.state.hoverPositionReady && d.a.Ready,
              this.m_bNoSpace && d.a.NoSpace,
              o && d.a.EnablePointerEvents,
            ),
            style: v,
            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 n = t.ownerDocument.defaultView;
        if (!n || n.closed) return;
        const a = e.querySelector(".hover_arrow.left"),
          r = e.querySelector(".hover_arrow.right"),
          i = 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;
        a && a.setAttribute("style", "display: none;"),
          r && r.setAttribute("style", "display: none;"),
          i && i.setAttribute("style", "display: none;"),
          s && s.setAttribute("style", "display: none;");
        let d = this.props.direction,
          {
            nLeft: u,
            nTop: p,
            nOverflow: h,
            nLateralOverflow: _,
          } = m(
            d,
            this.props.nBodyAlignment,
            this.props.nBodyDistance,
            o,
            l,
            n.innerWidth,
            n.innerHeight,
          );
        if (h > 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: a,
              nTop: r,
              nOverflow: i,
              nLateralOverflow: s,
            } = m(
              t,
              this.props.nBodyAlignment,
              this.props.nBodyDistance,
              o,
              l,
              n.innerWidth,
              n.innerHeight,
            );
          if (
            (i < h && ((d = t), (u = a), (p = r), (h = i), (_ = s)),
            h > this.props.nAllowOffscreenPx)
          )
            return (
              e.setAttribute("style", "display: none;"),
              (this.m_bNoSpace = !0),
              void (this.props.onNoSpace && this.props.onNoSpace())
            );
        }
        0 === this.props.nMaxLateralMoveOnScreen ||
          c ||
          ([p, u] = (function (e, t, n, a, r) {
            let i = Math.max(t[0], t[1]);
            void 0 !== e && (i = Math.min(e, i));
            i = Math.max(0, i);
            const s = t[0] > t[1] ? i : -i;
            "left" === n || "right" === n ? (a += s) : (r += s);
            return [a, r];
          })(this.props.nMaxLateralMoveOnScreen, _, d, p, u));
        let g = null;
        switch (d) {
          case "left":
            g = r;
            break;
          case "right":
            g = a;
            break;
          case "top":
            g = s;
            break;
          case "bottom":
            g = i;
        }
        g && g.setAttribute("style", ""),
          u != this.state.x && this.setState({ x: u }),
          p != this.state.y && this.setState({ y: p }),
          this.state.hoverPositionReady ||
            this.setState({ hoverPositionReady: !0 });
      }
    };
    function m(e, t, n, a, r, i, s) {
      const o = i,
        l = s;
      let c, d, u, m;
      switch (e) {
        case "right":
          (c = a.right + n),
            (d = p(a.top, a.height, r.height, t)),
            (u = Math.max(0, c + r.width - o)),
            (m = [Math.max(0, 0 - d), Math.max(0, d + r.height - l)]);
          break;
        case "left":
          (c = a.left - n - r.width),
            (d = p(a.top, a.height, r.height, t)),
            (u = Math.max(0, 0 - c)),
            (m = [Math.max(0, 0 - d), Math.max(0, d + r.height - l)]);
          break;
        case "bottom":
          (c = p(a.left, a.width, r.width, t)),
            (d = a.bottom + n),
            (u = Math.max(0, d + r.height - l)),
            (m = [Math.max(0, 0 - c), Math.max(0, c + r.width - o)]);
          break;
        case "top":
          (c = p(a.left, a.width, r.width, t)),
            (d = a.top - n - r.height),
            (u = Math.max(0, 0 - d)),
            (m = [Math.max(0, 0 - c), Math.max(0, c + r.width - o)]);
          break;
        case "overlay":
          (c = a.left), (d = a.top), (u = 0), (m = [0, 0]);
          break;
        case "overlay-center":
          (c = a.left + 0.5 * a.width - 0.5 * r.width),
            (d = a.top + 0.5 * a.height - 0.5 * r.height),
            (u = 0),
            (m = [0, 0]);
      }
      return { nLeft: c, nTop: d, nOverflow: u, nLateralOverflow: m };
    }
    function p(e, t, n, a) {
      return Math.max(0, Math.min(1, a)) * (t - n) + e;
    }
    (u.defaultProps = {
      direction: "right",
      nBodyAlignment: 0.5,
      nAllowOffscreenPx: 10,
      nBodyDistance: 8,
      nMaxLateralMoveOnScreen: void 0,
    }),
      Object(a.b)([i.b], u.prototype, "bindHover", null),
      Object(a.b)([i.b], u.prototype, "OnWindowBlur", null),
      (u = Object(a.b)([s.a], u));
  },
  OsUa: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    }),
      n.d(t, "b", function () {
        return h;
      });
    var a = n("mrSG"),
      r = n("EVHR"),
      i = n("vDqi"),
      s = n.n(i),
      o = n("2vnA"),
      l = n("q1tI"),
      c = (n("Q8oI"), n("GCjA")),
      d = (n("oeZY"), n("hc+a")),
      u = (n("/loZ"), n("aaBf"));
    class m {
      constructor() {
        (this.m_mapClanToCreatorHome = new Map()),
          (this.m_mapAppToCreatorIDList = new Map()),
          (this.m_bLoadedFromConfig = !1);
      }
      LazyInit() {
        if (!this.m_bLoadedFromConfig) {
          let e = Object(u.g)("creatorhome", "application_config");
          this.ValidateStoreDefault(e) &&
            e.forEach((e) => {
              let t = Number(e.creator_clan_id),
                n = d.a.InitFromClanID(t),
                a = new c.a(n);
              a.Initialize(e),
                (a.m_promise = m.GetAsPromise(a)),
                this.m_mapClanToCreatorHome.set(t, a);
            });
          let t = Object(u.g)("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 Object(a.a)(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 Object(a.a)(this, void 0, void 0, function* () {
          if (
            (this.LazyInit(),
            !this.m_mapClanToCreatorHome.has(e.GetAccountID()))
          ) {
            let n = new c.a(e);
            (n.m_promise = this.InternalCreatorHome(n, t)),
              yield n.m_promise,
              this.m_mapClanToCreatorHome.set(e.GetAccountID(), n);
          }
          return this.m_mapClanToCreatorHome.get(e.GetAccountID()).m_promise;
        });
      }
      InternalCreatorHome(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = { get_appids: !0, l: u.c.LANGUAGE, origin: self.origin },
            a =
              u.c.STORE_BASE_URL +
              "curator/" +
              e.GetClanAccountID() +
              "/ajaxgetcreatorhomeinfo",
            r = yield s.a.get(a, { params: n, cancelToken: t && t.token });
          return e.Initialize(r.data), e;
        });
      }
      LoadCreatorHomeListForAppIncludeHiddden(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if ((this.LazyInit(), !this.m_mapAppToCreatorIDList.has(e))) {
            let n = { appid: e },
              a = u.c.STORE_BASE_URL + "events/ajaxgetcreatorhomeidforapp",
              r = yield s.a.get(a, {
                params: n,
                cancelToken: t && t.token,
                withCredentials: !0,
              });
            this.m_mapAppToCreatorIDList.set(e, r.data.creator_list);
          }
          return this.m_mapAppToCreatorIDList.get(e);
        });
      }
      SearchCreatorHomeStore(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = `${u.c.STORE_BASE_URL}curator/0/ajaxsearchcurators`,
            r = {
              term: e.replace(" ", "+"),
              require_creator: t,
              cc: u.c.COUNTRY,
              l: u.c.LANGUAGE,
            },
            i = new Array();
          const l = yield s.a.get(a, { params: r, cancelToken: n.token });
          return (
            l.data.curators &&
              Object(o.G)(() => {
                l.data.curators.forEach((e) => {
                  if (!this.m_mapClanToCreatorHome.has(e.creator_clan_id)) {
                    let t = d.a.InitFromClanID(e.creator_clan_id),
                      n = new c.a(t);
                    n.Initialize(e),
                      this.m_mapClanToCreatorHome.set(e.creator_clan_id, n);
                  }
                  i.push(this.m_mapClanToCreatorHome.get(e.creator_clan_id));
                });
              }),
            i
          );
        });
      }
      GetCreatorHomeListForAppIncludeHidden(e) {
        return this.m_mapAppToCreatorIDList.has(e)
          ? this.m_mapAppToCreatorIDList.get(e)
          : [];
      }
    }
    Object(a.b)([o.C], m.prototype, "m_mapClanToCreatorHome", void 0),
      Object(a.b)([o.C], m.prototype, "m_mapAppToCreatorIDList", void 0),
      Object(a.b)([o.k], m.prototype, "LazyInit", null);
    const p = new m();
    function h(e) {
      var t;
      const n = d.a.InitFromClanID(e),
        [a, i] = l.useState(p.GetCreatorHome(n)),
        s = Object(r.a)("useCreatorHome");
      return (
        l.useEffect(() => {
          const t = d.a.InitFromClanID(e);
          p.BHasCreatorHomeLoaded(t)
            ? a || i(p.GetCreatorHome(t))
            : p.LoadCreatorHome(t).then(() => {
                var e;
                (null === (e = null == s ? void 0 : s.token) || void 0 === e
                  ? void 0
                  : e.reason) || i(p.GetCreatorHome(t));
              });
        }, [
          null === (t = null == s ? void 0 : s.token) || void 0 === t
            ? void 0
            : t.reason,
          e,
          a,
        ]),
        a
      );
    }
    window.g_CreatorHomeStore = p;
  },
  P3Li: function (e, t, n) {
    e.exports = {
      DiscountGridCtn: "discountgrid_DiscountGridCtn_3THze",
      Title: "discountgrid_Title_ieZ0L",
      DiscountsFilterBar: "discountgrid_DiscountsFilterBar_1Rr15",
      DiscountSelectDropDown: "discountgrid_DiscountSelectDropDown_1vpeL",
      DiscountFilterCheckbox: "discountgrid_DiscountFilterCheckbox_2K2Ri",
      UpdatingMessage: "discountgrid_UpdatingMessage_13PLU",
      DiscountGrid: "discountgrid_DiscountGrid_39Ize",
      DataCell: "discountgrid_DataCell_3V8Jb",
      DiscountInput: "discountgrid_DiscountInput_2bWSQ",
      HasDiscount: "discountgrid_HasDiscount_16Z51",
      LiveEvent: "discountgrid_LiveEvent_MJbOk",
      DiscountValueCtn: "discountgrid_DiscountValueCtn_At0eU",
      ConflictWarning: "discountgrid_ConflictWarning_3ypGB",
      NeedsOptIn: "discountgrid_NeedsOptIn_Wp6D3",
      RegistrationLink: "discountgrid_RegistrationLink_2pjYa",
      TheLinkItself: "discountgrid_TheLinkItself_3ku7C",
      CellPct: "discountgrid_CellPct_xbyPg",
      TextCell: "discountgrid_TextCell_30Pxi",
      ResetButton: "discountgrid_ResetButton_1lJpM",
      ResetButtonCtn: "discountgrid_ResetButtonCtn_2fvde",
      IneligibleNoApp: "discountgrid_IneligibleNoApp_UrglO",
      ChangedLocally: "discountgrid_ChangedLocally_zv4km",
      DiscountTooHigh: "discountgrid_DiscountTooHigh_GACCx",
      DiscountTooLow: "discountgrid_DiscountTooLow_17g5Z",
      DiscountRangeWarning: "discountgrid_DiscountRangeWarning_2_w-X",
      ConflictToolTip: "discountgrid_ConflictToolTip_1nSci",
      ConflictText: "discountgrid_ConflictText_28b0O",
      ConflictExplanationText: "discountgrid_ConflictExplanationText_nBw6v",
      ConflictDetailText: "discountgrid_ConflictDetailText_2OS_F",
      EventTitle: "discountgrid_EventTitle_3FDJP",
      EventDates: "discountgrid_EventDates_vmimx",
    };
  },
  PEc5: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a = n("2vnA"),
      r = (n("AQa9"), n("Q8oI"), n("JuuX"), n("RYKw"), n("xSFm")),
      i = n("fvA7"),
      s = n("CqJL"),
      o = n("exEy"),
      l = n("aaBf");
    class c {
      constructor(e, t) {
        var n, a, r;
        (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 === (n = e.related_items()) || void 0 === n
              ? void 0
              : n.toObject()),
          (this.m_ContentDescriptorIDs = e.content_descriptorids()),
          (this.m_StoreCategories = e.categories().toObject()),
          (this.m_BestPurchaseOption =
            null === (a = e.best_purchase_option()) || void 0 === a
              ? void 0
              : a.toObject()),
          (this.m_strStoreURLPathOverride = e.store_url_path_override()),
          (this.m_freeWeekend =
            null === (r = e.free_weekend()) || void 0 === r
              ? void 0
              : r.toObject()),
          this.MergeData(e, t);
      }
      MergeData(e, t) {
        t.include_assets &&
          !this.m_Assets &&
          ((this.m_Assets = new u(e.assets(), e.id())),
          (this.m_DataRequested.include_assets = !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 h(e.screenshots())),
            (this.m_DataRequested.include_screenshots = !0)),
          t.include_trailers &&
            !this.m_Trailers &&
            ((this.m_Trailers = new m(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 c.BDataRequestContainsOtherDataRequest(this.m_DataRequested, e);
      }
      BCheckDataRequestIncluded(e) {
        ("dev" != l.c.WEB_UNIVERSE && "beta" != l.c.WEB_UNIVERSE) ||
          Object(i.a)(
            this.BContainDataRequest(e),
            `Requested data without for ${Object(r.h)(this.m_eItemType)} @ ${this.m_unID}`,
            Object(a.I)(e),
            Object(a.I)(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 l.c.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()
          ? l.c.COMMUNITY_BASE_URL + "app/" + this.GetAppID()
          : null;
      }
      GetCommunityDiscussionForumsURL() {
        return this.GetAppID()
          ? l.c.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, n, a;
        return (
          this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
          null !==
            (a =
              null ===
                (n =
                  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 === n
                ? void 0
                : n.filter((e) => (null == e ? void 0 : e.length) > 0)) &&
          void 0 !== a
            ? a
            : []
        );
      }
      GetFranchiseNames() {
        var e, t, n, a;
        return (
          this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
          null !==
            (a =
              null ===
                (n =
                  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 === n
                ? void 0
                : n.filter((e) => (null == e ? void 0 : e.length) > 0)) &&
          void 0 !== a
            ? a
            : []
        );
      }
      GetPublisherNames() {
        var e, t, n, a;
        this.BCheckDataRequestIncluded({ include_basic_info: !0 });
        const r =
          null !==
            (a =
              null ===
                (n =
                  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 === n
                ? void 0
                : n.filter((e) => (null == e ? void 0 : e.length) > 0)) &&
          void 0 !== a
            ? a
            : [];
        return (null == r ? void 0 : r.length) > 0
          ? r
          : this.GetDeveloperNames();
      }
      GetAllCreatorClanIDs() {
        return (
          this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
          this.m_BasicInfo
            ? d([
                ...this.m_BasicInfo.developers,
                ...this.m_BasicInfo.publishers,
                ...this.m_BasicInfo.franchises,
              ])
            : []
        );
      }
      GetAllPublisherCreatorClans() {
        return (
          this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
          this.m_BasicInfo ? d(this.m_BasicInfo.publishers) : []
        );
      }
      GetAllDeveloperCreatorClans() {
        return (
          this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
          this.m_BasicInfo ? d(this.m_BasicInfo.developers) : []
        );
      }
      GetAllFranchiseCreatorClans() {
        return (
          this.BCheckDataRequestIncluded({ include_basic_info: !0 }),
          this.m_BasicInfo ? d(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
        );
      }
      GetReleaseDateRTime() {
        var e, t, n;
        if (
          (this.BCheckDataRequestIncluded({ include_release: !0 }),
          null === (e = this.m_ReleaseInfo) || void 0 === e
            ? void 0
            : e.is_coming_soon)
        )
          return 0;
        let a =
          null === (t = this.m_ReleaseInfo) || void 0 === t
            ? void 0
            : t.steam_release_date;
        return (
          a ||
            (a =
              null === (n = this.m_ReleaseInfo) || void 0 === n
                ? void 0
                : n.original_release_date),
          a
        );
      }
      GetFormattedSteamReleaseDate() {
        var e;
        this.BCheckDataRequestIncluded({ include_release: !0 });
        const t = this.GetReleaseDateRTime();
        return (
          null === (e = this.m_ReleaseInfo) || void 0 === e
            ? void 0
            : e.is_abridged_release_date
        )
          ? t
            ? Object(o.a)(new Date(1e3 * t))
            : ""
          : t
            ? Object(s.p)(t)
            : "";
      }
      BIsComingSoon() {
        var e;
        return (
          this.BCheckDataRequestIncluded({ include_release: !0 }),
          null === (e = this.m_ReleaseInfo) || void 0 === e
            ? void 0
            : e.is_coming_soon
        );
      }
      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, n;
        return null !==
          (t =
            null === (e = this.m_BestPurchaseOption) || void 0 === e
              ? void 0
              : e.formatted_original_price) && void 0 !== t
          ? t
          : null === (n = this.m_BestPurchaseOption) || void 0 === n
            ? void 0
            : n.formatted_final_price;
      }
      GetAllPurchaseOptions() {
        return (
          this.BCheckDataRequestIncluded({ include_all_purchase_options: !0 }),
          this.m_rgPurchaseOptions
        );
      }
      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) {
        return (
          this.BCheckDataRequestIncluded({ include_supported_languages: !0 }),
          this.m_rgSupportedLanguages.some(
            (t) =>
              t.elanguage == e && (t.supported || t.subtitles || t.full_audio),
          )
        );
      }
      GetAllLanguagesWithSomeSupport() {
        return (
          this.BCheckDataRequestIncluded({ include_supported_languages: !0 }),
          this.m_rgSupportedLanguages
            .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;
      }
    }
    function d(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 u {
      constructor(e, t) {
        const n = e.asset_url_format();
        n &&
          (e.main_capsule() &&
            (this.m_strMainCapsuleURL = this.ConstructAssetURL(
              n,
              e.main_capsule(),
            )),
          e.small_capsule() &&
            (this.m_strSmallCapsuleURL = this.ConstructAssetURL(
              n,
              e.small_capsule(),
            )),
          e.header() &&
            (this.m_strHeaderURL = this.ConstructAssetURL(n, e.header())),
          e.package_header() &&
            (this.m_strPackageHeaderURL = this.ConstructAssetURL(
              n,
              e.package_header(),
            )),
          e.page_background() &&
            (this.m_strPageBackgroundURL = this.ConstructAssetURL(
              n,
              e.page_background(),
            )),
          e.hero_capsule() &&
            (this.m_strHeroCapsuleURL = this.ConstructAssetURL(
              n,
              e.hero_capsule(),
            )),
          e.hero_capsule_2x() &&
            (this.m_strHeroCapsuleURL_2x = this.ConstructAssetURL(
              n,
              e.hero_capsule_2x(),
            )),
          e.library_capsule() &&
            (this.m_strLibraryCapsuleURL = this.ConstructAssetURL(
              n,
              e.library_capsule(),
            )),
          e.library_capsule_2x() &&
            (this.m_strLibraryCapsuleURL_2x = this.ConstructAssetURL(
              n,
              e.library_capsule_2x(),
            )),
          e.library_hero() &&
            (this.m_strLibraryHeroURL = this.ConstructAssetURL(
              n,
              e.library_hero(),
            )),
          e.library_hero_2x() &&
            (this.m_strLibraryHeroURL_2x = this.ConstructAssetURL(
              n,
              e.library_hero_2x(),
            ))),
          e.community_icon() &&
            (this.m_strCommunityIcon = `${l.c.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 l.c.MEDIA_CDN_URL + e.replace("${FILENAME}", t);
      }
      GetCommunityIconURL() {
        return this.m_strCommunityIcon;
      }
    }
    class m {
      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 p(e);
              this.m_mapTrailer.set(t.GetTrailerID(), t),
                this.m_higherTrailers.push(t);
            }),
          e.other_trailers() &&
            e.other_trailers().forEach((e) => {
              let t = new p(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 p {
      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 n = {};
        return (
          t.forEach((t) => {
            "video/mp4" == t.type()
              ? (n.strMP4URL = this.ConstructAssetURL(e, t.filename()))
              : "video/webm" == t.type() &&
                (n.strWebMURL = this.ConstructAssetURL(e, t.filename()));
          }),
          n
        );
      }
      ConstructAssetURL(e, t) {
        return l.c.MEDIA_CDN_URL + e.replace("${FILENAME}", t);
      }
    }
    class h {
      constructor(e) {
        (this.m_rgAllScreenshots = new Array()),
          (this.m_rgOnlyAllAgesScreenshots = new Array());
        let t = 0,
          n = 0;
        const a = e.all_ages_screenshots() || [],
          r = e.mature_content_screenshots() || [];
        for (; t < a.length || n < r.length; ) {
          let e = t < a.length;
          if (t < a.length && n < r.length) {
            e = a[t].ordinal() < r[n].ordinal();
          }
          if (e) {
            const e = l.c.MEDIA_CDN_URL + a[t].filename();
            this.m_rgAllScreenshots.push(e),
              this.m_rgOnlyAllAgesScreenshots.push(e),
              (t += 1);
          } else {
            const e = l.c.MEDIA_CDN_URL + r[n].filename();
            this.m_rgAllScreenshots.push(e), (n += 1);
          }
        }
      }
      GetAllAgesAndMatureScreenshots() {
        return this.m_rgAllScreenshots;
      }
      GetOnlyAllAgesScreenshots() {
        return this.m_rgOnlyAllAgesScreenshots;
      }
    }
  },
  PHMo: function (e, t, n) {
    e.exports = {
      EmailTypesCtn: "optin_admin_email_dashboard_EmailTypesCtn_4xCBy",
      EmailsCtn: "optin_admin_email_dashboard_EmailsCtn_30DZ2",
      TileContainer: "optin_admin_email_dashboard_TileContainer_2dKmv",
      EmailType: "optin_admin_email_dashboard_EmailType_2Jicc",
      EmailDesc: "optin_admin_email_dashboard_EmailDesc_1CE8C",
      EmailStatusTodo: "optin_admin_email_dashboard_EmailStatusTodo_3bvme",
      EmailTitle: "optin_admin_email_dashboard_EmailTitle_ZubnX",
      Selected: "optin_admin_email_dashboard_Selected_UaNa5",
    };
  },
  PVYc: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return c;
      });
    var a,
      r = n("vDqi"),
      i = n.n(r),
      s = (n("4Dd6"), n("aaBf")),
      o = (n("Q8oI"), n("6Uth"), n("v2zI"), n("+h+B")),
      l = n("vfQD");
    !(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");
    })(a || (a = {}));
    const c = 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 o.b()),
          (this.m_scheduledFutureStats = new o.b()),
          (this.m_scheduledPastStats = new o.b());
      }
      RecordViewedEvent(e, t) {
        const n = e.GetStoreInitializationTimestamp().getTime() / 1e3;
        this.m_nFutureViewableEvents = 0;
        let a,
          r = 0,
          i = null;
        const s = e.GetCurrentlyLoadedItemsForStats();
        for (const e of s) {
          const s = e.start_time > n;
          if ((e.unique_id == t && ((a = r), (i = e)), s))
            this.m_nFutureViewableEvents++;
          else if (void 0 !== a) break;
          r++;
        }
        if (void 0 !== a)
          if (a < this.m_nFutureViewableEvents) {
            const t = this.m_nFutureViewableEvents - a;
            if (this.m_nFutureViewedIndex < t) {
              this.m_nFutureViewedIndex = t;
              const n = () => {
                  const t =
                    Math.min(this.m_nFutureViewedIndex, 4095) |
                    (Math.min(this.m_nFutureViewableEvents, 255) << 12) |
                    (Math.min(this.GetTimeSpentOnPageS(e), 2047) << 20);
                  c.SendExperimentEventToSteam(18, t);
                },
                a = 500;
              this.m_scheduledFutureStats.Schedule(a, n);
            }
          } else {
            const t = a - this.m_nFutureViewableEvents;
            if (this.m_nPastViewedIndex < t) {
              (this.m_nPastViewedIndex = t),
                (this.m_nPastViewedDays = Math.floor(
                  (n - i.start_time) / 86400,
                ));
              const a = () => {
                  const t =
                    Math.min(this.m_nPastViewedIndex, 4095) |
                    (Math.min(this.m_nPastViewedDays, 255) << 12) |
                    (Math.min(this.GetTimeSpentOnPageS(e), 2047) << 20);
                  c.SendExperimentEventToSteam(17, t);
                },
                r = 500;
              this.m_scheduledPastStats.Schedule(r, a);
            }
          }
      }
      RecordFilterChangeEvent(e) {
        this.m_scheduledFilterChange.Schedule(1e3, () => {
          let t = 0;
          e.BIsGameSourceAllowed(l.c.k_ELibrary) && (t |= 1),
            e.BIsGameSourceAllowed(l.c.k_EWishlist) && (t |= 2),
            e.BIsGameSourceAllowed(l.c.k_EFollowing) && (t |= 4),
            e.BIsGameSourceAllowed(l.c.k_ERecommended) && (t |= 8),
            e.BIsGameSourceAllowed(l.c.k_ESteam) && (t |= 16),
            e.BIsGameSourceAllowed(l.c.k_EFeatured) && (t |= 32),
            e.BIsGameSourceAllowed(l.c.k_ERecent) && (t |= 64),
            e.BIsEventTypeGroupAllowed(l.b.k_ENews) && (t |= 1024),
            e.BIsEventTypeGroupAllowed(l.b.k_EEvents) && (t |= 2048),
            e.BIsEventTypeGroupAllowed(l.b.k_EStreaming) && (t |= 4096),
            e.BIsEventTypeGroupAllowed(l.b.k_EUpdates) && (t |= 8192),
            e.BIsEventTypeGroupAllowed(l.b.k_EReleases) && (t |= 16384),
            e.BIsEventTypeGroupAllowed(l.b.k_ESales) && (t |= 32768),
            t != this.m_nLastRecordedFilter &&
              ((this.m_nLastRecordedFilter = t),
              this.SendExperimentEventToSteam(16, t));
        });
      }
      GetTimeSpentOnPageS(e) {
        const t = e.GetStoreInitializationTimestamp(),
          n = new Date();
        return Math.max(0, Math.floor((n.getTime() - t.getTime()) / 1e3));
      }
      RecordAppInteractionEvent(e, t) {
        this.SendExperimentEventToSteam(19, t);
      }
      SendExperimentEventToSteam(e, t) {
        this.InitBrowserID();
        const n = s.c.STORE_BASE_URL + "events/ajaxreportnewshubstats/",
          a = new URLSearchParams();
        a.append("page_action", "" + e),
          a.append("snr", s.c.SNR),
          a.append("uint_data", "" + t),
          a.append("str_data", this.m_sBrowserID),
          i.a.post(n, a);
      }
      InitBrowserID() {
        if (void 0 === this.m_sBrowserID)
          if (s.c.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 = c;
  },
  PeRo: function (e, t, n) {
    e.exports = {
      description: "salequestdisplay_description_FbyVd",
      description2: "salequestdisplay_description2_3KRFA",
      questCtn: "salequestdisplay_questCtn_12PtS",
    };
  },
  "Q+lt": function (e, t, n) {
    e.exports = {
      MainBody: "optin_admin_editor_MainBody_3Qmgl",
      MainCol: "optin_admin_editor_MainCol_1Plts",
      RightCol: "optin_admin_editor_RightCol_1hPMJ",
      FlexRowWrapFlexStartContainer:
        "optin_admin_editor_FlexRowWrapFlexStartContainer_2DAMJ",
      TopBarContainer: "optin_admin_editor_TopBarContainer_aeUyk",
      BottomBar: "optin_admin_editor_BottomBar_1JwCy",
      EligibleGames: "optin_admin_editor_EligibleGames_1rysV",
      BasicButtonSize: "optin_admin_editor_BasicButtonSize_29w-Z",
      EditorInputPaneContents:
        "optin_admin_editor_EditorInputPaneContents_1EuN8",
      Section: "optin_admin_editor_Section_2yL7J",
      SectionDesc: "optin_admin_editor_SectionDesc_33_oC",
      RightSection: "optin_admin_editor_RightSection_3NiRT",
      EventBBCodeEditor: "optin_admin_editor_EventBBCodeEditor_3UtWX",
    };
  },
  Q4I1: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      chatEntryControls: "chatentry_chatEntryControls_SZTCn",
      chatTextarea: "chatentry_chatTextarea_p_BR4",
      chatEntryActionsGroup: "chatentry_chatEntryActionsGroup_resTe",
      chatEntryActionsContainer: "chatentry_chatEntryActionsContainer_39fOa",
      minHeightZero: "chatentry_minHeightZero_2EV39",
      chatSubmitButton: "chatentry_chatSubmitButton_nLfX9",
      EmbedButton: "chatentry_EmbedButton_cyYZC",
      EmoticonPickerButton: "chatentry_EmoticonPickerButton_3AOY3",
      disabled: "chatentry_disabled_25WK3",
      Inactive: "chatentry_Inactive_iKKPK",
      AudioLines: "chatentry_AudioLines_1_HMB",
      Active: "chatentry_Active_1GuG1",
    };
  },
  Q8oI: function (e, t, n) {
    "use strict";
    var a = n("AQa9");
    n.d(t, "ELanguagePchLanguage", function () {
      return a.d;
    }),
      n.d(t, "ELanguagePchWebLanguageCode", function () {
        return a.e;
      }),
      n.d(t, "MapKoreanaToKorean", function () {
        return a.f;
      }),
      n.d(t, "PchLanguageToELanguage", function () {
        return a.g;
      });
    n("tLub"), n("wkCc");
    var r = n("ubWN");
    n.d(t, "BIsChinaRealm", function () {
      return r.a;
    }),
      n.d(t, "ESteamRealm", function () {
        return r.b;
      });
    n("rGfI"), n("0hrb");
    var i = n("EiFA");
    n.d(t, "EBrowserType", function () {
      return i.a;
    }),
      n.d(t, "ESystemUISystemKey", function () {
        return i.b;
      });
    var s = n("TCEh");
    n.d(t, "TextFilterPreferences", function () {
      return s.a;
    });
    n("Qfhp"), n("eo/R"), n("jfiZ"), n("Hnqz"), n("3sPj"), n("OW+i");
    var o = n("EMU5");
    n.d(t, "EWirelessEndpointStrength", function () {
      return o.a;
    });
    n("4gLa");
    var l = n("i6MU");
    n.o(l, "AppTypeForEStoreAppType") &&
      n.d(t, "AppTypeForEStoreAppType", function () {
        return l.AppTypeForEStoreAppType;
      }),
      n.o(l, "BIsSaleItemType") &&
        n.d(t, "BIsSaleItemType", function () {
          return l.BIsSaleItemType;
        });
    n("3Y40"), n("SlVF");
    var c = n("38/H");
    n.d(t, "AppTypeForEStoreAppType", function () {
      return c.a;
    }),
      n.d(t, "BIsSaleItemType", function () {
        return c.b;
      });
    n("pU61");
  },
  QLjo: function (e, t, n) {
    e.exports = {
      LoginDialog: "login_LoginDialog_1_Y5v",
      AccountPasswordPanel: "login_AccountPasswordPanel_2E527",
      LoginPanelBackground: "login_LoginPanelBackground_1C-nb",
      LoginPanelContent: "login_LoginPanelContent_2XI0P",
      ErrorMessage: "login_ErrorMessage_21UKT",
      AccountPasswordForm: "login_AccountPasswordForm_3Xvha",
      AuthenticationPanel: "login_AuthenticationPanel_3Qiil",
      AccountNameLabel: "login_AccountNameLabel_3cfTI",
      MedName: "login_MedName_xteP3",
      LargeName: "login_LargeName_FzTck",
      PasswordDots: "login_PasswordDots_2WRxO",
      MedPass: "login_MedPass_3-bHS",
      LargePass: "login_LargePass_3zjrH",
      AccountFieldHeader: "login_AccountFieldHeader_2oEX7",
      PasswordFieldHeader: "login_PasswordFieldHeader_5-l63",
      NeedHelpLink: "login_NeedHelpLink_3aEuj",
      NeedHelpHighlight: "login_NeedHelpHighlight_7tANN",
      CreateAccountLink: "login_CreateAccountLink_1Z8dj",
      LoginCreateSeperator: "login_LoginCreateSeperator_2CV0x",
      RefreshCaptchaText: "login_RefreshCaptchaText_wE-YA",
      SigningInAccountName: "login_SigningInAccountName_1L9Va",
      SigninTitle: "login_SigninTitle_7Rc9V",
      RememberMeCheck: "login_RememberMeCheck_1t51R",
      SteamUpsellContainer: "login_SteamUpsellContainer_J4cId",
      SteamUpsell: "login_SteamUpsell_2GTkz",
      CaptchaContainer: "login_CaptchaContainer_3-gMp",
      CaptchaBlock: "login_CaptchaBlock_3NzFT",
      CaptchaImageAndInput: "login_CaptchaImageAndInput_3FMuB",
      CaptchaImageBox: "login_CaptchaImageBox_1dvuq",
      CaptchaImage: "login_CaptchaImage_fyMi9",
      CaptchaInput: "login_CaptchaInput_2OjX3",
      AuthenticatorInputcontainer: "login_AuthenticatorInputcontainer_1oepR",
      Highlight: "login_Highlight_2Ef4C",
      LoginComplete: "login_LoginComplete_1sD7m",
    };
  },
  QM4O: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    });
    n("XGRy");
    function a() {
      let e = window.GetUsabilityTracker;
      if (e) return e();
    }
  },
  Qfhp: function (e, t, n) {
    "use strict";
    var a = n("hRO2");
    n("gFJg");
    a.Message;
    var r;
    !(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");
    })(r || (r = {}));
  },
  QmWs: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a,
      r,
      i = n("9lTW"),
      s = n.n(i),
      o = n("CYEq");
    !(function (e) {
      let t;
      (e.k_nVersion = 1),
        (function (e) {
          let t;
          !(function (e) {
            (e[(e.Notifications = 0)] = "Notifications"),
              (e[(e.RemotePlayTogetherControls = 1)] =
                "RemotePlayTogetherControls"),
              (e[(e.VoiceChat = 2)] = "VoiceChat"),
              (e[(e.Friends = 3)] = "Friends"),
              (e[(e.Settings = 4)] = "Settings"),
              (e[(e.Perf = 5)] = "Perf"),
              (e[(e.Help = 6)] = "Help");
          })((t = e.EQuickAccessTab || (e.EQuickAccessTab = {})));
        })((t = e.ExportedTypes || (e.ExportedTypes = {})));
      e.Adapter = class {
        constructor(t) {
          (this.k_nVersion = e.k_nVersion),
            s()(t, "IGamepadUI implementation is null"),
            s()(
              t.k_nVersion == e.k_nVersion,
              `IGamepadUI version is ${t.k_nVersion} but we can only adapt to version ${d.k_nVersion}. Is GamepadUI newer than FriendsUI?`,
            ),
            (this.m_impl = t);
        }
        OpenQuickAccessMenu(e) {
          return this.m_impl.OpenQuickAccessMenu(e);
        }
      };
    })(a || (a = {})),
      (function (e) {
        var t = a;
        let n;
        (e.k_nVersion = 2),
          (function (e) {
            e.EQuickAccessTab = t.ExportedTypes.EQuickAccessTab;
          })((n = e.ExportedTypes || (e.ExportedTypes = {})));
        e.Adapter = class {
          constructor(n) {
            (this.k_nVersion = e.k_nVersion),
              (this.m_prevImpl =
                n.k_nVersion == t.k_nVersion ? n : new t.Adapter(n));
          }
          OpenQuickAccessMenu(e, t) {
            return this.m_prevImpl.OpenQuickAccessMenu(e);
          }
          ReopenPreModalSideMenu() {}
        };
      })(r || (r = {}));
    class l {
      constructor() {
        (this.m_bAdaptedInstance = void 0), (this.m_bAdapted = !1);
      }
      Get() {
        return (
          this.m_bAdapted ||
            null == l.g_GamepadUIStoreRef.current ||
            ((this.m_bAdaptedInstance = this.AdaptGamepadUIStore(
              l.g_GamepadUIStoreRef.current,
            )),
            (this.m_bAdapted = !0)),
          this.m_bAdaptedInstance
        );
      }
      Set(e) {
        (l.g_GamepadUIStoreRef.current = e),
          (this.m_bAdaptedInstance = e),
          (this.m_bAdapted = !0);
      }
      AdaptGamepadUIStore(e) {
        if (null == e) return null;
        if (e.k_nVersion == d.k_nVersion) return e;
        try {
          return new d.Adapter(e);
        } catch (e) {
          return (
            console.error(
              "Failed to adapt GamepadUIStore to latest version:",
              e,
            ),
            null
          );
        }
      }
    }
    l.g_GamepadUIStoreRef = Object(o.a)("GamepadUIStore", () => ({
      current: null,
    }));
    const c = new l();
    var d = r;
    d.ExportedTypes.EQuickAccessTab;
  },
  QoNC: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return d;
    });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = (n("AQa9"), n("Q8oI"), n("v2zI"), n("/loZ"), n("fvA7")),
      l = n("D6PB"),
      c = n("aaBf");
    class d {
      constructor() {
        (this.m_mapBlockedAppIds = new Map()),
          (this.m_mapBlockedClanIds = new Map());
      }
      static Get() {
        return (
          d.s_globalSingletonStore ||
            ((d.s_globalSingletonStore = new d()),
            d.s_globalSingletonStore.Init()),
          d.s_globalSingletonStore
        );
      }
      GetMutedSourceCount() {
        return this.m_mapBlockedAppIds.size + this.m_mapBlockedClanIds.size;
      }
      Init() {
        const e = Object(c.g)("mutedcomminfo", "application_config");
        this.ValidateStoreDefault(e) &&
          (("dev" != c.c.WEB_UNIVERSE && "beta" != c.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CMutedCommunicationStore loading bundles payload: " +
                JSON.stringify(e),
            ),
          e.appids &&
            e.appids.forEach((e) => this.m_mapBlockedAppIds.set(e, !0)),
          e.clanids &&
            e.clanids.forEach((e) => this.m_mapBlockedClanIds.set(e, !0)));
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !(!t || "object" != typeof t) &&
          ((Array.isArray(t.appids) && t.appids.length > 0) ||
            (Array.isArray(t.clanids) && t.clanids.length > 0))
        );
      }
      BIsEventBlocked(e) {
        return e.appid
          ? this.m_mapBlockedAppIds.has(e.appid)
          : !!e.clanInfo && this.m_mapBlockedClanIds.has(e.clanInfo.clanid);
      }
      BIsMutedAppID(e) {
        return this.m_mapBlockedAppIds.has(e);
      }
      BIsMutedClanID(e) {
        return this.m_mapBlockedClanIds.has(e);
      }
      UpdateCommunitionSetting(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = c.c.STORE_BASE_URL + "account/optoutappcommunication/",
            r = new FormData();
          if (
            (r.append("sessionid", c.c.SESSIONID),
            r.append("allowCommunication", e ? "1" : "0"),
            t)
          ) {
            if (
              (!e && this.m_mapBlockedAppIds.has(t)) ||
              (e && !this.m_mapBlockedAppIds.has(t))
            )
              return !0;
            e
              ? this.m_mapBlockedAppIds.delete(t)
              : this.m_mapBlockedAppIds.set(t, !0),
              r.append("appId", t.toString());
          } else {
            if (!n)
              return (
                Object(o.a)(
                  !1,
                  "BlockEventsFromCalenderEvent: Invalid AppID and ClanID",
                ),
                !1
              );
            if (
              (!e && this.m_mapBlockedClanIds.has(n)) ||
              (e && !this.m_mapBlockedClanIds.has(n))
            )
              return !0;
            e
              ? this.m_mapBlockedClanIds.delete(n)
              : this.m_mapBlockedClanIds.set(n, !0),
              r.append("clanId", n.toString());
          }
          try {
            return 1 == (yield i.a.post(a, r)).data.success;
          } catch (e) {
            return (
              console.error(
                "Blocking app id hit error " + Object(l.a)(e).strErrorMsg,
              ),
              !1
            );
          }
        });
      }
    }
    Object(a.b)([s.C], d.prototype, "m_mapBlockedAppIds", void 0),
      Object(a.b)([s.C], d.prototype, "m_mapBlockedClanIds", void 0);
  },
  Qw28: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    }),
      n.d(t, "b", function () {
        return c;
      });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = (n("AQa9"), n("5VAZ"), n("Q8oI"), n("hc+a")),
      s = (n("6Uth"), n("DAjO")),
      o = n("1pnr");
    class l {
      constructor() {
        (this.m_mapBroadcasterSteamIDToEvents = new Map()),
          (this.m_mapBroadcasterSteamIDData = new Map());
      }
      static GetBBCodeParam(e, t, n = "") {
        const a = new RegExp(`\\W${t}\\W*=\\W*\\"(.*?)\\"`, "gmi").exec(e);
        return a ? a[1] : n;
      }
      static ParseCalendarEventPresentersFromText(e) {
        const t = /\[\W*speaker(\W[\s\S]*?)\]([\s\S]*?)\[\W*\/speaker\W*\]/gi,
          n = new Array();
        for (;;) {
          const a = t.exec(e);
          if (null === a) break;
          const r = a[1],
            s = a[2],
            o = l.GetBBCodeParam(r, "steamid"),
            c = {
              steamID: o ? new i.a(o) : void 0,
              name: l.GetBBCodeParam(r, "name"),
              title: l.GetBBCodeParam(r, "title"),
              company: l.GetBBCodeParam(r, "company"),
              photo: l.GetBBCodeParam(r, "photo"),
              bio: s,
            };
          n.push(c);
        }
        return n;
      }
      static ParseEventModelPresenters(e, t) {
        const n = e.GetDescriptionWithFallback(t);
        return l.ParseCalendarEventPresentersFromText(n);
      }
      static ParseEventAppReferencesFromText(e) {
        const t = /\/\/store\.steampowered\.com\/app\/(\d+)/gi,
          n = new Set();
        for (;;) {
          const a = t.exec(e);
          if (null === a) break;
          const r = a[1];
          n.add(Number(r));
        }
        return n;
      }
      static ParseEventModelAppReferences(e, t) {
        var n;
        const a = e.GetDescriptionWithFallback(t),
          r = l.ParseEventAppReferencesFromText(a);
        if (
          null === (n = e.jsondata) || void 0 === n
            ? void 0
            : n.referenced_appids
        )
          for (const t of e.jsondata.referenced_appids) r.add(t);
        return r;
      }
      BuildBroadcasterSteamIDToActiveEventMap(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = s.b.GetTimeNowWithOverride(),
            n = e.GetCalendarItemsInTimeRange(t - 3600, t);
          for (const e of n.rgCalendarItems)
            o.b.QueueLoadPartnerEvent(e.clanid, e.unique_id);
          const a = n.rgCalendarItems.map((e) =>
              o.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
                i.a.InitFromClanID(e.clanid),
                e.unique_id,
                0,
              ),
            ),
            r = yield Promise.all(a),
            l = new Map();
          for (const e of r)
            if (e && !(e.endTime && e.endTime < t))
              for (const t of e.GetBroadcastWhitelistAsSteamIDs())
                l.has(t) ? l.get(t).push(e) : l.set(t, [e]);
          return l;
        });
      }
      IsBroadcasterAlreadyBound(e, t) {
        const n = this.m_mapBroadcasterSteamIDToEvents.get(e),
          a = n ? n.length : 0;
        if ((t ? t.length : 0) != a) return !1;
        for (let e = 0; e < a; e++) if (n[e] != t[e].GID) return !1;
        return !0;
      }
      static BuildSteamIDToPresenterMapFromEventList(e, t) {
        let n = new Map();
        for (const a of e) {
          if (!a) continue;
          const e = l.ParseEventModelPresenters(a, t);
          for (const t of e)
            t.steamID && n.set(t.steamID.ConvertTo64BitString(), t);
        }
        return n;
      }
      RemoveCachedDataIfNotInMap(e) {
        const t = new Array();
        this.m_mapBroadcasterSteamIDToEvents.forEach((n, a) => {
          e.has(a) || t.push(a);
        }),
          t.forEach((e) => {
            this.m_mapBroadcasterSteamIDData.delete(e),
              this.m_mapBroadcasterSteamIDToEvents.delete(e);
          });
      }
      static BuildAppIDRefsForEventList(e, t) {
        const n = new Set();
        for (const a of e) {
          l.ParseEventModelAppReferences(a, t).forEach((e) => n.add(e));
        }
        return Array.from(n);
      }
      UpdateCachedDataFromEvents(e, t) {
        e.forEach((e, n) => {
          if (this.IsBroadcasterAlreadyBound(n, e)) return;
          const a = {
            m_mapPresenters: l.BuildSteamIDToPresenterMapFromEventList(e, t),
            m_rgAppIDs: l.BuildAppIDRefsForEventList(e, t),
          };
          this.m_mapBroadcasterSteamIDData.set(n, a),
            this.m_mapBroadcasterSteamIDToEvents.set(
              n,
              e.map((e) => e.GID),
            );
        });
      }
      SynchronizeEventsWithBroadcasts(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = yield this.BuildBroadcasterSteamIDToActiveEventMap(e);
          this.RemoveCachedDataIfNotInMap(n),
            this.UpdateCachedDataFromEvents(n, t);
        });
      }
      GetPresenterMapForBroadcasterSteamID(e) {
        var t;
        return null === (t = this.m_mapBroadcasterSteamIDData.get(e)) ||
          void 0 === t
          ? void 0
          : t.m_mapPresenters;
      }
      GetAppIDListForBroadcasterSteamID(e) {
        var t;
        return null === (t = this.m_mapBroadcasterSteamIDData.get(e)) ||
          void 0 === t
          ? void 0
          : t.m_rgAppIDs;
      }
    }
    Object(a.b)([r.C], l.prototype, "m_mapBroadcasterSteamIDData", void 0);
    const c = new l();
  },
  QztZ: function (e, t, n) {
    e.exports = {
      GraphicalAssetsTabs: "tabbar_GraphicalAssetsTabs_DHaQ4",
      GraphicalAssetsTab: "tabbar_GraphicalAssetsTab_2EnQe",
      Active: "tabbar_Active_3Jq09",
      GraphicalAssetStatus: "tabbar_GraphicalAssetStatus_2FvTo",
      VOWarning: "tabbar_VOWarning_24yXG",
      StatusSuccess: "tabbar_StatusSuccess_26O1t",
      StatusDanger: "tabbar_StatusDanger_2zCDN",
      StatusCaution: "tabbar_StatusCaution_1KJAR",
    };
  },
  REtK: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    }),
      n.d(t, "b", function () {
        return h;
      }),
      n.d(t, "c", function () {
        return _;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("q1tI"),
      l = (n("AQa9"), n("Q8oI"), n("hc+a")),
      c = (n("/loZ"), n("fvA7")),
      d = n("aaBf"),
      u = n("OsUa");
    class m {
      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);
      }
      Init() {
        this.LazyInit();
      }
      LazyInit() {
        this.m_bLoadedFromConfig ||
          (Object(s.G)(() => {
            let e = Object(d.h)("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 (
          Object(c.a)(e.BIsValid(), "Clan SteamID is not valid when ClanInfo"),
          Object(c.a)(
            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 l.a(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 Object(a.a)(this, void 0, void 0, function* () {
          if (
            (this.LazyInit(),
            "string" == typeof e && (e = parseInt(e)),
            Object(c.a)(
              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 Object(a.a)(this, void 0, void 0, function* () {
          const t =
            d.c.COMMUNITY_BASE_URL + "ogg/" + e + "/ajaxgetvanityandclanid/";
          let n = yield i.a.get(t, { params: this.GetRequestParam() });
          return (
            this.InternalSetupValue(n.data), this.m_mapAppIDToClanInfo.get(e)
          );
        });
      }
      LoadOGGClanInfoForIdentifier(e) {
        return Object(a.a)(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 Object(a.a)(this, void 0, void 0, function* () {
          const t =
            d.c.COMMUNITY_BASE_URL + "games/" + e + "/ajaxgetvanityandclanid/";
          let n = yield i.a.get(t, { params: this.GetRequestParam() });
          return (
            this.InternalSetupValue(n.data),
            this.m_mapVanityToClanInfo.get(
              null == e ? void 0 : e.toLocaleLowerCase(),
            )
          );
        });
      }
      LoadOGGClanInfoForGroupVanity(e) {
        return Object(a.a)(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 Object(a.a)(this, void 0, void 0, function* () {
          const t =
            d.c.COMMUNITY_BASE_URL + "groups/" + e + "/ajaxgetvanityandclanid/";
          let n = yield i.a.get(t, { params: this.GetRequestParam() });
          return (
            this.InternalSetupValue(n.data),
            this.m_mapVanityToClanInfo.get(
              null == e ? void 0 : e.toLocaleLowerCase(),
            )
          );
        });
      }
      LoadClanInfoForClanSteamID(e) {
        return Object(a.a)(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 n = "clanaccountid_" + t;
          return (
            this.m_mapPromisesLoading.has(n) ||
              this.m_mapPromisesLoading.set(
                n,
                this.InternalLoadClanInfoForClanSteamID(e),
              ),
            this.m_mapPromisesLoading.get(n)
          );
        });
      }
      LoadClanInfoForClanAccountID(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = l.a.InitFromClanID(e);
          return this.LoadClanInfoForClanSteamID(t);
        });
      }
      InternalLoadClanInfoForClanSteamID(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = e.GetAccountID();
          const n =
            d.c.COMMUNITY_BASE_URL +
            "gid/" +
            e.ConvertTo64BitString() +
            "/ajaxgetvanityandclanid/";
          let a = yield i.a.get(n, { params: this.GetRequestParam() });
          return (
            this.InternalSetupValue(a.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 l.a.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(),
          Object(c.a)(
            !!e,
            "Unepxected clanid when requesting information. GetClanInfoByClanAccountID ",
          ),
          this.m_mapClanAccountIDToClanInfo.get(e)
        );
      }
      GetCreatorStoreURL(e) {
        let t = u.a.GetCreatorHome(e);
        if (t) return t.GetCreatorHomeURL("developer");
        let n = this.GetClanInfoByClanAccountID(e.GetAccountID());
        return (
          d.c.COMMUNITY_BASE_URL +
          (n.vanity_url
            ? "groups/" + n.vanity_url
            : "gid/" + e.ConvertTo64BitString())
        );
      }
    }
    Object(a.b)([s.C], m.prototype, "m_mapAppIDToClanInfo", void 0),
      Object(a.b)([s.C], m.prototype, "m_mapVanityToClanInfo", void 0),
      Object(a.b)([s.C], m.prototype, "m_mapClanAccountIDToClanInfo", void 0),
      Object(a.b)([s.k], m.prototype, "RegisterClanData", null),
      Object(a.b)([s.k], m.prototype, "InternalSetupValue", null);
    const p = new m();
    function h(e) {
      const [t, n] = Object(o.useState)(p.GetClanInfoByClanAccountID(e)),
        [a, r] = Object(o.useState)(!p.BHasClanInfoLoadedByAccountID(e));
      return (
        Object(o.useEffect)(() => {
          const t = l.a.InitFromClanID(
            "string" == typeof e ? Number.parseInt(e) : e,
          );
          p.LoadClanInfoForClanSteamID(t).then((e) => {
            n(e), r(!1);
          });
        }, [e]),
        [a, t]
      );
    }
    function _(e) {
      const [t, n] = Object(o.useState)(p.GetOGGClanInfo(e));
      return (
        Object(o.useEffect)(() => {
          t || p.LoadOGGClanInfoForGroupVanity(e).then(n);
        }, [t, e]),
        t
      );
    }
    window.g_ClanStore = p;
  },
  RYKw: function (e, t, n) {
    "use strict";
    n.d(t, "f", function () {
      return o;
    }),
      n.d(t, "d", function () {
        return I;
      }),
      n.d(t, "c", function () {
        return T;
      }),
      n.d(t, "g", function () {
        return R;
      }),
      n.d(t, "a", function () {
        return j;
      }),
      n.d(t, "b", function () {
        return A;
      }),
      n.d(t, "e", function () {
        return P;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    n("JuuX"), n("TYQL");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.type || r.a(s.M()),
          i.initialize(this, e, 0, -1, [3], null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                type: { n: 1, br: r.d.readString, bw: r.h.writeString },
                rating: { n: 2, br: r.d.readString, bw: r.h.writeString },
                descriptors: {
                  n: 3,
                  r: !0,
                  q: !0,
                  br: r.d.readString,
                  bw: r.h.writeRepeatedString,
                },
                interactive_elements: {
                  n: 4,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                required_age: { n: 10, br: r.d.readInt32, bw: r.h.writeInt32 },
                use_age_gate: { n: 11, br: r.d.readBool, bw: r.h.writeBool },
                image_url: { n: 20, br: r.d.readString, bw: r.h.writeString },
                image_target: {
                  n: 21,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreGameRating";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.item_type || r.a(o.M()),
          i.initialize(this, e, 0, -1, [11, 12, 20, 21, 25, 41, 42, 52], null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                item_type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                id: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                success: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                visible: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                unvailable_for_country_restriction: {
                  n: 5,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                name: { n: 6, br: r.d.readString, bw: r.h.writeString },
                store_url_path: {
                  n: 7,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                appid: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                type: { n: 10, br: r.d.readEnum, bw: r.h.writeEnum },
                included_types: {
                  n: 11,
                  r: !0,
                  q: !0,
                  br: r.d.readEnum,
                  bw: r.h.writeRepeatedEnum,
                },
                included_appids: {
                  n: 12,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                is_free: { n: 13, br: r.d.readBool, bw: r.h.writeBool },
                is_early_access: { n: 14, br: r.d.readBool, bw: r.h.writeBool },
                related_items: { n: 15, c: l },
                content_descriptorids: {
                  n: 20,
                  r: !0,
                  q: !0,
                  br: r.d.readEnum,
                  bw: r.h.writeRepeatedEnum,
                },
                tagids: {
                  n: 21,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                categories: { n: 22, c: c },
                reviews: { n: 23, c: d },
                basic_info: { n: 24, c: m },
                tags: { n: 25, c: h, r: !0, q: !0 },
                assets: { n: 30, c: _ },
                release: { n: 31, c: g },
                platforms: { n: 32, c: b },
                game_rating: { n: 33, c: s },
                best_purchase_option: { n: 40, c: v },
                purchase_options: { n: 41, c: v, r: !0, q: !0 },
                accessories: { n: 42, c: v, r: !0, q: !0 },
                screenshots: { n: 50, c: y },
                trailers: { n: 51, c: C },
                supported_languages: { n: 52, c: O, r: !0, q: !0 },
                store_url_path_override: {
                  n: 53,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                free_weekend: { n: 54, c: D },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.parent_appid || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                parent_appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_RelatedItems";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.supported_player_categoryids || r.a(c.M()),
          i.initialize(this, e, 0, -1, [2, 3, 4], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                supported_player_categoryids: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                feature_categoryids: {
                  n: 3,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                controller_categoryids: {
                  n: 4,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Categories";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.summary_filtered || r.a(d.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                summary_filtered: { n: 1, c: u },
                summary_unfiltered: { n: 2, c: u },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Reviews";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.review_count || r.a(u.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                review_count: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                percent_positive: {
                  n: 2,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                review_score: { n: 3, br: r.d.readEnum, bw: r.h.writeEnum },
                review_score_label: {
                  n: 4,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Reviews_StoreReviewSummary";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(),
          m.prototype.short_description || r.a(m.M()),
          i.initialize(this, e, 0, -1, [2, 3, 4], null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                short_description: {
                  n: 1,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                publishers: { n: 2, c: p, r: !0, q: !0 },
                developers: { n: 3, c: p, r: !0, q: !0 },
                franchises: { n: 4, c: p, r: !0, q: !0 },
                capsule_headline: {
                  n: 5,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_BasicInfo";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(),
          p.prototype.name || r.a(p.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                name: { n: 1, br: r.d.readString, bw: r.h.writeString },
                creator_clan_account_id: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_BasicInfo_CreatorHomeLink";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(),
          h.prototype.tagid || r.a(h.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                tagid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                weight: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Tag";
      }
    }
    class _ extends i {
      constructor(e = null) {
        super(),
          _.prototype.asset_url_format || r.a(_.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                asset_url_format: {
                  n: 1,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                main_capsule: { n: 2, br: r.d.readString, bw: r.h.writeString },
                small_capsule: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                header: { n: 4, br: r.d.readString, bw: r.h.writeString },
                package_header: {
                  n: 5,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                page_background: {
                  n: 6,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                hero_capsule: { n: 7, br: r.d.readString, bw: r.h.writeString },
                hero_capsule_2x: {
                  n: 8,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                library_capsule: {
                  n: 9,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                library_capsule_2x: {
                  n: 10,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                library_hero: {
                  n: 11,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                library_hero_2x: {
                  n: 12,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                community_icon: {
                  n: 13,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Assets";
      }
    }
    class g extends i {
      constructor(e = null) {
        super(),
          g.prototype.steam_release_date || r.a(g.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          g.sm_m ||
            (g.sm_m = {
              proto: g,
              fields: {
                steam_release_date: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                original_release_date: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                original_steam_release_date: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                is_coming_soon: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                is_preload: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                custom_release_date_message: {
                  n: 6,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                is_abridged_release_date: {
                  n: 7,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                is_early_access: { n: 10, br: r.d.readBool, bw: r.h.writeBool },
                mac_release_date: {
                  n: 20,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                linux_release_date: {
                  n: 21,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          g.sm_m
        );
      }
      static MBF() {
        return g.sm_mbf || (g.sm_mbf = r.e(g.M())), g.sm_mbf;
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(g.M(), e, t);
      }
      static fromObject(e) {
        return r.c(g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(g.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_ReleaseInfo";
      }
    }
    class b extends i {
      constructor(e = null) {
        super(),
          b.prototype.windows || r.a(b.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          b.sm_m ||
            (b.sm_m = {
              proto: b,
              fields: {
                windows: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                mac: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                linux: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
                vr_support: { n: 10, c: f },
                steam_deck_compat_category: {
                  n: 11,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
              },
            }),
          b.sm_m
        );
      }
      static MBF() {
        return b.sm_mbf || (b.sm_mbf = r.e(b.M())), b.sm_mbf;
      }
      toObject(e = !1) {
        return b.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(b.M(), e, t);
      }
      static fromObject(e) {
        return r.c(b.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new b();
        return b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(b.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(b.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Platforms";
      }
    }
    class f extends i {
      constructor(e = null) {
        super(),
          f.prototype.vrhmd || r.a(f.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          f.sm_m ||
            (f.sm_m = {
              proto: f,
              fields: {
                vrhmd: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                vrhmd_only: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                htc_vive: { n: 40, br: r.d.readBool, bw: r.h.writeBool },
                oculus_rift: { n: 41, br: r.d.readBool, bw: r.h.writeBool },
                windows_mr: { n: 42, br: r.d.readBool, bw: r.h.writeBool },
                valve_index: { n: 43, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          f.sm_m
        );
      }
      static MBF() {
        return f.sm_mbf || (f.sm_mbf = r.e(f.M())), f.sm_mbf;
      }
      toObject(e = !1) {
        return f.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(f.M(), e, t);
      }
      static fromObject(e) {
        return r.c(f.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new f();
        return f.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(f.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(f.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Platforms_VRSupport";
      }
    }
    class v extends i {
      constructor(e = null) {
        super(),
          v.prototype.packageid || r.a(v.M()),
          i.initialize(this, e, 0, -1, [20, 21, 22], null);
      }
      static M() {
        return (
          v.sm_m ||
            (v.sm_m = {
              proto: v,
              fields: {
                packageid: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                bundleid: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                purchase_option_name: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                final_price_in_cents: {
                  n: 5,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                original_price_in_cents: {
                  n: 6,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                user_final_price_in_cents: {
                  n: 7,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                formatted_final_price: {
                  n: 8,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                formatted_original_price: {
                  n: 9,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                discount_pct: { n: 10, br: r.d.readInt32, bw: r.h.writeInt32 },
                user_discount_pct: {
                  n: 11,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                bundle_discount_pct: {
                  n: 12,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                active_discounts: { n: 20, c: S, r: !0, q: !0 },
                user_active_discounts: { n: 21, c: S, r: !0, q: !0 },
                inactive_discounts: { n: 22, c: S, r: !0, q: !0 },
                user_can_purchase: {
                  n: 30,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                user_can_purchase_as_gift: {
                  n: 31,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                is_commercial_license: {
                  n: 40,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                should_suppress_discount_pct: {
                  n: 41,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          v.sm_m
        );
      }
      static MBF() {
        return v.sm_mbf || (v.sm_mbf = r.e(v.M())), v.sm_mbf;
      }
      toObject(e = !1) {
        return v.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(v.M(), e, t);
      }
      static fromObject(e) {
        return r.c(v.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new v();
        return v.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(v.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(v.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_PurchaseOption";
      }
    }
    class S extends i {
      constructor(e = null) {
        super(),
          S.prototype.discount_amount || r.a(S.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          S.sm_m ||
            (S.sm_m = {
              proto: S,
              fields: {
                discount_amount: {
                  n: 1,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                discount_description: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                discount_end_date: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          S.sm_m
        );
      }
      static MBF() {
        return S.sm_mbf || (S.sm_mbf = r.e(S.M())), S.sm_mbf;
      }
      toObject(e = !1) {
        return S.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(S.M(), e, t);
      }
      static fromObject(e) {
        return r.c(S.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new S();
        return S.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(S.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(S.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_PurchaseOption_Discount";
      }
    }
    class y extends i {
      constructor(e = null) {
        super(),
          y.prototype.all_ages_screenshots || r.a(y.M()),
          i.initialize(this, e, 0, -1, [2, 3], null);
      }
      static M() {
        return (
          y.sm_m ||
            (y.sm_m = {
              proto: y,
              fields: {
                all_ages_screenshots: { n: 2, c: E, r: !0, q: !0 },
                mature_content_screenshots: { n: 3, c: E, r: !0, q: !0 },
              },
            }),
          y.sm_m
        );
      }
      static MBF() {
        return y.sm_mbf || (y.sm_mbf = r.e(y.M())), y.sm_mbf;
      }
      toObject(e = !1) {
        return y.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(y.M(), e, t);
      }
      static fromObject(e) {
        return r.c(y.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new y();
        return y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(y.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(y.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Screenshots";
      }
    }
    class E extends i {
      constructor(e = null) {
        super(),
          E.prototype.filename || r.a(E.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          E.sm_m ||
            (E.sm_m = {
              proto: E,
              fields: {
                filename: { n: 1, br: r.d.readString, bw: r.h.writeString },
                ordinal: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          E.sm_m
        );
      }
      static MBF() {
        return E.sm_mbf || (E.sm_mbf = r.e(E.M())), E.sm_mbf;
      }
      toObject(e = !1) {
        return E.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(E.M(), e, t);
      }
      static fromObject(e) {
        return r.c(E.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new E();
        return E.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(E.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(E.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Screenshots_Screenshot";
      }
    }
    class C extends i {
      constructor(e = null) {
        super(),
          C.prototype.highlights || r.a(C.M()),
          i.initialize(this, e, 0, -1, [1, 2], null);
      }
      static M() {
        return (
          C.sm_m ||
            (C.sm_m = {
              proto: C,
              fields: {
                highlights: { n: 1, c: B, r: !0, q: !0 },
                other_trailers: { n: 2, c: B, r: !0, q: !0 },
              },
            }),
          C.sm_m
        );
      }
      static MBF() {
        return C.sm_mbf || (C.sm_mbf = r.e(C.M())), C.sm_mbf;
      }
      toObject(e = !1) {
        return C.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(C.M(), e, t);
      }
      static fromObject(e) {
        return r.c(C.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new C();
        return C.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(C.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(C.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Trailers";
      }
    }
    class w extends i {
      constructor(e = null) {
        super(),
          w.prototype.filename || r.a(w.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          w.sm_m ||
            (w.sm_m = {
              proto: w,
              fields: {
                filename: { n: 1, br: r.d.readString, bw: r.h.writeString },
                type: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          w.sm_m
        );
      }
      static MBF() {
        return w.sm_mbf || (w.sm_mbf = r.e(w.M())), w.sm_mbf;
      }
      toObject(e = !1) {
        return w.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(w.M(), e, t);
      }
      static fromObject(e) {
        return r.c(w.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new w();
        return w.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(w.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(w.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Trailers_VideoSource";
      }
    }
    class B extends i {
      constructor(e = null) {
        super(),
          B.prototype.trailer_name || r.a(B.M()),
          i.initialize(this, e, 0, -1, [3, 4, 5], null);
      }
      static M() {
        return (
          B.sm_m ||
            (B.sm_m = {
              proto: B,
              fields: {
                trailer_name: { n: 1, br: r.d.readString, bw: r.h.writeString },
                trailer_url_format: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                trailer_480p: { n: 3, c: w, r: !0, q: !0 },
                trailer_max: { n: 4, c: w, r: !0, q: !0 },
                microtrailer: { n: 5, c: w, r: !0, q: !0 },
                screenshot_medium: {
                  n: 10,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                screenshot_full: {
                  n: 11,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                trailer_base_id: {
                  n: 12,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          B.sm_m
        );
      }
      static MBF() {
        return B.sm_mbf || (B.sm_mbf = r.e(B.M())), B.sm_mbf;
      }
      toObject(e = !1) {
        return B.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(B.M(), e, t);
      }
      static fromObject(e) {
        return r.c(B.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new B();
        return B.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(B.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(B.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_Trailers_Trailer";
      }
    }
    class O extends i {
      constructor(e = null) {
        super(),
          O.prototype.elanguage || r.a(O.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          O.sm_m ||
            (O.sm_m = {
              proto: O,
              fields: {
                elanguage: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                supported: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                full_audio: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
                subtitles: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          O.sm_m
        );
      }
      static MBF() {
        return O.sm_mbf || (O.sm_mbf = r.e(O.M())), O.sm_mbf;
      }
      toObject(e = !1) {
        return O.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(O.M(), e, t);
      }
      static fromObject(e) {
        return r.c(O.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new O();
        return O.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(O.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(O.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_SupportedLanguage";
      }
    }
    class D extends i {
      constructor(e = null) {
        super(),
          D.prototype.start_time || r.a(D.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          D.sm_m ||
            (D.sm_m = {
              proto: D,
              fields: {
                start_time: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                end_time: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                text: { n: 3, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          D.sm_m
        );
      }
      static MBF() {
        return D.sm_mbf || (D.sm_mbf = r.e(D.M())), D.sm_mbf;
      }
      toObject(e = !1) {
        return D.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(D.M(), e, t);
      }
      static fromObject(e) {
        return r.c(D.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new D();
        return D.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(D.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(D.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItem_FreeWeekend";
      }
    }
    class I extends i {
      constructor(e = null) {
        super(),
          I.prototype.include_assets || r.a(I.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          I.sm_m ||
            (I.sm_m = {
              proto: I,
              fields: {
                include_assets: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                include_release: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                include_platforms: {
                  n: 3,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_all_purchase_options: {
                  n: 4,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_screenshots: {
                  n: 5,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_trailers: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
                include_ratings: { n: 7, br: r.d.readBool, bw: r.h.writeBool },
                include_tag_count: {
                  n: 8,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                include_reviews: { n: 9, br: r.d.readBool, bw: r.h.writeBool },
                include_basic_info: {
                  n: 10,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_supported_languages: {
                  n: 11,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          I.sm_m
        );
      }
      static MBF() {
        return I.sm_mbf || (I.sm_mbf = r.e(I.M())), I.sm_mbf;
      }
      toObject(e = !1) {
        return I.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(I.M(), e, t);
      }
      static fromObject(e) {
        return r.c(I.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new I();
        return I.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(I.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(I.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreBrowseItemDataRequest";
      }
    }
    class T extends i {
      constructor(e = null) {
        super(),
          T.prototype.language || r.a(T.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          T.sm_m ||
            (T.sm_m = {
              proto: T,
              fields: {
                language: { n: 1, br: r.d.readString, bw: r.h.writeString },
                elanguage: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                country_code: { n: 3, br: r.d.readString, bw: r.h.writeString },
                steam_realm: { n: 4, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          T.sm_m
        );
      }
      static MBF() {
        return T.sm_mbf || (T.sm_mbf = r.e(T.M())), T.sm_mbf;
      }
      toObject(e = !1) {
        return T.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(T.M(), e, t);
      }
      static fromObject(e) {
        return r.c(T.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new T();
        return T.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(T.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(T.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreBrowseContext";
      }
    }
    class R extends i {
      constructor(e = null) {
        super(),
          R.prototype.appid || r.a(R.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          R.sm_m ||
            (R.sm_m = {
              proto: R,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                packageid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                bundleid: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          R.sm_m
        );
      }
      static MBF() {
        return R.sm_mbf || (R.sm_mbf = r.e(R.M())), R.sm_mbf;
      }
      toObject(e = !1) {
        return R.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(R.M(), e, t);
      }
      static fromObject(e) {
        return r.c(R.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new R();
        return R.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(R.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(R.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "StoreItemID";
      }
    }
    class j extends i {
      constructor(e = null) {
        super(),
          j.prototype.ids || r.a(j.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          j.sm_m ||
            (j.sm_m = {
              proto: j,
              fields: {
                ids: { n: 1, c: R, r: !0, q: !0 },
                context: { n: 2, c: T },
                data_request: { n: 3, c: I },
              },
            }),
          j.sm_m
        );
      }
      static MBF() {
        return j.sm_mbf || (j.sm_mbf = r.e(j.M())), j.sm_mbf;
      }
      toObject(e = !1) {
        return j.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(j.M(), e, t);
      }
      static fromObject(e) {
        return r.c(j.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new j();
        return j.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(j.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(j.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreBrowse_GetItems_Request";
      }
    }
    class A extends i {
      constructor(e = null) {
        super(),
          A.prototype.store_items || r.a(A.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          A.sm_m ||
            (A.sm_m = {
              proto: A,
              fields: { store_items: { n: 1, c: o, r: !0, q: !0 } },
            }),
          A.sm_m
        );
      }
      static MBF() {
        return A.sm_mbf || (A.sm_mbf = r.e(A.M())), A.sm_mbf;
      }
      toObject(e = !1) {
        return A.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(A.M(), e, t);
      }
      static fromObject(e) {
        return r.c(A.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new A();
        return A.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(A.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(A.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreBrowse_GetItems_Response";
      }
    }
    class k extends i {
      constructor(e = null) {
        super(),
          k.prototype.categories || r.a(k.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          k.sm_m ||
            (k.sm_m = {
              proto: k,
              fields: { categories: { n: 1, c: M, r: !0, q: !0 } },
            }),
          k.sm_m
        );
      }
      static MBF() {
        return k.sm_mbf || (k.sm_mbf = r.e(k.M())), k.sm_mbf;
      }
      toObject(e = !1) {
        return k.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(k.M(), e, t);
      }
      static fromObject(e) {
        return r.c(k.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new k();
        return k.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(k.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(k.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreBrowse_GetStoreCategories_Response";
      }
    }
    class M extends i {
      constructor(e = null) {
        super(),
          M.prototype.categoryid || r.a(M.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          M.sm_m ||
            (M.sm_m = {
              proto: M,
              fields: {
                categoryid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                type: { n: 2, br: r.d.readEnum, bw: r.h.writeEnum },
                internal_name: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                display_name: { n: 4, br: r.d.readString, bw: r.h.writeString },
                image_url: { n: 5, br: r.d.readString, bw: r.h.writeString },
                show_in_search: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          M.sm_m
        );
      }
      static MBF() {
        return M.sm_mbf || (M.sm_mbf = r.e(M.M())), M.sm_mbf;
      }
      toObject(e = !1) {
        return M.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(M.M(), e, t);
      }
      static fromObject(e) {
        return r.c(M.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new M();
        return M.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(M.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(M.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreBrowse_GetStoreCategories_Response_Category";
      }
    }
    var P;
    !(function (e) {
      (e.GetItems = function (e, t) {
        return e.SendMsg("StoreBrowse.GetItems#1", t, A, {
          bConstMethod: !0,
          ePrivilege: 2,
          eWebAPIKeyRequirement: 1,
        });
      }),
        (e.GetStoreCategories = function (e, t) {
          return e.SendMsg("StoreBrowse.GetStoreCategories#1", t, k, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        });
    })(P || (P = {}));
  },
  RZJs: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return p;
    }),
      n.d(t, "a", function () {
        return h;
      });
    var a = n("q1tI"),
      r = n.n(a),
      i = n("AQa9"),
      s = n("YP3x"),
      o = n("yd9a"),
      l = n.n(o),
      c = n("GGO3"),
      d = n("3wCP"),
      u = n("CqJL"),
      m = n("aaBf");
    const p = (e) => {
      const { rgTagIDs: t, instanceNum: n, bShowEvenIfNoTags: a } = e,
        i = Object(s.c)(t);
      return (null == i ? void 0 : i.length) > 0 || a
        ? r.a.createElement(
            "div",
            { className: Object(d.a)(l.a.SaleTagBlockCtn, "SaleTagBlockCtn") },
            r.a.createElement(
              "div",
              { className: Object(d.a)(l.a.TagTitle, "WidgetTagTitle") },
              Object(u.f)("#GameHover_Tags"),
            ),
            Boolean((null == i ? void 0 : i.length) > 0)
              ? r.a.createElement(
                  "div",
                  { className: Object(d.a)(l.a.TagBox, "TagBox") },
                  i.map((e) =>
                    r.a.createElement(_, {
                      key: "tag_" + n + "_" + e.tagid,
                      tag: e,
                    }),
                  ),
                )
              : r.a.createElement("div", null, Object(u.f)("#Broadcast_None")),
          )
        : null;
    };
    function h(e) {
      const { tagid: t, className: n } = e,
        a = Object(s.e)(t);
      if (!a) return null;
      const o = Object(i.e)(Object(i.g)(m.c.LANGUAGE)),
        u = `${m.c.STORE_BASE_URL}tags/${o}/${null == a ? void 0 : a.name}`;
      return r.a.createElement(
        c.b,
        { url: u, className: Object(d.a)(l.a.Tag, "WidgetTag", n) },
        a.name,
      );
    }
    function _(e) {
      const { tag: t, className: n } = e,
        a = Object(i.e)(Object(i.g)(m.c.LANGUAGE)),
        s = `${m.c.STORE_BASE_URL}tags/${a}/${t.name}`;
      return r.a.createElement(
        c.b,
        { url: s, className: Object(d.a)(l.a.Tag, "WidgetTag", n) },
        t.name,
      );
    }
  },
  RfXg: function (e, t, n) {
    "use strict";
    var a = n("hRO2");
    n("gFJg");
    a.Message;
  },
  RjJm: function (e, t, n) {
    e.exports = {
      WhitelistNumber: "reorderablelist_WhitelistNumber_2-g5s",
      WhitelistCtn: "reorderablelist_WhitelistCtn_2n5_e",
      WhitelistRow: "reorderablelist_WhitelistRow_2QtuC",
      Grabbable: "reorderablelist_Grabbable_3kEa8",
      Grabbing: "reorderablelist_Grabbing_1Q53f",
      DisabledGrab: "reorderablelist_DisabledGrab_1mwHH",
      WhitelistAvatar: "reorderablelist_WhitelistAvatar_32ePT",
      ButtonCtn: "reorderablelist_ButtonCtn_2ycBH",
    };
  },
  RnhZ: function (e, t, n) {
    var a = {
      "./af": "K/tc",
      "./af.js": "K/tc",
      "./ar": "jnO4",
      "./ar-dz": "o1bE",
      "./ar-dz.js": "o1bE",
      "./ar-kw": "Qj4J",
      "./ar-kw.js": "Qj4J",
      "./ar-ly": "HP3h",
      "./ar-ly.js": "HP3h",
      "./ar-ma": "CoRJ",
      "./ar-ma.js": "CoRJ",
      "./ar-sa": "gjCT",
      "./ar-sa.js": "gjCT",
      "./ar-tn": "bYM6",
      "./ar-tn.js": "bYM6",
      "./ar.js": "jnO4",
      "./az": "SFxW",
      "./az.js": "SFxW",
      "./be": "H8ED",
      "./be.js": "H8ED",
      "./bg": "hKrs",
      "./bg.js": "hKrs",
      "./bm": "p/rL",
      "./bm.js": "p/rL",
      "./bn": "kEOa",
      "./bn-bd": "loYQ",
      "./bn-bd.js": "loYQ",
      "./bn.js": "kEOa",
      "./bo": "0mo+",
      "./bo.js": "0mo+",
      "./br": "aIdf",
      "./br.js": "aIdf",
      "./bs": "JVSJ",
      "./bs.js": "JVSJ",
      "./ca": "1xZ4",
      "./ca.js": "1xZ4",
      "./cs": "PA2r",
      "./cs.js": "PA2r",
      "./cv": "A+xa",
      "./cv.js": "A+xa",
      "./cy": "l5ep",
      "./cy.js": "l5ep",
      "./da": "DxQv",
      "./da.js": "DxQv",
      "./de": "tGlX",
      "./de-at": "s+uk",
      "./de-at.js": "s+uk",
      "./de-ch": "u3GI",
      "./de-ch.js": "u3GI",
      "./de.js": "tGlX",
      "./dv": "WYrj",
      "./dv.js": "WYrj",
      "./el": "jUeY",
      "./el.js": "jUeY",
      "./en-au": "Dmvi",
      "./en-au.js": "Dmvi",
      "./en-ca": "OIYi",
      "./en-ca.js": "OIYi",
      "./en-gb": "Oaa7",
      "./en-gb.js": "Oaa7",
      "./en-ie": "4dOw",
      "./en-ie.js": "4dOw",
      "./en-il": "czMo",
      "./en-il.js": "czMo",
      "./en-in": "7C5Q",
      "./en-in.js": "7C5Q",
      "./en-nz": "b1Dy",
      "./en-nz.js": "b1Dy",
      "./en-sg": "t+mt",
      "./en-sg.js": "t+mt",
      "./eo": "Zduo",
      "./eo.js": "Zduo",
      "./es": "iYuL",
      "./es-do": "CjzT",
      "./es-do.js": "CjzT",
      "./es-mx": "tbfe",
      "./es-mx.js": "tbfe",
      "./es-us": "Vclq",
      "./es-us.js": "Vclq",
      "./es.js": "iYuL",
      "./et": "7BjC",
      "./et.js": "7BjC",
      "./eu": "D/JM",
      "./eu.js": "D/JM",
      "./fa": "jfSC",
      "./fa.js": "jfSC",
      "./fi": "gekB",
      "./fi.js": "gekB",
      "./fil": "1ppg",
      "./fil.js": "1ppg",
      "./fo": "ByF4",
      "./fo.js": "ByF4",
      "./fr": "nyYc",
      "./fr-ca": "2fjn",
      "./fr-ca.js": "2fjn",
      "./fr-ch": "Dkky",
      "./fr-ch.js": "Dkky",
      "./fr.js": "nyYc",
      "./fy": "cRix",
      "./fy.js": "cRix",
      "./ga": "USCx",
      "./ga.js": "USCx",
      "./gd": "9rRi",
      "./gd.js": "9rRi",
      "./gl": "iEDd",
      "./gl.js": "iEDd",
      "./gom-deva": "qvJo",
      "./gom-deva.js": "qvJo",
      "./gom-latn": "DKr+",
      "./gom-latn.js": "DKr+",
      "./gu": "4MV3",
      "./gu.js": "4MV3",
      "./he": "x6pH",
      "./he.js": "x6pH",
      "./hi": "3E1r",
      "./hi.js": "3E1r",
      "./hr": "S6ln",
      "./hr.js": "S6ln",
      "./hu": "WxRl",
      "./hu.js": "WxRl",
      "./hy-am": "1rYy",
      "./hy-am.js": "1rYy",
      "./id": "UDhR",
      "./id.js": "UDhR",
      "./is": "BVg3",
      "./is.js": "BVg3",
      "./it": "bpih",
      "./it-ch": "bxKX",
      "./it-ch.js": "bxKX",
      "./it.js": "bpih",
      "./ja": "B55N",
      "./ja.js": "B55N",
      "./jv": "tUCv",
      "./jv.js": "tUCv",
      "./ka": "IBtZ",
      "./ka.js": "IBtZ",
      "./kk": "bXm7",
      "./kk.js": "bXm7",
      "./km": "6B0Y",
      "./km.js": "6B0Y",
      "./kn": "PpIw",
      "./kn.js": "PpIw",
      "./ko": "Ivi+",
      "./ko.js": "Ivi+",
      "./ku": "JCF/",
      "./ku.js": "JCF/",
      "./ky": "lgnt",
      "./ky.js": "lgnt",
      "./lb": "RAwQ",
      "./lb.js": "RAwQ",
      "./lo": "sp3z",
      "./lo.js": "sp3z",
      "./lt": "JvlW",
      "./lt.js": "JvlW",
      "./lv": "uXwI",
      "./lv.js": "uXwI",
      "./me": "KTz0",
      "./me.js": "KTz0",
      "./mi": "aIsn",
      "./mi.js": "aIsn",
      "./mk": "aQkU",
      "./mk.js": "aQkU",
      "./ml": "AvvY",
      "./ml.js": "AvvY",
      "./mn": "lYtQ",
      "./mn.js": "lYtQ",
      "./mr": "Ob0Z",
      "./mr.js": "Ob0Z",
      "./ms": "6+QB",
      "./ms-my": "ZAMP",
      "./ms-my.js": "ZAMP",
      "./ms.js": "6+QB",
      "./mt": "G0Uy",
      "./mt.js": "G0Uy",
      "./my": "honF",
      "./my.js": "honF",
      "./nb": "bOMt",
      "./nb.js": "bOMt",
      "./ne": "OjkT",
      "./ne.js": "OjkT",
      "./nl": "+s0g",
      "./nl-be": "2ykv",
      "./nl-be.js": "2ykv",
      "./nl.js": "+s0g",
      "./nn": "uEye",
      "./nn.js": "uEye",
      "./oc-lnc": "Fnuy",
      "./oc-lnc.js": "Fnuy",
      "./pa-in": "8/+R",
      "./pa-in.js": "8/+R",
      "./pl": "jVdC",
      "./pl.js": "jVdC",
      "./pt": "8mBD",
      "./pt-br": "0tRk",
      "./pt-br.js": "0tRk",
      "./pt.js": "8mBD",
      "./ro": "lyxo",
      "./ro.js": "lyxo",
      "./ru": "lXzo",
      "./ru.js": "lXzo",
      "./sd": "Z4QM",
      "./sd.js": "Z4QM",
      "./se": "//9w",
      "./se.js": "//9w",
      "./si": "7aV9",
      "./si.js": "7aV9",
      "./sk": "e+ae",
      "./sk.js": "e+ae",
      "./sl": "gVVK",
      "./sl.js": "gVVK",
      "./sq": "yPMs",
      "./sq.js": "yPMs",
      "./sr": "zx6S",
      "./sr-cyrl": "E+lV",
      "./sr-cyrl.js": "E+lV",
      "./sr.js": "zx6S",
      "./ss": "Ur1D",
      "./ss.js": "Ur1D",
      "./sv": "X709",
      "./sv.js": "X709",
      "./sw": "dNwA",
      "./sw.js": "dNwA",
      "./ta": "PeUW",
      "./ta.js": "PeUW",
      "./te": "XLvN",
      "./te.js": "XLvN",
      "./tet": "V2x9",
      "./tet.js": "V2x9",
      "./tg": "Oxv6",
      "./tg.js": "Oxv6",
      "./th": "EOgW",
      "./th.js": "EOgW",
      "./tk": "Wv91",
      "./tk.js": "Wv91",
      "./tl-ph": "Dzi0",
      "./tl-ph.js": "Dzi0",
      "./tlh": "z3Vd",
      "./tlh.js": "z3Vd",
      "./tr": "DoHr",
      "./tr.js": "DoHr",
      "./tzl": "z1FC",
      "./tzl.js": "z1FC",
      "./tzm": "wQk9",
      "./tzm-latn": "tT3J",
      "./tzm-latn.js": "tT3J",
      "./tzm.js": "wQk9",
      "./ug-cn": "YRex",
      "./ug-cn.js": "YRex",
      "./uk": "raLr",
      "./uk.js": "raLr",
      "./ur": "UpQW",
      "./ur.js": "UpQW",
      "./uz": "Loxo",
      "./uz-latn": "AQ68",
      "./uz-latn.js": "AQ68",
      "./uz.js": "Loxo",
      "./vi": "KSF8",
      "./vi.js": "KSF8",
      "./x-pseudo": "/X5v",
      "./x-pseudo.js": "/X5v",
      "./yo": "fzPg",
      "./yo.js": "fzPg",
      "./zh-cn": "XDpg",
      "./zh-cn.js": "XDpg",
      "./zh-hk": "SatO",
      "./zh-hk.js": "SatO",
      "./zh-mo": "OmwH",
      "./zh-mo.js": "OmwH",
      "./zh-tw": "kOpN",
      "./zh-tw.js": "kOpN",
    };
    function r(e) {
      var t = i(e);
      return n(t);
    }
    function i(e) {
      if (!n.o(a, e)) {
        var t = new Error("Cannot find module '" + e + "'");
        throw ((t.code = "MODULE_NOT_FOUND"), t);
      }
      return a[e];
    }
    (r.keys = function () {
      return Object.keys(a);
    }),
      (r.resolve = i),
      (e.exports = r),
      (r.id = "RnhZ");
  },
  RtrP: function (e, t, n) {
    "use strict";
    n.d(t, "f", function () {
      return h;
    }),
      n.d(t, "e", function () {
        return _;
      }),
      n.d(t, "a", function () {
        return g;
      }),
      n.d(t, "h", function () {
        return b;
      }),
      n.d(t, "b", function () {
        return f;
      }),
      n.d(t, "d", function () {
        return v;
      }),
      n.d(t, "g", function () {
        return S;
      }),
      n.d(t, "c", function () {
        return y;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("2hyl"),
      s = n("CqJL"),
      o = n("TyAF"),
      l = n("3wCP"),
      c = n("ZvQN"),
      d = n("dIlD"),
      u = n.n(d),
      m = n("DAjO");
    const p = n("f0Wu");
    function h(e) {
      const t = p.tz.guess(),
        n = p.unix(e).tz(t),
        a = Object(s.c)();
      return a && n.locale(a), n.format("LT");
    }
    function _(e, t) {
      const n = p.tz.guess(),
        a = p.unix(e).tz(n),
        i = Object(s.c)();
      return (
        i && a.locale(i),
        r.createElement(
          r.Fragment,
          null,
          a.format("LT"),
          t
            ? r.createElement(
                "span",
                { "data-tooltip-text": a.format("Z") + ", " + n },
                " ",
                a.zoneAbbr(),
              )
            : null,
        )
      );
    }
    const g = Object(o.a)((e) => {
        const {
            dateAndTime: t,
            bSingleLine: n,
            bOnlyTime: a,
            bOnlyDate: i,
          } = e,
          o = !a && Boolean(t),
          l = !i && Boolean(t),
          c = o && Object(s.k)(t),
          d = e.stylesmodule
            ? Object.assign(Object.assign({}, u.a), e.stylesmodule)
            : u.a;
        return n
          ? r.createElement(
              "span",
              { className: a || i ? d.DateAndTimeInline : d.DateAndTime },
              o && c,
              r.createElement("span", null, " "),
              Boolean(t && l) && _(t, !0),
            )
          : r.createElement(
              "div",
              { className: d.DateAndTime },
              o &&
                r.createElement(
                  r.Fragment,
                  null,
                  r.createElement("div", { className: d.LocalizedDate }, c),
                  " ",
                  r.createElement("span", { className: d.At }, "@"),
                ),
              r.createElement(
                "div",
                { className: d.LocalizedTime },
                Boolean(t && l) && _(t, !0),
              ),
            );
      }),
      b = (e) => {
        var t;
        const n = r.createElement(g, {
          dateAndTime: e.rtFullDate,
          bSingleLine: !0,
          stylesmodule: e.stylesmodule,
        });
        return r.createElement(
          i.a,
          {
            toolTipContent: n,
            direction: "top",
            className: e.className,
            strTooltipClassname:
              null === (t = e.stylesmodule) || void 0 === t
                ? void 0
                : t.DateToolTip,
          },
          e.children,
        );
      };
    let f = class extends r.Component {
      render() {
        const { startDateAndTime: e, endDateAndTime: t } = this.props,
          n = this.props.stylesmodule
            ? Object.assign(Object.assign({}, u.a), this.props.stylesmodule)
            : u.a;
        let a =
          this.props.bHideEndTime ||
          null == this.props.endDateAndTime ||
          this.props.endDateAndTime < 1;
        if (null == e || 0 == e)
          return r.createElement(
            "div",
            { className: n.DateAndTime },
            r.createElement(
              "span",
              { className: n.RightSideTitles },
              Object(s.f)("#EventDisplay_TimeRange"),
            ),
            Object(s.f)("#EventDisplay_TimeDisplayNone"),
          );
        let i = m.b.GetTimeNowWithOverride();
        if (a)
          return r.createElement(
            "div",
            { className: n.StartDate },
            r.createElement(
              "div",
              { className: n.RightSideTitles },
              Object(s.f)(
                e < i
                  ? "#EventDisplay_TimeInPast"
                  : "#EventDisplay_TimeUpcoming",
              ),
              " ",
            ),
            r.createElement(g, { stylesmodule: n, dateAndTime: e }),
          );
        let o = e <= i && i <= t;
        const d = Object(c.b)(new Date(1e3 * e), new Date(1e3 * t));
        return r.createElement(
          "div",
          { className: n.MultiDateAndTime },
          r.createElement(
            "div",
            { className: n.StartDate },
            r.createElement(
              "span",
              { className: n.RightSideTitles },
              Object(s.f)(
                e >= i
                  ? "#EventDisplay_TimeBeginsOn"
                  : t >= i
                    ? "#EventDisplay_TimeBeginsOn_Past"
                    : "#EventDisplay_TimeBeginsOn_StartAndEnd_Past",
              ),
            ),
            r.createElement(g, {
              stylesmodule: n,
              bSingleLine: !0,
              dateAndTime: e,
            }),
          ),
          r.createElement(
            "div",
            { className: n.EndDate },
            r.createElement(
              "span",
              { className: n.RightSideTitles },
              Object(s.f)(
                t < i
                  ? "#EventDisplay_TimeEndsOn_Past"
                  : "#EventDisplay_TimeEndsOn",
              ),
            ),
            r.createElement(g, {
              stylesmodule: n,
              bSingleLine: !0,
              bOnlyTime: d,
              dateAndTime: t,
            }),
          ),
          o &&
            r.createElement(
              "span",
              { className: n.ActiveEvent },
              r.createElement(
                "span",
                {
                  className: Object(l.a)(
                    n.RightSideTitles,
                    n.ActiveEventCallOut,
                  ),
                },
                Object(s.f)("#Time_Now"),
              ),
            ),
        );
      }
    };
    f = Object(a.b)([o.a], f);
    let v = class extends r.Component {
      render() {
        const {
            startDateAndTime: e,
            endDateAndTime: t,
            bHideEndTime: n,
          } = this.props,
          a = this.props.stylesmodule
            ? Object.assign(Object.assign({}, u.a), this.props.stylesmodule)
            : u.a;
        if (null == e || 0 == e)
          return r.createElement(
            "div",
            { className: a.DateAndTime },
            r.createElement(
              "span",
              { className: a.RightSideTitles },
              Object(s.f)("#EventDisplay_TimeRange"),
            ),
            Object(s.f)("#EventDisplay_TimeDisplayNone"),
          );
        const i = m.b.GetTimeNowWithOverrideAsDate(),
          o = m.b.GetTimeNowWithOverride(),
          l = Object(c.c)(new Date(1e3 * e), i),
          d = r.createElement(
            "div",
            { className: a.ShortDateAndTime },
            Object(s.k)(e, l),
          );
        let p = r.createElement(
          b,
          { rtFullDate: e, stylesmodule: a },
          r.createElement(
            "div",
            { className: a.RightSideTitles },
            Object(s.f)(
              e < o ? "#EventDisplay_TimeInPast" : "#EventDisplay_TimeUpcoming",
            ),
          ),
          d,
        );
        if (
          (o < e &&
            e < o + c.g.PerWeek &&
            (p = r.createElement(
              b,
              { rtFullDate: e, stylesmodule: a },
              r.createElement(
                "div",
                { className: a.RightSideTitles },
                Object(s.o)(
                  "#EventDisplay_EventUpcoming_WithDateAndTime",
                  d,
                  r.createElement(
                    "div",
                    { className: a.ShortDateAndTime },
                    _(e),
                    " ",
                  ),
                ),
              ),
            )),
          n || null == t || t < 1)
        )
          return p;
        const h = e <= o && o <= t;
        h &&
          (p = r.createElement(
            b,
            { rtFullDate: e, className: a.ActiveEvent, stylesmodule: a },
            r.createElement(
              "span",
              { className: a.ActiveEventCallOut },
              Object(s.f)("#Time_Now"),
            ),
          ));
        let g = null;
        const f = h ? t - o : t - e;
        if (f <= c.g.PerDay) {
          const e = r.createElement(
            "div",
            { className: a.ShortDateAndTime },
            Object(s.r)(f, !0),
          );
          g =
            t < o
              ? r.createElement(
                  "div",
                  { className: a.RightSideTitles },
                  Object(s.f)("#EventDisplay_TimeEndsOn_Ran"),
                  e,
                )
              : r.createElement(
                  "div",
                  { className: a.RightSideTitles },
                  Object(s.o)(
                    h
                      ? "#EventDisplay_TimeLeft"
                      : "#EventDisplay_RunsForDuration",
                    e,
                  ),
                );
        } else {
          const e = i.getFullYear() == new Date(1e3 * t).getFullYear();
          g = r.createElement(
            r.Fragment,
            null,
            r.createElement(
              "div",
              { className: a.RightSideTitles },
              Object(s.f)(
                t < o
                  ? "#EventDisplay_TimeEndsOn_Past"
                  : "#EventDisplay_TimeEndsOn",
              ),
            ),
            r.createElement(
              "div",
              { className: a.ShortDateAndTime },
              Object(s.k)(t, e),
            ),
          );
        }
        const v = r.createElement(b, { rtFullDate: t, stylesmodule: a }, g);
        return r.createElement("div", { className: a.ShortDateRange }, p, v);
      }
    };
    function S(e, t, n) {
      const a = m.b.GetTimeNowWithOverrideAsDate(),
        r = new Date(1e3 * e),
        i = new Date(1e3 * t),
        o = a.getFullYear() == r.getFullYear(),
        l = a.getFullYear() == i.getFullYear(),
        c = r.getFullYear() == i.getFullYear(),
        d = c && r.getMonth() == i.getMonth(),
        u = d && r.getDate() == i.getDate(),
        p = {
          day: "numeric",
          month: null != n ? n : "long",
          year: o ? void 0 : "numeric",
        },
        h = r.toLocaleDateString(s.e.GetPreferredLocales(), p);
      if (u) return h;
      {
        const e = {
          day: "numeric",
          month: d && l ? void 0 : null != n ? n : "long",
          year: c ? void 0 : "numeric",
        };
        return h + " - " + i.toLocaleDateString(s.e.GetPreferredLocales(), e);
      }
    }
    function y(e) {
      const {
        rtStartDate: t,
        rtEndDate: n,
        strMonthFormat: a,
        className: i,
      } = e;
      return r.createElement("div", { className: i }, S(t, n, a), " ");
    }
    v = Object(a.b)([o.a], v);
  },
  SlVF: function (e, t, n) {
    "use strict";
  },
  SpZB: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return y;
    }),
      n.d(t, "b", function () {
        return C;
      }),
      n.d(t, "a", function () {
        return w;
      });
    var a = n("vDqi"),
      r = n.n(a),
      i = n("q1tI"),
      s = n.n(i),
      o = n("pQ8y"),
      l = n("Q8oI"),
      c = (n("oeZY"), n("RYKw"), n("czhv")),
      d = (n("PEc5"), n("xSFm")),
      u = n("OJUs"),
      m = n("wkCk"),
      p = n("FF71"),
      h = n("JzNE"),
      _ = n("4CMN"),
      g = n("yd9a"),
      b = n.n(g),
      f = n("mBxP"),
      v = n("3wCP"),
      S = n("CqJL");
    function y(e) {
      const {
          info: t,
          bShowDemoButton: n,
          bShowPurchaseOptionsButton: a,
          fnOnPurchaseOptionsClick: o,
          bHidePrice: _,
          bHideWishlistButton: g,
          bShowDeckCompatibilityDialog: v,
        } = e,
        S = Object(i.useRef)({ include_release: !0 }),
        [y] = Object(u.a)(t.id, Object(d.j)(t.type), S.current),
        C = Object(l.BIsSaleItemType)(t.type),
        [B, O] = s.a.useState(n && C && c.a.Get().BHasDemoAppID(t.id));
      return (
        s.a.useEffect(() => {
          const e = r.a.CancelToken.source();
          return (
            n &&
              C &&
              c.a
                .Get()
                .LoadAppIDsBatch([t.id])
                .then(() => {
                  e.token.reason || O(c.a.Get().BHasDemoAppID(t.id));
                }),
            () =>
              null == e
                ? void 0
                : e.cancel("StoreSalePriceActionWidget: unmounting")
          );
        }, [n, C, t.id]),
        y
          ? s.a.createElement(
              "div",
              { className: b.a.StoreActionWidgetContainer },
              s.a.createElement(
                "div",
                { className: b.a.StoreSalePriceActionWidgetContainer },
                Boolean(!g && Object(l.BIsSaleItemType)(t.type)) &&
                  s.a.createElement(f.a, {
                    appid: t.id,
                    bIsFree: y.BIsFree(),
                    bIsComingSoon: y.BIsComingSoon(),
                    className: "WishlistBtn",
                  }),
                Boolean(B) &&
                  s.a.createElement(h.a, { info: t, className: b.a.Action }),
                Boolean(!_) &&
                  (Boolean(a)
                    ? s.a.createElement(E, { fnOnPurchaseOptionsClick: o })
                    : s.a.createElement(p.a, {
                        info: t,
                        className: "CartBtn",
                      })),
                Boolean(!_) && s.a.createElement(w, { info: t }),
                Boolean(v) && s.a.createElement(m.a, { nAppID: t.id }),
              ),
            )
          : null
      );
    }
    const E = (e) =>
      s.a.createElement(
        "div",
        { className: b.a.Action, onClick: e.fnOnPurchaseOptionsClick },
        s.a.createElement(
          "span",
          null,
          Object(S.f)("#EventDisplay_CallToAction_ShowPurchaseOptions_Button"),
        ),
      );
    function C(e) {
      const {
          storeItem: t,
          bPurchaseOptionsExpanded: n,
          fnCollapseOptions: a,
        } = e,
        r = null == t ? void 0 : t.GetAllPurchaseOptions();
      return s.a.createElement(
        o.a,
        {
          in: n,
          mountOnEnter: !0,
          unmountOnExit: !0,
          timeout: 2e3,
          classNames: {
            enterActive: b.a.Expanding,
            enterDone: b.a.Expanded,
            exit: b.a.Expanded,
            exitActive: b.a.Collapsing,
          },
        },
        s.a.createElement(
          "div",
          { className: b.a.BundleContentsCtnTransition },
          s.a.createElement(
            "div",
            { className: b.a.BundleContentsCtn },
            null == r
              ? void 0
              : r.map((e) =>
                  s.a.createElement(
                    "div",
                    {
                      key:
                        "purchaseitem_" +
                        (null == t ? void 0 : t.GetID()) +
                        "_" +
                        e.packageid,
                      className: b.a.BundleContentItem,
                    },
                    s.a.createElement(_.e, {
                      id: e.packageid,
                      type: "sub",
                      bForceSmallCapsuleArt: !0,
                    }),
                  ),
                ),
          ),
          s.a.createElement(
            "div",
            { onClick: a, className: b.a.BundleShowButton },
            s.a.createElement(
              "button",
              { className: b.a.ShowContentsButton },
              Object(S.f)("#Button_Close"),
            ),
          ),
        ),
      );
    }
    function w(e) {
      var t, n;
      const { info: a, bSingleLineMode: r } = e,
        o = Object(i.useRef)({ include_release: !0 }),
        [l] = Object(u.a)(
          null == a ? void 0 : a.id,
          Object(d.j)(null == a ? void 0 : a.type),
          o.current,
        );
      if (!l) return null;
      const c = Object(v.a)(
          b.a.StoreSalePriceWidgetContainer,
          r && b.a.SingleLineMode,
        ),
        m =
          2 == l.GetStoreItemType() &&
          (null === (t = l.GetBestPurchaseOption()) || void 0 === t
            ? void 0
            : t.bundle_discount_pct);
      if (e.bShowInLibrary)
        return s.a.createElement(
          "div",
          { className: c },
          s.a.createElement(
            "div",
            { className: b.a.StoreSalePriceBox },
            Object(S.f)("#EventDisplay_CallToAction_InLibrary"),
          ),
        );
      if (
        l.BIsComingSoon() &&
        !(null === (n = l.GetBestPurchaseOption()) || void 0 === n
          ? void 0
          : n.packageid)
      )
        return s.a.createElement(
          "div",
          { className: c },
          s.a.createElement(
            "div",
            { className: b.a.StoreSalePriceBox },
            Object(S.f)("#EventDisplay_CallToAction_ComingSoon"),
          ),
        );
      if (l.BIsFree())
        return 0 == l.GetStoreItemType() &&
          4 != l.GetAppType() &&
          11 != l.GetAppType() &&
          l.GetParentAppID()
          ? s.a.createElement(
              "div",
              { className: c },
              s.a.createElement(
                "div",
                { className: b.a.StoreSalePriceBox },
                Object(S.f)("#EventDisplay_CallToAction_FreeDemo"),
              ),
            )
          : s.a.createElement(
              "div",
              { className: c },
              s.a.createElement(
                "div",
                { className: b.a.StoreSalePriceBox },
                Object(S.f)("#EventDisplay_CallToAction_FreeToPlay"),
              ),
            );
      if (!l.GetBestPurchasePriceFormatted() || !l.GetBestPurchaseOption())
        return null;
      const p = l.GetBestPurchaseOption().discount_pct || m,
        h = p && m && p > m && m,
        _ = l.GetBestPurchaseOption().packageid;
      return s.a.createElement(
        "div",
        {
          className: Object(v.a)(
            c,
            p && b.a.Discounted,
            "StoreSalePriceWidgetContainer",
          ),
        },
        Boolean(l.BIsComingSoon() && !!_) &&
          s.a.createElement(
            "div",
            {
              className: Object(v.a)(
                b.a.StoreSalePriceBox,
                b.a.StoreSalePrepurchaseLabel,
              ),
            },
            Object(S.f)("#EventDisplay_CallToAction_Prepurchase_Short"),
          ),
        Boolean(h) &&
          s.a.createElement(
            "span",
            { className: Object(v.a)(b.a.BaseDiscount) },
            `-${h}%`,
          ),
        Boolean(p) &&
          s.a.createElement(
            "div",
            { className: b.a.StoreSaleDiscountBox },
            `-${p}%`,
          ),
        p && l.GetBestPurchaseOriginalPriceFormatted()
          ? s.a.createElement(
              "div",
              { className: Object(v.a)(b.a.StoreSaleDiscountedPriceCtn) },
              s.a.createElement(
                "div",
                {
                  className: r
                    ? b.a.SingleLineOriginalPrice
                    : b.a.StoreOriginalPrice,
                },
                l.GetBestPurchaseOriginalPriceFormatted(),
              ),
              s.a.createElement(
                "div",
                {
                  className: Object(v.a)(
                    b.a.StoreSalePriceBox,
                    r && b.a.SingleLineMode,
                  ),
                },
                l.GetBestPurchasePriceFormatted(),
              ),
            )
          : s.a.createElement(
              "div",
              { className: b.a.StoreSalePriceBox },
              l.GetBestPurchasePriceFormatted(),
            ),
      );
    }
  },
  T5Lz: function (e, t, n) {
    e.exports = {
      avatarHolder: "steamavatar_avatarHolder_ygORr",
      avatarStatus: "steamavatar_avatarStatus_1hZQ6",
      avatar: "steamavatar_avatar_2dopb",
      avatarFrame: "steamavatar_avatarFrame_RA6JJ",
      avatarFrameImg: "steamavatar_avatarFrameImg_1OQ64",
    };
  },
  T5os: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return f;
    }),
      n.d(t, "a", function () {
        return w;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.promotions || r.a(s.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: { promotions: { n: 1, c: o, r: !0, q: !0 } },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_GetAvailableValveDiscountPromotions_Response";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.promotionid || r.a(o.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                promotionid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                promotion_description: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                minimum_cart_amount: {
                  n: 3,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                minimum_cart_amount_for_display: {
                  n: 4,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                discount_amount: {
                  n: 5,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                currency_code: { n: 6, br: r.d.readInt32, bw: r.h.writeInt32 },
                available_use_count: {
                  n: 7,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                promotional_discount_type: {
                  n: 8,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                loyalty_reward_id: {
                  n: 9,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                localized_name_token: {
                  n: 10,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                max_use_count: { n: 11, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_GetAvailableValveDiscountPromotions_Response_ValveDiscountPromotionDetails";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.has_wallet || r.a(l.M()),
          i.initialize(this, e, 0, -1, [13], null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                has_wallet: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                user_country_code: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                wallet_country_code: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                wallet_state: { n: 4, br: r.d.readString, bw: r.h.writeString },
                balance: {
                  n: 5,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                delayed_balance: {
                  n: 6,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                currency_code: { n: 7, br: r.d.readInt32, bw: r.h.writeInt32 },
                time_most_recent_txn: {
                  n: 8,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                most_recent_txnid: {
                  n: 9,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                balance_in_usd: {
                  n: 10,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                delayed_balance_in_usd: {
                  n: 11,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                has_wallet_in_other_regions: {
                  n: 12,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                other_regions: {
                  n: 13,
                  r: !0,
                  q: !0,
                  br: r.d.readInt32,
                  bw: r.h.writeRepeatedInt32,
                },
                formatted_balance: {
                  n: 14,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_GetWalletDetails_Response";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.pwid || r.a(c.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                pwid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                identity_verification: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                performed_age_verification: {
                  n: 3,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_GetAccountLinkStatus_Response";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new d();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_CancelLicenseForApp_Response";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.country || r.a(u.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                country: { n: 1, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_GetUserCountry_Response";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(),
          m.prototype.invite_token || r.a(m.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                invite_token: { n: 1, br: r.d.readString, bw: r.h.writeString },
                invite_limit: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                invite_duration: {
                  n: 3,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                time_created: {
                  n: 4,
                  br: r.d.readFixed32,
                  bw: r.h.writeFixed32,
                },
                valid: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_CreateFriendInviteToken_Response";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(),
          p.prototype.tokens || r.a(p.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: { tokens: { n: 1, c: m, r: !0, q: !0 } },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_GetFriendInviteTokens_Response";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(),
          h.prototype.valid || r.a(h.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                valid: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                steamid: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                invite_duration: {
                  n: 3,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_ViewFriendInviteToken_Response";
      }
    }
    class _ extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new _();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_RedeemFriendInviteToken_Response";
      }
    }
    class g extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new g();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_RevokeFriendInviteToken_Response";
      }
    }
    class b extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return b.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new b();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new b();
        return b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserAccount_RegisterCompatTool_Response";
      }
    }
    class f extends i {
      constructor(e = null) {
        super(),
          f.prototype.account_type || r.a(f.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          f.sm_m ||
            (f.sm_m = {
              proto: f,
              fields: {
                account_type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                account_id: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                filter: { n: 3, br: r.d.readEnum, bw: r.h.writeEnum },
                return_access_token: {
                  n: 4,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          f.sm_m
        );
      }
      static MBF() {
        return f.sm_mbf || (f.sm_mbf = r.e(f.M())), f.sm_mbf;
      }
      toObject(e = !1) {
        return f.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(f.M(), e, t);
      }
      static fromObject(e) {
        return r.c(f.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new f();
        return f.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(f.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(f.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAccountLinking_GetLinkedAccountInfo_Request";
      }
    }
    class v extends i {
      constructor(e = null) {
        super(),
          v.prototype.external_accounts || r.a(v.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          v.sm_m ||
            (v.sm_m = {
              proto: v,
              fields: { external_accounts: { n: 1, c: S, r: !0, q: !0 } },
            }),
          v.sm_m
        );
      }
      static MBF() {
        return v.sm_mbf || (v.sm_mbf = r.e(v.M())), v.sm_mbf;
      }
      toObject(e = !1) {
        return v.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(v.M(), e, t);
      }
      static fromObject(e) {
        return r.c(v.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new v();
        return v.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(v.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(v.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAccountLinking_GetLinkedAccountInfo_Response";
      }
    }
    class S extends i {
      constructor(e = null) {
        super(),
          S.prototype.external_type || r.a(S.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          S.sm_m ||
            (S.sm_m = {
              proto: S,
              fields: {
                external_type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                external_id: { n: 2, br: r.d.readString, bw: r.h.writeString },
                external_user_name: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                external_url: { n: 4, br: r.d.readString, bw: r.h.writeString },
                access_token: { n: 5, br: r.d.readString, bw: r.h.writeString },
                access_token_secret: {
                  n: 6,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                is_valid: { n: 7, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          S.sm_m
        );
      }
      static MBF() {
        return S.sm_mbf || (S.sm_mbf = r.e(S.M())), S.sm_mbf;
      }
      toObject(e = !1) {
        return S.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(S.M(), e, t);
      }
      static fromObject(e) {
        return r.c(S.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new S();
        return S.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(S.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(S.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAccountLinking_GetLinkedAccountInfo_Response_CExternalAccountTuple_Response";
      }
    }
    class y extends i {
      constructor(e = null) {
        super(),
          y.prototype.steamid || r.a(y.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          y.sm_m ||
            (y.sm_m = {
              proto: y,
              fields: {
                steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                client_token: { n: 2, br: r.d.readBytes, bw: r.h.writeBytes },
                expiry: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                deviceid: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          y.sm_m
        );
      }
      static MBF() {
        return y.sm_mbf || (y.sm_mbf = r.e(y.M())), y.sm_mbf;
      }
      toObject(e = !1) {
        return y.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(y.M(), e, t);
      }
      static fromObject(e) {
        return r.c(y.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new y();
        return y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(y.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(y.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CEmbeddedClient_Token";
      }
    }
    class E extends i {
      constructor(e = null) {
        super(),
          E.prototype.result || r.a(E.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          E.sm_m ||
            (E.sm_m = {
              proto: E,
              fields: {
                result: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                token: { n: 2, c: y },
              },
            }),
          E.sm_m
        );
      }
      static MBF() {
        return E.sm_mbf || (E.sm_mbf = r.e(E.M())), E.sm_mbf;
      }
      toObject(e = !1) {
        return E.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(E.M(), e, t);
      }
      static fromObject(e) {
        return r.c(E.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new E();
        return E.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(E.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(E.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CEmbeddedClient_AuthorizeDevice_Response";
      }
    }
    var C, w, B;
    !(function (e) {
      (e.GetAvailableValveDiscountPromotions = function (e, t) {
        return e.SendMsg(
          "UserAccount.GetAvailableValveDiscountPromotions#1",
          t,
          s,
          { bConstMethod: !0, ePrivilege: 2, eWebAPIKeyRequirement: 1 },
        );
      }),
        (e.GetClientWalletDetails = function (e, t) {
          return e.SendMsg("UserAccount.GetClientWalletDetails#1", t, l, {
            ePrivilege: 1,
          });
        }),
        (e.GetAccountLinkStatus = function (e, t) {
          return e.SendMsg("UserAccount.GetAccountLinkStatus#1", t, c, {
            ePrivilege: 1,
          });
        }),
        (e.CancelLicenseForApp = function (e, t) {
          return e.SendMsg("UserAccount.CancelLicenseForApp#1", t, d, {
            ePrivilege: 1,
          });
        }),
        (e.GetUserCountry = function (e, t) {
          return e.SendMsg("UserAccount.GetUserCountry#1", t, u, {
            ePrivilege: 1,
          });
        }),
        (e.CreateFriendInviteToken = function (e, t) {
          return e.SendMsg("UserAccount.CreateFriendInviteToken#1", t, m, {
            ePrivilege: 3,
          });
        }),
        (e.GetFriendInviteTokens = function (e, t) {
          return e.SendMsg("UserAccount.GetFriendInviteTokens#1", t, p, {
            ePrivilege: 1,
          });
        }),
        (e.ViewFriendInviteToken = function (e, t) {
          return e.SendMsg("UserAccount.ViewFriendInviteToken#1", t, h, {
            ePrivilege: 1,
          });
        }),
        (e.RedeemFriendInviteToken = function (e, t) {
          return e.SendMsg("UserAccount.RedeemFriendInviteToken#1", t, _, {
            ePrivilege: 1,
          });
        }),
        (e.RevokeFriendInviteToken = function (e, t) {
          return e.SendMsg("UserAccount.RevokeFriendInviteToken#1", t, g, {
            ePrivilege: 1,
          });
        }),
        (e.RegisterCompatTool = function (e, t) {
          return e.SendMsg("UserAccount.RegisterCompatTool#1", t, b, {
            ePrivilege: 1,
          });
        });
    })(C || (C = {})),
      (function (e) {
        e.GetLinkedAccountInfo = function (e, t) {
          return e.SendMsg("AccountLinking.GetLinkedAccountInfo#1", t, v, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        };
      })(w || (w = {})),
      (function (e) {
        e.AuthorizeCurrentDevice = function (e, t) {
          return e.SendMsg("EmbeddedClient.AuthorizeCurrentDevice#1", t, E, {
            ePrivilege: 1,
          });
        };
      })(B || (B = {}));
  },
  T9Kn: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      DropDownControlButton: "gamepaddropdown_DropDownControlButton_2Mewn",
    };
  },
  TCEh: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    });
    class a {}
    var r;
    !(function (e) {
      (e[(e.k_EPending = 0)] = "k_EPending"),
        (e[(e.k_EAccepted = 1)] = "k_EAccepted"),
        (e[(e.k_ERejected = 2)] = "k_ERejected");
    })(r || (r = {}));
  },
  TYQL: function (e, t, n) {
    "use strict";
    var a = n("hRO2");
    n("gFJg");
    a.Message;
  },
  U7vI: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    }),
      n.d(t, "b", function () {
        return i;
      });
    n("AQa9");
    var a = n("CqJL");
    n("5VAZ"), n("nHhU"), n("aaBf");
    function r(e) {
      switch (e) {
        case 29:
        case 27:
        case 2:
        case 4:
        case 5:
        case 6:
        case 8:
        case 7:
        case 9:
        case 11:
        case 17:
        case 18:
        case 19:
        case 20:
        case 21:
        case 22:
        case 23:
        case 24:
        case 35:
        case 25:
        case 26:
        case 31:
        case 32:
        case 1:
        case 34:
          return !0;
      }
      return !1;
    }
    function i(e) {
      let t = "#PartnerEvent_" + e,
        n = Object(a.f)(t);
      return n != t ? n : Object(a.f)("#PartnerEvent_Other");
    }
  },
  UOqq: function (e, t, n) {
    e.exports = {
      Login: "newlogindialog_Login_1sORI",
      SideBySide: "newlogindialog_SideBySide_2b0ik",
      QRSection: "newlogindialog_QRSection_3yeMc",
      QR: "newlogindialog_QR_1hjk3",
      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",
      SignInButtonContainer: "newlogindialog_SignInButtonContainer_QYZ5y",
      SubmitButton: "newlogindialog_SubmitButton_1fgOu",
      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",
      AwaitingMobileConfText: "newlogindialog_AwaitingMobileConfText_2uk5-",
      AwaitingMobileConfIcon: "newlogindialog_AwaitingMobileConfIcon_2-LaW",
      EnterCodeInsteadLink: "newlogindialog_EnterCodeInsteadLink_3DTj1",
      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",
      SegmentedCharacterInput: "newlogindialog_SegmentedCharacterInput_3Ac-q",
      StandardLayout: "newlogindialog_StandardLayout_23HHn",
      PrimaryHeader: "newlogindialog_PrimaryHeader_3Ze3S",
      FormContainer: "newlogindialog_FormContainer_2kJQe",
      Embedded: "newlogindialog_Embedded_uif43",
      Compact: "newlogindialog_Compact_3tWBu",
      HeaderLogo: "newlogindialog_HeaderLogo_2Xzuj",
      EmbeddedRoot: "newlogindialog_EmbeddedRoot_EKQN-",
      EmbeddedRootFooter: "newlogindialog_EmbeddedRootFooter_1t0uA",
      AccountCreationPrompt: "newlogindialog_AccountCreationPrompt_1TgPu",
      FailureTitle: "newlogindialog_FailureTitle_1eeXc",
      FailureDescription: "newlogindialog_FailureDescription_9bAS3",
    };
  },
  UYZl: function (e, t, n) {
    e.exports = {
      NewEmoticonIndicator: "emoticon_NewEmoticonIndicator_1C57N",
      NewEmoticonCircle: "emoticon_NewEmoticonCircle_GGVoN",
      EmoticonSelector: "emoticon_EmoticonSelector_3edp7",
      emoticon: "emoticon_emoticon_qjpFK",
      large: "emoticon_large_rB2Pc",
      EmoticonSelector_Emoticons: "emoticon_EmoticonSelector_Emoticons_14GpU",
      EmoticonSelector_Separator: "emoticon_EmoticonSelector_Separator_3dJ4t",
      EmoticonSelector_SeparatorBackground:
        "emoticon_EmoticonSelector_SeparatorBackground_1HXez",
      EmoticonSelector_Controls: "emoticon_EmoticonSelector_Controls_DMSj4",
      EmoticonSelector_Item: "emoticon_EmoticonSelector_Item_9Tx9E",
      EmoticonSelector_Item_New: "emoticon_EmoticonSelector_Item_New_3_oPQ",
      EffectHeading: "emoticon_EffectHeading_rsnGD",
      StickerHeading: "emoticon_StickerHeading_nblUf",
      GetFestive: "emoticon_GetFestive_2DF3r",
      TopDivider: "emoticon_TopDivider_19a4f",
      BottomDivider: "emoticon_BottomDivider_1l3M9",
      StickerButton: "emoticon_StickerButton_2t-Ul",
      EffectButton: "emoticon_EffectButton_2Te-5",
      EmoticonHover: "emoticon_EmoticonHover_3EctP",
      Info: "emoticon_Info_3gaCL",
      Name: "emoticon_Name_gVSxt",
      AppName: "emoticon_AppName_94Ble",
      StickerHoverSticker: "emoticon_StickerHoverSticker_BtXZh",
      EffectHoverEffect: "emoticon_EffectHoverEffect_nXwBd",
      PickerTab: "emoticon_PickerTab_JLpe2",
      Clock: "emoticon_Clock_242v-",
      EmoticonItem: "emoticon_EmoticonItem_3tUBT",
    };
  },
  Uf5V: function (e, t, n) {
    e.exports = {
      SnoozeContainer: "friendsnooze_SnoozeContainer_sR1O9",
      SnoozeZ: "friendsnooze_SnoozeZ_3hM97",
      none: "friendsnooze_none_2g4kW",
      Medium: "friendsnooze_Medium_vXZ1l",
      Large: "friendsnooze_Large_E-LFg",
      Dim: "friendsnooze_Dim_2IdZn",
      Z1: "friendsnooze_Z1_1iU56",
      Z2: "friendsnooze_Z2_2vxUQ",
      Z3: "friendsnooze_Z3_DwdaT",
      hoverParent: "friendsnooze_hoverParent_1dNyr",
      animating: "friendsnooze_animating_2zkiD",
      Snoring: "friendsnooze_Snoring_1JBGx",
    };
  },
  "Ur6+": function (e, t, n) {
    e.exports = {
      DynamicSection: "optin_display_dynamic_sections_DynamicSection_-H4oQ",
      ListContainer: "optin_display_dynamic_sections_ListContainer_b77rl",
      ListTitle: "optin_display_dynamic_sections_ListTitle_1vaSC",
      Column: "optin_display_dynamic_sections_Column_1nquN",
      Categorization: "optin_display_dynamic_sections_Categorization_3BNYK",
      VisibilityTable: "optin_display_dynamic_sections_VisibilityTable_2Doz0",
      TextArea: "optin_display_dynamic_sections_TextArea_2GJyI",
    };
  },
  VQwQ: function (e, t, n) {
    "use strict";
    function a(e, t, n) {
      return {
        get() {
          let e = n.value.bind(this);
          return (
            this.hasOwnProperty(t) ||
              Object.defineProperty(this, t, { value: e }),
            e
          );
        },
      };
    }
    n.d(t, "a", function () {
      return a;
    });
  },
  VRwc: function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return k;
    }),
      n.d(t, "b", function () {
        return M;
      }),
      n.d(t, "c", function () {
        return P;
      }),
      n.d(t, "a", function () {
        return W;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("u/hw"),
      l = n("8xcD"),
      c = n("KT6v");
    class d extends Error {}
    class u extends l.b {
      constructor(e) {
        super(), (this.m_appid = e || 0);
      }
      GetAppID() {
        return this.m_appid;
      }
      parseColor(e) {
        if ("string" != typeof e || !e.match(/^#[0-9a-fA-F]{6}$/))
          throw new d("expected color string");
        return [
          parseInt(e.substring(1, 3), 16),
          parseInt(e.substring(3, 5), 16),
          parseInt(e.substring(5, 7), 16),
        ];
      }
      parseString(e) {
        if ("string" == typeof e) return e;
        throw new d("expected string");
      }
      parseNumber(e) {
        if ("number" == typeof e) return e;
        throw new d("expected number");
      }
      parseDate(e) {
        if ("number" == typeof e) return new Date(e);
        throw new d("expected timestamp");
      }
      parseArray(e, t) {
        let n = [];
        if ("object" != typeof e || !Array.isArray(e))
          throw new d("expected array");
        let a = e.length;
        for (let r = 0; r < a; ++r)
          try {
            n.push(t(e[r]));
          } catch (e) {
            throw ((e.message += "\n...while parsing array element " + r), e);
          }
        return n;
      }
      parseDict(e, t) {
        let n = new Map();
        if ("object" != typeof e || Array.isArray(e))
          throw new d("expected object");
        for (let a in e)
          try {
            n.set(a, t(e[a]));
          } catch (e) {
            throw (
              ((e.message += "\n...while parsing dictionary element " + a), e)
            );
          }
        return n;
      }
      parseBracket(e) {
        let t = {
          name: this.parseString(e.name),
          start: this.parseDate(e.start),
          color: [255, 0, 255],
        };
        return (
          "params" in e &&
            (t.params = this.parseDict(e.params, this.parseString.bind(this))),
          "end" in e && (t.end = this.parseDate(e.end)),
          "color" in e && (t.color = this.parseColor(e.color)),
          t
        );
      }
      parseMarker(e) {
        let t = { time: this.parseDate(e.time), color: [0, 255, 255] };
        return (
          "name" in e && (t.name = this.parseString(e.name)),
          "params" in e &&
            (t.params = this.parseDict(e.params, this.parseString.bind(this))),
          "color" in e && (t.color = this.parseColor(e.color)),
          t
        );
      }
      parseSoundTrack(e) {
        let t = {};
        return (
          "song_title" in e && (t.song_title = this.parseString(e.song_title)),
          "appid" in e && (t.appid = this.parseNumber(e.appid)),
          "song_index" in e && (t.song_index = this.parseNumber(e.song_index)),
          t
        );
      }
      parseBroadcastGameData(e) {
        let t = { appid: 0, brackets: [], markers: [] };
        return (
          "appid" in e && (t.appid = this.parseNumber(e.appid)),
          "brackets" in e &&
            (t.brackets = this.parseArray(
              e.brackets,
              this.parseBracket.bind(this),
            )),
          "markers" in e &&
            (t.markers = this.parseArray(
              e.markers,
              this.parseMarker.bind(this),
            )),
          "soundtrack" in e &&
            (t.soundtrack = this.parseSoundTrack(e.soundtrack)),
          t
        );
      }
      convertTime(e, t) {
        return e - t / 1e3;
      }
      UpdateMarkers(e, t) {
        let n = [],
          a = [];
        for (const r of e)
          r.persistent
            ? (a.length > 0 &&
                (a[a.length - 1].nTimeEnd = this.convertTime(r.Timestamp, t)),
              r.name.length > 0 &&
                a.push({
                  strTemplateName: r.name,
                  nTimeStart: this.convertTime(r.Timestamp, t),
                  nTimeEnd: -1,
                  color: Object(c.c)(r.color_r, r.color_g, r.color_b),
                }))
            : n.push({
                strTemplateName: r.name,
                nTime: this.convertTime(r.Timestamp, t),
                color: Object(c.c)(r.color_r, r.color_g, r.color_b),
              });
        return { rgMarkers: n, rgSegments: a };
      }
      UpdateRegions(e) {
        let t = [];
        for (const n of e)
          t.push({
            strTemplateName: n.name,
            min: { x: n.min_x, y: n.min_y },
            max: { x: n.max_x, y: n.max_y },
            behavior: n.behavior,
          });
        return t;
      }
      UpdateSoundtrack(e, t) {}
    }
    var m = n("Eu8H"),
      p = n("AQa9"),
      h = n("M3d7"),
      _ = n("Mx8f"),
      g = n("fvA7"),
      b = n("+h+B"),
      f = n("CqJL"),
      v = n("gM6l"),
      S = n("VQwQ"),
      y = n("ZvQN"),
      E = n("aaBf"),
      C = n("CH7/"),
      w = n("LHo7"),
      B = n("n2rv");
    n("t3RF");
    const O = "auto";
    var D;
    !(function (e) {
      (e[(e.HAVE_NOTHING = 0)] = "HAVE_NOTHING"),
        (e[(e.HAVE_METADATA = 1)] = "HAVE_METADATA"),
        (e[(e.HAVE_CURRENT_DATA = 2)] = "HAVE_CURRENT_DATA"),
        (e[(e.HAVE_FUTURE_DATA = 3)] = "HAVE_FUTURE_DATA"),
        (e[(e.HAVE_ENOUGH_DATA = 4)] = "HAVE_ENOUGH_DATA");
    })(D || (D = {}));
    class I {
      constructor(e, t = !1) {
        (this.m_elVideo = null),
          (this.m_strMPD = ""),
          (this.m_strHLS = ""),
          (this.m_strCDNAuthURLParameters = null),
          (this.m_schUpdateMPD = new b.b()),
          (this.m_bUseHLSManifest = !1),
          (this.m_strVideoAdaptationID = ""),
          (this.m_strAudioAdaptationID = ""),
          (this.m_strGameAdaptationID = ""),
          (this.m_rgLoaders = []),
          (this.m_mediaSource = null),
          (this.m_nTrackBufferMS = 0),
          (this.m_nLimitFPS = 0),
          (this.m_bIsBuffering = !0),
          (this.m_nSeekingToTime = -1),
          (this.m_listeners = new b.c()),
          (this.m_bFirstPlay = !0),
          (this.m_schGameDataEventTrigger = new b.b()),
          (this.m_schReportPlayerTrigger = new b.b()),
          (this.m_nGameDataLastFramePTS = -1),
          (this.m_bStatsViewVisible = !1),
          (this.m_schCaptureDisplayStatsTrigger = new b.b()),
          (this.m_videoRepSelected = null),
          (this.m_nAudioRepresentationIndex = 0),
          (this.m_timedTextRepSelected = null),
          (this.m_stats = new C.a()),
          (this.m_bClosing = !1),
          (this.m_hlsTimeOffset = 0),
          (this.m_bUserPlayChoice = !0),
          (this.m_bUserLiveEdgeChoice = !0),
          (this.m_schFirstFrameThrottler = new b.b()),
          (this.m_bookMarkAdapter = null),
          (this.m_schBookmarkUpdater = new b.b()),
          (this.m_elVideo = e),
          this.m_schReportPlayerTrigger.Schedule(3e4, this.ReportPlayerStats),
          (this.m_bUseHLSManifest = t);
      }
      CalcVideoStartRelativeToSystemClock(e) {
        let t =
          (e ? new Date(e).getTime() : Date.now()) -
          this.m_mpd.GetAvailabilityStartTime().getTime();
        this.m_mpd.StartLiveContentNow(t), Object(m.c)("server time: " + e);
      }
      PlayMPD(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_strMPD = e),
            (this.m_strHLS = n),
            (this.m_strCDNAuthURLParameters = t);
          let a = yield this.DownloadMPD();
          if (a)
            if (((this.m_mpd = new w.b()), this.m_mpd.BParse(a.data))) {
              if (
                (this.IsLiveContent() &&
                  (this.m_mpd.GetMinimumUpdatePeriod() > 0 &&
                    this.m_schUpdateMPD.Schedule(
                      1e3 * this.m_mpd.GetMinimumUpdatePeriod(),
                      this.UpdateMPD,
                    ),
                  this.CalcVideoStartRelativeToSystemClock(a.headers.date)),
                this.m_bUseHLSManifest)
              )
                return (
                  (this.m_elVideo.src = this.m_strHLS),
                  this.m_elVideo.addEventListener("loadedmetadata", () => {
                    (this.m_bIsBuffering = !1), this.BeginPlayback();
                  }),
                  void document.addEventListener(
                    "visibilitychange",
                    this.OnVisibilityChange,
                  )
                );
              this.BCreateLoaders()
                ? (this.m_stats.SetSegmentDurationMS(
                    Object(w.e)(this.GetCurrentVideoAdaptation()),
                  ),
                  this.m_stats.SetAnalyticLinks(
                    this.m_mpd.GetStatsLink(),
                    this.m_mpd.GetStalledLink(),
                    this.m_mpd.GetEventLink(),
                  ),
                  this.m_stats.SetVideoInitializationURL(
                    this.GetCurrentVideoAdaptation().segmentTemplate
                      .strInitialization,
                  ),
                  this.InitVideoControl(),
                  this.InitTimedText())
                : this.CloseWithError(
                    "playbackerror",
                    "Failed to create segment loaders",
                  );
            } else
              this.CloseWithError(
                "playbackerror",
                "Failed to parse MPD file",
                this.m_strMPD,
              );
        });
      }
      InitTimedText() {
        let e = !0;
        this.m_mpd.GetTimedTextAdaptionSet(0).forEach((t) => {
          let n = Object(p.g)(E.c.LANGUAGE);
          if (
            t.rgRepresentations.length > 0 &&
            t.rgRepresentations[0].strClosedCaptionFile &&
            f.d[t.strLanguage]
          ) {
            const a = document.createElement("track");
            (a.kind = "subtitles"),
              (a.label = Object(f.f)(
                "#Language_" + Object(p.d)(f.d[t.strLanguage]),
              )),
              (a.srclang = t.strLanguage),
              (a.src = t.rgRepresentations[0].strClosedCaptionFile),
              0 != n &&
                f.d[t.strLanguage] == n &&
                ((a.default = !0),
                (this.m_timedTextRepSelected = t.rgRepresentations[0]),
                (e = !1)),
              this.m_elVideo.appendChild(a),
              e &&
                (a.addEventListener("load", () => {
                  this.m_elVideo.textTracks &&
                    this.m_elVideo.textTracks.length > 0 &&
                    (this.m_elVideo.textTracks[0].mode = "disabled");
                }),
                (e = !1));
          }
        });
      }
      SetSubtitles(e) {
        let t = null;
        for (let n = 0; n < this.m_elVideo.textTracks.length; n++) {
          const a = this.m_elVideo.textTracks[n];
          if (f.d[a.language] == e) {
            let e = this.GetTimeTextAdaptions(0).filter(
              (e) => e.strLanguage == a.language,
            );
            e &&
              e.length > 0 &&
              e[0].rgRepresentations &&
              (t = e[0].rgRepresentations[0]),
              (a.mode = "showing");
          } else a.mode = "disabled";
        }
        this.m_timedTextRepSelected = t;
      }
      PlayWebRTC(e, t, n, a, r) {}
      OnVisibilityChange() {
        "visible" === document.visibilityState &&
          (this.m_elVideo.src = this.m_strHLS);
      }
      Close() {
        if (
          ((this.m_bClosing = !0),
          this.m_listeners.Unregister(),
          this.m_bUseHLSManifest &&
            document.removeEventListener(
              "visibilitychange",
              this.OnVisibilityChange,
            ),
          this.StopDownloads(),
          this.m_elVideo && this.m_elVideo.pause(),
          this.m_mediaSource)
        ) {
          try {
            "closed" != this.m_mediaSource.readyState &&
              this.m_mediaSource.endOfStream();
          } catch (e) {}
          this.m_mediaSource = null;
        }
        (this.m_bIsBuffering = !0),
          (this.m_elVideo = null),
          (this.m_strMPD = ""),
          (this.m_mpd = null),
          (this.m_bUseHLSManifest = !1),
          (this.m_strVideoAdaptationID = ""),
          (this.m_strAudioAdaptationID = ""),
          (this.m_strGameAdaptationID = ""),
          (this.m_nTrackBufferMS = 0),
          (this.m_nLimitFPS = 0),
          (this.m_nSeekingToTime = -1),
          (this.m_nGameDataLastFramePTS = -1),
          (this.m_bStatsViewVisible = !1),
          (this.m_videoRepSelected = null),
          (this.m_nAudioRepresentationIndex = 0),
          this.m_stats && this.m_stats.GetFPSMonitor().Close(),
          (this.m_stats = null),
          (this.m_bFirstPlay = !0);
      }
      StopDownloads() {
        this.m_xhrUpdateMPD &&
          (this.m_xhrUpdateMPD.cancel(), (this.m_xhrUpdateMPD = null)),
          this.m_schUpdateMPD.Cancel(),
          this.m_schGameDataEventTrigger.Cancel(),
          this.m_schReportPlayerTrigger.Cancel(),
          this.m_schCaptureDisplayStatsTrigger.Cancel(),
          this.m_schFirstFrameThrottler.Cancel(),
          this.m_schBookmarkUpdater.Cancel(),
          this.m_elVideo &&
            1 != this.m_elVideo.playbackRate &&
            (this.m_elVideo.playbackRate = 1);
        for (let e of this.m_rgLoaders) e.Close();
        this.m_bIsBuffering = !0;
      }
      IsBuffering() {
        return this.m_bIsBuffering;
      }
      IsLiveContent() {
        return !!this.m_mpd && this.m_mpd.IsLiveContent();
      }
      DownloadMPD() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_xhrUpdateMPD)
            return Object(g.a)(!1, "Multiple MPD download requests"), null;
          let e = performance.now();
          for (; performance.now() - e < 3e4; ) {
            let e = null;
            try {
              this.m_xhrUpdateMPD = i.a.CancelToken.source();
              const t =
                this.m_strMPD +
                (this.m_strCDNAuthURLParameters
                  ? this.m_strCDNAuthURLParameters
                  : "");
              e = yield i.a.get(t, { cancelToken: this.m_xhrUpdateMPD.token });
            } catch (e) {}
            if (((this.m_xhrUpdateMPD = null), this.m_bClosing)) return null;
            if (e && 200 == e.status) return e;
            if (e && 410 == e.status)
              return (
                this.CloseWithError(
                  "playbackerror",
                  "Failed to download MPD: 410 Gone",
                ),
                null
              );
            Object(m.c)("Failed to download, will retry: " + this.m_strMPD),
              yield Object(y.h)(200);
          }
          return Object(m.c)("Failed to download: " + this.m_strMPD), null;
        });
      }
      UpdateMPD() {
        return Object(a.a)(this, void 0, void 0, function* () {
          let e = yield this.DownloadMPD();
          e &&
            (this.m_mpd.BUpdate(e.data)
              ? (this.CalcVideoStartRelativeToSystemClock(e.headers.date),
                this.m_stats.SetAnalyticLinks(
                  this.m_mpd.GetStatsLink(),
                  this.m_mpd.GetStalledLink(),
                  this.m_mpd.GetEventLink(),
                ),
                this.m_mpd.GetMinimumUpdatePeriod() > 0 &&
                  this.m_schUpdateMPD.Schedule(
                    1e3 * this.m_mpd.GetMinimumUpdatePeriod(),
                    this.UpdateMPD,
                  ))
              : this.CloseWithError(
                  "playbackerror",
                  "Failed to parse on Update the MPD file",
                ));
        });
      }
      CloseWithError(e, ...t) {
        this.Close(), Object(m.c)(...t);
      }
      BCreateLoaders() {
        let e = this.m_mpd.GetPeriods();
        if (0 == e.length) return !1;
        let t = e[0];
        (this.m_strVideoAdaptationID = ""),
          (this.m_strAudioAdaptationID = ""),
          (this.m_strGameAdaptationID = "");
        for (let e of t.rgAdaptationSets) {
          let t = null;
          if (
            (!this.m_strVideoAdaptationID &&
              e.bContainsVideo &&
              Object(w.a)(e) &&
              ((t = e), (this.m_strVideoAdaptationID = e.strID)),
            !this.m_strAudioAdaptationID &&
              e.bContainsAudio &&
              Object(w.a)(e) &&
              ((t = e), (this.m_strAudioAdaptationID = e.strID)),
            !this.m_strGameAdaptationID &&
              e.bContainsGame &&
              ((t = e), (this.m_strGameAdaptationID = e.strID)),
            t)
          ) {
            let e = new B.a(this, this.m_mpd, t, this.m_stats);
            this.m_rgLoaders.push(e);
          }
        }
        return this.m_strVideoAdaptationID.length > 0;
      }
      InitVideoControl() {
        let e = new MediaSource(),
          t = URL.createObjectURL(e);
        this.m_elVideo.pause(),
          (this.m_elVideo.srcObject = null),
          (this.m_elVideo.src = t),
          (this.m_mediaSource = e),
          this.m_listeners.AddEventListener(
            e,
            "sourceopen",
            this.OnMediaSourceOpen,
          ),
          this.m_listeners.AddEventListener(
            e,
            "sourceended",
            this.OnMediaSourceEnded,
          ),
          this.m_listeners.AddEventListener(
            e,
            "sourceclose",
            this.OnMediaSourceClose,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "waiting",
            this.OnVideoWaiting,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "error",
            this.OnVideoError,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "canplay",
            this.OnVideoCanPlay,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "pause",
            this.OnVideoPause,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "resize",
            this.OnVideoResize,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-bufferupdate",
            this.OnVideoTimeUpdate,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "timeupdate",
            this.OnVideoTimeUpdate,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "play",
            this.OnPlayAction,
          );
      }
      OnMediaSourceOpen(e) {
        Object(m.c)("OnMediaSourceOpen");
        for (let e of this.m_rgLoaders) e.SetMediaSource(this.m_mediaSource);
        this.BeginPlayback();
      }
      OnMediaSourceEnded(e) {
        Object(m.c)("OnMediaSourceEnded");
      }
      OnMediaSourceClose(e) {
        Object(m.c)("OnMediaSourceClose");
      }
      OnVideoWaiting(e) {
        if (
          !this.IsLiveContent() &&
          this.m_mpd &&
          this.m_mpd.GetEndTime() - this.GetCurrentPlayTime() < 1
        )
          this.Pause();
        else if (
          !this.BIsPlayerBufferedBetween(
            this.m_elVideo.currentTime,
            this.m_elVideo.currentTime + 0.5,
          )
        ) {
          if (this.m_elVideo && this.m_elVideo.buffered.length > 1) {
            let e = this.m_elVideo.currentTime,
              t = this.m_elVideo.buffered;
            for (let n = 0; n < t.length; ++n)
              if (
                (Object(m.c)(
                  "OnVideoWaiting buffer " +
                    n +
                    " start:" +
                    t.start(n) +
                    " end: " +
                    t.end(n) +
                    " playerTime: " +
                    e,
                ),
                t.start(n) <= e && e <= t.end(n))
              )
                return (
                  Object(m.c)(
                    "OnVideoWaiting - time splitting, jumping to buffer " + n,
                  ),
                  void this.Seek(t.start(n))
                );
          }
          if (
            (this.m_stats.ReportVideoStalled(this.m_rgLoaders, this.m_elVideo),
            null === this.m_videoRepSelected)
          ) {
            let e = !0,
              t = this.GetVideoLoader();
            if (t) {
              let n = this.m_mpd.GetLowestRepresentation(
                this.GetCurrentVideoAdaptation().strID,
              );
              n &&
                !t.BIsCurrentRepresentation(n) &&
                (t.ChangeRepresentation(n),
                Object(m.c)(
                  "OnVideoWaiting - Stalled, forced restart download at resolution: " +
                    n.nWidth +
                    "x" +
                    n.nHeight +
                    "@" +
                    n.nFrameRate +
                    " instead",
                ),
                (e = !1)),
                this.Seek(this.m_elVideo.currentTime);
            }
            e &&
              Object(m.c)(
                "OnVideoWaiting - Stalled, already at lowest resolution. No action taken. BHasLoader: " +
                  (null != t),
              );
          } else
            Object(m.c)(
              "OnVideoWaiting - Stalled, user explicitly chose a resolution: " +
                this.m_videoRepSelected.nWidth +
                "x" +
                this.m_videoRepSelected.nHeight +
                "@" +
                this.m_videoRepSelected.nFrameRate,
            );
        }
      }
      OnVideoPause(e) {
        this.OnVideoBufferProgress(),
          this.m_stats.GetFPSMonitor().Close(),
          this.SendUpdateToBookmarkServiceIfNeeded();
      }
      OnVideoResize(e) {
        this.m_stats.GetFPSMonitor().SetWindowResized();
      }
      OnDebugPrintEventInfoAndAvailableBuffer(e) {
        let t = -1,
          n = this.GetVideoLoader();
        this.m_elVideo &&
          n &&
          (t = n.GetAmountBufferedInPlayerMS(this.m_elVideo.currentTime)),
          Object(m.c)("DebugMessage - Stats: " + e.type + " BufferedMS: " + t);
      }
      OnVideoError(e) {
        Object(m.c)("OnVideoError");
      }
      OnVideoCanPlay(e) {
        this.m_bIsBuffering ||
          (this.m_bUserPlayChoice && this.PlayOnElement(),
          this.m_stats.LogVideoOnCanPlay(e));
      }
      GetCurrentPlayTime() {
        return -1 != this.m_nSeekingToTime
          ? this.m_nSeekingToTime
          : this.m_bUseHLSManifest && this.m_mpd
            ? (this.m_elVideo.currentTime > 0 &&
                0 === this.m_hlsTimeOffset &&
                (this.m_hlsTimeOffset =
                  this.GetBufferedLiveEdgeTime() - this.m_elVideo.currentTime),
              this.m_elVideo.currentTime + this.m_hlsTimeOffset)
            : this.m_elVideo.currentTime;
      }
      OnVideoTimeUpdate() {
        if (this.m_bUserLiveEdgeChoice && this.IsLiveContent()) {
          let e = this.GetBufferedLiveEdgeTime();
          if (
            1 == this.m_elVideo.playbackRate &&
            this.m_elVideo.currentTime <= e - 4.5 &&
            this.BIsPlayerBufferedBetween(this.m_elVideo.currentTime, e)
          ) {
            let t = e - this.m_elVideo.currentTime;
            (this.m_elVideo.playbackRate = 1.1),
              Object(m.c)(
                "User is behind by " +
                  t.toFixed(2) +
                  " seconds, increasing playback speed to catch-up to live edge.",
              );
          } else
            1.1 == this.m_elVideo.playbackRate &&
              this.m_elVideo.currentTime >= e - 1 &&
              ((this.m_elVideo.playbackRate = 1),
              Object(m.c)("User is caught up, returning to normal playrate"));
        }
      }
      SetBookmarkAdapter(e) {
        this.m_bookMarkAdapter = e;
      }
      SendUpdateToBookmarkServiceIfNeeded() {
        if (this.m_bookMarkAdapter) {
          let e = this.m_elVideo.currentTime,
            t = this.GetCurrentVideoAdaptation(),
            n = t && t.strID ? t.strID : null,
            a = this.GetCurrentAudioAdaptationfunction(),
            r = a && a.strID ? a.strID : null,
            i = this.GetCurrentTimedTextRepresentation(),
            s = i && i.strID ? i.strID : null;
          this.m_bookMarkAdapter.SetBookmark(e >= 0 ? e : 0, n, r, s),
            this.IsPaused()
              ? this.m_schBookmarkUpdater.Cancel()
              : this.m_schBookmarkUpdater.Schedule(
                  6e4,
                  this.SendUpdateToBookmarkServiceIfNeeded,
                );
        }
      }
      GetCurrentTimedTextRepresentation() {
        return this.m_timedTextRepSelected;
      }
      OnPlayAction() {
        this.SendUpdateToBookmarkServiceIfNeeded();
      }
      BIsPlayerBufferedBetween(e, t) {
        return (
          this.m_elVideo.buffered.length > 0 &&
          e >= this.m_elVideo.buffered.start(0) &&
          t <= this.m_elVideo.buffered.end(0)
        );
      }
      GetLiveContentStartTime() {
        return this.m_mpd.GetAvailabilityStartTime();
      }
      GetTimeTextAdaptions(e) {
        return this.m_mpd ? this.m_mpd.GetTimedTextAdaptionSet(e) : [];
      }
      GetAvailableVideoStartTime() {
        if (!this.m_mpd) return 0;
        let e = 0;
        if (this.IsLiveContent()) {
          let t = Math.floor(this.m_mpd.GetDurationSinceStarted() / 1e3),
            n = this.GetBufferedLiveEdgeTime(),
            a = this.m_mpd.GetTimeShiftBufferDepth();
          e = v.a(t - a + 10, 0, n);
        } else e = this.m_mpd.GetStartTime();
        return e;
      }
      GetBufferedLiveEdgeTime() {
        if (!this.m_mpd) return 0;
        let e = 0;
        return (
          (e = this.IsLiveContent()
            ? Math.floor(
                (this.m_mpd.GetDurationSinceStarted() - this.m_nTrackBufferMS) /
                  1e3,
              )
            : this.m_mpd.GetEndTime()),
          e
        );
      }
      IsPaused() {
        return this.m_elVideo.paused;
      }
      Play() {
        (this.m_bUserPlayChoice = !0),
          !this.IsLiveContent() &&
          this.m_mpd &&
          this.m_mpd.GetEndTime() - this.GetCurrentPlayTime() < 1
            ? this.Seek(this.m_mpd.GetStartTime())
            : this.Seek(this.GetCurrentPlayTime());
      }
      Pause() {
        (this.m_bUserLiveEdgeChoice = !1),
          1.1 == this.m_elVideo.playbackRate &&
            (this.m_elVideo.playbackRate = 1),
          (this.m_bUserPlayChoice = !1),
          this.m_elVideo.pause();
      }
      GetPlaybackRate() {
        return this.m_elVideo.paused ? 0 : this.m_elVideo.playbackRate;
      }
      GetCDNAuthURLParameter() {
        return this.m_strCDNAuthURLParameters;
      }
      OnSegmentDownloaded(e) {
        Object(m.c)(e.GetDebugName() + " OnSegmentDownloaded"),
          this.UpdateVideoRepresentation(this.m_videoRepSelected),
          this.OnVideoBufferProgress(),
          e == this.GetVideoLoader() &&
            this.m_stats.SetCurrentVideoBandwidth(e.GetAvgDownloadRate());
      }
      PlayOnElement() {
        let e = this.m_bFirstPlay;
        this.m_bFirstPlay = !1;
        let t = this.m_elVideo.play();
        t
          ? t
              .then(() => {
                this.m_stats
                  .GetFPSMonitor()
                  .StartTracking(() =>
                    this.m_stats.ExtractFrameInfo(this.m_elVideo),
                  );
              })
              .catch((t) => {
                e && this.DispatchEvent("valve-userinputneeded");
              })
          : this.m_stats
              .GetFPSMonitor()
              .StartTracking(() =>
                this.m_stats.ExtractFrameInfo(this.m_elVideo),
              );
      }
      OnVideoBufferProgress() {
        if (!this.IsBuffering()) return;
        let e = this.m_rgLoaders.length > 0,
          t = -1 != this.m_nSeekingToTime ? this.m_nSeekingToTime : 0;
        for (let n of this.m_rgLoaders) {
          if (!n.BHasEnoughBuffered(t)) {
            e = !1;
            break;
          }
          t = Math.max(t, n.GetBufferedStart());
        }
        e &&
          ((this.m_bIsBuffering = !1),
          (this.m_nSeekingToTime = -1),
          this.m_elVideo.currentTime != t
            ? (this.m_elVideo.currentTime = t)
            : this.m_elVideo.paused &&
              this.m_bUserPlayChoice &&
              this.PlayOnElement(),
          this.DispatchEvent("valve-bufferupdate"));
      }
      OnSegmentDownloadFailed(e) {
        this.StopDownloads(), this.DispatchEvent("valve-downloadfailed");
      }
      OnSegmentDownloadGone(e) {
        this.m_bIsBuffering && e.GetNumConsecutiveDownloadGones() <= 3
          ? this.Seek(
              this.GetCurrentPlayTime() +
                Object(w.e)(this.GetCurrentVideoAdaptation()) / 1e3,
            )
          : (Object(m.c)(
              "OnSegmentDownloadGone: too many consecutive 'gone', erroring the download: " +
                e.GetNumConsecutiveDownloadGones(),
            ),
            this.OnSegmentDownloadFailed(e));
      }
      GetCurrentAudioAdaptationfunction() {
        return this.m_mpd
          ? this.m_mpd.GetAdaptationByTrackID(this.m_strAudioAdaptationID)
          : null;
      }
      GetCurrentVideoAdaptation() {
        return this.m_mpd
          ? this.m_mpd.GetAdaptationByTrackID(this.m_strVideoAdaptationID)
          : null;
      }
      GetVideoLoader() {
        for (let e of this.m_rgLoaders) if (e.ContainsVideo()) return e;
        return null;
      }
      GetAudioLoader() {
        for (let e of this.m_rgLoaders) if (e.ContainsAudio()) return e;
        return null;
      }
      GetGameLoader() {
        for (let e of this.m_rgLoaders) if (e.ContainsGame()) return e;
        return null;
      }
      SetTrackBufferMS(e) {
        this.m_nTrackBufferMS = e;
        for (let t of this.m_rgLoaders) t.SetBufferMS(e);
      }
      BeginPlayback() {
        let e = 0;
        if (this.IsLiveContent()) {
          let t = Object(w.e)(this.GetCurrentVideoAdaptation()),
            n = 1e3 * this.m_mpd.GetMinBufferTime(),
            a = Math.max(t, n);
          this.SetTrackBufferMS(a),
            (e = this.GetBufferedLiveEdgeTime()),
            Object(m.c)(
              `Begin playback of live content [this.buffer=${this.m_nTrackBufferMS}][nStartTime=${e}]`,
            );
        } else
          this.SetTrackBufferMS(8e3),
            (e = 0),
            this.m_bookMarkAdapter &&
              ((e = this.m_bookMarkAdapter.GetBeginPlaytime()),
              this.m_mpd.GetEndTime() - e < 5 && (e = 0)),
            Object(m.c)(
              `Begin playback of non-live content [this.buffer=${this.m_nTrackBufferMS}][nStartTime=${e}]`,
            );
        if (
          (Object(m.c)("Starting playback at " + e), !this.m_bUseHLSManifest)
        ) {
          let e = this.PickStartingVideoRepresentation();
          for (let t of this.m_rgLoaders)
            if (t.ContainsVideo()) {
              t.ChangeRepresentation(e);
              let n = Object(w.e)(t.GetAdaptation());
              this.m_schFirstFrameThrottler.Schedule(
                n / 2,
                this.VerifyFirstSegementDownloadProgress,
              );
            } else if (t.ContainsAudio() || t.ContainsGame()) {
              let e =
                t.GetAdaptation().rgRepresentations.length > 0
                  ? t.GetAdaptation().rgRepresentations[0]
                  : null;
              t.ChangeRepresentation(e);
            }
        }
        this.Seek(e),
          this.GetGameLoader() &&
            this.m_schGameDataEventTrigger.Schedule(
              500,
              this.GameDataEventTrigger,
            );
      }
      VerifyFirstSegementDownloadProgress() {
        let e = this.GetVideoLoader();
        if (
          null === this.m_videoRepSelected &&
          e &&
          e.GetDownloadHistory().length <= 1 &&
          e.GetActiveDownloads() > 0 &&
          e.GetActiveDownloadProgress() < 0.55
        ) {
          let t = this.DetermineBestVideoRepresentation();
          t &&
            !e.BIsCurrentRepresentation(t) &&
            (e.ChangeRepresentation(t),
            e.ForceRestartDownload(),
            Object(m.c)(
              "Video download progressing too slowly, choosing " +
                t.nWidth +
                "x" +
                t.nHeight +
                "@" +
                t.nFrameRate +
                " instead",
            ));
        }
      }
      PickStartingVideoRepresentation() {
        let e = this.GetVideoLoader();
        if (!e) return null;
        let t = e.GetAdaptation(),
          n = null;
        for (let a = e.GetRepresentationsCount() - 1; a >= 0; a--) {
          let e = t.rgRepresentations[a],
            r = e.nFrameRate ? e.nFrameRate : 0;
          if (
            !(this.m_nLimitFPS > 0 && r > this.m_nLimitFPS) &&
            ((n = e), this.GetVideoPlayerHeight() <= e.nHeight)
          )
            break;
        }
        return n;
      }
      DetermineBestVideoRepresentation() {
        let e = this.GetVideoLoader(),
          t = this.GetAudioLoader(),
          n = t && t != e ? t.GetEstimatedAudioRate() : 0,
          a = this.GetAvgLoaderDownloadRate(),
          r = e.GetRepresentationsCount() - 1,
          i = e.GetAdaptation().rgRepresentations[r];
        for (let t = r - 1; t >= 0; t--) {
          let r = e.GetAdaptation().rgRepresentations[t],
            s = (r.nBandwidth + n) * this.m_elVideo.playbackRate * 1.15;
          if (a < s) {
            Object(m.c)(
              `Video select: Skipping ${t} due to rate: [avg=${a}][required=${s}]`,
            );
            continue;
          }
          let o = r.nFrameRate || 0;
          if (this.IsLiveContent() && o > 30) {
            let e = this.m_stats.GetFPSMonitor();
            if (
              e.BIsDroppingFrames() ||
              (e.BHasCurrentFPS() && Math.ceil(e.GetCurrentFPS()) < 29)
            ) {
              Object(m.c)(
                `Video select: Skipping ${t} due to dropping frames and high FPS representation: [fps:${o}]`,
              );
              continue;
            }
          }
          if (this.m_nLimitFPS > 0 && o > this.m_nLimitFPS) {
            Object(m.c)(`Video select: Skipping ${t} due to frame rate limit`);
            continue;
          }
          let l = i.nHeight || 0,
            c = r.nHeight || 0,
            d = this.GetVideoPlayerHeight();
          if (d > 0 && l > 0) {
            if (c > T(d)) break;
          }
          i = r;
        }
        return i;
      }
      UpdateVideoRepresentation(e) {
        if (e && this.m_videoRepSelected == e) return null;
        let t = this.GetVideoLoader();
        if (!t) return null;
        if (this.IsBuffering()) return null;
        let n = this.DetermineBestVideoRepresentation();
        return (this.m_videoRepSelected = null), t.ChangeRepresentation(n);
      }
      CanSeek() {
        return !0;
      }
      SeekAndPlay(e) {
        return (this.m_bUserPlayChoice = !0), this.Seek(e);
      }
      Seek(e) {
        if (!this.m_mpd) return 0;
        let t = this.GetAvailableVideoStartTime(),
          n = this.GetBufferedLiveEdgeTime();
        (e = v.a(e, t, n)), (this.m_bUserLiveEdgeChoice = e >= n - 5);
        let a = this.m_elVideo.paused;
        if ((a || this.m_elVideo.pause(), this.m_bUseHLSManifest))
          (this.m_elVideo.currentTime = e - this.m_hlsTimeOffset),
            this.m_elVideo.play();
        else {
          (this.m_bIsBuffering = !0), (this.m_nSeekingToTime = e);
          for (let t of this.m_rgLoaders)
            t.ContainsGame() && (e = this.GetBufferedLiveEdgeTime()), t.Seek(e);
          this.DispatchEvent("valve-bufferupdate"),
            a && this.OnVideoBufferProgress();
        }
        return e;
      }
      JumpTime(e) {
        return (e += this.GetCurrentPlayTime()), this.Seek(e);
      }
      GetVideoPlayerHeight() {
        return this.m_elVideo.clientHeight;
      }
      GetAvgLoaderDownloadRate() {
        let e = 0,
          t = 0,
          n = [this.GetVideoLoader()];
        for (let a of n) a && ((e += a.GetAvgDownloadRate()), t++);
        return 0 == t ? 0 : e / t;
      }
      GameDataEventTrigger() {
        let e = this.GetGameLoader();
        if (!e) return;
        let t = e.GetGameDataFrames(),
          n = -1;
        if (((n = t.length - 1), n >= 0)) {
          let a = t[n];
          a.pts != this.m_nGameDataLastFramePTS &&
            ((this.m_nGameDataLastFramePTS = a.pts),
            (a.gamedata.appid = e.GetLatestGameDataFrameAppID()),
            this.DispatchEvent("valve-gamedataupdate", a));
        }
        this.m_schGameDataEventTrigger.Schedule(500, this.GameDataEventTrigger);
      }
      DispatchEvent(e, t = null) {
        let n = new CustomEvent(e, { cancelable: !0, bubbles: !0, detail: t });
        this.m_elVideo.dispatchEvent(n);
      }
      IsMuted() {
        return this.m_elVideo.muted;
      }
      SetMuted(e) {
        this.m_elVideo.muted = e;
      }
      SetVolume(e) {
        (e = v.a(e, 0, 1)), (this.m_elVideo.volume = e);
      }
      GetVolume() {
        return this.m_elVideo.volume;
      }
      GetDASHPlayerStats() {
        return this.m_stats;
      }
      ReportPlayerStats() {
        this.m_stats.ReportPlayerStats(this.m_rgLoaders, this.m_elVideo),
          this.m_schReportPlayerTrigger.Schedule(3e5, this.ReportPlayerStats);
      }
      SetStatsViewIsVisible(e) {
        e && !this.m_bStatsViewVisible
          ? (this.CaptureStatsForDisplay(),
            this.m_schCaptureDisplayStatsTrigger.Schedule(
              250,
              this.CaptureStatsForDisplay,
            ))
          : !e &&
            this.m_bStatsViewVisible &&
            this.m_schCaptureDisplayStatsTrigger.Cancel(),
          (this.m_bStatsViewVisible = e);
      }
      CaptureStatsForDisplay() {
        this.m_stats.SetHTMLVideoPlayerDisplay(
          this.m_elVideo.videoWidth,
          this.m_elVideo.videoHeight,
          this.m_elVideo.clientWidth,
          this.m_elVideo.clientHeight,
        ),
          this.m_stats.CaptureFrequentlyUpdatingInformation(
            this.m_elVideo,
            this.m_rgLoaders,
          ),
          this.m_schCaptureDisplayStatsTrigger.Schedule(
            250,
            this.CaptureStatsForDisplay,
          );
      }
      GetVideoRepresentations() {
        let e = [];
        if (
          (e.push({
            id: O,
            displayName: "Auto",
            selected: null === this.m_videoRepSelected,
          }),
          this.m_bUseHLSManifest)
        )
          return e;
        let t = this.GetCurrentVideoAdaptation();
        if (t)
          for (let n of t.rgRepresentations) {
            let t =
                this.m_videoRepSelected &&
                this.m_videoRepSelected.strID == n.strID,
              a = n.nFrameRate;
            a > 50 && n.nFrameRate < 70
              ? (a = 60)
              : a > 25 && a < 35 && (a = 30);
            let r = `${n.nWidth}x${n.nHeight} @ ${a}fps`;
            e.push({
              id: n.strID,
              displayName: r,
              selected: t,
              width: n.nWidth,
              fps: a,
            });
          }
        return (
          e.sort((e, t) =>
            e.width === t.width ? t.fps - e.fps : t.width - e.width,
          ),
          e
        );
      }
      SetVideoRepresentation(e) {
        let t = !0,
          n = this.GetVideoLoader();
        if (e && e.id != O) {
          let a = n.GetRepresentationByID(e.id);
          a &&
            ((t = !1),
            (null !== this.m_videoRepSelected &&
              this.m_videoRepSelected.strID == a.strID) ||
              ((this.m_videoRepSelected = a),
              n.ChangeRepresentation(a),
              this.Seek(this.GetCurrentPlayTime())));
        }
        t && (this.m_videoRepSelected = null);
      }
      GetThumbnailForTimestamp(e) {
        try {
          const t =
              this.m_mpd.GetPeriods()[0].rgAdaptationSets[0].segmentTemplate
                .nDuration / 1e3,
            n = e - (e % (t * 10)),
            a = Math.floor(n / t) + 1;
          let r =
            this.m_mpd.GetPeriods()[0].rgAdaptationSets[0].segmentTemplate
              .strMedia;
          return (
            (r = r.replace("/video/", "/scrollthumb/")),
            (r = r.replace("$RepresentationID$", "1")),
            (r = r.replace("$Number$", a.toString())),
            r
          );
        } catch (e) {
          return "";
        }
      }
    }
    function T(e) {
      return e < 360 ? 480 : e < 480 ? 720 : 4320;
    }
    Object(a.b)([S.a], I.prototype, "OnVisibilityChange", null),
      Object(a.b)([S.a], I.prototype, "UpdateMPD", null),
      Object(a.b)([S.a], I.prototype, "OnMediaSourceOpen", null),
      Object(a.b)([S.a], I.prototype, "OnMediaSourceEnded", null),
      Object(a.b)([S.a], I.prototype, "OnMediaSourceClose", null),
      Object(a.b)([S.a], I.prototype, "OnVideoWaiting", null),
      Object(a.b)([S.a], I.prototype, "OnVideoPause", null),
      Object(a.b)([S.a], I.prototype, "OnVideoResize", null),
      Object(a.b)(
        [S.a],
        I.prototype,
        "OnDebugPrintEventInfoAndAvailableBuffer",
        null,
      ),
      Object(a.b)([S.a], I.prototype, "OnVideoError", null),
      Object(a.b)([S.a], I.prototype, "OnVideoCanPlay", null),
      Object(a.b)([S.a], I.prototype, "GetCurrentPlayTime", null),
      Object(a.b)([S.a], I.prototype, "OnVideoTimeUpdate", null),
      Object(a.b)(
        [S.a],
        I.prototype,
        "SendUpdateToBookmarkServiceIfNeeded",
        null,
      ),
      Object(a.b)([S.a], I.prototype, "OnPlayAction", null),
      Object(a.b)([S.a], I.prototype, "GetPlaybackRate", null),
      Object(a.b)([S.a], I.prototype, "GetCDNAuthURLParameter", null),
      Object(a.b)([S.a], I.prototype, "OnSegmentDownloaded", null),
      Object(a.b)([S.a], I.prototype, "PlayOnElement", null),
      Object(a.b)([S.a], I.prototype, "OnSegmentDownloadFailed", null),
      Object(a.b)([S.a], I.prototype, "OnSegmentDownloadGone", null),
      Object(a.b)(
        [S.a],
        I.prototype,
        "VerifyFirstSegementDownloadProgress",
        null,
      ),
      Object(a.b)([S.a], I.prototype, "GameDataEventTrigger", null),
      Object(a.b)([S.a], I.prototype, "ReportPlayerStats", null),
      Object(a.b)([s.k.bound], I.prototype, "CaptureStatsForDisplay", null);
    class R {
      constructor(e) {
        (this.m_elVideo = null),
          (this.m_peerConnection = null),
          (this.m_schCandidateTimer = new b.b()),
          (this.m_listeners = new b.c()),
          (this.m_bFirstPlay = !0),
          (this.m_bStatsViewVisible = !1),
          (this.m_schCaptureDisplayStatsTrigger = new b.b()),
          (this.m_stats = new C.a()),
          (this.m_elVideo = e);
      }
      PlayMPD(e) {
        return Object(a.a)(this, void 0, void 0, function* () {});
      }
      PlayWebRTC(e, t, n, r, s) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_strBroadcastSteamID = e),
            (this.m_ulWebRTCSessionID = n),
            (this.m_nHostCandidateGeneration = 0),
            this.m_listeners.AddEventListener(
              this.m_elVideo,
              "pause",
              this.OnVideoPause,
            ),
            this.m_listeners.AddEventListener(
              this.m_elVideo,
              "resize",
              this.OnVideoResize,
            );
          let o = {
            iceServers: [
              { urls: ["stun:" + r] },
              { urls: ["turn:" + r], username: t, credential: n },
            ],
            iceTransportPolicy: "relay",
          };
          (this.m_peerConnection = new RTCPeerConnection(o)),
            (this.m_peerConnection.oniceconnectionstatechange = ((e) => {
              this.m_peerConnection &&
                (console.log(
                  "BroadcastWebRTC: ICE connection state changed to " +
                    this.m_peerConnection.iceConnectionState,
                ),
                "failed" === this.m_peerConnection.iceConnectionState
                  ? this.OnWebRTCConnectionFailed()
                  : "disconnected" ===
                      this.m_peerConnection.iceConnectionState &&
                    this.OnWebRTCConnectionRetry());
            }).bind(this)),
            (this.m_peerConnection.onicecandidate = ((e) => {
              if (e.candidate) {
                const t = new FormData();
                t.append("broadcaststeamid", this.m_strBroadcastSteamID),
                  t.append("webrtc_session_id", this.m_ulWebRTCSessionID),
                  t.append("sdp_mid", e.candidate.sdpMid),
                  t.append(
                    "sdp_mline_index",
                    String(e.candidate.sdpMLineIndex),
                  ),
                  t.append("candidate", e.candidate.candidate),
                  i.a
                    .post(
                      `${E.c.CHAT_BASE_URL}broadcast/addbroadcastwebrtccandidate`,
                      t,
                    )
                    .then((e) => {
                      const t = e.data;
                      (t.success && 1 == t.success) ||
                        console.log(
                          "Failed to add a WebRTC session ICE candidate: " +
                            String(t.success),
                        );
                    })
                    .catch((e) =>
                      console.log(
                        "Failed to add a WebRTC session ICE candidate" + e,
                      ),
                    );
              }
            }).bind(this)),
            (this.m_peerConnection.ontrack = ((e) => {
              "video" === e.track.kind &&
                ((this.m_elVideo.src = null),
                (this.m_elVideo.srcObject = e.streams[0]),
                this.Play());
            }).bind(this)),
            this.m_peerConnection
              .setRemoteDescription({ type: "offer", sdp: s })
              .then(() =>
                Object(a.a)(this, void 0, void 0, function* () {
                  yield this.m_peerConnection.setLocalDescription(
                    yield this.m_peerConnection.createAnswer(),
                  );
                  const e = new FormData();
                  e.append("broadcaststeamid", this.m_strBroadcastSteamID),
                    e.append("webrtc_session_id", this.m_ulWebRTCSessionID),
                    e.append(
                      "answer",
                      this.m_peerConnection.localDescription.sdp,
                    );
                  try {
                    yield i.a
                      .post(
                        `${E.c.CHAT_BASE_URL}broadcast/setbroadcastwebrtcanswer`,
                        e,
                      )
                      .then((e) => {
                        const t = e.data;
                        if (!t.success || 1 != t.success)
                          throw new Error(String(t.success));
                      });
                  } catch (e) {
                    return (
                      console.log(
                        "Failed to set the WebRTC session answer: " + e,
                      ),
                      void this.OnWebRTCConnectionRetry()
                    );
                  }
                  (this.m_nCandidateUpdateIntervalMS = 250),
                    this.m_schCandidateTimer.Schedule(
                      this.m_nCandidateUpdateIntervalMS,
                      () => this.GetHostCandidates(),
                    );
                }),
              );
        });
      }
      GetHostCandidates() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = new FormData();
          e.append("broadcaststeamid", this.m_strBroadcastSteamID),
            e.append("webrtc_session_id", this.m_ulWebRTCSessionID),
            e.append(
              "candidate_generation",
              String(this.m_nHostCandidateGeneration),
            );
          try {
            yield i.a
              .post(
                `${E.c.CHAT_BASE_URL}broadcast/getbroadcastwebrtccandidates`,
                e,
              )
              .then((e) => {
                const t = e.data,
                  n = t.data;
                if (!t.success || 1 != t.success)
                  throw new Error(String(t.success));
                n.candidate_generation > this.m_nHostCandidateGeneration
                  ? (n.candidates.forEach((e) => {
                      const t = new RTCIceCandidate({
                        sdpMid: e.sdp_mid,
                        sdpMLineIndex: e.sdp_mline_index,
                        candidate: e.candidate,
                      });
                      this.m_peerConnection
                        .addIceCandidate(t)
                        .catch((e) => console.error(e));
                    }),
                    (this.m_nHostCandidateGeneration = n.candidate_generation))
                  : this.m_nHostCandidateGeneration > 0 &&
                    (this.m_nCandidateUpdateIntervalMS *= 2);
              });
          } catch (e) {
            return (
              console.log("Failed to get WebRTC session ICE candidates" + e),
              void this.OnWebRTCConnectionRetry()
            );
          }
          this.m_schCandidateTimer.Schedule(
            this.m_nCandidateUpdateIntervalMS,
            () => this.GetHostCandidates(),
          );
        });
      }
      DispatchEvent(e, t = null) {
        let n = new CustomEvent(e, { cancelable: !0, bubbles: !0, detail: t });
        this.m_elVideo.dispatchEvent(n);
      }
      OnWebRTCConnectionRetry() {
        this.DispatchEvent("valve-webrtcretry");
      }
      OnWebRTCConnectionFailed() {
        this.DispatchEvent("valve-webrtcfailed");
      }
      Close() {
        this.m_listeners.Unregister(),
          this.m_schCandidateTimer.Cancel(),
          this.m_schCaptureDisplayStatsTrigger.Cancel(),
          this.m_peerConnection &&
            (this.m_peerConnection.close(), (this.m_peerConnection = null)),
          this.m_elVideo.pause(),
          (this.m_elVideo.srcObject = null),
          this.m_stats &&
            (this.m_stats.GetFPSMonitor().Close(), (this.m_stats = null)),
          (this.m_bFirstPlay = !0);
      }
      IsBuffering() {
        return !1;
      }
      GetCurrentPlayTime() {
        return 0;
      }
      GetLiveContentStartTime() {
        return null;
      }
      GetAvailableVideoStartTime() {
        return 0;
      }
      GetBufferedLiveEdgeTime() {
        return 0;
      }
      IsPaused() {
        return this.m_elVideo.paused;
      }
      Play() {
        let e = this.m_bFirstPlay;
        this.m_bFirstPlay = !1;
        let t = this.m_elVideo.play();
        t
          ? t
              .then(() => {
                this.m_stats
                  .GetFPSMonitor()
                  .StartTracking(() =>
                    this.m_stats.ExtractFrameInfo(this.m_elVideo),
                  );
              })
              .catch((t) => {
                e && this.DispatchEvent("valve-userinputneeded");
              })
          : this.m_stats
              .GetFPSMonitor()
              .StartTracking(() =>
                this.m_stats.ExtractFrameInfo(this.m_elVideo),
              );
      }
      Pause() {
        this.m_elVideo.pause();
      }
      CanSeek() {
        return !1;
      }
      SeekAndPlay(e) {
        return this.Play(), 0;
      }
      Seek(e) {
        return 0;
      }
      JumpTime(e) {
        return 0;
      }
      IsMuted() {
        return this.m_elVideo.muted;
      }
      SetMuted(e) {
        this.m_elVideo.muted = e;
      }
      SetVolume(e) {
        (e = v.a(e, 0, 1)), (this.m_elVideo.volume = e);
      }
      GetVolume() {
        return this.m_elVideo.volume;
      }
      GetDASHPlayerStats() {
        return this.m_stats;
      }
      SetStatsViewIsVisible(e) {
        e && !this.m_bStatsViewVisible
          ? (this.CaptureStatsForDisplay(),
            this.m_schCaptureDisplayStatsTrigger.Schedule(
              250,
              this.CaptureStatsForDisplay,
            ))
          : !e &&
            this.m_bStatsViewVisible &&
            this.m_schCaptureDisplayStatsTrigger.Cancel(),
          (this.m_bStatsViewVisible = e);
      }
      CaptureStatsForDisplay() {
        this.m_stats.SetHTMLVideoPlayerDisplay(
          this.m_elVideo.videoWidth,
          this.m_elVideo.videoHeight,
          this.m_elVideo.clientWidth,
          this.m_elVideo.clientHeight,
        ),
          this.m_schCaptureDisplayStatsTrigger.Schedule(
            250,
            this.CaptureStatsForDisplay,
          );
      }
      OnVideoPause(e) {
        this.m_stats.GetFPSMonitor().Close();
      }
      OnVideoResize(e) {
        this.m_stats.GetFPSMonitor().SetWindowResized();
      }
      GetVideoRepresentations() {
        let e = [];
        return e.push({ id: "auto", displayName: "Auto", selected: !0 }), e;
      }
      SetVideoRepresentation(e) {}
      IsLiveContent() {
        return !0;
      }
      GetThumbnailForTimestamp(e) {
        return "";
      }
    }
    Object(a.b)([S.a], R.prototype, "PlayWebRTC", null),
      Object(a.b)([s.k.bound], R.prototype, "CaptureStatsForDisplay", null),
      Object(a.b)([S.a], R.prototype, "OnVideoPause", null),
      Object(a.b)([S.a], R.prototype, "OnVideoResize", null);
    n("Q8oI"), n("O49i");
    var j = n("D6PB"),
      A = n("XFvQ");
    const k = 7;
    var M, P;
    !(function (e) {
      (e[(e.None = 0)] = "None"),
        (e[(e.Loading = 1)] = "Loading"),
        (e[(e.Ready = 2)] = "Ready"),
        (e[(e.Error = 3)] = "Error");
    })(M || (M = {}));
    class L {
      constructor() {
        (this.m_steamIDBroadcast = ""),
          (this.m_ulBroadcastID = ""),
          (this.m_ulViewerToken = ""),
          (this.m_strCDNAuthUrlParameters = void 0),
          (this.m_bWebRTC = !1),
          (this.m_eWatchState = M.None),
          (this.m_strStateDescription = ""),
          (this.m_rgVideos = []),
          (this.m_schManifestTimeout = new b.b()),
          (this.m_schHeartbeatTimeout = new b.b());
      }
      SetState(e, t = "") {
        (this.m_eWatchState = e),
          (this.m_strStateDescription = t),
          e == M.Error && console.log(this.m_strStateDescription);
      }
    }
    Object(a.b)([s.C], L.prototype, "m_ulBroadcastID", void 0),
      Object(a.b)([s.C], L.prototype, "m_eWatchState", void 0),
      Object(a.b)([s.C], L.prototype, "m_strStateDescription", void 0),
      Object(a.b)([s.k], L.prototype, "SetState", null);
    class G {
      constructor(e) {
        (this.m_steamIDBroadcast = ""),
          (this.m_strTitle = ""),
          (this.m_strAppId = "" + k),
          (this.m_nAppID = k),
          (this.m_strAppTitle = ""),
          (this.m_strThumbnailUrl = ""),
          (this.m_nViewerCount = 0),
          (this.m_bIsOnline = !1),
          (this.m_schUpdateTimeout = new b.b()),
          (this.m_nRefCount = 0),
          (this.m_steamIDBroadcast = e);
      }
    }
    Object(a.b)([s.C], G.prototype, "m_strTitle", void 0),
      Object(a.b)([s.C], G.prototype, "m_strAppId", void 0),
      Object(a.b)([s.C], G.prototype, "m_nAppID", void 0),
      Object(a.b)([s.C], G.prototype, "m_strAppTitle", void 0),
      Object(a.b)([s.C], G.prototype, "m_strThumbnailUrl", void 0),
      Object(a.b)([s.C], G.prototype, "m_nViewerCount", void 0),
      Object(a.b)([s.C], G.prototype, "m_bIsOnline", void 0);
    class N {
      constructor() {
        (this.m_eWatchState = M.None),
          (this.m_strStateDescription = ""),
          (this.m_rgVideos = []);
      }
      SetState(e, t = "") {
        (this.m_eWatchState = e),
          (this.m_strStateDescription = t),
          e == M.Error && console.log(this.m_strStateDescription);
      }
    }
    Object(a.b)([s.C], N.prototype, "m_eWatchState", void 0),
      Object(a.b)([s.C], N.prototype, "m_strStateDescription", void 0),
      Object(a.b)([s.k], N.prototype, "SetState", null);
    class F extends N {}
    class x extends N {}
    class z {
      constructor() {
        (this.m_mapBroadcasts = new Map()),
          (this.m_mapClips = new Map()),
          (this.m_mapVODs = new Map()),
          (this.m_activeVideo = null),
          (this.m_broadcastSettings = {
            nVolume: 1,
            bMuted: !1,
            ulViewerToken: "0",
          }),
          (this.m_schSaveSettings = new b.b()),
          (this.m_broadcastInfos = {}),
          this.LoadBroadcastSettings();
      }
      GetBroadcastState(e) {
        if (e.IsBroadcastClip()) {
          let t = this.m_mapClips.get(e.GetBroadcastClipID());
          return t ? t.m_eWatchState : M.None;
        }
        if (e.IsBroadcastVOD()) {
          const t = this.m_mapVODs.get(e.GetBroadcastAppIDVOD());
          return t ? t.m_eWatchState : M.None;
        }
        {
          let t = this.m_mapBroadcasts.get(e.GetBroadcastSteamID());
          return t ? t.m_eWatchState : M.None;
        }
      }
      GetBroadcastStateDescription(e) {
        if (e.IsBroadcastClip()) {
          let t = this.m_mapClips.get(e.GetBroadcastClipID());
          return t ? t.m_strStateDescription : "";
        }
        if (e.IsBroadcastVOD()) {
          const t = this.m_mapVODs.get(e.GetBroadcastAppIDVOD());
          return t ? t.m_strStateDescription : "";
        }
        {
          let t = this.m_mapBroadcasts.get(e.GetBroadcastSteamID());
          return t ? t.m_strStateDescription : "";
        }
      }
      CreateBroadcastVideo(e, t, n, a) {
        let r = this.GetOrCreateBroadcast(t),
          { nVolume: i, bMuted: s } = this.m_broadcastSettings,
          o = new U(e, i, s, n);
        return (
          o.SetBroadcastSteamID(t),
          r.m_rgVideos.push(o),
          (r.m_bWebRTC = a),
          Object(m.a)() ||
            Object(m.b)() ||
            r.SetState(M.Error, Object(f.f)("#BroadcastWatch_MinBrowser")),
          o
        );
      }
      CreateClipVideo(e, t, n) {
        let a = this.GetOrCreateClip(t),
          { nVolume: r, bMuted: i } = this.m_broadcastSettings,
          s = new U(e, r, i, n);
        return (
          s.SetBroadcastClipID(t),
          a.m_rgVideos.push(s),
          Object(m.a)() ||
            Object(m.b)() ||
            a.SetState(M.Error, Object(f.f)("#BroadcastWatch_MinBrowser")),
          s
        );
      }
      CreateVODVideo(e, t, n) {
        let a = this.GetOrCreateVOD(t),
          { nVolume: r, bMuted: i } = this.m_broadcastSettings,
          s = new U(e, r, i, n);
        return (
          s.SetBroadcastAppIDVOD(t),
          a.m_rgVideos.push(s),
          Object(m.a)() ||
            Object(m.b)() ||
            a.SetState(M.Error, Object(f.f)("#BroadcastWatch_MinBrowser")),
          s
        );
      }
      StartVideo(e) {
        if (e.IsBroadcastClip()) {
          console.log(`Starting clip for ${e.GetBroadcastClipID()}`);
          let t = this.m_mapClips.get(e.GetBroadcastClipID());
          if (!t) return;
          this.SetActiveVideo(e),
            t.m_eWatchState == M.None
              ? this.GetClipManifest(t, e.GetWatchLocation())
              : t.m_eWatchState == M.Ready && e.StartClip(t);
        } else if (e.IsBroadcastVOD()) {
          console.log(`Starting VOD for ${e.GetBroadcastAppIDVOD()}`);
          let t = this.m_mapVODs.get(e.GetBroadcastAppIDVOD());
          if (!t) return;
          this.SetActiveVideo(e),
            t.m_eWatchState == M.None
              ? this.GetVODManifest(t, e.GetWatchLocation())
              : t.m_eWatchState == M.Ready && e.StartVOD(t);
        } else {
          let t = this.m_mapBroadcasts.get(e.GetBroadcastSteamID());
          if (!t) return;
          this.SetActiveVideo(e),
            t.m_eWatchState == M.None
              ? this.GetBroadcastManifest(t, e.GetWatchLocation())
              : t.m_eWatchState == M.Ready && e.StartBroadcast(t);
        }
      }
      SetActiveVideo(e) {
        this.m_mapBroadcasts.forEach((t) => {
          for (let n of t.m_rgVideos) n != e && n.StopPlaybackTillUserInput();
        }),
          this.m_mapClips.forEach((t) => {
            for (let n of t.m_rgVideos) n != e && n.StopPlaybackTillUserInput();
          }),
          (this.m_activeVideo = e);
      }
      PauseAllVideo() {
        this.m_mapBroadcasts.forEach((e) => {
          for (let t of e.m_rgVideos) t.StopPlaybackTillUserInput();
        });
      }
      StopVideo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = e.GetBroadcastSteamID(),
            n = this.m_mapBroadcasts.get(t);
          e.Stop(),
            n &&
              (n.m_ulBroadcastID &&
                (function (e, t, n) {
                  Object(a.a)(this, void 0, void 0, function* () {
                    if (!t) return;
                    let a = new FormData();
                    a.append("steamid", e),
                      a.append("broadcastid", t),
                      a.append("viewertoken", n);
                    try {
                      yield i.a.post(
                        E.c.CHAT_BASE_URL + "broadcast/stopwatching",
                        a,
                      );
                    } catch (e) {}
                  });
                })(
                  t,
                  n.m_ulBroadcastID,
                  this.m_broadcastSettings.ulViewerToken,
                ),
              _.c(n.m_rgVideos, (t) => t == e),
              this.RemoveBroadcastIfUnused(n));
        });
      }
      StartInfo(e) {
        const t = this.GetOrCreateBroadcastInfo(e);
        return (
          t.m_nRefCount++, 1 === t.m_nRefCount && this.LoadBroadcastInfo(t), t
        );
      }
      StopInfo(e) {
        e.m_nRefCount--, 0 === e.m_nRefCount && e.m_schUpdateTimeout.Cancel();
      }
      GetOrCreateBroadcastInfo(e) {
        if (!e) {
          return new G("");
        }
        if (!this.m_broadcastInfos[e]) {
          const t = Object(s.C)(new G(e));
          this.m_broadcastInfos[e] = t;
        }
        return this.m_broadcastInfos[e];
      }
      GetOrCreateBroadcast(e) {
        let t = this.m_mapBroadcasts.get(e);
        return (
          t ||
          ((t = new L()),
          (t.m_steamIDBroadcast = e),
          (t.m_eWatchState = M.None),
          this.m_mapBroadcasts.set(e, t),
          t)
        );
      }
      GetBroadcast(e) {
        return this.m_mapBroadcasts.get(e);
      }
      GetBroadcastClip(e) {
        return this.m_mapClips.get(e);
      }
      GetBroadcastVOD(e) {
        return this.m_mapVODs.get(e);
      }
      RemoveBroadcastIfUnused(e) {
        e.m_rgVideos.length ||
          (e.m_schHeartbeatTimeout.Cancel(),
          e.m_schManifestTimeout.Cancel(),
          this.m_mapBroadcasts.delete(e.m_steamIDBroadcast));
      }
      GetOrCreateClip(e) {
        let t = this.m_mapClips.get(e);
        return (
          t ||
          ((t = new F()),
          (t.m_clipID = e),
          (t.m_eWatchState = M.None),
          this.m_mapClips.set(e, t),
          t)
        );
      }
      GetOrCreateVOD(e) {
        let t = this.m_mapVODs.get(e);
        return (
          t ||
          ((t = new x()),
          (t.m_nAppIDVOD = e),
          (t.m_eWatchState = M.None),
          this.m_mapVODs.set(e, t),
          t)
        );
      }
      LoadBroadcastInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = "0",
            n = this.m_mapBroadcasts.get(e.m_steamIDBroadcast);
          n && (t = n.m_ulBroadcastID);
          const a = {
            steamid: e.m_steamIDBroadcast,
            broadcastid: t,
            location:
              n &&
              n.m_rgVideos &&
              n.m_rgVideos[0] &&
              n.m_rgVideos[0].GetWatchLocation(),
          };
          try {
            const t = yield i.a.get(
              `${E.c.CHAT_BASE_URL}broadcast/getbroadcastinfo/`,
              { params: a },
            );
            if (!t || !t.data) return;
            const n = t.data;
            Object(s.G)(() => {
              (e.m_strTitle = n.title),
                (e.m_strAppId = n.appid),
                (e.m_nAppID = Number.parseInt(n.appid)),
                (e.m_strAppTitle = n.app_title),
                (e.m_strThumbnailUrl = n.thumbnail_url),
                (e.m_nViewerCount = n.viewer_count),
                (e.m_bIsOnline = n.is_online),
                !e.m_strTitle &&
                  o.a &&
                  ((e.m_strTitle = o.a.name),
                  (e.m_strAppTitle = o.a.appName || o.a.name));
              const t = n.update_interval;
              t &&
                "number" == typeof t &&
                e.m_schUpdateTimeout.Schedule(1e3 * t, () =>
                  this.LoadBroadcastInfo(e),
                );
            });
          } catch (e) {
            console.error(e);
          }
        });
      }
      GetBroadcastManifest(e, t, n = Date.now()) {
        return Object(a.a)(this, void 0, void 0, function* () {
          e.SetState(M.Loading, "");
          let a = {
              steamid: e.m_steamIDBroadcast,
              broadcastid: 0,
              viewertoken: this.m_broadcastSettings.ulViewerToken,
              watchlocation: t,
              sessionid: E.c.SESSIONID,
              is_webrtc: e.m_bWebRTC,
            },
            r = null;
          try {
            r = yield i.a.get(
              E.c.CHAT_BASE_URL + "broadcast/getbroadcastmpd/",
              { params: a, withCredentials: !0 },
            );
          } catch (e) {
            let t = Object(j.a)(e);
            console.error(
              "Failed to get broadcast manifest!" + t.strErrorMsg,
              t,
            );
          }
          if (!r || 200 != r.status)
            return void e.SetState(
              M.Error,
              Object(f.f)("#BroadcastWatch_RequestFailed"),
            );
          let s = r.data;
          s.viewertoken && this.SetViewerToken(s.viewertoken);
          let o = s.success;
          if ("ready" == o)
            e.SetState(M.Ready),
              (e.m_ulBroadcastID = s.broadcastid),
              (e.m_ulViewerToken = this.m_broadcastSettings.ulViewerToken),
              (e.m_strCDNAuthUrlParameters = s.cdn_auth_url_parameters),
              (e.m_bWebRTC = s.is_webrtc),
              (e.m_data = s),
              this.LoadBroadcast(e),
              setTimeout(() => {
                e.m_schHeartbeatTimeout.Schedule(
                  1e3 * e.m_data.heartbeat_interval,
                  () => this.HeartbeatBroadcast(e),
                );
              }, 3e4 * Math.random());
          else if ("waiting" == o) {
            e.SetState(
              M.Loading,
              Object(f.f)("#BroadcastWatch_WaitingForResponse"),
            );
            let a = Date.now() - n;
            if (a > 6e4)
              return void e.SetState(
                M.Error,
                Object(f.f)("#BroadcastWatch_NotAvailable"),
              );
            let r = a > 3e4 ? s.retry : 5e3;
            e.m_schManifestTimeout.Schedule(r, () =>
              this.GetBroadcastManifest(e, t, n),
            );
          } else
            "waiting_for_start" == o
              ? (e.SetState(
                  M.Loading,
                  Object(f.f)("#BroadcastWatch_WaitingForStart"),
                ),
                e.m_schManifestTimeout.Schedule(s.retry, () =>
                  this.GetBroadcastManifest(e, t, n),
                ))
              : "waiting_for_reconnect" == o
                ? (e.SetState(
                    M.Loading,
                    Object(f.f)("#BroadcastWatch_WaitingForReconnect"),
                  ),
                  e.m_schManifestTimeout.Schedule(s.retry, () =>
                    this.GetBroadcastManifest(e, t, n),
                  ))
                : "end" == o
                  ? e.SetState(
                      M.Error,
                      Object(f.f)("#BroadcastWatch_NotAvailable"),
                    )
                  : "noservers" == o
                    ? e.SetState(
                        M.Error,
                        Object(f.f)("#BroadcastWatch_ServerLoad"),
                      )
                    : "system_not_supported" == o
                      ? e.SetState(
                          M.Error,
                          Object(f.f)("#BroadcastWatch_SystemNotSupported"),
                        )
                      : "user_restricted" == o
                        ? e.SetState(
                            M.Error,
                            Object(f.f)("#BroadcastWatch_UserRestricted"),
                          )
                        : "poor_upload_quality" == o
                          ? e.SetState(
                              M.Error,
                              Object(f.f)("#BroadcastWatch_PoorUploadQuality"),
                            )
                          : "request_failed" == o
                            ? e.SetState(
                                M.Error,
                                Object(f.f)("#BroadcastWatch_RequestFailed"),
                              )
                            : e.SetState(
                                M.Error,
                                Object(f.f)("#BroadcastWatch_NotAvailable"),
                              );
        });
      }
      GetClipManifest(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          e.SetState(M.Loading, "");
          let n = {
              clipid: e.m_clipID,
              watchlocation: t,
              sessionid: E.c.SESSIONID,
            },
            a = null;
          try {
            a = yield i.a.get(E.c.CHAT_BASE_URL + "broadcast/getclipdetails", {
              params: n,
              withCredentials: !0,
            });
          } catch (e) {
            console.error(e), console.log("Failed to get clip manifest!");
          }
          if (!a || 200 != a.status)
            return void e.SetState(
              M.Error,
              Object(f.f)("#BroadcastWatch_RequestFailed"),
            );
          let r = a.data;
          1 == r.success
            ? (e.SetState(M.Ready), (e.m_data = r), this.LoadClip(e))
            : e.SetState(M.Error, Object(f.f)("#BroadcastWatch_RequestFailed"));
        });
      }
      GetVODManifest(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          e.SetState(M.Loading, "");
          let t = yield A.a.Get().LoadVODForAppID(e.m_nAppIDVOD);
          t
            ? (e.SetState(M.Ready),
              (e.m_manifestURL = t.video_url),
              this.LoadVOD(e))
            : e.SetState(M.Error, Object(f.f)("#BroadcastWatch_RequestFailed"));
        });
      }
      HeartbeatBroadcast(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = new FormData();
          t.append("steamid", e.m_steamIDBroadcast),
            t.append("broadcastid", e.m_ulBroadcastID),
            t.append("viewertoken", this.m_broadcastSettings.ulViewerToken),
            i.a.post(E.c.CHAT_BASE_URL + "broadcast/heartbeat/", t),
            e.m_schHeartbeatTimeout.Schedule(
              1e3 * e.m_data.heartbeat_interval,
              () => this.HeartbeatBroadcast(e),
            );
        });
      }
      LoadBroadcast(e) {
        e.m_rgVideos.findIndex((e) => e == this.m_activeVideo) >= 0 &&
          this.m_activeVideo.StartBroadcast(e);
      }
      LoadClip(e) {
        e.m_rgVideos.findIndex((e) => e == this.m_activeVideo) >= 0 &&
          this.m_activeVideo.StartClip(e);
      }
      LoadVOD(e) {
        e.m_rgVideos.findIndex((e) => e == this.m_activeVideo) >= 0 &&
          this.m_activeVideo.StartVOD(e);
      }
      BroadcastDownloadFailed(e, t = !0) {
        e.Stop();
        let n = this.m_mapBroadcasts.get(e.GetBroadcastSteamID());
        n &&
          n.m_eWatchState != M.Loading &&
          (n.m_bWebRTC && t && (n.m_bWebRTC = !1),
          this.GetBroadcastManifest(n, e.GetWatchLocation()));
      }
      UserInputClickVideo(e) {
        if (
          this.m_activeVideo != e &&
          (this.PauseAllVideo(),
          (this.m_activeVideo = e),
          !e.IsBroadcastClip() && !e.IsBroadcastVOD())
        ) {
          let t = this.m_mapBroadcasts.get(e.GetBroadcastSteamID());
          this.GetBroadcastManifest(t, e.GetWatchLocation());
        }
        e.UserInputClick();
      }
      LoadBroadcastSettings() {
        if (!window.localStorage) return;
        let e = window.localStorage.getItem("broadcastSettings");
        if (!e) return;
        let t = JSON.parse(e);
        if (!t) return;
        Object.assign(this.m_broadcastSettings, t);
        let n = this.m_broadcastSettings;
        (n.bMuted = !!n.bMuted),
          (n.nVolume = v.a(n.nVolume, 0, 1)),
          "string" != typeof n.ulViewerToken && (n.ulViewerToken = "0");
      }
      SaveBroadcastSettings() {
        window.localStorage &&
          this.m_schSaveSettings.Schedule(1e3, () => {
            try {
              window.localStorage.setItem(
                "broadcastSettings",
                JSON.stringify(this.m_broadcastSettings),
              );
            } catch (e) {}
          });
      }
      SetViewerToken(e) {
        this.m_broadcastSettings.ulViewerToken != e &&
          ((this.m_broadcastSettings.ulViewerToken = e),
          this.SaveBroadcastSettings());
      }
      GetViewerToken() {
        return this.m_broadcastSettings.ulViewerToken;
      }
      SaveVolumeChange(e, t) {
        (this.m_broadcastSettings.nVolume == e &&
          this.m_broadcastSettings.bMuted == t) ||
          ((this.m_broadcastSettings.nVolume = e),
          (this.m_broadcastSettings.bMuted = t),
          this.SaveBroadcastSettings());
      }
    }
    Object(a.b)([s.C], z.prototype, "m_mapBroadcasts", void 0),
      (function (e) {
        (e[(e.Timeline = 1)] = "Timeline"), (e[(e.Minimap = 2)] = "Minimap");
      })(P || (P = {}));
    class U {
      constructor(e, t, n, a) {
        (this.m_elVideo = null),
          (this.m_player = null),
          (this.m_listeners = new b.c()),
          (this.m_gameDataParser = null),
          (this.m_eWatchLocation = 0),
          (this.m_rgSubtitles = []),
          (this.m_steamIDBroadcast = null),
          (this.m_BroadcastInfo = null),
          (this.m_broadcastClipID = null),
          (this.m_nBroadcastAppIDVOD = null),
          (this.m_bPaused = !1),
          (this.m_nPlaybackTime = 0),
          (this.m_bBuffering = !1),
          (this.m_bOnLiveEdge = !1),
          (this.m_nVolume = 0),
          (this.m_bMuted = !1),
          (this.m_bUserInputNeeded = !1),
          (this.m_bIsReplay = !1),
          (this.m_nTimelineDuration = 1800),
          (this.m_nVideoStartPos = 0),
          (this.m_nVideoEndPos = 0),
          (this.m_editorStartTime = 0),
          (this.m_editorEndTime = 0),
          (this.m_rgMarkers = s.C.array()),
          (this.m_rgSegments = s.C.array()),
          (this.m_rgRegions = s.C.array()),
          (this.m_elVideo = e),
          (this.m_nVolume = t),
          (this.m_bMuted = n),
          (this.m_eWatchLocation = a);
      }
      SetBroadcastSteamID(e) {
        this.m_steamIDBroadcast = e;
      }
      GetBroadcastSteamID() {
        return this.m_steamIDBroadcast;
      }
      GetWatchLocation() {
        return this.m_eWatchLocation;
      }
      IsPaused() {
        return this.m_bPaused;
      }
      GetPlaybackTime() {
        return this.m_nPlaybackTime;
      }
      SetStatsViewIsVisible(e) {
        this.m_player && this.m_player.SetStatsViewIsVisible(e);
      }
      GetDASHPlayerStats() {
        return this.m_player.GetDASHPlayerStats();
      }
      BHasDASHStats() {
        return null != this.m_player;
      }
      IsTimelineMapActive() {
        return !1;
      }
      CanSeek() {
        return this.m_player && this.m_player.CanSeek();
      }
      IsBuffering() {
        return this.m_bBuffering;
      }
      IsOnLiveEdge() {
        return this.m_bOnLiveEdge;
      }
      GetVideoAvailableStartTime() {
        return this.m_nVideoStartPos;
      }
      GetVolume() {
        return this.m_nVolume;
      }
      GetUserInputNeeded() {
        return this.m_bUserInputNeeded;
      }
      IsReplay() {
        return this.m_bIsReplay;
      }
      IsBroadcastClip() {
        return null != this.m_broadcastClipID;
      }
      SetBroadcastClipID(e) {
        this.m_broadcastClipID = e;
      }
      GetBroadcastClipID() {
        return this.m_broadcastClipID;
      }
      IsBroadcastVOD() {
        return null != this.m_nBroadcastAppIDVOD;
      }
      SetBroadcastAppIDVOD(e) {
        this.m_nBroadcastAppIDVOD = e;
      }
      GetBroadcastAppIDVOD() {
        return this.m_nBroadcastAppIDVOD;
      }
      GetVideoRepresentations() {
        return this.m_player ? this.m_player.GetVideoRepresentations() : [];
      }
      SetVideoRepresentation(e) {
        this.m_player.SetVideoRepresentation(e);
      }
      GetBroadcastInfo() {
        return this.m_BroadcastInfo;
      }
      ListSubtitles() {
        return this.m_elVideo.textTracks;
      }
      GetSubtitles() {
        for (let e = 0; e < this.m_elVideo.textTracks.length; e++) {
          const t = this.m_elVideo.textTracks[e];
          if ("showing" === t.mode) return t;
        }
        return null;
      }
      SetSubtitles(e) {
        let t = e ? f.d[e] : -1;
        this.m_player.SetSubtitles(t);
      }
      GetBroadcastState() {
        return W.GetBroadcastState(this);
      }
      GetBroadcastStateDescription() {
        return W.GetBroadcastStateDescription(this);
      }
      SetOnVideoCallback(e) {
        this.m_fnOnVideoEnd = e;
      }
      InitPlayer() {
        Object(g.a)(!this.m_player, "Initialized twice?"),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "playing",
            this.OnVideoPlaying,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "pause",
            this.OnVideoPause,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "timeupdate",
            this.OnVideoTimeUpdate,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-bufferupdate",
            this.OnVideoTimeUpdate,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-gamedataupdate",
            this.OnGameDataUpdate,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-downloadfailed",
            this.OnDownloadFailed,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-webrtcretry",
            this.OnWebRTCRetry,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-webrtcfailed",
            this.OnWebRTCFailed,
          ),
          this.m_listeners.AddEventListener(
            this.m_elVideo,
            "valve-userinputneeded",
            this.OnUserInputNeeded,
          ),
          (this.m_bPaused = !1),
          (this.m_nPlaybackTime = 0),
          (this.m_bBuffering = !1),
          (this.m_nTimelineDuration = 1800),
          (this.m_nVideoStartPos = 0),
          (this.m_nVideoEndPos = 0),
          this.m_rgMarkers.clear(),
          this.m_rgSegments.clear(),
          (this.m_bUserInputNeeded = !1),
          (this.m_bIsReplay = !1);
      }
      StartBroadcast(e) {
        this.InitPlayer(),
          e.m_data.url
            ? ((this.m_player = new I(
                this.m_elVideo,
                !Object(m.a)() && Object(m.b)(),
              )),
              this.m_player.PlayMPD(
                e.m_data.url,
                e.m_strCDNAuthUrlParameters,
                e.m_data.hls_url,
              ))
            : ((this.m_player = new R(this.m_elVideo)),
              this.m_player.PlayWebRTC(
                this.m_steamIDBroadcast,
                e.m_ulViewerToken,
                e.m_data.webrtc_session_id,
                e.m_data.webrtc_turn_server,
                e.m_data.webrtc_offer_sdp,
              )),
          this.SetVolume(this.m_nVolume),
          this.m_player.SetMuted(this.m_bMuted);
        let t = this.m_player.GetDASHPlayerStats();
        t &&
          t.SetBroadcasterAndViewerInfo(
            this.m_steamIDBroadcast,
            E.j.steamid,
            e.m_ulBroadcastID,
            e.m_ulViewerToken,
            e.m_strCDNAuthUrlParameters,
          ),
          (this.m_BroadcastInfo = W.StartInfo(this.m_steamIDBroadcast));
      }
      StartClip(e) {
        this.InitPlayer(),
          (this.m_player = new I(this.m_elVideo)),
          this.m_player.PlayMPD(e.m_data.clip_url, null),
          this.SetVolume(this.m_nVolume),
          this.m_player.SetMuted(this.m_bMuted);
      }
      StartVOD(e) {
        this.InitPlayer();
        let t = new I(this.m_elVideo);
        (this.m_player = t),
          E.j.logged_in &&
            e.m_nAppIDVOD &&
            t.SetBookmarkAdapter(new h.a(e.m_nAppIDVOD)),
          this.m_player.PlayMPD(e.m_manifestURL, null),
          this.SetVolume(this.m_nVolume),
          this.m_player.SetMuted(this.m_bMuted);
      }
      Stop() {
        this.m_listeners.Unregister(),
          this.m_BroadcastInfo &&
            (W.StopInfo(this.m_BroadcastInfo), (this.m_BroadcastInfo = null)),
          (this.m_gameDataParser = null),
          this.m_player && (this.m_player.Close(), (this.m_player = null));
      }
      TogglePlayPause() {
        !this.m_player || this.m_player.IsPaused() ? this.Play() : this.Pause();
      }
      Play() {
        const e = this.GetBroadcastState();
        e == M.None || this.IsBroadcastClip()
          ? W.StartVideo(this)
          : e == M.Ready &&
            (W.SetActiveVideo(this),
            this.m_player
              ? this.m_player.Play()
              : this.IsBroadcastVOD()
                ? this.StartVOD(W.GetBroadcastVOD(this.m_nBroadcastAppIDVOD))
                : this.StartBroadcast(W.GetBroadcast(this.m_steamIDBroadcast)));
      }
      Pause() {
        console.log(
          "Pause ",
          this.m_steamIDBroadcast,
          this.m_nBroadcastAppIDVOD,
          this.m_broadcastClipID,
        ),
          this.m_player && this.m_player.Pause();
      }
      JumpTime(e) {
        this.m_player.JumpTime(e);
      }
      Seek(e) {
        this.m_player.Seek(e);
      }
      SeekAndPlay(e) {
        this.m_player.SeekAndPlay(e);
      }
      JumpToLiveEdge() {
        this.m_player.IsLiveContent()
          ? this.SeekAndPlay(this.m_player.GetBufferedLiveEdgeTime())
          : this.SeekAndPlay(this.m_player.GetAvailableVideoStartTime());
      }
      SetVolume(e) {
        this.m_player && this.m_player.SetVolume(e),
          (this.m_nVolume = this.m_player.GetVolume()),
          W.SaveVolumeChange(e, this.m_bMuted);
      }
      SetMute(e) {
        this.m_player && this.m_player.SetMuted(e),
          (this.m_bMuted = e),
          W.SaveVolumeChange(this.m_nVolume, e);
      }
      IsMuted() {
        return this.m_bMuted;
      }
      OnVideoPlaying() {
        (this.m_bPaused = !1),
          0 === this.m_editorStartTime &&
            0 === this.m_editorEndTime &&
            ((this.m_editorStartTime = this.GetVideoAvailableStartTime()),
            (this.m_editorEndTime =
              this.GetVideoAvailableStartTime() + this.GetTimelineDuration()));
      }
      OnVideoPause() {
        this.m_bPaused = !0;
      }
      OnVideoTimeUpdate() {
        if (
          (window.clearTimeout(this.m_videoEndingTimer), this.IsBroadcastClip())
        )
          (this.m_nPlaybackTime = this.m_player.GetCurrentPlayTime()),
            (this.m_nVideoStartPos =
              this.m_player.GetAvailableVideoStartTime()),
            (this.m_nVideoEndPos = this.m_player.GetBufferedLiveEdgeTime()),
            (this.m_nTimelineDuration =
              this.m_nVideoEndPos - this.m_nVideoStartPos),
            (this.m_bOnLiveEdge = !1),
            (this.m_bBuffering = this.m_player.IsBuffering());
        else {
          if (
            ((this.m_nPlaybackTime = this.m_player.GetCurrentPlayTime()),
            (this.m_nVideoStartPos =
              this.m_player.GetAvailableVideoStartTime()),
            (this.m_nVideoEndPos = Math.max(
              this.m_player.GetBufferedLiveEdgeTime(),
              this.m_nPlaybackTime,
            )),
            this.IsBroadcastVOD() &&
              ((this.m_nTimelineDuration = this.m_nVideoEndPos),
              this.m_fnOnVideoEnd &&
                this.m_nVideoEndPos - this.m_nPlaybackTime < 5))
          ) {
            const e = 400;
            this.m_videoEndingTimer = window.setTimeout(() => {
              this.m_fnOnVideoEnd();
            }, e);
          }
          (this.m_bBuffering = this.m_player.IsBuffering()),
            (this.m_bOnLiveEdge =
              this.m_nVideoEndPos - this.m_nPlaybackTime < 5),
            this.m_player.IsPaused() && (this.m_bOnLiveEdge = !1);
        }
      }
      OnGameDataUpdate(e) {
        let t = e.detail;
        if (!t || "object" != typeof t.gamedata) return;
        (this.m_gameDataParser &&
          this.m_gameDataParser.GetAppID() == t.gamedata.__appid) ||
          (this.m_gameDataParser = new u(t.gamedata.__appid));
        const n = this.m_player.GetLiveContentStartTime().getTime();
        if ("timelinemarkers" in t.gamedata) {
          const e = this.m_gameDataParser.UpdateMarkers(
            t.gamedata.__timelinemarkers,
            n,
          );
          e &&
            (this.m_rgMarkers.replace(e.rgMarkers || []),
            this.m_rgSegments.replace(e.rgSegments || []));
          const a = this.m_gameDataParser.UpdateRegions(t.gamedata.__regions);
          a && this.m_rgRegions.replace(a);
        } else
          "soundtrack" in t.gamedata &&
            this.m_gameDataParser.UpdateSoundtrack(
              this.m_steamIDBroadcast,
              t.gamedata.soundtrack,
            );
      }
      OnDownloadFailed() {
        W.BroadcastDownloadFailed(this);
      }
      OnWebRTCRetry() {
        W.BroadcastDownloadFailed(this, !1);
      }
      OnWebRTCFailed() {
        W.BroadcastDownloadFailed(this, !0);
      }
      OnUserInputNeeded() {
        this.m_bUserInputNeeded = !0;
      }
      UserInputClick() {
        (this.m_bUserInputNeeded = !1),
          this.m_player ? this.JumpToLiveEdge() : this.Play();
      }
      StopPlaybackTillUserInput() {
        this.Stop(), this.OnUserInputNeeded();
      }
      GetTimelineStartPos() {
        return this.m_nVideoEndPos - this.m_nTimelineDuration;
      }
      GetTimelineDuration() {
        return this.m_nTimelineDuration;
      }
      GetTimeAtMousePosition(e, t, n, a) {
        let r = v.c(e, t.left, t.right, n, a);
        return Math.floor(r + 0.5);
      }
      GetPercentOffsetFromTime(e, t) {
        let n = 0,
          a = 0;
        return (
          t == P.Timeline
            ? ((a = this.m_nVideoEndPos), (n = a - this.m_nTimelineDuration))
            : ((n = 0), (a = 0)),
          v.c(e, n, a, 0, 100)
        );
      }
      GetTimelineMarkers() {
        return this.m_rgMarkers;
      }
      GetTimelineSegments() {
        return this.m_rgSegments;
      }
      GetGameDataRegions() {
        return this.m_rgRegions;
      }
      BHasMarkersOrSegments() {
        return this.has_segments || this.has_markers;
      }
      GetThumbnailForTimestamp(e) {
        return this.m_player.GetThumbnailForTimestamp(e);
      }
      get has_markers() {
        return this.m_rgMarkers.length > 0;
      }
      get has_segments() {
        return this.m_rgSegments.length > 0;
      }
    }
    Object(a.b)([s.C], U.prototype, "m_bPaused", void 0),
      Object(a.b)([s.C], U.prototype, "m_nPlaybackTime", void 0),
      Object(a.b)([s.C], U.prototype, "m_bBuffering", void 0),
      Object(a.b)([s.C], U.prototype, "m_bOnLiveEdge", void 0),
      Object(a.b)([s.C], U.prototype, "m_nVolume", void 0),
      Object(a.b)([s.C], U.prototype, "m_bMuted", void 0),
      Object(a.b)([s.C], U.prototype, "m_bUserInputNeeded", void 0),
      Object(a.b)([s.C], U.prototype, "m_bIsReplay", void 0),
      Object(a.b)([s.C], U.prototype, "m_nTimelineDuration", void 0),
      Object(a.b)([s.C], U.prototype, "m_nVideoStartPos", void 0),
      Object(a.b)([s.C], U.prototype, "m_nVideoEndPos", void 0),
      Object(a.b)([s.C], U.prototype, "m_editorStartTime", void 0),
      Object(a.b)([s.C], U.prototype, "m_editorEndTime", void 0),
      Object(a.b)([s.k.bound], U.prototype, "StartBroadcast", null),
      Object(a.b)([s.k.bound], U.prototype, "StartClip", null),
      Object(a.b)([s.k.bound], U.prototype, "StartVOD", null),
      Object(a.b)([S.a], U.prototype, "OnVideoPlaying", null),
      Object(a.b)([S.a], U.prototype, "OnVideoPause", null),
      Object(a.b)([s.k.bound], U.prototype, "OnVideoTimeUpdate", null),
      Object(a.b)([s.k.bound], U.prototype, "OnGameDataUpdate", null),
      Object(a.b)([S.a], U.prototype, "OnDownloadFailed", null),
      Object(a.b)([S.a], U.prototype, "OnWebRTCRetry", null),
      Object(a.b)([S.a], U.prototype, "OnWebRTCFailed", null),
      Object(a.b)([S.a], U.prototype, "OnUserInputNeeded", null);
    const W = new z();
    window.uiBroadcastWatchStore = W;
  },
  VTa7: function (e, t, n) {
    e.exports = {
      AccessLog: "valveaccesslogs_AccessLog_3H6ey",
      AccessLogEntry: "valveaccesslogs_AccessLogEntry_2e3po",
      Name: "valveaccesslogs_Name_2qrNO",
      Timestamp: "valveaccesslogs_Timestamp_3EUlY",
    };
  },
  VUXn: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return o;
    }),
      n.d(t, "a", function () {
        return l;
      });
    n("aoTL");
    var a = n("q1tI"),
      r = (n("Q8oI"), n("5VAZ"), n("1pnr")),
      i = n("EVHR"),
      s = n("hc+a");
    function o(e) {
      const [t, n] = Object(a.useState)(r.b.GetClanEventModel(e)),
        s = Object(i.a)("usePartnerEventByEventGID");
      return (
        Object(a.useEffect)(() => {
          (null == t ? void 0 : t.GID) != e &&
            (r.b.Init(),
            r.b
              .LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs([e], [], s)
              .then((t) => {
                1 != (null == t ? void 0 : t.length) ||
                  t[0].GID != e ||
                  s.token.reason ||
                  n(t[0]);
              }));
        }, [e, t, s]),
        t
      );
    }
    function l(e, t, n) {
      const [o, l] = Object(a.useState)(r.b.GetClanEventModel(t)),
        c = Object(i.a)("usePartnerEventByClanAccountAndEventGID");
      return (
        Object(a.useEffect)(() => {
          if ((null == o ? void 0 : o.GID) != t) {
            r.b.Init();
            const a = s.a.InitFromClanID(e);
            r.b
              .LoadPartnerEventFromClanEventGIDAndClanSteamID(a, t, 0, n)
              .then((e) => {
                c.token.reason || l(e);
              });
          }
        }, [e, t, o, n, c]),
        o
      );
    }
  },
  VZfJ: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return _;
    });
    var a,
      r = n("mrSG"),
      i = n("q1tI"),
      s = n("KT6v"),
      o = n("TyAF"),
      l = n("+h+B"),
      c = n("CqJL"),
      d = n("0CSJ"),
      u = n("l1Mn"),
      m = n("CbaM"),
      p = n.n(m),
      h = n("gM6l");
    !(function (e) {
      (e.topleft = "topleft"),
        (e.top = "top"),
        (e.topright = "topright"),
        (e.left = "left"),
        (e.middle = "middle"),
        (e.right = "right"),
        (e.bottomleft = "bottomleft"),
        (e.bottom = "bottom"),
        (e.bottomright = "bottomright");
    })(a || (a = {}));
    let _ = class extends i.Component {
      constructor(e) {
        super(e),
          (this.m_fnMouseUp = null),
          (this.m_fnMouseMove = null),
          (this.m_listeners = new l.c()),
          (this.m_strDescription = ""),
          (this.m_aspectRatio = 1),
          (this.state = {
            curLeftPosPct: this.props.xPosPct,
            curTopPosPct: this.props.yPosPct,
            curRightPosPct: 100 - (this.props.widthPct + this.props.xPosPct),
            curBottomPosPct: 100 - (this.props.yPosPct + this.props.heightPct),
            curWidthPct: this.props.widthPct,
            curHeightPct: this.props.heightPct,
            EdgeDown: null,
            text_link_url: this.props.link_url,
            text_link_description: this.props.link_description,
            bEditingLink: !1,
            valid_link: this.validateUrl(this.props.link_url),
          }),
          (this.m_strDescription = this.props.link_description),
          (this.m_aspectRatio =
            this.props.heightPct > 0 && this.props.widthPct > 0
              ? this.props.widthPct / this.props.heightPct
              : 1);
      }
      componentWillUnmount() {
        this.m_listeners.Unregister();
      }
      LinkRegionBoxRef(e) {
        this.m_elLinkRegionBox = e;
      }
      OnMouseDown(e, t) {
        (this.m_fnMouseUp = (e) => {
          this.OnMouseUp(e, t);
        }),
          (this.m_fnMouseMove = (e) => {
            this.OnMouseMove(e, t);
          }),
          this.setState({ EdgeDown: t }),
          (this.m_rectLinkRegion =
            this.m_elLinkRegionBox.parentElement.getBoundingClientRect()),
          (this.m_nLocalOffsetXPct =
            ((e.clientX - this.m_rectLinkRegion.left) /
              (this.m_rectLinkRegion.right - this.m_rectLinkRegion.left)) *
              100 -
            this.state.curLeftPosPct),
          (this.m_nLocalOffsetYPct =
            ((e.clientY - this.m_rectLinkRegion.top) /
              (this.m_rectLinkRegion.bottom - this.m_rectLinkRegion.top)) *
              100 -
            this.state.curTopPosPct),
          this.m_listeners.AddEventListener(
            this.m_elLinkRegionBox.ownerDocument.defaultView,
            "mousemove",
            this.m_fnMouseMove,
          ),
          this.m_listeners.AddEventListener(
            this.m_elLinkRegionBox.ownerDocument.defaultView,
            "mouseup",
            this.m_fnMouseUp,
          ),
          e.preventDefault(),
          e.stopPropagation();
      }
      OnMouseMove(e, t) {
        if (void 0 !== this.state.EdgeDown) {
          switch ((e.shiftKey && this.m_fnMouseUp(), t)) {
            case a.left:
              this.UpdateState({ curLeftPosPct: this.CalcLeftEdge(e.clientX) });
              break;
            case a.right:
              this.UpdateState({
                curRightPosPct: this.CalcRightEdge(e.clientX),
              });
              break;
            case a.top:
              this.UpdateState({ curTopPosPct: this.CalcTopEdge(e.clientY) });
              break;
            case a.bottom:
              this.UpdateState({
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              });
              break;
            case a.topleft:
              this.UpdateState({
                curTopPosPct: this.CalcBottomEdge(e.clientY),
                curLeftPosPct: this.CalcLeftEdge(e.clientX),
              });
              break;
            case a.topright:
              this.UpdateState({
                curTopPosPct: this.CalcTopEdge(e.clientY),
                curRightPosPct: this.CalcRightEdge(e.clientX),
              });
              break;
            case a.bottomleft:
              this.UpdateState({
                curLeftPosPct: this.CalcLeftEdge(e.clientX),
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              });
              break;
            case a.bottomright:
              this.UpdateState({
                curRightPosPct: this.CalcRightEdge(e.clientX),
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              });
              break;
            case a.middle: {
              const t = Object(h.a)(
                  this.CalcLeftEdge(e.clientX),
                  0,
                  100 - this.state.curWidthPct,
                ),
                n = 100 - (t + this.state.curWidthPct),
                a = Object(h.a)(
                  this.CalcTopEdge(e.clientY),
                  0,
                  100 - this.state.curHeightPct,
                ),
                r = {
                  curLeftPosPct: t,
                  curRightPosPct: n,
                  curTopPosPct: a,
                  curBottomPosPct: 100 - (a + this.state.curHeightPct),
                };
              this.setState(r);
              break;
            }
          }
          e.preventDefault(), e.stopPropagation();
        }
      }
      IsValidPct(e) {
        return e >= 0 && e <= 100;
      }
      UpdateState(e) {
        let t =
            void 0 !== e.curTopPosPct
              ? e.curTopPosPct
              : this.state.curTopPosPct,
          n =
            void 0 !== e.curBottomPosPct
              ? e.curBottomPosPct
              : this.state.curBottomPosPct,
          a =
            void 0 !== e.curLeftPosPct
              ? e.curLeftPosPct
              : this.state.curLeftPosPct,
          r =
            void 0 !== e.curRightPosPct
              ? e.curRightPosPct
              : this.state.curRightPosPct,
          i = Object(h.a)(
            100 - r - a,
            this.props.widthMinPct || 0,
            this.props.widthMaxPct || 100,
          ),
          s = Object(h.a)(
            100 - n - t,
            this.props.heightMinPct || 0,
            this.props.heightMaxPct || 100,
          );
        this.props.bLockAspectRatio &&
          (void 0 !== e.curLeftPosPct || void 0 !== e.curRightPosPct
            ? (s = i / this.m_aspectRatio)
            : (i = s * this.m_aspectRatio)),
          void 0 !== e.curLeftPosPct ? (a = 100 - r - i) : (r = 100 - (a + i)),
          void 0 !== e.curTopPosPct ? (t = 100 - n - s) : (n = 100 - (t + s));
        const o = 100 - r - a,
          l = 100 - n - t;
        this.IsValidPct(a) &&
          this.IsValidPct(r) &&
          this.IsValidPct(t) &&
          this.IsValidPct(n) &&
          this.IsValidPct(o) &&
          this.IsValidPct(l) &&
          this.setState({
            curLeftPosPct: a,
            curRightPosPct: r,
            curTopPosPct: t,
            curBottomPosPct: n,
          });
      }
      GetXPercent(e) {
        return (
          ((e - this.m_rectLinkRegion.left) /
            (this.m_rectLinkRegion.right - this.m_rectLinkRegion.left)) *
            100 -
          this.m_nLocalOffsetXPct
        );
      }
      GetYPercent(e) {
        return (
          ((e - this.m_rectLinkRegion.top) /
            (this.m_rectLinkRegion.bottom - this.m_rectLinkRegion.top)) *
            100 -
          this.m_nLocalOffsetYPct
        );
      }
      CalcLeftEdge(e) {
        return Object(h.a)(this.GetXPercent(e), 0, 100);
      }
      CalcRightEdge(e) {
        return Object(h.a)(
          100 - (this.GetXPercent(e) + this.state.curWidthPct),
          0,
          100,
        );
      }
      CalcTopEdge(e) {
        return Object(h.a)(this.GetYPercent(e), 0, 100);
      }
      CalcBottomEdge(e) {
        return Object(h.a)(
          100 - (this.GetYPercent(e) + this.state.curHeightPct),
          0,
          100,
        );
      }
      OnMouseUp(e, t) {
        this.setState({
          curWidthPct:
            100 - this.state.curRightPosPct - this.state.curLeftPosPct,
        }),
          this.setState({
            curHeightPct:
              100 - this.state.curBottomPosPct - this.state.curTopPosPct,
          }),
          this.setState({ EdgeDown: void 0 }),
          this.props.updateFn(this.props.index, {
            xPosPct: this.state.curLeftPosPct,
            yPosPct: this.state.curTopPosPct,
            widthPct: this.state.curWidthPct,
            heightPct: this.state.curHeightPct,
            link_url: this.state.text_link_url,
            link_description: this.state.text_link_description,
          }),
          this.m_listeners.Unregister();
      }
      HandleDelete() {
        return Object(r.a)(this, void 0, void 0, function* () {
          this.props.deleteFn && this.props.deleteFn(this.props.index);
        });
      }
      OnSetLinkURLChange(e) {
        this.setState({
          text_link_url: e.target.value,
          valid_link: this.validateUrl(e.target.value),
        });
      }
      OnSetLinkDescriptionChange(e) {
        this.setState({ text_link_description: e.target.value });
      }
      validateUrl(e) {
        return /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/i.test(
          e,
        );
      }
      OnSaveLink() {
        (this.m_strDescription = this.state.text_link_description),
          this.setState({ bEditingLink: !this.state.bEditingLink }),
          this.props.updateFn(this.props.index, {
            xPosPct: this.state.curLeftPosPct,
            yPosPct: this.state.curTopPosPct,
            widthPct: this.state.curWidthPct,
            heightPct: this.state.curHeightPct,
            link_url: this.state.text_link_url,
            link_description: this.state.text_link_description,
          });
      }
      OnEditLink() {
        this.setState({ bEditingLink: !this.state.bEditingLink });
      }
      render() {
        let e = {
            left: this.state.curLeftPosPct + "%",
            top: this.state.curTopPosPct + "%",
            right: this.state.curRightPosPct + "%",
            bottom: this.state.curBottomPosPct + "%",
          },
          t = p.a.LinkRegionDragBox;
        return (
          null !== this.state.EdgeDown &&
            (t += ` ${p.a.EdgeDown} ` + p.a[this.state.EdgeDown]),
          i.createElement(
            "div",
            {
              className: t,
              style: e,
              ref: this.LinkRegionBoxRef,
              draggable: !1,
            },
            i.createElement(
              "div",
              { className: p.a.LinkRegionGridBox },
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.TopLeft}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.topleft);
                },
                draggable: !1,
              }),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.Top}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.top);
                },
              }),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.TopRight}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.topright);
                },
                draggable: !1,
              }),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.Left}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.left);
                },
                draggable: !1,
              }),
              i.createElement(
                "div",
                {
                  className: `${p.a.LinkRegionEdge} ${p.a.Middle}`,
                  onMouseDown: (e) => {
                    this.OnMouseDown(e, a.middle);
                  },
                  draggable: !1,
                },
                this.props.deleteFn &&
                  i.createElement(
                    "div",
                    {
                      className: p.a.LinkRegionDelete,
                      onClick: this.HandleDelete,
                    },
                    i.createElement(u.Ab, null),
                  ),
                !this.props.bDisableLink &&
                  i.createElement(
                    "div",
                    {
                      className: p.a.LinkRegionSettings,
                      onClick: this.OnEditLink,
                    },
                    i.createElement(u.S, null),
                  ),
                i.createElement(
                  "div",
                  { className: p.a.LinkText },
                  " ",
                  this.m_strDescription,
                  " ",
                ),
              ),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.Right}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.right);
                },
                draggable: !1,
              }),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.BottomLeft}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.bottomleft);
                },
                draggable: !1,
              }),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.Bottom}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.bottom);
                },
                draggable: !1,
              }),
              i.createElement("div", {
                className: `${p.a.LinkRegionEdge} ${p.a.BottomRight}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, a.bottomright);
                },
                draggable: !1,
              }),
            ),
            this.state.bEditingLink &&
              i.createElement(
                "div",
                { className: p.a.LinkRegionInfo },
                i.createElement(d.z, {
                  className: p.a.LinkRegionInput,
                  type: "text",
                  name: "link_url",
                  value: this.state.text_link_url,
                  label: Object(c.f)("#SteamTV_LinkURL"),
                  placeholder: "https://www.example.com",
                  onChange: this.OnSetLinkURLChange,
                  mustBeURL: !0,
                }),
                i.createElement(d.z, {
                  className: p.a.LinkRegionInput,
                  type: "text",
                  name: "link_description",
                  value: this.state.text_link_description,
                  label: Object(c.f)("#SteamTV_LinkDescription"),
                  placeholder: Object(c.f)(
                    "#SteamTV_LinkDescription_Placeholder",
                  ),
                  onChange: this.OnSetLinkDescriptionChange,
                }),
                i.createElement(
                  "div",
                  { className: p.a.LinkRegionButtonContainer },
                  i.createElement(
                    d.e,
                    {
                      disabled: !this.state.valid_link,
                      onClick: this.OnSaveLink,
                    },
                    " ",
                    Object(c.f)("#Button_OK"),
                    " ",
                  ),
                  i.createElement(
                    d.e,
                    { onClick: this.OnEditLink },
                    " ",
                    Object(c.f)("#Button_Cancel"),
                  ),
                ),
              ),
          )
        );
      }
    };
    Object(r.b)([s.b], _.prototype, "LinkRegionBoxRef", null),
      Object(r.b)([s.b], _.prototype, "OnMouseDown", null),
      Object(r.b)([s.b], _.prototype, "OnMouseMove", null),
      Object(r.b)([s.b], _.prototype, "OnMouseUp", null),
      Object(r.b)([s.b], _.prototype, "HandleDelete", null),
      Object(r.b)([s.b], _.prototype, "OnSetLinkURLChange", null),
      Object(r.b)([s.b], _.prototype, "OnSetLinkDescriptionChange", null),
      Object(r.b)([s.b], _.prototype, "OnSaveLink", null),
      Object(r.b)([s.b], _.prototype, "OnEditLink", null),
      (_ = Object(r.b)([o.a], _));
  },
  Vzeg: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      TopCapsule: "sharedappdetailsheader_TopCapsule_10kdV",
      NoArt: "sharedappdetailsheader_NoArt_Jvlr1",
      ImgSrc: "sharedappdetailsheader_ImgSrc_t63_T",
      ImgContainer: "sharedappdetailsheader_ImgContainer_1j1_D",
      FallbackArt: "sharedappdetailsheader_FallbackArt_3KlOx",
      BoxSizerEdge: "sharedappdetailsheader_BoxSizerEdge_1vXVD",
      Middle: "sharedappdetailsheader_Middle_2TzhC",
      BoxSizerValidRegion: "sharedappdetailsheader_BoxSizerValidRegion_2Ag_3",
      Background: "sharedappdetailsheader_Background_3QUeU",
      FullscreenEnterStart: "sharedappdetailsheader_FullscreenEnterStart_16mex",
      FullscreenEnterActive:
        "sharedappdetailsheader_FullscreenEnterActive_AGgaM",
      FullscreenExitActive: "sharedappdetailsheader_FullscreenExitActive_2vwQM",
      FullscreenExitDone: "sharedappdetailsheader_FullscreenExitDone_2pkrZ",
      FullscreenEnterDone: "sharedappdetailsheader_FullscreenEnterDone_2f4iT",
      FullscreenExitStart: "sharedappdetailsheader_FullscreenExitStart_2cQPf",
      TitleImageContainer: "sharedappdetailsheader_TitleImageContainer_1qMOf",
      UpperCenter: "sharedappdetailsheader_UpperCenter_38XPg",
      CenterCenter: "sharedappdetailsheader_CenterCenter_2T8ee",
      BottomCenter: "sharedappdetailsheader_BottomCenter_1BMbU",
      TitleLogo: "sharedappdetailsheader_TitleLogo_1SJ85",
      Loaded: "sharedappdetailsheader_Loaded_GsDQ6",
      BottomLeft: "sharedappdetailsheader_BottomLeft_1xgU8",
      UpperLeft: "sharedappdetailsheader_UpperLeft_14UNB",
      HeaderBackgroundImage:
        "sharedappdetailsheader_HeaderBackgroundImage_ca6pA",
      ImgBlurBackdrop: "sharedappdetailsheader_ImgBlurBackdrop_V7fVC",
      ImgBlur: "sharedappdetailsheader_ImgBlur_2ndNJ",
      PinBox: "sharedappdetailsheader_PinBox_3S0Af",
      BoxSizerContainer: "sharedappdetailsheader_BoxSizerContainer_1jEv7",
      BoxSizer: "sharedappdetailsheader_BoxSizer_3TbMs",
      BoxSizerDragBox: "sharedappdetailsheader_BoxSizerDragBox_rt-WC",
      EdgeDown: "sharedappdetailsheader_EdgeDown_3OUCB",
      BoxSizerGridBox: "sharedappdetailsheader_BoxSizerGridBox_2rq4c",
      TopLeft: "sharedappdetailsheader_TopLeft_asBqR",
      Top: "sharedappdetailsheader_Top_3Gz9I",
      TopRight: "sharedappdetailsheader_TopRight_Ob6xE",
      Left: "sharedappdetailsheader_Left_VPgs1",
      BoxSizerDelete: "sharedappdetailsheader_BoxSizerDelete_1fEe9",
      BoxSizerSettings: "sharedappdetailsheader_BoxSizerSettings_1ZHgI",
      Right: "sharedappdetailsheader_Right_27nFG",
      Bottom: "sharedappdetailsheader_Bottom_25KRv",
      BottomRight: "sharedappdetailsheader_BottomRight_3Jp47",
      AddBoxSizer: "sharedappdetailsheader_AddBoxSizer_3nNm_",
      SaveBoxSizer: "sharedappdetailsheader_SaveBoxSizer_3Kn0S",
      BoxSizerButtonContainer:
        "sharedappdetailsheader_BoxSizerButtonContainer_3j8rv",
      DialogButton: "sharedappdetailsheader_DialogButton_koJ5z",
      BoxSizerInfo: "sharedappdetailsheader_BoxSizerInfo_AyK-o",
      TextNameSpace: "sharedappdetailsheader_TextNameSpace_VOv0Q",
      TitleSection: "sharedappdetailsheader_TitleSection_2oAYX",
      Features: "sharedappdetailsheader_Features_G4h2S",
      SVGTitle: "sharedappdetailsheader_SVGTitle_gqzkc",
      TopGradient: "sharedappdetailsheader_TopGradient_1SGwp",
    };
  },
  "W+VK": function (e, t, n) {
    e.exports = {
      QRBits: "qrcode_QRBits_22VuG",
      Bit: "qrcode_Bit_1cen5",
      Active: "qrcode_Active_17-Ag",
    };
  },
  WDYG: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    }),
      n.d(t, "c", function () {
        return c;
      }),
      n.d(t, "b", function () {
        return d;
      });
    const a = /^.*youtube[^v]+v=(.{11}).*/,
      r = /^.*youtu\.be\/(.{11}).*/,
      i = /^.*youtube.*\/embed\/(.{11}).*/,
      s = /^.*[?&]t=([^&]+)(?:&|$)/,
      o = /^(?:(?:([\d]+)h)?(?:([\d]+)m)?(?:([\d]+)s)?|([\d]+))$/;
    function l(e) {
      return !!c(e);
    }
    function c(e) {
      const t =
        (null == e ? void 0 : e.length) < 20
          ? void 0
          : a.exec(e) || r.exec(e) || i.exec(e);
      return null == t ? void 0 : t[1];
    }
    function d(e) {
      const t = c(e);
      if (!t) return;
      const n = (function (e) {
          const t = s.exec(e);
          return null == t ? void 0 : t[1];
        })(e),
        a = n
          ? (function (e) {
              const t = o.exec(e);
              if (
                !(
                  (null == t ? void 0 : t[1]) ||
                  (null == t ? void 0 : t[2]) ||
                  (null == t ? void 0 : t[3]) ||
                  (null == t ? void 0 : t[4])
                )
              )
                return;
              if (null == t ? void 0 : t[4])
                return parseInt(null == t ? void 0 : t[4]);
              let n = 0;
              return (
                (null == t ? void 0 : t[1]) && (n += 3600 * parseInt(t[1])),
                (null == t ? void 0 : t[2]) && (n += 60 * parseInt(t[2])),
                (null == t ? void 0 : t[3]) && (n += parseInt(t[3])),
                n
              );
            })(n)
          : void 0;
      return { strVideoID: t, nStartSeconds: a };
    }
  },
  WJYP: function (e, t, n) {
    e.exports = {
      LogoEditorContainer: "logoeditor_LogoEditorContainer_3G8aW",
      LogoEditorHeaderContainer: "logoeditor_LogoEditorHeaderContainer_31GWs",
      LogoEditorDetailsContainer: "logoeditor_LogoEditorDetailsContainer_1uN9i",
      NoLogoImage: "logoeditor_NoLogoImage_3HX66",
      Title: "logoeditor_Title_32fDU",
      LogoEditorGameListContainer:
        "logoeditor_LogoEditorGameListContainer_26dKg",
      TitleSection: "logoeditor_TitleSection_3EpYa",
      Features: "logoeditor_Features_1XHDu",
      DetailsArea: "logoeditor_DetailsArea_1ToHZ",
      LogoEditorPopup: "logoeditor_LogoEditorPopup_3h6ed",
      SavingThrobberContainer: "logoeditor_SavingThrobberContainer_8igOr",
      SavingThrobber: "logoeditor_SavingThrobber_1Oc14",
      Saving: "logoeditor_Saving_QovVg",
      LogoEditorSaveActions: "logoeditor_LogoEditorSaveActions_tWdDs",
      LogoEditorSavedMessage: "logoeditor_LogoEditorSavedMessage_1ZpFT",
      Saved: "logoeditor_Saved_1ES2_",
      LogoEditorButtons: "logoeditor_LogoEditorButtons_2LdrC",
      LogoEditorButton: "logoeditor_LogoEditorButton_3XBe6",
      CancelBtn: "logoeditor_CancelBtn_3xnGm",
      ListDivider: "logoeditor_ListDivider_3JOU7",
      Instructions: "logoeditor_Instructions_HQq3b",
    };
  },
  Wiwi: function (e, t, n) {
    "use strict";
  },
  WkhL: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return m;
    });
    var a = n("mrSG"),
      r = n("H7XF"),
      i = n("hRO2"),
      s = n("y6Yv"),
      o = n("VQwQ"),
      l = n("vDqi"),
      c = n.n(l),
      d = (n("AQa9"), n("cCSw")),
      u = (n("RfXg"), n("hc+a"));
    n("Wiwi"), n("gFJg");
    i.Message;
    class m {
      constructor(e, t, n = !1) {
        (this.m_webApiAccessToken = ""),
          (this.m_bJsonMode = !1),
          (this.m_strWebAPIBaseURL = e),
          (this.m_webApiAccessToken = t),
          (this.m_bJsonMode = n),
          this.ConstructServiceTransport();
      }
      WaitUntilLoggedOn() {
        return Promise.resolve();
      }
      GetServerRTime32() {
        return Number(new Date());
      }
      get steamid() {
        return new u.a();
      }
      RTime32ToDate(e) {
        return new Date(1e3 * e);
      }
      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 }),
        }),
          (this.m_AnonymousServiceTransport = {
            SendMsg: this.SendMsgAndAwaitResponse.bind(this, { bSendAuth: !1 }),
            SendNotification: this.SendNotification.bind(this, {
              bSendAuth: !1,
            }),
          });
      }
      SendMsgAndAwaitResponse(e, t, n, r, o) {
        var l;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            let l = yield this.Send(e, t, n, o);
            if (200 != l.status || !l.data) throw new Error("Request Error");
            if (
              ((a = s.b.Init(r, 147)),
              l.headers &&
                (l.headers["x-eresult"] &&
                  a.Hdr().set_eresult(parseInt(l.headers["x-eresult"])),
                l.headers["x-error_message"] &&
                  a.Hdr().set_error_message(l.headers["x-error_message"])),
              this.m_bJsonMode)
            )
              a.SetBodyJSON(l.data.response);
            else {
              let e = new d.a(l.data),
                t = new i.BinaryReader(
                  e.GetPacket(),
                  e.TellGet(),
                  e.GetCountBytesRemaining(),
                );
              r.deserializeBinaryFromReader(a.Body(), t);
            }
            0;
          } catch (e) {
            const t =
              401 ===
              (null === (l = null == e ? void 0 : e.response) || void 0 === l
                ? void 0
                : l.status)
                ? "Unauthorized"
                : null;
            a = this.CreateFailedMsgProtobuf(r, 3, t);
          }
          return a;
        });
      }
      SendNotification(e, t, n, a) {
        return this.Send(e, t, n, a), !0;
      }
      Send(e, t, n, a) {
        let i = this.CreateWebAPIURL(t),
          s = n.SerializeBody(),
          o = r.fromByteArray(s);
        const l = a.eWebAPIKeyRequirement;
        let d = 0 == a.ePrivilege && 1 == l,
          u = {
            responseType: this.m_bJsonMode ? "json" : "arraybuffer",
            params: {},
          };
        if (
          (e.bSendAuth ||
            1 == l ||
            console.error(
              `Attempting to invoke service ${t} without auth, but auth is required.`,
            ),
          this.m_webApiAccessToken &&
            e.bSendAuth &&
            !d &&
            (u.params.access_token = this.m_webApiAccessToken),
          !a.bConstMethod)
        ) {
          const e = new FormData();
          return (
            this.m_bJsonMode
              ? e.append("input_json", JSON.stringify(n.Body().toObject()))
              : e.append("input_protobuf_encoded", o),
            c.a.post(i, e, u)
          );
        }
        return (
          this.m_bJsonMode
            ? (u.params = Object.assign(Object.assign({}, u.params), {
                input_json: JSON.stringify(n.Body().toObject()),
              }))
            : (u.params = Object.assign(Object.assign({}, u.params), {
                input_protobuf_encoded: o,
              })),
          c.a.get(i, u)
        );
      }
      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, n) {
        let a = s.b.Init(e);
        return (
          a.Hdr().set_eresult(2),
          a.Hdr().set_transport_error(t),
          n && a.Hdr().set_error_message(n),
          a
        );
      }
    }
    Object(a.b)([o.a], m.prototype, "SendMsgAndAwaitResponse", null),
      Object(a.b)([o.a], m.prototype, "SendNotification", null),
      Object(a.b)([o.a], m.prototype, "Send", null);
  },
  "X/Dm": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = n("aaBf"),
      s = (n("TYQL"), n("3wCP")),
      o = n("9HlB");
    function l(e) {
      const { bAllowOutsideOfDeck: t } = e;
      if (!i.c.IN_GAMEPADUI && !t) return null;
      let n = "unknown";
      switch (e.eDeckCompatibilityCategory) {
        case 3:
          n = "verified";
          break;
        case 2:
          n = "playable";
          break;
        case 1:
          n = "unsupported";
      }
      return r.a.createElement("div", {
        className: Object(s.a)(
          o.CompatIcon,
          "ds_steam_deck_compat",
          n,
          e.className,
        ),
      });
    }
  },
  X9fq: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    }),
      n.d(t, "b", function () {
        return i;
      }),
      n.d(t, "c", function () {
        return s;
      });
    var a = n("hHds");
    class r {
      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 n = t / this.m_options.msDuration;
        try {
          this.Update(e(n));
        } catch (e) {}
        this.m_window.requestAnimationFrame(this.m_fnBoundAnimationFunc);
      }
      ClearInterval() {
        this.m_bActive = !1;
      }
    }
    class i extends r {
      constructor(e, t, n) {
        super(e, t), (this.m_fnCallback = n);
      }
      Update(e) {
        this.m_fnCallback(e);
      }
    }
    class s extends r {
      constructor(e, t, n) {
        super("ownerDocument" in e ? a.n(e) : e, n),
          (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,
            n = this.m_propTargets[e];
          t != n && (this.m_props[e] = { start: t, end: n });
        }
        super.Start();
      }
      Update(e) {
        for (let t in this.m_props) {
          let n = this.m_props[t],
            a = n.start + (n.end - n.start) * e;
          this.m_object[t] = a;
        }
      }
    }
  },
  XFvQ: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return d;
    });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = (n("AQa9"), n("Q8oI"), n("LRRG"), n("D6PB")),
      l = n("aaBf"),
      c = n("M3d7");
    class d {
      constructor() {
        this.m_mapAppToVOD = new Map();
      }
      GetVODForAppID(e) {
        return this.m_mapAppToVOD.get(e);
      }
      LoadVODForAppID(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapAppToVOD.has(e)) return this.m_mapAppToVOD.get(e);
          const n = l.c.STORE_BASE_URL + "video/details/" + e + "/0",
            a = {};
          try {
            let r = yield i.a.get(n, {
              params: a,
              withCredentials: !0,
              cancelToken: t ? t.token : void 0,
            });
            if (t && t.token.reason) return null;
            if (
              r &&
              200 == r.status &&
              r.data &&
              (1 == r.data.success || "ready" == r.data.success)
            ) {
              let t = Object(s.C)({
                appid: e,
                video_url: r.data.video_url,
                bookmark: r.data.bookmark,
              });
              return (
                r.data.bookmark
                  ? c.b.Get().SetBookmarkForApp(e, r.data.bookmark)
                  : c.b.Get().InitializeBookmarkForApp(e),
                this.m_mapAppToVOD.set(e, t),
                t
              );
            }
          } catch (e) {
            let t = Object(o.a)(e);
            console.error(
              "CVideoOnDemandStore:LoadVODForAppID: Failed " + t.strErrorMsg,
              t,
            );
          }
          return null;
        });
      }
      static Get() {
        return (
          d.s_VODStore || ((d.s_VODStore = new d()), d.s_VODStore.Init()),
          d.s_VODStore
        );
      }
      Init() {}
    }
  },
  XGRy: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return u;
    }),
      n.d(t, "a", function () {
        return _;
      }),
      n.d(t, "c", function () {
        return f;
      }),
      n.d(t, "d", function () {
        return k;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    n("TYQL");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.transactionid || r.a(s.M()),
          i.initialize(this, e, 0, -1, [18], null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                transactionid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                packageid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                purchase_status: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                result_detail: {
                  n: 4,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                transaction_time: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                payment_method: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                base_price: {
                  n: 7,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                total_discount: {
                  n: 8,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                tax: {
                  n: 9,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                shipping: {
                  n: 10,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                currency_code: {
                  n: 11,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                country_code: {
                  n: 12,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                error_headline: {
                  n: 13,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                error_string: {
                  n: 14,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                error_link_text: {
                  n: 15,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                error_link_url: {
                  n: 16,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                error_appid: { n: 17, br: r.d.readUint32, bw: r.h.writeUint32 },
                line_items: { n: 18, c: o, r: !0, q: !0 },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_PurchaseReceiptInfo";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.packageid || r.a(o.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                packageid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                appid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                line_item_description: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_PurchaseReceiptInfo_LineItem";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.purchase_result_details || r.a(l.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                purchase_result_details: {
                  n: 1,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                purchase_receipt_info: { n: 2, c: s },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_RegisterCDKey_Response";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.tags || r.a(c.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: { tags: { n: 1, c: d, r: !0, q: !0 } },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetMostPopularTags_Response";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.tagid || r.a(d.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                tagid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                name: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetMostPopularTags_Response_Tag";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.language || r.a(u.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                language: { n: 1, br: r.d.readString, bw: r.h.writeString },
                tagids: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetLocalizedNameForTags_Request";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(),
          m.prototype.tags || r.a(m.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: { tags: { n: 1, c: p, r: !0, q: !0 } },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetLocalizedNameForTags_Response";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(),
          p.prototype.tagid || r.a(p.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                tagid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                english_name: { n: 2, br: r.d.readString, bw: r.h.writeString },
                name: { n: 3, br: r.d.readString, bw: r.h.writeString },
                normalized_name: {
                  n: 4,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetLocalizedNameForTags_Response_Tag";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(),
          h.prototype.os_win || r.a(h.M()),
          i.initialize(this, e, 0, -1, [10, 16], null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                os_win: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                os_mac: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                os_linux: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
                full_controller_support: {
                  n: 7,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                native_steam_controller: {
                  n: 8,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                include_coming_soon: {
                  n: 9,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                excluded_tagids: {
                  n: 10,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                exclude_early_access: {
                  n: 11,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                exclude_videos: { n: 12, br: r.d.readBool, bw: r.h.writeBool },
                exclude_software: {
                  n: 13,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                exclude_dlc: { n: 14, br: r.d.readBool, bw: r.h.writeBool },
                exclude_soundtracks: {
                  n: 15,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                featured_tagids: {
                  n: 16,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStoreDiscoveryQueueSettings";
      }
    }
    class _ extends i {
      constructor(e = null) {
        super(),
          _.prototype.queue_type || r.a(_.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                queue_type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                country_code: { n: 2, br: r.d.readString, bw: r.h.writeString },
                rebuild_queue: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
                settings_changed: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                settings: { n: 5, c: h },
                rebuild_queue_if_stale: {
                  n: 6,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                ignore_user_preferences: {
                  n: 8,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                no_experimental_results: {
                  n: 9,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                experimental_cohort: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                debug_get_solr_query: {
                  n: 11,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetDiscoveryQueue_Request";
      }
    }
    class g extends i {
      constructor(e = null) {
        super(),
          g.prototype.appids || r.a(g.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          g.sm_m ||
            (g.sm_m = {
              proto: g,
              fields: {
                appids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                country_code: { n: 2, br: r.d.readString, bw: r.h.writeString },
                settings: { n: 3, c: h },
                skipped: { n: 4, br: r.d.readInt32, bw: r.h.writeInt32 },
                exhausted: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                experimental_cohort: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                debug_solr_query: {
                  n: 7,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          g.sm_m
        );
      }
      static MBF() {
        return g.sm_mbf || (g.sm_mbf = r.e(g.M())), g.sm_mbf;
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(g.M(), e, t);
      }
      static fromObject(e) {
        return r.c(g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(g.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetDiscoveryQueue_Response";
      }
    }
    class b extends i {
      constructor(e = null) {
        super(),
          b.prototype.country_code || r.a(b.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          b.sm_m ||
            (b.sm_m = {
              proto: b,
              fields: {
                country_code: { n: 1, br: r.d.readString, bw: r.h.writeString },
                settings: { n: 2, c: h },
              },
            }),
          b.sm_m
        );
      }
      static MBF() {
        return b.sm_mbf || (b.sm_mbf = r.e(b.M())), b.sm_mbf;
      }
      toObject(e = !1) {
        return b.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(b.M(), e, t);
      }
      static fromObject(e) {
        return r.c(b.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new b();
        return b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(b.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(b.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetDiscoveryQueueSettings_Response";
      }
    }
    class f extends i {
      constructor(e = null) {
        super(),
          f.prototype.queue_type || r.a(f.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          f.sm_m ||
            (f.sm_m = {
              proto: f,
              fields: {
                queue_type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                appid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          f.sm_m
        );
      }
      static MBF() {
        return f.sm_mbf || (f.sm_mbf = r.e(f.M())), f.sm_mbf;
      }
      toObject(e = !1) {
        return f.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(f.M(), e, t);
      }
      static fromObject(e) {
        return r.c(f.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new f();
        return f.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(f.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(f.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_SkipDiscoveryQueueItem_Request";
      }
    }
    class v extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return v.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new v();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new v();
        return v.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_SkipDiscoveryQueueItem_Response";
      }
    }
    class S extends i {
      constructor(e = null) {
        super(),
          S.prototype.owned || r.a(S.M()),
          i.initialize(this, e, 0, -1, [5, 6, 7, 8, 10], null);
      }
      static M() {
        return (
          S.sm_m ||
            (S.sm_m = {
              proto: S,
              fields: {
                owned: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                wishlist: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                ignored: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
                following: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                in_queues: {
                  n: 5,
                  r: !0,
                  q: !0,
                  br: r.d.readEnum,
                  bw: r.h.writeRepeatedEnum,
                },
                queues_with_skip: {
                  n: 6,
                  r: !0,
                  q: !0,
                  br: r.d.readEnum,
                  bw: r.h.writeRepeatedEnum,
                },
                queue_items_remaining: {
                  n: 7,
                  r: !0,
                  q: !0,
                  br: r.d.readInt32,
                  bw: r.h.writeRepeatedInt32,
                },
                queue_items_next_appid: {
                  n: 8,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
                temporarily_owned: {
                  n: 9,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                queues: { n: 10, c: y, r: !0, q: !0 },
                ignored_reason: {
                  n: 11,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                beta_status: { n: 12, br: r.d.readEnum, bw: r.h.writeEnum },
              },
            }),
          S.sm_m
        );
      }
      static MBF() {
        return S.sm_mbf || (S.sm_mbf = r.e(S.M())), S.sm_mbf;
      }
      toObject(e = !1) {
        return S.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(S.M(), e, t);
      }
      static fromObject(e) {
        return r.c(S.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new S();
        return S.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(S.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(S.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetUserGameInterestState_Response";
      }
    }
    class y extends i {
      constructor(e = null) {
        super(),
          y.prototype.type || r.a(y.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          y.sm_m ||
            (y.sm_m = {
              proto: y,
              fields: {
                type: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                skipped: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                items_remaining: {
                  n: 3,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                next_appid: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                experimental_cohort: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          y.sm_m
        );
      }
      static MBF() {
        return y.sm_mbf || (y.sm_mbf = r.e(y.M())), y.sm_mbf;
      }
      toObject(e = !1) {
        return y.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(y.M(), e, t);
      }
      static fromObject(e) {
        return r.c(y.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new y();
        return y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(y.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(y.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetUserGameInterestState_Response_InQueue";
      }
    }
    class E extends i {
      constructor(e = null) {
        super(),
          E.prototype.primary_language || r.a(E.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          E.sm_m ||
            (E.sm_m = {
              proto: E,
              fields: {
                primary_language: {
                  n: 1,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                secondary_languages: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                platform_windows: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
                platform_mac: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                platform_linux: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                hide_adult_content_violence: {
                  n: 6,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                hide_adult_content_sex: {
                  n: 7,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                timestamp_updated: {
                  n: 8,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                hide_store_broadcast: {
                  n: 9,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                review_score_preference: {
                  n: 10,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                timestamp_content_descriptor_preferences_updated: {
                  n: 11,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                provide_deck_feedback: {
                  n: 12,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
              },
            }),
          E.sm_m
        );
      }
      static MBF() {
        return E.sm_mbf || (E.sm_mbf = r.e(E.M())), E.sm_mbf;
      }
      toObject(e = !1) {
        return E.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(E.M(), e, t);
      }
      static fromObject(e) {
        return r.c(E.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new E();
        return E.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(E.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(E.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_UserPreferences";
      }
    }
    class C extends i {
      constructor(e = null) {
        super(),
          C.prototype.tags_to_exclude || r.a(C.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          C.sm_m ||
            (C.sm_m = {
              proto: C,
              fields: { tags_to_exclude: { n: 1, c: w, r: !0, q: !0 } },
            }),
          C.sm_m
        );
      }
      static MBF() {
        return C.sm_mbf || (C.sm_mbf = r.e(C.M())), C.sm_mbf;
      }
      toObject(e = !1) {
        return C.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(C.M(), e, t);
      }
      static fromObject(e) {
        return r.c(C.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new C();
        return C.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(C.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(C.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_UserTagPreferences";
      }
    }
    class w extends i {
      constructor(e = null) {
        super(),
          w.prototype.tagid || r.a(w.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          w.sm_m ||
            (w.sm_m = {
              proto: w,
              fields: {
                tagid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                name: { n: 2, br: r.d.readString, bw: r.h.writeString },
                timestamp_added: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          w.sm_m
        );
      }
      static MBF() {
        return w.sm_mbf || (w.sm_mbf = r.e(w.M())), w.sm_mbf;
      }
      toObject(e = !1) {
        return w.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(w.M(), e, t);
      }
      static fromObject(e) {
        return r.c(w.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new w();
        return w.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(w.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(w.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_UserTagPreferences_Tag";
      }
    }
    class B extends i {
      constructor(e = null) {
        super(),
          B.prototype.content_descriptors_to_exclude || r.a(B.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          B.sm_m ||
            (B.sm_m = {
              proto: B,
              fields: {
                content_descriptors_to_exclude: { n: 1, c: O, r: !0, q: !0 },
              },
            }),
          B.sm_m
        );
      }
      static MBF() {
        return B.sm_mbf || (B.sm_mbf = r.e(B.M())), B.sm_mbf;
      }
      toObject(e = !1) {
        return B.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(B.M(), e, t);
      }
      static fromObject(e) {
        return r.c(B.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new B();
        return B.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(B.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(B.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_UserContentDescriptorPreferences";
      }
    }
    class O extends i {
      constructor(e = null) {
        super(),
          O.prototype.content_descriptorid || r.a(O.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          O.sm_m ||
            (O.sm_m = {
              proto: O,
              fields: {
                content_descriptorid: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                timestamp_added: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          O.sm_m
        );
      }
      static MBF() {
        return O.sm_mbf || (O.sm_mbf = r.e(O.M())), O.sm_mbf;
      }
      toObject(e = !1) {
        return O.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(O.M(), e, t);
      }
      static fromObject(e) {
        return r.c(O.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new O();
        return O.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(O.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(O.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_UserContentDescriptorPreferences_ContentDescriptor";
      }
    }
    class D extends i {
      constructor(e = null) {
        super(),
          D.prototype.preferences || r.a(D.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          D.sm_m ||
            (D.sm_m = {
              proto: D,
              fields: {
                preferences: { n: 1, c: E },
                tag_preferences: { n: 2, c: C },
                content_descriptor_preferences: { n: 3, c: B },
              },
            }),
          D.sm_m
        );
      }
      static MBF() {
        return D.sm_mbf || (D.sm_mbf = r.e(D.M())), D.sm_mbf;
      }
      toObject(e = !1) {
        return D.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(D.M(), e, t);
      }
      static fromObject(e) {
        return r.c(D.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new D();
        return D.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(D.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(D.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetStorePreferences_Response";
      }
    }
    class I extends i {
      constructor(e = null) {
        super(),
          I.prototype.trending_apps || r.a(I.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          I.sm_m ||
            (I.sm_m = {
              proto: I,
              fields: { trending_apps: { n: 1, c: T, r: !0, q: !0 } },
            }),
          I.sm_m
        );
      }
      static MBF() {
        return I.sm_mbf || (I.sm_mbf = r.e(I.M())), I.sm_mbf;
      }
      toObject(e = !1) {
        return I.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(I.M(), e, t);
      }
      static fromObject(e) {
        return r.c(I.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new I();
        return I.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(I.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(I.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetTrendingAppsAmongFriends_Response";
      }
    }
    class T extends i {
      constructor(e = null) {
        super(),
          T.prototype.appid || r.a(T.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          T.sm_m ||
            (T.sm_m = {
              proto: T,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                steamids_top_friends: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: r.d.readUint64String,
                  bw: r.h.writeRepeatedUint64String,
                },
                total_friends: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          T.sm_m
        );
      }
      static MBF() {
        return T.sm_mbf || (T.sm_mbf = r.e(T.M())), T.sm_mbf;
      }
      toObject(e = !1) {
        return T.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(T.M(), e, t);
      }
      static fromObject(e) {
        return r.c(T.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new T();
        return T.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(T.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(T.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_GetTrendingAppsAmongFriends_Response_TrendingAppData";
      }
    }
    class R extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return R.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new R();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new R();
        return R.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CSteamDeckCompatibility_SetFeedback_Response";
      }
    }
    class j extends i {
      constructor(e = null) {
        super(),
          j.prototype.prompt || r.a(j.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          j.sm_m ||
            (j.sm_m = {
              proto: j,
              fields: {
                prompt: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                feedback_eligible: {
                  n: 2,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                existing_feedback: {
                  n: 3,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
              },
            }),
          j.sm_m
        );
      }
      static MBF() {
        return j.sm_mbf || (j.sm_mbf = r.e(j.M())), j.sm_mbf;
      }
      toObject(e = !1) {
        return j.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(j.M(), e, t);
      }
      static fromObject(e) {
        return r.c(j.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new j();
        return j.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(j.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(j.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CSteamDeckCompatibility_ShouldPrompt_Response";
      }
    }
    class A extends i {
      constructor(e = null) {
        super(),
          A.prototype.preferences || r.a(A.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          A.sm_m ||
            (A.sm_m = {
              proto: A,
              fields: {
                preferences: { n: 1, c: E },
                tag_preferences: { n: 2, c: C },
                content_descriptor_preferences: { n: 3, c: B },
              },
            }),
          A.sm_m
        );
      }
      static MBF() {
        return A.sm_mbf || (A.sm_mbf = r.e(A.M())), A.sm_mbf;
      }
      toObject(e = !1) {
        return A.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(A.M(), e, t);
      }
      static fromObject(e) {
        return r.c(A.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new A();
        return A.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(A.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(A.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CStore_StorePreferencesChanged_Notification";
      }
    }
    var k, M;
    !(function (e) {
      (e.RegisterCDKey = function (e, t) {
        return e.SendMsg("Store.RegisterCDKey#1", t, l, { ePrivilege: 1 });
      }),
        (e.GetMostPopularTags = function (e, t) {
          return e.SendMsg("Store.GetMostPopularTags#1", t, c, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetLocalizedNameForTags = function (e, t) {
          return e.SendMsg("Store.GetLocalizedNameForTags#1", t, m, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetDiscoveryQueue = function (e, t) {
          return e.SendMsg("Store.GetDiscoveryQueue#1", t, g, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetDiscoveryQueueSettings = function (e, t) {
          return e.SendMsg("Store.GetDiscoveryQueueSettings#1", t, b, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.SkipDiscoveryQueueItem = function (e, t) {
          return e.SendMsg("Store.SkipDiscoveryQueueItem#1", t, v, {
            ePrivilege: 1,
          });
        }),
        (e.GetUserGameInterestState = function (e, t) {
          return e.SendMsg("Store.GetUserGameInterestState#1", t, S, {
            ePrivilege: 1,
          });
        }),
        (e.GetStorePreferences = function (e, t) {
          return e.SendMsg("Store.GetStorePreferences#1", t, D, {
            ePrivilege: 1,
          });
        }),
        (e.GetTrendingAppsAmongFriends = function (e, t) {
          return e.SendMsg("Store.GetTrendingAppsAmongFriends#1", t, I, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.SetCompatibilityFeedback = function (e, t) {
          return e.SendMsg("Store.SetCompatibilityFeedback#1", t, R, {
            ePrivilege: 1,
          });
        }),
        (e.ShouldPromptForCompatibilityFeedback = function (e, t) {
          return e.SendMsg(
            "Store.ShouldPromptForCompatibilityFeedback#1",
            t,
            j,
            { ePrivilege: 1 },
          );
        });
    })(k || (k = {})),
      (function (e) {
        e.NotifyStorePreferencesChangedHandler = {
          name: "StoreClient.NotifyStorePreferencesChanged#1",
          request: A,
        };
      })(M || (M = {}));
  },
  XL31: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = n("l1Mn"),
      s = n("x0JQ"),
      o = n.n(s);
    class l extends r.a.PureComponent {
      constructor(e) {
        super(e);
      }
      AddSizeClass(e) {
        "small" == this.props.size
          ? e.push(o.a.throbber_small)
          : "medium" == this.props.size
            ? e.push(o.a.throbber_medium)
            : "xlarge" == this.props.size
              ? e.push(o.a.throbber_xlarge)
              : "xxlarge" == this.props.size
                ? e.push(o.a.throbber_xxlarge)
                : e.push(o.a.throbber_large);
      }
      render() {
        let e = [o.a.LoadingWrapper, "SteamLogoThrobber"];
        this.AddSizeClass(e),
          void 0 === this.props.string && e.push(o.a.noString),
          this.props.className && e.push(this.props.className),
          this.props.static && e.push(o.a.Static);
        let t = r.a.createElement(
          "div",
          { className: e.join(" ") },
          r.a.createElement(
            "div",
            { className: o.a.Throbber },
            r.a.createElement(i.nb, { className: o.a.base }),
            r.a.createElement(i.nb, { className: o.a.blur }),
          ),
        );
        return r.a.createElement(
          "div",
          {
            className:
              "center" == this.props.position
                ? o.a.throbber_center_wrapper
                : "",
          },
          t,
          Boolean(this.props.string) &&
            r.a.createElement(
              "div",
              { className: o.a.ThrobberText },
              this.props.string,
            ),
        );
      }
    }
  },
  XLxW: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("hHds"),
      s = n("KT6v");
    class o extends r.Component {
      constructor() {
        super(...arguments),
          (this.m_observer = null),
          (this.m_refElement = r.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 &&
          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.m_observer = new IntersectionObserver(
              this.OnIntersection,
              e,
            ));
        }
        this.m_observer &&
          t &&
          t != this.m_elTracked &&
          (this.m_observer.observe(t), (this.m_elTracked = t));
      }
      FindScrollableAncestor(e) {
        return i.l(e, (e) => {
          const t = this.props.bHorizontal
            ? window.getComputedStyle(e).overflowX
            : window.getComputedStyle(e).overflowY;
          return (
            "scroll" == t ||
            "auto" == t ||
            !!e.classList.contains(o.GetScrollableClassname())
          );
        });
      }
      OnIntersection(e, t) {
        let n = !1;
        for (const t of e)
          if (t.isIntersecting) {
            n = !0;
            break;
          }
        this.m_bPreviouslyIntersecting != n &&
          ((this.m_bPreviouslyIntersecting = n),
          this.props.onVisibilityChange && this.props.onVisibilityChange(n),
          n && this.BTriggerOnce() && this.DestroyObserver());
      }
      render() {
        let e = this.props,
          {
            onVisibilityChange: t,
            rootMargin: n,
            trigger: i,
            bHorizontal: s,
          } = e,
          o = Object(a.c)(e, [
            "onVisibilityChange",
            "rootMargin",
            "trigger",
            "bHorizontal",
          ]);
        return r.createElement(
          "div",
          Object.assign({ ref: this.m_refElement }, o),
          this.props.children,
        );
      }
    }
    Object(a.b)([s.b], o.prototype, "OnIntersection", null);
  },
  XPBy: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return r;
    }),
      n.d(t, "a", function () {
        return i;
      });
    var a = n("CqJL");
    function r(e, t, n, r) {
      let i = t;
      i =
        "number" == typeof i
          ? {
              nDigitsAfterDecimal: t,
              bUseBinary1K: n || void 0 === n,
              bValueIsInBytes: !r,
              bValueIsRate: r,
              nMinimumDigitsAfterDecimal: 0,
            }
          : Object.assign(
              {
                nDigitsAfterDecimal: 2,
                bUseBinary1K: !0,
                bValueIsInBytes: !0,
                bValueIsRate: !1,
                nMinimumDigitsAfterDecimal: 0,
              },
              i,
            );
      const s = i.bUseBinary1K ? 1024 : 1e3,
        o = s * s,
        l = o * s,
        c = l * s;
      let d,
        u = "";
      e > c
        ? ((d = e / c), (u = "Tera"))
        : e > l
          ? ((d = e / l), (u = "Giga"))
          : e > o
            ? ((d = e / o), (u = "Mega"))
            : e > s
              ? ((d = e / s), (u = "Kilo"))
              : (d = e);
      const m =
        "#" +
        u +
        (i.bValueIsInBytes ? "bytes" : "bits") +
        (i.bValueIsRate ? "_PerSecond" : "");
      return Object(a.f)(
        m,
        d.toLocaleString(a.e.GetPreferredLocales(), {
          minimumFractionDigits: i.nMinimumDigitsAfterDecimal,
          maximumFractionDigits: i.nDigitsAfterDecimal,
        }),
      );
    }
    function i(e) {
      return e.toLocaleString(a.e.GetPreferredLocales());
    }
  },
  XUgT: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return r;
      }),
      n.d(t, "c", function () {
        return l;
      });
    var a,
      r,
      i = n("+h+B");
    class s {
      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 n = () => {
            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
            ? n()
            : (this.m_ActiveInputTimeout = window.setTimeout(() => {
                t(), n();
              }, this.m_config.firstRepeatInterval_ms));
        }
      }
    }
    class o {
      constructor(e) {
        (this.m_config = e), (this.m_inputRepeatGenerator = new s(e));
      }
      Reset() {
        this.m_inputRepeatGenerator.Reset();
      }
      HandleInputButtonDown(e, t) {
        this.m_config.inputsThatRepeat.has(e)
          ? this.m_inputRepeatGenerator.HandleInputButtonDown(e, t)
          : this.m_inputRepeatGenerator.Reset();
      }
      HandleInputButtonUp(e) {
        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");
    })(a || (a = {})),
      (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");
      })(r || (r = {}));
    class l {
      constructor() {
        (this.m_OnGamepadDetectedCallbacks = new i.a()),
          (this.m_ButtonDownCallbacks = new i.a()),
          (this.m_ButtonUpCallbacks = new i.a()),
          (this.m_AnalogCallbacks = new i.a()),
          (this.m_NavigationTypeChangeCallbacks = new i.a()),
          (this.m_nLastActiveControllerIndex = -1),
          (this.m_ButtonRepeatHandler = new o({
            inputsThatRepeat: new Set([
              a.DIR_UP,
              a.DIR_DOWN,
              a.DIR_LEFT,
              a.DIR_RIGHT,
            ]),
            firstRepeatInterval_ms: 500,
            repeatInterval_ms: 125,
          })),
          (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;
      }
      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.DispatchButtonDown(e),
          this.m_ButtonRepeatHandler.HandleInputButtonDown(e, () =>
            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, n, a) {
        void 0 === a && (a = -1),
          this.SetControllerActive(a),
          this.m_AnalogCallbacks.Dispatch(
            e,
            this.m_nLastActiveControllerIndex,
            t,
            n,
          );
      }
      OnNavigationTypeChanged(e) {
        this.m_NavigationTypeChangeCallbacks.Dispatch(e);
      }
    }
  },
  Xidl: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUQ5NEMwOTYzRDc4MTFFQUExREZEODRBMDBCNjdENTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUQ5NEMwOTczRDc4MTFFQUExREZEODRBMDBCNjdENTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBRDk0QzA5NDNENzgxMUVBQTFERkQ4NEEwMEI2N0Q1MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBRDk0QzA5NTNENzgxMUVBQTFERkQ4NEEwMEI2N0Q1MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po/TXacAAABMSURBVHjaYvz//z8DNQHjyDMQDICGJgDx3f/kA5DeBJhh8f+pB+JBXr4DNFeZSp69CzLwP7UjZdTAkWAgVdMh1XMK1fPyCCwPAQIMAKf/Y+3dveJlAAAAAElFTkSuQmCC";
  },
  XuA8: function (e, t, n) {
    e.exports = { Main: "basicpartnereventrender_Main_LnN39" };
  },
  YFBH: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return r;
    });
    var a = n("mrSG");
    function r(e) {
      const {
        onEnterKeyPress: t,
        strEnterKeyLabel: n,
        onKeyboardNavOut: r,
        onKeyboardShow: i,
        onKeyboardFullyVisible: s,
        onTextEntered: o,
        BIsElementValidForInput: l,
      } = e;
      return {
        virtualKeyboardProps: {
          onEnterKeyPress: t,
          strEnterKeyLabel: n,
          onKeyboardNavOut: r,
          onKeyboardShow: i,
          onKeyboardFullyVisible: s,
          onTextEntered: o,
          BIsElementValidForInput: l,
        },
        props: Object(a.c)(e, [
          "onEnterKeyPress",
          "strEnterKeyLabel",
          "onKeyboardNavOut",
          "onKeyboardShow",
          "onKeyboardFullyVisible",
          "onTextEntered",
          "BIsElementValidForInput",
        ]),
      };
    }
  },
  YIYq: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return d;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = (n("5VAZ"), n("RYKw"), n("xSFm")),
      s = n("OJUs"),
      o = n("aaBf"),
      l = n("yd9a"),
      c = n.n(l);
    function d(e) {
      const { appInfo: t } = e,
        n = Object(a.useRef)({ include_trailers: !0 }),
        [l] = Object(s.a)(
          null == t ? void 0 : t.id,
          Object(i.j)(null == t ? void 0 : t.type),
          n.current,
        );
      if (!l) return null;
      const d = l.GetMicroTrailer();
      return d
        ? r.a.createElement(
            "video",
            {
              className: c.a.CapsuleMicroTrailer,
              loop: !0,
              muted: !0,
              autoPlay: !0,
              key: "mtv-" + d.strMP4URL,
            },
            r.a.createElement("source", {
              src: d.strWebMURL,
              type: "video/webm",
            }),
            !o.c.IN_CLIENT &&
              r.a.createElement("source", {
                src: d.strMP4URL,
                type: "video/mp4",
              }),
          )
        : null;
    }
  },
  YP3x: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    }),
      n.d(t, "e", function () {
        return h;
      }),
      n.d(t, "c", function () {
        return _;
      }),
      n.d(t, "d", function () {
        return g;
      }),
      n.d(t, "b", function () {
        return b;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = (n("Q8oI"), n("y6Yv")),
      o = (n("Wiwi"), n("XGRy")),
      l = n("EVHR"),
      c = n("fvA7"),
      d = n("D6PB"),
      u = n("KT6v"),
      m = n("aaBf");
    class p {
      constructor() {
        (this.m_mapTagID = new Map()),
          (this.m_setTagIDFailedToLoad = new Set()),
          (this.m_mapPromies = new Map()),
          (this.m_SteamInterface = null),
          (this.m_setPendingTagRequest = new Set()),
          (this.m_PendingTimer = void 0),
          (this.k_nMaxBatchRequestSize = 100),
          (this.k_nMaxQueueSize = 100),
          (this.k_nQueueWaitUntilRequestMS = 40);
      }
      BHasTagID(e) {
        return this.m_mapTagID.has(e);
      }
      GetTagID(e) {
        return this.m_mapTagID.get(e);
      }
      GetAllTagIDsWeHaveLoaded(e) {
        return e ? e.map((e) => this.m_mapTagID.get(e)).filter(Boolean) : [];
      }
      FilterToUnprocessedTags(e) {
        return e
          ? e.filter(
              (e) =>
                !this.m_mapTagID.has(e) && !this.m_setTagIDFailedToLoad.has(e),
            )
          : [];
      }
      QueueTagLoad(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.BHasTagID(e)) return Promise.resolve(1);
          if (this.m_setTagIDFailedToLoad.has(e)) return Promise.resolve(42);
          this.m_PendingInfoPromise ||
            ((this.m_PendingInfoPromise = new Promise(
              (e) => (this.m_PendingInfoResolve = e),
            )),
            (this.m_PendingTimer = window.setTimeout(
              () => this.FlushPendingInfo(),
              this.k_nQueueWaitUntilRequestMS,
            ))),
            this.m_setPendingTagRequest.add(e);
          const t = this.m_PendingInfoPromise;
          return (
            this.m_setPendingTagRequest.size >= this.k_nMaxQueueSize &&
              (this.m_PendingTimer && window.clearTimeout(this.m_PendingTimer),
              this.FlushPendingInfo()),
            t
          );
        });
      }
      QueueMultipleTagLoads(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          e = this.FilterToUnprocessedTags(e);
          const t = (yield Promise.all(
            e.map((e) => this.QueueTagLoad(e)),
          )).filter((e) => 1 != e);
          return t.length > 0 ? t[0] : 1;
        });
      }
      FlushPendingInfo() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = this.m_PendingInfoResolve,
            t = Array.from(this.m_setPendingTagRequest);
          (this.m_PendingInfoPromise = void 0),
            (this.m_PendingInfoResolve = void 0),
            this.m_setPendingTagRequest.clear(),
            (this.m_PendingTimer = void 0),
            this.InternalLoadLocalizedTagNames(t).then((t) => e(t));
        });
      }
      InternalLoadLocalizedTagNames(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            (Object(c.a)(
              Boolean(this.m_SteamInterface),
              "CStoreTagCache being used without being initialized.",
            ),
            !this.m_SteamInterface)
          )
            return 11;
          e = e.filter((e) => !this.BHasTagID(e));
          const t = new Set();
          for (
            (e = e.filter((e) => {
              const n = this.m_mapPromies.get(e);
              return !n || (t.add(n), !1);
            })).sort();
            e.length > 0;
          ) {
            const t = Math.min(this.k_nMaxBatchRequestSize, e.length),
              n = e.slice(0, t);
            e = e.slice(t);
            const a = s.b.Init(o.b);
            a.Body().set_language(m.c.LANGUAGE), a.Body().set_tagids(n);
            try {
              const e = yield o.d.GetLocalizedNameForTags(
                this.m_SteamInterface.GetAnonymousServiceTransport(),
                a,
              );
              if (1 != e.GetEResult())
                return (
                  n.forEach(this.m_setTagIDFailedToLoad.add),
                  console.error(
                    "CStoreTagCache::InternalLoadLocalizedTagNames failed with eResults: " +
                      e.GetEResult() +
                      " msg " +
                      e.GetEMsg(),
                    n,
                  ),
                  e.GetEResult()
                );
              e.Body()
                .tags()
                .forEach((e) => this.m_mapTagID.set(e.tagid(), e.toObject()));
            } catch (e) {
              n.forEach(this.m_setTagIDFailedToLoad.add);
              const t = Object(d.a)(e);
              return (
                console.error(
                  "CStoreTagCache::InternalLoadLocalizedTagNames failed: " +
                    t.strErrorMsg,
                  t,
                ),
                79
              );
            }
          }
          const n = (yield Promise.all(Array.from(t))).filter((e) => 1 != e);
          return n.length > 0 ? n[0] : 1;
        });
      }
      static Get() {
        return (
          p.s_Singleton ||
            ((p.s_Singleton = new p()),
            p.s_Singleton.Init(),
            "dev" == m.c.WEB_UNIVERSE &&
              (window.g_StoreTagCache = p.s_Singleton)),
          p.s_Singleton
        );
      }
      Init() {
        let e = Object(m.h)("localizedstoretag", "application_config");
        this.ValidateStoreDefault(e) &&
          e.forEach((e) => this.m_mapTagID.set(e.tagid, e));
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].name &&
          "number" == typeof t[0].tagid
        );
      }
      static Initialize(e) {
        p.Get().m_SteamInterface = e;
      }
      static BIsInitialized() {
        return Boolean(p.Get().m_SteamInterface);
      }
    }
    function h(e) {
      var t;
      const [n, a] = i.a.useState(p.Get().GetTagID(e)),
        r = Object(l.a)("useSingleLocalizedTagName");
      return (
        i.a.useEffect(() => {
          (n && n.tagid == e) ||
            p
              .Get()
              .QueueTagLoad(e)
              .then(() => {
                var t;
                const n = p.Get().GetTagID(e);
                n &&
                  ((null === (t = null == r ? void 0 : r.token) || void 0 === t
                    ? void 0
                    : t.reason) ||
                    a(n));
              });
        }, [
          e,
          n,
          null === (t = null == r ? void 0 : r.token) || void 0 === t
            ? void 0
            : t.reason,
        ]),
        n
      );
    }
    function _(e) {
      var t;
      const [n, a] = i.a.useState(p.Get().GetAllTagIDsWeHaveLoaded(e)),
        r = Object(l.a)("useLocalizeTagNames");
      return (
        i.a.useEffect(() => {
          p.Get()
            .QueueMultipleTagLoads(e)
            .then(() => {
              var t;
              (null === (t = null == r ? void 0 : r.token) || void 0 === t
                ? void 0
                : t.reason) || a(p.Get().GetAllTagIDsWeHaveLoaded(e));
            });
        }, [
          null === (t = null == r ? void 0 : r.token) || void 0 === t
            ? void 0
            : t.reason,
          e,
        ]),
        n
      );
    }
    function g() {
      return { fnQueueMultipleTagLoads: p.Get().QueueMultipleTagLoads };
    }
    function b() {
      return { fnGetTagID: p.Get().GetTagID };
    }
    Object(a.b)([u.b], p.prototype, "GetTagID", null),
      Object(a.b)([u.b], p.prototype, "QueueMultipleTagLoads", null);
  },
  YTDw: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return o;
    }),
      n.d(t, "a", function () {
        return l;
      });
    var a = n("aaBf"),
      r = (n("2vnA"), n("bSVv"), n("My6o")),
      i = (n("HgJB"), n("A/LU"), n("fvA7"));
    const s = "061818254b2c99ac49e6626adb128ed1282a392f",
      o = 120;
    class l {
      constructor(e) {
        (this.m_bInitialized = !1), (this.m_unAppID = e);
      }
      get appid() {
        return this.m_unAppID;
      }
      get is_initialized() {
        return this.m_bInitialized;
      }
      get is_valid() {
        return this.m_bInitialized && !!this.m_strName;
      }
      get name() {
        return this.m_strName;
      }
      get header_image_url() {
        return a.c.MEDIA_CDN_URL + `steam/apps/${this.m_unAppID}/header.jpg`;
      }
      get icon_url_no_default() {
        return this.m_strIconURL && this.BuildAppURL(this.m_strIconURL, s);
      }
      get icon_url() {
        return this.BuildAppURL(this.m_strIconURL, s);
      }
      get logo_url() {
        return (
          a.c.MEDIA_CDN_URL + `steam/apps/${this.m_unAppID}/capsule_231x87.jpg`
        );
      }
      get time_updated_from_server() {
        return this.m_dtUpdatedFromServer;
      }
      get apptype() {
        return this.m_eAppType;
      }
      BIsApplicationOrTool() {
        return 4 == this.apptype || 2 == this.apptype;
      }
      BuildAppURL(e, t) {
        return e
          ? a.c.MEDIA_CDN_COMMUNITY_URL +
              "images/apps/" +
              this.appid +
              "/" +
              e +
              ".jpg"
          : Object(r.a)(t);
      }
      DeserializeFromMessage(e) {
        (this.m_bInitialized = !0),
          (this.m_strName = e.name()),
          (this.m_strIconURL = e.icon()),
          (this.m_dtUpdatedFromServer = new Date()),
          (this.m_eAppType = e.app_type());
      }
      DeserializeFromAppOverview(e) {
        e.icon_hash() && 1073741824 != e.app_type()
          ? ((this.m_bInitialized = !0),
            (this.m_strName = e.display_name()),
            (this.m_strIconURL = e.icon_hash()),
            (this.m_dtUpdatedFromServer = new Date()),
            (this.m_eAppType = e.app_type()))
          : (this.m_bInitialized = !1);
      }
      DeserializeFromCacheObject(e) {
        try {
          (this.m_strName = e.strName),
            (this.m_strIconURL = e.strIconURL),
            (this.m_dtUpdatedFromServer = new Date(e.strUpdatedFromServer)),
            (this.m_eAppType = e.eAppType),
            (this.m_bInitialized = !0);
        } catch (e) {}
      }
      SerializeToCacheObject() {
        return (
          Object(i.a)(
            this.m_bInitialized,
            "Attempting to serialize an uninitialized AppInfo object for caching!",
          ),
          this.m_bInitialized
            ? {
                strName: this.m_strName,
                strIconURL: this.m_strIconURL,
                strUpdatedFromServer: this.m_dtUpdatedFromServer.toJSON(),
                eAppType: this.m_eAppType,
              }
            : null
        );
      }
    }
  },
  YYBh: function (e, t, n) {
    e.exports = {
      Instructions: "discountimportexport_Instructions_3XzkB",
      ChoiceSeparator: "discountimportexport_ChoiceSeparator_2MThy",
      ButtonRows: "discountimportexport_ButtonRows_36Y-t",
      Button: "discountimportexport_Button_how9a",
      ImportButtonLabel: "discountimportexport_ImportButtonLabel_MoV1b",
      OptionCtn: "discountimportexport_OptionCtn_18v_k",
      OptionDesc: "discountimportexport_OptionDesc_307U-",
      ParseResultCount: "discountimportexport_ParseResultCount_3wac_",
      ErrorHeader: "discountimportexport_ErrorHeader_bh1JB",
      ParseErrors: "discountimportexport_ParseErrors_2sHaV",
    };
  },
  YbCq: function (e, t, n) {
    e.exports = {
      YoutubePreviewImage: "youtubepreviewimage_YoutubePreviewImage_1hcla",
      YoutubePlayer: "youtubepreviewimage_YoutubePlayer_2mERw",
    };
  },
  Yl2M: function (e, t, n) {
    e.exports = {
      "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_",
      SliderControlWithIcon: "gamepadslider_SliderControlWithIcon_1KisM",
      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",
      EditableValueSuffix: "gamepadslider_EditableValueSuffix_1lSH8",
      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",
    };
  },
  "Yr+Q": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a = n("mrSG"),
      r = n("nJCB"),
      i = n("aaBf"),
      s = n("fbBP"),
      o = n("by5a");
    class l {
      constructor() {
        (this.m_mapAppToSNRs = new Map()), (this.m_rgImpressionsToAdd = []);
      }
      AddImpression(e, t) {
        let n = !1;
        r.a.Get().BAppImpressionsAllowed()
          ? (this.m_mapAppToSNRs.has(e)
              ? -1 == this.m_mapAppToSNRs.get(e).indexOf(t) &&
                (this.m_mapAppToSNRs.get(e).push(t), (n = !0))
              : (this.m_mapAppToSNRs.set(e, [t]), (n = !0)),
            n &&
              (this.m_rgImpressionsToAdd.push(`${e}@${t}`),
              this.UpdateCookie()))
          : "dev" === i.c.WEB_UNIVERSE &&
            console.log("Cookie Prefs: Not allowing App Impressions");
      }
      UpdateCookie() {
        const e = [
          Object(s.b)("app_impressions") || "",
          ...this.m_rgImpressionsToAdd,
        ].join("|");
        this.m_rgImpressionsToAdd = [];
        encodeURIComponent(e).length <= 3200 &&
          Object(s.c)("app_impressions", e);
      }
    }
    Object(a.b)([Object(o.a)(1e3)], l.prototype, "UpdateCookie", null);
    const c = new l();
    window.g_ImpressionTracker = c;
  },
  Z0Jo: function (e, t, n) {
    e.exports = {
      Container: "community_event_Container_2BtrR",
      CarouselItems: "community_event_CarouselItems_3fyQn",
      AgendaImageCtn: "community_event_AgendaImageCtn_1lXps",
      AgendaScreenshot: "community_event_AgendaScreenshot_2aQwD",
      RightColumn: "community_event_RightColumn_2QhM2",
      BubbleCtn: "community_event_BubbleCtn_qsPWX",
      BubbleTitle: "community_event_BubbleTitle_3UgE-",
      AgendaDescCtn: "community_event_AgendaDescCtn_3CQOc",
      SpeakersListContainer: "community_event_SpeakersListContainer_fH1Pm",
      SpeakerContainer: "community_event_SpeakerContainer_F7sNs",
      SpeakerBio: "community_event_SpeakerBio_3dsM-",
      SpeakerTitle: "community_event_SpeakerTitle_1MzgM",
    };
  },
  Z7xW: function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return h;
    }),
      n.d(t, "a", function () {
        return _;
      }),
      n.d(t, "b", function () {
        return g;
      }),
      n.d(t, "c", function () {
        return f;
      }),
      n.d(t, "f", function () {
        return v;
      }),
      n.d(t, "e", function () {
        return S;
      }),
      n.d(t, "g", function () {
        return y;
      });
    var a = n("mrSG"),
      r = n("A5uu"),
      i = n("vDqi"),
      s = n.n(i),
      o = n("2vnA"),
      l = (n("AQa9"), n("ubWN"), n("5VAZ"), n("hc+a")),
      c = (n("4Dd6"), n("VRwc")),
      d = n("DAjO"),
      u = n("yS5A"),
      m = n("D6PB"),
      p = n("aaBf");
    n("0rDd");
    function h(e) {
      return Boolean(e && e.thumbnail_http_address);
    }
    class _ {
      constructor() {
        (this.m_inFlightRequests = new Map()),
          (this.m_lookupKeyToEmbedStreamDef = new Map()),
          (this.m_lookupStreams = new Map()),
          (this.m_playReadyStream = new Map()),
          (this.m_bMapHasStartedVideo = new Map()),
          (this.m_mapBroadcastChecked = new Map()),
          (this.m_pageChatStatus = "hide"),
          (this.m_streamChatStatus = "hide"),
          (this.m_bUserChatExpanded = void 0),
          (this.m_bUserPreferenceHideBroadcastByDefault = void 0),
          (this.m_bCollapsed = void 0),
          (this.m_setStreamChangedListeners = new Set()),
          (this.m_bUseFakeData = !1);
      }
      BHasStreams(e) {
        const t = this.GetStreams(e);
        return Boolean(t && t.length > 0);
      }
      GetPlayReadyStream(e) {
        let t = this.GetStreamsLookupKeyFromDef(e);
        return this.m_playReadyStream.get(t);
      }
      BIsEmbeddedBroadcastHiddenByDefaultUserSettings() {
        return Boolean(this.m_bUserPreferenceHideBroadcastByDefault);
      }
      BIsEmbeddedStreamCollapsed() {
        return Boolean(this.m_bCollapsed);
      }
      SetEmbeddedStreamCollapsed(e) {
        this.m_bCollapsed != e && (this.m_bCollapsed = e);
      }
      GetConcurrentStreams(e) {
        const t = this.GetStreams(e);
        return t ? t.filter((e) => h(e)).length : 0;
      }
      GetChatVisibility() {
        return "remove" === this.m_pageChatStatus ||
          "remove" === this.m_streamChatStatus
          ? "remove"
          : void 0 !== this.m_bUserChatExpanded
            ? this.m_bUserChatExpanded
              ? "show"
              : "hide"
            : "show" === this.m_pageChatStatus
              ? "show"
              : "hide" === this.m_pageChatStatus ||
                  "hide" === this.m_streamChatStatus
                ? "hide"
                : "show";
      }
      ToggleChatVisibility() {
        const e = this.GetChatVisibility();
        "remove" !== e && (this.m_bUserChatExpanded = "hide" === e);
      }
      GetStreams(e) {
        const t = this.GetStreamsLookupKeyFromDef(e);
        return this.m_lookupStreams.get(t);
      }
      GetBroadcastURL(e) {
        let t = null;
        return (
          (t = e.steamid
            ? new l.a(e.steamid)
            : l.a.InitFromAccountID(e.accountid)),
          p.c.COMMUNITY_BASE_URL + "broadcast/watch/" + t.ConvertTo64BitString()
        );
      }
      BIsAppStreaming(e) {
        let t = !1;
        return (
          this.m_lookupStreams.forEach((n) => {
            t ||
              (t =
                Boolean(n) &&
                n.some(
                  (t) => c.a.GetOrCreateBroadcastInfo(t.steamid).m_nAppID === e,
                ));
          }),
          t
        );
      }
      GetStreamsForAppID(e) {
        const t = new Array();
        return (
          this.m_lookupStreams.forEach((n) => {
            null == n ||
              n.forEach((n) => {
                c.a.GetOrCreateBroadcastInfo(n.steamid).m_nAppID === e &&
                  t.push(n);
              });
          }),
          t
        );
      }
      AddStreamChangedListener(e) {
        this.m_setStreamChangedListeners.add(e);
      }
      RemoveStreamChangedListener(e) {
        this.m_setStreamChangedListeners.delete(e);
      }
      LoadBIsEmbeddedBroadcastHidden(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (void 0 === this.m_bUserPreferenceHideBroadcastByDefault) {
            let t = Object(p.g)("broadcastuser", "application_config");
            if (!t)
              try {
                let n =
                    p.c.STORE_BASE_URL +
                    "broadcast/ajaxgetuserbroadcastpreferences",
                  a = yield s.a.get(n, { params: {}, cancelToken: e.token });
                t = a.data;
              } catch (e) {
                console.log(
                  "LoadBIsEmbeddedBroadcastHidden: " +
                    Object(m.a)(e).strErrorMsg,
                ),
                  (t = { bHideStoreBroadcast: !1 });
              }
            Object(o.G)(() => {
              (this.m_bUserPreferenceHideBroadcastByDefault =
                t.bHideStoreBroadcast),
                (this.m_bCollapsed = t.bHideStoreBroadcast);
            });
          }
          return this.m_bUserPreferenceHideBroadcastByDefault;
        });
      }
      SetupEmbeddableVOD(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_bUseFakeData = !1),
            (this.m_streamChatStatus = "remove"),
            yield r.a
              .Get()
              .QueueAppRequest(e.nAppIDVOD, {
                include_assets: !0,
                include_trailers: !0,
              });
          const n = r.a.Get().GetApp(e.nAppIDVOD),
            a = new b();
          if (
            ((a.accountid = 0),
            (a.nAppIDVOD = e.nAppIDVOD),
            (a.default_selection_priority = g.k_ePrimary),
            (a.current_selection_priority = g.k_ePrimary),
            (a.thumbnail_http_address =
              (null == n ? void 0 : n.GetAssets().GetHeaderURL()) || ""),
            (a.title = (null == n ? void 0 : n.GetName()) || ""),
            this.GetStreams(e).unshift(a),
            t)
          ) {
            const t = this.GetStreamsLookupKeyFromDef(e);
            this.m_playReadyStream.set(t, a);
          }
        });
      }
      HintLoadEmbeddablePreviewStreams(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = null,
            n = {
              eventid: e.event ? e.event.GID : void 0,
              previewAccounts: Boolean(e.bIsPreview && e.accountIDs)
                ? e.accountIDs.slice().sort().join(",")
                : void 0,
            };
          try {
            return (
              (t = yield s.a.get(
                p.c.STORE_BASE_URL + "broadcast/ajaxgetstreamersforpreview",
                { params: n },
              )),
              this.HandleHintLoadBroadcastResponse(e, t.data)
            );
          } catch (e) {
            let t = Object(m.a)(e);
            console.error(
              "HintLoadEmbeddablePreviewStreams hit error loading: " +
                t.strErrorMsg,
              t,
            );
          }
          return [];
        });
      }
      HintLoadEmbeddableStreams(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = this.MapEmbeddableStreamToRequest(e),
            n = this.GetStreamsLookupKeyFromParam(t);
          if (!this.m_inFlightRequests.has(n)) {
            this.m_lookupKeyToEmbedStreamDef.set(n, e);
            const a = this.InternalHintLoadEmbeddableStreams(e, t);
            this.m_inFlightRequests.set(n, a);
          }
          return this.m_inFlightRequests.get(n);
        });
      }
      ValidateBroadcastPageStreamers(e) {
        const t = e;
        return (
          !!(
            t &&
            "number" == typeof t.success &&
            t.filtered &&
            Array.isArray(t.filtered) &&
            t.broadcast_chat_visibility
          ) &&
          (0 == t.filtered.length || "string" == typeof t.filtered[0].accountid)
        );
      }
      InternalHintLoadEmbeddableStreams(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = Object(p.g)(
            "broadcast_available_for_page",
            "application_config",
          );
          if (this.ValidateBroadcastPageStreamers(n))
            return this.HandleHintLoadBroadcastResponse(e, n);
          try {
            let n = null;
            return (
              (n = yield s.a.get(
                p.c.STORE_BASE_URL + "broadcast/ajaxgetstreamersforpage",
                { params: t },
              )),
              this.HandleHintLoadBroadcastResponse(e, n.data)
            );
          } catch (e) {
            let t = Object(m.a)(e);
            console.error(
              "HintLoadEmbeddableStreams hit error loading: " + t.strErrorMsg,
              t,
            );
          }
          return [];
        });
      }
      HandleHintLoadBroadcastResponse(e, t) {
        var n;
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_bUseFakeData = !1),
            e.bIsPreview &&
              ((null === (n = null == t ? void 0 : t.filtered) || void 0 === n
                ? void 0
                : n.length) > 0
                ? this.ExtractBroadcastPrioritiesFromPartnerEventForPreview(
                    e.event,
                    t.filtered,
                  )
                : ((t = {
                    filtered: [{}],
                    success: 1,
                    total_count: 1,
                    err_msg: "",
                    broadcast_chat_visibility: "hide",
                  }),
                  (this.m_bUseFakeData = !0))),
            t.broadcast_chat_visibility &&
              (this.m_pageChatStatus = t.broadcast_chat_visibility);
          const a = new Array();
          Object(o.G)(() => {
            t.filtered.forEach((e) => {
              if (!e.steamid) {
                const t = l.a.InitFromAccountID(e.accountid);
                e.steamid = t.ConvertTo64BitString();
              }
              const t = c.a.GetOrCreateBroadcastInfo(e.steamid),
                n = e.appid ? Number(e.appid) : c.d;
              (t.m_nAppID = n),
                (t.m_strAppId = "" + n),
                void 0 === e.current_selection_priority &&
                  (e.current_selection_priority = e.default_selection_priority),
                n != c.d && a.push(n);
            });
          }),
            this.m_lookupStreams.set(
              this.GetStreamsLookupKeyFromDef(e),
              t.filtered,
            );
          const r = this.GetStreams(e);
          return yield this.AutoStartVideoStream(e, r), r;
        });
      }
      ExtractBroadcastPrioritiesFromPartnerEventForPreview(e, t) {
        var n, a;
        const r = Array.from(
            null !== (n = e.jsondata.broadcast_whitelist) && void 0 !== n
              ? n
              : [],
          ),
          i = Array.from(
            null !== (a = e.jsondata.broadcast_priority) && void 0 !== a
              ? a
              : [],
          ),
          s = new Map();
        for (let e = 0; e < r.length && !(e >= i.length); e++)
          switch (i[e]) {
            case "primary":
              s.set(r[e], g.k_ePrimary);
              break;
            case "featured":
              s.set(r[e], g.k_eFeatured);
              break;
            case "default_featured":
              s.set(r[e], g.k_eDefaultFeatured);
              break;
            default:
              s.set(r[e], g.k_eGeneral);
          }
        t.forEach((e) => {
          const t = Number(e.accountid);
          s.has(t) && (e.current_selection_priority = s.get(t));
        });
      }
      AutoStartVideoStream(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = this.GetStreamsLookupKeyFromDef(e);
          if (this.m_bMapHasStartedVideo.get(n)) return null;
          if (this.m_bUseFakeData) {
            if (!this.m_playReadyStream.get(n)) {
              const e = {
                accountid: 0,
                thumbnail_http_address: "",
                default_selection_priority: g.k_eGeneral,
                current_selection_priority: g.k_eGeneral,
              };
              this.m_playReadyStream.set(n, e);
            }
            return this.m_playReadyStream;
          }
          const a = new Set();
          for (;;) {
            const n = t.filter((e) => !a.has(e)),
              r = this.GetAutoStartStream(n);
            if (!r) return null;
            if (yield this.AttemptToPlayStream(e, r)) return r;
            a.add(r);
          }
        });
      }
      AttemptToPlayStream(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = this.GetStreamsLookupKeyFromDef(e);
          if (
            (this.m_bMapHasStartedVideo.set(n, !0),
            this.m_mapBroadcastChecked.has(t.accountid) ||
              this.m_mapBroadcastChecked.set(
                t.accountid,
                this.InternalAttemptToPlayStream(e, t),
              ),
            t.nAppIDVOD)
          )
            this.m_playReadyStream.set(n, t);
          else {
            const a = yield this.m_mapBroadcastChecked.get(t.accountid);
            if (1 != (null == a ? void 0 : a.success)) return null;
            (t.steamid = a.steamid),
              this.m_playReadyStream.set(n, t),
              this.GetConcurrentStreams(e) > 1
                ? (this.m_streamChatStatus = "hide")
                : (this.m_streamChatStatus = t.broadcast_chat_visibility),
              this.m_setStreamChangedListeners.forEach((e) => e(t));
            S(c.a.GetOrCreateBroadcastInfo(t.steamid).m_nAppID, 1, t.snr);
          }
          return t;
        });
      }
      InternalAttemptToPlayStream(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.GetStreamsLookupKeyFromDef(e);
          let n = null;
          try {
            const e = p.c.STORE_BASE_URL + "broadcast/ajaxcheckbroadcast";
            let a = {
              broadcastaccountid: t.accountid,
              viewer_token: c.a.GetViewerToken(),
              origin: self.origin,
            };
            return (n = yield s.a.get(e, { params: a })), n.data;
          } catch (e) {
            let t = Object(m.a)(e);
            console.error("Broadcast.AttemptToPlayStream: " + t.strErrorMsg, t);
          }
          return null;
        });
      }
      GetAutoStartStream(e) {
        if (!e) return null;
        const t = e.filter((e) => h(e)),
          n = t.reduce((e, t) => Math.max(e, f(t)), 0),
          a = t.filter((e) => f(e) === n);
        if (0 === a.length) return null;
        return a[Math.floor(Math.random() * a.length)];
      }
      MapEmbeddableStreamToRequest(e) {
        var t, n, a;
        return {
          appid: e.appid,
          promotionName: e.bIsPreview ? "preview" : e.promotionName,
          clanid: e.clanid
            ? e.clanid
            : e.event
              ? e.event.clanSteamID.GetAccountID()
              : void 0,
          listid: e.listid,
          subid: e.subid,
          bundleid: e.bundleid,
          eventid: e.event ? e.event.GID : void 0,
          previewAccounts: Boolean(e.bIsPreview && e.accountIDs)
            ? e.accountIDs.slice().sort().join(",")
            : void 0,
          test: false,
          cc: p.c.COUNTRY,
          l: p.c.LANGUAGE,
          hubtype:
            null === (t = e.event) || void 0 === t
              ? void 0
              : t.GetContentHubType(),
          hubcategory:
            null === (n = e.event) || void 0 === n
              ? void 0
              : n.GetContentHubCategory(),
          hubtagid:
            null === (a = e.event) || void 0 === a
              ? void 0
              : a.GetContentHubTag(),
          tabuniqueid: e.tabuniqueid,
          tabfilter: e.tabfilter,
          rt_now_override_test: d.b.BHasTimeOverride()
            ? d.b.GetTimeNowWithOverride()
            : void 0,
        };
      }
      GetStreamsLookupKeyFromDef(e) {
        return this.GetStreamsLookupKeyFromParam(
          this.MapEmbeddableStreamToRequest(e),
        );
      }
      GetStreamsLookupKeyFromParam(e) {
        return JSON.stringify(e);
      }
      static Get() {
        return (
          _.s_GlobalStore ||
            ((_.s_GlobalStore = new _()),
            "dev" == p.c.WEB_UNIVERSE &&
              (window.g_BroadcastEmbeddableStore = _.s_GlobalStore),
            _.s_GlobalStore.Init()),
          _.s_GlobalStore
        );
      }
      Init() {}
    }
    var g;
    Object(a.b)([o.C], _.prototype, "m_lookupStreams", void 0),
      Object(a.b)([o.C], _.prototype, "m_playReadyStream", void 0),
      Object(a.b)([o.C], _.prototype, "m_pageChatStatus", void 0),
      Object(a.b)([o.C], _.prototype, "m_streamChatStatus", void 0),
      Object(a.b)([o.C], _.prototype, "m_bUserChatExpanded", void 0),
      Object(a.b)(
        [o.C],
        _.prototype,
        "m_bUserPreferenceHideBroadcastByDefault",
        void 0,
      ),
      Object(a.b)([o.C], _.prototype, "m_bCollapsed", void 0),
      Object(a.b)([o.k], _.prototype, "HintLoadEmbeddablePreviewStreams", null),
      Object(a.b)([o.k], _.prototype, "AttemptToPlayStream", null),
      (function (e) {
        (e[(e.k_ePrimary = 3)] = "k_ePrimary"),
          (e[(e.k_eFeatured = 2)] = "k_eFeatured"),
          (e[(e.k_eDefaultFeatured = 1)] = "k_eDefaultFeatured"),
          (e[(e.k_eGeneral = 0)] = "k_eGeneral");
      })(g || (g = {}));
    class b {
      constructor() {
        (this.default_selection_priority = g.k_eGeneral),
          (this.current_selection_priority = g.k_eGeneral);
      }
    }
    function f(e) {
      return e.current_selection_priority || g.k_eGeneral;
    }
    function v(e) {
      e.sort((e, t) =>
        f(e) != f(t)
          ? f(t) - f(e)
          : e.viewer_count != t.viewer_count
            ? t.viewer_count - e.viewer_count
            : t.accountid - e.accountid,
      );
    }
    function S(e, t, n) {
      return Object(a.a)(this, void 0, void 0, function* () {
        if (e > 0 && 7 != e && n) {
          let a = new URLSearchParams();
          a.append("page_action", "" + t),
            a.append("snr", n),
            s.a.post(
              p.c.STORE_BASE_URL + "ajaxreportproductaction/" + e + "/",
              a,
            );
        }
      });
    }
    Object(a.b)([o.C], b.prototype, "title", void 0),
      Object(a.b)([o.C], b.prototype, "viewer_count", void 0),
      Object(a.b)([o.C], b.prototype, "gamedata_subtitle", void 0),
      Object(a.b)([o.C], b.prototype, "current_selection_priority", void 0);
    const y = new u.a();
  },
  ZL6Q: function (e, t, n) {
    e.exports = {
      sketchfab_play_overlay_image:
        "eventbbcodesketchfab_sketchfab_play_overlay_image_JfcMn",
      sketchfabmodelembedded:
        "eventbbcodesketchfab_sketchfabmodelembedded_20vwO",
      dynamiclink_box: "eventbbcodesketchfab_dynamiclink_box_3qmlg",
      dynamiclink_preview: "eventbbcodesketchfab_dynamiclink_preview_20lMn",
      dynamiclink_content: "eventbbcodesketchfab_dynamiclink_content_q5jdP",
      dynamiclink_name: "eventbbcodesketchfab_dynamiclink_name_IaPXH",
      dynamiclink_type: "eventbbcodesketchfab_dynamiclink_type_2nQWK",
      dynamiclink_author: "eventbbcodesketchfab_dynamiclink_author_1iaCb",
    };
  },
  "Zj+z": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("mrSG"),
      r = n("aaBf"),
      i = n("2vnA");
    n("1gou");
    const s = 604800;
    class o {
      constructor() {
        (this.m_bEmoticonListRequested = !1),
          (this.m_bInitialized = !1),
          (this.m_rgEmoticons = []),
          (this.m_rgFlairs = []),
          (this.m_rgStickers = []),
          (this.m_rgEffects = []),
          (this.m_rtLastStickerOrEffect = Number.MIN_SAFE_INTEGER),
          (this.m_emoticonTrackerCallback = null),
          (this.m_stickerTrackerCallback = null);
      }
      static GetEmoticonURL(e, t) {
        return t
          ? r.c.COMMUNITY_CDN_URL + "economy/emoticonlarge/" + e
          : r.c.COMMUNITY_CDN_URL + "economy/emoticon/" + e;
      }
      static GetEmoticonReplaceRegex() {
        return o.sm_EmoticonRegex;
      }
      static BEmoticonFilterMatch(e, t) {
        return (
          -1 !== `:${e.name_normalized || e.name}:`.indexOf(t.toLowerCase())
        );
      }
      static FilterEmoticons(e, t) {
        return t && ":" !== t
          ? e.filter((e) => o.BEmoticonFilterMatch(e, t))
          : e;
      }
      static BStickerFilterMatch(e, t) {
        return e.name.toLowerCase().indexOf(t.toLowerCase()) > -1;
      }
      static FilterStickers(e, t) {
        return t ? e.filter((e) => o.BStickerFilterMatch(e, t)) : e;
      }
      SearchEmoticons(e, t = 25, n = !0) {
        function a(e) {
          return e.name_normalized || e.name;
        }
        this.UpdateEmoticonList(), (e = e.toLocaleLowerCase());
        let r = this.recent_emoticons.filter((t) => !e || a(t).startsWith(e)),
          i = this.recent_emoticons.filter((t) => !n && -1 !== a(t).indexOf(e)),
          s = this.m_rgEmoticons.filter((t) => !e || a(t).startsWith(e)),
          o = this.m_rgEmoticons.filter((t) => !n && -1 !== a(t).indexOf(e)),
          l = new Set(),
          c = [];
        function d(e, n, r) {
          return (
            !(c.length >= t) &&
            (l.has(e) || (l.add(e), c.push({ name: a(e), recent: n, new: r })),
            !0)
          );
        }
        function u(e, t, n) {
          for (let a of e) if (!d(a, t, n(a))) break;
        }
        return (
          u(r, !0, (e) => !(e.last_used || !e.time_received)),
          u(s, !1, () => !1),
          u(i, !0, (e) => !(e.last_used || !e.time_received)),
          u(o, !1, () => !1),
          c
        );
      }
      get is_initialized() {
        return this.m_bInitialized;
      }
      GetTimeReceivedNewestEmoticon() {
        return this.UpdateEmoticonList(), this.m_rtMostRecentEmoticon;
      }
      GetTimeReceivedForStickerOrEffect() {
        return this.m_rtLastStickerOrEffect;
      }
      UpdateEmoticonList() {
        this.m_bInitialized || this.RequestEmoticonList();
      }
      get emoticon_list() {
        return this.UpdateEmoticonList(), this.m_rgEmoticons;
      }
      get flair_list() {
        return this.UpdateEmoticonList(), this.m_rgFlairs;
      }
      GetStickerList() {
        return this.m_rgStickers;
      }
      GetEffectList() {
        return this.m_rgEffects;
      }
      GetFlairListByGroupID(e) {
        return this.m_rgFlairs.filter((t) => t.flairGroupID === e);
      }
      get recent_emoticons() {
        return (
          this.m_rgRecentEmoticons || this.BuildRecentEmoticonList(),
          this.m_rgRecentEmoticons
        );
      }
      get recent_stickers() {
        return (
          this.m_rgRecentStickers || this.BuildRecentStickerList(),
          this.m_rgRecentStickers
        );
      }
      SetEmoticonTrackerCallback(e) {
        this.m_emoticonTrackerCallback = e;
      }
      SetStickerTrackerCallback(e) {
        this.m_stickerTrackerCallback = e;
      }
      TrackEmoticonUsage(e, t) {
        if (!this.m_bInitialized) return;
        this.m_emoticonTrackerCallback && this.m_emoticonTrackerCallback(e, t);
        let n,
          a = new Map(),
          r = /\[emoticon\]([^[]*)/g;
        for (; (n = r.exec(e)); ) {
          let e = a.get(n[1]) || 0;
          a.set(n[1], e + 1);
        }
        let i = !1;
        if (a.size) {
          if (void 0 !== this.m_rgRecentEmoticons)
            for (let e of this.m_rgRecentEmoticons)
              a.has(e.name) &&
                ((e.last_used = t),
                (e.use_count += a.get(e.name)),
                a.delete(e.name),
                e.time_received && ((i = !0), delete e.time_received));
          if (a.size)
            for (let e of this.m_rgEmoticons)
              a.has(e.name) &&
                ((e.last_used = t),
                (e.use_count += a.get(e.name)),
                delete e.time_received,
                void 0 !== this.m_rgRecentEmoticons &&
                  this.m_rgRecentEmoticons.push(e));
          if (
            void 0 !== this.m_rgRecentEmoticons &&
            (this.BuildRecentEmoticonList(), i)
          ) {
            this.m_rtMostRecentEmoticon = void 0;
            for (let e of this.m_rgRecentEmoticons)
              !e.last_used &&
                e.time_received &&
                (!this.m_rtMostRecentEmoticon ||
                  e.time_received > this.m_rtMostRecentEmoticon) &&
                (this.m_rtMostRecentEmoticon = e.time_received);
          }
        }
      }
      TrackStickerUsage(e, t) {
        if (!this.m_bInitialized) return;
        this.m_stickerTrackerCallback && this.m_stickerTrackerCallback(e, t);
        const n = this.m_rgStickers.find(({ name: t }) => t === e);
        (n.last_used = t),
          (n.use_count += 1),
          delete n.time_received,
          this.BuildRecentStickerList();
      }
      RequestEmoticonList() {
        !this.m_bEmoticonListRequested &&
          this.BInitialized() &&
          ((this.m_bEmoticonListRequested = !0),
          this.RequestEmoticonListInternal());
      }
      BuildRecentEmoticonList() {
        this.m_rgRecentEmoticons = this.BuildRecentList(this.m_rgEmoticons);
      }
      BuildRecentStickerList() {
        this.m_rgRecentStickers = this.BuildRecentList(this.m_rgStickers);
      }
      BuildRecentList(e) {
        const t = this.GetServerTime() - s,
          n = e.filter(
            ({ last_used: e, time_received: n }) => e || (n && n > t),
          );
        return (
          n.sort(
            (e, t) =>
              (t.last_used || t.time_received) -
              (e.last_used || e.time_received),
          ),
          n.slice(0, 50)
        );
      }
      OnEmoticonListReceived(e) {
        (this.m_rgFlairs = []),
          (this.m_rgEmoticons = []),
          (this.m_rgRecentEmoticons = void 0),
          (this.m_rtMostRecentEmoticon = void 0);
        let t = this.GetServerTime() - s;
        for (let n of e) {
          let e = n.name;
          e.startsWith("^")
            ? this.m_rgFlairs.push({
                name: e.match(new RegExp(/:(.*):/))[1],
                flairGroupID: e.match(new RegExp(/\^(.*)\^/))[1],
              })
            : (!n.last_used && n.time_received > t
                ? (!this.m_rtMostRecentEmoticon ||
                    n.time_received > this.m_rtMostRecentEmoticon) &&
                  (this.m_rtMostRecentEmoticon = n.time_received)
                : delete n.time_received,
              this.m_rgEmoticons.push(n));
        }
        (this.m_bInitialized = !0), (this.m_bEmoticonListRequested = !1);
      }
    }
    (o.sm_EmoticonRegex = new RegExp("ː([a-zA-Z0-9_\\-]+)ː", "g")),
      Object(a.b)([i.C], o.prototype, "m_bInitialized", void 0),
      Object(a.b)([i.C], o.prototype, "m_rtMostRecentEmoticon", void 0),
      Object(a.b)([i.C], o.prototype, "m_rtLastStickerOrEffect", void 0),
      Object(a.b)([i.k], o.prototype, "TrackEmoticonUsage", null);
  },
  ZvQN: function (e, t, n) {
    "use strict";
    n.d(t, "g", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return r;
      }),
      n.d(t, "c", function () {
        return i;
      }),
      n.d(t, "e", function () {
        return s;
      }),
      n.d(t, "d", function () {
        return o;
      }),
      n.d(t, "f", function () {
        return l;
      }),
      n.d(t, "h", function () {
        return c;
      }),
      n.d(t, "a", function () {
        return d;
      }),
      n.d(t, "i", function () {
        return u;
      });
    const a = {
      PerYear: 31536e3,
      PerMonth: 2628e3,
      PerWeek: 604800,
      PerDay: 86400,
      PerHour: 3600,
      PerMinute: 60,
    };
    function r(e, t) {
      return (
        e.getFullYear() == t.getFullYear() &&
        e.getMonth() == t.getMonth() &&
        e.getDate() == t.getDate()
      );
    }
    function i(e, t) {
      return e.getFullYear() == t.getFullYear();
    }
    function s(e) {
      return new Date(
        e.getFullYear(),
        e.getMonth(),
        e.getDate(),
        e.getHours(),
        0,
        0,
        0,
      );
    }
    function o(e) {
      return new Date(e.getFullYear(), e.getMonth(), e.getDate(), 0, 0, 0, 0);
    }
    function l(e) {
      return new Date(e.getFullYear(), e.getMonth(), 1, 0, 0, 0, 0);
    }
    function c(e) {
      return new Promise((t) => setTimeout(t, e));
    }
    function d() {
      return Math.floor(Date.now() / 1e3);
    }
    function u(e) {
      return Math.floor(e.getTime() / 1e3);
    }
  },
  a2VJ: function (e, t, n) {
    e.exports = {
      PriceGuidelinesPicker: "guidelinespicker_PriceGuidelinesPicker_4Xo2k",
      GuidelinesPanel: "guidelinespicker_GuidelinesPanel_1vwM_",
      GuidelinesDescription: "guidelinespicker_GuidelinesDescription_1tfKP",
      GuidelinesGrid: "guidelinespicker_GuidelinesGrid_3fwDv",
      GridElement: "guidelinespicker_GridElement_2x-S8",
      CurrentPrice: "guidelinespicker_CurrentPrice_2Addn",
    };
  },
  aJ4l: function (e) {
    e.exports = JSON.parse(
      '["A Hat in Time","A Plague Tale: Innocence","ARK: Survival Evolved","Arma 3","Assassin\'s Creed® Odyssey","Black Desert Online","Borderlands 2","Borderlands Game of the Year","Borderlands: The Pre-Sequel","Cities: Skylines","Conan Exiles","Counter-Strike: Global Offensive","Crusader Kings II","DARK SOULS™ III","Dead by Daylight","Devil May Cry 5","Divinity: Original Sin 2 - Definitive Edition","Don\'t Starve Together","Dota 2","Dying Light","Euro Truck Simulator 2","FINAL FANTASY XIV Online","Factorio","Fallout 4","Far Cry® 5","Farming Simulator 19","Football Manager 2019","Forager","Grand Theft Auto V","Grim Dawn","Hearts of Iron IV","House Flipper","Human: Fall Flat","Imperator: Rome","MONSTER HUNTER: WORLD","MORDHAU","Mortal Kombat 11","NBA 2K19","No Man\'s Sky","Outward","PLAYERUNKNOWN\'S BATTLEGROUNDS","Paladins®","Path of Exile","Planet Coaster","RAGE 2","RESIDENT EVIL 2 / BIOHAZARD RE:2","RimWorld","Risk of Rain 2","Rocket League®","Rust","SMITE®","Sekiro™: Shadows Die Twice","Sid Meier’s Civilization® VI","Stardew Valley","Stellaris","Surviving Mars","Team Fortress 2","The Elder Scrolls V: Skyrim Special Edition","The Elder Scrolls® Online","The Forest","The Witcher® 3: Wild Hunt","Tom Clancy\'s Ghost Recon® Wildlands","Tom Clancy\'s Rainbow Six® Siege","Total War: THREE KINGDOMS","Total War: WARHAMMER","Total War: WARHAMMER II","Totally Accurate Battle Simulator","Tropico 6","UBOAT","War Thunder","Warframe","Watch_Dogs® 2","World of Warships","XCOM® 2","Yu-Gi-Oh! Duel Links"]',
    );
  },
  aY4C: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      SaleItemBrowserContainer:
        "saleitembrowser_SaleItemBrowserContainer_3KuFX",
      SaleItemBrowserHeaderContainer:
        "saleitembrowser_SaleItemBrowserHeaderContainer_17soU",
      SaleItemBrowserHeader: "saleitembrowser_SaleItemBrowserHeader_yupff",
      FlavorLabel: "saleitembrowser_FlavorLabel_1qNQc",
      SelectedFlavor: "saleitembrowser_SelectedFlavor_iGDdY",
      SuggestContainer: "saleitembrowser_SuggestContainer_M0w-C",
      Debug: "saleitembrowser_Debug_nMmPS",
      EmptyResults: "saleitembrowser_EmptyResults_5dSsV",
      ShowContentsContainer: "saleitembrowser_ShowContentsContainer_3J8f2",
      Loading: "saleitembrowser_Loading_2qtMZ",
      ShowContentsButton: "saleitembrowser_ShowContentsButton_15fEf",
    };
  },
  aaBf: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return i;
    }),
      n.d(t, "j", function () {
        return s;
      }),
      n.d(t, "b", function () {
        return l;
      }),
      n.d(t, "d", function () {
        return c;
      }),
      n.d(t, "a", function () {
        return m;
      }),
      n.d(t, "i", function () {
        return p;
      }),
      n.d(t, "g", function () {
        return _;
      }),
      n.d(t, "h", function () {
        return g;
      }),
      n.d(t, "e", function () {
        return f;
      }),
      n.d(t, "f", function () {
        return v;
      });
    n("mrSG");
    var a = n("gM6l"),
      r = n("fbBP");
    n("AQa9");
    const i = {
        EUNIVERSE: 0,
        WEB_UNIVERSE: "",
        LANGUAGE: "english",
        SUPPORTED_LANGUAGES: [],
        COUNTRY: "",
        AVATAR_BASE_URL: "",
        MEDIA_CDN_COMMUNITY_URL: "",
        MEDIA_CDN_URL: "",
        COMMUNITY_CDN_URL: "",
        COMMUNITY_CDN_ASSET_URL: "",
        STORE_CDN_URL: "",
        PUBLIC_SHARED_URL: "",
        COMMUNITY_BASE_URL: "",
        CHAT_BASE_URL: "",
        STORE_BASE_URL: "",
        LOGIN_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_TENFOOT: !1,
        PLATFORM: "",
        SNR: "",
        LAUNCHER_TYPE: 0,
        EREALM: 0,
        IN_CHROMEOS: !1,
        LOCAL_HOSTNAME: "",
        WEBAPI_BASE_URL: "",
        TOKEN_URL: "",
        BUILD_TIMESTAMP: 0,
        PAGE_TIMESTAMP: 0,
        FROM_WEB: !1,
        get SESSIONID() {
          return (function () {
            if (!Object(r.a)()) return d || (d = u()), d;
            let e = Object(r.b)("sessionid");
            e || (e = u());
            return e;
          })();
        },
        FRIENDSUI_BETA: !1,
        STEAM_TV: !1,
        DEV_MODE: !1,
        IN_LIBRARY: !1,
        IN_GAMEPADUI: !1,
        ON_DECK: !1,
        IN_LOGIN: !1,
        IN_STANDALONE_KEYBOARD: !1,
      },
      s = {
        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: "",
      },
      o = { steamid: "", clanid: 0, listid: 0 },
      l = {
        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,
      },
      c = { ANNOUNCEMENT_GID: "", TAKEOVER_ANNOUNCEMENT_GID: "" };
    let d;
    function u() {
      let e = (function () {
        let e = "";
        for (let t = 0; t < 24; t++) e += Object(a.b)(0, 35).toString(36);
        return e;
      })();
      return Object(r.c)("sessionid", e, 0), e;
    }
    function m() {
      let e = null;
      return (
        Object(r.a)() && (e = Object(r.b)("presentation_mode")),
        Boolean(e && 1 === Number.parseInt(e))
      );
    }
    function p(e = "webui_config") {
      const t = {},
        n = _("config", e);
      n && (delete n.SESSIONID, Object.assign(i, n), (t.config = !0));
      const a = _("userinfo", e);
      a &&
        (Object.assign(s, a),
        (t.userConfig = !0),
        s.is_support && m() && (s.is_support = !1));
      const r = _("broadcast", e);
      r && (Object.assign(o, r), (t.broadcastConfig = !0));
      const d = _("community", e);
      d && (Object.assign(l, d), (t.communityConfig = !0));
      const u = _("event", e);
      return u && (Object.assign(c, u), (t.eventConfig = !0)), t;
    }
    function h(e, t = "webui_config", n) {
      let a;
      if (
        ((a =
          "string" == typeof t
            ? !Object({ NODE_ENV: "production", STEAM_BUILD: "buildbot" })
                .MOBILE_BUILD && document.getElementById(t)
            : t),
        a)
      )
        try {
          if (a.hasAttribute("data-" + e)) {
            return JSON.parse(a.getAttribute("data-" + e));
          }
          return null;
        } catch (e) {
          console.error("Failed to parse config", e);
        }
      else n && console.error("Missing config element #", t);
    }
    function _(e, t = "webui_config") {
      return h(e, t, !0);
    }
    function g(e, t = "webui_config") {
      return h(e, t, !1);
    }
    function b(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 b(e, i.STORE_BASE_URL)
        ? i.STORE_BASE_URL
        : b(e, i.COMMUNITY_BASE_URL)
          ? i.COMMUNITY_BASE_URL
          : b(e, i.CHAT_BASE_URL)
            ? i.CHAT_BASE_URL
            : b(e, i.PARTNER_BASE_URL)
              ? i.PARTNER_BASE_URL
              : b(e, i.HELP_BASE_URL)
                ? i.HELP_BASE_URL
                : b(e, i.STEAMTV_BASE_URL)
                  ? i.STEAMTV_BASE_URL
                  : b(e, i.STATS_BASE_URL)
                    ? i.STATS_BASE_URL
                    : b(e, i.INTERNAL_STATS_BASE_URL)
                      ? i.INTERNAL_STATS_BASE_URL
                      : b(e, "https://steamloopback.host")
                        ? "https://steamloopback.host"
                        : "";
    }
    function v() {
      const e = window.location.href;
      return e.startsWith(i.STORE_BASE_URL)
        ? "store"
        : e.startsWith(i.COMMUNITY_BASE_URL)
          ? "community"
          : e.startsWith(i.PARTNER_BASE_URL)
            ? "partnerweb"
            : e.startsWith(i.HELP_BASE_URL)
              ? "help"
              : e.startsWith(i.STEAMTV_BASE_URL)
                ? "steamtv"
                : e.startsWith(i.STATS_BASE_URL) ||
                    e.startsWith(i.INTERNAL_STATS_BASE_URL)
                  ? "stats"
                  : "";
    }
  },
  aalJ: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return K;
    }),
      n.d(t, "b", function () {
        return J;
      }),
      n.d(t, "c", function () {
        return X;
      }),
      n.d(t, "e", function () {
        return ne;
      }),
      n.d(t, "d", function () {
        return ie;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("TyAF"),
      l = n("q1tI"),
      c = n.n(l),
      d = n("pQ8y"),
      u = (n("Q8oI"), n("NKx1"), n("eV45")),
      m = (n("5VAZ"), n("OeiR")),
      p = n("My6o"),
      h = n("1j+z"),
      _ = (n("RYKw"), n("REtK")),
      g = n("OsUa"),
      b = n("nJCB"),
      f = n("A5uu"),
      v = n("xSFm"),
      S = n("OJUs"),
      y = n("wkCk"),
      E = n("Fgqg"),
      C = n("pEm6"),
      w = n("YIYq"),
      B = n("rSim"),
      O = n("SpZB"),
      D = n("RZJs"),
      I = n("GGO3"),
      T = n("DtIw"),
      R = n("l1Mn"),
      j = (n("2hyl"), n("fvA7")),
      A = n("+h+B"),
      k = n("3wCP"),
      M = n("hHds"),
      P = n("CqJL"),
      L = n("KT6v"),
      G = n("aaBf"),
      N = n("dqrJ"),
      F = n("JzNE"),
      x = n("8a+n"),
      z = n.n(x),
      U = n("8uBp"),
      W = n("yd9a"),
      H = n.n(W),
      V = n("/ea4");
    const q = "DEBUG_UseNewGameHover";
    function K() {
      return "none" !== Q();
    }
    function Q() {
      var e;
      return (
        (null === (e = window.sessionStorage) || void 0 === e
          ? void 0
          : e.getItem(q)) || "default"
      );
    }
    window.SetHoverPresentation = function (e) {
      window.sessionStorage.setItem(q, e);
    };
    function Y(e) {
      const { info: t } = e,
        n = Object(l.useRef)({
          include_assets: !0,
          include_trailers: !0,
          include_screenshots: !0,
        }),
        [a] = Object(S.a)(t.id, Object(v.j)(t.type), n.current),
        [r, i] = Object(l.useState)([]),
        o = Object(l.useRef)(0),
        d = Object(L.f)(),
        [u] = c.a.useState(new A.b()),
        m = Object(l.useCallback)(() => {
          if ((null == r ? void 0 : r.length) > 0) {
            const e = r[o.current].nDurationMs;
            u.Schedule(e, () => {
              const e = o.current;
              (o.current = (o.current + 1) % r.length),
                e != o.current && (m(), d());
            });
          }
        }, [r, u, d]),
        p = Object(l.useCallback)(
          (e) => {
            var n;
            const a = [];
            if (1 == e.length) {
              const t = f.a.Get().GetApp(e[0]);
              t.GetMicroTrailer() &&
                a.push({
                  rctImage: c.a.createElement(w.a, {
                    appInfo: { id: t.GetID(), type: "game" },
                  }),
                  nDurationMs: 5500,
                }),
                t
                  .GetOnlyAllAgesSafeScreenshots()
                  .slice(0, 10)
                  .forEach((e, t) => {
                    a.push({
                      rctImage: c.a.createElement("img", {
                        key: e,
                        className: z.a.FullDivImage,
                        loading: "lazy",
                        src: e,
                        alt: "screenshot " + (t + 1),
                      }),
                      nDurationMs: 2e3,
                    });
                  });
            }
            if (0 == a.length)
              for (const t of e) {
                const e = f.a.Get().GetApp(t),
                  r =
                    null === (n = null == e ? void 0 : e.GetAssets()) ||
                    void 0 === n
                      ? void 0
                      : n.GetMainCapsuleURL();
                r &&
                  a.push({
                    rctImage: c.a.createElement("img", {
                      key: "fallback",
                      className: z.a.FullDivImage,
                      loading: "lazy",
                      src: r,
                      alt: e.GetName(),
                    }),
                    nDurationMs: 2e3,
                  });
              }
            a.length > 0
              ? (i(a), (o.current = 0), m())
              : ("dev" != G.c.WEB_UNIVERSE && "beta" != G.c.WEB_UNIVERSE) ||
                console.error(
                  "DEV ONLY OUTPUT: GameHoverImages for id/type no images: (might be not age safe screenshots)",
                  Object(s.I)(e),
                  Object(s.I)(t),
                );
          },
          [m],
        );
      return (
        Object(l.useEffect)(
          () => (
            !a || (r && 0 != r.length)
              ? (null == r ? void 0 : r.length) && m()
              : 2 == a.GetStoreItemType() || 1 == a.GetStoreItemType()
                ? (Object(j.a)(
                    a.GetIncludedAppIDs().length > 0,
                    "expected included apps " +
                      a.GetID() +
                      " " +
                      a.GetStoreItemType(),
                  ),
                  f.a
                    .Get()
                    .QueueMultipleAppRequests(a.GetIncludedAppIDs(), {
                      include_assets: !0,
                    })
                    .then(() => p(a.GetIncludedAppIDs())))
                : p([a.GetID()]),
            () => u.Cancel()
          ),
          [p, r, a, u, m],
        ),
        c.a.createElement(
          "div",
          { className: z.a.TrailerCtn },
          null == r
            ? void 0
            : r.map((e, n) =>
                c.a.createElement(
                  "div",
                  {
                    key: "e-" + n + "-" + t.id + "_" + t.type,
                    className: Object(k.a)(
                      z.a.FullDivImage,
                      n != o.current && z.a.Transparent,
                    ),
                  },
                  e.rctImage,
                ),
              ),
        )
      );
    }
    function Z(e) {
      const { rgTagIDs: t } = e;
      return c.a.createElement(
        "div",
        { className: z.a.TagRow },
        c.a.createElement(
          "div",
          { className: z.a.Tags },
          t.map((e) =>
            c.a.createElement(D.a, {
              key: "tag_" + e,
              tagid: e,
              className: z.a.Tag,
            }),
          ),
        ),
      );
    }
    function J(e) {
      const { appInfo: t, bTruncateTotalReviews: n } = e,
        [a] = Object(S.a)(
          null == t ? void 0 : t.id,
          Object(v.j)(null == t ? void 0 : t.type),
          { include_reviews: !0 },
        );
      if (!a) return null;
      const r = b.a.Get().BShowFilteredUserReviewScores()
        ? a.GetFilteredReviewSummary()
        : a.GetUnfilteredReviewSummary();
      if (!r || 0 == r.review_score) return null;
      const i =
          r.review_score < 5
            ? z.a.ReviewScoreLow
            : 5 == r.review_score
              ? z.a.ReviewScoreMixed
              : z.a.ReviewScoreHigh,
        s = `${G.c.STORE_BASE_URL}app/${t.id}/#app_reviews_hash`;
      return c.a.createElement(
        I.b,
        { url: s, className: Object(k.a)(z.a.ReviewScore, "ReviewScore") },
        c.a.createElement(
          "div",
          { className: Object(k.a)(z.a.ReviewScoreValue, i) },
          c.a.createElement(
            "div",
            { className: z.a.ReviewScoreLabel },
            r.review_score_label,
          ),
          c.a.createElement(
            "div",
            { className: z.a.ReviewScoreCount },
            n
              ? "(" + r.review_count.toLocaleString() + ")"
              : Object(P.f)(
                  "#GameHover_UserReviewCount",
                  r.review_count.toLocaleString(),
                ),
          ),
          !n &&
            c.a.createElement(
              "div",
              { className: z.a.ReviewScoreHeader },
              " ",
              Object(P.f)("#GameHover_UserReviewsHeader"),
            ),
        ),
      );
    }
    const X = Object(o.a)((e) => {
        const { appID: t, snr: n, classOverride: r } = e,
          s = t && b.a.Get().BIsGameWishlisted(t),
          o = t && b.a.Get().BOwnsApp(t),
          [d, u] = Object(l.useState)(!1),
          m = c.a.useRef(i.a.CancelToken.source());
        if (
          (c.a.useEffect(() => {
            const e = m;
            return () => {
              var t;
              return null === (t = e.current) || void 0 === t
                ? void 0
                : t.cancel("GameHoverWishlistButton unmounted");
            };
          }, []),
          o)
        )
          return null;
        return c.a.createElement(
          "div",
          {
            className: Object(k.a)(z.a.WishlistButton, r),
            onClick: (e) =>
              Object(a.a)(void 0, void 0, void 0, function* () {
                e.preventDefault(),
                  e.stopPropagation(),
                  G.j.logged_in
                    ? (u(!0),
                      yield b.a.Get().UpdateGameWishlist(t, !s, n),
                      m.current.token.reason || u(!1))
                    : Object(U.a)();
              }),
          },
          c.a.createElement(R.yb, null),
          c.a.createElement(
            "div",
            {
              className: Object(k.a)(
                z.a.WishlistButtonText,
                d && z.a.WishlistLoadingText,
              ),
            },
            Object(P.f)(s ? "#Sale_RemoveFromWishlist" : "#Sale_AddToWishlist"),
          ),
        );
      }),
      $ = (e) => {
        const { nCreatorAccountID: t } = e,
          [n, a] = Object(_.b)(t),
          r = Object(g.b)(t);
        return c.a.createElement(
          "div",
          { className: z.a.GameHoverCreatorFollowButtonCtn },
          c.a.createElement(
            "a",
            { href: null == r ? void 0 : r.GetCreatorHomeURL("developer") },
            c.a.createElement("img", {
              src: n ? Object(p.a)(null, "medium") : a.avatar_medium_url,
            }),
          ),
          c.a.createElement(C.b, { clanAccountID: t }),
        );
      },
      ee = Object(o.a)((e) => {
        const {
            info: t,
            strStoreUrl: n,
            elElementToAppend: a,
            bShowDemoButton: r,
            bHideBottomHalf: i,
            bHidePrice: s,
            bShowDeckCompatibilityDialog: o,
            bUseSubscriptionLayout: d,
            nCreatorAccountID: u,
            bPreventNavigation: m,
          } = e,
          [p, h] = Object(l.useState)(!1),
          [_, g] = Object(l.useState)(""),
          [b] = Object(S.a)(t.id, Object(v.j)(t.type), {
            include_assets: !0,
            include_release: !0,
            include_platforms: !0,
            include_tag_count: 20,
          }),
          f = !d && !r && !a,
          E = 0 == (null == b ? void 0 : b.GetStoreItemType());
        return c.a.createElement(
          "div",
          {
            className: z.a.BottomShelf,
            style: { transform: i && p ? _ : "" },
            onMouseEnter: () => h(!0),
            onFocus: () => h(!0),
            onMouseLeave: () => h(!1),
            onBlur: () => h(!1),
          },
          c.a.createElement(
            "a",
            {
              href: m ? null : n,
              target: G.c.IN_CLIENT ? void 0 : "_blank",
              className: z.a.Midline,
            },
            c.a.createElement(
              "div",
              { className: z.a.CapsuleImageAnchorPoint },
              c.a.createElement(
                "div",
                {
                  className: Object(k.a)(
                    z.a.CapsuleImageCtn,
                    z.a.WithCornerShine,
                  ),
                },
                c.a.createElement("img", {
                  loading: "lazy",
                  src: null == b ? void 0 : b.GetAssets().GetHeaderURL(),
                  alt: null == b ? void 0 : b.GetName(),
                }),
              ),
            ),
            Boolean(!s && !d) &&
              c.a.createElement(
                "div",
                { className: z.a.Price },
                c.a.createElement(O.a, { info: t }),
              ),
          ),
          c.a.createElement(
            "div",
            {
              className: z.a.BottomShelfOffScreen,
              ref: (e) =>
                g(
                  `translateY( -${(null == e ? void 0 : e.clientHeight) || 0}px )`,
                ),
            },
            c.a.createElement(
              "div",
              { className: z.a.TextContent },
              c.a.createElement(
                "a",
                {
                  href: m ? null : n,
                  target: G.c.IN_CLIENT ? void 0 : "_blank",
                },
                c.a.createElement(
                  "div",
                  { className: z.a.GameTitle },
                  null == b ? void 0 : b.GetName(),
                ),
              ),
              Boolean(b) && c.a.createElement(Z, { rgTagIDs: b.GetTagIDs() }),
              Boolean(!o && b) && c.a.createElement(J, { appInfo: t }),
              Boolean(!o && f) &&
                c.a.createElement(
                  "div",
                  { className: z.a.ReviewsAndRelease },
                  c.a.createElement(B.a, {
                    item: t,
                    strClassName: z.a.PlatformDisplay,
                  }),
                  Boolean(
                    null == b ? void 0 : b.GetFormattedSteamReleaseDate(),
                  ) &&
                    c.a.createElement(
                      "div",
                      { className: z.a.ReleaseDate },
                      null == b ? void 0 : b.GetFormattedSteamReleaseDate(),
                    ),
                ),
              r &&
                c.a.createElement(F.a, { info: t, className: z.a.DemoButton }),
              Boolean(o && E) && c.a.createElement(y.a, { nAppID: t.id }),
              Boolean(a) && a,
              Boolean(d && E) &&
                c.a.createElement(T.a, { appid: t.id, bIsMuted: !1 }),
              u && c.a.createElement($, { nCreatorAccountID: u }),
            ),
          ),
        );
      }),
      te = Object(o.a)((e) => {
        c.a.useEffect(() => {
          b.a.Get().HintLoad();
        }, []);
        const {
          info: t,
          strStoreUrl: n,
          bHideBottomHalf: a,
          bShowDeckCompatibilityDialog: r,
        } = e;
        let i;
        return (
          "overrideNavigation" in t && (i = () => t.overrideNavigation()),
          c.a.createElement(
            "div",
            {
              className: Object(k.a)(
                z.a.GameHoverCapsuleCtn,
                H.a.InGameHover,
                a && z.a.UseHidingBottomHalf,
              ),
              onClick: i,
            },
            c.a.createElement(
              "a",
              {
                href: i ? null : n,
                target: G.c.IN_CLIENT ? void 0 : "_blank",
                className: z.a.TrailerAnchorStoreLink,
              },
              Boolean(!r && !i) &&
                c.a.createElement(X, { appID: t.id, snr: e.strSNR }),
              c.a.createElement(Y, { info: t }),
            ),
            c.a.createElement(
              ee,
              Object.assign({}, e, { bPreventNavigation: Boolean(i) }),
            ),
          )
        );
      });
    function ne(e) {
      const { item: t } = e,
        [n] = Object(S.a)(t.id, Object(v.j)(t.type), {});
      if (!n) return null;
      if (1 == n.GetStoreItemType() && 1 == n.GetIncludedAppIDs().length) {
        const t = { id: n.GetIncludedAppIDs()[0], type: "game" };
        return c.a.createElement(ae, Object.assign({}, e, { item: t }));
      }
      return c.a.createElement(ae, Object.assign({}, e));
    }
    function ae(e) {
      const {
          item: t,
          elElementToAppend: n,
          bShowDemoButton: r,
          bHidePrice: i,
          bUseSubscriptionLayout: s,
          strExtraParams: o,
          fnOnHoverStateChange: l,
          nCreatorAccountID: d,
          bShowDeckCompatibilityDialog: u,
        } = e,
        m = Object(a.c)(e, [
          "item",
          "elElementToAppend",
          "bShowDemoButton",
          "bHidePrice",
          "bUseSubscriptionLayout",
          "strExtraParams",
          "fnOnHoverStateChange",
          "nCreatorAccountID",
          "bShowDeckCompatibilityDialog",
        ]),
        [p] = Object(S.a)(t.id, Object(v.j)(t.type), {}),
        _ = Object(N.c)(),
        g = Object(h.c)(_);
      if (!p) return null;
      if (G.c.IN_GAMEPADUI)
        return c.a.createElement(c.a.Fragment, null, e.children);
      if (!K())
        return c.a.createElement(
          V.a,
          {
            type: Object(v.c)(p.GetStoreItemType()),
            id: t.id,
            fnHoverState: l,
            hoverClassName: e.className,
            strExtraParams: o,
          },
          e.children,
        );
      const b = "hiding" == Q(),
        f = Object(h.b)(`${p.GetStorePageURL()}${o ? `?${o}` : ""}`, _),
        y = c.a.createElement(
          te,
          Object.assign(
            {},
            {
              info: t,
              strStoreUrl: f,
              elElementToAppend: n,
              bShowDemoButton: r,
              bShowDeckCompatibilityDialog: u,
              bHideBottomHalf: b,
              bHidePrice: i,
              bUseSubscriptionLayout: s,
              strSNR: g,
              nCreatorAccountID: d,
            },
          ),
        );
      return c.a.createElement(
        ie,
        Object.assign({ hoverContent: y, strClickUrl: f }, m),
        e.children,
      );
    }
    const re = (e) => {
      const { fnClose: t, hoverProps: n } = e;
      return c.a.createElement(
        m.a,
        Object.assign({}, n),
        c.a.createElement(
          d.a,
          {
            timeout: 500,
            in: !0,
            appear: !0,
            classNames: { appearActive: z.a.Opening, enterDone: z.a.Open },
          },
          c.a.createElement(
            "div",
            {
              ref: (e) => (null == e ? void 0 : e.focus()),
              className: z.a.HoverContentTransition,
              tabIndex: -1,
              onMouseLeave: t,
              onBlur: (e) => {
                (e.relatedTarget && M.e(e.currentTarget, e.relatedTarget)) ||
                  t();
              },
              onKeyDown: (e) => {
                27 == e.keyCode &&
                  (t(), e.preventDefault(), e.stopPropagation());
              },
            },
            e.children,
          ),
        ),
      );
    };
    class ie extends c.a.Component {
      constructor() {
        super(...arguments),
          (this.m_refHoverSourceDiv = c.a.createRef()),
          (this.m_bPopupShowPending = !1),
          (this.m_bHoversEnabled = !0);
      }
      ClosePopup() {
        this.m_fnHidePopup &&
          (this.m_fnHidePopup(),
          (this.m_fnHidePopup = null),
          window.removeEventListener("scroll", this.OnScroll));
      }
      OnUnhover() {
        this.m_bPopupShowPending &&
          (this.ClosePopup(), (this.m_bPopupShowPending = !1));
      }
      componentWillUnmount() {
        this.ClosePopup();
      }
      OnScroll() {
        Math.abs(window.scrollY - this.m_nScrollYAtHoverStart) > 50 &&
          this.ClosePopup();
      }
      OnHover(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = this.props,
            {
              hoverContent: t,
              hoverProps: n,
              nDelayShowMs: r,
              strClickUrl: i,
              children: s,
            } = e,
            o =
              (Object(a.c)(e, [
                "hoverContent",
                "hoverProps",
                "nDelayShowMs",
                "strClickUrl",
                "children",
              ]),
              this.m_refHoverSourceDiv.current);
          if (!o || !t || !this.m_bHoversEnabled) return;
          const l = o.clientWidth < 200 ? "8px" : "10px",
            d = Object.assign(
              Object.assign(
                { direction: "overlay-center", bEnablePointerEvents: !0 },
                n,
              ),
              {
                style: Object.assign(
                  {
                    zIndex: 98,
                    width: 1.15 * o.clientWidth,
                    fontSize: l,
                    minHeight: "hiding" == Q() ? void 0 : 300,
                    height:
                      "hiding" == Q()
                        ? 1.15 * o.clientWidth * (125 / 184)
                        : void 0,
                  },
                  null == n ? void 0 : n.style,
                ),
                target: o,
              },
            ),
            u = "game-hover-" + Math.floor(1e8 * Math.random());
          (this.m_fnHidePopup = () =>
            ie.sm_embeddedElements.HideElement(o.ownerDocument, u)),
            (this.m_nScrollYAtHoverStart = window.scrollY),
            window.addEventListener("scroll", this.OnScroll);
          const m = null != r ? r : 150;
          (this.m_bPopupShowPending = !0),
            yield ie.sm_embeddedElements.ShowElementDelayed(
              o.ownerDocument,
              m,
              c.a.createElement(
                re,
                { hoverProps: d, fnClose: this.ClosePopup },
                c.a.createElement(E.a, null, t),
              ),
              u,
            ),
            (this.m_bPopupShowPending = !1);
        });
      }
      render() {
        const e = this.props,
          {
            hoverContent: t,
            hoverProps: n,
            nDelayShowMs: r,
            strClickUrl: i,
            children: s,
          } = e,
          o = Object(a.c)(e, [
            "hoverContent",
            "hoverProps",
            "nDelayShowMs",
            "strClickUrl",
            "children",
          ]);
        let l;
        i &&
          (l = (e) => {
            (this.m_bHoversEnabled = !1), (window.location.href = i);
          });
        const d = !!G.c.IN_GAMEPADUI;
        return c.a.createElement(
          "div",
          Object.assign({ ref: this.m_refHoverSourceDiv }, o, {
            onMouseEnter: d ? null : this.OnHover,
            onMouseLeave: d ? null : this.OnUnhover,
            onFocus: this.OnHover,
            onBlur: this.OnUnhover,
            onClick: l,
            onTouchStart: (e) => {
              this.m_bHoversEnabled = !1;
            },
          }),
          c.a.createElement(E.a, null, s),
        );
      }
    }
    (ie.sm_embeddedElements = new u.a("item-hover-source-elements")),
      Object(a.b)([L.b], ie.prototype, "ClosePopup", null),
      Object(a.b)([L.b], ie.prototype, "OnUnhover", null),
      Object(a.b)([L.b], ie.prototype, "OnScroll", null),
      Object(a.b)([L.b], ie.prototype, "OnHover", null);
  },
  adO3: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("aaBf");
    class l {
      constructor() {
        (this.m_mapYouTubeVideo = new Map()),
          (this.m_mapSharedFile = new Map());
      }
      LoadYouTubeDynamicData(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = new Array(),
            a = "";
          if (
            (e.forEach((e, t) => {
              this.m_mapYouTubeVideo.has(e)
                ? n.push(this.m_mapYouTubeVideo.get(e))
                : (a.length > 0 && (a += ","), (a += e));
            }),
            0 == a.length)
          )
            return n;
          let r = { youtubevideoids: a },
            l = null;
          return (
            (l = yield i.a.get(
              o.c.STORE_BASE_URL + "/events/ajaxgetdynamiceventmetadata",
              { params: r, cancelToken: t.token },
            )),
            l &&
              l.data &&
              l.data.youtube &&
              Object(s.G)(() => {
                l.data.youtube.forEach((e, t) => {
                  this.m_mapYouTubeVideo.set(e.videoid, e), n.push(e);
                });
              }),
            n
          );
        });
      }
      LoadSharedFileDynamicData(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = new Array(),
            a = "";
          if (
            (e.forEach((e, t) => {
              this.m_mapSharedFile.has(e)
                ? n.push(this.m_mapSharedFile.get(e))
                : (a.length > 0 && (a += ","), (a += e));
            }),
            0 == a.length)
          )
            return n;
          let r = { sharedfileids: a },
            l = null;
          return (
            (l = yield i.a.get(
              o.c.STORE_BASE_URL + "/events/ajaxgetdynamiceventmetadata",
              { params: r, cancelToken: t.token },
            )),
            l &&
              l.data &&
              l.data.sharedfiles &&
              Object(s.G)(() => {
                l.data.sharedfiles.forEach((e, t) => {
                  this.m_mapSharedFile.set(e.sharedfileid, e), n.push(e);
                });
              }),
            n
          );
        });
      }
    }
    Object(a.b)([s.C], l.prototype, "m_mapYouTubeVideo", void 0),
      Object(a.b)([s.C], l.prototype, "m_mapSharedFile", void 0);
    const c = new l();
  },
  agHs: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return i;
    }),
      n.d(t, "a", function () {
        return s;
      }),
      n.d(t, "c", function () {
        return o;
      });
    var a = n("q1tI"),
      r = n("fvA7");
    n("Cug9");
    class i {
      constructor() {
        this.reactNodes = [];
      }
      AppendText(e, t = !1) {
        e.length &&
          (t
            ? this.reactNodes.push(
                a.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 s {
      constructor(e) {
        Object(r.a)(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 o extends s {
      constructor(e, t, n) {
        super(e),
          (this.m_nStartCursor = 1),
          (this.m_nStartCursor = void 0 !== t ? t : 1);
      }
      AppendText(e) {
        let t = e,
          n = [];
        for (
          let e = t.indexOf("\n", this.m_nStartCursor);
          -1 !== e;
          e = t.indexOf("\n")
        )
          n.push(t.substr(0, e)),
            n.push(a.createElement("br")),
            (t = t.substr(e + 1));
        t.length && n.push(t),
          n.forEach((e) => {
            super.AppendNode(e);
          });
      }
    }
  },
  bSVv: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return i;
    });
    var a = n("aaBf"),
      r = (n("AQa9"), n("2vnA"));
    class i {
      constructor(e) {
        (this.m_nLastUpdated = 0),
          (this.m_mapLanguages = r.C.map()),
          (this.m_fetching = null),
          (this.m_appid = e);
      }
      GetAppID() {
        return this.m_appid;
      }
      GetTokenList(e) {
        return this.m_mapLanguages.has(e) ? this.m_mapLanguages.get(e) : null;
      }
      Localize(e, t) {
        let n = a.c.LANGUAGE;
        return s(
          e,
          this.GetTokenList(n),
          "english" != n ? this.GetTokenList("english") : null,
          this.m_appid,
          t,
        );
      }
      SubstituteParams(e, t) {
        let n = a.c.LANGUAGE;
        return o(
          e,
          this.GetTokenList(n),
          "english" != n ? this.GetTokenList("english") : null,
          this.m_appid,
          t,
        );
      }
    }
    function s(e, t, n, r, i) {
      if (!e.startsWith("#"))
        return console.log("Token doesn't start with #:", e), "";
      let s = e;
      e = e.toLowerCase();
      let l = "";
      if (
        (t && t.has(e) && (l = t.get(e)),
        !l && n && n.has(e) && (l = n.get(e)),
        l)
      )
        l = o(l, t, n, r, i);
      else if (
        ((t || n) &&
          console.log(
            "No loc found for appid",
            r,
            s,
            "Tokens:",
            t,
            "Fallback:",
            n,
          ),
        t && 1 != a.c.EUNIVERSE)
      )
        return e;
      return l;
    }
    function o(e, t, n, a, r) {
      let i = e.match(/{[A-za-z0-9_%#:]+}/g);
      if (i)
        for (let o of i) {
          let i = s(l(o.slice(1, -1), r), t, n, a, r);
          if (!i) return "";
          e = e.replace(o, i);
        }
      return (e = l(e, r));
    }
    function l(e, t) {
      let n = e.match(/%[A-Za-z0-9_:]+%/g);
      if (n)
        for (let a of n) {
          let n = a.slice(1, -1).toLowerCase(),
            r = t.get(n);
          null == r
            ? console.log("No rich presence found for", n)
            : (e = e.replace(a, r));
        }
      return e;
    }
  },
  by5a: function (e, t, n) {
    "use strict";
    function a(e) {
      return function (t, n, a) {
        const r = a.value;
        a.value = function (...t) {
          let a = this[n + "_DebounceProperties"];
          void 0 === a &&
            (a = this[n + "_DebounceProperties"] =
              { hTimer: void 0, nPending: 0 }),
            void 0 === a.hTimer
              ? (r.apply(this, t),
                (a.hTimer = window.setInterval(() => {
                  a.nPending > 0
                    ? (r.apply(this, t), (a.nPending = 0))
                    : (window.clearInterval(a.hTimer), (a.hTimer = void 0));
                }, e)))
              : (a.nPending += 1);
        };
      };
    }
    n.d(t, "a", function () {
      return a;
    });
  },
  bznR: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return y;
    }),
      n.d(t, "k", function () {
        return E;
      }),
      n.d(t, "c", function () {
        return D;
      }),
      n.d(t, "d", function () {
        return K;
      }),
      n.d(t, "e", function () {
        return J;
      }),
      n.d(t, "g", function () {
        return X;
      }),
      n.d(t, "f", function () {
        return Z;
      }),
      n.d(t, "h", function () {
        return m;
      }),
      n.d(t, "j", function () {
        return f;
      }),
      n.d(t, "i", function () {
        return v;
      }),
      n.d(t, "a", function () {
        return S;
      }),
      n.d(t, "l", function () {
        return p;
      });
    var a = n("q1tI"),
      r = n("0CSJ"),
      i = n("CYEq"),
      s = n("fvA7"),
      o = n("+h+B");
    class l {
      constructor(e) {
        (this.ModalUpdatedCallback = new o.a()),
          (this.key = "Modal_" + l.sm_lastKey++),
          (this.element = e);
      }
      UpdateModal(e) {
        (this.element = e), this.ModalUpdatedCallback.Dispatch();
      }
    }
    l.sm_lastKey = 0;
    class c {
      constructor() {
        (this.m_bUsePopups = !0),
          (this.m_rgModals = []),
          (this.m_ActiveOverlay = null),
          (this.m_OnModalShownCallbacks = new o.a()),
          (this.m_OnModalHiddenCallbacks = new o.a());
      }
      RegisterOverlay(e) {
        Object(s.a)(!this.m_ActiveOverlay, "Registering second overlay"),
          (this.m_ActiveOverlay = e),
          this.ForceUpdate();
      }
      UnregisterOverlay(e) {
        Object(s.a)(this.m_ActiveOverlay == e, "Active overlay mismatch"),
          this.m_ActiveOverlay == e && (this.m_ActiveOverlay = null);
      }
      RegisterOnModalShownCallback(e) {
        return this.m_OnModalShownCallbacks.Register(e);
      }
      RegisterOnModalHiddenCallback(e) {
        return this.m_OnModalHiddenCallbacks.Register(e);
      }
      get hasOverlay() {
        return null != this.m_ActiveOverlay;
      }
      ForceUpdate() {
        this.m_ActiveOverlay
          ? window.setTimeout(() => this.m_ActiveOverlay.forceUpdate(), 1)
          : Object(s.a)(
              !1,
              "Modal action was taken, but there is no <DialogOverlay> element to show it in.  Will retry when one is ready.",
            );
      }
      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);
      }
      ShowModalInternal(e) {
        const t = new l(e);
        this.m_rgModals.push(t), this.ForceUpdate();
        const n = {
          Close: () => {
            let e = this.m_rgModals.indexOf(t);
            -1 != e && this.m_rgModals.splice(e, 1),
              this.ForceUpdate(),
              this.m_OnModalHiddenCallbacks.Dispatch(n, this.m_rgModals.length);
          },
          Update: (e) => {
            t.UpdateModal(e);
          },
        };
        return (
          this.m_OnModalShownCallbacks.Dispatch(n, this.m_rgModals.length), n
        );
      }
      SetUsePopups(e) {
        this.m_bUsePopups = e;
      }
      BUsePopups() {
        return this.m_bUsePopups;
      }
    }
    class d {
      constructor() {
        this.m_mapModalManager = new WeakMap();
      }
      GetModalManager(e) {
        let t = this.m_mapModalManager.get(e);
        return t || ((t = new c()), this.m_mapModalManager.set(e, t)), t;
      }
    }
    const u = Object(i.a)("ModalManagerFactory", () => new d());
    function m(e) {
      return u.GetModalManager(e);
    }
    function p(e) {
      const { active: t, children: n } = e,
        r = a.useRef();
      return (
        a.useLayoutEffect(
          () => (
            t && !r.current && (r.current = m(window).ShowModal(n)),
            () => {
              r.current && (r.current.Close(), (r.current = null));
            }
          ),
          [t],
        ),
        a.useLayoutEffect(() => {
          t && r.current.Update(n);
        }, [t, n]),
        null
      );
    }
    n("NKx1");
    var h = n("Fgqg"),
      _ = n("l1Mn"),
      g = n("hHds"),
      b = n("zyuZ");
    const f = Object(i.a)("ModalPresentationContext", () =>
      a.createContext({}),
    );
    function v(e) {
      const t = a.useContext(f);
      return a.createElement(
        b.a,
        Object.assign({ component: t.ModalPosition, fallback: S }, e),
      );
    }
    function S(e) {
      let t,
        n = {};
      e.onEscKeypress &&
        ((n.tabIndex = 0),
        (n.onKeyDown = (t) => {
          27 == t.keyCode && e.onEscKeypress();
        }),
        (n.onMouseDown = (t) => {
          t.currentTarget !== t.target ||
            e.bDisableBackgroundDismiss ||
            e.onEscKeypress();
        }),
        (t = (e) => {
          e && (g.e(e, e.ownerDocument.activeElement) || e.focus());
        }));
      let r = ["ModalPosition"];
      e.className && r.push(e.className),
        e.bDestructiveWarning && r.push("Destructive");
      const i =
          e.renderContent ||
          ((e) => a.createElement("div", Object.assign({}, e))),
        s = a.createElement(
          a.Fragment,
          null,
          !e.hideTopBar &&
            a.createElement("div", { className: "ModalPosition_TopBar" }),
          e.onEscKeypress &&
            !e.bHideCloseIcon &&
            a.createElement(
              "div",
              { className: "ModalPosition_Dismiss" },
              a.createElement(
                "div",
                { className: "closeButton", onClick: e.onEscKeypress },
                a.createElement(_.Ab, null),
              ),
            ),
          a.createElement(h.a, null, e.children),
        );
      return a.createElement(
        "div",
        Object.assign({ className: r.join(" ") }, n, { ref: t }),
        i({ className: "ModalPosition_Content", children: s }),
      );
    }
    const y = ({
      active: e,
      onDismiss: t,
      className: n,
      modalClassName: i,
      children: s,
    }) =>
      a.createElement(
        p,
        { active: e },
        a.createElement(
          v,
          { onEscKeypress: t, className: i },
          a.createElement(r.g, { className: n }, s),
        ),
      );
    function E(e) {
      const { className: t, children: n } = e;
      return a.createElement(
        p,
        { active: !0 },
        a.createElement("div", { className: t }, n),
      );
    }
    var C = n("mrSG"),
      w = n("v85R"),
      B = n("3wCP"),
      O = n("KT6v");
    function D(e) {
      const { ModalManager: t, DialogWrapper: n } = e,
        r = Object(C.c)(e, ["ModalManager", "DialogWrapper"]),
        i = t.modals,
        s = i && !!i.length,
        o = t.active_modal;
      if (
        ((function (e) {
          a.useEffect(() => {
            if (e)
              return (
                document.body.classList.add(w.BodyNoScrollDialog),
                () => document.body.classList.remove(w.BodyNoScrollDialog)
              );
          }, [e]);
        })(s),
        (function (e) {
          const t = Object(O.f)();
          a.useLayoutEffect(() => {
            const n = { forceUpdate: t };
            return e.RegisterOverlay(n), () => e.UnregisterOverlay(n);
          }, [e, t]);
        })(t),
        !i || !i.length)
      )
        return null;
      const l = i.map((e) =>
        a.createElement(I, {
          key: e.key,
          modal: e,
          active: e == o,
          Component: null != n ? n : T,
        }),
      );
      return a.createElement(
        "div",
        Object.assign({}, r, {
          className: Object(B.a)(r.className, "FullModalOverlay"),
        }),
        a.createElement("div", {
          className: "ModalOverlayContent ModalOverlayBackground",
        }),
        l,
      );
    }
    function I(e) {
      const { modal: t, active: n, Component: r } = e,
        i = Object(O.f)();
      return (
        Object(O.e)(t.ModalUpdatedCallback, i),
        a.createElement(
          h.a,
          null,
          a.createElement(
            r,
            {
              className: Object(B.a)(
                "ModalOverlayContent",
                n ? "active" : "inactive",
              ),
              active: n,
              modalKey: t.key,
            },
            t.element,
          ),
        )
      );
    }
    function T(e) {
      const { className: t, active: n, children: r } = e,
        i = a.useRef();
      return (
        a.useEffect(() => {
          const e = i.current;
          if (e && n) {
            const t = e.firstChild;
            t && t.focus && t.focus();
          }
        }, [n]),
        a.createElement("div", { ref: i, className: t, tabIndex: -1 }, r)
      );
    }
    var R = n("ERCR"),
      j = n("A2YN"),
      A = n("uaeK"),
      k = (n("IDaJ"), n("DV2j")),
      M = (n("wWru"), n("XUgT")),
      P = n("VQwQ");
    let L = [
      { index: 0, type: M.a.OK, category: "action" },
      { index: 1, type: M.a.CANCEL, category: "action" },
      { index: 2, type: M.a.SECONDARY, category: "action" },
      { index: 3, type: M.a.OPTIONS, category: "action" },
      { index: 4, type: M.a.BUMPER_LEFT, category: "action" },
      { index: 5, type: M.a.BUMPER_RIGHT, category: "action" },
      { index: 6, type: M.a.TRIGGER_LEFT, category: "action" },
      { index: 7, type: M.a.TRIGGER_RIGHT, category: "action" },
      { index: 8, type: M.a.SELECT, category: "action" },
      { index: 9, type: M.a.START, category: "action" },
      { index: 10, type: M.a.LSTICK_CLICK, category: "action" },
      { index: 11, type: M.a.RSTICK_CLICK, category: "action" },
      { index: 12, type: M.a.DIR_UP, category: "navigation" },
      { index: 13, type: M.a.DIR_DOWN, category: "navigation" },
      { index: 14, type: M.a.DIR_LEFT, category: "navigation" },
      { index: 15, type: M.a.DIR_RIGHT, category: "navigation" },
      { index: 16, type: M.a.STEAM_GUIDE, category: "action" },
      { index: 17, type: M.a.SELECT, category: "action" },
    ];
    class G extends M.c {
      constructor() {
        super(),
          (this.m_rgGamepadStatus = []),
          this.SetSourceType(M.b.GAMEPAD),
          window.addEventListener("gamepadconnected", (e) => {
            this.m_bGamepadDetected ||
              (this.OnGamepadDetected(), this.PollGamepads());
          });
      }
      PollGamepads() {
        let e = navigator.getGamepads(),
          t = !1;
        for (let n = 0; n < e.length; n++) {
          let a = e[n];
          if (!a) continue;
          this.m_rgGamepadStatus[n] ||
            (this.m_rgGamepadStatus[n] = { buttons: [] });
          let r = this.m_rgGamepadStatus[n];
          for (let e = 0; e < L.length; e++) {
            let n = L[e],
              i = n.index;
            a.buttons[i] &&
              (a.buttons[i].pressed
                ? ((t = !0),
                  r.buttons[i] ||
                    ((r.buttons[i] = !0), this.OnButtonDown(n.type)))
                : r.buttons[i] &&
                  (this.OnButtonUp(n.type), (r.buttons[i] = !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();
      }
    }
    Object(C.b)([P.a], G.prototype, "PollGamepads", null),
      Object(C.b)([P.a], G.prototype, "OnWindowRegainedFocus", null);
    var N = n("Q8oI");
    const F = {
        A: M.a.OK,
        B: M.a.CANCEL,
        X: M.a.SECONDARY,
        Y: M.a.OPTIONS,
        SELECT: M.a.SELECT,
        START: M.a.START,
        LSHOULDER: M.a.BUMPER_LEFT,
        RSHOULDER: M.a.BUMPER_RIGHT,
        LTRIGGER: M.a.TRIGGER_LEFT,
        RTRIGGER: M.a.TRIGGER_RIGHT,
        LEFTSTICK_UP: M.a.DIR_UP,
        LEFTSTICK_RIGHT: M.a.DIR_RIGHT,
        LEFTSTICK_DOWN: M.a.DIR_DOWN,
        LEFTSTICK_LEFT: M.a.DIR_LEFT,
        LEFTSTICK_CLICK: M.a.LSTICK_CLICK,
        RIGHTSTICK_CLICK: M.a.RSTICK_CLICK,
        LeftStick: M.a.LSTICK_TOUCH,
        RightStick: M.a.RSTICK_TOUCH,
        LeftTrackpad: M.a.LPAD_TOUCH,
        LeftTrackpadClick: M.a.LPAD_CLICK,
        RightTrackpad: M.a.RPAD_TOUCH,
        RightTrackpadClick: M.a.RPAD_CLICK,
        RearLeftUpper: M.a.REAR_LEFT_UPPER,
        RearLeftLower: M.a.REAR_LEFT_LOWER,
        RearRightUpper: M.a.REAR_RIGHT_UPPER,
        RearRightLower: M.a.REAR_RIGHT_LOWER,
      },
      x = {
        [N.ESystemUISystemKey.SystemKey0]: M.a.STEAM_GUIDE,
        [N.ESystemUISystemKey.SystemKey1]: M.a.STEAM_QUICK_MENU,
      };
    class z extends M.c {
      constructor() {
        super(),
          (this.m_rgControllers = new Map()),
          "undefined" != typeof SteamClient &&
            ((this.m_hUnregisterControllerInput =
              SteamClient.Input.RegisterForControllerInputMessages(
                this.HandleControllerInputMessages,
              )),
            SteamClient.System.UI.RegisterForSystemKeyEvents(
              this.HandleSystemKeyEvents,
            )),
          this.SetSourceType(M.b.GAMEPAD);
      }
      HandleSystemKeyEvents(e) {
        const t = x[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
        );
      }
      HandleControllerInputMessages(e) {
        for (const t of e) {
          const e = F[t.strActionName],
            n = this.GetController(t.nController);
          null != e
            ? t.bState && !n.activeButtons[e]
              ? ((n.activeButtons[e] = !0), this.OnButtonDown(e, t.nController))
              : !t.bState &&
                n.activeButtons[e] &&
                ((n.activeButtons[e] = !1), this.OnButtonUp(e, t.nController))
            : "Scroll" == t.strActionName ||
              ("LEFTPAD_ANALOG" == t.strActionName
                ? n.activeButtons[M.a.LPAD_TOUCH] &&
                  this.OnAnalogPad(M.a.LPAD_TOUCH, t.x, t.y, t.nController)
                : "RIGHTPAD_ANALOG" == t.strActionName &&
                  n.activeButtons[M.a.RPAD_TOUCH] &&
                  this.OnAnalogPad(M.a.RPAD_TOUCH, t.x, t.y, t.nController));
        }
      }
    }
    Object(C.b)([P.a], z.prototype, "HandleSystemKeyEvents", null),
      Object(C.b)([P.a], z.prototype, "HandleControllerInputMessages", null);
    class U extends M.c {
      constructor(e) {
        super(),
          (this.m_lastButtonDown = M.a.INVALID),
          this.SetSourceType(M.b.KEYBOARD),
          e.addEventListener("keydown", this.OnKeyDown),
          e.addEventListener("keyup", this.OnKeyUp),
          e.addEventListener("blur", this.Reset);
      }
      OnKeyDown(e) {
        const t = this.TranslateKey(e);
        t != M.a.INVALID &&
          (e.preventDefault(),
          t != this.m_lastButtonDown &&
            (this.Reset(), this.OnButtonDown(t), (this.m_lastButtonDown = t)));
      }
      OnKeyUp(e) {
        const t = this.TranslateKey(e);
        t != M.a.INVALID &&
          (this.OnButtonUp(t),
          (this.m_lastButtonDown = M.a.INVALID),
          e.preventDefault());
      }
      Reset() {
        this.m_lastButtonDown != M.a.INVALID &&
          (this.OnButtonUp(this.m_lastButtonDown),
          (this.m_lastButtonDown = M.a.INVALID));
      }
      TranslateKey(e) {
        const t = e.code,
          n = e.ctrlKey,
          a = e.shiftKey,
          r =
            g.q(e.target) &&
            ("INPUT" === e.target.nodeName || "TEXTAREA" === e.target.nodeName);
        if (n && a)
          switch (t) {
            case "Digit4":
              return M.a.TRIGGER_LEFT;
            case "Digit5":
              return M.a.TRIGGER_RIGHT;
            default:
              return M.a.INVALID;
          }
        if (n)
          switch (t) {
            case "Digit1":
              return M.a.STEAM_GUIDE;
            case "Digit2":
              return M.a.STEAM_QUICK_MENU;
            case "Digit3":
            case "Digit9":
              return M.a.SELECT;
            case "Digit4":
              return M.a.BUMPER_LEFT;
            case "Digit5":
              return M.a.BUMPER_RIGHT;
            case "Digit6":
              return M.a.LSTICK_CLICK;
            case "Digit7":
              return M.a.RSTICK_CLICK;
            case "Digit8":
              return M.a.OPTIONS;
            case "Digit0":
              return M.a.START;
          }
        switch (t) {
          case "Escape":
            return M.a.CANCEL;
          case "Enter":
            return r ? M.a.INVALID : M.a.OK;
          case "Backspace":
            return r ? M.a.INVALID : M.a.SECONDARY;
          case "ArrowUp":
            return M.a.DIR_UP;
          case "ArrowDown":
            return M.a.DIR_DOWN;
          case "ArrowLeft":
            return M.a.DIR_LEFT;
          case "ArrowRight":
            return M.a.DIR_RIGHT;
        }
        return M.a.INVALID;
      }
    }
    Object(C.b)([P.a], U.prototype, "OnKeyDown", null),
      Object(C.b)([P.a], U.prototype, "OnKeyUp", null),
      Object(C.b)([P.a], U.prototype, "Reset", null);
    class W extends M.c {
      constructor(e) {
        super(),
          (this.m_nAccumulatedMouseMovement = 0),
          (this.m_bFirstMouseUpdate = !0),
          this.SetSourceType(M.b.MOUSE),
          e.addEventListener("mousedown", this.OnMouseDown),
          e.addEventListener("mousemove", this.OnMouseMove),
          e.addEventListener("blur", this.Reset);
      }
      OnMouseDown(e) {
        e.defaultPrevented || this.OnNavigationTypeChanged(M.b.MOUSE);
      }
      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(M.b.MOUSE));
        }
      }
      Reset() {
        (this.m_nAccumulatedMouseMovement = 0), (this.m_bFirstMouseUpdate = !0);
      }
    }
    Object(C.b)([P.a], W.prototype, "OnMouseDown", null),
      Object(C.b)([P.a], W.prototype, "OnMouseMove", null),
      Object(C.b)([P.a], W.prototype, "Reset", null);
    var H = n("aaBf"),
      V = n("i8i4");
    class q {
      constructor() {
        (this.m_GamepadNavigationController = new k.c()),
          H.c.IN_GAMEPADUI &&
            (this.m_GamepadNavigationController.RegisterInputSource(new z()),
            this.m_GamepadNavigationController.RegisterInputSource(new G())),
          "dev" == H.c.WEB_UNIVERSE &&
            (this.m_GamepadNavigationController.RegisterInputSource(
              new U(window),
            ),
            this.m_GamepadNavigationController.RegisterInputSource(
              new W(window),
            ));
      }
      GetNavigationController() {
        return this.m_GamepadNavigationController;
      }
      static Get() {
        return (
          q.s_Singleton ||
            ((q.s_Singleton = new q()),
            "dev" == H.c.WEB_UNIVERSE &&
              (window.g_StoreWebNavStore = q.s_Singleton)),
          q.s_Singleton
        );
      }
    }
    function K(e) {
      const { children: t, navID: n, closeModal: r } = e,
        i = a.createRef(),
        s = (function () {
          let e = window.legacyWebFocusNavController;
          return (
            e || (e = q.Get().GetNavigationController()),
            e.SetGamepadEventUpdateBatcher(V.unstable_batchedUpdates),
            e
          );
        })(),
        o = (e) => (e.stopPropagation(), e.preventDefault(), !0);
      return H.c.IN_GAMEPADUI && !H.c.IN_LIBRARY
        ? a.createElement(
            R.b,
            {
              navID: n,
              NavigationManager: s,
              navTreeRef: i,
              onCancelButton: r,
              className: w.GamepadOnlyModalWrapper,
            },
            a.createElement(
              j.a,
              null,
              a.createElement(
                A.a,
                {
                  className: w.GamepadOnlyPanelWrapper,
                  onGamepadDirection: o,
                  focusableIfNoChildren: !0,
                },
                t,
              ),
            ),
          )
        : a.createElement(a.Fragment, null, t);
    }
    var Q = n("TyAF"),
      Y = n("CqJL");
    let Z = class extends a.Component {
      Cancel() {
        (this.props.onCancel && this.props.onCancel()) ||
          (this.props.closeModal && this.props.closeModal());
      }
      OK() {
        return Object(C.a)(this, void 0, void 0, function* () {
          this.props.bOKDisabled ||
            (this.props.onOK && (yield this.props.onOK()),
            this.props.closeModal && this.props.closeModal());
        });
      }
      render() {
        return a.createElement(
          v,
          {
            onEscKeypress: this.Cancel,
            className: this.props.modalClassName,
            bDestructiveWarning: this.props.bDestructiveWarning,
            bDisableBackgroundDismiss: this.props.bDisableBackgroundDismiss,
            bHideCloseIcon: this.props.bHideCloseIcon,
          },
          a.createElement(
            r.h,
            {
              classNameContent: Object(B.a)(
                "GenericConfirmDialog",
                this.props.bAllowFullSize && "DialogContentFullSize",
                this.props.className,
              ),
              onSubmit: this.OK,
              bCenterVertically: !H.c.IN_GAMEPADUI,
            },
            this.props.children,
          ),
        );
      }
    };
    Object(C.b)([O.b], Z.prototype, "Cancel", null),
      Object(C.b)([O.b], Z.prototype, "OK", null),
      (Z = Object(C.b)([Q.a], Z));
    let J = class extends a.Component {
      Cancel() {
        this.props.onCancel && this.props.onCancel(),
          this.props.closeModal && this.props.closeModal();
      }
      render() {
        const e = this.props,
          {
            strTitle: t,
            strDescription: n,
            strOKButtonText: i,
            strCancelButtonText: s,
            strMiddleButtonText: o,
            onMiddleButton: l,
            bAlertDialog: c,
            children: d,
          } = e,
          u = Object(C.c)(e, [
            "strTitle",
            "strDescription",
            "strOKButtonText",
            "strCancelButtonText",
            "strMiddleButtonText",
            "onMiddleButton",
            "bAlertDialog",
            "children",
          ]),
          m = i || Object(Y.f)("#Button_Close");
        let p = a.createElement(r.D, {
          bOKDisabled: this.props.bOKDisabled,
          bCancelDisabled: this.props.bCancelDisabled,
          strOKText: i,
          onCancel: this.Cancel,
          strCancelText: s,
        });
        return (
          c
            ? (p = a.createElement(r.F, null, m))
            : l &&
              (p = a.createElement(r.E, {
                bOKDisabled: this.props.bOKDisabled,
                bCancelDisabled: this.props.bCancelDisabled,
                strOKText: i,
                onCancel: this.Cancel,
                strCancelText: s,
                onUpdate: () => {
                  l(), this.props.closeModal && this.props.closeModal();
                },
                strUpdateText: o,
                bUpdateDisabled: this.props.bMiddleDisabled,
              })),
          a.createElement(
            Z,
            Object.assign({}, u),
            a.createElement(
              A.a,
              { onCancelButton: this.Cancel },
              a.createElement(
                r.y,
                null,
                " ",
                t || a.createElement(a.Fragment, null, " "),
                " ",
              ),
              a.createElement(
                r.c,
                null,
                a.createElement(r.d, null, n, d),
                a.createElement(r.p, null, p),
              ),
            ),
          )
        );
      }
    };
    Object(C.b)([O.b], J.prototype, "Cancel", null),
      (J = Object(C.b)([Q.a], J));
    let X = class extends a.Component {
      render() {
        const e = Object.assign(
          {
            strTitle: Object(Y.f)("#Error_FailureNotice"),
            strDescription: Object(Y.f)("#Error_GenericFailureDescription"),
            bAlertDialog: !0,
            bDestructiveWarning: !0,
            onOK: () => {},
            onCancel: () => {},
          },
          this.props,
        );
        return a.createElement(J, Object.assign({}, e));
      }
    };
    X = Object(C.b)([Q.a], X);
  },
  cCJ0: function (e, t, n) {
    e.exports = {
      DealCapImg: "dailydealadmincreatenew_DealCapImg_29Nw3",
      DealCapCtn: "dailydealadmincreatenew_DealCapCtn_3n8tu",
      DealNameCtn: "dailydealadmincreatenew_DealNameCtn_3z8vI",
      DealName: "dailydealadmincreatenew_DealName_2Ruo9",
      DiscountLiveWarning: "dailydealadmincreatenew_DiscountLiveWarning_28bha",
      DiscountCtn: "dailydealadmincreatenew_DiscountCtn_LUWYn",
      DiscountInputCtn: "dailydealadmincreatenew_DiscountInputCtn_2DTJt",
      PackageSelectCtn: "dailydealadmincreatenew_PackageSelectCtn_2ytWm",
      FeatureSelectCtn: "dailydealadmincreatenew_FeatureSelectCtn_RhuUZ",
      AssociatedPartnerCtn:
        "dailydealadmincreatenew_AssociatedPartnerCtn_1wLwc",
      GameName: "dailydealadmincreatenew_GameName_3wpQY",
      SelectInvitedAppRow: "dailydealadmincreatenew_SelectInvitedAppRow_SxB7v",
      DiscountPreviewCtn: "dailydealadmincreatenew_DiscountPreviewCtn_1QLwj",
      DiscountPreview: "dailydealadmincreatenew_DiscountPreview_gapSJ",
      Percentage: "dailydealadmincreatenew_Percentage_2OoUs",
      DiscountPrices: "dailydealadmincreatenew_DiscountPrices_1suUW",
      NormalPrice: "dailydealadmincreatenew_NormalPrice_3WNQa",
    };
  },
  cCSw: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    });
    class a {
      constructor(e, t = 0, n) {
        (this.m_nOffset = t || 0),
          e instanceof Uint8Array || e instanceof DataView
            ? ((this.m_nLength = n || 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 = n || 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) {
        let 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;
      }
    }
  },
  cFdX: function (e, t, n) {
    e.exports = {
      AdminPageCtn: "adminshared_AdminPageCtn_2mzFW",
      WidePageCtn: "adminshared_WidePageCtn_1DNKe",
      PageTitle: "adminshared_PageTitle_1hHXX",
      PageSubTitle: "adminshared_PageSubTitle_6iRgJ",
      ValveOnlyTitle: "adminshared_ValveOnlyTitle_1oPDR",
      ValveOnlyBackground: "adminshared_ValveOnlyBackground_1T1Ml",
      ColumnCtn: "adminshared_ColumnCtn_NIX4c",
      LeftCol: "adminshared_LeftCol_7zBJR",
      SectionCtn: "adminshared_SectionCtn_bopdf",
      RightCol: "adminshared_RightCol_2LSae",
      DashLink: "adminshared_DashLink_1VYQv",
    };
  },
  cKYR: function (e, t, n) {
    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",
    };
  },
  cQil: function (e, t, n) {
    e.exports = {
      FeedSuggestContainerBG:
        "curatorfeedsuggestrow_FeedSuggestContainerBG_1dqaE",
      FeedSuggestContainer: "curatorfeedsuggestrow_FeedSuggestContainer_3yUp7",
      FeedSuggestCaption: "curatorfeedsuggestrow_FeedSuggestCaption_1_W8z",
      RowContainer: "curatorfeedsuggestrow_RowContainer_Y8BV9",
      ClanInfo: "curatorfeedsuggestrow_ClanInfo_PG30_",
      DismissButton: "curatorfeedsuggestrow_DismissButton_20Plg",
      BrowseMore: "curatorfeedsuggestrow_BrowseMore_1wlZA",
    };
  },
  caBB: function (e, t, n) {
    e.exports = {
      DragTarget: "bbcodeeditor_DragTarget_GxzK8",
      DragOnTopOfMe: "bbcodeeditor_DragOnTopOfMe_3Zig1",
      DescriptionCtn: "bbcodeeditor_DescriptionCtn_2-bYF",
      EventEditorLinkInput: "bbcodeeditor_EventEditorLinkInput_3rooB",
      DefaultEditor: "bbcodeeditor_DefaultEditor_2Ogxw",
      ImportHTMLCtn: "bbcodeeditor_ImportHTMLCtn_uiFJs",
      ImportHTMLTextArea: "bbcodeeditor_ImportHTMLTextArea_1BbjM",
      ImportHTMLConvertButtons: "bbcodeeditor_ImportHTMLConvertButtons_10HcR",
      ImportHTMLCheckBoxLine: "bbcodeeditor_ImportHTMLCheckBoxLine_2ikbj",
      OptionRow: "bbcodeeditor_OptionRow_374yS",
      TextEditorToolBarContainer:
        "bbcodeeditor_TextEditorToolBarContainer_V0Kbh",
      EmoteOuter: "bbcodeeditor_EmoteOuter_2aNLl",
      YouTubeInput: "bbcodeeditor_YouTubeInput_13PDm",
      YouTubePreviewInsertOption:
        "bbcodeeditor_YouTubePreviewInsertOption_3t0_B",
      DropDownScroll: "bbcodeeditor_DropDownScroll_2OHNT",
      InsertSpeakerCtn: "bbcodeeditor_InsertSpeakerCtn_6e0gm",
      TitleGroup: "bbcodeeditor_TitleGroup_3vfP3",
      AssociateRowCtn: "bbcodeeditor_AssociateRowCtn_uOCsy",
      PhotoCtn: "bbcodeeditor_PhotoCtn_3T2Qo",
      AboutCtn: "bbcodeeditor_AboutCtn_2LJO2",
      PreviewCtn: "bbcodeeditor_PreviewCtn_1zKVv",
      BBCodeEditorInputStyles: "bbcodeeditor_BBCodeEditorInputStyles_2c_D7",
    };
  },
  cvf5: function (e, t, n) {
    e.exports = {
      HoverObject: "dailydealdiscounts_HoverObject_2x-6c",
      HoverCtn: "dailydealdiscounts_HoverCtn_3cend",
      DiscountEventName: "dailydealdiscounts_DiscountEventName_2H6CR",
      DiscountDates: "dailydealdiscounts_DiscountDates_3fhuW",
      DiscountedPackageList: "dailydealdiscounts_DiscountedPackageList_2ixiP",
      MissingDiscount: "dailydealdiscounts_MissingDiscount_1gz3F",
    };
  },
  czhv: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return d;
    }),
      n.d(t, "b", function () {
        return u;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = n("q1tI"),
      l = (n("AQa9"), n("Q8oI"), n("YTDw"), n("/loZ"), n("aaBf"));
    class c {
      constructor(e) {
        (this.appid = e.appid),
          (this.demo_appid = e.demo_appid),
          (this.demo_package_id = 0);
      }
    }
    class d {
      constructor() {
        (this.m_mapAppToDemoInfo = new Map()),
          (this.m_mapAppIDToLoadPromise = new Map());
      }
      static Get() {
        return (
          d.s_DemoEventStore ||
            ((d.s_DemoEventStore = new d()), d.s_DemoEventStore.Init()),
          d.s_DemoEventStore
        );
      }
      BHasDemoEventInfo(e) {
        return this.m_mapAppToDemoInfo.has(e);
      }
      GetDemoEventInfo(e) {
        return this.m_mapAppToDemoInfo.get(e);
      }
      GetAllDemoInfo() {
        return this.m_mapAppToDemoInfo;
      }
      BHasDemoAppID(e) {
        var t;
        return Boolean(
          null === (t = this.m_mapAppToDemoInfo.get(e)) || void 0 === t
            ? void 0
            : t.demo_appid,
        );
      }
      GetNumDemos() {
        let e = 0;
        return (
          this.m_mapAppToDemoInfo.forEach((t) => {
            t.demo_appid > 0 && (e += 1);
          }),
          e
        );
      }
      Init() {
        let e = Object(l.g)("demoeventstore", "application_config");
        this.ValidateStoreDefault(e) &&
          e.forEach((e) => {
            this.m_mapAppToDemoInfo.set(e.appid, new c(e));
          });
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) && "number" == typeof t[0].appid
        );
      }
      LoadAppIDsBatch(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = new Array(),
            a = new Array();
          if (
            (e.forEach((e) => {
              this.m_mapAppIDToLoadPromise.has(e)
                ? a.push(this.m_mapAppIDToLoadPromise.get(e))
                : this.m_mapAppToDemoInfo.has(e) || n.push(e);
            }),
            n.length > 0)
          ) {
            const e = this.InternalLoadAppIDsBatch(n, t);
            n.forEach((t) => this.m_mapAppIDToLoadPromise.set(t, e)), a.push(e);
          }
          return (yield Promise.all(a)).every((e) => !!e);
        });
      }
      InternalLoadAppIDsBatch(e, t) {
        var n, r, o;
        return Object(a.a)(this, void 0, void 0, function* () {
          try {
            for (e = e.sort(); e.length > 0; ) {
              const a = 50,
                d = Math.min(a, e.length),
                u = e.slice(0, d);
              e = e.slice(d);
              const m = l.c.STORE_BASE_URL + "saleaction/ajaxgetdemoevents",
                p = yield i.a.get(m, {
                  params: {
                    appids: u,
                    cc: l.c.COUNTRY || "US",
                    origin: self.origin,
                  },
                  cancelToken: t ? t.token : void 0,
                });
              1 ===
                (null === (n = null == p ? void 0 : p.data) || void 0 === n
                  ? void 0
                  : n.success) ||
              42 ===
                (null === (r = null == p ? void 0 : p.data) || void 0 === r
                  ? void 0
                  : r.success)
                ? Object(s.G)(() => {
                    var e, t;
                    (null ===
                      (t =
                        null === (e = null == p ? void 0 : p.data) ||
                        void 0 === e
                          ? void 0
                          : e.info) || void 0 === t
                      ? void 0
                      : t.length) &&
                      p.data.info.forEach((e) => {
                        this.m_mapAppToDemoInfo.set(e.appid, new c(e));
                      });
                    for (const e of u)
                      this.m_mapAppToDemoInfo.has(e) ||
                        this.m_mapAppToDemoInfo.set(e, new c({ appid: e })),
                        this.m_mapAppIDToLoadPromise.delete(e);
                  })
                : console.log(
                    "Failed to call ajaxgetdemoevents with response:" +
                      (null === (o = null == p ? void 0 : p.data) ||
                      void 0 === o
                        ? void 0
                        : o.err_msg),
                  );
            }
            return !0;
          } catch (e) {
            console.log("Failed to call ajaxgetdemoevents:" + e);
          }
          return !1;
        });
      }
    }
    function u(e) {
      const [t, n] = Object(o.useState)(d.Get().GetDemoEventInfo(e));
      return (
        Object(o.useEffect)(() => {
          !t &&
            e &&
            d
              .Get()
              .LoadAppIDsBatch([e])
              .then(() => {
                d.Get().BHasDemoEventInfo(e) && n(d.Get().GetDemoEventInfo(e));
              });
        }, [e, t]),
        t
      );
    }
    Object(a.b)([s.C.shallow], d.prototype, "m_mapAppToDemoInfo", void 0),
      Object(a.b)([s.k], d.prototype, "Init", null),
      Object(a.b)([s.k], d.prototype, "LoadAppIDsBatch", null);
  },
  dAlf: function (e, t, n) {
    e.exports = { ErrorDiv: "image_ErrorDiv_bxLsI" };
  },
  dIlD: function (e, t, n) {
    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",
    };
  },
  dNNK: function (e, t, n) {
    e.exports = { Preview: "optin_admin_email_sections_Preview_3fMhG" };
  },
  dYfW: function (e, t, n) {
    e.exports = {
      Container: "sharewithfriends_Container_25XGl",
      SmallAvatar: "sharewithfriends_SmallAvatar_QW0rN",
      ShareDescription: "sharewithfriends_ShareDescription_23vsI",
    };
  },
  dqrJ: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return l;
    }),
      n.d(t, "a", function () {
        return c;
      }),
      n.d(t, "c", function () {
        return d;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("1j+z"),
      s = n("aaBf");
    const o = r.createContext({});
    function l(e) {
      const { children: t } = e,
        n = Object(a.c)(e, ["children"]),
        s = d();
      return r.createElement(
        o.Provider,
        {
          value: Object.assign(
            Object.assign(Object.assign({}, i.e.GetDefaultParams()), s),
            n,
          ),
        },
        t,
      );
    }
    function c(e) {
      const { children: t } = e,
        n = e.snr || s.c.SNR,
        a = i.e.ParseSNR(n);
      return r.createElement(
        o.Provider,
        { value: Object.assign(Object.assign({}, i.e.GetDefaultParams()), a) },
        t,
      );
    }
    function d() {
      return r.useContext(o);
    }
  },
  eMIp: function (e, t, n) {
    e.exports = { strMaxMobileWidth: "700px" };
  },
  ePyj: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      strMediumWidth: "800px",
      strMaxMobileWidth: "600px",
      MediaContainer: "salehilightplayerembed_MediaContainer_3RMgw",
      MainMediaCtn: "salehilightplayerembed_MainMediaCtn_kqSqX",
      VideoThumbnail: "salehilightplayerembed_VideoThumbnail_3hh2s",
      Screenshot: "salehilightplayerembed_Screenshot_clDYU",
      PresenterEventScreenshot:
        "salehilightplayerembed_PresenterEventScreenshot_1a2Jv",
      ScreenshotThumbnail: "salehilightplayerembed_ScreenshotThumbnail_1RCW7",
      PresenterEventScreenshotThumbnail:
        "salehilightplayerembed_PresenterEventScreenshotThumbnail_3hkGi",
      videoPlaying: "salehilightplayerembed_videoPlaying_3xTX5",
      VideoPlayButton: "salehilightplayerembed_VideoPlayButton_D6YWF",
      VideoLargeContainer: "salehilightplayerembed_VideoLargeContainer_236Ae",
      VideoPopupContainers: "salehilightplayerembed_VideoPopupContainers_2Ogcp",
      VideoLarge: "salehilightplayerembed_VideoLarge_3QrVz",
      PopupScreenshotContainer:
        "salehilightplayerembed_PopupScreenshotContainer_wRB4E",
      PopupScreenshot: "salehilightplayerembed_PopupScreenshot_31UJ5",
    };
  },
  eV45: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return s;
    }),
      n.d(t, "a", function () {
        return l;
      });
    var a = n("i8i4"),
      r = n("hHds");
    class i {
      constructor(e) {
        this.instance = new o(e, !1);
      }
    }
    function s(e) {
      return new o(e.body, !0);
    }
    class o {
      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((n, a) => {
                this.iIntervalShow = this.m_window.setTimeout(() => {
                  let t = this.m_parent.ownerDocument;
                  t.defaultView &&
                    !t.defaultView.closed &&
                    (this.InternalShow(e), n());
                }, 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)),
          a.render(e, this.m_container);
      }
      Hide(e) {
        this.CancelShowInterval(),
          e
            ? (this.iIntervalShow = this.m_window.setTimeout(() => {
                this.InternalHide();
              }, e))
            : this.InternalHide();
      }
      InternalHide() {
        this.m_container &&
          (a.unmountComponentAtNode(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 && r.e(this.m_container, e);
      }
    }
    class l {
      constructor(e) {
        (this.m_mapEmbeddedHovers = new WeakMap()), (this.m_strUniqueID = e);
      }
      ShowElementDelayed(e, t, n, a) {
        let r = this.GetEmbeddedElement(e);
        return (r.activeObject = a), r.instance.Show(n, t);
      }
      ShowElement(e, t, n) {
        let a = this.GetEmbeddedElement(e);
        (a.activeObject = n), a.instance.Show(t);
      }
      HideElement(e, t, n) {
        let a = this.GetEmbeddedElement(e);
        a.activeObject == t && ((a.activeObject = void 0), a.instance.Hide(n));
      }
      GetEmbeddedElement(e) {
        let t = this.m_mapEmbeddedHovers.get(e);
        return (
          t || ((t = new i(e.body)), this.m_mapEmbeddedHovers.set(e, t)), t
        );
      }
    }
  },
  "eo/R": function (e, t, n) {
    "use strict";
    n("AQa9");
  },
  eo5u: function (e, t, n) {
    e.exports = {
      ReferencedApps: "partnereventreferencedapps_ReferencedApps_1T99o",
    };
  },
  ewwH: function (e, t, n) {
    "use strict";
    n.d(t, "e", function () {
      return a;
    }),
      n.d(t, "d", function () {
        return r;
      }),
      n.d(t, "f", function () {
        return y;
      }),
      n.d(t, "b", function () {
        return E;
      }),
      n.d(t, "a", function () {
        return C;
      }),
      n.d(t, "g", function () {
        return w;
      }),
      n.d(t, "c", function () {
        return B;
      });
    var a,
      r,
      i = n("mrSG"),
      s = n("vDqi"),
      o = n.n(s),
      l = n("q1tI"),
      c = (n("Q8oI"), n("gu54")),
      d = (n("5VAZ"), n("nJCB")),
      u = (n("PEc5"), n("A5uu")),
      m = n("xSFm"),
      p = n("YP3x"),
      h = n("oB2E"),
      _ = (n("/loZ"), n("Mx8f")),
      g = n("D6PB"),
      b = n("+h+B"),
      f = n("KT6v"),
      v = n("aaBf"),
      S = n("0D+i");
    !(function (e) {
      (e[(e.k_EStatusString = 0)] = "k_EStatusString"),
        (e[(e.k_ECreator = 1)] = "k_ECreator"),
        (e[(e.k_ECurator = 2)] = "k_ECurator"),
        (e[(e.k_ETags = 3)] = "k_ETags"),
        (e[(e.k_EDisplayList = 4)] = "k_EDisplayList");
    })(a || (a = {})),
      (function (e) {
        (e[(e.k_EUnknown = 0)] = "k_EUnknown"),
          (e[(e.k_EPublisher = 1)] = "k_EPublisher"),
          (e[(e.k_EDeveloper = 2)] = "k_EDeveloper"),
          (e[(e.k_EPublisherDeveloper = 3)] = "k_EPublisherDeveloper"),
          (e[(e.k_EMacPortDeveloper = 4)] = "k_EMacPortDeveloper"),
          (e[(e.k_ELinuxPortDeveloper = 5)] = "k_ELinuxPortDeveloper"),
          (e[(e.k_EFranchise = 6)] = "k_EFranchise");
      })(r || (r = {}));
    function y(e, t, n, a) {
      let r = e;
      return (
        "category" === e && (r += "_" + t),
        "tags" === e && (r += "_" + n),
        a && (r += "_" + a),
        r
      );
    }
    class E {
      constructor() {
        (this.m_mapDefinition = new Map()),
          (this.m_mapTitle = new Map()),
          (this.m_mapMainCarousel = new Map()),
          (this.m_mapSections = new Map()),
          (this.m_mapPartnerTakeover = new Map()),
          (this.m_mapBroadcasts = new Map()),
          (this.m_mapPromiseForHub = new Map()),
          (this.m_searchPreferences = Object(v.g)(
            "search_preferences",
            "application_config",
          ));
        const e = Object(v.g)("ch_hub_data", "application_config");
        if (e) {
          const t = e.strHubType || void 0,
            n = "category" === t ? e.strCategory || "" : void 0,
            a = ("tags" === t && Number(e.nTagID)) || void 0;
          this.LoadContentHubDataFromConfig(t, n, a);
        }
      }
      BHasDefinition(e, t, n) {
        return this.m_mapDefinition.has(y(e, t, n));
      }
      BHasTitle(e, t, n) {
        return this.m_mapTitle.has(y(e, t, n));
      }
      BHasMainCarousel(e, t, n) {
        var a;
        return Boolean(
          null === (a = this.m_mapMainCarousel.get(y(e, t, n))) || void 0 === a
            ? void 0
            : a.rgMainCapsule,
        );
      }
      BHasSections(e, t, n, a) {
        var r;
        return Boolean(
          null === (r = this.m_mapSections.get(y(e, t, n, a))) || void 0 === r
            ? void 0
            : r.mapOtherCarousels,
        );
      }
      BHasPartnerTakeover(e, t, n) {
        return this.m_mapPartnerTakeover.has(y(e, t, n));
      }
      BHasBroadcasts(e, t, n, a) {
        return this.m_mapBroadcasts.has(y(e, t, n, a));
      }
      GetDefinition(e, t, n) {
        return this.m_mapDefinition.get(y(e, t, n));
      }
      GetTitle(e, t, n) {
        return this.m_mapTitle.get(y(e, t, n));
      }
      GetMainCarousel(e, t, n) {
        return this.m_mapMainCarousel.get(y(e, t, n));
      }
      GetSections(e, t, n, a) {
        return this.m_mapSections.get(y(e, t, n, a));
      }
      GetPartnerTakeover(e, t, n) {
        return this.m_mapPartnerTakeover.get(y(e, t, n));
      }
      GetBroadcasts(e, t, n, a) {
        return this.m_mapBroadcasts.get(y(e, t, n, a));
      }
      LoadDefinition(e, t, n, a, r, s, o) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n);
          if (!this.BHasDefinition(e, t, n))
            return (
              this.m_mapPromiseForHub.has(i) ||
                this.m_mapPromiseForHub.set(
                  i,
                  this.InternalLoadContentHubData(e, t, n, a, r, s, o),
                ),
              this.m_mapPromiseForHub.get(i)
            );
        });
      }
      LoadTitle(e, t, n, a, r, s, o) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n);
          if (!this.BHasTitle(e, t, n))
            return (
              this.m_mapPromiseForHub.has(i) ||
                this.m_mapPromiseForHub.set(
                  i,
                  this.InternalLoadContentHubData(e, t, n, a, r, s, o),
                ),
              this.m_mapPromiseForHub.get(i)
            );
        });
      }
      LoadMainCarousel(e, t, n, a, r, s, o) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n);
          if (!this.BHasMainCarousel(e, t, n))
            return (
              this.m_mapPromiseForHub.has(i) ||
                this.m_mapPromiseForHub.set(
                  i,
                  this.InternalLoadContentHubData(e, t, n, a, r, s, o),
                ),
              this.m_mapPromiseForHub.get(i)
            );
        });
      }
      LoadSections(e, t, n, a, r, s, o, l, c) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n, a);
          if (!this.BHasSections(e, t, n, a))
            return (
              this.m_mapPromiseForHub.has(i) ||
                this.m_mapPromiseForHub.set(
                  i,
                  this.InternalLoadContentHubData(e, t, n, s, o, l, c, a, r),
                ),
              this.m_mapPromiseForHub.get(i)
            );
        });
      }
      LoadPartnerTakeover(e, t, n, a, r, s, o) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n);
          if (!this.BHasPartnerTakeover(e, t, n))
            return (
              this.m_mapPromiseForHub.has(i) ||
                this.m_mapPromiseForHub.set(
                  i,
                  this.InternalLoadContentHubData(e, t, n, a, r, s, o),
                ),
              this.m_mapPromiseForHub.get(i)
            );
        });
      }
      LoadBroadcasts(e, t, n, a, r, s, o, l, c) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n, a);
          if (!this.BHasBroadcasts(e, t, n, a))
            return (
              this.m_mapPromiseForHub.has(i) ||
                this.m_mapPromiseForHub.set(
                  i,
                  this.InternalLoadContentHubData(e, t, n, s, o, l, c, a, r),
                ),
              this.m_mapPromiseForHub.get(i)
            );
        });
      }
      BIsPartnerTakeoverActive(e, t, n) {
        var a;
        return (
          this.BHasPartnerTakeover(e, t, n) &&
          Boolean(
            null === (a = this.GetPartnerTakeover(e, t, n)) || void 0 === a
              ? void 0
              : a.strPageBackgroundURL,
          )
        );
      }
      InternalLoadContentHubData(e, t, n, a, r, s, l, d, u) {
        var m, p;
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(e, t, n),
            _ = y(e, t, n, d);
          if (
            (this.LoadContentHubDataFromConfig(e, t, n, d),
            !(
              this.m_mapTitle.has(i) &&
              this.m_mapMainCarousel.has(i) &&
              this.m_mapSections.has(_) &&
              this.m_mapPartnerTakeover.has(i) &&
              this.m_mapBroadcasts.has(_)
            ))
          ) {
            const a = v.c.STORE_BASE_URL + "contenthub/ajaxgetcontenthubdata",
              c = {
                hubtype: e,
                category: t,
                tagid: n,
                prune_list_optin_name: r || void 0,
                optin_tagid: s || void 0,
                optin_prune_tagid: l || void 0,
                tabuniqueid: d,
                tabfilter: u,
              },
              h = yield o.a.get(a, { params: c, withCredentials: !0 });
            if (
              1 ===
              (null === (m = null == h ? void 0 : h.data) || void 0 === m
                ? void 0
                : m.success)
            ) {
              if (
                (S.a.Get().SetHomeViewSetting(h.data.homeViewSetting),
                S.a
                  .Get()
                  .SetHomeViewSettingOverride(h.data.homeViewSettingOverride),
                (this.m_searchPreferences = h.data.searchPreferences),
                !this.m_mapTitle.has(i))
              ) {
                const e = {
                  strTitle: h.data.title,
                  strSubtitle: h.data.subtitle,
                };
                this.m_mapTitle.set(i, e);
              }
              if (!this.m_mapMainCarousel.has(i)) {
                const e = { mapAppLists: new Map() };
                this.SetAppListData(e.mapAppLists, h.data.mainListData),
                  this.m_mapMainCarousel.set(i, e);
              }
              if (!this.m_mapSections.has(_)) {
                const e = {
                  mapAppLists: new Map(),
                  rgSections: h.data.sectionData,
                  mapSectionsID: new Map(),
                };
                this.SetAppListData(e.mapAppLists, h.data.sectionListData),
                  this.SetSectionData(e.mapSectionsID, h.data.sectionData),
                  this.m_mapSections.set(_, e);
              }
              this.m_mapPartnerTakeover.has(i) ||
                this.m_mapPartnerTakeover.set(i, h.data.partnerTakeover),
                this.m_mapBroadcasts.has(_) ||
                  this.m_mapBroadcasts.set(
                    _,
                    null === (p = h.data.broadcasts) || void 0 === p
                      ? void 0
                      : p.filtered,
                  );
            }
          }
          const g = [];
          for (const e of Array.from(
            this.m_mapMainCarousel.get(i).mapAppLists.keys(),
          ))
            for (const t of this.m_mapMainCarousel.get(i).mapAppLists.get(e)
              .apps)
              g.push(E.SaleCapsuleFromContentHubCapsule(t));
          for (const e of Array.from(
            this.m_mapSections.get(_).mapAppLists.keys(),
          ))
            for (const t of this.m_mapSections.get(_).mapAppLists.get(e).apps)
              g.push(E.SaleCapsuleFromContentHubCapsule(t));
          yield Object(h.g)(g, c.e),
            this.ReplaceSingleAppPackagesWithApps(i, _),
            yield this.ApplyUserAndHomeViewFilters(i, _, a),
            yield this.UpdateRecommendationReasons(i);
        });
      }
      ApplyUserAndHomeViewFilters(e, t, n) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const a = new c.a(),
            r = Object.assign(Object.assign({}, S.a.Get().GetHomeView()), {
              only_current_platform: !0,
              games_already_in_library: this.m_searchPreferences.hide_owned,
              enforce_minimum: !1,
            });
          yield this.BuildFeaturedCarouselContent(e, a, r, n),
            yield this.BuildAllOtherCarouselContent(t, a, r);
        });
      }
      ReplaceSingleAppPackagesWithApps(e, t) {
        this.m_mapMainCarousel.get(e).mapAppLists.forEach((t, n) => {
          this.m_mapMainCarousel
            .get(e)
            .mapAppLists.set(
              n,
              this.ReplaceSingleAppPackagesWithAppsForList(t),
            );
        }),
          this.m_mapSections.get(t).mapAppLists.forEach((e, n) => {
            this.m_mapSections
              .get(t)
              .mapAppLists.set(
                n,
                this.ReplaceSingleAppPackagesWithAppsForList(e),
              );
          });
      }
      ReplaceSingleAppPackagesWithAppsForList(e) {
        const t = e.apps.map((e) => {
          var t;
          if ("sub" === e.item_type) {
            const n = u.a.Get().GetPackage(e.id);
            if (
              1 ===
              (null === (t = null == n ? void 0 : n.GetIncludedAppIDs()) ||
              void 0 === t
                ? void 0
                : t.length)
            ) {
              return Object.assign(Object.assign({}, e), {
                item_type: "app",
                id: n.GetIncludedAppIDs()[0],
              });
            }
          }
          return e;
        });
        return Object.assign(Object.assign({}, e), { apps: t });
      }
      UpdateRecommendationReasons(e, t, n) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const a = y(e, t, n),
            r = this.m_mapMainCarousel
              .get(a)
              .rgMainCapsule.map((a) =>
                this.UpdateRecommendationReasonForCapsule(a, e, t, n),
              );
          yield Promise.all(r);
        });
      }
      BuildAllOtherCarouselContent(e, t, n) {
        var a;
        return Object(i.a)(this, void 0, void 0, function* () {
          this.m_mapSections.get(e).mapOtherCarousels = new Map();
          for (const r of this.m_mapSections.get(e).rgSections) {
            const i = this.m_mapSections.get(e).mapAppLists.get(r.id);
            if (
              (null === (a = null == i ? void 0 : i.apps) || void 0 === a
                ? void 0
                : a.length) > 0
            ) {
              let a = Object(c.b)(i.apps, n, t, 40, 4);
              this.m_mapSections.get(e).mapOtherCarousels.set(r.id, a);
            }
          }
        });
      }
      static ZipperMerge(e, t) {
        for (const t of e) Object(_.f)(t);
        const n = new Array();
        e.forEach((e) => n.push(0));
        const a = [];
        let r = 1;
        for (; a.length < 12 && r <= c.d; ) {
          let i = !1;
          for (let s = 0; s < e.length; ++s) {
            const o = e[s],
              l = n[s];
            if (l < o.length && o[l].priority <= r) {
              (i = !0), (n[s] += 1);
              const e = o[l];
              if (
                (t.BHasStoreItemKey(e) || (a.push(e), t.AddStoreItemKey(e)),
                a.length >= 12)
              )
                break;
            }
          }
          i || (r += 1);
        }
        return a;
      }
      BuildFeaturedCarouselContent(e, t, n, a) {
        var r, s;
        return Object(i.a)(this, void 0, void 0, function* () {
          let i = Object(c.b)(
            null ===
              (r = this.m_mapMainCarousel.get(e).mapAppLists.get("featured")) ||
              void 0 === r
              ? void 0
              : r.apps,
            n,
            t,
            12,
            4,
          );
          (i =
            null == i
              ? void 0
              : i.filter(
                  (e) => "bundle" !== e.item_type && "sub" !== e.item_type,
                )),
            (this.m_mapMainCarousel.get(e).rgMainCapsule = E.ZipperMerge(
              [i],
              t,
            ));
          let o = [
            "featured_recommended",
            "top_sellers",
            "specials",
            "concurrent",
          ];
          o = o.filter((t) => this.m_mapMainCarousel.get(e).mapAppLists.has(t));
          const l = o.map((t) =>
            this.m_mapMainCarousel.get(e).mapAppLists.get(t),
          );
          for (const e of l)
            e &&
              ((e.apps =
                null === (s = e.apps) || void 0 === s
                  ? void 0
                  : s.filter(
                      (e) => "bundle" !== e.item_type && "sub" !== e.item_type,
                    )),
              (e.apps = Object(c.b)(e.apps || [], n, t, 12, 4)));
          if (
            ((this.m_mapMainCarousel.get(e).rgMainCapsule =
              this.m_mapMainCarousel.get(e).rgMainCapsule.concat(
                E.ZipperMerge(
                  l.map((e) => e.apps),
                  t,
                ),
              )),
            Object(_.f)(this.m_mapMainCarousel.get(e).rgMainCapsule),
            a)
          ) {
            const t = [],
              n = [];
            for (const a of this.m_mapMainCarousel.get(e).rgMainCapsule)
              Object(h.c)(E.SaleCapsuleFromContentHubCapsule(a))
                ? t.push(a)
                : n.push(a);
            this.m_mapMainCarousel.get(e).rgMainCapsule = t.concat(n);
          }
        });
      }
      UpdateRecommendationReasonForCapsule(e, t, n, s) {
        return Object(i.a)(this, void 0, void 0, function* () {
          const i = y(t, n, s),
            o = yield Object(h.g)([E.SaleCapsuleFromContentHubCapsule(e)], c.e),
            l = u.a.Get().GetStoreItem(e.id, Object(m.j)(e.item_type)),
            _ = null == l ? void 0 : l.GetCapsuleHeadline();
          if (_)
            return void (e.recommendation = {
              reason: a.k_EStatusString,
              statusString: _,
            });
          let g = new Array(),
            b = "game";
          for (const e of o) {
            const t = u.a.Get().GetApp(e);
            if (t) {
              g = g.concat(t.GetTagIDs());
              const e = Object(m.b)(t.GetStoreItemType(), t.GetAppType());
              ("software" !== e && "video" !== e) || (b = e);
            }
          }
          yield p.a.Get().QueueMultipleTagLoads(g);
          let f = g
            .map((e) => p.a.Get().GetTagID(e))
            .filter(Boolean)
            .map((e) => ({ tagid: e.tagid, name: e.name }));
          const v = [];
          for (const e of f) {
            if (v.length > E.k_nMaxMatchingRecommendedTags) break;
            ("tags" === t && s === e.tagid) ||
              (d.a.Get().GetRecommendedTags().has(e.tagid) && v.push(e));
          }
          if (v.length < E.k_nMaxMatchingRecommendedTags) {
            const t = (function (e) {
              const t = new Map(),
                n = e.GetAllDeveloperCreatorClans(),
                a = e.GetAllPublisherCreatorClans(),
                i = e.GetAllFranchiseCreatorClans();
              for (const e of i) t.set(e, r.k_EFranchise);
              for (const e of a) t.set(e, r.k_EPublisher);
              for (const e of n) t.set(e, r.k_EDeveloper);
              return t;
            })(l);
            if (t)
              for (const n of t.keys())
                if (d.a.Get().BIsFollowingCurator(n))
                  return void (e.recommendation = {
                    reason: a.k_ECreator,
                    creator: { creator: n, relationship: t.get(n) },
                  });
            if (
              "app" === e.item_type &&
              e.id &&
              d.a.Get().BIsAppRecommendedBySomeCurator(e.id)
            ) {
              const t = d.a.Get().GetRecommendingCuratorsForApp(e.id);
              return void (e.recommendation = {
                reason: a.k_ECurator,
                curator: t[Math.floor(Math.random() * t.length)],
              });
            }
          }
          if (v.length > 0)
            return void (e.recommendation = {
              reason: a.k_ETags,
              tags: v,
              appType: b,
            });
          let S = [
            "top_sellers",
            "popular_new",
            "specials",
            "concurrent",
            "featured",
          ];
          S = S.filter((e) => this.m_mapMainCarousel.get(i).mapAppLists.has(e));
          const C = new Map();
          S.forEach((e) => {
            C.set(
              e,
              this.m_mapMainCarousel.get(i).mapAppLists.get(e).apps || [],
            );
          });
          for (const t of S)
            for (const n of C.get(t))
              if (e.item_type === n.item_type && e.id === n.id)
                return void (e.recommendation = {
                  reason: a.k_EDisplayList,
                  displayListName: t,
                });
          e.recommendation = { reason: a.k_EStatusString, statusString: "" };
        });
      }
      static SaleCapsuleFromContentHubCapsule(e) {
        let t,
          n = e.id;
        return (
          (t =
            "bundle" === e.item_type
              ? "bundle"
              : "sub" === e.item_type
                ? "sub"
                : "game"),
          { id: n, type: t }
        );
      }
      static Get() {
        return (
          E.s_globalSingletonStore ||
            ((E.s_globalSingletonStore = new E()),
            "dev" == v.c.WEB_UNIVERSE &&
              (window.g_ContentHubStore = E.s_globalSingletonStore)),
          E.s_globalSingletonStore
        );
      }
      LoadContentHubDataFromConfig(e, t, n, a) {
        const r = y(e, t, n),
          i = null != a ? y(e, t, n, a) : r,
          s = "_" + (null != a ? a : "*");
        if (!this.m_mapDefinition.has(r)) {
          const e = Object(v.g)("ch_static_data", "application_config");
          e && this.m_mapDefinition.set(r, e);
        }
        if (!this.m_mapTitle.has(r)) {
          const e = Object(v.g)("ch_title_data", "application_config");
          e && this.m_mapTitle.set(r, e);
        }
        if (!this.m_mapMainCarousel.has(r)) {
          const e = Object(v.g)("ch_main_list_data", "application_config");
          if (this.ValidateAppListData(e)) {
            const t = { mapAppLists: new Map() };
            this.SetAppListData(t.mapAppLists, e),
              this.m_mapMainCarousel.set(r, t);
          }
        }
        if (!this.m_mapSections.has(i)) {
          const e = Object(v.g)(
              "ch_section_list_data" + s,
              "application_config",
            ),
            t = Object(v.g)("ch_section_data" + s, "application_config");
          if (this.ValidateAppListData(e) && this.ValidateSectionData(t)) {
            const n = {
              mapAppLists: new Map(),
              rgSections: t,
              mapSectionsID: new Map(),
            };
            this.SetAppListData(n.mapAppLists, e),
              this.SetSectionData(n.mapSectionsID, t),
              this.m_mapSections.set(i, n);
          }
        }
        if (!this.m_mapPartnerTakeover.has(r)) {
          const e = Object(v.g)(
            "ch_partner_takeover_data",
            "application_config",
          );
          e && this.m_mapPartnerTakeover.set(r, e);
        }
        if (!this.m_mapBroadcasts.has(i)) {
          const e = Object(v.g)("ch_broadcasts_data" + s, "application_config");
          e && this.m_mapBroadcasts.set(i, e);
        }
      }
      ValidateSectionData(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].title && "string" == typeof t[0].id &&
          "string" == typeof t[0].type
        );
      }
      SetSectionData(e, t) {
        t.forEach((t) => e.set(t.id, t));
      }
      ValidateAppListData(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].id &&
          Array.isArray(t[0].apps)
        );
      }
      SetAppListData(e, t) {
        t.forEach((t) => {
          e.set(t.id, t);
        });
      }
    }
    E.k_nMaxMatchingRecommendedTags = 4;
    class C {
      constructor() {
        (this.m_reduceMotionCallbacks = new b.a()), (this.m_bReduceMotion = !0);
      }
      GetReduceMotion() {
        return this.m_bReduceMotion;
      }
      SetReduceMotion(e) {
        window.localStorage.setItem(
          "contenthub_reducemotion",
          e ? "true" : "false",
        ),
          (this.m_bReduceMotion = e),
          this.m_reduceMotionCallbacks.Dispatch(this.m_bReduceMotion);
      }
      GetReduceMotionCallbackList() {
        return this.m_reduceMotionCallbacks;
      }
      static Get() {
        return (
          C.s_singleton ||
            ((C.s_singleton = new C()),
            "dev" == v.c.WEB_UNIVERSE &&
              (window.g_ContentHubSettingsStore = C.s_singleton)),
          C.s_singleton
        );
      }
    }
    function w() {
      const [e, t] = Object(l.useState)(C.Get().GetReduceMotion());
      return Object(f.e)(C.Get().GetReduceMotionCallbackList(), t), e;
    }
    class B {
      constructor() {
        (this.m_mapDiscountRangeForVanityURL = new Map()),
          (this.m_mapPromiseForVanityURL = new Map());
      }
      BHasDiscountRange(e) {
        return this.m_mapDiscountRangeForVanityURL.has(e);
      }
      GetDiscountRange(e) {
        return this.m_mapDiscountRangeForVanityURL.get(e);
      }
      LoadDiscountRange(e) {
        return Object(i.a)(this, void 0, void 0, function* () {
          return this.BHasDiscountRange(e)
            ? this.GetDiscountRange(e)
            : (this.m_mapPromiseForVanityURL.has(e) ||
                this.m_mapPromiseForVanityURL.set(
                  e,
                  this.InternalLoadDiscountRange(e),
                ),
              this.m_mapPromiseForVanityURL.get(e));
        });
      }
      InternalLoadDiscountRange(e) {
        var t;
        return Object(i.a)(this, void 0, void 0, function* () {
          const n =
              v.c.STORE_BASE_URL + "contenthub/ajaxgetsalepagediscountsummary",
            a = { vanity_url: e },
            r = {};
          let i = null;
          try {
            const s = yield o.a.get(n, { params: a, withCredentials: !0 });
            if (
              1 ===
              (null === (t = null == s ? void 0 : s.data) || void 0 === t
                ? void 0
                : t.success)
            )
              return (
                (r.discount_min = s.data.discount_min),
                (r.discount_max = s.data.discount_max),
                this.m_mapDiscountRangeForVanityURL.set(e, r),
                r
              );
            i = Object(g.a)(s);
          } catch (e) {
            i = Object(g.a)(e);
          }
          return (
            console.error(
              "CSalePageDiscountSummaryStore.InternalLoadDiscountRange failed: " +
                (null == i ? void 0 : i.strErrorMsg),
              i,
            ),
            r
          );
        });
      }
      static Get() {
        return (
          B.s_singleton ||
            ((B.s_singleton = new B()),
            "dev" === v.c.WEB_UNIVERSE &&
              (window.g_SalePageDiscountSummaryStore = B.s_singleton)),
          B.s_singleton
        );
      }
    }
  },
  exEy: function (e, t, n) {
    "use strict";
    n.d(t, "j", function () {
      return o;
    }),
      n.d(t, "f", function () {
        return l;
      }),
      n.d(t, "h", function () {
        return c;
      }),
      n.d(t, "g", function () {
        return u;
      }),
      n.d(t, "i", function () {
        return h;
      }),
      n.d(t, "b", function () {
        return _;
      }),
      n.d(t, "d", function () {
        return y;
      }),
      n.d(t, "c", function () {
        return E;
      }),
      n.d(t, "e", function () {
        return w;
      }),
      n.d(t, "a", function () {
        return B;
      });
    var a,
      r = n("CqJL"),
      i = n("ZvQN"),
      s = n("Gp1o");
    function o(e, t, n) {
      let s;
      if ("boolean" == typeof t) {
        s = {
          eSuffix: t ? a.None : a.Ago,
          bForceSingleUnits: n,
          bHighGranularity: !1,
        };
      } else
        s = Object.assign(
          { eSuffix: a.Ago, bForceSingleUnits: !1, bHighGranularity: !1 },
          t,
        );
      let o = "#TimeInterval_";
      if (
        (s.eSuffix == a.Ago
          ? (o = "#TimeSince_")
          : s.eSuffix == a.Remaining && (o = "#TimeRemaining_"),
        e >= 2 * i.g.PerYear)
      )
        return Object(r.f)(o + "XYears", Math.floor(e / i.g.PerYear));
      if (e >= i.g.PerYear)
        return (e -= i.g.PerYear) >= 2 * i.g.PerMonth && !s.bForceSingleUnits
          ? Object(r.f)(o + "1YearXMonths", Math.floor(e / i.g.PerMonth))
          : Object(r.f)(o + "1Year");
      if (e >= 2 * i.g.PerMonth)
        return Object(r.f)(o + "XMonths", Math.floor(e / i.g.PerMonth));
      if (e >= 2 * i.g.PerWeek)
        return Object(r.f)(o + "XWeeks", Math.floor(e / i.g.PerWeek));
      if (e >= i.g.PerWeek)
        return Object(r.f)(o + "1Week", Math.floor(e / i.g.PerWeek));
      if (e >= 2 * i.g.PerDay)
        return Object(r.f)(o + "XDays", Math.floor(e / i.g.PerDay));
      if (e >= i.g.PerDay)
        return (e -= i.g.PerDay) >= 2 * i.g.PerHour && !s.bForceSingleUnits
          ? Object(r.f)(o + "1DayXHours", Math.floor(e / i.g.PerHour))
          : Object(r.f)(o + "1Day");
      if (e >= 2 * i.g.PerHour)
        return Object(r.f)(o + "XHours", Math.floor(e / i.g.PerHour));
      if (e >= i.g.PerHour)
        return (e -= i.g.PerHour) >= 2 * i.g.PerMinute && !s.bForceSingleUnits
          ? Object(r.f)(o + "1HourXMinutes", Math.floor(e / i.g.PerMinute))
          : Object(r.f)(o + "1Hour");
      if (e >= 2 * i.g.PerMinute) {
        const t = Math.floor(e / i.g.PerMinute),
          n = e % i.g.PerMinute;
        return s.bHighGranularity && 0 != n
          ? 1 == n
            ? Object(r.f)(o + "XMinutes1Second", t)
            : Object(r.f)(o + "XMinutesXSeconds", t, n)
          : Object(r.f)(o + "XMinutes", t);
      }
      if (e >= i.g.PerMinute) {
        const t = e % i.g.PerMinute;
        return s.bHighGranularity && 0 != t
          ? 1 == t
            ? Object(r.f)(o + "1Minute1Second")
            : Object(r.f)(o + "1MinuteXSeconds", t)
          : Object(r.f)(o + "1Minute");
      }
      return s.bHighGranularity
        ? 1 == e
          ? Object(r.f)(o + "1Second")
          : Object(r.f)(o + "XSeconds", e)
        : Object(r.f)(o + "LessThanAMinute");
    }
    function l(e, t, n) {
      const a = {
        weekday: n ? "long" : "short",
        month: "long",
        day: "numeric",
        year: t ? void 0 : "numeric",
      };
      return new Date(1e3 * e).toLocaleDateString(r.e.GetPreferredLocales(), a);
    }
    function c(e) {
      let t = new Date(1e3 * e);
      const n = t.setHours(0, 0, 0, 0);
      let a = m.get(n);
      if (a) return a;
      return (
        (a = t.toLocaleDateString(r.e.GetPreferredLocales(), {
          year: "numeric",
          month: "short",
          day: "numeric",
        })),
        m.set(n, a),
        a
      );
    }
    !(function (e) {
      (e[(e.None = 0)] = "None"),
        (e[(e.Ago = 1)] = "Ago"),
        (e[(e.Remaining = 2)] = "Remaining");
    })(a || (a = {}));
    new Map();
    const d = new Map();
    function u(e, t) {
      const n = new Date(1e3 * e),
        a = r.e.GetPreferredLocales(),
        i =
          t.bForce24HourClock ||
          (function (e) {
            let t = d.get(e);
            if (!0 === t || !1 === t) return t;
            const n = new Date();
            return (
              n.setHours(15),
              (t =
                n.toLocaleTimeString(e, { hour: "numeric" }) ==
                n.toLocaleTimeString(e, { hour: "numeric", hour12: !1 })),
              d.set(e, t),
              t
            );
          })(a[0]);
      return n.toLocaleTimeString(
        a,
        i
          ? { hour: "numeric", minute: "2-digit", hourCycle: "h23" }
          : { hour: "numeric", minute: "2-digit" },
      );
    }
    const m = new Map(),
      p = new Map();
    function h(e, t, n = !0, a = !0) {
      const i = new Date(),
        o = new Date(1e3 * e);
      if (o.getFullYear() != i.getFullYear()) return c(e);
      a && s.b(new Date().setHours(24, 0, 0, 0) - i.getTime());
      const l = new Date();
      if ((l.setHours(0, 0, 0, 0), n))
        if (o >= l) {
          if ((l.setDate(l.getDate() + 1), o < l))
            return Object(r.f)("#Time_Today");
          if ((l.setDate(l.getDate() + 1), o < l))
            return Object(r.f)("#Time_Tomorrow");
        } else if ((l.setDate(l.getDate() - 1), o >= l))
          return Object(r.f)("#Time_Yesterday");
      const d = { month: t ? "long" : "short", day: "numeric" },
        u = o.setHours(0, 0, 0, 0) + d.month;
      let m = p.get(u);
      return (
        m ||
        ((m = o.toLocaleDateString(r.e.GetPreferredLocales(), d)),
        p.set(u, m),
        m)
      );
    }
    function _(e, t) {
      const n = new Date(1e3 * e),
        a = new Date(),
        o = Object.assign(
          {
            bGranularFutureTime: !1,
            bGranularTodayTimeOnly: !1,
            bGranularToday: !1,
            bGranularYesterday: !1,
            bGranularWeek: !1,
            bGranularPast: !1,
            bAbbreviateDayOfWeek: !1,
            bForce24HourClock: !1,
          },
          t,
        );
      if (n > a) {
        if (!o.bGranularFutureTime)
          return (
            s.b(n.getTime() - a.getTime()),
            n.getFullYear() == a.getFullYear() ? C(n) : B(n)
          );
        s.b(new Date().setHours(24, 0, 0, 0) - a.getTime());
        let e = new Date();
        return (
          e.setHours(0, 0, 0, 0),
          e.setDate(e.getDate() + 1),
          n < e
            ? Object(r.f)("#Time_Today")
            : (e.setDate(e.getDate() + 1),
              n < e
                ? Object(r.f)("#Time_Tomorrow")
                : (e.setDate(e.getDate() + 5),
                  n < e ? E(n) : y(n, !0, o.bAbbreviateDayOfWeek)))
        );
      }
      s.b(new Date().setHours(24, 0, 0, 0) - a.getTime());
      let c = new Date();
      if ((c.setHours(0, 0, 0, 0), n >= c))
        return o.bGranularToday
          ? o.bGranularTodayTimeOnly
            ? u(e, { bForce24HourClock: o.bForce24HourClock })
            : Object(r.f)(
                "#Time_Today_At",
                u(e, { bForce24HourClock: o.bForce24HourClock }),
              )
          : Object(r.f)("#Time_Today");
      if ((c.setDate(a.getDate() - 1), n >= c))
        return o.bGranularYesterday
          ? Object(r.f)(
              "#Time_Yesterday_At",
              u(e, { bForce24HourClock: o.bForce24HourClock }),
            )
          : Object(r.f)("#Time_Yesterday");
      c.setDate(a.getDate() - 6);
      const d = new Date(c);
      if (o.bGranularWeek && n >= d) return y(n, !1, !o.bAbbreviateDayOfWeek);
      if (o.bGranularPast)
        return Object(r.f)(
          "#Time_Past_At",
          l(e, n.getFullYear() == a.getFullYear(), !o.bAbbreviateDayOfWeek),
          u(e, { bForce24HourClock: o.bForce24HourClock }),
        );
      if (n >= d) return Object(r.f)("#TimeSince_ThisWeek");
      if (n.getMonth() == a.getMonth() && n.getFullYear() == a.getFullYear()) {
        const e =
          Math.floor((d.valueOf() - n.valueOf()) / (1e3 * i.g.PerWeek)) + 1;
        return 1 == e
          ? Object(r.f)("#TimeSince_1Week")
          : Object(r.f)("#TimeSince_XWeeks", e);
      }
      return n.getFullYear() == a.getFullYear() ? C(n) : B(n);
    }
    const g = new Map(),
      b = new Map(),
      f = new Map(),
      v = new Map(),
      S = new Map();
    function y(e, t = !1, n = !0) {
      const a = {
          weekday: n ? "long" : "short",
          day: "numeric",
          month: t ? "long" : "short",
        },
        i = e.setHours(0, 0, 0, 0) + a.weekday + a.month;
      let s = S.get(i);
      return (
        s ||
        ((s = e.toLocaleDateString(r.e.GetPreferredLocales(), a)),
        S.set(i, s),
        s)
      );
    }
    function E(e) {
      let t = g.get(e.getDay());
      return (
        t ||
        ((t = e.toLocaleDateString(r.e.GetPreferredLocales(), {
          weekday: "long",
        })),
        g.set(e.getDay(), t),
        t)
      );
    }
    function C(e) {
      let t = b.get(e.getMonth());
      return (
        t ||
        ((t = e.toLocaleDateString(r.e.GetPreferredLocales(), {
          month: "long",
        })),
        b.set(e.getMonth(), t),
        t)
      );
    }
    function w(e) {
      let t = f.get(e.getFullYear());
      return (
        t ||
        ((t = e.toLocaleDateString(r.e.GetPreferredLocales(), {
          year: "numeric",
        })),
        f.set(e.getFullYear(), t),
        t)
      );
    }
    function B(e) {
      const t = e.getMonth() + 12 * e.getFullYear();
      let n = v.get(t);
      return (
        n ||
        ((n = e.toLocaleDateString(r.e.GetPreferredLocales(), {
          month: "long",
          year: "numeric",
        })),
        v.set(t, n),
        n)
      );
    }
  },
  "f/MQ": function (e, t, n) {
    var a = {
      "./shared_arabic.json": ["jIkB", 59],
      "./shared_brazilian.json": ["G2OC", 60],
      "./shared_bulgarian.json": ["chZn", 61],
      "./shared_czech.json": ["wXMi", 62],
      "./shared_danish.json": ["16zJ", 63],
      "./shared_dutch.json": ["T4Ea", 64],
      "./shared_english.json": ["lgoP", 65],
      "./shared_finnish.json": ["KWIK", 66],
      "./shared_french.json": ["2Qr7", 67],
      "./shared_german.json": ["RANF", 68],
      "./shared_greek.json": ["g5VV", 69],
      "./shared_hungarian.json": ["A4Lu", 70],
      "./shared_italian.json": ["94cH", 71],
      "./shared_japanese.json": ["7d2J", 72],
      "./shared_koreana.json": ["1NHX", 73],
      "./shared_latam.json": ["hDMy", 74],
      "./shared_norwegian.json": ["Fx5H", 75],
      "./shared_polish.json": ["KKOP", 76],
      "./shared_portuguese.json": ["pGIj", 77],
      "./shared_romanian.json": ["ea60", 78],
      "./shared_russian.json": ["olfj", 79],
      "./shared_sc_schinese.json": ["uwVd", 80],
      "./shared_schinese.json": ["bJqb", 81],
      "./shared_spanish.json": ["mQ1b", 82],
      "./shared_swedish.json": ["wu4x", 83],
      "./shared_tchinese.json": ["+ojz", 84],
      "./shared_thai.json": ["p70/", 85],
      "./shared_turkish.json": ["mF/K", 86],
      "./shared_ukrainian.json": ["E1pX", 87],
      "./shared_vietnamese.json": ["V1Kg", 88],
    };
    function r(e) {
      if (!n.o(a, e))
        return Promise.resolve().then(function () {
          var t = new Error("Cannot find module '" + e + "'");
          throw ((t.code = "MODULE_NOT_FOUND"), t);
        });
      var t = a[e],
        r = t[0];
      return n.e(t[1]).then(function () {
        return n.t(r, 3);
      });
    }
    (r.keys = function () {
      return Object.keys(a);
    }),
      (r.id = "f/MQ"),
      (e.exports = r);
  },
  "f/iq": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      Heading: "managefriends_Heading_N0Bd3",
      Body: "managefriends_Body_38FZa",
      HeaderBlock: "managefriends_HeaderBlock_2vDHa",
      Background: "managefriends_Background_opxDL",
      DimBackground: "managefriends_DimBackground_3gBQF",
      Input: "managefriends_Input_2NRAE",
      CopyContainer: "managefriends_CopyContainer_133bn",
      Text: "managefriends_Text_3r5lq",
      Link: "managefriends_Link_2kERL",
      Button: "managefriends_Button_385V6",
      GenerateLinkButton: "managefriends_GenerateLinkButton_2xJDX",
      ProfileCard: "managefriends_ProfileCard_3Zjo5",
      UserContainer: "managefriends_UserContainer_5pHs2",
      Image: "managefriends_Image_3mCm2",
      ProfileContent: "managefriends_ProfileContent_11cx5",
      ProfileLink: "managefriends_ProfileLink_3TFMe",
      Failure: "managefriends_Failure_1zeiS",
      Success: "managefriends_Success_FkNjo",
    };
  },
  f86N: function (e, t, n) {
    e.exports = {
      ToolbarCtn: "savetoolbar_ToolbarCtn_Kfoep",
      Visible: "savetoolbar_Visible_3O9re",
      ToolbarPlaceHolder: "savetoolbar_ToolbarPlaceHolder_1Z5kE",
      ToolbarInfo: "savetoolbar_ToolbarInfo_5a6kg",
      ChangeCount: "savetoolbar_ChangeCount_zPEyH",
      Buttons: "savetoolbar_Buttons_2u2Ug",
      Button: "savetoolbar_Button_1ko4c",
      SaveButton: "savetoolbar_SaveButton_1HBCA",
      NavigationWarning: "savetoolbar_NavigationWarning_123Gv",
      DiscountTooLowWarning: "savetoolbar_DiscountTooLowWarning_3ACuu",
      DiscountTooHighWarning: "savetoolbar_DiscountTooHighWarning_3qgy8",
      DiscountTooLow: "savetoolbar_DiscountTooLow_3bgrT",
      DiscountTooHigh: "savetoolbar_DiscountTooHigh_3rdrE",
      NewDiscount: "savetoolbar_NewDiscount_2cO2z",
      SeeDetailsSection: "savetoolbar_SeeDetailsSection_2vKJr",
      SeeDetailsButton: "savetoolbar_SeeDetailsButton_1dqW3",
      DiscountSummaryList: "savetoolbar_DiscountSummaryList_2jhyJ",
      DiscountSummary: "savetoolbar_DiscountSummary_1bNwv",
      PackageName: "savetoolbar_PackageName_10l8z",
      DiscountDelta: "savetoolbar_DiscountDelta_FrNhS",
      DiscountEventName: "savetoolbar_DiscountEventName_2a8my",
      PreviousDiscount: "savetoolbar_PreviousDiscount_dyifE",
      MaxDiscount: "savetoolbar_MaxDiscount_3eLo5",
      DiscountArrow: "savetoolbar_DiscountArrow_2r8Z6",
      ProgressIcon: "savetoolbar_ProgressIcon_24b4e",
      ProgressIconBlank: "savetoolbar_ProgressIconBlank_3QeQi",
      ProgressIconCheck: "savetoolbar_ProgressIconCheck_32a73",
      ProgressIconWarning: "savetoolbar_ProgressIconWarning_3eTMD",
      ProgressIconError: "savetoolbar_ProgressIconError_3xfYZ",
      ProgressIconThrobber: "savetoolbar_ProgressIconThrobber_1h_MO",
      HoverToolTip: "savetoolbar_HoverToolTip_gba9O",
    };
  },
  "fX/S": function (e, t, n) {
    e.exports = { Image: "clanimagepickandresize_Image_xLlul" };
  },
  fbBP: function (e, t, n) {
    "use strict";
    function a(e) {
      if (!i() || !window.document.cookie) return null;
      let t = document.cookie.match("(^|; )" + e + "=([^;]*)");
      return t && t[2] ? decodeURIComponent(t[2]) : null;
    }
    function r(e, t, n, a) {
      if (!i()) return;
      a || (a = "/");
      let r = "";
      if (void 0 !== n && n) {
        let e = new Date();
        e.setTime(e.getTime() + 864e5 * n),
          (r = "; expires=" + e.toUTCString());
      }
      document.cookie =
        encodeURIComponent(e) + "=" + encodeURIComponent(t) + r + ";path=" + a;
    }
    function i() {
      return !!window.document;
    }
    n.d(t, "b", function () {
      return a;
    }),
      n.d(t, "c", function () {
        return r;
      }),
      n.d(t, "a", function () {
        return i;
      });
  },
  fgWs: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAAAgCAYAAAAPHGYtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8FJREFUeNrsWltIVEEYXs28ZPebEVq+BBGZIl1ALc0LaDd9q8gi6yl66LGgh24PPddDPkVXlCDIzbByqcwoSsEsWB80NKxIpIhKKiTdvh/+iZ/D6ZxZ3KNnaT74dmbOzM6emf8652xCJBIJGPgTiWYLjHAMjHCMcAwmCUn0sXN37VuzFRNCKxgEq8DeG43Xz8dMOMBys78TwmJwNvgLnBNTyxFoBDvMXmvjILia66/AMXDEK+G0wiQvmz3XA8JBiRIO9q0HRU/MY47LDexBMR0cxg20WPoyUZRzM4z+Tod5trD5K1zD+DGN369EsQQcxfgGl7GLUGzlZg/Gd1j681DkcTOE/g+W/vkodthM3Y2x3VOSELjgAFgKfqObt2xoLXiW67vAzn9sWgopFzhTXO4Fn2n8/jGwGPwKNriM/QnWg6lgG7jZ0n8CrAHHLYqisAy8ZHP9FAnIj6l0E5cU8NZZ+sq4HAVbHOYotggmIDQ8ZoDikL8PcbMASjFDKMg0FCXcbMfYzw5TUV+dYNOUpdIuoBRRpYbkwp7zYpNRFPL1B1jsd4c5lCA+gQMs5G3gcQ/WdAvcDiazUtzl6/ngXDHGCSN+iL2JGto4iOKlEI5CAZimuVjlxx8JC1sDAWd5sKbb7LYIFTZWHtCwhEw6+wmu8vMTgqCNq1AuIiL67eINLSxbWZjQ5ABbT6xdG7mkdhtlUvUuVrj4eEKgGXdOcta2CbwnFvsUix12+K4UAAmnn336AnZ39R65NlKeHChHBicThZpWTniPNWX73q2xNtIBSz3iKceC01Gu13QRKt4MYp434LgI2mWYK82Ddcl7qmAXnBqFcFLpDCOY7We3Jl0bWcxGtiLHxfK5oYibs9BuI6K+QW2CJRbEyrWR2+oSwinleh/6whpTZHB8VNzvZ7emtPEImMtnGsJrLLbf4TuVQgHmcfZkZ1l3PHJt+axM7zStZojPNFa0+V04T8AvvMl7NRcr481h8IdonwazeMwhj4RzBlzKdHXBULQhjq1xlRDQjY/BJTWjuk9Yg5NLo0NflXAnFyz9a1lglLbmclxzQjrG2W1uM7570eZ+wxjfh+oKvvQRfBFPz+6ifdkmU+YBlw0tEoe+kE3//ShTalKkahvmuFjP3/MPJyNxg6Qox9OGnuO626uF38J/252DHoq5nFLxmy7PtR479F0BU7h+NRBnSKC/RsH81f+j6swrA32wmyXrDWLfary2nJX8jsJADwsn060dZRrEYUJgMNkxx8BYjoERjhGOgRHO/40/AgwA6Pwl5bmDALcAAAAASUVORK5CYII=";
  },
  fvA7: function (e, t, n) {
    "use strict";
    function a(e, t, ...n) {
      console.assert
        ? 0 == n.length
          ? console.assert(!!e, t)
          : console.assert(!!e, t, ...n)
        : e || console.warn(t, ...n);
    }
    n.d(t, "a", function () {
      return a;
    });
  },
  gFJg: function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return r;
    }),
      n.d(t, "h", function () {
        return i;
      }),
      n.d(t, "e", function () {
        return s;
      }),
      n.d(t, "c", function () {
        return o;
      }),
      n.d(t, "g", function () {
        return l;
      }),
      n.d(t, "b", function () {
        return c;
      }),
      n.d(t, "f", function () {
        return d;
      }),
      n.d(t, "a", function () {
        return u;
      });
    var a = n("hRO2");
    const r = a.BinaryReader.prototype,
      i = a.BinaryWriter.prototype;
    function s(e) {
      let t = {};
      const { fields: n } = e;
      for (let e in n) {
        const a = n[e];
        t[a.n] = a;
      }
      return t;
    }
    function o(e, t) {
      const { proto: n, fields: r } = e,
        i = new n();
      for (let e in r) {
        const { n: n, c: s, r: o, d: l, q: c } = r[e];
        if (!t.hasOwnProperty(e)) continue;
        const d = t[e];
        s
          ? o
            ? a.Message.setRepeatedWrapperField(
                i,
                n,
                Array.isArray(d) ? d.map((e) => s.fromObject(e)) : [],
              )
            : a.Message.setWrapperField(i, n, s.fromObject(d))
          : a.Message.setField(i, n, d);
      }
      return i;
    }
    function l(e, t, n) {
      const { proto: r, fields: i } = e;
      let s = {};
      for (let e in i) {
        const { n: r, c: o, r: l, d: c, q: d } = i[e];
        if (o)
          if (l)
            s[e] = a.Message.toObjectList(
              a.Message.getRepeatedWrapperField(n, o, r),
              o.toObject,
              t,
            );
          else {
            const i = a.Message.getWrapperField(n, o, r, d ? 1 : 0);
            i && (s[e] = o.toObject(t, i));
          }
        else {
          const t = a.Message.getFieldWithDefault(
            n,
            r,
            void 0 !== c ? c : null,
          );
          (null !== t || d) && (s[e] = t);
        }
      }
      return t && (s.$jspbMessageInstance = n), s;
    }
    function c(e, t, n) {
      for (; n.nextField() && !n.isEndGroup(); ) {
        const r = e[n.getFieldNumber()];
        if (r) {
          const { n: e, c: i, r: s, d: o, q: l, br: c } = r;
          if (i) {
            const r = new i();
            n.readMessage(r, i.deserializeBinaryFromReader),
              s
                ? a.Message.addToRepeatedWrapperField(t, e, r, i)
                : a.Message.setWrapperField(t, e, r);
          } else if (c) {
            const r = c.call(n);
            s
              ? a.Message.addToRepeatedField(t, e, r)
              : a.Message.setField(t, e, r);
          } else
            console.assert(
              c,
              `Reader func not set for field number ${e} in class ${i}`,
            ),
              n.skipField();
        } else n.skipField();
      }
      return t;
    }
    function d(e, t, n) {
      const { fields: r } = e;
      for (let e in r) {
        const { n: i, c: s, r: o, d: l, q: c, bw: d } = r[e];
        if (s)
          if (o) {
            const e = a.Message.getRepeatedWrapperField(t, s, i);
            ((e && e.length) || c) &&
              n.writeRepeatedMessage(i, e, s.serializeBinaryToWriter);
          } else {
            const e = a.Message.getWrapperField(t, s, i, c ? 1 : 0);
            e && n.writeMessage(i, e, s.serializeBinaryToWriter);
          }
        else if (d) {
          const e = a.Message.getField(t, i);
          void 0 !== e && d.call(n, i, e);
        } else
          console.assert(
            d,
            `Writer func not set for field number ${i} in class ${s}`,
          );
      }
    }
    function u(e) {
      const t = e.proto;
      for (const n in e.fields) {
        const r = e.fields[n],
          { n: i, c: s, r: o, d: l, q: c } = r;
        r.hasOwnProperty("d")
          ? (t.prototype[n] = m(a.Message.getFieldWithDefault, i, l))
          : (t.prototype[n] = s
              ? o
                ? m(a.Message.getRepeatedWrapperField, s, i)
                : p(s, i)
              : m(a.Message.getField, i)),
          (t.prototype[`set_${n}`] = h(
            s
              ? o
                ? a.Message.setRepeatedWrapperField
                : a.Message.setWrapperField
              : a.Message.setField,
            i,
          )),
          o && (t.prototype[`add_${n}`] = _(i, s));
      }
    }
    function m(e, ...t) {
      return function () {
        return e(this, ...t);
      };
    }
    function p(e, t) {
      return function (n = !0) {
        return a.Message.getWrapperField(this, e, t, n ? 1 : 0);
      };
    }
    function h(e, t) {
      return function (n) {
        return e(this, t, n);
      };
    }
    function _(e, t) {
      return t
        ? function (n, r) {
            return a.Message.addToRepeatedWrapperField(this, e, n, t, r);
          }
        : function (t, n) {
            a.Message.addToRepeatedField(this, e, t, n);
          };
    }
  },
  gM6l: function (e, t, n) {
    "use strict";
    function a(e, t) {
      return (
        (e = Math.ceil(e)),
        (t = Math.floor(t)),
        Math.floor(Math.random() * (t - e + 1)) + e
      );
    }
    function r(e, t, n) {
      return null == e || isNaN(e) ? e : Math.max(t, Math.min(n, e));
    }
    function i(e, t, n, a, r) {
      return a + ((r - a) * (e - t)) / (n - t);
    }
    function s(e) {
      return (
        "string" == typeof e &&
        !Number.isNaN(e) &&
        !Number.isNaN(Number.parseFloat(e))
      );
    }
    n.d(t, "b", function () {
      return a;
    }),
      n.d(t, "a", function () {
        return r;
      }),
      n.d(t, "c", function () {
        return i;
      }),
      n.d(t, "d", function () {
        return s;
      });
  },
  gTmQ: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return I;
    }),
      n.d(t, "d", function () {
        return T;
      }),
      n.d(t, "b", function () {
        return R;
      }),
      n.d(t, "e", function () {
        return A;
      }),
      n.d(t, "g", function () {
        return k;
      }),
      n.d(t, "a", function () {
        return M;
      }),
      n.d(t, "f", function () {
        return P;
      }),
      n.d(t, "h", function () {
        return L;
      });
    var a = n("mrSG"),
      r = n("TyAF"),
      i = n("q1tI"),
      s = n("i8i4"),
      o = n("LlcT"),
      l = (n("NKx1"), n("5Quo")),
      c = n("ERCR"),
      d = n("uaeK"),
      u = n("IDaJ"),
      m = (n("DV2j"), n("7DIv"));
    n("XUgT");
    const p = Object.seal({ onMoveUp: h, onMoveDown: h });
    Object.seal({ onMoveRight: h, onMoveLeft: h });
    function h(e, t) {
      if (e.is_repeat) return !1;
      const n = t.GetRelativeDirection(e.button);
      return n == m.b.FORWARD
        ? t.BFocusFirstChild(u.c.GAMEPAD)
        : n == m.b.BACKWARD && t.BFocusLastChild(u.c.GAMEPAD);
    }
    var _ = n("CYEq"),
      g = n("2GtY"),
      b = n("l1Mn"),
      f = n("3wCP"),
      v = n("by5a"),
      S = n("hHds"),
      y = n("CqJL"),
      E = n("KT6v"),
      C = n("aaBf"),
      w = n("6f0C"),
      B = n.n(w),
      O = n("QmWs");
    const D = Object(_.a)("ContextMenuInstanceContext", () =>
      i.createContext(null),
    );
    let I = class extends i.Component {
      constructor() {
        super(...arguments), (this.m_navRef = Object(c.a)());
      }
      componentDidMount() {
        var e;
        this.context &&
          ((this.context.m_refContextMenu = this),
          this.context.SetLabel(this.props.label)),
          null === (e = this.m_navRef.current) || void 0 === e || e.TakeFocus();
      }
      componentDidUpdate(e) {
        e.label !== this.props.label &&
          this.context &&
          this.context.SetLabel(this.props.label);
      }
      HideIfSubmenu() {
        return !!this.context.BIsSubMenu() && (this.context.HideSelf(), !0);
      }
      HideMenu() {
        return (
          this.context.BIsSubMenu()
            ? this.context.HideSelf()
            : this.context.Hide(),
          !0
        );
      }
      render() {
        var e, t;
        let n = this.props,
          {
            children: r,
            className: s,
            label: o,
            onCancel: l,
            cancelText: c,
          } = n,
          u = Object(a.c)(n, [
            "children",
            "className",
            "label",
            "onCancel",
            "cancelText",
          ]);
        const h =
          null !==
            (t =
              null === (e = this.context) || void 0 === e
                ? void 0
                : e.styles) && void 0 !== t
            ? t
            : B.a;
        let _ = null != c ? c : "#Button_Cancel";
        if (this.context && 1 == this.context.presentation) {
          const e = () => {
            var e;
            l && l(),
              this.context.Hide(),
              null === (e = O.a.Get()) ||
                void 0 === e ||
                e.ReopenPreModalSideMenu();
          };
          return i.createElement(
            d.a,
            Object.assign(
              {},
              u,
              {
                className: Object(f.a)(
                  h.contextMenuContents,
                  { [h.hasSubMenu]: this.context.BIsSubMenuVisible() },
                  s,
                ),
                "flow-children": "column",
                onMoveLeft: this.HideIfSubmenu,
                onCancel: this.context.BIsSubMenu() ? this.HideMenu : e,
                style: {
                  overflowY: this.context.BIsSubMenuVisible()
                    ? "hidden"
                    : void 0,
                },
                navEntryPreferPosition: m.d.PREFERRED_CHILD,
                navRef: this.m_navRef,
              },
              p,
            ),
            r,
            !this.context.BIsSubMenu() &&
              i.createElement(
                i.Fragment,
                null,
                i.createElement(j, null),
                i.createElement(
                  T,
                  { className: h.Cancel, onSelected: e },
                  Object(y.f)(_),
                ),
              ),
            this.context.BIsSubMenuVisible() &&
              i.createElement("div", {
                className: h.contextMenuFade,
                onClick: () => this.context.HideSubMenu(),
              }),
          );
        }
        {
          const e =
            this.context &&
            this.context.options &&
            this.context.options.bUseWebStyles;
          return i.createElement(
            "div",
            Object.assign({}, u, {
              className: Object(f.a)(
                {
                  popup_menu: e,
                  popup_body: e,
                  [h.contextMenuContents]: !e,
                  [h.hasSubMenu]:
                    this.context && this.context.BIsSubMenuVisible(),
                },
                s,
              ),
            }),
            r,
          );
        }
      }
    };
    (I.contextType = D),
      Object(a.b)([E.b], I.prototype, "HideIfSubmenu", null),
      Object(a.b)([E.b], I.prototype, "HideMenu", null),
      (I = Object(a.b)([r.a], I));
    class T extends i.PureComponent {
      constructor() {
        super(...arguments),
          (this.m_ref = i.createRef()),
          (this.m_refDiv = i.createRef());
      }
      get element() {
        return this.m_refDiv.current;
      }
      OnClick(e) {
        this.props.disabled
          ? C.c.IN_GAMEPADUI && g.a.PlayNavSound(g.b.FailedNav)
          : (this.props.onClick && this.props.onClick(e),
            this.props.bInteractableItem ||
              (this.props.onSelected && this.props.onSelected(e),
              this.context && this.context.Hide()));
      }
      OnOKButton(e) {
        this.m_refDiv.current.click();
      }
      OnMouseEnter(e) {
        this.context &&
          0 == this.context.presentation &&
          this.context.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 n = this.props,
          { onSelected: r, bInteractableItem: s, onMoveRight: o } = n,
          l = Object(a.c)(n, [
            "onSelected",
            "bInteractableItem",
            "onMoveRight",
          ]),
          c =
            null !==
              (t =
                null === (e = this.context) || void 0 === e
                  ? void 0
                  : e.styles) && void 0 !== t
              ? t
              : B.a;
        if (this.context && 1 == this.context.presentation)
          return i.createElement(
            d.a,
            Object.assign(
              {
                noFocusRing: !0,
                preferredFocus: this.props.selected,
                ref: this.m_refDiv,
                navRef: this.m_ref,
                onMouseEnter: this.OnMouseEnter,
              },
              l,
              {
                className: Object(f.a)(
                  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,
          );
        {
          const e =
            this.context &&
            this.context.options &&
            this.context.options.bUseWebStyles;
          return i.createElement(
            "div",
            Object.assign(
              { ref: this.m_refDiv, onMouseEnter: this.OnMouseEnter },
              l,
              {
                onClick: this.OnClick,
                unselectable: this.props.unselectable,
                className: Object(f.a)(this.props.className, {
                  popup_menu_item: e,
                  [c.contextMenuItem]: !e,
                  contextMenuItem: !e,
                  disabled: !!this.props.disabled,
                }),
              },
            ),
            this.props.children,
          );
        }
      }
    }
    (T.contextType = D),
      Object(a.b)([E.b], T.prototype, "OnClick", null),
      Object(a.b)([E.b], T.prototype, "OnOKButton", null),
      Object(a.b)([E.b], T.prototype, "OnMouseEnter", null),
      Object(a.b)([E.b], T.prototype, "Focus", null);
    class R extends i.PureComponent {
      render() {
        const e = this.props,
          { bChecked: t, children: n, className: r } = e,
          s = Object(a.c)(e, ["bChecked", "children", "className"]);
        return i.createElement(
          T,
          Object.assign({}, s, {
            className: Object(f.a)(r, t && "menuChecked"),
          }),
          i.createElement("div", { className: "contextMenuCheckMark" }),
          n,
        );
      }
    }
    function j(e) {
      var t;
      const n = i.useContext(D),
        a =
          null !== (t = null == n ? void 0 : n.styles) && void 0 !== t
            ? t
            : B.a;
      return i.createElement("div", { className: a.ContextMenuSeparator });
    }
    class A extends i.PureComponent {
      constructor(e) {
        super(e),
          (this.m_refItem = i.createRef()),
          (this.state = { bActive: !1 });
      }
      OnSubMenuMouseEnter() {
        this.context && this.context.CancelHideSubMenuTimer();
      }
      OnSubMenuHidden() {
        this.setState({ bActive: !1 }),
          C.c.IN_GAMEPADUI &&
            this.context &&
            1 == this.context.presentation &&
            this.m_refItem.current &&
            this.m_refItem.current.Focus();
      }
      ShowSubMenu(e) {
        if (this.context) {
          const t = e || this.m_refItem.current.element;
          let n = this.context.ShowSubMenu(t, this.RenderSubMenu);
          if (n)
            return (
              this.setState({ bActive: !0 }),
              n.SetOnHideCallback(this.OnSubMenuHidden),
              !0
            );
        }
        return !1;
      }
      RenderSubMenu() {
        return i.createElement(
          I,
          { onMouseEnter: this.OnSubMenuMouseEnter, label: this.props.label },
          this.props.children,
        );
      }
      OnMouseEnter(e) {
        this.context &&
          0 == this.context.presentation &&
          this.ShowSubMenu(e.currentTarget);
      }
      OnClick(e) {
        this.OnMouseEnter(e),
          this.props.onClick && this.props.onClick(e),
          C.c.IN_GAMEPADUI &&
            this.context &&
            1 == this.context.presentation &&
            this.ShowSubMenu(e.currentTarget);
      }
      render() {
        var e, t;
        let n = this.props,
          { label: r, selectedWithin: s, children: o, className: l } = n,
          c = Object(a.c)(n, [
            "label",
            "selectedWithin",
            "children",
            "className",
          ]);
        const d =
          null !==
            (t =
              null === (e = this.context) || void 0 === e
                ? void 0
                : e.styles) && void 0 !== t
            ? t
            : B.a;
        return i.createElement(
          T,
          Object.assign({}, c, {
            ref: this.m_refItem,
            onClick: this.OnClick,
            selected: s && !this.state.bActive,
            className: Object(f.a)(
              l,
              d.SubMenu,
              this.state.bActive && d.active,
            ),
            onMouseEnter: this.OnMouseEnter,
            onSelected: null,
            bInteractableItem: !0,
            onMoveRight: () => this.ShowSubMenu(),
          }),
          i.createElement("div", { className: d.Label }, r),
          i.createElement(
            "div",
            { className: d.Arrow },
            i.createElement(b.u, null),
          ),
        );
      }
    }
    (A.contextType = D),
      Object(a.b)([E.b], A.prototype, "OnSubMenuMouseEnter", null),
      Object(a.b)([E.b], A.prototype, "OnSubMenuHidden", null),
      Object(a.b)([E.b], A.prototype, "ShowSubMenu", null),
      Object(a.b)([E.b], A.prototype, "RenderSubMenu", null),
      Object(a.b)([E.b], A.prototype, "OnMouseEnter", null),
      Object(a.b)([E.b], A.prototype, "OnClick", null);
    let k = class extends i.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,
          }),
          (this.m_mutationObserver = new MutationObserver(this.OnMenuMutation));
      }
      BindMenuElement(e) {
        this.m_elMenu &&
          (this.m_mutationObserver.disconnect(),
          this.props.popup ||
            this.m_elMenu.ownerDocument.defaultView.removeEventListener(
              "resize",
              this.OnWindowResize,
            )),
          e &&
            (this.m_mutationObserver.observe(e, { childList: !0, subtree: !0 }),
            this.props.popup ||
              e.ownerDocument.defaultView.addEventListener(
                "resize",
                this.OnWindowResize,
              )),
          (this.m_elMenu = e || void 0),
          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) {
        (e.relatedTarget && S.e(e.currentTarget, e.relatedTarget)) ||
          (e.relatedTarget &&
            this.props.instance.BIsElementInMenuHierarchy(e.relatedTarget)) ||
          this.props.instance.BIsSubMenuVisible() ||
          (this.state.ready &&
            this.props.instance.visible &&
            this.props.instance.Hide());
      }
      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 ||
            !S.e(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() {
        let e = this.m_elMenu,
          t = this.props.element;
        if (!e || !t) return;
        let n = t.ownerDocument.defaultView;
        if ("none" === n.getComputedStyle(t).display) return;
        let a = t.getBoundingClientRect(),
          r = e.getBoundingClientRect(),
          i = null != this.props.popup;
        const s = this.props.options;
        let o = {
            menuLeft: void 0,
            menuRight: void 0,
            menuTop: void 0,
            menuBottom: void 0,
            menuWidth: void 0,
            menuHeight: void 0,
          },
          l = this.props.clientX,
          c = this.props.clientY,
          d = n.innerWidth,
          u = n.innerHeight;
        if (i) {
          this.props.options.bScreenCoordinates ||
            ((l += n.screenLeft), (c += n.screenTop)),
            (a = S.h(n, a));
          let e = n.screen,
            t = 0,
            r = 0;
          e.availLeft && (t = e.availLeft),
            e.availTop && (r = e.availTop),
            (d = t + e.availWidth),
            (u = r + e.availHeight);
        }
        (s.bOverlapHorizontal || s.bOverlapVertical) && (l = c = void 0);
        let m = l || a.left,
          p = l || a.right,
          h = r.width;
        s.bMatchWidth && ((h = p - m), (o.menuWidth = h));
        let _ = (s.bOverlapHorizontal ? p : m) - h,
          g = _ > 0,
          b = d - (s.bOverlapHorizontal ? m : p) - h,
          f = b > 0,
          v = (s.bPreferPopLeft || !f) && g;
        g ||
          f ||
          ((v = g > f),
          s.bFitToWindow && ((h += (v ? _ : b) - 8), (o.menuWidth = h))),
          (!s.bPreferPopLeft && f) || !g
            ? (o.menuLeft = s.bOverlapHorizontal ? m : p)
            : (o.menuRight = d - (s.bOverlapHorizontal ? p : m));
        let y = c || a.top,
          E = c || a.bottom,
          C = e.scrollHeight;
        s.bMatchHeight && ((C = E - y), (o.menuHeight = C));
        let w = (s.bOverlapVertical ? E : y) - C,
          B = w > 0,
          O = u - (s.bOverlapVertical ? y : E) - C,
          D = O > 0,
          I = (s.bPreferPopTop || !D) && B && !s.bDisablePopTop;
        if (!B && !D) {
          const e =
            void 0 !== s.bShiftToFitWindow
              ? s.bShiftToFitWindow
              : s.bFitToWindow && !s.bOverlapHorizontal;
          (I = w > O && !s.bDisablePopTop),
            e && (I ? (o.menuTop = 4) : (o.menuBottom = 4)),
            s.bFitToWindow &&
              (e ? (C = Math.min(C, u - 8)) : (C += I ? w : O),
              (o.menuHeight = C - 8));
        }
        void 0 === o.menuBottom &&
          void 0 === o.menuTop &&
          (I
            ? (o.menuBottom = u - (s.bOverlapVertical ? E : y))
            : (o.menuTop = s.bOverlapVertical ? y : E)),
          i
            ? (o.menuHeight || (o.menuHeight = r.height),
              o.menuWidth || (o.menuWidth = r.width),
              o.menuBottom &&
                !o.menuTop &&
                ((o.menuTop = u - o.menuBottom - o.menuHeight),
                (o.menuBottom = void 0)),
              o.menuRight &&
                !o.menuLeft &&
                ((o.menuLeft = d - o.menuRight - o.menuWidth),
                (o.menuRight = void 0)))
            : (o.menuLeft && (o.menuLeft += n.scrollX),
              o.menuTop && (o.menuTop += n.scrollY),
              o.menuBottom &&
                (o.menuBottom +=
                  n.document.body.clientHeight - n.scrollY - n.innerHeight),
              o.menuRight &&
                (o.menuRight +=
                  n.document.body.clientWidth - n.scrollX - n.innerWidth)),
          (o.menuLeft === this.state.menuLeft &&
            o.menuRight === this.state.menuRight &&
            o.menuTop === this.state.menuTop &&
            o.menuBottom === this.state.menuBottom &&
            o.menuWidth === this.state.menuWidth &&
            o.menuHeight === this.state.menuHeight) ||
            this.setState(o);
      }
      render() {
        let e = { visibility: this.state.ready ? "visible" : "hidden" };
        if (this.props.popup) {
          let e = this.props.element.ownerDocument.defaultView;
          void 0 !== this.state.menuLeft &&
            void 0 !== this.state.menuTop &&
            void 0 !== this.state.menuWidth &&
            void 0 !== this.state.menuHeight &&
            e.SteamClient.Window.GetWindowRestoreDetails((t) => {
              let n = this.props.popup.window,
                a = this.state.menuLeft - e.screenX,
                r = this.state.menuTop - e.screenY;
              try {
                n.SteamClient.Window.PositionWindowRelative(
                  t,
                  a,
                  r,
                  this.state.menuWidth,
                  this.state.menuHeight,
                );
              } catch (e) {
                console.error(e);
              }
            });
        } else
          void 0 !== this.state.menuTop
            ? (e.top = this.state.menuTop)
            : void 0 !== this.state.menuBottom &&
              (e.bottom = this.state.menuBottom),
            void 0 !== this.state.menuLeft
              ? (e.left = this.state.menuLeft)
              : void 0 !== this.state.menuRight &&
                (e.right = this.state.menuRight),
            void 0 !== this.state.menuHeight &&
              (e.height = this.state.menuHeight),
            void 0 !== this.state.menuWidth && (e.width = this.state.menuWidth);
        let t =
          this.props.options.strClassName ||
          (this.props.options.bUseWebStyles
            ? "popup_block_new popup_block_hidden_until_visible"
            : B.a.contextMenu);
        return (
          this.props.instance.visible && this.state.ready && (t += " visible"),
          (t += " " + B.a.ContextMenuFocusContainer),
          i.createElement(
            D.Provider,
            { value: this.props.instance },
            i.createElement(
              "div",
              {
                className: t,
                ref: this.BindMenuElement,
                style: e,
                onBlur: this.OnBlur,
                onKeyDown: this.OnKeyDown,
                tabIndex: 0,
              },
              this.props.children,
            ),
          )
        );
      }
    };
    Object(a.b)([E.b], k.prototype, "BindMenuElement", null),
      Object(a.b)([E.b, Object(v.a)(100)], k.prototype, "OnMenuMutation", null),
      Object(a.b)([E.b], k.prototype, "OnWindowResize", null),
      Object(a.b)([E.b], k.prototype, "OnBlur", null),
      Object(a.b)([E.b], k.prototype, "OnKeyDown", null),
      (k = Object(a.b)([r.a], k));
    class M extends l.a {
      constructor(e, t, n) {
        super("contextmenu_" + M.sm_iContextMenuInstance++, {
          title: "Menu",
          html_class: B.a.ContextMenuPopup + " client_chat_frame",
          body_class: "ContextMenuPopupBody",
          replace_existing_popup: !1,
          target_browser: n,
          eCreationFlags: l.b.ContextMenu,
        }),
          (this.m_menuProps = e),
          (this.m_children = t);
      }
      UpdateParamsBeforeShow(e) {
        if (this.m_menuProps.options.bScreenCoordinates)
          e.dimensions = {
            left: this.m_menuProps.clientX,
            top: this.m_menuProps.clientY,
            width: 350,
            height: 1,
          };
        else {
          let t = S.h(
            this.m_menuProps.element.ownerDocument.defaultView,
            this.m_menuProps.element.getBoundingClientRect(),
          );
          e.dimensions = { left: t.right, top: t.top, width: 350, height: 1 };
        }
        return (
          (e.availscreenwidth =
            this.m_menuProps.element.ownerDocument.defaultView.screen.availWidth),
          (e.availscreenheight =
            this.m_menuProps.element.ownerDocument.defaultView.screen.availHeight),
          e
        );
      }
      Render(e, t) {
        s.render(
          i.createElement(
            k,
            Object.assign({}, this.m_menuProps, { popup: this }),
            this.m_children,
          ),
          t,
        );
      }
      OnBlur() {}
      OnFocus() {}
      OnLoad() {}
      OnResize() {}
      OnClose() {}
    }
    function P(e) {
      return i.createElement("div", { className: B.a.ContextMenuMouseOverlay });
    }
    function L(e) {
      let t = [],
        n = S.o(e),
        a = n.getSelection(),
        r = a && a.rangeCount > 0 && a.toString().length > 0,
        s = e.target,
        l = !1;
      if (
        (s &&
          "tagName" in s &&
          (("INPUT" != s.tagName && "TEXTAREA" != s.tagName) || (l = !0)),
        C.c.IN_CLIENT &&
          l &&
          n.SteamClient._internal &&
          n.SteamClient._internal.GetSpellingSuggestions &&
          n.SteamClient._internal.AddWordToDictionary)
      ) {
        let [e, ...a] = n.SteamClient._internal.GetSpellingSuggestions(),
          r = s;
        if (
          (r &&
            a.forEach((e, a) => {
              t.push(
                i.createElement(
                  T,
                  {
                    key: `spelling_${a}_${e}`,
                    onSelected: () => {
                      r.setRangeText(e),
                        (function (e, t) {
                          let n = t.createEvent("HTMLEvents");
                          n.initEvent("change", !0, !1), e.dispatchEvent(n);
                        })(r, n.document),
                        r.setSelectionRange(r.selectionEnd, r.selectionEnd),
                        s.focus();
                    },
                    className: B.a.NoSeparation,
                  },
                  e,
                ),
              );
            }),
          e)
        ) {
          const a = 30;
          (e = e.trim()),
            t.push(
              i.createElement(
                T,
                {
                  key: `addtodictionary_${e}`,
                  onSelected: () =>
                    n.SteamClient._internal.AddWordToDictionary(e),
                },
                Object(y.f)(
                  "#ContextMenu_AddToDictionary",
                  e.length < a ? e : e.substring(0, a) + "...",
                ),
              ),
            );
        }
      }
      if (
        ((n.document.queryCommandEnabled("cut") || (r && l)) &&
          t.push(
            i.createElement(
              T,
              {
                key: "cut",
                onSelected: () => {
                  n.document.execCommand("cut");
                },
              },
              Object(y.f)("#ContextMenu_Cut"),
            ),
          ),
        (n.document.queryCommandEnabled("copy") || r) &&
          t.push(
            i.createElement(
              T,
              {
                key: "copy",
                onSelected: () => {
                  n.document.execCommand("copy");
                },
                className: B.a.NoSeparation,
              },
              Object(y.f)("#ContextMenu_Copy"),
            ),
          ),
        C.c.IN_CLIENT &&
          l &&
          n.SteamClient._internal &&
          n.SteamClient._internal.Paste &&
          t.push(
            i.createElement(
              T,
              {
                key: "paste",
                onSelected: () => {
                  s.focus(), n.SteamClient._internal.Paste();
                },
                className: B.a.NoSeparation,
              },
              Object(y.f)("#ContextMenu_Paste"),
            ),
          ),
        t.length)
      )
        Object(o.a)(i.createElement(I, null, t), e);
      else {
        if (e.shiftKey) return;
        e.preventDefault(), e.stopPropagation();
      }
    }
    M.sm_iContextMenuInstance = 0;
  },
  gfbn: function (e, t, n) {
    "use strict";
    n.r(t);
    var a = n("mrSG"),
      r = (n("M1X1"), n("q1tI")),
      i = n.n(r),
      s = n("i8i4"),
      o = n("aaBf"),
      l = n("fvA7"),
      c = n("Q8oI"),
      d = n("pQ8y"),
      u = n("KT6v"),
      m = n("TyAF");
    class p extends r.Component {
      constructor(e) {
        super(e),
          (this.m_refImage = r.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: n, onIncrementalError: i, onError: s } = e,
          o = Object(a.c)(e, [
            "src",
            "rgSources",
            "onIncrementalError",
            "onError",
          ]),
          l = this.src;
        return r.createElement(
          "img",
          Object.assign({ src: l, ref: this.m_refImage }, o, {
            onError: this.OnImageError,
          }),
        );
      }
    }
    Object(a.b)([u.b], p.prototype, "OnImageError", null);
    var h = n("3wCP"),
      _ = n("sm16"),
      g = n("+h+B"),
      b = n("Vzeg"),
      f = n.n(b),
      v = n("hHds"),
      S = n("wRr3"),
      y = n.n(S),
      E = n("j7Vr");
    const C = {
        exit: f.a.FullscreenExitStart,
        exitActive: f.a.FullscreenExitActive,
        exitDone: f.a.FullscreenExitDone,
        enter: f.a.FullscreenEnterStart,
        enterDone: f.a.FullscreenEnterDone,
        enterActive: f.a.FullscreenEnterActive,
      },
      w = Object(E.a)(y.a["duration-app-launch"]),
      B = { pinnedPosition: "BottomLeft", nWidthPct: 50, nHeightPct: 50 },
      O = r.createContext({ bFullscreen: !1 });
    class D extends r.Component {
      constructor(e) {
        super(e),
          (this.m_refTopCapsule = r.createRef()),
          (this.state = { logoPosition: void 0 });
      }
      componentDidUpdate(e) {
        (e.appid == this.props.appid && e.editMode == this.props.editMode) ||
          this.setState({ logoPosition: void 0 });
      }
      get background_src() {
        return (
          this.m_refTopCapsule.current &&
          this.m_refTopCapsule.current.background_src
        );
      }
      get logo_src() {
        return (
          this.m_refTopCapsule.current && this.m_refTopCapsule.current.logo_src
        );
      }
      GetLogoPosition() {
        return this.state.logoPosition || this.props.logoPosition || B;
      }
      SetPinnedPosition(e) {
        this.setState(
          {
            logoPosition: Object.assign(
              Object.assign({}, this.GetLogoPosition()),
              { pinnedPosition: e },
            ),
          },
          this.PostPositionChangeCallback,
        );
      }
      SetDimensions(e, t) {
        this.setState(
          {
            logoPosition: Object.assign(
              Object.assign({}, this.GetLogoPosition()),
              { nWidthPct: e, nHeightPct: t },
            ),
          },
          this.PostPositionChangeCallback,
        );
      }
      OnPositionChanged(e) {
        this.SetDimensions(e.nWidthPct, e.nHeightPct);
      }
      PostPositionChangeCallback() {
        this.props.fnOnPositionChanged &&
          this.props.fnOnPositionChanged(this.GetLogoPosition());
      }
      render() {
        if (!this.props.editMode)
          return r.createElement(
            O.Provider,
            { value: { bFullscreen: this.props.bFullscreen } },
            r.createElement(
              I,
              Object.assign({ ref: this.m_refTopCapsule }, this.props),
            ),
          );
        const e = this.props,
          { children: t, logoPosition: n, editMode: i } = e,
          s = Object(a.c)(e, ["children", "logoPosition", "editMode"]),
          o = this.GetLogoPosition();
        return r.createElement(
          O.Provider,
          { value: { bFullscreen: this.props.bFullscreen } },
          r.createElement(
            I,
            Object.assign({ ref: this.m_refTopCapsule }, s, {
              editMode: !0,
              logoPosition: o,
              fnOnPositionChanged: this.OnPositionChanged,
            }),
            r.createElement("div", {
              className: `${f.a.PinBox} ${f.a.BottomLeft}`,
              onClick: () => this.SetPinnedPosition("BottomLeft"),
              title: "Pin to Bottom Left",
            }),
            r.createElement("div", {
              className: `${f.a.PinBox} ${f.a.UpperCenter}`,
              onClick: () => this.SetPinnedPosition("UpperCenter"),
              title: "Pin to Top Center",
            }),
            r.createElement("div", {
              className: `${f.a.PinBox} ${f.a.CenterCenter}`,
              onClick: () => this.SetPinnedPosition("CenterCenter"),
              title: "Pin to Center",
            }),
            r.createElement("div", {
              className: `${f.a.PinBox} ${f.a.BottomCenter}`,
              onClick: () => this.SetPinnedPosition("BottomCenter"),
              title: "Pin to Bottom Center",
            }),
            t,
          ),
        );
      }
    }
    Object(a.b)([u.b], D.prototype, "SetDimensions", null),
      Object(a.b)([u.b], D.prototype, "OnPositionChanged", null),
      Object(a.b)([u.b], D.prototype, "PostPositionChangeCallback", null);
    let I = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_refBackgroundImage = r.createRef()),
          (this.m_refLogoImage = r.createRef()),
          Object(l.a)(
            !e.editMode || e.rgLogoImages.length <= 1,
            "Can't use multiple logo images in edit mode",
          ),
          (this.state = {
            bFallbackHeader: 1 == e.rgHeaderImages.length,
            bHasHeaderImage: e.rgHeaderImages.length > 0,
            bHasLogoImage: e.rgLogoImages.length > 0,
            bLogoLoaded: !1,
          });
      }
      componentDidUpdate(e) {
        (JSON.stringify(e.rgHeaderImages) ==
          JSON.stringify(this.props.rgHeaderImages) &&
          JSON.stringify(e.rgLogoImages) ==
            JSON.stringify(this.props.rgLogoImages) &&
          JSON.stringify(e.rgBlurImages) ==
            JSON.stringify(this.props.rgBlurImages)) ||
          this.setState({
            bFallbackHeader: 1 == this.props.rgHeaderImages.length,
            bHasHeaderImage: this.props.rgHeaderImages.length > 0,
            bHasLogoImage: this.props.rgLogoImages.length > 0,
            bLogoLoaded: !1,
          });
      }
      OnHeaderError() {
        this.setState({ bHasHeaderImage: !1 }),
          this.props.fnOnLoaded && this.props.fnOnLoaded();
      }
      OnIncrementalLogoError(e, t, n) {
        this.props.fnReportLogoCacheMiss &&
          this.props.fnReportLogoCacheMiss(this.props.appid, t),
          this.props.fnOnLoaded && this.props.fnOnLoaded();
      }
      OnLogoError() {
        this.setState({ bHasLogoImage: !1 }, () => {
          this.props.fnOnLogoLoaded && this.props.fnOnLogoLoaded();
        });
      }
      OnLogoLoad() {
        this.setState({ bLogoLoaded: !0 }, () => {
          this.props.fnOnLogoLoaded && this.props.fnOnLogoLoaded();
        });
      }
      OnLoaded() {
        this.props.fnOnLoaded && this.props.fnOnLoaded();
      }
      get background_src() {
        return (
          this.state.bHasHeaderImage &&
          this.m_refBackgroundImage.current &&
          this.m_refBackgroundImage.current.src
        );
      }
      get logo_src() {
        return (
          this.state.bLogoLoaded &&
          this.m_refLogoImage.current &&
          this.m_refLogoImage.current.src
        );
      }
      render() {
        const {
            rgLogoImages: e,
            editMode: t,
            logoPosition: n,
            className: a,
            classNameNoLogo: i,
            fnOnPositionChanged: s,
            height: o,
          } = this.props,
          { bFallbackHeader: l, bHasLogoImage: c } = this.state,
          u = Object(h.a)(
            f.a.TopCapsule,
            a,
            !this.state.bHasHeaderImage && f.a.NoArt,
            (!this.props.hasHeroImage || l) && f.a.FallbackArt,
            !c && i,
          ),
          m = { "--header-height": null == o ? void 0 : o + "px" };
        return r.createElement(
          d.a,
          { timeout: w, appear: !0, in: this.props.bFullscreen, classNames: C },
          r.createElement(
            "div",
            { className: u, style: m },
            r.createElement(T, {
              ref: this.m_refBackgroundImage,
              bLowPerfMode: this.props.bLowPerfMode,
              appid: this.props.appid,
              rgHeaderImages: this.props.rgHeaderImages,
              rgBlurImages: this.props.rgBlurImages,
              onReportHeroImageMiss: this.props.fnReportHeroImageMiss,
              onError: this.OnHeaderError,
              onLoad: this.OnLoaded,
            }),
            c &&
              r.createElement(
                R,
                {
                  key: e[0],
                  strLogoImageURL: e[0],
                  editMode: t,
                  logoPosition: n || B,
                  fnOnPositionChanged: t && s,
                  fullscreen: this.props.bFullscreen,
                },
                r.createElement(p, {
                  ref: this.m_refLogoImage,
                  className: Object(h.a)(
                    f.a.TitleLogo,
                    this.state.bLogoLoaded && f.a.Loaded,
                  ),
                  rgSources: e,
                  onLoad: this.OnLogoLoad,
                  onIncrementalError: this.OnIncrementalLogoError,
                  onError: this.OnLogoError,
                }),
              ),
            this.props.children,
            r.createElement("div", { className: f.a.TopGradient }),
          ),
        );
      }
    };
    Object(a.b)([u.b], I.prototype, "OnHeaderError", null),
      Object(a.b)([u.b], I.prototype, "OnIncrementalLogoError", null),
      Object(a.b)([u.b], I.prototype, "OnLogoError", null),
      Object(a.b)([u.b], I.prototype, "OnLogoLoad", null),
      Object(a.b)([u.b], I.prototype, "OnLoaded", null),
      (I = Object(a.b)([m.a], I));
    class T extends r.Component {
      constructor(e) {
        super(e),
          (this.m_refBackgroundImage = r.createRef()),
          (this.state = {
            bBackgroundLoaded: !1,
            nBlurImageIndex: 0,
            bUseCanvasBlur: !this.HasBlurImages(),
          });
      }
      componentDidMount() {
        !this.HasHeaderImages() && this.props.onLoad && this.props.onLoad();
      }
      componentDidUpdate(e) {
        (e.appid == this.props.appid &&
          JSON.stringify(e.rgHeaderImages) ==
            JSON.stringify(this.props.rgHeaderImages) &&
          JSON.stringify(e.rgBlurImages) ==
            JSON.stringify(this.props.rgBlurImages) &&
          this.props.bLowPerfMode == e.bLowPerfMode) ||
          (this.setState({
            bBackgroundLoaded: !1,
            nBlurImageIndex: 0,
            bUseCanvasBlur: !this.HasBlurImages(),
          }),
          !this.HasHeaderImages() && this.props.onLoad && this.props.onLoad());
      }
      get src() {
        return (
          this.m_refBackgroundImage.current &&
          this.m_refBackgroundImage.current.src
        );
      }
      OnIncrementalError(e, t, n) {
        this.props.onReportHeroImageMiss &&
          this.props.onReportHeroImageMiss(this.props.appid, t),
          this.props.rgBlurImages &&
            this.props.rgBlurImages.length > 0 &&
            this.setState({ nBlurImageIndex: this.state.nBlurImageIndex + 1 });
      }
      OnHeaderLoad() {
        this.props.onLoad && this.props.onLoad(),
          (this.m_refCanvasBlurImage =
            this.m_refBackgroundImage.current.imgRef.current),
          this.props.rgBlurImages[this.state.nBlurImageIndex] ||
            this.setState({ bUseCanvasBlur: !0 }),
          this.setState({ bBackgroundLoaded: !0 });
      }
      OnBlurImageFailed() {
        this.setState({ bUseCanvasBlur: !0 });
      }
      HasHeaderImages() {
        let e = this.props.rgHeaderImages;
        return e && e.length > 0;
      }
      HasBlurImages() {
        let e = this.props.rgBlurImages;
        return e && e.length > 0;
      }
      render() {
        Object(l.a)(
          !this.props.rgBlurImages ||
            this.props.rgBlurImages.length == this.props.rgHeaderImages.length,
          "Blur image count doesn't match header image count",
        );
        let e = null;
        return (
          (e = r.createElement(
            r.Fragment,
            null,
            !this.state.bUseCanvasBlur &&
              this.state.bBackgroundLoaded &&
              this.props.rgBlurImages[this.state.nBlurImageIndex] &&
              r.createElement("img", {
                src: this.props.rgBlurImages[this.state.nBlurImageIndex],
                className: Object(h.a)(
                  f.a.ImgSrc,
                  f.a.ImgBlur,
                  f.a.ImgBlurBackdrop,
                ),
                onError: this.OnBlurImageFailed,
              }),
            this.state.bUseCanvasBlur &&
              this.state.bBackgroundLoaded &&
              !this.props.bLowPerfMode &&
              r.createElement(_.a, {
                className: Object(h.a)(
                  f.a.ImgSrc,
                  f.a.ImgBlur,
                  f.a.ImgBlurBackdrop,
                ),
                elementRef: this.m_refCanvasBlurImage,
                updateRate: 0,
                width: 192,
                height: 62,
                reductionFactor: 10,
                blurAmount: 3,
              }),
          )),
          r.createElement(O.Consumer, null, (t) =>
            r.createElement(
              d.a,
              { timeout: w, appear: !0, in: t.bFullscreen, classNames: C },
              r.createElement(
                "div",
                {
                  className: Object(h.a)(f.a.HeaderBackgroundImage, f.a.Glassy),
                },
                !this.state.bUseCanvasBlur &&
                  this.state.bBackgroundLoaded &&
                  this.props.rgBlurImages[this.state.nBlurImageIndex] &&
                  r.createElement("img", {
                    src: this.props.rgBlurImages[this.state.nBlurImageIndex],
                    className: Object(h.a)(f.a.ImgSrc, f.a.ImgBlur),
                    onError: this.OnBlurImageFailed,
                  }),
                this.state.bUseCanvasBlur &&
                  this.state.bBackgroundLoaded &&
                  !this.props.bLowPerfMode &&
                  r.createElement(_.a, {
                    className: Object(h.a)(f.a.ImgSrc, f.a.ImgBlur),
                    elementRef: this.m_refCanvasBlurImage,
                    updateRate: 0,
                    width: 192,
                    height: 62,
                    reductionFactor: 10,
                    blurAmount: 3,
                  }),
                r.createElement(
                  "div",
                  { className: f.a.ImgContainer },
                  this.HasHeaderImages() &&
                    r.createElement(p, {
                      ref: this.m_refBackgroundImage,
                      rgSources: this.props.rgHeaderImages,
                      className: f.a.ImgSrc,
                      onLoad: this.OnHeaderLoad,
                      onIncrementalError: this.OnIncrementalError,
                      onError: this.props.onError,
                    }),
                ),
                e,
              ),
            ),
          )
        );
      }
    }
    function R(e) {
      const {
          logoPosition: t,
          strLogoImageURL: n,
          children: a,
          fnOnPositionChanged: i,
          fullscreen: s,
        } = e,
        {
          nBottomPct: o,
          nTopPct: l,
          nLeftPct: c,
          nRightPct: u,
        } = j(t.pinnedPosition, t.nWidthPct, t.nHeightPct),
        m =
          (r.useContext(O),
          {
            left: `${c}%`,
            top: `${l}%`,
            width: `${t.nWidthPct}%`,
            height: `${t.nHeightPct}%`,
          }),
        p = Object(h.a)(f.a.BoxSizer, f.a[t.pinnedPosition]);
      return r.createElement(
        "div",
        { className: f.a.BoxSizerContainer },
        r.createElement(
          "div",
          { className: f.a.BoxSizerValidRegion },
          !e.editMode &&
            r.createElement(
              "div",
              { className: p, style: m },
              r.createElement(
                d.a,
                { timeout: w, appear: !0, in: s, classNames: C },
                r.createElement(
                  "div",
                  { className: f.a.TitleImageContainer },
                  a,
                ),
              ),
            ),
          e.editMode &&
            r.createElement(
              k,
              {
                id: n,
                pinType: t.pinnedPosition,
                index: 0,
                widthPct: t.nWidthPct,
                heightPct: t.nHeightPct,
                fnOnPositionChanged: i,
              },
              a,
            ),
        ),
      );
    }
    function j(e, t, n) {
      let a, r, i, s;
      switch (e) {
        case "BottomLeft":
          (a = 0), (r = 100 - n), (i = 0), (s = 100 - t);
          break;
        case "UpperLeft":
          (a = 100 - n), (r = 0), (i = 0), (s = 100 - t);
          break;
        case "CenterCenter":
          (a = (100 - n) / 2),
            (r = (100 - n) / 2),
            (i = (100 - t) / 2),
            (s = (100 - t) / 2);
          break;
        case "UpperCenter":
          (a = 100 - n), (r = 0), (i = (100 - t) / 2), (s = (100 - t) / 2);
          break;
        case "BottomCenter":
          (a = 0), (r = 100 - n), (i = (100 - t) / 2), (s = (100 - t) / 2);
      }
      return { nBottomPct: a, nTopPct: r, nLeftPct: i, nRightPct: s };
    }
    var A;
    Object(a.b)([u.b], T.prototype, "OnIncrementalError", null),
      Object(a.b)([u.b], T.prototype, "OnHeaderLoad", null),
      Object(a.b)([u.b], T.prototype, "OnBlurImageFailed", null),
      (function (e) {
        (e.topleft = "Topleft"),
          (e.top = "Top"),
          (e.topright = "TopRight"),
          (e.left = "Left"),
          (e.middle = "Middle"),
          (e.right = "Right"),
          (e.bottomleft = "BottomLeft"),
          (e.bottom = "Bottom"),
          (e.bottomright = "BottomRight");
      })(A || (A = {}));
    class k extends r.Component {
      constructor(e) {
        super(e),
          (this.m_fnMouseUp = null),
          (this.m_fnMouseMove = null),
          (this.m_listeners = new g.c()),
          (this.state = {});
      }
      componentWillUnmount() {
        this.m_listeners.Unregister();
      }
      componentDidUpdate() {
        this.props.pinType != this.state.pinType &&
          ((this.m_pinType = this.props.pinType),
          this.setState({ pinType: this.props.pinType }),
          this.UpdateBoxPosition());
      }
      static getDerivedStateFromProps(e, t) {
        const { pinType: n, widthPct: a, heightPct: r, id: i } = e;
        if (t && t.id == i) return null;
        const {
          nBottomPct: s,
          nTopPct: o,
          nLeftPct: l,
          nRightPct: c,
        } = j(n, a, r);
        return {
          id: i,
          curBottomPosPct: s,
          curTopPosPct: o,
          curLeftPosPct: l,
          curRightPosPct: c,
          curWidthPct: a,
          curHeightPct: r,
          EdgeDown: null,
          pinType: n,
        };
      }
      LinkRegionBoxRef(e) {
        this.m_elLinkRegionBox = e;
      }
      OnMouseDown(e, t) {
        (this.m_fnMouseUp = (e) => {
          this.OnMouseUp(e, t);
        }),
          (this.m_fnMouseMove = (e) => {
            this.OnMouseMove(e, t);
          }),
          this.setState({ EdgeDown: t }),
          (this.m_rectLinkRegion =
            this.m_elLinkRegionBox.parentElement.getBoundingClientRect()),
          (this.m_nLocalOffsetXPct =
            ((e.clientX - this.m_rectLinkRegion.left) /
              (this.m_rectLinkRegion.right - this.m_rectLinkRegion.left)) *
              100 -
            this.state.curLeftPosPct),
          (this.m_nLocalOffsetYPct =
            ((e.clientY - this.m_rectLinkRegion.top) /
              (this.m_rectLinkRegion.bottom - this.m_rectLinkRegion.top)) *
              100 -
            this.state.curTopPosPct),
          this.m_listeners.AddEventListener(
            this.m_elLinkRegionBox.ownerDocument.defaultView,
            "mousemove",
            this.m_fnMouseMove,
          ),
          this.m_listeners.AddEventListener(
            this.m_elLinkRegionBox.ownerDocument.defaultView,
            "mouseup",
            this.m_fnMouseUp,
          ),
          e.preventDefault(),
          e.stopPropagation();
      }
      UpdateBoxPosition() {
        const {
          nBottomPct: e,
          nTopPct: t,
          nLeftPct: n,
          nRightPct: a,
        } = j(this.m_pinType, this.state.curWidthPct, this.state.curHeightPct);
        this.setState({
          curBottomPosPct: e,
          curTopPosPct: t,
          curLeftPosPct: n,
          curRightPosPct: a,
        });
      }
      OnMouseMove(e, t) {
        if (void 0 !== this.state.EdgeDown) {
          switch ((e.shiftKey && this.m_fnMouseUp(), t)) {
            case A.left:
              this.setState({ curLeftPosPct: this.CalcLeftEdge(e.clientX) }),
                this.CheckLeftEdge();
              break;
            case A.right:
              this.setState({ curRightPosPct: this.CalcRightEdge(e.clientX) }),
                this.CheckRightEdge();
              break;
            case A.top:
              this.setState({ curTopPosPct: this.CalcTopEdge(e.clientY) }),
                this.CheckTopEdge();
              break;
            case A.bottom:
              this.setState({
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              }),
                this.CheckBottomEdge();
              break;
            case A.topleft:
              this.setState({ curTopPosPct: this.CalcTopEdge(e.clientY) }),
                this.setState({ curLeftPosPct: this.CalcLeftEdge(e.clientX) }),
                this.CheckTopEdge(),
                this.CheckLeftEdge();
              break;
            case A.topright:
              this.setState({ curTopPosPct: this.CalcTopEdge(e.clientY) }),
                this.setState({
                  curRightPosPct: this.CalcRightEdge(e.clientX),
                }),
                this.CheckTopEdge(),
                this.CheckRightEdge();
              break;
            case A.bottomleft:
              this.setState({
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              }),
                this.setState({ curLeftPosPct: this.CalcLeftEdge(e.clientX) }),
                this.CheckBottomEdge(),
                this.CheckLeftEdge();
              break;
            case A.bottomright:
              this.setState({
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              }),
                this.setState({
                  curRightPosPct: this.CalcRightEdge(e.clientX),
                }),
                this.CheckBottomEdge(),
                this.CheckRightEdge();
              break;
            case A.middle:
              this.setState({
                curRightPosPct: this.CalcRightEdge(e.clientX),
                curBottomPosPct: this.CalcBottomEdge(e.clientY),
              }),
                "CenterCenter" != this.state.pinType &&
                  this.setState({ curTopPosPct: this.CalcTopEdge(e.clientY) }),
                "CenterCenter" != this.state.pinType &&
                  "BottomCenter" != this.state.pinType &&
                  "UpperCenter" != this.state.pinType &&
                  this.setState({
                    curLeftPosPct: this.CalcLeftEdge(e.clientX),
                  }),
                this.CheckTopEdge(),
                this.CheckBottomEdge(),
                this.CheckLeftEdge(),
                this.CheckRightEdge();
          }
          this.state.curTopPosPct > 98
            ? this.setState({ curTopPosPct: 98 })
            : this.state.curBottomPosPct > 98 &&
              this.setState({ curBottomPosPct: 98 }),
            this.state.curLeftPosPct > 99
              ? this.setState({ curLeftPosPct: 99 })
              : this.state.curRightPosPct > 99 &&
                this.setState({ curRightPosPct: 99 }),
            this.state.curRightPosPct < 0
              ? this.setState({ curRightPosPct: 0 })
              : this.state.curLeftPosPct < 0 &&
                this.setState({ curLeftPosPct: 0 }),
            this.state.curBottomPosPct < 0
              ? this.setState({ curBottomPosPct: 0 })
              : this.state.curTopPosPct < 0 &&
                this.setState({ curTopPosPct: 0 }),
            e.preventDefault(),
            e.stopPropagation();
        }
      }
      CheckBottomEdge() {
        this.state.curBottomPosPct > 98 - this.state.curTopPosPct &&
          this.setState({ curBottomPosPct: 98 - this.state.curTopPosPct });
      }
      CheckRightEdge() {
        this.state.curRightPosPct > 99 - this.state.curLeftPosPct &&
          this.setState({ curRightPosPct: 99 - this.state.curLeftPosPct });
      }
      CheckTopEdge() {
        this.state.curTopPosPct > 98 - this.state.curBottomPosPct &&
          this.setState({ curTopPosPct: 98 - this.state.curBottomPosPct });
      }
      CheckLeftEdge() {
        this.state.curLeftPosPct > 99 - this.state.curRightPosPct &&
          this.setState({ curLeftPosPct: 99 - this.state.curRightPosPct });
      }
      CalcLeftEdge(e) {
        let t =
          ((e - this.m_rectLinkRegion.left) /
            (this.m_rectLinkRegion.right - this.m_rectLinkRegion.left)) *
            100 -
          this.m_nLocalOffsetXPct;
        if (
          "UpperLeft" == this.props.pinType ||
          "BottomLeft" == this.props.pinType
        )
          return 0;
        if (
          "CenterCenter" == this.props.pinType ||
          "BottomCenter" == this.props.pinType ||
          "UpperCenter" == this.props.pinType
        ) {
          let e = Math.min(Math.max(t, 0), 45);
          return this.setState({ curRightPosPct: e }), e;
        }
        return t;
      }
      CalcRightEdge(e) {
        let t =
          100 -
          (((e - this.m_rectLinkRegion.left) /
            (this.m_rectLinkRegion.right - this.m_rectLinkRegion.left)) *
            100 +
            (this.state.curWidthPct - this.m_nLocalOffsetXPct));
        if (
          "CenterCenter" == this.props.pinType ||
          "BottomCenter" == this.props.pinType ||
          "UpperCenter" == this.props.pinType
        ) {
          let e = Math.min(Math.max(t, 0), 45);
          return this.setState({ curLeftPosPct: e }), e;
        }
        return t;
      }
      CalcTopEdge(e) {
        let t =
          ((e - this.m_rectLinkRegion.top) /
            (this.m_rectLinkRegion.bottom - this.m_rectLinkRegion.top)) *
            100 -
          this.m_nLocalOffsetYPct;
        if (
          "UpperCenter" == this.props.pinType ||
          "UpperLeft" == this.props.pinType
        )
          return 0;
        if ("CenterCenter" == this.props.pinType) {
          let e = Math.min(Math.max(t, 0), 45);
          return this.setState({ curBottomPosPct: e }), e;
        }
        return t;
      }
      CalcBottomEdge(e) {
        let t =
          100 -
          (((e - this.m_rectLinkRegion.top) /
            (this.m_rectLinkRegion.bottom - this.m_rectLinkRegion.top)) *
            100 +
            (this.state.curHeightPct - this.m_nLocalOffsetYPct));
        if (
          "BottomLeft" == this.props.pinType ||
          "BottomCenter" == this.props.pinType
        )
          return 0;
        if ("CenterCenter" == this.props.pinType) {
          let e = Math.min(Math.max(t, 0), 45);
          return this.setState({ curTopPosPct: e }), e;
        }
        return t;
      }
      OnMouseUp(e, t) {
        this.setState(
          {
            curWidthPct:
              100 - this.state.curRightPosPct - this.state.curLeftPosPct,
            curHeightPct:
              100 - this.state.curBottomPosPct - this.state.curTopPosPct,
          },
          this.OnResizeComplete,
        ),
          this.setState({ EdgeDown: void 0 }),
          this.m_listeners.Unregister();
      }
      OnResizeComplete() {
        this.props.fnOnPositionChanged &&
          this.props.fnOnPositionChanged({
            pinnedPosition: this.state.pinType,
            nWidthPct: this.state.curWidthPct,
            nHeightPct: this.state.curHeightPct,
          });
      }
      render() {
        let e = {
            left: this.state.curLeftPosPct + "%",
            top: this.state.curTopPosPct + "%",
            right: this.state.curRightPosPct + "%",
            bottom: this.state.curBottomPosPct + "%",
          },
          t = Object(h.a)(
            f.a.BoxSizerDragBox,
            this.state.EdgeDown &&
              Object(h.a)(f.a.EdgeDown, f.a[this.state.EdgeDown]),
            f.a[this.props.pinType],
          );
        return r.createElement(
          "div",
          { className: t, style: e, ref: this.LinkRegionBoxRef, draggable: !1 },
          r.createElement(
            "div",
            { className: f.a.BoxSizerGridBox },
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.TopLeft}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.topleft);
              },
              draggable: !1,
            }),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.Top}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.top);
              },
            }),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.TopRight}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.topright);
              },
              draggable: !1,
            }),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.Left}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.left);
              },
              draggable: !1,
            }),
            r.createElement(
              "div",
              {
                className: `${f.a.BoxSizerEdge} ${f.a.Middle}`,
                onMouseDown: (e) => {
                  this.OnMouseDown(e, A.middle);
                },
                draggable: !1,
              },
              r.createElement(
                "div",
                { className: f.a.TitleImageContainer },
                this.props.children,
              ),
            ),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.Right}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.right);
              },
              draggable: !1,
            }),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.BottomLeft}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.bottomleft);
              },
              draggable: !1,
            }),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.Bottom}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.bottom);
              },
              draggable: !1,
            }),
            r.createElement("div", {
              className: `${f.a.BoxSizerEdge} ${f.a.BottomRight}`,
              onMouseDown: (e) => {
                this.OnMouseDown(e, A.bottomright);
              },
              draggable: !1,
            }),
          ),
        );
      }
    }
    Object(a.b)([u.b], k.prototype, "LinkRegionBoxRef", null),
      Object(a.b)([u.b], k.prototype, "OnMouseDown", null),
      Object(a.b)([u.b], k.prototype, "UpdateBoxPosition", null),
      Object(a.b)([u.b], k.prototype, "OnMouseMove", null),
      Object(a.b)([u.b], k.prototype, "CheckBottomEdge", null),
      Object(a.b)([u.b], k.prototype, "CheckRightEdge", null),
      Object(a.b)([u.b], k.prototype, "CheckTopEdge", null),
      Object(a.b)([u.b], k.prototype, "CheckLeftEdge", null),
      Object(a.b)([u.b], k.prototype, "CalcLeftEdge", null),
      Object(a.b)([u.b], k.prototype, "CalcRightEdge", null),
      Object(a.b)([u.b], k.prototype, "CalcTopEdge", null),
      Object(a.b)([u.b], k.prototype, "CalcBottomEdge", null),
      Object(a.b)([u.b], k.prototype, "OnMouseUp", null),
      Object(a.b)([u.b], k.prototype, "OnResizeComplete", null);
    const M = (e) => {
      const { title: t, className: n } = e;
      let a = 26;
      return (
        t.length > 8 && (a = Math.max(a - (t.length - 5) / 2, 5.8)),
        r.createElement(
          "svg",
          { className: Object(h.a)(f.a.SVGTitle, n), viewBox: "0 0 300 14" },
          r.createElement(
            "defs",
            null,
            r.createElement(
              "linearGradient",
              {
                id: "gradient",
                x1: "0",
                x2: "0",
                y1: "0",
                y2: "100%",
                gradientUnits: "userSpaceOnUse",
              },
              r.createElement("stop", { stopColor: "#fff", offset: "0%" }),
              r.createElement("stop", { stopColor: "#fff", offset: "20%" }),
              r.createElement("stop", { stopColor: "#fff", offset: "40%" }),
              r.createElement("stop", { stopColor: "#eee", offset: "60%" }),
              r.createElement("stop", { stopColor: "#ddd", offset: "80%" }),
              r.createElement("stop", { stopColor: "#ccc", offset: "100%" }),
            ),
          ),
          r.createElement(
            "text",
            {
              x: "-1",
              y: 14,
              fontSize: a,
              textAnchor: "bottom",
              fontWeight: "200",
              fill: "url(#gradient)",
            },
            t,
          ),
        )
      );
    };
    function P(e) {
      const { title: t, children: n } = e,
        a = r.useContext(O);
      return r.createElement(
        d.a,
        { timeout: w, appear: !0, in: a.bFullscreen, classNames: C },
        r.createElement(
          "div",
          { className: Object(h.a)(f.a.TitleSection, t ? f.a.NoLogo : "") },
          r.createElement(
            "div",
            { className: f.a.TextNameSpace },
            !!t && r.createElement(M, { title: t }),
          ),
          r.createElement("div", { className: f.a.Features }, n),
        ),
      );
    }
    var L = n("2vnA");
    class G {
      constructor(e) {
        (this.m_strLibraryHeroURL = e.strLibraryHeroURL),
          (this.m_strLibraryLogoURL = e.strLibraryLogoURL),
          (this.m_unAppID = e.unAppID),
          (this.m_strAppName = e.strAppName),
          (this.m_logoPosition = e.logoPosition || B),
          (this.m_strSaveURL = e.strSaveURL || null),
          this.m_logoPosition.pinnedPosition ||
            (this.m_logoPosition.pinnedPosition = B.pinnedPosition),
          this.m_logoPosition.nHeightPct ||
            (this.m_logoPosition.nHeightPct = B.nHeightPct),
          this.m_logoPosition.nWidthPct ||
            (this.m_logoPosition.nWidthPct = B.nWidthPct);
      }
      GetHeroURL() {
        return this.m_strLibraryHeroURL;
      }
      GetLogoURL() {
        return this.m_strLibraryLogoURL;
      }
      GetAppID() {
        return this.m_unAppID;
      }
      GetAppName() {
        return this.m_strAppName;
      }
      GetLogoPosition() {
        return this.m_logoPosition;
      }
      SetLogoPosition(e) {
        this.m_logoPosition = e;
      }
      GetSaveURL() {
        return this.m_strSaveURL;
      }
    }
    Object(a.b)([L.C], G.prototype, "m_logoPosition", void 0);
    var N = n("vDqi"),
      F = n.n(N),
      x = n("WJYP"),
      z = n.n(x),
      U = n("xqyv"),
      W = n.n(U),
      H = n("l1Mn");
    function V() {
      return r.createElement(
        r.Fragment,
        null,
        r.createElement("span", { style: { fontSize: 0 } }),
        r.createElement(
          "div",
          { className: Object(h.a)(W.a.Container) },
          r.createElement(
            "div",
            { className: W.a.Row },
            r.createElement(Y, null),
            r.createElement(q, null),
            r.createElement(
              "div",
              { className: W.a.RightControls },
              r.createElement(
                "div",
                { className: W.a.AppButtonsContainer },
                r.createElement(
                  "div",
                  { className: W.a.MenuButton },
                  r.createElement(H.bb, null),
                ),
                r.createElement(
                  "div",
                  { className: W.a.GameInfoButton },
                  "Game Info",
                  r.createElement(
                    "div",
                    { className: W.a.Arrow },
                    r.createElement(H.D, { angle: 180 }),
                  ),
                ),
              ),
            ),
          ),
        ),
      );
    }
    function q() {
      return r.createElement(
        "div",
        { className: Object(h.a)(W.a.StatusAndStats) },
        r.createElement(K, null),
      );
    }
    function K() {
      return r.createElement(
        "div",
        { className: W.a.GameStatsSection },
        r.createElement(
          "div",
          { className: W.a.LastPlayed },
          r.createElement(
            "div",
            { className: W.a.LastPlayedRight },
            r.createElement(
              "div",
              { className: W.a.LastPlayedLabel },
              "LAST PLAYED",
            ),
            r.createElement("div", { className: W.a.LastPlayedInfo }, "Mar 24"),
          ),
        ),
        r.createElement(
          "div",
          { className: W.a.Playtime },
          r.createElement("div", { className: W.a.PlaytimeLeft }),
          r.createElement(
            "div",
            { className: W.a.PlaytimeRight },
            r.createElement(
              "div",
              { className: W.a.PlaytimeLabel },
              "PLAY TIME",
            ),
            r.createElement("div", { className: W.a.PlaytimeInfo }, "37 hours"),
          ),
        ),
        r.createElement(
          "div",
          { className: W.a.MiniAchievements },
          r.createElement("div", { className: W.a.AchievementLeft }),
          r.createElement(
            "div",
            { className: W.a.AchievementRight },
            r.createElement(
              "div",
              { className: W.a.AchievementLabel },
              "ACHIEVEMENTS",
            ),
            r.createElement(
              "div",
              { className: W.a.AchievementProgressRow },
              r.createElement(
                "div",
                { className: W.a.AchievementCountLabel },
                "30/47",
              ),
              r.createElement(Q, { progressPct: 3e3 / 47 }),
            ),
          ),
        ),
      );
    }
    class Q extends r.Component {
      render() {
        return r.createElement(
          "div",
          { className: W.a.DetailsProgressContainer },
          r.createElement("div", {
            className: W.a.DetailsProgressBar,
            style: { width: this.props.progressPct + "%" },
          }),
        );
      }
    }
    function Y() {
      return r.createElement(
        "div",
        { className: W.a.ActionSection },
        r.createElement(
          "div",
          { className: W.a.PlayButtonContainer },
          r.createElement(
            "div",
            { className: Object(h.a)(W.a.PlayButton, W.a.Green) },
            r.createElement("div", { className: W.a.ButtonText }, "PLAY"),
          ),
        ),
      );
    }
    var Z = n("hFXP"),
      J = n.n(Z);
    class X extends r.Component {
      OnHighlightRef(e) {
        e && e.scrollIntoView({ block: "center" });
      }
      render() {
        const { highlightedName: e } = this.props;
        let t = n("aJ4l");
        return (
          -1 === t.indexOf(e) && (t.push(e), t.sort()),
          r.createElement(
            "div",
            { className: J.a.GameList },
            t.map((t) => {
              let n = e === t;
              return r.createElement(
                "div",
                {
                  key: t,
                  className: Object(h.a)(
                    J.a.GameListEntry,
                    n ? J.a.Selected : J.a.Uninstalled,
                  ),
                  ref: n && this.OnHighlightRef,
                },
                t,
              );
            }),
          )
        );
      }
    }
    var $ = n("CqJL"),
      ee = n("XL31"),
      te = n("0CSJ");
    class ne extends r.Component {
      constructor(e) {
        super(e), (this.state = { saving: !1, saved: !1, unsavedChanges: !1 });
      }
      componentDidMount() {
        window.addEventListener("beforeunload", this.OnBeforeUnload);
      }
      componentWillUnmount() {
        window.removeEventListener("beforeunload", this.OnBeforeUnload);
      }
      OnBeforeUnload(e) {
        this.state.unsavedChanges &&
          (e.preventDefault(),
          (e.returnValue =
            "You have unsaved changes.  Are you sure you want to close this window?"));
      }
      OnOK() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.state.saving) return;
          const { LogoEditorStore: e } = this.props;
          this.setState({ saving: !0 }, () =>
            Object(a.a)(this, void 0, void 0, function* () {
              if (e.GetSaveURL()) {
                let t = e.GetLogoPosition();
                try {
                  let n = new FormData();
                  n.append("json", "1"),
                    n.append("sessionid", o.c.SESSIONID),
                    n.append(
                      "app[assets][library_logo][logo_position][pinned_position]",
                      t.pinnedPosition,
                    ),
                    n.append(
                      "app[assets][library_logo][logo_position][width_pct]",
                      "" + t.nWidthPct,
                    ),
                    n.append(
                      "app[assets][library_logo][logo_position][height_pct]",
                      "" + t.nHeightPct,
                    );
                  yield F.a.post(e.GetSaveURL(), n);
                  this.setState({ saving: !1, saved: !0, unsavedChanges: !1 });
                } catch (e) {
                  console.error(e),
                    alert("There was a problem saving changes"),
                    this.setState({ saving: !1 });
                }
              } else
                window.opener &&
                  window.opener.postMessage(
                    Object.assign(
                      { appid: e.GetAppID() },
                      Object(L.I)(e.GetLogoPosition()),
                    ),
                    "*",
                  ),
                  this.OnCancel();
            }),
          );
        });
      }
      OnCancel() {
        window.removeEventListener("beforeunload", this.OnBeforeUnload),
          window.close();
      }
      OnPositionChanged() {
        this.state.unsavedChanges ||
          this.setState({ unsavedChanges: !0, saved: !1 });
      }
      render() {
        return r.createElement(
          r.Fragment,
          null,
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                z.a.LogoEditorPopup,
                this.state.saving && z.a.Saving,
              ),
            },
            r.createElement(
              "div",
              { className: z.a.LogoEditorSaveActions },
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    z.a.LogoEditorSavedMessage,
                    this.state.saved && z.a.Saved,
                  ),
                },
                Object($.f)("#StoreAdmin_LibraryPlacementTool_ChangesSaved"),
              ),
              r.createElement(
                "div",
                { className: z.a.LogoEditorButtons },
                r.createElement(
                  te.F,
                  { onClick: this.OnOK, className: z.a.LogoEditorButton },
                  Object($.f)("#Button_Save"),
                ),
                r.createElement(
                  te.e,
                  { onClick: this.OnCancel, className: z.a.LogoEditorButton },
                  this.state.unsavedChanges
                    ? Object($.f)("#Button_Cancel")
                    : Object($.f)("#Button_Close"),
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: z.a.SavingThrobberContainer },
              r.createElement(ee.a, {
                size: "xlarge",
                className: z.a.SavingThrobber,
              }),
            ),
            r.createElement(
              ae,
              Object.assign({}, this.props, {
                fnOnPositionChanged: this.OnPositionChanged,
              }),
            ),
          ),
        );
      }
    }
    Object(a.b)([u.b], ne.prototype, "OnBeforeUnload", null),
      Object(a.b)([u.b], ne.prototype, "OnOK", null),
      Object(a.b)([u.b], ne.prototype, "OnCancel", null),
      Object(a.b)([u.b], ne.prototype, "OnPositionChanged", null);
    class ae extends r.Component {
      constructor(e) {
        super(e), (this.state = { bEditModeEnabled: !0 });
      }
      OnPositionChanged(e) {
        const { LogoEditorStore: t, fnOnPositionChanged: n } = this.props;
        t.SetLogoPosition(e), n && n(e);
      }
      render() {
        const { LogoEditorStore: e } = this.props;
        let t = !!e.GetLogoURL();
        return r.createElement(
          "div",
          { className: z.a.LogoEditorContainer },
          r.createElement(
            "div",
            { className: z.a.LogoEditorGameListContainer },
            r.createElement(X, { highlightedName: e.GetAppName() }),
          ),
          r.createElement("div", { className: z.a.ListDivider }),
          r.createElement(
            "div",
            { className: z.a.LogoEditorDetailsContainer },
            r.createElement(re, { LogoEditorStore: e }),
            r.createElement(
              "div",
              { className: z.a.LogoEditorHeaderContainer },
              r.createElement(
                D,
                {
                  editMode: t && this.state.bEditModeEnabled,
                  hasHeroImage: !0,
                  rgHeaderImages: [e.GetHeroURL()],
                  rgLogoImages: t ? [e.GetLogoURL()] : [],
                  classNameNoLogo: z.a.NoLogoImage,
                  fnOnPositionChanged: this.OnPositionChanged,
                  logoPosition: e.GetLogoPosition(),
                },
                r.createElement(P, {
                  title: e.GetLogoURL() ? "" : e.GetAppName(),
                }),
              ),
            ),
            r.createElement(V, null),
            r.createElement(
              "div",
              { className: z.a.DetailsArea },
              r.createElement("br", null),
              r.createElement("br", null),
              r.createElement("br", null),
              r.createElement("br", null),
              r.createElement("br", null),
            ),
          ),
        );
      }
    }
    Object(a.b)([u.b], ae.prototype, "OnPositionChanged", null);
    const re = Object(m.a)((e) => {
      const t = e.LogoEditorStore.GetLogoPosition();
      return r.createElement(
        r.Fragment,
        null,
        r.createElement("input", {
          type: "hidden",
          name: "app[assets][library_logo][logo_position][pinned_position]",
          value: t.pinnedPosition,
        }),
        r.createElement("input", {
          type: "hidden",
          name: "app[assets][library_logo][logo_position][width_pct]",
          value: t.nWidthPct,
        }),
        r.createElement("input", {
          type: "hidden",
          name: "app[assets][library_logo][logo_position][height_pct]",
          value: t.nHeightPct,
        }),
      );
    });
    var ie = n("1fPh"),
      se = n("LBIc"),
      oe = n.n(se),
      le = n("AQa9"),
      ce = n("5VAZ"),
      de = n("hc+a"),
      ue = n("yS5A"),
      me = (n("/loZ"), n("D6PB"));
    class pe {
      constructor() {
        this.m_rgFriendsList = null;
      }
      GetFriendLiset() {
        return this.m_rgFriendsList;
      }
      LoadFriendList() {
        var e, t;
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = null;
          if (this.m_rgFriendsList) return this.m_rgFriendsList;
          if (!o.j.logged_in) return [];
          try {
            const a = yield F.a.get(
              o.c.COMMUNITY_BASE_URL + "actions/ajaxlistfriends",
            );
            if (
              200 == (null == a ? void 0 : a.status) &&
              1 ==
                (null === (e = a.data) || void 0 === e ? void 0 : e.success) &&
              (null === (t = a.data) || void 0 === t ? void 0 : t.friends)
            )
              return (
                (this.m_rgFriendsList = a.data.friends), this.m_rgFriendsList
              );
            (this.m_rgFriendsList = []), (n = Object(me.a)(a));
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CSimpleFriendsListStore.LoadFriendList failed: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            []
          );
        });
      }
      static Get() {
        return (
          pe.s_Singleton ||
            ((pe.s_Singleton = new pe()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_DynamicRevealStore = pe.s_Singleton)),
          pe.s_Singleton
        );
      }
    }
    var he = n("Cug9"),
      _e = n("LlcT"),
      ge = n("WDYG"),
      be = n("I8QC"),
      fe = (n("Zj+z"), n("6wRw")),
      ve = n("My6o");
    class Se {
      constructor() {
        (this.m_mapProfiles = new Map()),
          (this.m_mapProfilesLoading = new Map());
      }
      LoadProfiles(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          Object(l.a)(
            e.length <= 500,
            "Check LoadProfiles, requesting too many steam IDs",
          );
          let n = e.filter(
            (e) =>
              !this.m_mapProfiles.has(e) && !this.m_mapProfilesLoading.has(e),
          );
          if (0 == n.length) return this.m_mapProfilesLoading.get(e[0]);
          let a = o.c.COMMUNITY_BASE_URL + "actions/ajaxresolveusers",
            r = F.a.get(a, {
              params: { steamids: n.join(",") },
              withCredentials: !0,
              cancelToken: null == t ? void 0 : t.token,
            });
          n.forEach((e) => this.m_mapProfilesLoading.set(e, r));
          let i = yield r;
          i.data &&
            200 == i.status &&
            i.data.forEach((e) => {
              (e.avatar_hash = e.avatar_url),
                (e.avatar_url_medium = Object(ve.a)(e.avatar_url, "medium")),
                (e.avatar_url_full = Object(ve.a)(e.avatar_url, "full")),
                (e.avatar_url = Object(ve.a)(e.avatar_url)),
                this.m_mapProfiles.set(e.steamid, e),
                this.m_mapProfilesLoading.delete(e.steamid);
            });
        });
      }
      GetProfile(e) {
        return this.m_mapProfiles.get(e);
      }
      GetProfileByAccountID(e) {
        return this.m_mapProfiles.get(
          de.a.InitFromAccountID(e).ConvertTo64BitString(),
        );
      }
      GetProfileBySteamID(e) {
        return this.m_mapProfiles.get(e.ConvertTo64BitString());
      }
      BHasProfile(e) {
        return this.m_mapProfiles.has(e);
      }
      BHasProfileByAccountID(e) {
        return this.m_mapProfiles.has(
          de.a.InitFromAccountID(e).ConvertTo64BitString(),
        );
      }
      BHasProfileBySteamID(e) {
        return this.m_mapProfiles.has(e.ConvertTo64BitString());
      }
      GetProfileURLBySteamID(e) {
        const t = this.GetProfileBySteamID(e);
        return t && t.profile_url
          ? o.c.COMMUNITY_BASE_URL + "id/" + t.profile_url
          : o.c.COMMUNITY_BASE_URL + "profiles/" + e.ConvertTo64BitString();
      }
      GetPersonaNameBySteamID(e) {
        const t = this.GetProfileBySteamID(e);
        return t && t.persona_name ? t.persona_name : "";
      }
    }
    Object(a.b)([L.C], Se.prototype, "m_mapProfiles", void 0);
    const ye = new Se();
    function Ee(e) {
      const t = i.a.useMemo(
          () => (e ? ("string" == typeof e ? new de.a(e) : e) : null),
          [e],
        ),
        [n, a] = Object(r.useState)(!!t && !ye.BHasProfileBySteamID(t));
      Object(r.useEffect)(() => {
        const e = F.a.CancelToken.source();
        return (
          t &&
            !ye.BHasProfileBySteamID(t) &&
            ye
              .LoadProfiles([t.ConvertTo64BitString()])
              .catch((e) => {
                const n = Object(me.a)(e);
                console.error(
                  "useUserProfile failed to load profile for " +
                    t.ConvertTo64BitString() +
                    ": " +
                    n.strErrorMsg,
                  n,
                );
              })
              .finally(() => {
                e.token.reason || a(!1);
              }),
          () => e.cancel("unmounting useUserProfile")
        );
      }, [e]);
      return [n, !!t && ye.GetProfileBySteamID(t)];
    }
    function Ce(e) {
      return Ee(i.a.useMemo(() => de.a.InitFromAccountID(e), [e]));
    }
    window.g_ProfileStore = ye;
    n("NKx1");
    var we = n("w+EE"),
      Be = n.n(we);
    class Oe extends i.a.Component {
      constructor(e) {
        super(e),
          (this.m_rgCurrentMatches = []),
          (this.m_mapMatchByKey = new Map()),
          (this.m_hMobxSearchDisposer = Object(L.l)(() =>
            Object(a.a)(this, void 0, void 0, function* () {
              yield this.UpdateSearchResults(this.props.strSearch),
                this.forceUpdate();
            }),
          )),
          (this.state = { selectedIndex: void 0 });
      }
      OnKeyDown(e) {
        this.BHandleKeyPress(e.keyCode) && e.preventDefault();
      }
      BHandleKeyPress(e) {
        switch (e) {
          case 38:
            this.SetSelectedIndexDelta(-1);
            break;
          case 40:
            this.SetSelectedIndexDelta(1);
            break;
          case 36:
            this.SetSelectedIndex(0);
            break;
          case 33:
            this.SetSelectedIndexDelta(-this.GetPageSize());
            break;
          case 35:
            this.SetSelectedIndex(-1);
            break;
          case 34:
            this.SetSelectedIndexDelta(this.GetPageSize());
            break;
          case 13:
          case 9:
            if (void 0 === this.state.selectedIndex)
              return this.props.onSuggestionSelected(this.props.strSearch), !1;
            this.ChooseSuggestion(
              this.m_rgCurrentMatches[this.state.selectedIndex],
            );
            break;
          case 27:
            this.props.onSuggestionSelected(this.props.strSearch);
            break;
          default:
            return !1;
        }
        return !0;
      }
      GetPageSize() {
        let e = s.findDOMNode(this),
          t = e && e.firstElementChild,
          n = this.m_rgCurrentMatches.length;
        if ((n > this.getMaxMatches() && (n = this.getMaxMatches()), t && n)) {
          let e = t.scrollHeight / n,
            a = t.clientHeight / e;
          return Math.max(1, Math.floor(a));
        }
        return 5;
      }
      ChooseSuggestion(e) {
        this.props.onSuggestionSelected(
          this.props.strSearch,
          e ? this.getSelection(e) : void 0,
        );
      }
      SetSelectedIndexDelta(e) {
        void 0 !== this.state.selectedIndex
          ? this.SetSelectedIndex(this.state.selectedIndex + e)
          : this.SetSelectedIndex(1 === e ? 0 : e);
      }
      SetSelectedIndex(e) {
        if (!this.m_rgCurrentMatches.length) return;
        let t = this.m_rgCurrentMatches.length;
        t > this.getMaxMatches() && (t = this.getMaxMatches()),
          (e %= t) < 0 && (e += t),
          this.setState({ selectedIndex: e });
      }
      FindKeyIndex(e) {
        if (!this.m_mapMatchByKey.size && this.m_rgCurrentMatches.length)
          for (let e = 0; e < this.m_rgCurrentMatches.length; e++)
            this.m_mapMatchByKey.set(
              this.getKey(this.m_rgCurrentMatches[e]),
              e,
            );
        return this.m_mapMatchByKey.get(e);
      }
      OnClickSuggestion(e) {
        let t = this.FindKeyIndex(e);
        void 0 !== t && this.ChooseSuggestion(this.m_rgCurrentMatches[t]);
      }
      OnMouseOverSuggestion(e) {
        let t = this.FindKeyIndex(e);
        void 0 !== t && this.SetSelectedIndex(t);
      }
      BindSelectedElement(e) {
        let t = s.findDOMNode(this),
          n = s.findDOMNode(e),
          a = t && t.firstElementChild;
        n &&
          a &&
          (a.scrollTop + a.clientHeight < n.offsetTop ||
            n.offsetTop < a.scrollTop) &&
          n.scrollIntoView();
      }
      UpdateSearchResults(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.m_rgCurrentMatches = yield this.performSearch(e)),
            (this.m_strLastSearch = e),
            this.m_mapMatchByKey.clear(),
            this.m_rgCurrentMatches.length
              ? this.state && void 0 !== this.state.selectedIndex
                ? this.state.selectedIndex >= this.m_rgCurrentMatches.length &&
                  this.setState({ selectedIndex: 0 })
                : (void 0 ===
                    this.props.nMinimumSearchLengthBeforeAutoSelection ||
                    e.length >=
                      this.props.nMinimumSearchLengthBeforeAutoSelection) &&
                  this.setState({ selectedIndex: 0 })
              : this.state &&
                void 0 !== this.state.selectedIndex &&
                this.setState({ selectedIndex: void 0 });
        });
      }
      componentWillUnmount() {
        this.m_hMobxSearchDisposer &&
          (this.m_hMobxSearchDisposer(), (this.m_hMobxSearchDisposer = void 0));
      }
      componentDidUpdate(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.m_strLastSearch != this.props.strSearch &&
            (yield this.UpdateSearchResults(this.props.strSearch),
            this.forceUpdate());
        });
      }
      render() {
        let e = [];
        if (this.m_rgCurrentMatches.length) {
          let t = this.getMaxMatches();
          for (
            let n = 0;
            n < Math.min(t, this.m_rgCurrentMatches.length);
            n++
          ) {
            let t = this.m_rgCurrentMatches[n],
              a = this.getKey(t),
              r = n === this.state.selectedIndex;
            e.push(
              i.a.createElement(
                De,
                {
                  key: a,
                  matchKey: a,
                  fnOnClick: this.OnClickSuggestion,
                  fnOnMouseOver: this.OnMouseOverSuggestion,
                  bIsSelected: r,
                  ref: r ? this.BindSelectedElement : void 0,
                },
                this.renderMatch(t),
              ),
            );
          }
          this.m_rgCurrentMatches.length > t &&
            e.push(
              this.renderTooManyMatchesMessage(
                this.m_rgCurrentMatches.length - t,
              ),
            );
        } else {
          let t = this.renderNoMatchMessage();
          if (!t) return null;
          e.push(t);
        }
        return i.a.createElement(
          "div",
          { className: Be.a.mentionDialogPosition },
          i.a.createElement(
            "div",
            {
              className: Be.a.mentionDialog,
              tabIndex: 0,
              onKeyDown: this.OnKeyDown,
            },
            this.renderHeader(),
            e,
          ),
        );
      }
    }
    Object(a.b)([u.b], Oe.prototype, "OnKeyDown", null),
      Object(a.b)([u.b], Oe.prototype, "OnClickSuggestion", null),
      Object(a.b)([u.b], Oe.prototype, "OnMouseOverSuggestion", null),
      Object(a.b)([u.b], Oe.prototype, "BindSelectedElement", null);
    class De extends i.a.PureComponent {
      OnMouseOver(e) {
        this.props.fnOnMouseOver(this.props.matchKey);
      }
      OnClick(e) {
        this.props.fnOnClick(this.props.matchKey);
      }
      render() {
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)(
              Be.a.suggestOption,
              Be.a.mentionSearchOption,
              this.props.bIsSelected ? Be.a.selected : "",
            ),
            onMouseEnter: this.OnMouseOver,
            onClick: this.OnClick,
          },
          this.props.children,
        );
      }
    }
    Object(a.b)([u.b], De.prototype, "OnMouseOver", null),
      Object(a.b)([u.b], De.prototype, "OnClick", null);
    var Ie = Oe,
      Te = n("kQyc"),
      Re = n("lApO"),
      je = n.n(Re);
    var Ae = class extends Ie {
        performSearch(e) {
          return this.props.emoticonStore.SearchEmoticons(e, 10, !1);
        }
        getSelection(e) {
          return e.name;
        }
        getKey(e) {
          return e.name;
        }
        renderMatch(e) {
          return i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                je.a.EmoticonSuggestion,
                e.recent ? "Recent" : "",
              ),
            },
            i.a.createElement(
              "div",
              { className: je.a.Emoticon },
              i.a.createElement(Te.b, {
                emoticon: e.name,
                emoticonHoverStore: this.props.emoticonHoverStore,
              }),
              e.new && i.a.createElement(Te.e, null),
            ),
            ":",
            e.name,
            ":",
          );
        }
        renderNoMatchMessage() {
          return null;
        }
        renderTooManyMatchesMessage(e) {
          return null;
        }
        renderHeader() {
          return null;
        }
        getMaxMatches() {
          return Number.MAX_VALUE;
        }
      },
      ke = n("tRvr"),
      Me = n.n(ke);
    class Pe extends Ie {
      performSearch(e) {
        let t = Array();
        return (
          this.props.supportBBCodes.forEach((n) => {
            n.indexOf(e) >= 0 && t.push({ name: n });
          }),
          t
        );
      }
      getSelection(e) {
        return "[" + e.name + "][/" + e.name + "]";
      }
      getKey(e) {
        return e.name;
      }
      renderMatch(e) {
        return i.a.createElement(
          "div",
          { key: e.name, className: Object(h.a)(Me.a.BBCodeSuggestion) },
          i.a.createElement("div", { className: Me.a.BBCode }, e.name),
          "[",
          e.name,
          "]...[/",
          e.name,
          "]",
        );
      }
      renderNoMatchMessage() {
        return i.a.createElement(
          "div",
          {
            key: "nomatches",
            className: Object(h.a)(Be.a.mentionSearchOption, Be.a.noMatches),
          },
          Object($.f)("#Bbcode_No_Match"),
        );
      }
      renderTooManyMatchesMessage(e) {
        return null;
      }
      renderHeader() {
        return null;
      }
      getMaxMatches() {
        return Number.MAX_VALUE;
      }
    }
    class Le extends r.Component {
      constructor(e) {
        super(e),
          (this.descTextAreaRef = r.createRef()),
          (this.m_bDisabled = !0),
          (this.state = {
            mentionSearch: void 0,
            activeSuggestSearchType: void 0,
          });
      }
      BindMentionDialog(e) {
        this.m_MentionDialog = e;
      }
      OnKeyDown(e) {
        this.state.activeSuggestSearchType &&
        this.m_MentionDialog &&
        !e.shiftKey &&
        !e.ctrlKey &&
        this.m_MentionDialog.BHandleKeyPress(e.keyCode)
          ? e.preventDefault()
          : (8 != e.keyCode && 46 != e.keyCode) ||
            (this.m_iMentionSearchCancelledOffset = void 0);
      }
      FindMatchOpener(e, t, n) {
        for (let a = n - 1; a >= 0; a--) {
          if (t[a] == e) return a;
          if (" " == t[a] || "\n" == t[a]) break;
        }
      }
      ReplaceSuggestedText(e, t) {
        let n = this.descTextAreaRef.current.selectionStart,
          a = this.descTextAreaRef.current.value,
          r = this.FindMatchOpener(e, a, n);
        if (
          (void 0 === r && "@" == e && (r = this.FindMatchOpener("＠", a, n)),
          void 0 !== r)
        ) {
          let e = a.substr(0, r);
          (e += t), (n >= a.length || " " != a[n]) && (e += " ");
          let i = e.length;
          (e += a.substr(n)),
            (this.descTextAreaRef.current.value = e),
            (this.descTextAreaRef.current.selectionStart =
              this.descTextAreaRef.current.selectionEnd =
                i),
            this.props.fnSetText(e),
            this.FocusTextInput();
        }
      }
      OnFocus(e) {
        this.UpdateAutoSearchState();
      }
      OnKeyPress(e) {
        this.UpdateAutoSearchState();
      }
      OnClick(e) {
        this.UpdateAutoSearchState();
      }
      ClearMentionSearchState() {
        (this.m_iMentionSearchStartOffset = void 0),
          this.state.activeSuggestSearchType &&
            this.setState({
              activeSuggestSearchType: void 0,
              mentionSearch: void 0,
            });
      }
      OnEmoticonSuggestionSelected(e, t) {
        if (!t)
          return (
            (this.m_iMentionSearchCancelledOffset =
              this.m_iMentionSearchStartOffset),
            void this.ClearMentionSearchState()
          );
        this.ReplaceSuggestedText(":", ":" + t + ":"),
          this.ClearMentionSearchState();
      }
      OnBBCodeSuggestionSelected(e, t) {
        if (!t)
          return (
            (this.m_iMentionSearchCancelledOffset =
              this.m_iMentionSearchStartOffset),
            void this.ClearMentionSearchState()
          );
        this.ReplaceSuggestedText("[", t), this.ClearMentionSearchState();
      }
      FocusTextInput() {
        this.descTextAreaRef.current && this.descTextAreaRef.current.focus();
      }
      UpdateAutoSearchState() {
        let e = this.descTextAreaRef.current;
        if (!e || this.m_bDisabled) return;
        if (e.selectionStart != e.selectionEnd || !e.selectionStart)
          return void this.ClearMentionSearchState();
        let t,
          n,
          a = e.selectionStart,
          r = e.value;
        for (let e = a - 1; e >= 0; e--) {
          let a = e > 0 ? r[e - 1] : void 0;
          if (this.props.emoticonStore && ":" == r[e] && r.length > 2) {
            (a && " " != a && "\n" != a && ":" != a) ||
              ((t = e), (n = "Emoticon"));
            break;
          }
          if ("[" == r[e] && (e + 1 > r.length || "/" != r[e + 1])) {
            (a && " " != a && "\n" != a && "]" != a) ||
              ((t = e), (n = "BBCode"));
            break;
          }
          if (" " == r[e] || "\n" == r[e]) break;
        }
        if (void 0 === t || t === this.m_iMentionSearchCancelledOffset)
          return void this.ClearMentionSearchState();
        let i = r.substr(t + 1, a - t - 1);
        (this.m_iMentionSearchStartOffset = t),
          this.setState({ activeSuggestSearchType: n, mentionSearch: i });
      }
      GetTextAreaRef() {
        return this.descTextAreaRef;
      }
      GetTextAreaCurrent() {
        return this.descTextAreaRef.current;
      }
      render() {
        let e,
          t = this.props,
          { emoticonStore: n, supportBBCodes: i, fnSetText: s } = t,
          o = Object(a.c)(t, ["emoticonStore", "supportBBCodes", "fnSetText"]);
        switch (this.state.activeSuggestSearchType) {
          case "Emoticon":
            e = r.createElement(Ae, {
              emoticonStore: n,
              emoticonHoverStore: fe.a,
              strSearch: this.state.mentionSearch,
              nMinimumSearchLengthBeforeAutoSelection: 2,
              onSuggestionSelected: this.OnEmoticonSuggestionSelected,
              ref: this.BindMentionDialog,
            });
            break;
          case "BBCode":
            e = r.createElement(Pe, {
              supportBBCodes: i,
              strSearch: this.state.mentionSearch,
              nMinimumSearchLengthBeforeAutoSelection: 2,
              onSuggestionSelected: this.OnBBCodeSuggestionSelected,
              ref: this.BindMentionDialog,
            });
        }
        return r.createElement(
          r.Fragment,
          null,
          e,
          r.createElement(
            "textarea",
            Object.assign({}, o, {
              ref: this.descTextAreaRef,
              onKeyDown: this.OnKeyDown,
              onKeyUp: this.OnKeyPress,
              onFocus: this.OnFocus,
              onClick: this.OnClick,
            }),
          ),
        );
      }
    }
    Object(a.b)([u.b], Le.prototype, "BindMentionDialog", null),
      Object(a.b)([u.b], Le.prototype, "OnKeyDown", null),
      Object(a.b)([u.b], Le.prototype, "OnFocus", null),
      Object(a.b)([u.b], Le.prototype, "OnKeyPress", null),
      Object(a.b)([u.b], Le.prototype, "OnClick", null),
      Object(a.b)([u.b], Le.prototype, "OnEmoticonSuggestionSelected", null),
      Object(a.b)([u.b], Le.prototype, "OnBBCodeSuggestionSelected", null),
      Object(a.b)([u.b], Le.prototype, "FocusTextInput", null),
      Object(a.b)([u.b], Le.prototype, "GetTextAreaRef", null),
      Object(a.b)([u.b], Le.prototype, "GetTextAreaCurrent", null);
    var Ge = n("HP60"),
      Ne = n("9Pkb"),
      Fe = n.n(Ne),
      xe = n("bznR"),
      ze = n("+d5k"),
      Ue = n("RjJm"),
      We = n.n(Ue),
      He = n("Bj5E"),
      Ve = n.n(He),
      qe = n("gTmQ"),
      Ke = n("6Gnh"),
      Qe = n("2hyl"),
      Ye = n("caBB"),
      Ze = n.n(Ye),
      Je = n("jYlc"),
      Xe = n("Gdzm"),
      $e = n("VZfJ"),
      et = n("4ybx");
    class tt extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            region: {
              xPosPct: 0,
              yPosPct: 0,
              widthPct:
                (this.GetDestWidth() / this.props.uploadFile.width) * 100,
              heightPct:
                (this.GetDestHeight() / this.props.uploadFile.height) * 100,
            },
          });
      }
      OnCrop() {
        return Object(a.a)(this, void 0, void 0, function* () {
          yield this.props.uploadFile.CropImage(
            (this.state.region.xPosPct / 100) * this.props.uploadFile.width,
            (this.state.region.yPosPct / 100) * this.props.uploadFile.height,
            (this.state.region.widthPct / 100) * this.props.uploadFile.width,
            (this.state.region.heightPct / 100) * this.props.uploadFile.height,
            this.GetDestWidth(),
            this.GetDestHeight(),
            this.props.fileType,
          ),
            this.props.closeModal();
        });
      }
      UpdateCrop(e, t) {
        this.setState({ region: t });
      }
      GetDestWidth() {
        const { uploadFile: e, forceResolution: t } = this.props;
        return t ? t.width : Je.a[e.type].width;
      }
      GetDestHeight() {
        const { uploadFile: e, forceResolution: t } = this.props;
        return t ? t.height : Je.a[e.type].height;
      }
      GetLargestBoxThatFits(e, t, n, a) {
        let r = n,
          i = (r * t) / Math.max(e, 1);
        return (
          i > a && ((i = a), (r = (i * e) / Math.max(t, 1))),
          { width: r, height: i }
        );
      }
      GetPreviewWindowStyle() {
        const { region: e } = this.state,
          t = this.GetLargestBoxThatFits(
            this.GetDestWidth(),
            this.GetDestHeight(),
            500,
            150,
          ),
          n = t.width,
          a = t.height,
          r = 1 / Math.max(e.widthPct / 100, 1e-4),
          i = 1 / Math.max(e.heightPct / 100, 1e-4),
          s = (this.props.uploadFile.width * e.xPosPct) / 100,
          o = (this.props.uploadFile.height * e.yPosPct) / 100;
        return {
          width: n,
          height: a,
          backgroundPosition: `${-s * ((n * r) / this.props.uploadFile.width)}px ${-o * ((a * i) / this.props.uploadFile.height)}px`,
          backgroundSize: `${100 * r}% ${100 * i}%`,
          backgroundImage: `url(${this.props.uploadFile.dataUrl})`,
        };
      }
      render() {
        const e = (this.GetDestWidth() / this.props.uploadFile.width) * 100,
          t = (this.GetDestHeight() / this.props.uploadFile.height) * 100,
          n = this.GetLargestBoxThatFits(
            this.props.uploadFile.width,
            this.props.uploadFile.height,
            800,
            500,
          );
        return r.createElement(
          xe.i,
          {
            onEscKeypress: this.props.closeModal,
            bDisableBackgroundDismiss: !0,
          },
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                "DialogContent",
                "_DialogCenterVertically",
              ),
            },
            r.createElement(
              te.L,
              null,
              Object($.f)(
                "#ImageUpload_CropModalTitleDims",
                this.GetDestWidth(),
                this.GetDestHeight(),
              ),
            ),
            r.createElement(
              "div",
              { className: Object(h.a)("DialogBodyText") },
              Object($.f)("#ImageUpload_CropModalDescription"),
            ),
            r.createElement(
              "div",
              {
                className: et.CropImage,
                style: { width: n.width, height: n.height },
              },
              r.createElement("img", {
                style: {
                  maxWidth: "100%",
                  maxHeight: "100%",
                  objectFit: "contain",
                },
                src: this.props.uploadFile.dataUrl,
              }),
              r.createElement($e.a, {
                bLockAspectRatio: !0,
                bDisableLink: !0,
                index: 0,
                updateFn: this.UpdateCrop,
                xPosPct: 0,
                yPosPct: 0,
                widthMinPct: e,
                heightMinPct: t,
                widthPct: e,
                heightPct: t,
              }),
            ),
            r.createElement(
              "div",
              { className: et.CropPreviewGroup },
              r.createElement(
                "div",
                { className: et.CropPreviewLabel },
                Object($.f)("#ImageUpload_CropPreview"),
              ),
              r.createElement("div", { style: this.GetPreviewWindowStyle() }),
            ),
            r.createElement(
              te.F,
              { onClick: this.OnCrop },
              Object($.f)("#ImageUpload_CropAndContinue"),
            ),
          ),
        );
      }
    }
    Object(a.b)([u.b], tt.prototype, "OnCrop", null),
      Object(a.b)([u.b], tt.prototype, "UpdateCrop", null);
    var nt = n("Fgqg"),
      at = n("vSSf");
    const rt = (e) => {
        const { clanSteamID: t, fnImageSelectCallBack: n } = e,
          s = Object(r.useRef)(null),
          [o, l] = Object(r.useState)(!be.d.BHasLoadedClanImages(t)),
          [c, d] = Object(r.useState)("");
        Object(r.useEffect)(() => {
          if (!be.d.BHasLoadedClanImages(t)) {
            s.current && s.current(), l(!0);
            (() =>
              Object(a.a)(void 0, void 0, void 0, function* () {
                const e = F.a.CancelToken.source();
                (s.current = e.cancel),
                  yield be.d.LoadClanImages(t, !1, e),
                  e.token.reason || l(!1);
              }))();
          }
          return () => {
            s.current && s.current("ClanImageChooseDialog: unmounting");
          };
        }, [t]);
        const u = () => e.closeModal && e.closeModal(),
          m = be.d.GetFilteredClanImages(t, c),
          p = (e) => {
            n(e), u();
          };
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            xe.i,
            { onEscKeypress: u },
            i.a.createElement(
              te.g,
              null,
              i.a.createElement(
                te.y,
                null,
                Object($.f)("#ClanImageChooser_Title"),
              ),
              i.a.createElement(
                te.c,
                null,
                i.a.createElement(
                  te.d,
                  null,
                  i.a.createElement(
                    "p",
                    null,
                    Object($.f)("#ClanImageChooser_Desc"),
                  ),
                  i.a.createElement(te.z, {
                    placeholder: Object($.f)("#ClanImageChooser_Search"),
                    value: c,
                    onChange: (e) => d(e.currentTarget.value),
                  }),
                  i.a.createElement(
                    "div",
                    { className: at.ImagesOuterContainer },
                    o
                      ? i.a.createElement(ee.a, {
                          size: "medium",
                          string: Object($.f)("#Loading"),
                        })
                      : Boolean(m.length > 0)
                        ? m.map((e) =>
                            i.a.createElement(it, {
                              key: "ci" + e.image_hash,
                              clanImage: e,
                              searchStringHilight: c,
                              fnImageClick: p,
                            }),
                          )
                        : Boolean(0 == c.trim().length)
                          ? i.a.createElement(
                              "div",
                              null,
                              Object($.f)("#ClanImageChooser_None"),
                            )
                          : i.a.createElement(
                              "div",
                              null,
                              Object($.f)(
                                "#EventCalendar_GameSearch_NoneFound",
                              ),
                            ),
                  ),
                ),
              ),
              i.a.createElement(
                te.p,
                null,
                i.a.createElement(
                  te.e,
                  { onClick: u },
                  Object($.f)("#Button_Cancel"),
                ),
              ),
            ),
          ),
        );
      },
      it = (e) => {
        const { clanImage: t, searchStringHilight: n, fnImageClick: a } = e;
        let r = t.file_name ? t.file_name : "",
          s = (function (e, t, n, a) {
            let r = [];
            if (e.length > 0) {
              let s = t.toLocaleLowerCase();
              for (let o = 0; o < t.length; ) {
                let l = s.indexOf(e, o);
                if (l < 0) {
                  r.push(
                    i.a.createElement(
                      "span",
                      { key: n + "_" + String(o) },
                      t.substring(o),
                    ),
                  );
                  break;
                }
                o < l &&
                  r.push(
                    i.a.createElement(
                      "span",
                      { key: n + "_" + String(o) },
                      t.substring(o, l),
                    ),
                  ),
                  r.push(
                    i.a.createElement(
                      "span",
                      { key: n + "_" + String(o), className: a },
                      t.substr(l, e.length),
                    ),
                  ),
                  (o = l + e.length);
              }
            } else r.push(i.a.createElement("span", { key: n + "_null" }, t));
            return r;
          })(n, r, String(t.imageid), at.Hilight);
        return i.a.createElement(
          "div",
          { className: at.ImageContainer },
          i.a.createElement("div", {
            className: at.Image,
            style: { backgroundImage: `url( '${t.thumb_url}' )` },
            onDoubleClick: () => a(t),
          }),
          i.a.createElement(
            "div",
            { className: at.ImageFilename, title: r },
            s,
          ),
        );
      };
    var st = n("fX/S");
    const ot = Object(m.a)((e) => {
      const {
          clanSteamID: t,
          inputClanImage: n,
          nWidth: i,
          nHeight: s,
          setImage: c,
        } = e,
        d = r.useMemo(() => ["sale_header"], []),
        u = r.useMemo(() => ({ width: i, height: s }), [i, s]),
        [m, p] = r.useState(void 0),
        [h, _] = r.useState(Boolean(n)),
        [g, b] = r.useState(void 0),
        [f, S] = r.useState(!1),
        y = r.useCallback(
          (e, t) =>
            Object(a.a)(void 0, void 0, void 0, function* () {
              if (
                (e.ClearImages(),
                t && (_(!0), yield e.AddExistingClanImage(t, 0, d)))
              ) {
                p(t);
                const a = e.GetUploadImages()[0].IsValidImage(d, u);
                0 != a.error.length ||
                  a.needsCrop ||
                  (n && n.image_hash == t.image_hash) ||
                  c(t);
              }
              _(!1);
            }),
          [n, c, d, u],
        );
      r.useEffect(() => {
        (g &&
          g.GetClanSteamID().ConvertTo64BitString() ==
            t.ConvertTo64BitString()) ||
          b(new be.b(t));
      }, [g, t]),
        r.useEffect(() => {
          y(g, n);
        }, [y, g, n]);
      let E,
        C = "",
        w = !1;
      if (g && g.GetFilesToUpload().length > 0) {
        E = g.GetUploadImages()[0];
        const e = E.IsValidImage(d, u);
        (C = e.error), (w = e.needsCrop);
      }
      return r.createElement(
        r.Fragment,
        null,
        h
          ? r.createElement(ee.a, {
              size: "medium",
              string: Object($.f)("#Loading"),
            })
          : Boolean(m) &&
              r.createElement("div", {
                className: st.Image,
                style: {
                  backgroundImage: `url( '${E ? E.dataUrl : m.url}' )`,
                  height: `${s}px`,
                  width: `${i}px`,
                },
              }),
        Boolean(C) && r.createElement("p", null, C),
        w &&
          r.createElement(
            te.e,
            {
              onClick: (e) => {
                const t = Object(v.o)(e);
                let n = g.GetUploadImages()[0];
                Object(ze.d)(
                  r.createElement(tt, {
                    ownerWin: t,
                    uploadFile: n,
                    forceResolution: { width: i, height: s },
                    fileType: 3,
                  }),
                  t,
                );
              },
            },
            Object($.f)("#BBCode_ResizeImage"),
          ),
        Boolean(E && E.bCropped) &&
          r.createElement(
            r.Fragment,
            null,
            r.createElement(
              "div",
              null,
              Object($.f)("#ClanImagePickAndResize_UploadStatus", E.status),
            ),
            f
              ? r.createElement(ee.a, {
                  string: Object($.f)("#Uploading"),
                  size: "small",
                })
              : r.createElement(
                  te.e,
                  {
                    onClick: () =>
                      Object(a.a)(void 0, void 0, void 0, function* () {
                        S(!0);
                        try {
                          const e = yield g.UploadAllFiles(d, u),
                            n = Object.values(e);
                          if (
                            n &&
                            n.length > 0 &&
                            (Object(l.a)(
                              1 == n.length,
                              "ClanImagePickForCertainSize expected size 1, got " +
                                n.length,
                            ),
                            1 == n[0].success)
                          ) {
                            const e = n[0],
                              a =
                                o.c.MEDIA_CDN_COMMUNITY_URL +
                                "images/clans/" +
                                t.GetAccountID() +
                                "/",
                              r = be.a.GetExtensionStringForFileType(
                                e.file_type,
                              ),
                              i = a + e.image_hash + r,
                              s = a + e.thumbnail_hash + r,
                              l = {
                                imageid: -11231412,
                                image_hash: e.image_hash,
                                thumbnail_hash: e.thumbnail_hash,
                                file_type: e.file_type,
                                file_name: e.file_name,
                                clanAccountID: t.GetAccountID(),
                                url: i,
                                thumb_url: s,
                                uploaded_time: Date.now() / 1e3,
                                loc_languages: void 0,
                                is_loc_group: !1,
                              };
                            p(l), c(l);
                          }
                        } finally {
                          S(!1);
                        }
                      }),
                  },
                  Object($.f)("#ClanImagePickAndResize_UploadImage"),
                ),
          ),
        r.createElement(
          te.e,
          {
            onClick: (e) => {
              const t = new de.a(o.b.CLANSTEAMID);
              Object(ze.d)(
                r.createElement(rt, {
                  clanSteamID: t,
                  fnImageSelectCallBack: (e) => y(g, e),
                }),
                Object(v.o)(e),
              );
            },
          },
          Object($.f)("#BBCode_ChooseImage", i, s),
        ),
      );
    });
    var lt;
    let ct = (lt = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.state = {
            formattingHelp: {
              __html: lt.s_formattingHelp.has(e.formatType)
                ? lt.s_formattingHelp.get(e.formatType)
                : "",
            },
          });
      }
      componentDidMount() {
        this.AjaxGetFormattingHelp().catch((e) => {
          this.setState(Object(me.a)(e));
        });
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("FormattingHelpWidget component unmounted");
      }
      static GetHelpURL(e, t) {
        return (
          o.c.COMMUNITY_BASE_URL +
          "comment/" +
          e +
          "/formattinghelp" +
          (t ? "?ajax=1" : "")
        );
      }
      AjaxGetFormattingHelp() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if ("" == this.state.formattingHelp.__html) {
            let e,
              t = { sessionid: o.c.SESSIONID };
            (e = yield F.a.get(lt.GetHelpURL(this.props.formatType, !0), {
              params: t,
              cancelToken: this.m_cancelSignal.token,
            })),
              lt.s_formattingHelp.set(this.props.formatType, e.data),
              this.setState({ formattingHelp: { __html: e.data } });
          }
        });
      }
      render() {
        return this.state.strErrorMsg
          ? r.createElement(
              "div",
              null,
              this.state.strErrorMsg,
              r.createElement("br", null),
              this.state.errorCode,
            )
          : "" == this.state.formattingHelp.__html
            ? r.createElement(ee.a, null)
            : r.createElement(
                xe.e,
                {
                  strTitle: Object($.f)(
                    "#EventEditor_FormattingHelp_GetHelpLink",
                  ),
                  strDescription: "",
                  closeModal: this.props.closeModal,
                  onOK: this.props.closeModal,
                  onCancel: this.props.closeModal,
                  bAlertDialog: !0,
                },
                r.createElement("div", {
                  dangerouslySetInnerHTML: this.state.formattingHelp,
                }),
              );
      }
    });
    var dt;
    (ct.s_formattingHelp = new Map()), (ct = lt = Object(a.b)([m.a], ct));
    let ut = class extends r.Component {
      constructor(e) {
        super(e),
          (this.descAutoTextAreaRef = r.createRef()),
          (this.state = { bShowDragTarget: !1 });
      }
      componentDidMount() {
        be.d.AddClanImageDragListener(this.ClanImageDragListener);
      }
      componentWillUnmount() {
        be.d.RemoveClanImageDragListener(this.ClanImageDragListener);
      }
      ClanImageDragListener(e, t) {
        this.state.bShowDragTarget != t &&
          this.setState({ bShowDragTarget: t });
      }
      onFocus(e) {
        e && e.target.select();
      }
      InsertText(e) {
        mt.replaceSelection(this.GetTextAreaRef().current, e);
      }
      OnTextAreaDropListener(e) {
        if (
          (e.preventDefault(),
          e.stopPropagation(),
          e.dataTransfer.items && e.dataTransfer.items[0])
        ) {
          let t = e.dataTransfer.getData("text");
          if (t && t.length > 0) {
            let e = o.c.MEDIA_CDN_COMMUNITY_URL + "images/clans/";
            if (t.startsWith(e)) {
              let n = "[img]" + he.e + "/" + t.substr(e.length) + "[/img]";
              mt.replaceSelection(this.GetTextAreaRef().current, n);
            }
          }
        }
      }
      GetTextAreaRef() {
        return this.descAutoTextAreaRef && this.descAutoTextAreaRef.current
          ? this.descAutoTextAreaRef.current.GetTextAreaRef()
          : void 0;
      }
      render() {
        return r.createElement(
          r.Fragment,
          null,
          r.createElement(pt, {
            pathToImages:
              o.c.COMMUNITY_CDN_URL + "public/images/sharedfiles/guides/",
            fnTextareaRef: this.GetTextAreaRef,
            emoticonStore: this.props.emoticonStore,
            supportBBCodes: this.props.limitBBCode
              ? this.props.limitBBCode
              : he.f,
            bSupportHTMLImport: this.props.bSupportHTMLImport,
            showFormatHelp: this.props.showFormatHelp,
            bEmbeddedInDialog: this.props.bEmbeddedInDialog,
            clanSteamID: this.props.clanSteamID,
          }),
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                Ze.a.DescriptionCtn,
                Ze.a.BBCodeEditorInputStyles,
                this.state.bShowDragTarget ? Ze.a.DragTarget : "",
              ),
            },
            r.createElement(Le, {
              cols: 90,
              rows: this.props.nOverridesRows || 42,
              maxLength: 32e3,
              className: Object(h.a)(
                Ze.a.DefaultEditor,
                this.props.classNameForTextArea
                  ? this.props.classNameForTextArea
                  : "",
              ),
              placeholder: this.props.strPlaceholder,
              ref: this.descAutoTextAreaRef,
              value: this.props.fnGetCurText(),
              onChange: this.props.fnOnTextChange,
              onDrop: this.OnTextAreaDropListener,
              emoticonStore: this.props.emoticonStore,
              fnSetText: this.props.fnSetText,
              supportBBCodes: this.props.limitBBCode
                ? this.props.limitBBCode
                : he.f,
            }),
          ),
        );
      }
    };
    Object(a.b)([u.b], ut.prototype, "ClanImageDragListener", null),
      Object(a.b)([u.b], ut.prototype, "onFocus", null),
      Object(a.b)([u.b], ut.prototype, "OnTextAreaDropListener", null),
      Object(a.b)([u.b], ut.prototype, "GetTextAreaRef", null),
      (ut = Object(a.b)([m.a], ut));
    class mt {
      static BIsFireFox() {
        return Boolean(
          new RegExp(/Firefox\/([0-9\.]+)(?:\s|$)/i).exec(navigator.userAgent),
        );
      }
      static replaceSelection(e, t) {
        let n = e.selectionStart;
        e.focus(),
          mt.InsertTextAtSelect(t, e),
          e.setSelectionRange(n, n + t.length);
      }
      static getSelectedString(e) {
        return e.value.substr(
          e.selectionStart,
          e.selectionEnd - e.selectionStart,
        );
      }
      static wrapBBCode(e, t, n) {
        let a = mt.getSelectedString(n),
          r = "";
        (r =
          0 == a.indexOf(e) && a.lastIndexOf(t) == a.length - t.length
            ? a.substr(e.length, a.length - e.length - t.length)
            : e + a + t),
          mt.replaceSelection(n, r);
      }
      static append(e, t) {
        t &&
          (t.focus(),
          t.setSelectionRange(t.value.length, t.value.length),
          mt.InsertTextAtSelect(e, t));
      }
      static overwrite(e, t) {
        t &&
          (t.focus(),
          document.execCommand("selectAll", !1, e),
          mt.BIsFireFox() ? (t.value = "") : document.execCommand("delete", !1),
          mt.InsertTextAtSelect(e, t));
      }
      static InsertTextAtSelect(e, t) {
        mt.BIsFireFox() && t.setRangeText
          ? t.setRangeText(e)
          : document.execCommand("insertText", !1, e);
      }
    }
    let pt = class extends r.Component {
      constructor() {
        super(...arguments), (this.m_linkPopupRef = r.createRef());
      }
      onBold() {
        mt.wrapBBCode("[b]", "[/b]", this.props.fnTextareaRef().current);
      }
      onItalics() {
        mt.wrapBBCode("[i]", "[/i]", this.props.fnTextareaRef().current);
      }
      onUnderline() {
        mt.wrapBBCode("[u]", "[/u]", this.props.fnTextareaRef().current);
      }
      onStrikeThrough() {
        mt.wrapBBCode(
          "[strike]",
          "[/strike]",
          this.props.fnTextareaRef().current,
        );
      }
      onHeader() {
        mt.wrapBBCode("[h1]", "[/h1]", this.props.fnTextareaRef().current);
      }
      onHeader2() {
        mt.wrapBBCode("[h2]", "[/h2]", this.props.fnTextareaRef().current);
      }
      onHeader3() {
        mt.wrapBBCode("[h3]", "[/h3]", this.props.fnTextareaRef().current);
      }
      onUnorderedList() {
        this.handleList("list");
      }
      onOrderedList() {
        this.handleList("olist");
      }
      handleList(e) {
        let t = this.props.fnTextareaRef().current,
          n = "[" + e + "]\n",
          a = "[/" + e + "]";
        if (t.selectionStart == t.selectionEnd)
          mt.wrapBBCode(n + "[*]", "\n" + a, t);
        else {
          let e =
            n +
            mt
              .getSelectedString(t)
              .split("\n")
              .map((e) => (e.match(/\*+\s/) ? "[*]" : "[*] ") + e)
              .join("\n") +
            "\n" +
            a;
          mt.replaceSelection(t, e);
        }
      }
      OnAddLink(e) {
        Object(ze.c)(
          r.createElement(gt, { textareaRef: this.props.fnTextareaRef() }),
          Object(v.o)(e),
        );
      }
      ShowHelpDialog(e) {
        this.props.showFormatHelp &&
          Object(ze.c)(
            r.createElement(ct, { formatType: this.props.showFormatHelp }),
            Object(v.o)(e),
          );
      }
      OnConvertHTMLToBBCodeDialog(e) {
        Object(ze.c)(
          r.createElement(vt, { textareaRef: this.props.fnTextareaRef() }),
          Object(v.o)(e),
        );
      }
      OnOpenYoutubeDialog(e) {
        let t = o.c.IMG_URL + "applications/community/";
        Object(ze.c)(
          r.createElement(_t, {
            textareaRef: this.props.fnTextareaRef(),
            pathToImages: t,
          }),
          Object(v.o)(e),
        );
      }
      OnOpenImageDialog(e) {
        Object(ze.c)(
          r.createElement(bt, { textareaRef: this.props.fnTextareaRef() }),
          Object(v.o)(e),
        );
      }
      OnOpenSpeakerDialog(e) {
        Object(ze.d)(
          r.createElement(ft, {
            clanSteamID: this.props.clanSteamID,
            textareaRef: this.props.fnTextareaRef(),
          }),
          Object(v.o)(e),
        );
      }
      OnEmoticonSelected(e, t = !1) {
        let n = `ː${e}ː`;
        mt.replaceSelection(this.props.fnTextareaRef().current, n),
          this.props.fnTextareaRef().current.focus();
      }
      BSupports(e) {
        return this.props.supportBBCodes.findIndex((t) => t == e) >= 0;
      }
      render() {
        const {
          showFormatHelp: e,
          bEmbeddedInDialog: t,
          bSupportHTMLImport: n,
          pathToImages: a,
        } = this.props;
        let i;
        return (
          e &&
            (i = t
              ? r.createElement(
                  "span",
                  {
                    className: Object(h.a)("ttip", Ze.a.ActionGetHelp),
                    "data-tooltip-text": Object($.f)(
                      "#EventEditor_FormattingHelp_GetHelpLink",
                    ),
                  },
                  r.createElement(
                    "a",
                    {
                      href: ct.GetHelpURL(this.props.showFormatHelp, !1),
                      target: o.c.IN_CLIENT ? void 0 : "_blank",
                    },
                    r.createElement("img", { src: a + "/action_help.png" }),
                    " ",
                    Object($.f)("#EventEditor_FormattingHelp_GetHelpLink"),
                  ),
                )
              : r.createElement(
                  "span",
                  {
                    onClick: this.ShowHelpDialog,
                    className: Object(h.a)("ttip", Ze.a.ActionGetHelp),
                    "data-tooltip-text": Object($.f)(
                      "#EventEditor_FormattingHelp_GetHelpLink",
                    ),
                  },
                  r.createElement("img", { src: a + "/action_help.png" }),
                  " ",
                  Object($.f)("#EventEditor_FormattingHelp_GetHelpLink"),
                )),
          r.createElement(
            "div",
            { className: Ze.a.TextEditorToolBarContainer },
            this.BSupports("b") &&
              r.createElement(
                "span",
                {
                  onClick: this.onBold,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Bold"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_bold.png",
                }),
              ),
            this.BSupports("u") &&
              r.createElement(
                "span",
                {
                  onClick: this.onUnderline,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Underline"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_underline.png",
                }),
              ),
            this.BSupports("i") &&
              r.createElement(
                "span",
                {
                  onClick: this.onItalics,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Italics"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_italic.png",
                }),
              ),
            this.BSupports("strike") &&
              r.createElement(
                "span",
                {
                  onClick: this.onStrikeThrough,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_StrikeThrough"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_strike.png",
                }),
              ),
            Boolean(this.BSupports("url") && !t) &&
              r.createElement(
                "span",
                {
                  onClick: this.OnAddLink,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Link"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_link.png",
                }),
              ),
            this.BSupports("list") &&
              r.createElement(
                "span",
                {
                  onClick: this.onUnorderedList,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Unordered"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_bullet.png",
                }),
              ),
            this.BSupports("olist") &&
              r.createElement(
                "span",
                {
                  onClick: this.onOrderedList,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Ordered"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_numbered.png",
                }),
              ),
            this.BSupports("h1") &&
              r.createElement(
                "span",
                {
                  onClick: this.onHeader,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Header"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_header1.png",
                }),
              ),
            this.BSupports("h2") &&
              r.createElement(
                "span",
                {
                  onClick: this.onHeader2,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Header2"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_header2.png",
                }),
              ),
            this.BSupports("h3") &&
              r.createElement(
                "span",
                {
                  onClick: this.onHeader3,
                  className: "ttip",
                  "data-tooltip-text": Object($.f)("#Editor_Header3"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/format_header3.png",
                }),
              ),
            this.BSupports("previewyoutube") &&
              r.createElement(
                "span",
                {
                  onClick: this.OnOpenYoutubeDialog,
                  "data-tooltip-text": Object($.f)(
                    "#EventEditor_InsertYouTube",
                  ),
                },
                r.createElement("img", { src: Ve.a }),
              ),
            r.createElement(
              "span",
              {
                className: "ttip",
                "data-tooltip-text": Object($.f)("#Editor_Emoticon"),
              },
              this.props.emoticonStore &&
                r.createElement(Ge.a, {
                  title: " ",
                  className: Object(h.a)(Ze.a.EmoteOuter),
                  disabled: !1,
                  OnEmoticonSelected: this.OnEmoticonSelected,
                  rtLastAckedNewEmoticons: Number.MAX_VALUE,
                  emoticonStore: this.props.emoticonStore,
                  emoticonHoverStore: fe.a,
                  useImg: this.props.pathToImages + "/format_emote.png",
                  contextOptions: {
                    bOverlapHorizontal: !0,
                    bDisablePopTop: !0,
                  },
                }),
            ),
            Boolean(this.BSupports("img") && !t) &&
              r.createElement(
                "span",
                {
                  onClick: this.OnOpenImageDialog,
                  "data-tooltip-text": Object($.f)("#EventEditor_InsertImage"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/insert_img.png",
                }),
              ),
            Boolean(
              o.j.is_support &&
                this.props.clanSteamID &&
                this.BSupports("speaker"),
            ) &&
              r.createElement(
                "span",
                {
                  onClick: this.OnOpenSpeakerDialog,
                  "data-tooltip-text": Object($.f)("#EventEditor_AddSpeaker"),
                },
                r.createElement("img", {
                  src: this.props.pathToImages + "/insert_img.png",
                }),
              ),
            Boolean(n && !t) &&
              r.createElement(
                "span",
                {
                  onClick: this.OnConvertHTMLToBBCodeDialog,
                  className: Ze.a.ActionImportHTML,
                  "data-tooltip-text": Object($.f)(
                    "#EventEditor_ImportFromHTML_ttip",
                  ),
                },
                Object($.f)("#EventEditor_ImportHTML"),
              ),
            i,
          )
        );
      }
    };
    var ht;
    Object(a.b)([u.b], pt.prototype, "onBold", null),
      Object(a.b)([u.b], pt.prototype, "onItalics", null),
      Object(a.b)([u.b], pt.prototype, "onUnderline", null),
      Object(a.b)([u.b], pt.prototype, "onStrikeThrough", null),
      Object(a.b)([u.b], pt.prototype, "onHeader", null),
      Object(a.b)([u.b], pt.prototype, "onHeader2", null),
      Object(a.b)([u.b], pt.prototype, "onHeader3", null),
      Object(a.b)([u.b], pt.prototype, "onUnorderedList", null),
      Object(a.b)([u.b], pt.prototype, "onOrderedList", null),
      Object(a.b)([u.b], pt.prototype, "OnAddLink", null),
      Object(a.b)([u.b], pt.prototype, "ShowHelpDialog", null),
      Object(a.b)([u.b], pt.prototype, "OnConvertHTMLToBBCodeDialog", null),
      Object(a.b)([u.b], pt.prototype, "OnOpenYoutubeDialog", null),
      Object(a.b)([u.b], pt.prototype, "OnOpenImageDialog", null),
      Object(a.b)([u.b], pt.prototype, "OnOpenSpeakerDialog", null),
      Object(a.b)([u.b], pt.prototype, "OnEmoticonSelected", null),
      (pt = Object(a.b)([m.a], pt)),
      (function (e) {
        (e.left = "leftthumb"),
          (e.right = "rightthumb"),
          (e.full = "full"),
          (e.summary = "summary");
      })(ht || (ht = {}));
    let _t = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { youtubeInput: "", alignment: ht.left });
      }
      OnYoutubeInsertLink() {
        const e =
          this.state.youtubeInput && Object(ge.b)(this.state.youtubeInput);
        if (e) {
          if (this.state.alignment == ht.summary) {
            const t =
              "https://www.youtube.com/watch?v=" +
              e.strVideoID +
              (e.nStartSeconds ? "&t=" + e.nStartSeconds : "");
            mt.wrapBBCode(t, "", this.props.textareaRef.current);
          } else {
            let t =
              "[previewyoutube=" +
              e.strVideoID +
              ";" +
              this.state.alignment +
              "]";
            mt.wrapBBCode(
              t,
              "[/previewyoutube]",
              this.props.textareaRef.current,
            );
          }
          this.setState({ youtubeInput: "", alignment: ht.left });
        } else alert(Object($.f)("#EventEditor_InsertYouTube_NoURL"));
      }
      OnUrlChange(e) {
        this.state.youtubeInput != e.target.value &&
          this.setState({ youtubeInput: e.target.value });
      }
      OnLeftSelected() {
        this.setState({ alignment: ht.left });
      }
      OnRightSelected() {
        this.setState({ alignment: ht.right });
      }
      OnFullSelected() {
        this.setState({ alignment: ht.full });
      }
      OnSummarySelected() {
        this.setState({ alignment: ht.summary });
      }
      OnOuterDivClickPassDown(e) {}
      render() {
        return r.createElement(
          xe.e,
          {
            strTitle: Object($.f)("#EventEditor_InsertYouTube"),
            strDescription: "",
            closeModal: this.props.closeModal,
            onCancel: this.props.closeModal,
            onOK: this.OnYoutubeInsertLink,
            strOKButtonText: Object($.f)("#EventEditor_InsertYouTube"),
            className: Ze.a.BBCodeEditorInputStyles,
          },
          r.createElement(
            "div",
            { className: Ze.a.YouTubeInput },
            r.createElement(
              "div",
              { className: "DialogInputLabelGroup" },
              r.createElement(
                "label",
                null,
                r.createElement(
                  "div",
                  { className: "DialogLabel" },
                  Object($.f)("#EventEditor_InsertYouTube_URL"),
                ),
                r.createElement(
                  "div",
                  { className: "DialogInput_Wrapper" },
                  r.createElement("input", {
                    className: "DialogInput DialogTextInputBase",
                    ref: (e) => e && e.focus(),
                    type: "text",
                    value: this.state.youtubeInput,
                    onChange: this.OnUrlChange,
                    placeholder: Object($.f)(
                      "#EventEditor_InsertYouTube_Placholder",
                    ),
                  }),
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: "DialogInputLabelGroup" },
              r.createElement(
                "div",
                { className: "DialogLabel" },
                Object($.f)("#EventEditor_InsertYouTube_Position"),
              ),
              r.createElement(
                "div",
                {
                  className: Ze.a.YouTubePreviewInsertOption,
                  onClick: this.OnOuterDivClickPassDown,
                },
                r.createElement("input", {
                  type: "radio",
                  name: "YouTubePreviewInsertType",
                  id: ht.left,
                  value: ht.left,
                  checked: this.state.alignment == ht.left,
                  onChange: this.OnLeftSelected,
                }),
                r.createElement(
                  "label",
                  { htmlFor: ht.left },
                  r.createElement(
                    "span",
                    null,
                    Object($.f)("#EventEditor_InsertYouTube_Left"),
                  ),
                ),
              ),
              r.createElement(
                "div",
                {
                  className: Ze.a.YouTubePreviewInsertOption,
                  onClick: this.OnOuterDivClickPassDown,
                },
                r.createElement("input", {
                  type: "radio",
                  name: "YouTubePreviewInsertType",
                  id: ht.right,
                  value: ht.right,
                  checked: this.state.alignment == ht.right,
                  onChange: this.OnRightSelected,
                }),
                r.createElement(
                  "label",
                  { htmlFor: ht.right },
                  r.createElement(
                    "span",
                    null,
                    Object($.f)("#EventEditor_InsertYouTube_Right"),
                  ),
                ),
              ),
              r.createElement(
                "div",
                {
                  className: Ze.a.YouTubePreviewInsertOption,
                  onClick: this.OnOuterDivClickPassDown,
                },
                r.createElement("input", {
                  type: "radio",
                  name: "YouTubePreviewInsertType",
                  id: ht.full,
                  value: ht.full,
                  checked: this.state.alignment == ht.full,
                  onChange: this.OnFullSelected,
                }),
                r.createElement(
                  "label",
                  { htmlFor: ht.full },
                  r.createElement(
                    "span",
                    null,
                    Object($.f)("#EventEditor_InsertYouTube_Full"),
                  ),
                ),
              ),
              r.createElement(
                "div",
                {
                  className: Ze.a.YouTubePreviewInsertOption,
                  onClick: this.OnOuterDivClickPassDown,
                },
                r.createElement("input", {
                  type: "radio",
                  name: "YouTubePreviewInsertType",
                  id: ht.summary,
                  value: ht.summary,
                  checked: this.state.alignment == ht.summary,
                  onChange: this.OnSummarySelected,
                }),
                r.createElement(
                  "label",
                  { htmlFor: ht.summary },
                  r.createElement(
                    "span",
                    null,
                    Object($.f)("#EventEditor_InsertYouTube_Summary"),
                  ),
                ),
              ),
            ),
          ),
        );
      }
    };
    Object(a.b)([u.b], _t.prototype, "OnYoutubeInsertLink", null),
      Object(a.b)([u.b], _t.prototype, "OnUrlChange", null),
      Object(a.b)([u.b], _t.prototype, "OnLeftSelected", null),
      Object(a.b)([u.b], _t.prototype, "OnRightSelected", null),
      Object(a.b)([u.b], _t.prototype, "OnFullSelected", null),
      Object(a.b)([u.b], _t.prototype, "OnSummarySelected", null),
      Object(a.b)([u.b], _t.prototype, "OnOuterDivClickPassDown", null),
      (_t = Object(a.b)([m.a], _t));
    let gt = (dt = class extends r.Component {
      constructor() {
        super(...arguments), (this.state = { textToDisplay: "", strURL: "" });
      }
      LoadFromTextArea() {
        const { textareaRef: e } = this.props;
        if (e && e.current) {
          let t = mt.getSelectedString(e.current),
            n = dt.m_regExp.exec(t);
          n
            ? this.setState({ strURL: n[1], textToDisplay: n[2] })
            : this.setState({ textToDisplay: t });
        }
      }
      componentDidMount() {
        this.LoadFromTextArea();
      }
      onLinkTitleUpdate(e) {
        this.setState({ textToDisplay: e.target.value });
      }
      onLinkURLUpdate(e) {
        this.setState({ strURL: e.target.value });
      }
      onInsertLink() {
        const { strURL: e, textToDisplay: t } = this.state;
        let n = "[url=" + e + "]" + t + "[/url]";
        mt.replaceSelection(this.props.textareaRef.current, n);
      }
      render() {
        return r.createElement(
          xe.e,
          {
            strTitle: Object($.f)("#Editor_Link"),
            strDescription: "",
            closeModal: this.props.closeModal,
            onOK: this.onInsertLink,
            onCancel: this.props.closeModal,
            strOKButtonText: Object($.f)("#EventEditor_InsertLinkURL"),
            className: Ze.a.BBCodeEditorInputStyles,
          },
          r.createElement(
            "div",
            { className: Ze.a.EventEditorLinkInput },
            r.createElement(
              "div",
              { className: "DialogInputLabelGroup" },
              r.createElement(
                "label",
                null,
                r.createElement(
                  "div",
                  { className: "DialogLabel" },
                  Object($.f)("#EventEditor_LinkDescription"),
                ),
                r.createElement(
                  "div",
                  { className: "DialogInput_Wrapper" },
                  r.createElement("input", {
                    type: "text",
                    onChange: this.onLinkTitleUpdate,
                    value: this.state.textToDisplay,
                    className: "DialogInput DialogTextInputBase",
                  }),
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: "DialogInputLabelGroup" },
              r.createElement(
                "label",
                null,
                r.createElement(
                  "div",
                  { className: "DialogLabel" },
                  Object($.f)("#EventEditor_LinkURL"),
                ),
                r.createElement(
                  "div",
                  { className: "DialogInput_Wrapper" },
                  r.createElement("input", {
                    type: "text",
                    onChange: this.onLinkURLUpdate,
                    value: this.state.strURL,
                    className: "DialogInput DialogTextInputBase",
                  }),
                ),
              ),
            ),
          ),
        );
      }
    });
    (gt.m_regExp = new RegExp(/\[url=([^\]]*)\]([^\[\]]+)\[\/url\]/i)),
      Object(a.b)([u.b], gt.prototype, "onLinkTitleUpdate", null),
      Object(a.b)([u.b], gt.prototype, "onLinkURLUpdate", null),
      Object(a.b)([u.b], gt.prototype, "onInsertLink", null),
      (gt = dt = Object(a.b)([m.a], gt));
    let bt = class extends r.Component {
      constructor() {
        super(...arguments), (this.state = { imgURL: "", anchorURL: "" });
      }
      componentDidMount() {
        this.refFirstInput && this.refFirstInput.current.focus();
      }
      OnImageInsert() {
        const { anchorURL: e, imgURL: t } = this.state;
        let n = "",
          a = "";
        e && e.length > 0 && ((n += "[url=" + e + "]"), (a = "[/url]" + a)),
          (n += "[img]" + t),
          (a = "[/img]" + a),
          mt.wrapBBCode(n, a, this.props.textareaRef.current);
      }
      OnImageURLChange(e) {
        this.state.imgURL != e.target.value &&
          this.setState({ imgURL: e.target.value });
      }
      OnAnchorURLChange(e) {
        this.state.anchorURL != e.target.value &&
          this.setState({ anchorURL: e.target.value });
      }
      render() {
        const { imgURL: e, anchorURL: t } = this.state;
        return r.createElement(
          xe.e,
          {
            strTitle: Object($.f)("#EventEditor_InsertImage_Title"),
            strDescription: "",
            closeModal: this.props.closeModal,
            onCancel: this.props.closeModal,
            onOK: this.OnImageInsert,
            strOKButtonText: Object($.f)("#EventEditor_InsertImage_Title"),
            className: Ze.a.BBCodeEditorInputStyles,
          },
          r.createElement(
            "div",
            { className: Ze.a.EventEditorLinkInput },
            r.createElement(
              "p",
              null,
              Object($.f)("#EventEditor_InsertImage_Desc"),
            ),
            r.createElement(
              "div",
              { className: "DialogInputLabelGroup" },
              r.createElement(
                "label",
                null,
                r.createElement(
                  "div",
                  { className: "DialogLabel" },
                  Object($.f)("#EventEditor_InsertImage_URL"),
                ),
                r.createElement(
                  "div",
                  { className: "DialogInput_Wrapper" },
                  r.createElement("input", {
                    className: "DialogInput DialogTextInputBase",
                    type: "text",
                    value: e,
                    onChange: this.OnImageURLChange,
                    placeholder: Object($.f)(
                      "#EventEditor_InsertImage_Placeholder",
                    ),
                    ref: this.refFirstInput,
                  }),
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: "DialogInputLabelGroup" },
              r.createElement(
                "label",
                null,
                r.createElement(
                  "div",
                  { className: "DialogLabel" },
                  Object($.f)("#EventEditor_InsertImage_Anchor"),
                ),
                r.createElement(
                  "div",
                  { className: "DialogInput_Wrapper" },
                  r.createElement("input", {
                    className: "DialogInput DialogTextInputBase",
                    type: "text",
                    value: t,
                    onChange: this.OnAnchorURLChange,
                    placeholder: Object($.f)(
                      "#EventEditor_InsertImage_Placeholder",
                    ),
                  }),
                ),
              ),
            ),
          ),
        );
      }
    };
    Object(a.b)([u.b], bt.prototype, "OnImageInsert", null),
      Object(a.b)([u.b], bt.prototype, "OnImageURLChange", null),
      Object(a.b)([u.b], bt.prototype, "OnAnchorURLChange", null),
      (bt = Object(a.b)([m.a], bt));
    const ft = (e) => {
      const t = r.useRef(null),
        [n, i] = r.useState(""),
        [s, l] = r.useState(""),
        [c, d] = r.useState(""),
        [u, m] = r.useState(""),
        [p, h] = r.useState(void 0),
        [_, g] = r.useState(void 0),
        [b, f] = r.useState([]),
        [v, S] = r.useState(!0);
      r.useEffect(
        () => (
          Object(a.a)(void 0, void 0, void 0, function* () {
            const e = F.a.CancelToken.source();
            t.current = e.cancel;
            const n = yield pe.Get().LoadFriendList();
            !e.token.reason &&
              n &&
              (f(n),
              yield ye.LoadProfiles([o.j.steamid, ...n.map((e) => e.steamid)]),
              e.token.reason || S(!1));
          }),
          () => {
            t.current && t.current("InsertSpeakerBBCode: unmounting");
          }
        ),
        [],
      );
      const y = 0 != n.trim().length && 0 != u.trim().length,
        E = r.createElement(
          "div",
          { className: Ze.a.DropDownScroll },
          b.map((e) =>
            r.createElement(
              qe.d,
              { onSelected: () => g(new de.a(e.steamid)), key: e.steamid },
              r.createElement(
                "div",
                { style: { display: "flex", alignItems: "center" } },
                r.createElement("img", {
                  className: We.a.WhitelistAvatar,
                  src: e.avatar_url,
                }),
                e.persona_name,
              ),
            ),
          ),
        ),
        C = _ ? ye.GetProfileBySteamID(_) : void 0;
      return r.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#EventEditor_AddSpeaker"),
          strDescription: Object($.f)("#EventEditor_AddSpeaker_Desc"),
          closeModal: e.closeModal,
          onCancel: e.closeModal,
          bOKDisabled: !y,
          onOK: () => {
            let t = `[speaker name="${n.trim()}"`;
            if (
              (s.trim().length > 0 && (t += ` title="${s}"`),
              c.trim().length > 0 && (t += ` company="${c}"`),
              p)
            ) {
              t += ` photo="${he.e + "/" + p.clanAccountID + "/" + be.a.GetHashAndExt(p)}"`;
            }
            _ && (t += ` steamid="${_.ConvertTo64BitString()}"`),
              (t += `]${u}[/speaker]`),
              mt.replaceSelection(e.textareaRef.current, t);
          },
          className: Ze.a.BBCodeEditorInputStyles,
        },
        r.createElement(
          "div",
          { className: Ze.a.InsertSpeakerCtn },
          r.createElement(te.z, {
            type: "text",
            label: Object($.f)("#EventEditor_AddSpeaker_Name"),
            value: n,
            onChange: (e) => i(e.target.value),
            focusOnMount: !0,
          }),
          r.createElement(
            "div",
            { className: Ze.a.TitleGroup },
            r.createElement(te.z, {
              type: "text",
              label: Object($.f)("#EventEditor_AddSpeaker_Title"),
              value: s,
              onChange: (e) => l(e.target.value),
            }),
            r.createElement(te.z, {
              type: "text",
              label: Object($.f)("#EventEditor_AddSpeaker_Company"),
              value: c,
              onChange: (e) => d(e.target.value),
            }),
          ),
          r.createElement(
            Qe.a,
            {
              toolTipContent: Object($.f)(
                "#EventEditor_AssociateSteamAccount_ttip",
              ),
            },
            r.createElement(
              "div",
              { className: "DialogLabel" },
              Object($.f)("#EventEditor_AssociateSteamAccount"),
              " (?)",
            ),
          ),
          r.createElement(
            "div",
            null,
            v &&
              r.createElement(ee.a, {
                string: Object($.f)("#Loading"),
                size: "small",
              }),
            Boolean(C) &&
              r.createElement(
                "a",
                {
                  href:
                    o.c.COMMUNITY_BASE_URL +
                    "profiles/" +
                    _.ConvertTo64BitString(),
                  target: "_blank",
                },
                C
                  ? r.createElement("img", {
                      style: { marginRight: "8px" },
                      src: C.avatar_url,
                    })
                  : null,
                C ? C.persona_name : null,
              ),
            r.createElement(
              "div",
              { className: Ze.a.AssociateRowCtn },
              r.createElement(
                te.e,
                { onClick: () => g(new de.a(o.j.steamid)) },
                Object($.f)("#EventEditor_SteamAccount_addme"),
              ),
              r.createElement(
                te.e,
                { onClick: (e) => Object(_e.a)(E, e) },
                Object($.f)("#EventEditor_SteamAccount_addfriend"),
              ),
              r.createElement(
                te.e,
                { onClick: () => g(void 0) },
                Object($.f)("#EventEditor_SteamAccount_clear"),
              ),
            ),
          ),
          r.createElement(
            "div",
            { className: Ze.a.PhotoCtn },
            r.createElement(
              "div",
              { className: "DialogLabel" },
              Object($.f)("#EventEditor_ChoosePhoto"),
            ),
            r.createElement(ot, {
              clanSteamID: e.clanSteamID,
              inputClanImage: p,
              setImage: h,
              nWidth: 184,
              nHeight: 184,
            }),
          ),
          r.createElement(
            "div",
            { className: Ze.a.AboutCtn },
            r.createElement(
              "div",
              { className: "DialogLabel" },
              Object($.f)("#EventEditor_AddSpeaker_About"),
            ),
            r.createElement(te.a, {
              value: u,
              onChange: (e) => m(e.target.value),
              rows: 8,
              cols: 80,
              nMinHeight: 40,
              placeholder: Object($.f)(
                "#EventEditor_AddSpeaker_About_Placeholder",
              ),
            }),
          ),
          r.createElement(
            "div",
            { className: Ze.a.PreviewCtn },
            r.createElement(
              "div",
              { className: "DialogLabel" },
              Object($.f)("#Button_Preview"),
            ),
            r.createElement(Ke.a, {
              company: c,
              name: n,
              title: s,
              bioString: u,
              photo: p ? p.url : void 0,
            }),
          ),
        ),
      );
    };
    let vt = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_isMounted = !1),
          (this.m_bAppend = !1),
          (this.state = { bPreserveNewLines: !1, strHTMLData: "" });
      }
      componentDidMount() {
        this.m_isMounted = !0;
      }
      componentWillUnmount() {
        this.m_isMounted = !1;
      }
      OnConvertAndOverriteHTML() {
        (this.m_bAppend = !1), this.ConvertBBCode();
      }
      OnConvertAndAppendHTML() {
        (this.m_bAppend = !0), this.ConvertBBCode();
      }
      ConvertHtmlToBBCode(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = new URLSearchParams();
          n.append("content", e), n.append("preserve_newlines", t ? "1" : "0");
          let a = null;
          return (
            (a = yield F.a.post(
              o.c.COMMUNITY_BASE_URL + "/actions/ConvertHTMLToBBCode",
              n,
            )),
            a.data.content
          );
        });
      }
      ConvertBBCode() {
        this.setState({ bConverting: !0 }),
          this.ConvertHtmlToBBCode(
            this.state.strHTMLData,
            this.state.bPreserveNewLines,
          )
            .then((e) => {
              this.m_isMounted &&
                (this.m_bAppend
                  ? mt.append(e, this.props.textareaRef.current)
                  : mt.overwrite(e, this.props.textareaRef.current),
                this.setState({ bConverting: !1, bFinishedConverting: !0 }));
            })
            .catch((e) => {
              Object(ze.d)(
                r.createElement(xe.g, {
                  strTitle: Object($.f)("#EventEditor_ConvertHTML_Error"),
                  strDescription: Object($.f)(
                    "#EventEditor_ConvertHTML_Error_Desc",
                    e.response && e.response.data ? e.response.data.msg : e,
                  ),
                  bAlertDialog: !0,
                  bDestructiveWarning: !0,
                }),
                window,
                { strTitle: Object($.f)("#EventEditor_ConvertHTML_Error") },
              );
            });
      }
      OnCheckboxChange(e) {
        let t = e.target.checked;
        t != this.state.bPreserveNewLines &&
          this.setState({ bPreserveNewLines: t });
      }
      OnTextAreaChange(e) {
        this.setState({ strHTMLData: e.currentTarget.value });
      }
      render() {
        const { closeModal: e } = this.props;
        return this.state.bConverting
          ? r.createElement(
              xe.e,
              {
                strTitle: Object($.f)("#EventEditor_ImportFromHTML"),
                strDescription: Object($.f)(
                  "#EventEditor_ImportFromHTML_ConversionInProgress",
                ),
                closeModal: e,
                bAlertDialog: !0,
                onOK: e,
                onCancel: e,
              },
              r.createElement(ee.a, null),
            )
          : this.state.bFinishedConverting
            ? r.createElement(xe.e, {
                strTitle: Object($.f)("#EventEditor_ImportFromHTML"),
                strDescription: Object($.f)(
                  "#EventEditor_ImportFromHTML_ConvertFinished",
                ),
                closeModal: e,
                bAlertDialog: !0,
                onOK: e,
                onCancel: e,
              })
            : r.createElement(
                xe.f,
                {
                  onOK: this.OnConvertAndOverriteHTML,
                  onCancel: e,
                  className: Ze.a.BBCodeEditorInputStyles,
                },
                r.createElement(
                  te.y,
                  null,
                  " ",
                  Object($.f)("#EventEditor_ImportFromHTML"),
                  " ",
                ),
                r.createElement(
                  te.c,
                  null,
                  r.createElement(
                    te.d,
                    null,
                    r.createElement(
                      "div",
                      {
                        className: Object(h.a)(
                          Fe.a.FlexColumnContainer,
                          Ze.a.ImportHTMLCtn,
                        ),
                      },
                      r.createElement(
                        "div",
                        { className: Fe.a.FlexColumnContainer },
                        Object($.o)(
                          "#EventEditor_ImportFromHTML_ConvertDescription",
                          r.createElement(
                            "a",
                            {
                              target: o.c.IN_CLIENT ? void 0 : "_blank",
                              href: "https://partner.steamgames.com/doc/marketing/event_tools/import",
                            },
                            Object($.f)(
                              "#EventEditor_ImportFromHTML_ConvertLearn",
                            ),
                          ),
                        ),
                      ),
                      r.createElement("textarea", {
                        value: this.state.strHTMLData,
                        placeholder: Object($.f)(
                          "#EventEditor_ImportFromHTML_Instruction",
                        ),
                        className: Ze.a.ImportHTMLTextArea,
                        onChange: this.OnTextAreaChange,
                        ref: (e) => e && e.focus(),
                      }),
                      r.createElement(
                        "div",
                        { className: Ze.a.ImportHTMLCheckBoxLine },
                        r.createElement("input", {
                          id: "ImportFromHTMLNewLines",
                          type: "checkbox",
                          checked: this.state.bPreserveNewLines,
                          onChange: this.OnCheckboxChange,
                        }),
                        r.createElement(
                          "label",
                          { htmlFor: "ImportFromHTMLNewLines" },
                          Object($.f)(
                            "#EventEditor_ImportFromHTML_PreserveNewlines",
                          ),
                          r.createElement(
                            "span",
                            {
                              className: "ttip",
                              "data-tooltip-text": Object($.f)(
                                "#EventEditor_ImportFromHTML_PreserveNewlines_Hint",
                              ),
                            },
                            "(?)",
                          ),
                        ),
                      ),
                      r.createElement(
                        "div",
                        null,
                        Object($.f)(
                          "#EventEditor_ImportFromHTML_ConvertToBBCode",
                        ),
                      ),
                    ),
                  ),
                  r.createElement(
                    te.p,
                    null,
                    r.createElement(te.E, {
                      onCancel: e,
                      strOKText: Object($.f)("#Button_Overwrite"),
                      onUpdate: this.OnConvertAndAppendHTML,
                      strUpdateText: Object($.f)("#Button_Append"),
                    }),
                  ),
                ),
              );
      }
    };
    Object(a.b)([u.b], vt.prototype, "OnConvertAndOverriteHTML", null),
      Object(a.b)([u.b], vt.prototype, "OnConvertAndAppendHTML", null),
      Object(a.b)([u.b], vt.prototype, "OnCheckboxChange", null),
      Object(a.b)([u.b], vt.prototype, "OnTextAreaChange", null),
      (vt = Object(a.b)([m.a], vt));
    var St = n("1pnr");
    class yt extends St.a {
      DeleteOldAnnouncement(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = new URLSearchParams();
          n.append("sessionid", o.c.SESSIONID);
          let a =
              o.c.COMMUNITY_BASE_URL +
              "/gid/" +
              e.ConvertTo64BitString() +
              "/announcements/ajaxdeleteannouncement/" +
              t,
            r = yield F.a.post(a, n);
          if (1 != r.data.success) throw r.data;
          return this.RemoveGIDFromList(e, ce.u + t), r.data;
        });
      }
      static Get() {
        return (
          yt.sm_Instance ||
            ((yt.sm_Instance = new yt()), yt.sm_Instance.Init()),
          yt.sm_Instance
        );
      }
    }
    var Et = n("uuth"),
      Ct = n("uaeK"),
      wt = n("REtK"),
      Bt = n("DAjO"),
      Ot = n("CjDG"),
      Dt = n("A5uu"),
      It = n("nJCB"),
      Tt = n("EVHR"),
      Rt = n("4uD3"),
      jt = n("r7Sf"),
      At = n.n(jt),
      kt = n("qz+l"),
      Mt = n("pEm6"),
      Pt = n("aalJ"),
      Lt = n("/ea4");
    const Gt = Object(m.a)((e) => {
      const { appId: t, clanId: n } = e,
        {
          strCapsuleUrl: a,
          strGroupTitle: s,
          id: l,
          strStoreURL: d,
          strCommunityURL: u,
          strForumURL: m,
          strExtraBannerGroupStyle: p,
        } = (function (e, t) {
          var n;
          const [a, i] = Object(r.useState)({}),
            s = Object(Tt.a)("useEventHeaderData");
          return (
            Object(r.useEffect)(() => {
              if (e)
                Dt.a
                  .Get()
                  .QueueAppRequest(e, {
                    include_assets: !0,
                    include_screenshots: !0,
                  })
                  .then(() => {
                    var t;
                    const n = Dt.a.Get().GetApp(e);
                    n &&
                      !(null === (t = null == s ? void 0 : s.token) ||
                      void 0 === t
                        ? void 0
                        : t.reason) &&
                      i({
                        strCapsuleUrl: n.GetAssets().GetHeaderURL(),
                        strGroupTitle: n.GetName(),
                        id: e,
                        strStoreURL: n.GetStorePageURL(),
                        strCommunityURL: n.GetCommunityPageURL(),
                        strForumURL: n.GetCommunityDiscussionForumsURL(),
                      });
                  });
              else if (t) {
                const e = de.a.InitFromClanID(t);
                wt.a.LoadClanInfoForClanSteamID(e).then((n) => {
                  var a;
                  (null === (a = null == s ? void 0 : s.token) || void 0 === a
                    ? void 0
                    : a.reason) ||
                    i({
                      strCapsuleUrl: n.avatar_full_url,
                      strGroupTitle: n.group_name,
                      id: t,
                      strStoreURL: o.c.STORE_BASE_URL + "curator/" + t + "/",
                      strCommunityURL:
                        o.c.COMMUNITY_BASE_URL +
                        "gid/" +
                        e.ConvertTo64BitString(),
                      strExtraBannerGroupStyle: At.a.ClanBanner,
                    });
                });
              }
            }, [
              e,
              null === (n = null == s ? void 0 : s.token) || void 0 === n
                ? void 0
                : n.reason,
              t,
            ]),
            a
          );
        })(t, n),
        _ = o.c.IN_CLIENT && It.a.Get().BOwnsApp(t);
      let g = Boolean(t !== ce.s);
      const b = Ot.a.Get().GetPartnerEventPermissions(de.a.InitFromClanID(n)),
        f = b && (b.can_edit || b.support_user),
        v = Object(c.BIsChinaRealm)(o.c.EREALM),
        S =
          o.c.STORE_BASE_URL +
          "feeds/" +
          Object(kt.f)() +
          (t ? "/app/" + t : "/group/" + n) +
          "/?cc=" +
          o.c.COUNTRY +
          "&l=" +
          o.c.LANGUAGE,
        y = i.a.createElement("img", { className: At.a.AppBannerLogo, src: a });
      return i.a.createElement(
        "div",
        { className: At.a.AppBannerCtn },
        i.a.createElement("div", {
          className: At.a.AppBannerBackground,
          style: { backgroundImage: `url(${a})` },
        }),
        i.a.createElement(
          "div",
          { className: Object(h.a)(At.a.AppBannerGroup, p) },
          g
            ? Boolean(Object(Pt.a)() && t)
              ? i.a.createElement(
                  Pt.e,
                  {
                    item: { id: t, type: "game" },
                    className: At.a.AppBannerLogoCtn,
                    hoverProps: {
                      direction: "overlay",
                      style: { minWidth: "320px" },
                    },
                  },
                  y,
                )
              : i.a.createElement(
                  Lt.a,
                  {
                    type: e.appId ? "app" : "clan",
                    id: l,
                    hoverClassName: At.a.AppBannerLogoCtn,
                  },
                  y,
                )
            : i.a.createElement(
                "div",
                { className: At.a.AppBannerLogoCtn },
                y,
                " ",
              ),
          i.a.createElement(
            "div",
            { className: At.a.AppBannerTitle },
            s,
            i.a.createElement(
              "div",
              { className: At.a.NewsHubSubTitle },
              Object($.f)("#EventDisplay_NewsHubSubtitle"),
            ),
          ),
          g &&
            i.a.createElement(
              "div",
              { className: At.a.AppBannerLinks },
              Boolean(_ && t) &&
                i.a.createElement(
                  "a",
                  {
                    className: At.a.AppBannerLink,
                    href: "steam://nav/games/details/" + t,
                  },
                  Object($.f)("#EventDisplay_ViewInLibrary_ExtraShort"),
                ),
              i.a.createElement(
                "div",
                { className: At.a.HeaderFollowButton },
                Boolean(t)
                  ? i.a.createElement(Mt.a, { appid: t })
                  : i.a.createElement(Mt.b, { clanAccountID: n }),
              ),
              i.a.createElement(
                "a",
                {
                  className: At.a.AppBannerLink,
                  href: Object(Rt.f)(d),
                  target: o.c.IN_CLIENT ? void 0 : "_blank",
                },
                Object($.f)("#EventDisplay_ViewStorePage_ExtraShort"),
              ),
              !v &&
                i.a.createElement(
                  "a",
                  {
                    className: At.a.AppBannerLink,
                    href: Object(Rt.f)(u),
                    target: o.c.IN_CLIENT ? void 0 : "_blank",
                  },
                  Object($.f)("#EventDisplay_ViewCommunityPage_ExtraShort"),
                ),
              Boolean(!v && m) &&
                i.a.createElement(
                  "a",
                  {
                    className: At.a.AppBannerLink,
                    href: Object(Rt.f)(m),
                    target: o.c.IN_CLIENT ? void 0 : "_blank",
                  },
                  Object($.f)("#EventDisplay_ViewForum_ExtraShort"),
                ),
              !v &&
                e.bShowRSSFeed &&
                i.a.createElement(
                  "a",
                  {
                    className: At.a.AppBannerLink,
                    href: Object(Rt.f)(S),
                    target: o.c.IN_CLIENT ? void 0 : "_blank",
                  },
                  i.a.createElement(H.W, null),
                  Object($.f)("#EventDisplay_RSSFeed_ExtraShort"),
                ),
              f &&
                i.a.createElement(
                  "a",
                  {
                    className: At.a.AppBannerLink,
                    href: Object(Rt.f)(
                      Object(kt.e)(t, de.a.InitFromClanID(n), "admin"),
                    ),
                    target: o.c.IN_CLIENT ? void 0 : "_blank",
                  },
                  Object($.f)("#EventDisplay_Admin_ExtraShort"),
                ),
            ),
        ),
      );
    });
    var Nt = n("45Yz"),
      Ft = n.n(Nt),
      xt = n("y6Yv"),
      zt = n("aoTL"),
      Ut = n("YTDw"),
      Wt = n("bSVv");
    n("A/LU");
    class Ht {
      constructor() {
        (this.m_mapAppInfo = L.C.map()),
          (this.m_mapRichPresenceLoc = L.C.map()),
          (this.m_cAppInfoRequestsInFlight = 0),
          (this.m_setPendingAppInfo = new Set()),
          (this.m_CacheStorage = null),
          (this.m_fnCallbackOnAppInfoLoaded = new g.a());
      }
      Init(e) {
        this.m_CMInterface = e;
      }
      BHavePendingAppInfoRequests() {
        return (
          this.m_setPendingAppInfo.size > 0 ||
          this.m_cAppInfoRequestsInFlight > 0
        );
      }
      get CMInterface() {
        return this.m_CMInterface;
      }
      RegisterCallbackOnLoad(e) {
        if (!this.BHavePendingAppInfoRequests())
          return (
            Object(l.a)(
              !1,
              "Registering for callback on appinfo load, but nothing queued",
            ),
            void e()
          );
        this.m_fnCallbackOnAppInfoLoaded.Register(e);
      }
      IsLoadingAppID(e) {
        return this.m_setPendingAppInfo.has(e);
      }
      GetAppInfo(e) {
        if (
          (Object(l.a)(
            this.m_CMInterface,
            "CAppInfoStore.GetAppInfo called before Init",
          ),
          !this.m_mapAppInfo.has(e))
        ) {
          let t = new Ut.a(e);
          this.m_mapAppInfo.set(e, t), this.QueueAppInfoRequest(e);
        }
        return this.m_mapAppInfo.get(e);
      }
      QueueAppInfoRequest(e) {
        return e
          ? (this.m_setPendingAppInfo.size ||
              ((this.m_PendingAppInfoPromise = new Promise(
                (e) => (this.m_PendingAppInfoResolve = e),
              )),
              window.setTimeout(() => this.FlushPendingAppInfo(), 25)),
            this.m_setPendingAppInfo.add(e),
            this.m_PendingAppInfoPromise)
          : Promise.resolve();
      }
      FlushPendingAppInfo() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = this.m_PendingAppInfoResolve,
            t = Array.from(this.m_setPendingAppInfo);
          (this.m_PendingAppInfoPromise = void 0),
            (this.m_PendingAppInfoResolve = void 0),
            this.m_setPendingAppInfo.clear(),
            yield this.LoadAppInfoBatch(t),
            e();
        });
      }
      LoadAppInfoBatch(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.m_cAppInfoRequestsInFlight++;
          let t = yield this.LoadAppInfoBatchFromLocalCache(e);
          if (t.length) {
            console.log("Loading batch of App Info from Steam: ", t),
              yield this.m_CMInterface.WaitUntilLoggedOn();
            let e = xt.b.Init(Xe.b);
            e.Body().set_language(Object(le.g)(o.c.LANGUAGE));
            const n = 50;
            for (; t.length > 0; ) {
              const a = Math.min(n, t.length),
                r = t.slice(0, a);
              (t = t.slice(a)), e.Body().set_appids(r);
              const i = yield Xe.g.GetApps(
                this.m_CMInterface.GetServiceTransport(),
                e,
              );
              1 == i.GetEResult()
                ? this.OnGetAppsResponse(i)
                : console.error(
                    `Error when calling CommunityService.GetApps: EResult=${i.GetEResult()}, AppIDs:`,
                    r,
                  );
            }
          }
          0 == --this.m_cAppInfoRequestsInFlight &&
            0 == this.m_setPendingAppInfo.size &&
            (this.m_fnCallbackOnAppInfoLoaded.Dispatch(),
            this.m_fnCallbackOnAppInfoLoaded.ClearAllCallbacks());
        });
      }
      OnGetAppsResponse(e) {
        let t = [];
        for (let n of e.Body().apps()) {
          let e = this.m_mapAppInfo.get(n.appid());
          Object(l.a)(
            e,
            `Got AppInfo response for unrequested AppID: ${n.appid()}`,
          ),
            e &&
              ((e = new Ut.a(n.appid())),
              e.DeserializeFromMessage(n),
              this.m_mapAppInfo.set(n.appid(), e),
              t.push(e));
        }
        this.SaveAppInfoBatchToLocalCache(t);
      }
      OnAppOverviewChange(e) {
        for (let t of e) {
          const e = new Ut.a(t.appid());
          e.DeserializeFromAppOverview(t), this.m_mapAppInfo.set(t.appid(), e);
        }
      }
      EnsureAppInfoForAppIDs(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = !1;
          return (
            e.forEach((e) => {
              let n = this.m_mapAppInfo.get(e);
              n
                ? n.is_valid || (t = !0)
                : ((n = new Ut.a(e)),
                  this.m_mapAppInfo.set(e, n),
                  this.QueueAppInfoRequest(e),
                  (t = !0));
            }),
            t && void 0 !== this.m_PendingAppInfoPromise
              ? this.m_PendingAppInfoPromise
              : Promise.resolve()
          );
        });
      }
      SetCacheStorage(e) {
        this.m_CacheStorage = e;
      }
      GetCacheKeyForAppID(e) {
        return "APPINFO_" + e;
      }
      LoadAppInfoBatchFromLocalCache(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_CacheStorage) return e;
          console.log("Loading batch of App Info from Local Cache: ", e);
          const t = new Date(new Date().getTime() - 12096e5),
            n = (e) =>
              Object(a.a)(this, void 0, void 0, function* () {
                const n = yield this.m_CacheStorage.GetObject(
                  this.GetCacheKeyForAppID(e),
                );
                if (!n) return e;
                let a = this.m_mapAppInfo.get(e);
                return (
                  Object(l.a)(
                    a,
                    "Didn't find AppInfo in our map when loading from cache but it should've been there?",
                  ),
                  a
                    ? ((a = new Ut.a(e)),
                      a.DeserializeFromCacheObject(n),
                      a.is_initialized
                        ? (this.m_mapAppInfo.set(e, a),
                          a.time_updated_from_server < t ? e : null)
                        : (console.warn(
                            "Failed to deserialize cached App Info: ",
                            e,
                            n,
                          ),
                          e))
                    : e
                );
              });
          let r = e.map((e) => n(e));
          return (yield Promise.all(r)).filter((e) => null !== e);
        });
      }
      SaveAppInfoBatchToLocalCache(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_CacheStorage) {
            console.log(
              "Saving batch of App Info to Local Cache: ",
              e.map((e) => e.appid),
            );
            for (const t of e) {
              const e = t.SerializeToCacheObject();
              e &&
                this.m_CacheStorage.StoreObject(
                  this.GetCacheKeyForAppID(t.appid),
                  e,
                );
            }
          }
        });
      }
      Localize(e, t, n) {
        const a = this.GetRichPresenceLoc(e);
        return a
          ? a.Localize(t, n)
          : 1 != o.c.EUNIVERSE
            ? (console.log(
                `Unable to find app localization information for app ${e} token ${t}, this may not have had a chance to load yet`,
              ),
              t)
            : "";
      }
      GetRichPresenceLoc(e) {
        if (this.m_mapRichPresenceLoc.has(e.toString())) {
          let t = this.m_mapRichPresenceLoc.get(e.toString());
          return (
            t.m_nLastUpdated + 6e4 * Ut.b < Date.now() &&
              this.QueueRichPresenceLocRequest(t),
            t
          );
        }
        let t = new Wt.a(e);
        return (
          this.m_mapRichPresenceLoc.set(e.toString(), t),
          this.QueueRichPresenceLocRequest(t),
          t
        );
      }
      GetRichPresenceLocAsync(e) {
        let t = this.GetRichPresenceLoc(e);
        return t.m_nLastUpdated ? Promise.resolve(t) : t.m_fetching;
      }
      OnRichPresenceLocUpdate(e, t) {
        e.m_nLastUpdated = Date.now();
        for (let n of t) {
          let t = n.language(),
            a = e.m_mapLanguages.get(t);
          a
            ? a.clear()
            : (e.m_mapLanguages.set(t, new Map()),
              (a = e.m_mapLanguages.get(t)));
          for (let e of n.tokens()) a.set(e.name().toLowerCase(), e.value());
        }
      }
      QueueRichPresenceLocRequest(e) {
        return (
          e.m_fetching ||
            ((e.m_fetching = this.m_CMInterface
              .WaitUntilLoggedOn()
              .then(() => {
                let t = xt.b.Init(Xe.a);
                return (
                  t.Body().set_appid(e.GetAppID()),
                  t.Body().set_language(o.c.LANGUAGE),
                  Xe.g.GetAppRichPresenceLocalization(
                    this.m_CMInterface.GetServiceTransport(),
                    t,
                  )
                );
              })
              .then(
                (t) => (
                  (e.m_fetching = null),
                  1 != t.GetEResult()
                    ? Promise.reject()
                    : (this.OnRichPresenceLocUpdate(e, t.Body().token_lists()),
                      Promise.resolve(e))
                ),
              )),
            e.m_fetching.catch(() => {
              e.m_fetching = null;
            })),
          e.m_fetching
        );
      }
    }
    Object(a.b)([L.k], Ht.prototype, "OnGetAppsResponse", null),
      Object(a.b)([L.k], Ht.prototype, "OnRichPresenceLocUpdate", null);
    const Vt = new Ht();
    var qt = n("q2g5"),
      Kt = n("s4NR"),
      Qt = n.n(Kt),
      Yt = n("agHs"),
      Zt = n("xvkT"),
      Jt = n("1j+z");
    function Xt(e, t) {
      return Object(Zt.b)(
        e,
        (function (e) {
          var t;
          return [
            (
              null === (t = null == e ? void 0 : e.jsondata) || void 0 === t
                ? void 0
                : t.read_more_link
            )
              ? Object(Rt.d)(e.jsondata.read_more_link).toLocaleLowerCase()
              : void 0,
          ];
        })(t),
      );
    }
    function $t(e, t, n) {
      let a = e;
      return (
        a.toLowerCase().startsWith("http") || (a = "http://" + a),
        r.createElement(en, { url: a, event: t }, n || e)
      );
    }
    const en = (e) => {
      const { url: t, event: n, className: a } = e;
      let i,
        s = Object(Jt.d)(t);
      Xt(s, n) &&
        (s =
          (o.c.IN_CLIENT ? "steam://openurl_external/" : "") +
          o.c.COMMUNITY_BASE_URL +
          "linkfilter/?url=" +
          s),
        Object(Zt.b)(s) && (i = "noopener nofollow");
      const l =
        "string" == typeof e.children &&
        e.children.length > 0 &&
        t &&
        !t.startsWith("steam://")
          ? Object(Rt.e)(t)
          : void 0;
      return r.createElement(
        "a",
        { className: a, href: s, rel: i, id: e.id },
        r.createElement("span", { "data-tooltip-text": l }, e.children),
      );
    };
    class tn extends Yt.a {
      constructor(e, t, n, a) {
        super(e),
          (this.m_LinkFilter = new RegExp(
            '((?:(?:https?:)|(?:www[.,])|(?:[!#-;=?-Z\\\\^-~]+[\\.,](?:(?:[a-zA-Z]{2,4}[\\.?]*[/\\\\?#])|(?:(?:biz|com|gallery|in|name|net|online|org|tech|trade|xyz)(?=\\W|$)))))(?:[^ː\\s"<>\\[\\]]*[^\\s"<>\\[\\],.ː:])?)',
          )),
          (this.m_parentNode = void 0),
          (this.m_parentNode = t),
          (this.m_mapHostToComponent = n),
          (this.m_globalStoreLink = a);
      }
      AppendText(e, t = !1) {
        let n = e;
        if (
          t &&
          (null == this.m_parentNode || "img" != this.m_parentNode.tag)
        ) {
          let e = this.m_LinkFilter.exec(n);
          for (; e; ) {
            if (e.index > 0) {
              let n = e.input.substr(0, e.index);
              super.AppendText(n, t);
            }
            let a = e[0],
              r = !1;
            if (this.m_mapHostToComponent)
              for (let e = 0; e < this.m_mapHostToComponent.length; ++e)
                if (this.m_mapHostToComponent[e].urlRegExp.exec(a)) {
                  (r = !0),
                    super.AppendNode(
                      this.m_mapHostToComponent[e].fnBBComponent(
                        a,
                        this.m_globalStoreLink,
                      ),
                    );
                  break;
                }
            r || super.AppendNode($t(a)),
              (n = e.input.substr(e.index + a.length)),
              (e = this.m_LinkFilter.exec(n));
          }
        }
        n.length > 0 && super.AppendText(n, t);
      }
    }
    class nn extends Yt.a {
      constructor() {
        super(...arguments),
          (this.m_EmoteRegex = new RegExp("[ː:]([a-zA-Z0-9_]+)[ː:]"));
      }
      AppendText(e, t = !1) {
        let n = e;
        if (e.length >= 3) {
          let e = this.m_EmoteRegex.exec(n);
          for (; e; ) {
            if (e.index > 0) {
              let n = e.input.substr(0, e.index);
              super.AppendText(n, t);
            }
            let a = e[1];
            super.AppendNode(
              r.createElement(
                Te.b,
                { emoticonHoverStore: fe.a, emoticon: a },
                [],
              ),
            ),
              (n = e.input.substr(e.index + a.length + 2)),
              (e = this.m_EmoteRegex.exec(n));
          }
        }
        n.length > 0 && super.AppendText(n, t);
      }
    }
    class an extends Yt.a {
      constructor(e, t) {
        super(e), (this.m_parentNode = void 0), (this.m_parentNode = t);
      }
      AppendText(e, t = !1) {
        let n = e;
        this.m_parentNode &&
          "img" == this.m_parentNode.tag &&
          (n = Object(Rt.g)(n)),
          super.AppendText(n, t);
      }
    }
    n("TYQL");
    class rn {
      constructor() {
        if (
          ((this.m_counts = null),
          document.getElementById("application_config"))
        ) {
          let e = Object(o.g)("deckcompatcount", "application_config");
          rn.ValidateListCompat(e) && (this.m_counts = e);
        }
      }
      GetCounts() {
        return this.m_counts;
      }
      LoadCounts() {
        return Object(a.a)(this, void 0, void 0, function* () {
          return Boolean(this.m_counts)
            ? this.m_counts
            : (this.m_promise || (this.m_promise = this.LoadInternalCount()),
              this.m_promise);
        });
      }
      LoadInternalCount() {
        var e, t;
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = null;
          try {
            const a =
                o.c.STORE_BASE_URL + "saleaction/ajaxgetuserdeckcompatcounts",
              r = yield F.a.get(a, {});
            if (
              200 == (null == r ? void 0 : r.status) &&
              1 ==
                (null === (e = r.data) || void 0 === e ? void 0 : e.success) &&
              (null === (t = r.data) || void 0 === t ? void 0 : t.counts)
            )
              return (this.m_counts = r.data.counts), this.m_counts;
            n = Object(me.a)(r);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CDeckCompCountStore.LoadInternalCount failed: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          rn.s_globalSingletonStore ||
            ((rn.s_globalSingletonStore = new rn()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_DeckCompatCountStores = rn.s_globalSingletonStore)),
          rn.s_globalSingletonStore
        );
      }
      static ValidateListCompat(e) {
        const t = e;
        return (
          t &&
          "number" == typeof t.verified &&
          "number" == typeof t.unsupported &&
          "number" == typeof t.playable
        );
      }
    }
    class sn {
      constructor() {
        if (
          ((this.m_libraryCallback = new g.a()),
          (this.m_wishlistCallback = new g.a()),
          (this.m_libraryLoadPromise = null),
          (this.m_wishlistLoadPromise = null),
          (this.m_emptyList = {
            verifiedList: new Array(),
            playableList: new Array(),
            unsupportedList: new Array(),
          }),
          document.getElementById("application_config"))
        ) {
          let e = Object(o.g)("decklibrarycompat", "application_config");
          sn.ValidateListCompat(e) &&
            ((this.m_library = e),
            "dev" == o.c.WEB_UNIVERSE &&
              console.log(
                "CDeckVerifiedUserAppListStore library compat loaded: ",
                e,
              )),
            (e = Object(o.g)("deckwishlistcompat", "application_config")),
            sn.ValidateListCompat(e) &&
              ((this.m_wishlist = e),
              "dev" == o.c.WEB_UNIVERSE &&
                console.log(
                  "CDeckVerifiedUserAppListStore wishlist compat loaded: ",
                  e,
                ));
        }
      }
      GetUserLibraryCompatList() {
        return this.m_library || this.m_emptyList;
      }
      BHasUserLibraryCompatList() {
        return Boolean(this.m_library);
      }
      GetCallbackForLibraryCompatList() {
        return this.m_libraryCallback;
      }
      GetUserWishlistCompatList() {
        return this.m_wishlist || this.m_emptyList;
      }
      BHasUserWishlistCompatList() {
        return Boolean(this.m_wishlist);
      }
      GetCallbackForWishlistCompatList() {
        return this.m_wishlistCallback;
      }
      BHasListType(e) {
        return Boolean("library" == e ? this.m_library : this.m_wishlist);
      }
      GetUserCompatList(e) {
        return "library" == e ? this.m_library : this.m_wishlist;
      }
      GetCallbackForList(e) {
        return "library" == e
          ? this.m_libraryCallback
          : this.m_wishlistCallback;
      }
      LoadCompatabilityAppList(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.BHasListType(e))
            switch (e) {
              case "library":
                return (
                  this.m_libraryLoadPromise ||
                    (this.m_libraryLoadPromise =
                      this.InternalLoadAppCompatability(e)),
                  this.m_libraryLoadPromise
                );
              case "wishlist":
                return (
                  this.m_wishlistLoadPromise ||
                    (this.m_wishlistLoadPromise =
                      this.InternalLoadAppCompatability(e)),
                  this.m_wishlistLoadPromise
                );
            }
          return !0;
        });
      }
      InternalLoadAppCompatability(e) {
        var t, n;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const r = {
              appListType: e,
              l: o.c.LANGUAGE,
              cc: o.c.COUNTRY,
              sessionid: o.c.SESSIONID,
              authwgtoken: o.j.authwgtoken,
            };
            let i = o.c.STORE_BASE_URL + "saleaction/ajaxgetuserdeckcompatlist";
            const s = yield F.a.get(i, { params: r, withCredentials: !0 });
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 ==
                (null === (t = s.data) || void 0 === t ? void 0 : t.success) &&
              (null === (n = s.data) || void 0 === n ? void 0 : n.list)
            ) {
              switch (e) {
                case "library":
                  (this.m_library = s.data.list),
                    this.GetCallbackForLibraryCompatList().Dispatch(
                      this.m_library,
                    );
                  break;
                case "wishlist":
                  (this.m_wishlist = s.data.list),
                    this.GetCallbackForWishlistCompatList().Dispatch(
                      this.m_wishlist,
                    );
              }
              return !0;
            }
            a = Object(me.a)(s);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CDeckVerifiedUserAppListStore.InternalLoadAppCompatability failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          sn.s_Singleton ||
            ((sn.s_Singleton = new sn()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_DeckVerifiedAppListStores = sn.s_Singleton)),
          sn.s_Singleton
        );
      }
      static ValidateListCompat(e) {
        const t = e;
        return (
          t &&
          "object" == typeof t &&
          Array.isArray(t.verifiedList) &&
          Array.isArray(t.playableList) &&
          Array.isArray(t.unsupportedList)
        );
      }
    }
    Object(a.b)([u.b], sn.prototype, "LoadCompatabilityAppList", null);
    var on,
      ln = n("+Cr/");
    class cn {
      constructor() {
        (this.m_salePageBackgroundOverride = null),
          (this.m_salePageBackgroundWEBM = null),
          (this.m_salePageBackgroundMP4 = null),
          (this.m_salePageContextToken = null),
          (this.m_storyImages = null);
      }
      BHasSalePageBackgroundOverride() {
        return Boolean(this.m_salePageBackgroundOverride);
      }
      GetSalePageBackgroundOverride() {
        return this.m_salePageBackgroundOverride;
      }
      GetSalePageBackgroundMP4() {
        return this.m_salePageBackgroundMP4;
      }
      GetSalePageBackgroundWEBM() {
        return this.m_salePageBackgroundWEBM;
      }
      GetStoryImage(e) {
        return this.m_storyImages[e];
      }
      GetSalePageContext() {
        return this.m_salePageContextToken;
      }
      UpdateBackground(e, t) {
        (this.m_salePageBackgroundOverride = t.sale_pg_background_override),
          (this.m_salePageBackgroundMP4 = t.sale_pg_background_mp4),
          (this.m_salePageBackgroundWEBM = t.sale_pg_background_webm),
          (this.m_storyImages[e] = t.story_image),
          (this.m_salePageContextToken = t.sale_pg_context_token);
      }
      static Get() {
        return (
          cn.s_Singleton ||
            ((cn.s_Singleton = new cn()),
            cn.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PromotionPlanningStore = cn.s_Singleton)),
          cn.s_Singleton
        );
      }
      Init() {
        (this.m_salePageBackgroundOverride = Object(o.h)(
          "doorinfobackground",
          "application_config",
        )),
          (this.m_salePageBackgroundWEBM = Object(o.h)(
            "doorinfowebm",
            "application_config",
          )),
          (this.m_salePageBackgroundMP4 = Object(o.h)(
            "doorinfomp4",
            "application_config",
          )),
          (this.m_storyImages = Object(o.h)(
            "storyimages",
            "application_config",
          )),
          this.m_storyImages || (this.m_storyImages = new Array(_n));
      }
    }
    class dn {
      constructor() {
        (this.m_setInteractions = new Set()),
          (this.m_nActiveTabID = -1),
          (this.m_interactionCallback = new g.a()),
          (this.m_bDebugMode = !0);
      }
      GetNewInteractionCallback() {
        return this.m_interactionCallback;
      }
      AddInteraction(e, t) {
        const n = `${this.m_nActiveTabID}_${e}_${t}`,
          a = !this.m_setInteractions.has(n);
        this.m_setInteractions.add(n),
          a &&
            ("dev" == o.c.WEB_UNIVERSE &&
              this.m_bDebugMode &&
              console.log(
                "CSaleInteractionStore new: " +
                  n +
                  " count: " +
                  this.m_setInteractions.size,
              ),
            this.m_interactionCallback.Dispatch(
              { tabid: this.m_nActiveTabID, sectionid: e, elementIndex: t },
              this.m_setInteractions,
            ));
      }
      SetActiveTab(e) {
        this.m_nActiveTabID = e;
      }
      static Get() {
        return (
          dn.s_Singleton ||
            ((dn.s_Singleton = new dn()),
            dn.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_SaleInteractionStore = dn.s_Singleton)),
          dn.s_Singleton
        );
      }
      Init() {}
    }
    !(function (e) {
      (e[(e.k_EDiscoveryAction_Invalid = 0)] = "k_EDiscoveryAction_Invalid"),
        (e[(e.k_EDiscoveryAction_OpenStorePage = 1)] =
          "k_EDiscoveryAction_OpenStorePage"),
        (e[(e.k_EDiscoveryAction_OpenDoor = 2)] =
          "k_EDiscoveryAction_OpenDoor");
    })(on || (on = {}));
    class un {
      constructor() {
        (this.m_mapMaterializedInsertion = new Map()),
          (this.m_mapInsertCallback = new Map()),
          (this.m_rgFutureInsertions = new Array());
      }
      GetMatchingInsertion(e, t) {
        return this.m_mapMaterializedInsertion.get(this.GetKeyFromID(e, t));
      }
      GetChangeCallback(e, t) {
        const n = this.GetKey({ sectionID: e, tabID: t });
        return this.GetChangeCallbackByKey(n);
      }
      GetChangeCallbackByKey(e) {
        return (
          this.m_mapInsertCallback.has(e) ||
            this.m_mapInsertCallback.set(e, new g.a()),
          this.m_mapInsertCallback.get(e)
        );
      }
      GetKey(e) {
        return e ? e.sectionID + "_" + (e.tabID || "-1") : null;
      }
      GetKeyFromID(e, t) {
        return e + "_" + (t || "-1");
      }
      ReplaceInsertion(e) {
        e.forEach((e) => {
          const t = this.GetKey(e);
          this.m_mapMaterializedInsertion.forEach((e) => {
            const n = this.GetKey(e);
            n && n != t && this.DispatchInsertion(e, !0);
          }),
            this.m_mapMaterializedInsertion.clear(),
            (this.m_rgFutureInsertions = Array()),
            this.AppendInsertion(e);
        });
      }
      AppendInsertion(e) {
        (null == e ? void 0 : e.sectionID)
          ? (this.m_mapMaterializedInsertion.set(this.GetKey(e), e),
            this.DispatchInsertion(e))
          : this.m_rgFutureInsertions.push(e);
      }
      DispatchInsertion(e, t) {
        e.sectionID &&
          this.GetChangeCallback(e.sectionID, e.tabID).Dispatch(t ? null : e);
      }
      AppCapsuleFound(e) {
        this.m_rgFutureInsertions = this.m_rgFutureInsertions.filter(
          (t) => !(!t.sectionID && t.insertion_requirement && t.appid == e),
        );
      }
      GetAnyNonMaterializedInsertionRequest() {
        const e = this.m_rgFutureInsertions.length;
        return e > 0
          ? this.m_rgFutureInsertions[Math.floor(e * Math.random())]
          : null;
      }
      SaleInteractionCallback(e, t) {
        if (this.m_rgFutureInsertions.length > 0)
          for (let n = 0; n < this.m_rgFutureInsertions.length; ++n)
            if (this.AreWeAllowedToDeploy(this.m_rgFutureInsertions[n], t)) {
              const t = this.DeployCapsuleIfPossible(
                e,
                this.m_rgFutureInsertions[n],
              );
              t &&
                (Object(l.a)(
                  Boolean(t.sectionID),
                  "Expected to have a materialized insertion at this poiunt: " +
                    t.sectionID,
                ),
                this.AppendInsertion(t));
            }
      }
      AreWeAllowedToDeploy(e, t) {
        if (
          !e.sectionID &&
          e.insertion_requirement &&
          t.size >= e.insertion_requirement.min_interactions
        ) {
          if (t.size >= e.insertion_requirement.max_interactions) return !0;
          const n =
            e.insertion_requirement.max_interactions -
            e.insertion_requirement.min_interactions;
          return 0 == Math.floor(n * Math.random());
        }
        return !1;
      }
      BIsInsertableSectionType(e) {
        if (e) {
          if ("contenthubsections" == e.section_type) return !0;
          if ("sale_item_browser" == e.section_type) return !0;
          if ("items" == e.section_type)
            return (
              !e.smart_section ||
              ("wishlist" != e.smart_section_type &&
                "wishlist_onsale" != e.smart_section_type)
            );
        }
        return !1;
      }
      BHasExistingInsertion(e) {
        return Boolean(this.GetMatchingInsertion(e.sectionid, e.tabid));
      }
      DeployCapsuleIfPossible(e, t) {
        if (this.BHasExistingInsertion(e)) return null;
        if (o.d.ANNOUNCEMENT_GID) {
          const n = St.b.GetClanEventFromAnnouncementGID(o.d.ANNOUNCEMENT_GID),
            a = null == n ? void 0 : n.GetSaleSectionByID(e.sectionid);
          if (this.BIsInsertableSectionType(a)) {
            if (
              t.insertion_requirement.additional_adds > 0 &&
              t.insertion_requirement.delta_interactions > 0
            ) {
              const e = Object.assign({}, t);
              (e.insertion_requirement = Object.assign(
                {},
                t.insertion_requirement,
              )),
                (e.insertion_requirement.additional_adds -= 1),
                (e.insertion_requirement.max_interactions +=
                  t.insertion_requirement.delta_interactions),
                (e.insertion_requirement.min_interactions +=
                  t.insertion_requirement.delta_interactions),
                this.AppendInsertion(e);
            }
            return (
              (t.sectionID = e.sectionid),
              (t.tabID = e.tabid),
              (t.insertionIndex = e.elementIndex),
              t
            );
          }
        }
        return null;
      }
      static Get() {
        return (
          un.s_Singleton ||
            ((un.s_Singleton = new un()),
            un.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_DynamicCapsuleInsertStore = un.s_Singleton)),
          un.s_Singleton
        );
      }
      Init() {
        const e = Object(o.h)("capsuleinsert", "application_config");
        un.ValidateData(e) &&
          (e.sectionID
            ? this.m_mapMaterializedInsertion.set(this.GetKey(e), e)
            : e.insertion_requirement
              ? (this.m_rgFutureInsertions.push(e),
                (null == e ? void 0 : e.appid) &&
                  Dt.a
                    .Get()
                    .QueueAppRequest(e.appid, {
                      include_assets: !0,
                      include_release: !0,
                      include_trailers: !0,
                    })
                    .then(() => {
                      var t, n;
                      const a = Dt.a.Get().GetApp(e.appid);
                      !a ||
                        (null ===
                          (n =
                            null === (t = a.GetBestPurchaseOption()) ||
                            void 0 === t
                              ? void 0
                              : t.formatted_final_price) || void 0 === n
                          ? void 0
                          : n.length) > 0 ||
                        a.ReplaceBestPurchaseOption({
                          packageid: 0,
                          bundleid: 0,
                          formatted_original_price: "CL.0R",
                          formatted_final_price: "TH.4X",
                          discount_pct: 50,
                        });
                    }))
              : "dev" == o.c.WEB_UNIVERSE &&
                console.error(
                  "CDynamicCapsuleInsertStore: Payload not material and missing instructions.",
                  e,
                ),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log("CDynamicCapsuleInsertStore loaded ", e)),
          dn
            .Get()
            .GetNewInteractionCallback()
            .Register(this.SaleInteractionCallback);
      }
      static ValidateData(e) {
        const t = e;
        return (
          t &&
          ("number" == typeof t.sectionID ||
            "object" == typeof t.insertion_requirement) &&
          "number" == typeof t.appid &&
          "number" == typeof t.action
        );
      }
    }
    function mn(e) {
      un.Get().ReplaceInsertion(e);
    }
    function pn(e, t) {
      return un.Get().GetMatchingInsertion(e, t);
    }
    function hn(e, t) {
      return un.Get().GetChangeCallback(e, t);
    }
    Object(a.b)([u.b], un.prototype, "SaleInteractionCallback", null),
      Object(a.b)([L.k], un.prototype, "DeployCapsuleIfPossible", null);
    const _n = 12;
    class gn {
      constructor() {
        (this.m_bLoadedDuringInit = !1),
          (this.m_strLastDoorOpenKey = "video_noneset"),
          (this.m_bIsAnyDoorOpened = !1),
          (this.m_nHighestDoorOpened = -1),
          (this.m_mapDoorOpenPromise = new Map()),
          (this.m_mapChangeCallback = new Map()),
          (this.m_doorInitializedChangedCallback = new g.a()),
          (this.m_largestDoorChangeCallback = new g.a()),
          (this.m_bIsAnyDoorOpenChangeCallback = new g.a());
      }
      GetLastDoorOpen() {
        return this.m_strLastDoorOpenKey;
      }
      GetRawDoorData() {
        return this.m_userData;
      }
      BIsDoorOpened(e) {
        return (
          !!this.m_userData &&
          e < this.m_userData.length &&
          this.m_userData[e].opened
        );
      }
      BCanUserOpenDoor(e) {
        let t = Bt.b.GetTimeNowWithOverride();
        return (
          o.j.logged_in &&
          this.m_userData &&
          e < this.m_userData.length &&
          t >= this.m_userData[e].rtime_start &&
          t <= this.m_userData[e].rtime_end
        );
      }
      GetDoorCount() {
        return this.m_userData ? this.m_userData.length : 0;
      }
      BIsAnyDoorOpened() {
        return this.m_bIsAnyDoorOpened;
      }
      GetIsAnyDoorOpenChange() {
        return this.m_bIsAnyDoorOpenChangeCallback;
      }
      GetLargestDoorOpenIndex() {
        return this.m_nHighestDoorOpened;
      }
      GetLargestDoorIndexChange() {
        return this.m_largestDoorChangeCallback;
      }
      GetDoorStateChangeCallback(e) {
        return (
          this.m_mapChangeCallback.has(e) ||
            this.m_mapChangeCallback.set(e, new g.a()),
          this.m_mapChangeCallback.get(e)
        );
      }
      GetDoorStateInitializedChangeCallback() {
        return this.m_doorInitializedChangedCallback;
      }
      BIsInitialized() {
        return this.m_bLoadedDuringInit;
      }
      GetMaxDoor() {
        return _n;
      }
      SetInMemoryUpdateDoorOpenUpto(e) {
        for (let t = 0; t < _n; ++t) {
          const n = t <= e;
          this.m_userData[t].opened != n &&
            ((this.m_userData[t].opened = n),
            this.GetDoorStateChangeCallback(t).Dispatch(n));
        }
        this.RecomputeState();
      }
      RecomputeState() {
        var e;
        let t = -1;
        null === (e = this.m_userData) ||
          void 0 === e ||
          e.forEach((e) => {
            e.opened && e.day > t && (t = e.day);
          });
        const n = -1 != t;
        n != this.m_bIsAnyDoorOpened &&
          ((this.m_bIsAnyDoorOpened = n),
          this.GetIsAnyDoorOpenChange().Dispatch(n)),
          t != this.m_nHighestDoorOpened &&
            ((this.m_nHighestDoorOpened = t),
            this.GetLargestDoorIndexChange().Dispatch(t));
      }
      OpenDoor(e, t = !0, n = "", r = !1) {
        var i;
        return Object(a.a)(this, void 0, void 0, function* () {
          return !o.j.logged_in ||
            !this.m_userData ||
            e > this.m_userData.length ||
            e < 0
            ? ("dev" == o.c.WEB_UNIVERSE &&
                console.log(
                  "CDoorStore.OpenDoor Early fail settings:",
                  o.j.logged_in,
                  this.m_userData,
                  e,
                  null === (i = this.m_userData) || void 0 === i
                    ? void 0
                    : i.length,
                ),
              null)
            : this.m_mapDoorOpenPromise.has(e)
              ? this.m_mapDoorOpenPromise.get(e)
              : this.m_userData[e].opened == t
                ? {}
                : (this.m_mapDoorOpenPromise.has(e) ||
                    this.m_mapDoorOpenPromise.set(
                      e,
                      this.InternalOpenDoor(e, t, n, r),
                    ),
                  this.m_mapDoorOpenPromise.get(e));
        });
      }
      InternalOpenDoor(e, t = !0, n, r = !1) {
        var i;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = o.c.STORE_BASE_URL + "saleaction/ajaxopendoor";
          const s = new FormData();
          s.append("sessionid", o.c.SESSIONID),
            s.append("authwgtoken", o.j.authwgtoken),
            n && s.append("datarecord", n),
            r && s.append("fake_open", "" + r),
            s.append("door_index", "" + e),
            s.append("clan_accountid", "" + o.b.CLANACCOUNTID),
            t || s.append("open_door", "0");
          let l = null;
          try {
            let n = yield F.a.post(a, s, { withCredentials: !0 });
            if (
              200 == (null == n ? void 0 : n.status) &&
              1 ==
                (null === (i = null == n ? void 0 : n.data) || void 0 === i
                  ? void 0
                  : i.success)
            )
              return (
                (this.m_userData[e].opened = t),
                (this.m_strLastDoorOpenKey = "door_" + (t ? e : e - 1)),
                n.data.capsuleinsert && mn([n.data.capsuleinsert]),
                this.GetDoorStateChangeCallback(e).Dispatch(t),
                this.RecomputeState(),
                n.data
              );
            l = Object(me.a)(n);
          } catch (e) {
            l = Object(me.a)(e);
          }
          return (
            this.m_mapDoorOpenPromise.delete(e),
            console.error("OpenDoor hit error: " + l.strErrorMsg, l),
            null
          );
        });
      }
      LoadDoorData() {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.m_bLoadedDuringInit
            ? this.m_userData
            : (this.m_initialLoadPromise ||
                (this.m_initialLoadPromise = this.InternalLoadDoorData()),
              this.m_initialLoadPromise);
        });
      }
      InternalLoadDoorData() {
        var e;
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = o.c.STORE_BASE_URL + "saleaction/ajaxgetopendoor";
          let n = null;
          try {
            const a = yield F.a.get(t, { withCredentials: !0 });
            if (
              200 == a.status &&
              (null === (e = a.data) || void 0 === e ? void 0 : e.doordata)
            ) {
              (this.m_userData = a.data.doordata),
                (this.m_bLoadedDuringInit = !0);
              for (let e = 0; e < _n; ++e)
                this.GetDoorStateChangeCallback(e).Dispatch(
                  this.m_userData[e].opened,
                );
              return (
                this.GetDoorStateInitializedChangeCallback().Dispatch(
                  this.m_bLoadedDuringInit,
                ),
                this.RecomputeState(),
                this.m_userData
              );
            }
            n = Object(me.a)(a);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.UpdateAdminPlan failed: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            null
          );
        });
      }
      CloseAllDoors() {
        var e;
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = o.c.STORE_BASE_URL + "saleaction/ajaxclosealldoor";
          const n = new FormData();
          n.append("sessionid", o.c.SESSIONID),
            n.append("authwgtoken", o.j.authwgtoken);
          let a = null;
          try {
            let r = yield F.a.post(t, n, { withCredentials: !0 });
            if (
              200 == r.status &&
              1 ==
                (null === (e = null == r ? void 0 : r.data) || void 0 === e
                  ? void 0
                  : e.success)
            ) {
              console.log("CDoorStore - closed " + r.data.count);
              for (let e = 0; e < _n; ++e)
                (this.m_userData[e].opened = !1),
                  this.GetDoorStateChangeCallback(e).Dispatch(
                    this.m_userData[e].opened,
                  );
              return this.RecomputeState(), !0;
            }
            a = Object(me.a)(r);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.CloseAllDoors failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          gn.s_Singleton ||
            ((gn.s_Singleton = new gn()),
            gn.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_EventDoorStore = gn.s_Singleton)),
          gn.s_Singleton
        );
      }
      Init() {
        (this.m_userData = Object(o.g)("doorinfo", "application_config")),
          this.m_userData &&
            ((this.m_bLoadedDuringInit = !0),
            this.RecomputeState(),
            "dev" == o.c.WEB_UNIVERSE &&
              console.log("CDoorStore Loading - ", this.m_userData));
      }
    }
    function bn() {
      return { fnOpenDoor: gn.Get().OpenDoor };
    }
    function fn() {
      const [e, t] = Object(r.useState)(gn.Get().BIsInitialized());
      return (
        Object(r.useEffect)(() => {
          e || gn.Get().LoadDoorData();
        }, [e]),
        Object(u.e)(gn.Get().GetDoorStateInitializedChangeCallback(), t),
        e
      );
    }
    function vn(e) {
      const t = fn(),
        [n, a] = Object(r.useState)(t ? gn.Get().BIsDoorOpened(e) : void 0);
      return Object(u.e)(gn.Get().GetDoorStateChangeCallback(e), a), n;
    }
    function Sn() {
      const e = fn(),
        [t, n] = Object(r.useState)(
          e ? gn.Get().GetLargestDoorOpenIndex() : -1,
        );
      return Object(u.e)(gn.Get().GetLargestDoorIndexChange(), n), t;
    }
    Object(a.b)([L.C], gn.prototype, "m_bIsAnyDoorOpened", void 0),
      Object(a.b)([L.C], gn.prototype, "m_nHighestDoorOpened", void 0),
      Object(a.b)([u.b], gn.prototype, "OpenDoor", null);
    var yn = n("pIgH"),
      En = n("cKYR"),
      Cn = n.n(En),
      wn = n("adO3");
    let Bn = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.state = { bLoadedMetadata: !1 }),
          (this.m_sharedFileInfo = {
            sharedfileid: this.props.sharedFileID,
            title: Object($.f)("#Loading"),
            description: "",
            type: "",
            previewurl: "",
            appid: 0,
            url:
              o.c.COMMUNITY_BASE_URL +
              "sharedfiles/filedetails/?id=" +
              this.props.sharedFileID,
          });
      }
      componentDidMount() {
        wn.a
          .LoadSharedFileDynamicData(
            [this.props.sharedFileID],
            this.m_cancelSignal,
          )
          .then((e) => {
            !this.m_cancelSignal.token.reason &&
              e.length > 0 &&
              ((this.m_sharedFileInfo = e[0]),
              this.setState({ bLoadedMetadata: !0 }));
          })
          .catch((e) =>
            console.error("SharedFileSnippet: " + Object(me.a)(e).strErrorMsg),
          );
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("SharedFileSnippet component unmounted");
      }
      render() {
        let e =
          void 0 !== this.m_sharedFileInfo.personnaname &&
          this.m_sharedFileInfo.personnaname.length > 0;
        return r.createElement(
          "a",
          {
            href: this.m_sharedFileInfo.url,
            className: Cn.a.DynamicLinkBox,
            "data-modal-content-sizetofit": !!this.m_sharedFileInfo.bSizeToFit,
            "data-appid": this.m_sharedFileInfo.appid,
            "data-publishedfileid": this.props.sharedFileID,
          },
          r.createElement("img", {
            className: Cn.a.DynamicLink_Preview,
            src: this.m_sharedFileInfo.previewurl,
          }),
          r.createElement(
            "div",
            { className: Cn.a.DynamicLink_Content },
            r.createElement(
              "div",
              { className: Cn.a.DynamicLink_Name },
              this.m_sharedFileInfo.title,
            ),
            r.createElement(
              "div",
              null,
              r.createElement(
                "span",
                { className: Cn.a.DynamicLink_Type },
                this.m_sharedFileInfo.type,
              ),
            ),
            e &&
              r.createElement(
                "div",
                { className: Cn.a.DynamicLink_Author },
                Object($.o)(
                  "#EventEditor_Author",
                  r.createElement(
                    "span",
                    { className: Cn.a.DynamicLink_AuthorName },
                    this.m_sharedFileInfo.personnaname,
                  ),
                ),
              ),
            r.createElement(
              "div",
              { className: Cn.a.DynamicLink_Description },
              this.m_sharedFileInfo.description,
            ),
          ),
        );
      }
    };
    Object(a.b)([L.C], Bn.prototype, "m_sharedFileInfo", void 0),
      (Bn = Object(a.b)([m.a], Bn));
    n("0rDd");
    var On = n("xSFm"),
      Dn = n("oB2E"),
      In = n("55Ip"),
      Tn = n("6Uth"),
      Rn = n("vfQD"),
      jn = n("nCSS"),
      An = n("QoNC");
    class kn {
      constructor() {
        (this.m_mapNewsCurators = new Map()),
          (this.m_bIsLoadComplete = !1),
          (this.m_mapLangToNewsCurators = new Map()),
          (this.m_LoadingPromise = null);
      }
      static Get() {
        return (
          kn.s_newsCuratorStore ||
            ((kn.s_newsCuratorStore = new kn()),
            (kn.s_newsCuratorStore.m_LoadingPromise =
              kn.s_newsCuratorStore.Init()),
            (window.g_NewsCuratorStore = kn.s_newsCuratorStore)),
          kn.s_newsCuratorStore
        );
      }
      IsLoaded() {
        return this.m_bIsLoadComplete;
      }
      WaitForInitialLoad() {
        return this.m_LoadingPromise;
      }
      get allNewsCurators() {
        return Array.from(this.m_mapNewsCurators.values());
      }
      GetCuratorsForLang(e) {
        return this.m_mapLangToNewsCurators.get(e);
      }
      GetNewsCuratorForAccount(e) {
        return this.m_mapNewsCurators.get(e);
      }
      BIsTrustedPressAccount(e) {
        return void 0 !== this.GetNewsCuratorForAccount(e);
      }
      Init() {
        return Object(a.a)(this, void 0, void 0, function* () {
          $.b
            .GetLanguageListForRealms([o.c.EREALM])
            .forEach((e) => this.m_mapLangToNewsCurators.set(e, []));
          const e = o.c.STORE_BASE_URL + "events/ajaxgetnewscurators";
          let t = { origin: self.origin };
          const n = yield F.a.get(e, { params: t });
          Object(L.G)(() => {
            n.data && n.data.success && this.HandleCuratorResponse(n.data),
              (this.m_bIsLoadComplete = !0);
          });
        });
      }
      HandleCuratorResponse(e) {
        var t;
        if (
          (e.groupvanityinfo && wt.a.RegisterClanData(e.groupvanityinfo),
          e.newscuratorinfo)
        )
          for (const n of e.newscuratorinfo) {
            if (this.m_mapNewsCurators.has(n.clanAccountID)) continue;
            this.m_mapNewsCurators.set(n.clanAccountID, n);
            const e = wt.a.GetClanInfoByClanAccountID(n.clanAccountID);
            e &&
              (null ===
                (t = this.m_mapLangToNewsCurators.get(e.rss_language)) ||
                void 0 === t ||
                t.push(n));
          }
      }
    }
    Object(a.b)([L.C], kn.prototype, "m_mapNewsCurators", void 0),
      Object(a.b)([L.C], kn.prototype, "m_bIsLoadComplete", void 0),
      Object(a.b)([L.C], kn.prototype, "m_mapLangToNewsCurators", void 0),
      Object(a.b)([L.n], kn.prototype, "allNewsCurators", null),
      Object(a.b)([L.k], kn.prototype, "HandleCuratorResponse", null);
    var Mn = n("3o+G"),
      Pn = n("6Zqp"),
      Ln = n.n(Pn);
    function Gn(e) {
      const t = new Set();
      return (
        (e.indexOf("games") >= 0 || e.indexOf("dlc") >= 0) && t.add("apps"),
        e.indexOf("curators") >= 0 && t.add("curators"),
        t
      );
    }
    class Nn extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            strSearchString: "",
            rgAppSuggestions: null,
            rgCuratorSuggestions: null,
          }),
          (this.m_nHighestSentRequestID = 0),
          (this.m_mapHighestReceivedRequestIDFromBackEnd = new Map([
            ["apps", 0],
            ["curators", 0],
          ])),
          (this.m_timerForChange = new g.b());
      }
      componentWillUnmount() {
        this.m_timerForChange.Cancel();
      }
      CloseSuggestions() {
        this.setState({
          rgCuratorSuggestions: null,
          rgAppSuggestions: null,
          strSearchString: "",
        });
      }
      GetSuggestionsFromServer(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = Gn(this.props.rgCorporaToSearch);
          t.has("apps") && this.GetAppSuggestionsFromServer(e),
            t.has("curators") && this.GetCuratorSuggestions(e);
        });
      }
      GetCuratorSuggestions(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = kn.Get().allNewsCurators,
            a = [];
          for (const i of n) {
            const n = wt.a.GetClanInfoByClanAccountID(i.clanAccountID),
              s = {
                corpus: "curators",
                id: i.clanAccountID,
                name: null == n ? void 0 : n.group_name,
                img: null == n ? void 0 : n.avatar_full_url,
              };
            if (
              (
                (null === (t = null == n ? void 0 : n.group_name) ||
                void 0 === t
                  ? void 0
                  : t.toLocaleLowerCase()) || ""
              ).indexOf(e) >= 0
            ) {
              if (
                this.props.fnFilterSuggestion &&
                !this.props.fnFilterSuggestion(s)
              )
                continue;
              if (It.a.Get().BIsIgnoringCurator(n.clanAccountID)) continue;
              const e = It.a.Get().BIsFollowingCurator(n.clanAccountID),
                t = r.createElement(Fn, {
                  key: "curatorsug_" + s.id,
                  suggestion: s,
                  fnOnSelected: this.props.fnOnSelected,
                  bShowFollowingLabel: e,
                });
              a.push(
                this.props.fnDecorateSuggestion
                  ? this.props.fnDecorateSuggestion(s, t)
                  : t,
              );
            }
          }
          this.m_mapHighestReceivedRequestIDFromBackEnd.set(
            "curators",
            this.m_nHighestSentRequestID,
          ),
            this.setState({ rgCuratorSuggestions: a });
        });
      }
      GetAppSuggestionsFromServer(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = this.m_nHighestSentRequestID,
            a = [];
          this.props.rgCorporaToSearch.indexOf("games") >= 0 &&
            (a.push("game"), a.push("software")),
            this.props.rgCorporaToSearch.indexOf("dlc") >= 0 &&
              (a.push("dlc"), a.push("music"));
          const i = {
              cc: o.c.COUNTRY,
              l: o.c.LANGUAGE,
              realm: c.ESteamRealm.k_ESteamRealmGlobal,
              origin: self.origin,
              f: "jsonfull",
              term: e.replace(" ", "+"),
              require_type: a.join(","),
              excluded_tags: It.a.Get().GetExcludedTagsSortedByID(),
              excluded_content_descriptors: It.a
                .Get()
                .GetExcludedContentDescriptor(),
            },
            s = `${o.c.STORE_BASE_URL}search/suggest`,
            l = yield F.a.get(s, { params: i, withCredentials: !0 });
          if (n < this.m_mapHighestReceivedRequestIDFromBackEnd.get("apps"))
            return;
          let d;
          this.m_mapHighestReceivedRequestIDFromBackEnd.set("apps", n),
            (null === (t = null == l ? void 0 : l.data) || void 0 === t
              ? void 0
              : t.length) &&
              (d = l.data.map((e) => {
                const t = Object.assign(
                  Object.assign(
                    {
                      corpus:
                        ((n = e.type),
                        "game" == n || "software" == n
                          ? "games"
                          : "dlc" == n || "music" == n
                            ? "dlc"
                            : null),
                    },
                    e,
                  ),
                  { id: parseInt(e.id) },
                );
                var n;
                if (
                  this.props.fnFilterSuggestion &&
                  !this.props.fnFilterSuggestion(t)
                )
                  return null;
                const a = r.createElement(Fn, {
                  key: t.type + t.id,
                  suggestion: t,
                  fnOnSelected: this.props.fnOnSelected,
                });
                return this.props.fnDecorateSuggestion
                  ? this.props.fnDecorateSuggestion(t, a)
                  : a;
              })),
            this.setState({ rgAppSuggestions: d });
        });
      }
      UpdateSuggestions(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = e.target.value && e.target.value.trim().toLocaleLowerCase();
          if (
            (this.m_nHighestSentRequestID++, !(null == t ? void 0 : t.length))
          )
            return (
              Array.from(Gn(this.props.rgCorporaToSearch)).forEach((e) =>
                this.m_mapHighestReceivedRequestIDFromBackEnd.set(
                  e,
                  this.m_nHighestSentRequestID,
                ),
              ),
              this.m_timerForChange.Cancel(),
              this.setState({ strSearchString: "" }),
              void this.ResetSuggestions()
            );
          this.setState({ strSearchString: t }),
            this.m_timerForChange.Schedule(300, () =>
              this.GetSuggestionsFromServer(t),
            );
        });
      }
      ResetSuggestions() {
        this.setState({ rgAppSuggestions: null, rgCuratorSuggestions: null });
      }
      GetLimitedSuggestions() {
        let { rgAppSuggestions: e, rgCuratorSuggestions: t } = this.state;
        let n = e ? e.length : 10,
          a = t ? t.length : 10;
        return (
          n + a > 10 && (n = 10 - Math.min(a, 2)),
          (a = 10 - n),
          (e = null == e ? void 0 : e.slice(0, n)),
          (t = null == t ? void 0 : t.slice(0, a)),
          { rgAppSuggestions: e, rgCuratorSuggestions: t }
        );
      }
      render() {
        const {
            strLabel: e,
            focusOnMount: t,
            rgCorporaToSearch: n,
            strResultsClass: a,
          } = this.props,
          { strSearchString: i } = this.state,
          { rgAppSuggestions: s, rgCuratorSuggestions: o } =
            this.GetLimitedSuggestions(),
          l = (null == i ? void 0 : i.length) > 0,
          c = (null == s ? void 0 : s.length) > 0,
          d = (null == o ? void 0 : o.length) > 0,
          u = Gn(n).size > 1,
          m =
            u &&
            c &&
            Object($.f)(
              n.indexOf("dlc") >= 0
                ? "#EventCalendar_SearchResultsHeader_GameAndDLCSection"
                : "#EventCalendar_SearchResultsHeader_GameSection",
            ),
          p = Array.from(Gn(n)).some(
            (e) =>
              this.m_nHighestSentRequestID >
              this.m_mapHighestReceivedRequestIDFromBackEnd.get(e),
          ),
          _ = !d && !c && !p;
        return r.createElement(
          "div",
          { className: Ln.a.SuggestContainer },
          r.createElement(te.z, {
            type: "text",
            label: e,
            onChange: this.UpdateSuggestions,
            bAlwaysShowClearAction: l,
            focusOnMount: t,
          }),
          l &&
            r.createElement(
              "div",
              { className: Object(h.a)(Ln.a.Results, a) },
              c &&
                r.createElement(
                  "div",
                  { key: "game-suggestions" },
                  u &&
                    r.createElement(
                      "div",
                      { className: Ln.a.ResultSectionHeader },
                      m,
                    ),
                  s,
                ),
              d &&
                r.createElement(
                  "div",
                  { key: "curator-suggestions" },
                  u &&
                    r.createElement(
                      "div",
                      { className: Ln.a.ResultSectionHeader },
                      Object($.f)(
                        "#EventCalendar_SearchResultsHeader_CuratorSection",
                      ),
                    ),
                  o,
                ),
              _ &&
                r.createElement(
                  "div",
                  { className: Ln.a.EmptyResults, key: "empty-results" },
                  Object($.f)("#EventCalendar_GameSearch_NoneFound"),
                ),
              p && r.createElement(ee.a, { size: "small" }),
            ),
        );
      }
    }
    Object(a.b)([u.b], Nn.prototype, "UpdateSuggestions", null);
    const Fn = (e) =>
      r.createElement(
        "div",
        {
          className: Ln.a.ResultRow,
          key: `suggestion-${e.suggestion.id}`,
          onClick: () => e.fnOnSelected(e.suggestion),
        },
        r.createElement("img", {
          src: e.suggestion.img,
          className: Ln.a.AvatarImage,
        }),
        r.createElement(
          "div",
          { className: Ln.a.GameName },
          " ",
          Object(Mn.b)(e.suggestion.name),
          " ",
        ),
        e.bShowFollowingLabel &&
          r.createElement(
            "div",
            { className: Ln.a.Label },
            Object($.f)("#EventCalendar_FollowingCurator"),
          ),
      );
    n("GCjA");
    var xn = n("ERCR"),
      zn = (n("oeZY"), n("T5os")),
      Un = n("OsUa"),
      Wn = n("OJUs");
    function Hn(e) {
      const { href: t, children: n, bAllowFocuseableAnchor: r } = e,
        s = Object(a.c)(e, ["href", "children", "bAllowFocuseableAnchor"]);
      return o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina
        ? i.a.createElement("div", Object.assign({}, s), n)
        : r
          ? i.a.createElement(xn.c, Object.assign({ href: t }, s), n)
          : i.a.createElement("a", Object.assign({ href: t }, s), n);
    }
    var Vn = n("XPBy"),
      qn = n("FsoQ"),
      Kn = n.n(qn),
      Qn = n("o1Vo"),
      Yn = n.n(Qn),
      Zn = n("+bL2"),
      Jn = n.n(Zn),
      Xn = n("oEAl"),
      $n = n.n(Xn),
      ea = n("dqrJ"),
      ta = n("rDQm");
    function na(e) {
      const {
          creatorID: t,
          bShowTagline: n,
          bHideCreatorType: a,
          bSmallFormat: s,
          bHideFollowButton: c,
          bAddLinkToMemberList: d,
        } = e,
        [u, m] = Object(r.useState)(
          !Un.a.BHasCreatorHomeLoaded(de.a.InitFromClanID(t.clan_account_id)) ||
            !It.a.Get().BIsLoaded(),
        ),
        [p, _] = Object(r.useState)(
          Un.a.BHasCreatorHomeLoaded(de.a.InitFromClanID(t.clan_account_id)) &&
            t.clan_account_id,
        ),
        [g, b] = Object(r.useState)(null),
        f = Object(Tt.a)("CreatorHomeEmbed");
      if (
        (Object(r.useEffect)(() => {
          if (p != t.clan_account_id || !It.a.Get().BIsLoaded()) {
            m(!0),
              Object(l.a)(
                t.clan_account_id,
                "CreatorHomeEmbed clan account id missing",
              );
            const e = de.a.InitFromClanID(t.clan_account_id);
            Promise.all([Un.a.LoadCreatorHome(e, f), It.a.Get().HintLoad()])
              .then(() => {
                f.token.reason || (m(!1), _(t.clan_account_id));
              })
              .catch((e) => {
                const t = Object(me.a)(e);
                console.error(
                  "CreatorHomeEmbed hit error: " + t.strErrorMsg,
                  t,
                ),
                  f.token.reason || (m(!1), b(t.strErrorMsg));
              });
          }
          return () => f.cancel("CreatorHomeEmbed component unmounted");
        }, [p, t, f]),
        u || p != t.clan_account_id)
      )
        return i.a.createElement(
          "div",
          { className: ta.DevSummaryWidgetCtn },
          i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            size: "medium",
            position: "center",
          }),
        );
      if (g) return i.a.createElement("div", null);
      const v = Un.a.GetCreatorHomeByID(t),
        S = t.type,
        y =
          "developer" == t.type
            ? Object($.f)("#CreatorHome_DevelopedBy")
            : "publisher" == t.type
              ? Object($.f)("#CreatorHome_PublishedBy")
              : Object($.f)("#CreatorHome_InFranchise"),
        E = v.GetCreatorHomeURL(S),
        C = v
          .GetSocialList()
          .map((e) =>
            i.a.createElement(aa, {
              social: e,
              key: "creator_" + v.GetClanAccountID() + "_" + e.external_type,
            }),
          ),
        w = v.GetNumFollowers();
      return i.a.createElement(
        nt.a,
        null,
        i.a.createElement(
          ea.b,
          { feature: "salecreatorhome" },
          i.a.createElement(
            Ct.a,
            {
              className: Object(h.a)(
                ta.DevSummaryCtn,
                s ? ta.SmallFormat : ta.LargeFormat,
              ),
              "flow-children": "row",
            },
            !a && i.a.createElement("span", { className: ta.Title }, y),
            i.a.createElement(
              "div",
              { className: ta.DevSummaryWidgetCtn },
              i.a.createElement("div", {
                className: ta.DevSummaryBackground,
                style: { backgroundImage: `url(${v.GetAvatarURLFullSize()} )` },
              }),
              i.a.createElement(
                "div",
                {
                  className: Object(h.a)(
                    ta.DevSummaryContent,
                    Ne.FlexColumnContainer,
                    Ne.FlexContainSpaceBetween,
                  ),
                },
                i.a.createElement(
                  "div",
                  { className: Ne.FlexRowContainer },
                  i.a.createElement(
                    Hn,
                    {
                      href: Object(Rt.f)(E),
                      className: ta.AvatarLink,
                      bAllowFocuseableAnchor: !0,
                    },
                    i.a.createElement("img", {
                      className: Object(h.a)(ta.Avatar, "Avatar_Trgt"),
                      src: v.GetAvatarURLFullSize(),
                    }),
                  ),
                  i.a.createElement(
                    "div",
                    {
                      className: Object(h.a)(
                        Ne.FlexColumnContainer,
                        ta.CreatorDescCtn,
                      ),
                    },
                    i.a.createElement(
                      "div",
                      {
                        className: Object(h.a)(
                          ta.CreatorTitleCtn,
                          Ne.FlexColumnContainer,
                        ),
                      },
                      i.a.createElement(
                        Hn,
                        {
                          href: Object(Rt.f)(E),
                          className: ta.CreatorNameName,
                        },
                        v.GetName(),
                      ),
                      Boolean(n) &&
                        i.a.createElement(
                          "div",
                          {
                            className: Object(h.a)(
                              Ne.FlexColumnContainer,
                              ta.CreatorTagline,
                            ),
                          },
                          v.GetTagLine(),
                        ),
                    ),
                    i.a.createElement(
                      "div",
                      {
                        className: Object(h.a)(
                          s ? Ne.FlexColumnContainer : Ne.FlexRowContainer,
                          ta.SocialFollowersCtn,
                        ),
                      },
                      i.a.createElement(
                        "div",
                        { className: ta.FollowBtnCtn },
                        Boolean(!c) &&
                          i.a.createElement(Mt.b, {
                            clanAccountID: t.clan_account_id,
                            creatorID: t,
                          }),
                        i.a.createElement(
                          "div",
                          { className: ta.Followers },
                          i.a.createElement("span", null, Object(Vn.a)(w)),
                          i.a.createElement("br", null),
                          Object($.f)("#CreatorHome_JustFollowers"),
                        ),
                      ),
                      Boolean(C.length > 0) &&
                        i.a.createElement(
                          "div",
                          {
                            className: Object(h.a)(
                              ta.SocialContainer,
                              Ne.FlexColumnContainer,
                            ),
                          },
                          C,
                        ),
                    ),
                  ),
                ),
                Boolean(d) &&
                  i.a.createElement(
                    "a",
                    {
                      href:
                        o.c.COMMUNITY_BASE_URL +
                        "gid/" +
                        v.GetClanSteamID().ConvertTo64BitString() +
                        "/members/",
                      target: "_blank",
                      className: ta.MembersListLink,
                    },
                    Object($.f)("#ClanMembershipList"),
                  ),
              ),
            ),
          ),
        ),
      );
    }
    function aa(e) {
      const { social: t } = e;
      let n = "";
      switch (t.external_type) {
        case 3:
        case 7:
          n = Kn.a;
          break;
        case 5:
          n = Yn.a;
          break;
        case 4:
          n = Jn.a;
          break;
        case 6:
          n = $n.a;
      }
      const a = (o.c.IN_CLIENT ? "steam://openurl/" : "") + t.external_url;
      return i.a.createElement(
        xn.c,
        {
          href: a,
          target: o.c.IN_CLIENT ? void 0 : "_blank",
          "data-tooltip-text": t.external_user_name
            ? t.external_user_name
            : t.external_url,
          className: Object(h.a)(ta.SocialLink),
        },
        i.a.createElement("img", {
          className: Object(h.a)(ta.SocialImg),
          src: n,
        }),
        i.a.createElement("div", null, Object(Vn.a)(t.external_follows)),
      );
    }
    function ra(e) {
      const { clanInfo: t, bAddLinkToMemberList: n } = e;
      if (
        (Object(l.a)(
          t && t.clanAccountID,
          "CuratorHoverContent expect clanInfo, not supplied",
        ),
        !t)
      )
        return null;
      const a = {
        clan_account_id: t.clanAccountID,
        name: t.group_name,
        type: "developer",
      };
      return i.a.createElement(
        "div",
        { className: ta.CuratorHoverCtn },
        i.a.createElement(na, {
          creatorID: a,
          bSmallFormat: !0,
          bShowTagline: !0,
          bHideCreatorType: !0,
          bAddLinkToMemberList: !0,
        }),
      );
    }
    var ia = n("0WkO"),
      sa = n.n(ia),
      oa = n("v85R"),
      la = n("lAoA"),
      ca = n.n(la);
    let da = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { bLoading: !1, eventModel: this.props.eventModel }),
          (this.m_refParent = r.createRef()),
          (this.m_cancelSignal = F.a.CancelToken.source());
      }
      componentDidMount() {
        this.state.eventModel ||
          this.setState({ bLoading: !0 }, this.LoadEvent);
        let e = this.GetBodyElement();
        e && this.props.bPrimaryPageFeature && e.classList.add(oa.BodyNoScroll);
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("EventInfiniteScrollModal unmounting");
        let e = this.GetBodyElement();
        e &&
          this.props.bPrimaryPageFeature &&
          e.classList.remove(oa.BodyNoScroll);
      }
      GetBodyElement() {
        return this.m_refParent.current
          ? this.m_refParent.current.closest("body")
          : null;
      }
      LoadEvent() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const {
            appid: e,
            clanSteamID: t,
            announcementGID: n,
            partnerEventStore: a,
            additionalParams: r,
          } = this.props;
          a.LoadAdjacentPartnerEventsByAnnouncement(
            n,
            t,
            e,
            0,
            3,
            r,
            this.m_cancelSignal,
          )
            .then((e) => {
              e.length > 0
                ? this.setState(
                    { bLoading: !1, eventModel: e[0] },
                    this.HandleReadEvent,
                  )
                : (this.props.onEventNotFound && this.props.onEventNotFound(),
                  this.setState({ bLoading: !1 }));
            })
            .catch((e) => {
              let t = Object(me.a)(e);
              console.error(
                "EventInfiniteScrollModal failed " + t.strErrorMsg,
                t,
              ),
                this.setState({ bLoading: !1 });
            });
        });
      }
      HandleReadEvent() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const { eventModel: e } = this.state,
            { trackingLocation: t } = this.props;
          e &&
            e.BIsPartnerEvent() &&
            Ot.a
              .Get()
              .GetTracker()
              .MarkEventRead(e.GID, e.clanSteamID.GetAccountID(), t) &&
            Ot.a.Get().GetTracker().Flush();
        });
      }
      render() {
        const { bLoading: e, eventModel: t } = this.state;
        if (e)
          return r.createElement(
            xe.k,
            null,
            r.createElement(
              "div",
              { className: ca.a.FlexCenter, style: { height: "400px" } },
              r.createElement(ee.a, null),
            ),
          );
        const {
            closeModal: n,
            appid: a,
            clanSteamID: i,
            className: s,
            partnerEventStore: l,
            showAppHeader: c,
            bPrimaryPageFeature: d,
            additionalParams: u,
            eventClassName: m,
          } = this.props,
          p = o.c.IN_GAMEPADUI,
          h = r.createElement(
            "div",
            null,
            r.createElement(d_, {
              initialEvent: t,
              appid: a,
              clanSteamID: i,
              partnerEventStore: l,
              emoticonStore: ue.b,
              closeModal: !d && n,
              showAppHeader: c,
              bShowOnlyInitialEvent: p,
              additionalParams: u,
              eventClassName: m,
            }),
          );
        return d
          ? h
          : r.createElement(
              xe.k,
              { className: s },
              r.createElement(
                xe.d,
                { navID: "WebRowEventInfiniteScroll", closeModal: n },
                h,
              ),
            );
      }
    };
    da = Object(a.b)([m.a], da);
    const ua = (e) =>
        i.a.createElement(
          xe.i,
          { onEscKeypress: e.closeModal },
          i.a.createElement(
            nt.a,
            null,
            i.a.createElement(
              te.g,
              null,
              i.a.createElement(
                te.y,
                null,
                Object($.f)("#EventCurator_BrowseDialog_Title"),
              ),
              i.a.createElement(
                te.c,
                null,
                i.a.createElement(
                  "div",
                  null,
                  Object($.f)("#EventCurator_BrowseDialog_Desc"),
                ),
                i.a.createElement(pa, null),
              ),
              i.a.createElement(
                te.p,
                null,
                i.a.createElement(
                  te.F,
                  { onClick: e.closeModal },
                  Object($.f)("#Button_Dismiss"),
                ),
              ),
            ),
          ),
        ),
      ma = (e) =>
        i.a.createElement(
          gi,
          {
            title: Object($.f)("#EventCurator_BrowseDialog_Title"),
            description: Object($.f)("#EventCurator_BrowseDialog_Desc"),
          },
          i.a.createElement(pa, null),
        ),
      pa = (e) => {
        const [t, n] = i.a.useState(kn.Get().IsLoaded());
        i.a.useEffect(() => {
          if (!t) {
            (() =>
              Object(a.a)(void 0, void 0, void 0, function* () {
                yield kn.Get().WaitForInitialLoad(), n(!0);
              }))();
          }
        }, [t]);
        let r = new Array();
        if (t) {
          $.e
            .GetELanguageFallbackOrder([c.ESteamRealm.k_ESteamRealmGlobal])
            .forEach((e) =>
              r.push(i.a.createElement(ha, { key: "curlang" + e, lang: e })),
            );
        }
        return i.a.createElement(
          i.a.Fragment,
          null,
          t
            ? i.a.createElement(i.a.Fragment, null, r)
            : i.a.createElement(ee.a, {
                size: "medium",
                position: "center",
                string: Object($.f)("#Loading"),
              }),
        );
      },
      ha = (e) => {
        const t = kn.Get().GetCuratorsForLang(e.lang);
        if (!t) return null;
        const n = t
          .map((e) => wt.a.GetClanInfoByClanAccountID(e.clanAccountID))
          .filter((e) => Boolean(e));
        if (0 == n.length) return null;
        n.sort((e, t) => e.group_name.localeCompare(t.group_name));
        const a = n.map((e) =>
          i.a.createElement(ga, {
            clanInfo: e,
            key: "curatorbrowse_" + e.clanAccountID,
            layout: "row",
          }),
        );
        return i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            { className: sa.a.LanguageHeader },
            Object($.f)(
              "#EventCurator_BrowseDialog_LangCurator",
              Object($.f)("#Language_" + Object(le.d)(e.lang)),
            ),
          ),
          a,
        );
      },
      _a = Object(m.a)((e) => {
        const t = wt.a.GetClanInfoByClanAccountID(e.clanid);
        if (!t) return i.a.createElement("div", null, e.children);
        const n = {
            clan_account_id: t.clanAccountID,
            name: t.group_name,
            type: "developer",
          },
          a = i.a.createElement(
            "div",
            { className: sa.a.CuratorHoverContainer },
            i.a.createElement(na, {
              creatorID: n,
              bSmallFormat: !0,
              bHideCreatorType: !0,
              bHideFollowButton: !0,
            }),
          );
        return i.a.createElement(
          Qe.a,
          { toolTipContent: a, strTooltipClassname: sa.a.CuratorHoverToolTip },
          e.children,
        );
      }),
      ga = (e) => {
        const [t, n] = i.a.useState(!1),
          a = () => {
            Object(ze.d)(
              i.a.createElement(xe.g, {
                strDescription: Object($.f)("#EventCurator_NoEventsFound_Body"),
                strTitle: Object($.f)("#EventCurator_NoEventsFound_Title"),
              }),
              window,
            ),
              n(!1);
          },
          { clanInfo: r, layout: s } = e,
          o = "row" === s ? sa.a.CuratorInfoRow : sa.a.CuratorInfoIcon,
          l = i.a.createElement(
            _a,
            { clanid: r.clanSteamID.GetAccountID() },
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  Fe.a.FlexRowContainer,
                  sa.a.CuratorInfoTitleCtn,
                ),
                onClick: () => n(!0),
              },
              i.a.createElement("img", {
                className: sa.a.CuratorInfoImg,
                src: r.avatar_full_url,
                alt: r.group_name,
              }),
              i.a.createElement(
                "div",
                { className: sa.a.CuratorInfoName },
                r.group_name,
              ),
            ),
          );
        return i.a.createElement(
          "div",
          { className: Object(h.a)(Fe.a.FlexRowWrapSpaceBetweenContainer, o) },
          t
            ? i.a.createElement(
                nt.a,
                null,
                i.a.createElement(da, {
                  onEventNotFound: a,
                  appid: 0,
                  clanSteamID: e.clanInfo.clanSteamID,
                  trackingLocation: 8,
                  eventModel: void 0,
                  announcementGID: void 0,
                  partnerEventStore: St.b,
                  showAppHeader: !0,
                  closeModal: () => n(!1),
                }),
              )
            : null,
          i.a.createElement("div", { onClick: () => n(!0) }, l),
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                Fe.a.FlexRowContainer,
                sa.a.CuratorInfoActionCtn,
              ),
            },
            i.a.createElement(Mt.b, {
              clanAccountID: r.clanAccountID,
              className: sa.a.CuratorInfoFollow,
            }),
          ),
        );
      };
    var ba = n("Gp1o"),
      fa = n("Ty5D"),
      va = n("v2zI"),
      Sa = (n("RYKw"), n("PVYc")),
      ya = n("jejQ"),
      Ea = n.n(ya);
    let Ca = class extends r.Component {
      OnMuteButton(e) {
        const { calendarEvent: t } = this.props;
        let n = t.GetEntityName();
        Object(ze.d)(
          r.createElement(
            xe.e,
            {
              strTitle: Object($.f)("#EventCalendar_MuteApp_Title", n),
              strDescription: Object($.f)("#EventCalendar_MuteApp_details", n),
              onOK: () =>
                Object(Tn.b)().UpdateEventBlockFromCalendarEvent(t, !1),
            },
            r.createElement(
              "a",
              {
                href: o.c.STORE_BASE_URL + "account/emailoptout/app",
                target: o.c.IN_CLIENT ? void 0 : "_blank",
              },
              Object($.f)("#EventCalendar_ManageMutedSources"),
            ),
          ),
          Object(v.o)(e),
        );
      }
      OnUnMuteButton() {
        const { calendarEvent: e } = this.props;
        Object(Tn.b)().UpdateEventBlockFromCalendarEvent(e, !0);
      }
      HideAllEventsOfMyType() {
        const { eventModel: e } = this.props,
          t = this.GetVisibilityStore().MapClanEventTypeToGroup(
            e.GetEventType(),
          );
        this.GetVisibilityStore().SetEventTypeGroupAllowed(t, !1);
      }
      GetVisibilityStore() {
        return Object(Tn.b)().m_visibilityStore;
      }
      AddContextMenuForSource(e, t, n, a = !0) {
        this.GetVisibilityStore().BIsGameSourceAllowed(t) &&
          (a &&
            e.push(
              r.createElement(
                qe.d,
                {
                  key: `item-source-${n}-${t}`,
                  disabled: !0,
                  onSelected: () => {},
                },
                Object($.f)("#EventCalender_Reason_" + t),
              ),
            ),
          e.push(
            r.createElement(
              qe.d,
              {
                key: `item-hidesource-${n}-${t}`,
                onSelected: () => {
                  this.GetVisibilityStore().SetGameSourceAllowed(t, !1);
                },
              },
              Object($.f)("#EventCalender_Hide_Reason_" + t),
            ),
          ));
      }
      GotoGameOrClanHub() {
        const { eventModel: e } = this.props,
          t = Object(kt.d)(e, kt.a.k_eStoreNewsHub, "allowRelative");
        t.startsWith("http")
          ? (window.location.href = t)
          : this.props.history.push(t);
      }
      ToggleFollowCurator() {
        Object(Mt.c)(this.props.eventModel.clanSteamID.GetAccountID());
      }
      CreateContextMenu(e) {
        const { eventModel: t, calendarEvent: n } = this.props;
        let a = [];
        const i = n.GetSource(),
          s = n.unique_id,
          l = o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina,
          d = Object(Tn.b)();
        if (
          (d.BIsGlobalCalendar() &&
            (i &&
              i & va.a.k_eLibrary &&
              (this.GetVisibilityStore().BIsGameSourceAllowed(Rn.c.k_ERecent) &&
              n.appInfo
                ? (a.push(
                    r.createElement(
                      qe.d,
                      {
                        key: `item-source-${s}-lastplayed`,
                        disabled: !0,
                        onSelected: () => {},
                      },
                      Object($.f)(
                        "#EventCalender_LastPlayed",
                        Object($.r)(
                          Bt.b.GetTimeNowWithOverride() - n.appInfo.last_played,
                        ),
                      ),
                    ),
                  ),
                  this.AddContextMenuForSource(a, Rn.c.k_ERecent, s, !1))
                : this.AddContextMenuForSource(a, Rn.c.k_ELibrary, s)),
            i &&
              i & va.a.k_eWishlist &&
              this.AddContextMenuForSource(a, Rn.c.k_EWishlist, s),
            i &&
              i & va.a.k_eFollowing &&
              this.AddContextMenuForSource(a, Rn.c.k_EFollowing, s),
            !l &&
              i &&
              i & va.a.k_eCurator &&
              this.AddContextMenuForSource(a, Rn.c.k_ECurator, s),
            i &&
              i & va.a.k_eRecommended &&
              this.AddContextMenuForSource(a, Rn.c.k_ERecommended, s),
            i &&
              i & va.a.k_eSteam &&
              this.AddContextMenuForSource(a, Rn.c.k_ESteam, s),
            i &&
              i & va.a.k_eFeatured &&
              this.AddContextMenuForSource(a, Rn.c.k_EFeatured, s)),
          a.push(
            r.createElement(
              qe.d,
              {
                key: t.GID + "hidetype",
                onSelected: this.HideAllEventsOfMyType,
              },
              Object($.f)(
                "#EVentCalendar_Hide_EventType",
                Object($.f)(
                  "#EventCalendar_EventTypeGroup_" +
                    this.GetVisibilityStore().MapClanEventTypeToGroup(
                      t.GetEventType(),
                    ),
                ),
              ),
            ),
          ),
          o.j.logged_in &&
            (An.a.Get().BIsEventBlocked(n)
              ? a.push(
                  r.createElement(
                    qe.d,
                    {
                      key: t.GID + "unmuteapp",
                      onSelected: this.OnUnMuteButton,
                    },
                    r.createElement(
                      Qe.a,
                      {
                        toolTipContent: Object($.f)(
                          "#EventCalendar_UnMuteApp_ttip",
                        ),
                      },
                      Object($.f)(
                        "#EventCalendar_UnMuteApp_Title",
                        this.props.calendarEvent.GetEntityName(),
                      ),
                    ),
                  ),
                )
              : a.push(
                  r.createElement(
                    qe.d,
                    { key: t.GID + "muteapp", onSelected: this.OnMuteButton },
                    r.createElement(
                      Qe.a,
                      {
                        toolTipContent: Object($.f)(
                          "#EventCalendar_MuteApp_ttip",
                        ),
                      },
                      Object($.f)(
                        "#EventCalendar_MuteApp_Title",
                        this.props.calendarEvent.GetEntityName(),
                      ),
                    ),
                  ),
                )),
          !t.BIsOGGEvent() && !l)
        ) {
          const e = It.a.Get().BIsFollowingCurator(t.clanSteamID);
          a.push(
            r.createElement(
              qe.d,
              {
                key: t.GID + "followcurator",
                onSelected: this.ToggleFollowCurator,
              },
              r.createElement(
                Qe.a,
                {
                  toolTipContent: Object($.f)(
                    e
                      ? "#EventCalendar_UnFollowCurator_ttip"
                      : "#EventCalendar_FollowCurator_ttip",
                  ),
                },
                Object($.f)(
                  e
                    ? "#EventCalendar_UnFollowCurator"
                    : "#EventCalendar_FollowCurator",
                  this.props.calendarEvent.GetEntityName(),
                ),
              ),
            ),
          );
        }
        d.BIsSingleSourceCalendar() ||
          a.push(
            r.createElement(
              qe.d,
              { key: t.GID + "goto", onSelected: this.GotoGameOrClanHub },
              Object($.f)(
                "#EventCalendar_Goto_SpecificCalendar",
                n.GetEntityName(),
              ),
            ),
          ),
          t.appid &&
            a.push(
              r.createElement(
                qe.d,
                {
                  key: t.GID + "goto",
                  onSelected: () =>
                    (window.location.href = Object(Rt.f)(
                      o.c.STORE_BASE_URL + "app/" + t.appid,
                    )),
                },
                Object($.f)("#EventDisplay_ViewStorePage"),
              ),
            ),
          Object(_e.a)(r.createElement(qe.c, null, a), e);
      }
      render() {
        return r.createElement(
          "div",
          {
            className: Object(h.a)(Ea.a.FooterStat, Ea.a.Options),
            onClick: this.CreateContextMenu,
          },
          r.createElement(H.P, null),
        );
      }
    };
    Object(a.b)([u.b], Ca.prototype, "OnMuteButton", null),
      Object(a.b)([u.b], Ca.prototype, "OnUnMuteButton", null),
      Object(a.b)([u.b], Ca.prototype, "HideAllEventsOfMyType", null),
      Object(a.b)([u.b], Ca.prototype, "AddContextMenuForSource", null),
      Object(a.b)([u.b], Ca.prototype, "GotoGameOrClanHub", null),
      Object(a.b)([u.b], Ca.prototype, "ToggleFollowCurator", null),
      Object(a.b)([u.b], Ca.prototype, "CreateContextMenu", null),
      (Ca = Object(a.b)([m.a], Ca));
    var wa = Object(fa.k)(Ca);
    class Ba {
      constructor() {
        (this.m_bHasBeenTracked = !1), (this.m_fnSubmit = null);
      }
    }
    const Oa = new (class {
        constructor() {
          (this.m_nImpressionDelayMS = 500), (this.m_mapEvents = new Map());
        }
        ShouldTrack(e) {
          if (e.bOldAnnouncement) return !1;
          const t = this.m_mapEvents.get(e.GID);
          return !t || !t.m_bHasBeenTracked;
        }
        StartTracking(e, t) {
          if (e.bOldAnnouncement) return;
          let n = this.m_mapEvents.get(e.GID);
          n || ((n = new Ba()), this.m_mapEvents.set(e.GID, n)),
            n.m_bHasBeenTracked ||
              n.m_fnSubmit ||
              ((n.m_fnSubmit = new g.b()),
              n.m_fnSubmit.Schedule(
                this.m_nImpressionDelayMS,
                this.ReportImpression.bind(this, e, t),
              ));
        }
        StopTracking(e) {
          const t = this.m_mapEvents.get(e.GID);
          t && t.m_fnSubmit && (t.m_fnSubmit.Cancel(), (t.m_fnSubmit = null));
        }
        ReportImpression(e, t) {
          Ot.a.Get().RecordEventShown(e, 8),
            t && Sa.b.RecordViewedEvent(Object(Tn.b)(), e.GID);
          const n = this.m_mapEvents.get(e.GID);
          n &&
            ((n.m_bHasBeenTracked = !0),
            n.m_fnSubmit.Cancel(),
            (n.m_fnSubmit = null));
        }
      })(),
      Da = (e) => {
        const { event: t } = e;
        if (Oa.ShouldTrack(t)) {
          const n = () => Oa.StartTracking(t, e.recordNewsHubStats || !1),
            a = () => Oa.StopTracking(t);
          return r.createElement(Et.a, { onEnter: n, onLeave: a });
        }
        return null;
      };
    var Ia,
      Ta = n("ulcR"),
      Ra = n("RtrP"),
      ja = n("ztQu"),
      Aa = n("Dr0G"),
      ka = n("Mx8f");
    !(function (e) {
      (e[(e.NotLoaded = 0)] = "NotLoaded"),
        (e[(e.Loading = 1)] = "Loading"),
        (e[(e.Loaded = 2)] = "Loaded");
    })(Ia || (Ia = {}));
    let Ma = Ia.NotLoaded,
      Pa = [];
    function La(e) {
      if (Ma == Ia.Loaded) return void e();
      if (Ma == Ia.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 = Ga);
      }
      Pa.findIndex((t) => e == t) < 0 && Pa.push(e);
    }
    function Ga() {
      Ma = Ia.Loaded;
      for (let e of Pa) e();
      Pa = [];
    }
    class Na extends r.Component {
      constructor(e) {
        super(e),
          (this.m_strPlayerID = ""),
          (this.m_player = null),
          (this.m_playerContainer = null),
          (this.m_bPlayerReady = !1),
          (this.m_strPlayerID = "YoutubePlayer_" + Na.s_nPlayerIndex++),
          (this.state = { bYoutubeLoaded: !1 });
      }
      componentWillUnmount() {
        var e;
        this.DestroyPlayer(), (e = this.OnYoutubeScriptsReady), ka.b(Pa, e);
      }
      shouldComponentUpdate(e, t) {
        if (!this.m_player) return !1;
        const n = this.props;
        return n.autoplay != e.autoplay ||
          n.controls != e.controls ||
          n.showInfo != e.showInfo ||
          n.video != e.video
          ? (this.CreatePlayer(e), !1)
          : ((n.width == e.width && n.height == e.height) ||
              (this.m_bPlayerReady &&
                e.width &&
                e.height &&
                this.m_player.setSize(e.width, e.height)),
            n.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 && La(this.OnYoutubeScriptsReady));
      }
      OnYoutubeScriptsReady() {
        this.CreatePlayer(this.props);
      }
      CreatePlayer(e) {
        if ((this.DestroyPlayer(), !this.m_playerContainer)) return;
        const t = !1 === e.autoplay ? 0 : 1,
          n = !0 === e.showInfo ? 1 : 0,
          a = !0 === e.controls ? 1 : 0,
          r = !0 === e.showFullscreenBtn ? 1 : 0,
          i = !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: n,
              autohide: 1,
              fs: r,
              modestbranding: 1,
              rel: 0,
              playsinline: i,
              iv_load_policy: 3,
              controls: a,
              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 = r.createElement(
          "div",
          {
            key: this.m_strPlayerID,
            ref: this.BindPlayerContainer,
            className: Object(h.a)("YoutubePlayer", this.props.classnames),
          },
          r.createElement(ee.a, { className: "YoutubePlayerThrobber" }),
        );
        return this.props.autopause
          ? r.createElement(Et.a, { onLeave: this.OnPlayerLeftView }, e)
          : e;
      }
    }
    (Na.s_nPlayerIndex = 0),
      Object(a.b)([u.b], Na.prototype, "BindPlayerContainer", null),
      Object(a.b)([u.b], Na.prototype, "OnYoutubeScriptsReady", null),
      Object(a.b)([u.b], Na.prototype, "CreatePlayer", null),
      Object(a.b)([u.b], Na.prototype, "OnPlayerReady", null),
      Object(a.b)([u.b], Na.prototype, "OnPlayerStateChange", null),
      Object(a.b)([u.b], Na.prototype, "OnError", null),
      Object(a.b)([u.b], Na.prototype, "OnPlayerLeftView", null),
      Object(a.b)([u.b], Na.prototype, "PlayVideo", null);
    var Fa = n("YbCq"),
      xa = n.n(Fa);
    const za = (e) => {
        const t = ["maxresdefault", "mqdefault", "default"],
          [n, a] = r.useState(0);
        r.useEffect(() => a(0), [e.video]);
        const i = r.useRef();
        if (e.altImgWithFallback && e.altImgWithFallback.length > 0)
          return r.createElement(Aa.b, {
            className: e.className,
            srcs: e.altImgWithFallback,
          });
        if (e.altImg)
          return r.createElement("img", {
            src: e.altImg,
            className: e.className,
          });
        {
          const s =
              "https://img.youtube.com/vi/" + e.video + "/" + t[n] + ".jpg",
            o = () => {
              n + 1 < t.length && a(n + 1);
            },
            l = () => {
              i.current && i.current.naturalHeight < 91 && o();
            };
          return r.createElement("img", {
            ref: i,
            onLoad: l,
            onError: o,
            src: s,
            className: Object(h.a)(xa.a.YoutubePreviewImage, e.className),
          });
        }
      },
      Ua = (e) => {
        const [t, n] = r.useState(!1);
        if (
          (r.useEffect(() => {
            e.preloadYoutubeScripts && La(() => {});
          }, [e.preloadYoutubeScripts]),
          t)
        )
          return r.createElement(
            Na,
            Object.assign({}, e, {
              classnames: Object(h.a)(xa.a.YoutubePlayer, e.classnames),
            }),
          );
        {
          const t = (t) => {
            e.onPlayerActivated && e.onPlayerActivated(),
              n(!0),
              t.stopPropagation(),
              t.preventDefault();
          };
          return r.createElement(
            "div",
            {
              className: Object(h.a)(
                "YoutubePreviewContainer",
                xa.a.YoutubePreviewImage,
                e.imageClassnames,
              ),
              onClick: t,
            },
            r.createElement(za, {
              className: "YoutubePreviewImage",
              altImgWithFallback: e.altImgWithFallback,
              altImg: e.altImg,
              video: e.video,
            }),
            r.createElement(
              "div",
              { className: "YoutubePreviewPlay" },
              r.createElement(H.ub, null),
            ),
            r.createElement(
              "div",
              { className: "VideoHintText" },
              Object($.f)("#EventCalendar_WatchYouTubeVideo"),
            ),
          );
        }
      };
    var Wa = n("U7vI");
    let Ha = class extends r.Component {
      constructor() {
        super(...arguments), (this.state = { bVideoPlayerReady: !1 });
      }
      OnFallbackClick(e) {
        Sa.b.RecordAppInteractionEvent(
          this.props.calendarEvent.appid,
          Sa.a.k_eClickThrough,
        ),
          this.props.fnOnClicked(this.props.eventModel),
          e.stopPropagation(),
          e.preventDefault();
      }
      componentDidMount() {
        if (this.props.calendarEvent.clanInfo) {
          let e = de.a.InitFromClanID(this.props.calendarEvent.clanInfo.clanid);
          wt.a.LoadClanInfoForClanSteamID(e);
        }
      }
      getVideoPreviewControl() {
        const { video_preview_type: e, video_preview_id: t } =
          this.props.eventModel;
        if (!t) return null;
        if (12 === this.props.eventModel.type) return null;
        if ("youtube" === e) {
          const e = Object(le.g)(o.c.LANGUAGE),
            n =
              Object(ja.a)() && 14 == this.props.eventModel.GetEventType()
                ? be.c.full
                : be.c.capsule_main,
            a = this.props.eventModel.GetImageForSizeAsArrayWithFallback(
              "capsule",
              e,
              n,
              !0,
            );
          if ("carousel" === this.props.mode)
            return r.createElement(za, {
              altImgWithFallback: a,
              video: t,
              className: Ea.a.YoutubePreviewImage,
            });
          const i = () => {
            Sa.b.RecordAppInteractionEvent(
              this.props.calendarEvent.appid,
              Sa.a.k_ePlayedVideo,
            ),
              this.setState({ bVideoPlayerReady: !0 });
          };
          return r.createElement(Ua, {
            video: t,
            altImgWithFallback: a,
            autoplay: !0,
            autopause: !0,
            showFullscreenBtn: !0,
            controls: !0,
            imageClassnames: Ea.a.YoutubePreviewImage,
            onPlayerActivated: i,
            preloadYoutubeScripts: !0,
            playsInline: !0,
          });
        }
        return null;
      }
      BIsSubTitleRedundant(e, t) {
        const n = (e) => e.replace(/\W+/g, "").toLocaleLowerCase(),
          a = n(e);
        return n(t).startsWith(a);
      }
      render() {
        const {
            eventModel: e,
            calendarEvent: t,
            bSuppressHoverEffects: n,
            mode: a,
          } = this.props,
          i = Ot.a.Get(),
          s = t.GetGameCapsule(),
          l = Object(le.g)(o.c.LANGUAGE),
          c = e.has_live_stream,
          d = e.has_live_stream,
          u =
            Object(ja.a)() && 14 == e.GetEventType()
              ? be.c.full
              : be.c.capsule_main,
          m = "capsule",
          p = e.BImageNeedScreenshotFallback(m, l),
          _ = Boolean(p && e.appid)
            ? e.GetFallbackArtworkScreenshot()
            : e.GetImageURLWithFallback(m, l, u),
          g = "upcoming" !== a && this.getVideoPreviewControl(),
          b = !g && "upcoming" !== a,
          f = e.GetCategoryAsString(),
          v = Ea.a[`EventType${e.GetEventType()}`],
          S = e.GetAllTags().map((e) => Ea.a[`Tag-${e}`]),
          y = Object(h.a)(
            Ea.a.TileContainer,
            v,
            c && Ea.a.TileVideoIcon,
            n ? Ea.a.DisableHovers : Ea.a.EnableHovers,
            this.state.bVideoPlayerReady && Ea.a.VideoPlayerReady,
            g && Ea.a.HasVideo,
            i.HasEventBeenRead(e.GID) && Ea.a.HasBeenRead,
            "wide" === a && Ea.a.WideMode,
            "carousel" === a && Ea.a.CarouselMode,
            "upcoming" === a && Ea.a.UpcomingMode,
            ...S,
          ),
          E = e.GetNameWithFallback(l);
        let C = e.GetSubTitleWithLanguageFallback(l),
          w = e.GetSummaryWithFallback(l);
        C === w && (w = void 0), C === E && (C = void 0);
        const B = Object(ce.p)(_),
          O = r.createElement(
            "div",
            { className: Ea.a.CoverImageCtn },
            g,
            b &&
              r.createElement(
                r.Fragment,
                null,
                12 === e.type &&
                  r.createElement(
                    r.Fragment,
                    null,
                    r.createElement(
                      "div",
                      { className: Ea.a.GameCapsuleCtn },
                      r.createElement("div", {
                        className: Ea.a.AppBannerLogo,
                        style: { backgroundImage: `url(${s})` },
                      }),
                    ),
                    r.createElement(
                      "div",
                      { className: Ea.a.GameShortDescription },
                      w,
                    ),
                  ),
                12 !== e.type &&
                  r.createElement(
                    "div",
                    {
                      className: Object(h.a)(
                        Ea.a.EventCapsuleCtn,
                        c && Ea.a.LiveBroadcastPreview,
                      ),
                    },
                    r.createElement("div", {
                      className: Object(h.a)(
                        Ea.a.TileImage,
                        p && Ea.a.FallbackImage,
                      ),
                      style: { backgroundImage: `url(${B})` },
                    }),
                    c &&
                      r.createElement("div", {
                        className: Ea.a.TileCoverImagePlayable,
                      }),
                    d &&
                      r.createElement(
                        "div",
                        { className: Ea.a.TileCoverLiveIcon },
                        Object($.f)("#home_page_live_broadcast"),
                      ),
                    c &&
                      r.createElement(
                        "div",
                        { className: "VideoHintText" },
                        Object($.f)("#EventCalendar_WatchLiveBroadcast"),
                      ),
                  ),
              ),
          ),
          D = g && "carousel" !== a,
          I = n && 14 != e.GetEventType() && !D,
          T = I && O,
          R = !I && O,
          j = "wide" !== a || n,
          A =
            28 !== e.type &&
            12 !== e.type &&
            Bt.b.GetTimeNowWithOverride() <
              e.GetStartTimeAndDateUnixSeconds() &&
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  Ea.a.ReminderContainer,
                  j && Ea.a.OnlyIcon,
                ),
              },
              r.createElement(Ta.b, {
                eventModel: e,
                lang: l,
                bShowStartTime: !0,
                bOnlyShowIcon: j,
                bExpandLeft: j,
              }),
            ),
          k = Boolean(12 !== e.type && w),
          M = Boolean(C && (!k || !this.BIsSubTitleRedundant(C, w)));
        return r.createElement(
          "div",
          { className: y },
          r.createElement(Da, { event: e, recordNewsHubStats: !0 }),
          r.createElement(
            kt.c,
            { eventModel: e, route: kt.a.k_eView },
            r.createElement(
              "div",
              { className: Ea.a.Tile, onClick: this.OnFallbackClick },
              14 === e.type &&
                r.createElement("div", {
                  className: Object(h.a)(
                    Ea.a.TileBackgroundImage,
                    p && Ea.a.FallbackImage,
                  ),
                  style: { backgroundImage: `url(${B})` },
                }),
              r.createElement(
                "div",
                { className: Ea.a.MainContentContainer },
                r.createElement(
                  "div",
                  { className: Ea.a.TileTextContainer },
                  r.createElement(
                    "div",
                    { className: Ea.a.PatchIconCtn },
                    r.createElement(H.T, null),
                  ),
                  r.createElement(
                    "div",
                    { className: Ea.a.EventTitleCtn },
                    T,
                    !this.props.bHideGameTitle &&
                      r.createElement(
                        "div",
                        { className: Ea.a.GameSource },
                        r.createElement(qa, Object.assign({}, this.props)),
                        t && r.createElement(Qa, { calendarEvent: t }),
                      ),
                    r.createElement("div", { className: Ea.a.EventName }, E),
                    r.createElement(
                      "div",
                      { className: Ea.a.EventTypeAndDateCtn },
                      r.createElement(
                        "div",
                        {
                          className: Object(h.a)(Ea.a.TileTextCategoryType, v),
                        },
                        f,
                      ),
                      r.createElement(Ka, {
                        eventModel: e,
                        className: Object(h.a)(j && Ea.a.LeaveRoomForReminder),
                      }),
                      j && A,
                    ),
                    M &&
                      r.createElement(
                        "div",
                        { className: Ea.a.EventSubTitle },
                        C,
                      ),
                    k &&
                      r.createElement(
                        "div",
                        {
                          className: Object(h.a)(
                            Ea.a.EventSummaryDefault,
                            C ? Ea.a.SubTitleShown : "",
                          ),
                        },
                        w,
                      ),
                  ),
                  !j && A,
                ),
                R,
              ),
            ),
          ),
          r.createElement(Za, Object.assign({}, this.props)),
        );
      }
    };
    Object(a.b)([u.b], Ha.prototype, "OnFallbackClick", null),
      (Ha = Object(a.b)([m.a], Ha));
    let Va = class extends r.Component {
      OnTitleClick(e) {
        const { eventModel: t } = this.props,
          n = Object(kt.d)(t, kt.a.k_eStoreNewsHub, "allowRelative");
        n.startsWith("http")
          ? (window.location.href = n)
          : this.props.history.push(n),
          e.stopPropagation(),
          e.preventDefault();
      }
      render() {
        const {
            eventModel: e,
            calendarEvent: t,
            bSuppressHoverEffects: n,
          } = this.props,
          a = t.GetEntityName(),
          i = t.GetGameIcon(),
          s = Object(h.a)(
            Ea.a.GameTitleContainer,
            n ? Ea.a.DisableHovers : Ea.a.EnableHovers,
          );
        return r.createElement(
          nt.a,
          null,
          r.createElement(
            "div",
            { className: Ea.a.TileTextHeader },
            r.createElement(
              "div",
              { className: s, onClick: this.OnTitleClick },
              r.createElement("img", { className: Ea.a.AppIcon, src: i }),
              r.createElement(
                "div",
                { className: Ea.a.TileTextAppName },
                a,
                " ",
              ),
            ),
          ),
        );
      }
    };
    Object(a.b)([u.b], Va.prototype, "OnTitleClick", null),
      (Va = Object(a.b)([m.a], Va));
    const qa = Object(fa.k)(Va),
      Ka = Object(m.a)((e) => {
        const { eventModel: t, calendarEvent: n, className: a } = e,
          i = Object(Tn.b)().GetStoreInitializationTimestamp().getTime() / 1e3,
          s = t ? t.GetStartTimeAndDateUnixSeconds() : n.start_time,
          o = t && Object(Wa.a)(t.type) && t.GetEndTimeAndDateUnixSeconds();
        if (o && s < i && i < o) {
          const e = o - i,
            t = Object($.r)(e, !0);
          return r.createElement(
            "div",
            { className: Object(h.a)(Ea.a.LiveText, a) },
            r.createElement(
              Ra.h,
              { rtFullDate: s, stylesmodule: Ea.a },
              r.createElement(
                "div",
                { className: Ea.a.LiveNow },
                Object($.f)("#EventCalendar_LiveNow"),
              ),
            ),
            r.createElement(
              Ra.h,
              { rtFullDate: o, stylesmodule: Ea.a },
              Object($.f)("#EventCalendar_TimeLeft", t),
            ),
          );
        }
        if (s < i) {
          const e = i - s,
            t = e < 86400 ? Object($.r)(e, !1, !0) : Object($.q)(s);
          return r.createElement(
            Ra.h,
            { className: a, rtFullDate: s, stylesmodule: Ea.a },
            r.createElement("div", { className: Ea.a.PastDateText }, t),
          );
        }
        {
          const e = new Date(1e3 * i);
          e.setHours(0, 0, 0, 1);
          const t = e.getTime() / 1e3,
            n = Math.floor((s - t) / 86400),
            o =
              n > 1 && n <= 5 ? Object($.h)(new Date(1e3 * s)) : Object($.q)(s),
            l = Object(Ra.f)(s);
          return r.createElement(
            Ra.h,
            { className: a, rtFullDate: s, stylesmodule: Ea.a },
            r.createElement(
              "div",
              { className: Ea.a.FutureDateText },
              Object($.f)("#EventCalendar_WillStartAtDateTime", o, l),
            ),
          );
        }
      }),
      Qa = Object(m.a)((e) => {
        const t = e.calendarEvent.GetSource(),
          n = [],
          a = Object(Tn.b)().m_visibilityStore;
        t & va.a.k_eLibrary && a.BIsGameSourceAllowed(Rn.c.k_ELibrary)
          ? n.push({
              id: va.a.k_eLibrary,
              name: "#EventCalendar_GameSource_inLibrary",
              ttip: "#EventCalendar_GameSource_EventExplanation_ttip_library",
              styles: Ea.a.LibrarySource,
            })
          : t & va.a.k_eWishlist && a.BIsGameSourceAllowed(Rn.c.k_EWishlist)
            ? n.push({
                id: va.a.k_eWishlist,
                name: "#EventCalendar_GameSource_onWishlist",
                ttip: "#EventCalendar_GameSource_EventExplanation_ttip_wishlist",
                styles: Ea.a.WishlistSource,
              })
            : t & va.a.k_eRecommended &&
                a.BIsGameSourceAllowed(Rn.c.k_ERecommended)
              ? n.push({
                  id: va.a.k_eRecommended,
                  name: "#EventCalendar_GameSource_recommended_Verbose",
                  ttip: "#EventCalendar_GameSource_EventExplanation_ttip_recommended",
                  styles: Ea.a.RecommendedSource,
                })
              : t & va.a.k_eFeatured &&
                a.BIsGameSourceAllowed(Rn.c.k_EFeatured) &&
                n.push({
                  id: va.a.k_eFeatured,
                  name: "#EventCalendar_GameSource_featured",
                  ttip: "#EventCalendar_GameSource_ttip_featured",
                  styles: Ea.a.FeaturedSource,
                }),
          t & va.a.k_eFollowing &&
            a.BIsGameSourceAllowed(Rn.c.k_EFollowing) &&
            n.push({
              id: va.a.k_eFollowing,
              name: "#EventCalendar_GameSource_followed",
              ttip: "#EventCalendar_GameSource_EventExplanation_ttip_following",
              styles: Ea.a.FollowingSource,
            });
        const i = n.map((t, a) => {
          const r = e.calendarEvent.unique_id;
          return Ya(
            `item-source-${r}-${t.id}`,
            t.name,
            t.ttip,
            t.styles,
            a + 1 < n.length,
          );
        });
        return r.createElement("div", { className: Ea.a.SourceList }, i);
      }),
      Ya = (e, t, n, a, i) =>
        r.createElement(
          Qe.a,
          {
            key: e,
            className: Object(h.a)(Ea.a.Source, a),
            toolTipContent: Object($.f)(n),
          },
          Object($.f)(t) + (i ? ", " : ""),
        );
    let Za = class extends r.Component {
      OnPerformVoteUp() {
        const { eventModel: e } = this.props,
          t = Ot.a.Get();
        !0 !== t.GetPreviouslyLoadedVote(this.props.eventModel) &&
          Uh(e, t) &&
          (t.Vote(e, !0, F.a.CancelToken.source()),
          Sa.b.RecordAppInteractionEvent(e.appid, Sa.a.k_eThumbsUp));
      }
      OnDiscussionClicked() {
        const { eventModel: e } = this.props;
        Sa.b.RecordAppInteractionEvent(e.appid, Sa.a.k_eDiscussions);
      }
      render() {
        const e = Ot.a.Get(),
          { eventModel: t } = this.props,
          n = Math.max(0, t.nVotesUp - t.nVotesDown),
          a = e.GetPreviouslyLoadedVote(this.props.eventModel),
          i = (function (e, t) {
            return e.BIsUserLoggedIn()
              ? o.j.is_limited
                ? Ea.a.Vote_LimitedUser
                : !0 === t
                  ? Ea.a.Vote_Positive
                  : !1 === t
                    ? Ea.a.Vote_Negative
                    : Ea.a.Vote_Ready
              : Ea.a.Vote_NotLoggedIn;
          })(e, a),
          s = t.GetForumTopicURL(),
          l = o.c.EREALM !== c.ESteamRealm.k_ESteamRealmChina && s,
          d =
            t.live_stream_viewer_count > 0
              ? t.live_stream_viewer_count
              : void 0;
        return r.createElement(
          "div",
          { className: Ea.a.Footer },
          r.createElement(
            "div",
            { className: Ea.a.FooterRightSide },
            Boolean(d) &&
              r.createElement(
                "div",
                { className: Ea.a.TileViewerCount },
                Object(Vn.a)(d),
              ),
            r.createElement(
              "div",
              {
                className: Object(h.a)(Ea.a.FooterStat, Ea.a.Vote, i),
                onClick: this.OnPerformVoteUp,
              },
              r.createElement(H.ob, { className: Ea.a.RateIcon }),
              r.createElement("span", null, Number(n).toLocaleString()),
            ),
            l &&
              r.createElement(
                "div",
                { className: Ea.a.FooterStat },
                r.createElement(
                  "a",
                  {
                    href: s,
                    className: Ea.a.CommentIconCtn,
                    target: "_blank",
                    onClick: this.OnDiscussionClicked,
                  },
                  r.createElement(H.p, { className: Ea.a.CommentIcon }),
                  r.createElement(
                    "span",
                    null,
                    Number(t.nCommentCount).toLocaleString(),
                  ),
                ),
              ),
            r.createElement(wa, Object.assign({}, this.props)),
          ),
        );
      }
    };
    Object(a.b)([u.b], Za.prototype, "OnPerformVoteUp", null),
      Object(a.b)([u.b], Za.prototype, "OnDiscussionClicked", null),
      (Za = Object(a.b)([m.a], Za));
    const Ja = {
      include_assets: !0,
      include_release: !0,
      include_screenshots: !0,
    };
    const Xa = Object(m.a)((e) => {
        const {
            calendarEvent: t,
            partnerEventStore: n,
            mode: a,
            forceParentUpdate: i,
          } = e,
          s = "-500px",
          o = Ea.a[`EventType${t.event_type}`],
          l = Object(h.a)(Ea.a.TileContainer, o),
          c = "carousel" === a;
        return r.createElement(
          Et.a,
          {
            onEnter: () => {
              !(function (e, t, n) {
                const a = Array();
                a.push(t.QueueLoadPartnerEvent(e.clanid, e.unique_id)),
                  e.appid && a.push(Dt.a.Get().QueueAppRequest(e.appid, Ja)),
                  e.clanInfo &&
                    a.push(
                      wt.a.LoadClanInfoForClanAccountID(e.clanInfo.clanid),
                    ),
                  Promise.all(a).then(() => {
                    const a = t.GetClanEventModel(e.unique_id);
                    a.appid &&
                    a.appid != e.appid &&
                    !Dt.a.Get().BHasApp(a.appid, Ja)
                      ? Dt.a.Get().QueueAppRequest(a.appid, Ja).then(n)
                      : n();
                  });
              })(t, n, i);
            },
            topOffset: s,
            bottomOffset: s,
          },
          r.createElement(
            "div",
            { className: l },
            r.createElement(
              "div",
              { className: Object(h.a)(Ea.a.Tile, Ea.a.LoadingTile) },
              c && r.createElement(ee.a, null),
            ),
            r.createElement("div", { className: Ea.a.Footer }),
          ),
        );
      }),
      $a = Object(m.a)((e) => {
        const { partnerEventStore: t, calendarEvent: n } = e,
          i = Object(a.c)(e, ["partnerEventStore", "calendarEvent"]),
          s = t.GetClanEventModel(n.unique_id),
          o = (function (e, t) {
            const n = t.GetClanEventModel(e.unique_id);
            return !(
              !n ||
              (e.appid && !Dt.a.Get().BHasApp(e.appid, Ja)) ||
              (n.appid &&
                n.appid != e.appid &&
                !Dt.a.Get().BHasApp(n.appid, Ja)) ||
              (e.clanInfo && !wt.a.HasLoadedClanAccountID(e.clanInfo.clanid))
            );
          })(n, t),
          l = Object(u.f)();
        return o
          ? r.createElement(
              Ha,
              Object.assign({ eventModel: s, calendarEvent: n }, i),
            )
          : r.createElement(
              Xa,
              Object.assign({ calendarEvent: n, partnerEventStore: t }, i, {
                forceParentUpdate: l,
              }),
            );
      });
    var er = n("FBv+"),
      tr = n("cQil"),
      nr = n.n(tr);
    class ar extends i.a.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            rgCuratorList: null,
            nNumToDisplay: 0,
            bHasBeenDismissed: this.HasBeenDismissed(),
          }),
          (this.m_ref = i.a.createRef()),
          (this.m_cancelSignal = F.a.CancelToken.source());
      }
      componentDidMount() {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.state.rgCuratorList ||
            (yield kn.Get().WaitForInitialLoad(),
            this.m_cancelSignal.token.reason ||
              this.setState({ rgCuratorList: this.GenerateNewsCuratorList() })),
            window.addEventListener("resize", this.OnResize),
            this.OnResize();
        });
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("CuratorFeedSuggestRow to unload"),
          window.removeEventListener("resize", this.OnResize);
      }
      GetMaxCapsulesPerRow() {
        if (!this.m_ref.current) return 0;
        const e = Math.floor(
          Math.min(this.m_ref.current.clientWidth, window.innerWidth) / 118,
        );
        return Math.max(e - 1, 0);
      }
      OnResize() {
        this.m_cancelSignal.token.reason ||
          this.setState({ nNumToDisplay: this.GetMaxCapsulesPerRow() });
      }
      HasBeenDismissed() {
        const e = JSON.parse(localStorage.getItem(ar.s_strLocalStorageKey));
        return e && e.bDismissed;
      }
      OnCommitDismiss() {
        localStorage.setItem(
          ar.s_strLocalStorageKey,
          JSON.stringify({ bDismissed: !0 }),
        ),
          this.m_cancelSignal.token.reason ||
            this.setState({ bHasBeenDismissed: !0 });
      }
      OnDismissButton(e) {
        Object(ze.d)(
          i.a.createElement(xe.e, {
            strTitle: Object($.f)("#EventCurator_DismissTitle"),
            strDescription: Object($.f)("#EventCurator_DismissBody"),
            onOK: this.OnCommitDismiss,
          }),
          Object(v.o)(e),
        );
      }
      GenerateNewsCuratorList() {
        const e = $.e.GetELanguageFallbackOrder();
        void 0 === e.find((e) => 0 === e) && e.push(0);
        const t = new Array();
        for (const n of e) {
          const e = kn.Get().GetCuratorsForLang(n);
          if (!e) continue;
          const a = e.filter(
            (e) => !It.a.Get().BIsIgnoringCurator(e.clanAccountID),
          );
          Object(ka.f)(a), t.push(...a);
        }
        return t;
      }
      GenerateCurator(e) {
        const t = wt.a.GetClanInfoByClanAccountID(e.clanAccountID);
        return t
          ? i.a.createElement(
              "div",
              { className: nr.a.ClanInfo, key: t.clanAccountID },
              i.a.createElement(ga, { clanInfo: t, layout: "icon" }),
            )
          : null;
      }
      render() {
        const { bCanDismiss: e } = this.props,
          { bHasBeenDismissed: t, rgCuratorList: n } = this.state;
        if (t || !n || 0 === n.length) return null;
        let a = null;
        return (
          (a = n
            .slice(0, this.state.nNumToDisplay)
            .map((e) => this.GenerateCurator(e))),
          i.a.createElement(
            nt.a,
            null,
            i.a.createElement(
              "div",
              { className: nr.a.FeedSuggestContainerBG },
              i.a.createElement(
                "div",
                { className: nr.a.FeedSuggestContainer },
                i.a.createElement(
                  "div",
                  { className: nr.a.FeedSuggestCaption },
                  Object($.f)("#EventCurator_FeedCaption_Long"),
                ),
                e &&
                  i.a.createElement(
                    "div",
                    {
                      className: nr.a.DismissButton,
                      onClick: this.OnDismissButton,
                    },
                    i.a.createElement(H.db, null),
                  ),
                i.a.createElement(
                  "div",
                  { className: nr.a.RowContainer, ref: this.m_ref },
                  a || i.a.createElement(ee.a, null),
                  i.a.createElement(
                    "div",
                    {
                      className: nr.a.BrowseMore,
                      onClick: hi.Get().ShowBrowseCurator,
                    },
                    Object($.f)("#EventCurator_BrowseMore"),
                  ),
                ),
              ),
            ),
          )
        );
      }
    }
    (ar.s_strLocalStorageKey = "SteamNewsHub_SuggestCuratorsDismissed"),
      Object(a.b)([u.b], ar.prototype, "OnResize", null),
      Object(a.b)([u.b], ar.prototype, "OnCommitDismiss", null),
      Object(a.b)([u.b], ar.prototype, "OnDismissButton", null);
    var rr = n("x8gZ"),
      ir = n.n(rr),
      sr = n("NOMT"),
      or = n.n(sr);
    const lr = (e) => {
      const {
          titleToken: t,
          subtitleToken: n,
          backgroundImg: a,
          headerImg: i,
          headerURL: s,
        } = e,
        o = a ? { backgroundImage: a } : {};
      return r.createElement(
        "div",
        {
          className: Object(h.a)(
            or.a.CommonHeaderStyles,
            or.a.SimpleTitleHeaderCtn,
            e.largeHeader && or.a.LargeHeader,
          ),
          style: o,
        },
        r.createElement(
          "div",
          {
            className: Object(h.a)(
              or.a.CollectionBannerGroup,
              i ? or.a.HeaderImg : or.a.NoHeaderImg,
            ),
          },
          Boolean(s && i) &&
            r.createElement(
              "a",
              { href: s, className: or.a.AppBannerLogoCtn },
              r.createElement("img", { className: or.a.AppBannerLogo, src: i }),
            ),
          Boolean(i && !s) &&
            r.createElement(
              "div",
              { className: or.a.AppBannerLogoCtn },
              r.createElement("img", { className: or.a.AppBannerLogo, src: i }),
            ),
          r.createElement(
            "div",
            { className: or.a.SimpleTitleCtn },
            r.createElement(
              "div",
              { className: or.a.Title },
              t.startsWith("#") ? Object($.f)(t) : t,
            ),
            n &&
              r.createElement(
                "div",
                { className: or.a.Subtitle },
                n.startsWith("#") ? Object($.f)(n) : n,
              ),
          ),
        ),
      );
    };
    function cr(e) {
      const t = Object(jn.b)(e);
      return (
        Object(l.a)(!!t, "Must define collection " + e),
        {
          collection: e,
          smallHeight: Number(or.a.simpleTitleSmallHeight),
          largeHeight: Number(or.a.simpleTitleLargeHeight),
          component: (e, n, a) =>
            r.createElement(lr, {
              largeHeader: e,
              titleToken: t.strHeaderTitle,
              subtitleToken: t.strHeaderSubtitle,
              headerImg: n,
              headerURL: a,
            }),
        }
      );
    }
    let dr = null;
    function ur() {
      return (
        dr ||
          ((dr = new Array()),
          dr.push(cr(jn.a.Press)),
          dr.push(cr(jn.a.Halloween))),
        dr
      );
    }
    var mr = n("mZMQ"),
      pr = (n("hmtA"), n("Xidl")),
      hr = n.n(pr),
      _r = n("Lnsj"),
      gr = n("XLxW");
    class br extends r.Component {
      render() {
        const { showArrows: e } = this.props,
          t = this.props.visibleSlides,
          n = this.props.totalSlides,
          a = this.props.currentSlide;
        if (t >= n) return null;
        const i = (100 * a) / n,
          s = 100 * (1 - Math.min(a + t, n) / n),
          o = i + (50 * t) / n,
          l = 100 - o;
        return r.createElement(
          "div",
          { className: _r.pipScrollerContainer },
          e &&
            r.createElement(
              mr.a,
              {
                className: Object(h.a)(
                  _r.pipScrollButton,
                  _r.left,
                  _r.carouselNavButton,
                ),
              },
              r.createElement(H.q, null),
            ),
          r.createElement(
            "div",
            { className: _r.pipScroller },
            r.createElement("div", { className: _r.scrollBackground }),
            r.createElement("div", {
              className: _r.scrollForeground,
              style: { left: i + "%", right: s + "%" },
            }),
            r.createElement(
              "div",
              {
                className: _r.scrollNavDiv,
                style: { left: "0%", width: o + "%" },
              },
              r.createElement(
                mr.a,
                {
                  className: Object(h.a)(
                    _r.carouselNavButton,
                    _r.scrollNavButton,
                  ),
                },
                r.createElement("div", null),
              ),
            ),
            r.createElement(
              "div",
              {
                className: _r.scrollNavDiv,
                style: { right: "0%", width: l + "%" },
              },
              r.createElement(
                mr.b,
                {
                  className: Object(h.a)(
                    _r.carouselNavButton,
                    _r.scrollNavButton,
                  ),
                },
                r.createElement("div", null),
              ),
            ),
          ),
          e &&
            r.createElement(
              mr.b,
              {
                className: Object(h.a)(
                  _r.pipScrollButton,
                  _r.right,
                  _r.carouselNavButton,
                ),
              },
              r.createElement(H.q, null),
            ),
        );
      }
    }
    const fr = Object(mr.h)(br, (e) => ({
      currentSlide: e.currentSlide,
      totalSlides: e.totalSlides,
      visibleSlides: e.visibleSlides,
    }));
    function vr(e) {
      const t = () => r.Children.count(e.children),
        n = t(),
        a = Math.min(t(), e.visibleElements);
      if (!n || !a) return null;
      const i = a < n,
        s = e.hideArrows || !i,
        l = !i || e.hidePips;
      let c = 4 / 3,
        d = !0;
      e.slideAspectRatio && ((c = e.slideAspectRatio), (d = !1));
      const u = `items_in_row_${e.visibleElements}`;
      return r.createElement(
        Ct.a,
        {
          "flow-children": "row",
          className: Object(h.a)(_r.carouselBody, e.className, u),
        },
        r.createElement(
          mr.d,
          {
            visibleSlides: e.visibleElements,
            totalSlides: t(),
            naturalSlideWidth: 100 * c,
            naturalSlideHeight: 100,
            step: e.visibleElements,
            infinite: !e.disableEdgeWrap,
            isIntrinsicHeight: d,
            touchEnabled: !0,
            lockOnWindowScroll: !0,
            orientation: "horizontal",
            disableKeyboard: !0,
          },
          r.createElement(
            yr,
            {
              bHideArrows: s,
              bAutoAdvance: e.bAutoAdvance && !o.c.IN_GAMEPADUI,
              onSlide: e.onSlide,
            },
            r.Children.map(e.children, (t, n) => {
              const a = e.bLazyRenderChildren
                ? r.createElement(
                    er.a,
                    {
                      rootMargin: "0px 100% 0px 100%",
                      bHorizontal: !0,
                      placeholderWidth: 1,
                      placeholderHeight: 1,
                    },
                    t,
                  )
                : t;
              return r.createElement(
                mr.f,
                { className: _r.innerSlide, key: "slide_" + n, index: n },
                a,
              );
            }),
          ),
          !l &&
            (e.useTestScrollbar
              ? r.createElement(fr, { showArrows: s, carouselStore: null })
              : r.createElement(
                  "div",
                  { className: _r.breadcrumbContainer },
                  ((t) =>
                    r.Children.map(e.children, (e, n) =>
                      n % t != 0
                        ? null
                        : r.createElement(
                            mr.e,
                            { slide: n, className: _r.pip },
                            r.createElement("img", { src: hr.a }),
                          ),
                    ))(a),
                )),
        ),
      );
    }
    function Sr(e) {
      e && (window.clearTimeout(e.current), (e.current = null));
    }
    function yr(e) {
      const { bHideArrows: t, bAutoAdvance: n, children: a, onSlide: i } = e,
        s = r.useContext(mr.c),
        o = r.useRef(s.state.currentSlide),
        [l, c] = r.useState(null),
        [d, u] = r.useState(!!n),
        m = r.useRef(null),
        p = r.useRef(null);
      r.useEffect(() => {
        const e = () => {
          m.current = window.setTimeout(() => {
            if (m.current) {
              Sr(m);
              const e = (s.state.currentSlide + 1) % s.state.totalSlides;
              s.setStoreState({ currentSlide: e });
            }
          }, 8e3);
        };
        d && e();
        const t = () => {
          const t = o.current,
            n = s.state.currentSlide;
          i && i(n), c(n > t ? "Right" : n < t ? "Left" : null), Sr(p);
          (p.current = window.setTimeout(() => {
            p.current && (c(null), Sr(p));
          }, 1e3)),
            (o.current = n),
            m.current ? (Sr(m), u(!1)) : d && e();
        };
        return (
          s.subscribe(t),
          () => {
            s.unsubscribe(t), Sr(m), Sr(p);
          }
        );
      }, [s, d]);
      const _ = !!l && "CarouselSliding" + l;
      return r.createElement(
        "div",
        { className: Object(h.a)(_r.sliderBody, "SliderBody", _) },
        !t &&
          r.createElement(
            mr.a,
            {
              className: Object(h.a)(
                _r.carouselBtnCtn,
                _r.left,
                _r.carouselNavButton,
                "CarouselBtnLeft",
              ),
            },
            r.createElement(H.q, null),
          ),
        r.createElement(
          mr.g,
          {
            className: gr.a.GetScrollableClassname(),
            classNameTray: _r.slideTrayCustomize,
            classNameAnimation: _r.DisableSliderMotion,
          },
          a,
        ),
        !t &&
          r.createElement(
            mr.b,
            {
              className: Object(h.a)(
                _r.carouselBtnCtn,
                _r.right,
                _r.carouselNavButton,
                "CarouselBtnRight",
              ),
            },
            r.createElement(H.q, null),
          ),
      );
    }
    var Er,
      Cr = n("J2Me"),
      wr = n.n(Cr);
    let Br = class extends r.Component {
      render() {
        const {
          rgCalendarItems: e,
          bSuppressHoverEffects: t,
          strMultipleSourceTitle: n,
        } = this.props;
        if (!e || 0 == e.length) return null;
        const a = e[0];
        if (!e.every((e) => e.appid === a.appid && e.clanid === a.clanid))
          return n
            ? r.createElement(
                "div",
                { className: wr.a.EventTileCarouselTitleContainer },
                r.createElement(
                  "div",
                  { className: wr.a.EventTileCarouselTextTitle },
                  n,
                ),
              )
            : null;
        const i = Boolean(0 === a.appid && o.j.accountid);
        return r.createElement(
          "div",
          { className: wr.a.EventTileCarouselTitleContainer },
          r.createElement(
            "div",
            { className: wr.a.EventTileCarouselTitle },
            r.createElement(Qr, { calendarItem: a, bSuppressHoverEffects: t }),
          ),
          i &&
            r.createElement(
              "div",
              { className: wr.a.EventTileCarouselFollow },
              r.createElement(Mt.b, { clanAccountID: a.clanid }),
            ),
        );
      }
    };
    Br = Object(a.b)([m.a], Br);
    let Or = (Er = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            bScreenIsWide: Er.IsWideScreen(),
            nMaxCapsulesPerRow: this.GetMaxCapsulesPerRow(),
          });
      }
      componentDidMount() {
        window.addEventListener("resize", this.OnResize);
      }
      componentWillUnmount() {
        window.removeEventListener("resize", this.OnResize);
      }
      static IsWideScreen() {
        return window.innerWidth >= 910;
      }
      GetMaxCapsulesPerRow() {
        return Er.IsWideScreen() ? 3 : window.innerWidth > 700 ? 2 : 1;
      }
      OnResize() {
        this.setState({
          bScreenIsWide: Er.IsWideScreen(),
          nMaxCapsulesPerRow: this.GetMaxCapsulesPerRow(),
        });
      }
      render() {
        const {
          rgCalendarItems: e,
          fnOnEventClick: t,
          bSuppressHoverEffects: n,
          bHideGameTitle: a,
          strMultipleSourceTitle: i,
        } = this.props;
        if (!e || 0 == e.length) return null;
        const s = e.map((i) =>
          r.createElement($a, {
            key: "ht-" + i.unique_id,
            calendarEvent: i,
            partnerEventStore: St.b,
            fnOnClicked: t,
            bSuppressHoverEffects: n,
            mode: e.length > 1 ? "carousel" : "wide",
            bHideGameTitle: a,
          }),
        );
        return r.createElement(
          "div",
          { className: wr.a.CalendarRow },
          r.createElement(Br, {
            rgCalendarItems: e,
            bSuppressHoverEffects: n,
            strMultipleSourceTitle: i,
          }),
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                wr.a.EventTileCarousel,
                "EventTileCarouselCtn",
              ),
            },
            r.createElement(
              vr,
              {
                hideArrows: !0,
                visibleElements: Math.min(
                  this.state.nMaxCapsulesPerRow,
                  this.props.rgCalendarItems.length,
                ),
                className: wr.a.HorizontalTiles,
                useTestScrollbar: !0,
                bLazyRenderChildren: !0,
                disableEdgeWrap: !0,
              },
              s,
            ),
          ),
        );
      }
    });
    function Dr(e, t) {
      const n = "location" in e ? e.location : e,
        a = "search" in n ? n.search : n,
        r = Qt.a.parse(a.substring(1))[t];
      return r && Array.isArray(r) ? r[r.length - 1] : r;
    }
    Object(a.b)([u.b], Or.prototype, "OnResize", null),
      (Or = Er = Object(a.b)([m.a], Or));
    const Ir = (e) => null != e;
    function Tr(e, t, n) {
      const a = Qt.a.parse(e.location.search.substring(1));
      Ir(n) ? (a[t] = n) : delete a[t], e.push(`?${Qt.a.stringify(a)}`);
    }
    function Rr(e, t) {
      const n = Object(fa.h)();
      let a = t;
      const i = Dr(location, e);
      Ir(i) &&
        (a = Ir(t)
          ? "boolean" == typeof t
            ? t.constructor("false" !== i)
            : t.constructor(i)
          : i);
      const [s, o] = Object(r.useState)(a);
      return [
        s,
        (t) => {
          Tr(n, e, Ir(t) ? String(t) : null), o(t);
        },
      ];
    }
    function jr(e, t) {
      const n = Qt.a.parse(e.location.search.substring(1));
      for (const e in t)
        if (t.hasOwnProperty(e)) {
          const a = t[e];
          null == a ? delete n[e] : (n[e] = a);
        }
      e.push(`?${Qt.a.stringify(n)}`);
    }
    var Ar = n("syyk"),
      kr = n.n(Ar);
    const Mr = (e) => {
        var t;
        let n = new Array();
        return (
          (
            null === (t = o.c.SUPPORTED_LANGUAGES) || void 0 === t
              ? void 0
              : t.length
          )
            ? (n = o.c.SUPPORTED_LANGUAGES.map((e) => e.localizedName))
            : n.push(Object($.f)("#Language_" + o.c.LANGUAGE)),
          i.a.createElement(
            "div",
            { className: kr.a.LanguageList },
            n.join(", "),
          )
        );
      },
      Pr = (e) => {
        const t = "SteamNewsHub_LanguageDismissed",
          [n, a] = i.a.useState(
            (() => {
              const e = JSON.parse(localStorage.getItem(t));
              return e && e.bDismissed;
            })(),
          );
        if (n) return null;
        if (o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina) return null;
        const r = o.c.STORE_BASE_URL + "account/languagepreferences/";
        return i.a.createElement(
          "div",
          { className: kr.a.LanguageFeedNoteBucket },
          i.a.createElement(
            "div",
            { className: kr.a.LanguageFeedNoteCtn },
            i.a.createElement(
              "div",
              {
                className: kr.a.DismissButton,
                onClick: () => {
                  a(!0),
                    localStorage.setItem(t, JSON.stringify({ bDismissed: !0 }));
                },
              },
              i.a.createElement(H.db, null),
            ),
            i.a.createElement(
              "div",
              { className: kr.a.BodyFlow },
              i.a.createElement(
                "div",
                { className: kr.a.LeftColumn },
                i.a.createElement(H.J, null),
              ),
              i.a.createElement(
                "div",
                { className: kr.a.RightColumn },
                i.a.createElement(
                  "div",
                  { className: kr.a.Title },
                  Object($.f)("#EventCalendar_NewsLanguage_Title"),
                ),
                i.a.createElement(Mr, null),
                i.a.createElement(
                  "div",
                  { className: kr.a.Text },
                  Object($.o)(
                    "#EventCalendar_NewsLanguage_Text",
                    i.a.createElement(
                      "a",
                      { href: r },
                      Object($.f)(
                        "#EventCalendar_NewsLanguage_TextInHyperlink",
                      ),
                    ),
                  ),
                ),
              ),
            ),
          ),
        );
      };
    var Lr,
      Gr,
      Nr = n("8uBp");
    const Fr = "global_header";
    function xr() {
      const e = document.getElementById(Fr);
      if (e && "none" != getComputedStyle(e).display) return e;
      const t = document.getElementsByClassName("responsive_header");
      if (
        (Object(l.a)(t.length <= 1, "Must have at most one responsive_header"),
        1 == t.length)
      ) {
        return t[0];
      }
      return null;
    }
    function zr() {
      const e = xr();
      return e && e.id != Fr;
    }
    function Ur() {
      return (
        zr() ||
        window.innerWidth <
          parseInt(ir.a.strDesktopControlBarWidth) +
            parseInt(ir.a.strMaxMobileWidth)
      );
    }
    let Wr = (Lr = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            bUserIsLoggedIn: o.j.logged_in,
            nVisibleHeight: 0,
            nScrollTop: 0,
            bControlBarIsCollapsed: Ur(),
            bControlBarWasOpenedByUser: !1,
            nDisappearingHeaderTop: 0,
            nSteamNavHeaderHeight: 0,
            nMobileNavBannerHeight: 0,
            nHubBannerHeight: 0,
            nGroupHeaderHeight: 0,
            nLogInBannerHeight: 0,
            nAccumScrollUp: 0,
            nAccumScrollDown: 0,
          }),
          (this.m_refControlBar = r.createRef()),
          (this.m_cancelSignal = F.a.CancelToken.source());
      }
      componentDidMount() {
        this.InitEventCalendarStore(),
          this.UpdateDocumentUI(),
          window.addEventListener("resize", this.OnResize),
          window.addEventListener("scroll", this.OnScroll),
          this.setState({ nVisibleHeight: window.innerHeight }),
          window.scrollTo(0, 0),
          this.UpdateEventControlLocationAndVisibility();
      }
      componentDidUpdate(e, t) {
        (t.bUserIsLoggedIn == this.state.bUserIsLoggedIn &&
          JSON.stringify(e.filter_to_appids) ==
            JSON.stringify(this.props.filter_to_appids) &&
          JSON.stringify(e.filter_to_clanids) ==
            JSON.stringify(this.props.filter_to_clanids) &&
          e.filter_to_collection === this.props.filter_to_collection &&
          e.filter_to_saleid === this.props.filter_to_saleid &&
          e.filter_to_contenthub_hubtype ===
            this.props.filter_to_contenthub_hubtype &&
          e.filter_to_contenthub_category_or_language ===
            this.props.filter_to_contenthub_category_or_language &&
          e.filter_to_contenthub_tag_name ===
            this.props.filter_to_contenthub_tag_name &&
          e.section_by_day === this.props.section_by_day) ||
          (window.scrollTo(0, 0), this.InitEventCalendarStore()),
          this.UpdateDocumentUI(),
          this.LoadEventToShowAsModal(),
          this.UpdateEventControlLocationAndVisibility();
      }
      UpdateEventControlLocationAndVisibility() {
        if (this.props.location) {
          const e = hi
            .Get()
            .UpdateLocation(() => this.props.history, this.props.location);
          (("desktop_navigation" != e && this.state.bControlBarIsCollapsed) ||
            ("desktop_navigation" == e &&
              !this.state.bControlBarIsCollapsed &&
              zr())) &&
            this.ToggleControlBarCollapsed();
        }
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("component unmounted"),
          window.removeEventListener("resize", this.OnResize),
          window.removeEventListener("scroll", this.OnScroll),
          this.UpdateBodyScrollState(!0);
        const e = xr();
        e && (e.style.transform = "");
      }
      GetCurrentHubBannerHeight(e) {
        const t = e && !Object(ja.a)();
        return Object(Tn.b)().GetCollectionID()
          ? (function (e, t) {
              if (!e) return 0;
              const n = ur().find((t) => t.collection === e);
              return n ? (t ? n.largeHeight : n.smallHeight) : 0;
            })(Object(Tn.b)().GetCollectionID(), t)
          : Object(Tn.b)().BIsSaleCalendar()
            ? ((n = Object(Tn.b)().GetSaleID()),
              (a = t),
              n && St.b.GetClanEventModel(n)
                ? Number(
                    a
                      ? or.a.simpleTitleLargeHeight
                      : or.a.simpleTitleSmallHeight,
                  )
                : 0)
            : Object(Tn.b)().BIsSingleSourceCalendar()
              ? parseInt(
                  t
                    ? ir.a.strJumboHubBannerHeight
                    : ir.a.strDesktopHubBannerHeight,
                ) - 1
              : 0;
        var n, a;
      }
      BShowLogInBanner() {
        return Boolean(
          !this.state.bUserIsLoggedIn && Object(Tn.b)().BIsGlobalCalendar(),
        );
      }
      GetCurrentHeaderHeights(e) {
        const t = zr(),
          n = Object(ja.a)();
        let a = 0;
        xr() &&
          ((a = parseInt(
            t
              ? ir.a.strMobileGlobalHeaderHeight
              : ir.a.strDesktopGlobalHeaderHeight,
          )),
          (a -= 1));
        const r =
            parseInt(
              n
                ? ir.a.strMobileGroupHeaderHeight
                : ir.a.strDesktopGroupHeaderHeight,
            ) - 1,
          i = (t ? parseInt(ir.a.strMobileNavBannerHeight) : 0) - 1,
          s = this.GetCurrentHubBannerHeight(e);
        let o = 0;
        return (
          this.BShowLogInBanner() &&
            (o =
              e && !n
                ? parseInt(ir.a.strLogInBannerLargeHeight)
                : parseInt(ir.a.strLogInBannerSmallHeight)),
          {
            nSteamNavHeaderHeight: a,
            nMobileNavBannerHeight: i,
            nHubBannerHeight: s,
            nGroupHeaderHeight: r,
            nLogInBannerHeight: o,
          }
        );
      }
      LoadEventToShowAsModal() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = Dr(this.props.location, "megaphone");
          if (!!e && "0" !== e && "false" !== e) {
            Tr(this.props.history, "megaphone", null);
            const e = { exclude_tags: ["patchnotes", "skip_megaphone"] },
              t = yield St.b.LoadAdjacentPartnerEvents(
                null,
                null,
                ce.s,
                0,
                1,
                e,
              );
            if (1 == (null == t ? void 0 : t.length)) {
              const e = t[0];
              jr(this.props.history, {
                emclan: e.clanSteamID.ConvertTo64BitString(),
                emgid: e.GID,
              });
            } else
              console.error("Could not find the most recent Steam Blog post.");
          }
          const t = Dr(this.props.location, "emclan"),
            n = Dr(this.props.location, "emgid");
          if (t && n) {
            const e = new de.a(t);
            if (
              this.state.modalEvent &&
              this.state.modalEvent.clanSteamID.ConvertTo64BitString() ==
                e.ConvertTo64BitString() &&
              this.state.modalEvent.GID == n
            )
              return;
            const a = yield St.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
              e,
              n,
              0,
            );
            this.setState({ modalEvent: a });
          } else this.state.modalEvent && this.setState({ modalEvent: null });
        });
      }
      BShowFutureView() {
        const e = Dr(this.props.location, "upcoming");
        return e && "false" != e;
      }
      BShowUpdatesOnly() {
        return !(
          !this.props.filter_to_appids ||
          1 != this.props.filter_to_appids.length ||
          "true" != Dr(this.props.location, "updates")
        );
      }
      UpdateDocumentUI() {
        var e, t, n, a, r;
        let i, s;
        const l = Object(Tn.b)();
        if (l.BIsGlobalCalendar()) {
          const t = Object(jn.b)(
            this.BShowFutureView() ? jn.a.Upcoming : jn.a.Default,
          );
          i =
            null !== (e = null == t ? void 0 : t.strHeaderTitle) && void 0 !== e
              ? e
              : null == t
                ? void 0
                : t.strName;
        } else if (l.BIsSingleAppCalendar()) {
          const e = l.GetSingleAppID();
          i =
            null === (t = Dt.a.Get().GetApp(e)) || void 0 === t
              ? void 0
              : t.GetName();
        } else if (l.BIsSingleGroupCalendar()) {
          const e = l.GetSingleGroupID(),
            t = e && wt.a.GetClanInfoByClanAccountID(e);
          i = t && t.group_name;
        } else if (l.BIsCollectionCalendar()) {
          const e = l.GetCollectionID(),
            t = Object(jn.b)(e);
          i =
            null !== (n = null == t ? void 0 : t.strHeaderTitle) && void 0 !== n
              ? n
              : null == t
                ? void 0
                : t.strName;
        } else if (l.BIsSaleCalendar()) {
          const e = St.b.GetClanEventModel(l.GetSaleID());
          if (e) {
            if (e.appid)
              i =
                null === (a = Dt.a.Get().GetApp(e.appid)) || void 0 === a
                  ? void 0
                  : a.GetName();
            else {
              const t =
                  null === (r = e.clanSteamID) || void 0 === r
                    ? void 0
                    : r.GetAccountID(),
                n = t && wt.a.GetClanInfoByClanAccountID(t);
              i = n && n.group_name;
            }
            s = e && e.GetNameWithFallback(Object(le.g)(o.c.LANGUAGE));
          }
        }
        let c = Object($.f)("#EventCalendar_TabTitle_Global");
        i &&
          (c = s
            ? Object($.f)(
                "#EventCalendar_TabTitle_GroupNameAndEventDetail",
                i,
                s,
              )
            : Object($.f)("#EventCalendar_TabTitle_GroupHub", i)),
          document.title != c && (document.title = c),
          document.body.classList.contains("events_hub") ||
            document.body.classList.add("events_hub");
      }
      OnResize() {
        this.setState((e) => {
          const t = window.innerHeight,
            n = !e.bControlBarWasOpenedByUser && Ur(),
            a = this.GetCurrentHeaderHeights(this.state.nScrollTop <= 0);
          return (
            this.UpdateBodyScrollState(n),
            Object.assign({ nVisibleHeight: t, bControlBarIsCollapsed: n }, a)
          );
        });
      }
      OnScroll() {
        const e = Math.round(window.scrollY);
        this.setState((t) => {
          const n = t.nScrollTop <= 0,
            a = e <= 0;
          let { nHubBannerHeight: r, nLogInBannerHeight: i } = t;
          if (n != a) {
            const e = this.GetCurrentHeaderHeights(a);
            (r = e.nHubBannerHeight), (i = e.nLogInBannerHeight);
          }
          const s = e - t.nScrollTop;
          let o = Math.max(0, t.nAccumScrollUp - s),
            l = Math.max(0, t.nAccumScrollDown + s),
            c = t.nDisappearingHeaderTop;
          let d = t.nDisappearingHeaderTop < 0;
          l > 80 && ((o = 0), (l = 0), (d = !0)),
            (o > 100 || a) && ((o = 0), (l = 0), (d = !1)),
            this.state.bControlBarIsCollapsed || (d = !1),
            t.modalEvent && (d = !0);
          const u = t.nSteamNavHeaderHeight + r + t.nMobileNavBannerHeight;
          if (((c = d ? -1 * u : 0), c !== t.nDisappearingHeaderTop)) {
            const e = xr();
            e && (e.style.transform = `translateY(${c}px)`);
          }
          return {
            nScrollTop: e,
            nAccumScrollUp: o,
            nAccumScrollDown: l,
            nDisappearingHeaderTop: c,
            nHubBannerHeight: r,
            nLogInBannerHeight: i,
          };
        });
      }
      InitEventCalendarStore() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = {
              appids: this.props.filter_to_appids,
              clanaccountids: this.props.filter_to_clanids,
              collectionid: this.props.filter_to_collection,
              saleid: this.props.filter_to_saleid,
              hubtype: this.props.filter_to_contenthub_hubtype,
              category_or_language:
                this.props.filter_to_contenthub_category_or_language,
              tag_name: this.props.filter_to_contenthub_tag_name,
              bSectionByDay: this.props.section_by_day,
            },
            t = Object(Tn.c)(e),
            n = Object(Tn.b)(),
            a =
              (An.a.Get(),
              Boolean(this.state.bUserIsLoggedIn && o.j.accountid)),
            r = n.BIsGlobalCalendar() && a ? "local" : "session",
            i = n.BIsGlobalCalendar() ? "U" + o.j.accountid : t;
          n.m_visibilityStore.Init(
            a,
            this.BShowUpdatesOnly(),
            n.BIsShowingFeaturedFeed(),
            i,
            r,
          );
          const s = !n.BIsCollectionCalendar();
          if (
            (n.SetFilteredView(
              (e) => n.m_visibilityStore.BShouldDisplayEvent(e),
              s,
            ),
            Lr.m_bInitialLoad)
          ) {
            const e = Object(o.g)("metadatainfo", "application_config");
            n.SetCollectionMetaData(n.ValidateCollectionMetadata(e) ? e : null);
          }
          const l =
            Lr.m_bInitialLoad &&
            Object(o.g)("initialEvents", "application_config");
          l
            ? (yield n.RegisterCalendarEventsAndModels(l),
              (Lr.m_bInitialLoad = !1))
            : yield n.RegisterCalendarEventsAndModels({ success: 1 }),
            n.BIsSingleSourceCalendar() &&
              (n.BIsSingleAppCalendar()
                ? Dt.a
                    .Get()
                    .QueueAppRequest(n.GetSingleAppID(), {
                      include_assets: !0,
                      include_platforms: !0,
                      include_basic_info: !0,
                      include_release: !0,
                    })
                : wt.a.LoadClanInfoForClanSteamID(
                    de.a.InitFromClanID(n.GetSingleGroupID()),
                  )),
            this.OnResize();
        });
      }
      UpdateBodyScrollState(e) {
        const t = !e && zr(),
          n = document.body;
        n &&
          (t
            ? n.classList.add(ir.a.BodyNoScroll)
            : n.classList.remove(ir.a.BodyNoScroll));
      }
      MobileNavOpenSettings() {
        this.ToggleControlBarCollapsed(),
          this.m_refControlBar.current &&
            this.m_refControlBar.current.OpenFilterSettings(!0);
      }
      ToggleControlBarCollapsed() {
        this.setState((e) => {
          const t = !e.bControlBarIsCollapsed,
            n = e.bControlBarIsCollapsed,
            a = t ? e.nDisappearingHeaderTop : 0,
            r = xr();
          return (
            r && (r.style.transform = `translateY(${a}px)`),
            this.UpdateBodyScrollState(t),
            {
              bControlBarIsCollapsed: t,
              bControlBarWasOpenedByUser: n,
              nDisappearingHeaderTop: a,
            }
          );
        });
      }
      OnControlBarChange() {
        window.scrollTo(0, 0);
      }
      CloseEventModal() {
        const e = xr();
        e &&
          (e.style.transform = `translateY(${this.state.nDisappearingHeaderTop}px)`),
          "PUSH" === this.props.history.action
            ? this.props.history.goBack()
            : jr(this.props.history, { emclan: void 0, emgid: void 0 });
      }
      OnEventClicked(e) {
        Ot.a.Get().RecordEventRead(e, 8);
        const t =
            this.state.nSteamNavHeaderHeight +
            this.state.nHubBannerHeight +
            this.state.nMobileNavBannerHeight,
          n = xr();
        if (
          (n && (n.style.transform = `translateY(${-1 * t}px)`),
          Bt.b.bOpenEventLandingPage)
        ) {
          const t = Object(kt.d)(e, kt.a.k_eStoreView, "allowRelative");
          this.props.history.push(t);
        } else
          jr(this.props.history, {
            emclan: e.clanSteamID.ConvertTo64BitString(),
            emgid: e.GID,
          });
      }
      ToggleFutureView() {
        Tr(
          this.props.history,
          "upcoming",
          this.BShowFutureView() ? "false" : "true",
        );
      }
      ResetAllFilters() {
        Tr(this.props.history, "updates", void 0),
          Object(Tn.b)().m_visibilityStore.InitDefaultCheckboxes(
            this.state.bUserIsLoggedIn,
            !1,
          );
      }
      render() {
        const e =
            this.state.nSteamNavHeaderHeight +
            this.state.nHubBannerHeight +
            this.state.nMobileNavBannerHeight +
            this.state.nLogInBannerHeight,
          t =
            this.state.nDisappearingHeaderTop +
            this.state.nSteamNavHeaderHeight,
          n = t + this.state.nMobileNavBannerHeight,
          a = n + this.state.nLogInBannerHeight,
          i = this.state.nVisibleHeight <= parseInt(ir.a.strMinMobileHeight),
          s = i
            ? 0
            : this.state.nDisappearingHeaderTop +
              this.state.nSteamNavHeaderHeight,
          l = i ? 0 : this.state.nDisappearingHeaderTop + e,
          c = Object(Tn.b)().m_visibilityStore.BAreAnyEventsFiltered(
            this.state.bUserIsLoggedIn,
          )
            ? this.ResetAllFilters
            : null;
        return r.createElement(
          r.Fragment,
          null,
          r.createElement(
            "div",
            { className: ir.a.EventCalendarContainer },
            r.createElement(
              nt.a,
              null,
              this.state.modalEvent
                ? r.createElement(da, {
                    appid: this.state.modalEvent.appid,
                    trackingLocation: 8,
                    announcementGID: this.state.modalEvent.GetAnnouncementGID(),
                    partnerEventStore: St.b,
                    eventModel: this.state.modalEvent,
                    showAppHeader: !0,
                    closeModal: this.CloseEventModal,
                  })
                : null,
            ),
            r.createElement(
              nt.a,
              null,
              r.createElement(bi, {
                ref: this.m_refControlBar,
                bUserIsLoggedIn: this.state.bUserIsLoggedIn,
                nDisappearingHeaderVisibleHeight: s,
                bIsCollapsed: this.state.bControlBarIsCollapsed,
                bShowUpcoming: this.BShowFutureView(),
                bShouldIncludeLegalFooter: !zr(),
                fnToggleCollapsed: this.ToggleControlBarCollapsed,
                fnOnFilterChange: this.OnControlBarChange,
              }),
            ),
            r.createElement(
              nt.a,
              null,
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    ir.a.ReserveControlSpace,
                    !this.state.bControlBarIsCollapsed && ir.a.WideLeftGutter,
                  ),
                },
                r.createElement(
                  nt.a,
                  null,
                  this.state.nLogInBannerHeight > 0 &&
                    r.createElement(Xr, {
                      nTopOffset: n,
                      bLargeMode: this.state.nScrollTop <= 0 && !Object(ja.a)(),
                    }),
                ),
                r.createElement(
                  nt.a,
                  null,
                  this.state.nMobileNavBannerHeight > 0 &&
                    r.createElement(Oi, {
                      bIsUpcoming: this.BShowFutureView(),
                      nTopOffset: t,
                      fnToggleCollapsed: this.MobileNavOpenSettings,
                    }),
                  r.createElement(Hr, {
                    nTopOffset: a,
                    bLargeMode: this.state.nScrollTop <= 0 && !Object(ja.a)(),
                  }),
                ),
                r.createElement(
                  nt.a,
                  null,
                  r.createElement(Vr, {
                    bShowFutureViewOnly: this.BShowFutureView(),
                    bShowUpdatesOnly: this.BShowUpdatesOnly(),
                    fnOnEventClick: this.OnEventClicked,
                    fnToggleSeeFuture: this.ToggleFutureView,
                    fnResetFilters: c,
                    nVisibleHeight: this.state.nVisibleHeight,
                    nScrollTop: this.state.nScrollTop,
                    nDisappearingHeaderVisibleHeight: l,
                    bUserIsLoggedIn: Boolean(
                      this.state.bUserIsLoggedIn && o.j.accountid,
                    ),
                  }),
                ),
              ),
            ),
          ),
        );
      }
    });
    (Wr.m_bInitialLoad = !0),
      Object(a.b)([u.b], Wr.prototype, "OnResize", null),
      Object(a.b)([u.b], Wr.prototype, "OnScroll", null),
      Object(a.b)([u.b], Wr.prototype, "MobileNavOpenSettings", null),
      Object(a.b)([u.b], Wr.prototype, "ToggleControlBarCollapsed", null),
      Object(a.b)([u.b], Wr.prototype, "OnControlBarChange", null),
      Object(a.b)([u.b], Wr.prototype, "CloseEventModal", null),
      Object(a.b)([u.b], Wr.prototype, "OnEventClicked", null),
      Object(a.b)([u.b], Wr.prototype, "ToggleFutureView", null),
      Object(a.b)([u.b], Wr.prototype, "ResetAllFilters", null),
      (Wr = Lr = Object(a.b)([m.a], Wr));
    Object(fa.k)(Wr);
    function Hr(e) {
      const t = Object(zt.d)(() => Object(Tn.b)()),
        [n, i, s, l, c, d, u, m] = Object(zt.d)(() => {
          var e;
          return [
            (null === (e = t.GetCollectionMetaData()) || void 0 === e
              ? void 0
              : e.clan_event_gid) || void 0,
            t.GetCollectionID(),
            t.BHasCollectionMetaData(),
            t.BIsSaleCalendar(),
            t.GetSaleID(),
            t.BIsSingleSourceCalendar(),
            t.BIsSingleAppCalendar() ? t.GetSingleAppID() : void 0,
            t.BIsSingleGroupCalendar() ? t.GetSingleGroupID() : void 0,
          ];
        }),
        [p, _] = r.useState(!1),
        g = Object(le.g)(o.c.LANGUAGE);
      if (
        (r.useEffect(() => {
          if (s && n && !St.b.GetClanEventModel(n)) {
            _(!0);
            (() =>
              Object(a.a)(this, void 0, void 0, function* () {
                const e = t.GetCollectionMetaData(),
                  n = de.a.InitFromClanID(e.clanid);
                yield St.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
                  n,
                  e.clan_event_gid,
                  0,
                ),
                  _(!1);
              }))();
          }
        }, [t, s, n]),
        i)
      ) {
        let t, a;
        if (s && !p) {
          const e = St.b.GetClanEventModel(n);
          e &&
            ((t = e.GetImageURLWithFallback("capsule", g, be.c.capsule_main)),
            (a = e.GetSaleURL()));
        }
        const o = (function (e, t, n, a) {
          if (!e) return null;
          const r = ur().find((t) => t.collection === e);
          return r ? r.component(t, n, a) : null;
        })(i, e.bLargeMode, t, a);
        if (!o) return null;
        const l = Object(h.a)(ir.a.HubBanner, At.a.WideBanner);
        return r.createElement(
          "div",
          {
            style: { transform: `translateY(${e.nTopOffset}px)` },
            className: l,
          },
          o,
        );
      }
      if (l) {
        const t = (function (e, t) {
          if (!e) return null;
          let n = St.b.GetClanEventModel(e);
          if (!n) return null;
          let a = Object(le.g)(o.c.LANGUAGE);
          return r.createElement(lr, {
            largeHeader: t,
            titleToken: n.GetNameWithFallback(a),
            subtitleToken: n.GetSubTitleWithSummaryFallback(a),
            headerImg: n.GetImageURLWithFallback(
              "capsule",
              a,
              be.c.capsule_main,
            ),
          });
        })(c, e.bLargeMode);
        if (!t) return null;
        const n = Object(h.a)(ir.a.HubBanner, At.a.WideBanner);
        return r.createElement(
          "div",
          {
            style: { transform: `translateY(${e.nTopOffset}px)` },
            className: n,
          },
          t,
        );
      }
      if (d) {
        const t = Object(h.a)(
          ir.a.HubBanner,
          At.a.WideBanner,
          e.bLargeMode && ir.a.LargeMode,
          e.bLargeMode && At.a.TallBanner,
        );
        return r.createElement(
          "div",
          {
            style: { transform: `translateY(${e.nTopOffset}px)` },
            className: t,
          },
          r.createElement(Gt, { appId: u, clanId: m, bShowRSSFeed: !0 }),
        );
      }
      return null;
    }
    let Vr = class extends r.Component {
      GetCurrentSectionLayout() {
        let e = 0;
        return Object(Tn.b)()
          .GetCalendarSections(this.props.bShowFutureViewOnly)
          .map((t) => {
            const n = Math.max(e, t.nTopOffset),
              a = n + t.nRenderedHeight;
            return (e = a), { section: t, nTopOfSection: n };
          });
      }
      GetMergeEventsType() {
        const e = Object(Tn.b)(),
          t = e.GetCollectionID();
        return e.BIsSingleSourceCalendar() || t === jn.a.Steam
          ? "none"
          : e.BIsShowingFeaturedFeed()
            ? "full"
            : t
              ? "samesource"
              : "full";
      }
      GetCuratorSuggestionSettings(e) {
        if (o.j.accountid && Bt.b.bIsCuratorsEnabled)
          if (e.BIsGlobalCalendar() && !this.props.bShowFutureViewOnly) {
            if (e.m_visibilityStore.BIsGameSourceAllowed(Rn.c.k_ECurator))
              return {
                nInlineOffset: 1e3,
                bInlineDismissable: !0,
                bShowAtEnd: !0,
              };
          } else if (e.GetCollectionID() === jn.a.Press)
            return {
              nInlineOffset: 1e3,
              bInlineDismissable: !1,
              bShowAtEnd: !1,
            };
        return {
          nInlineOffset: void 0,
          bInlineDismissable: !1,
          bShowAtEnd: !1,
        };
      }
      render() {
        const e = Object(Tn.b)(),
          {
            bShowFutureViewOnly: t,
            bShowUpdatesOnly: n,
            fnOnEventClick: a,
            fnToggleSeeFuture: i,
            fnResetFilters: s,
            nScrollTop: o,
            nDisappearingHeaderVisibleHeight: l,
          } = this.props,
          c = e.GetCalendarSections(t);
        if (0 == c.length) return null;
        const d = Object(ja.a)(),
          u = e.m_visibilityStore.BAreAllEventsHidden(),
          m = o;
        let p = !0;
        const _ = this.GetCuratorSuggestionSettings(e);
        let g;
        const b = u
          ? []
          : this.GetCurrentSectionLayout().map(
              ({ section: e, nTopOfSection: n }, s) => {
                const {
                    strId: o,
                    strSectionLabel: l,
                    rtSectionStart: c,
                    rtSectionEnd: u,
                    bIsFutureSection: b,
                    nRenderedHeight: f,
                  } = e,
                  v = n < m,
                  S = Object(h.a)(ir.a.PastSection, p && ir.a.DarkerBackground);
                f > 0 &&
                  ((p = !p),
                  void 0 !== _.nInlineOffset &&
                    n >= _.nInlineOffset &&
                    void 0 === g &&
                    (g = s));
                const y = !t && b;
                return r.createElement(
                  er.a,
                  {
                    key: o,
                    className: ir.a.LazyCalendarSectionCtn,
                    placeholderHeight: f,
                    rootMargin: "100% 0px 100% 0px",
                  },
                  r.createElement(Zr, {
                    bRenderStickyHeader: v,
                    strSectionLabel: l,
                    rtSectionStart: c,
                    rtSectionEnd: u,
                    strSectionClassname: S,
                    bUseHorizontalLayout: y,
                    fnOnSeeFutureClick: i,
                    bShowEarliestFirst: t || y,
                    section: e,
                    fnOnEventClick: a,
                    bSuppressHoverEffects: d,
                    strMergeEvents: this.GetMergeEventsType(),
                  }),
                );
              },
            );
        void 0 !== g &&
          b.splice(
            g,
            0,
            r.createElement(ar, {
              key: "CuratorSuggestions",
              bCanDismiss: _.bInlineDismissable,
            }),
          ),
          e.GetCollectionID() === jn.a.Press &&
            b.splice(0, 0, r.createElement(Pr, { key: "LanguageFeedRow" }));
        const f = c[0].rtSectionStart,
          v = Object(Tn.b)().GetCurrentlyLoadedEventCount(0, f),
          S = Object(Tn.b)().GetCurrentlyLoadedEventCount(f);
        let y =
            v &&
            (v.nCount
              ? "#EventCalendar_NoMorePastEvents"
              : "#EventCalendar_NoPastEvents"),
          E =
            s &&
            r.createElement(
              Qe.a,
              {
                key: "link-back",
                toolTipContent: Object($.f)("#EventCalendar_ResetFilters_ttip"),
                className: Object(h.a)(ir.a.BackToThePast, ir.a.NoCount),
                onClick: s,
              },
              Object($.f)("#EventCalendar_ResetFiltersButton"),
            );
        u && this.props.fnResetFilters
          ? (y = "#EventCalendar_EmptyCalendar")
          : t
            ? ((y =
                S &&
                (S.nCount
                  ? "#EventCalendar_NoMoreFutureEvents"
                  : "#EventCalendar_NoFutureEvents")),
              (E =
                v &&
                r.createElement(
                  "div",
                  {
                    key: "link-back",
                    className: ir.a.BackToThePast,
                    onClick: i,
                  },
                  Object($.f)("#EventCalendar_PastEventsLink"),
                  r.createElement(
                    "span",
                    { className: ir.a.SeeAllCount },
                    v.nCount + (v.bIsComplete ? "" : "+"),
                  ),
                )))
            : n &&
              (y =
                v &&
                (v.nCount
                  ? "#EventCalendar_NoMorePastUpdates"
                  : "#EventCalendar_NoPastUpdates"));
        let C = null;
        return (
          (u || e.BHitEventHorizon(t ? "forward" : "backward")) &&
            (C = r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                {
                  key: "no-more-events",
                  className: Object(h.a)(ir.a.EndOfRows, ir.a.CalendarRow),
                },
                r.createElement(
                  "div",
                  { className: ir.a.NoMoreRows },
                  " ",
                  Object($.f)(y),
                  " ",
                ),
              ),
              _.bShowAtEnd &&
                r.createElement(ar, {
                  key: "CuratorSuggestions",
                  bCanDismiss: !1,
                }),
              E,
            )),
          r.createElement(
            "div",
            {
              className: ir.a.RowContainer,
              style: { transform: `translateY(${l - 1}px)` },
            },
            r.createElement(
              "div",
              { className: ir.a.Rows },
              n &&
                r.createElement(
                  "div",
                  { className: ir.a.UpdatePageBanner },
                  Object($.f)("#EventCalendar_UpdatesViewHeader"),
                ),
              b,
              C,
            ),
          )
        );
      }
    };
    Vr = Object(a.b)([m.a], Vr);
    let qr = class extends r.Component {
      render() {
        const e = this.props.rgCalendarItems[0].start_time,
          t = Object(Tn.b)().GetCurrentlyLoadedEventCount(e);
        return this.props.rgCalendarItems.length <= 1
          ? null
          : r.createElement(
              "div",
              {
                key: "see-all-link",
                className: ir.a.MobileSeeAllink,
                onClick: this.props.fnOnSeeFutureClick,
              },
              Object($.f)("#EventCalendar_FutureEventsLink"),
              r.createElement(
                "span",
                { className: ir.a.SeeAllCount },
                t.nCount + (t.bIsComplete ? "" : "+"),
              ),
            );
      }
    };
    qr = Object(a.b)([m.a], qr);
    let Kr = class extends r.Component {
      render() {
        const {
          rgCalendarItems: e,
          fnOnEventClick: t,
          fnOnSeeFutureClick: n,
          bSuppressHoverEffects: a,
        } = this.props;
        return e && 0 != e.length
          ? r.createElement(
              "div",
              { className: ir.a.CalendarRow },
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    ir.a.HorizontalTileContainer,
                    "HorizontalTileCtn",
                  ),
                },
                r.createElement(
                  "div",
                  { className: ir.a.HorizontalTiles },
                  e.map((n) =>
                    r.createElement($a, {
                      key: "ht-" + n.unique_id,
                      calendarEvent: n,
                      partnerEventStore: St.b,
                      fnOnClicked: t,
                      bSuppressHoverEffects: a,
                      mode: e.length > 1 ? "upcoming" : "wide",
                      bHideGameTitle:
                        Object(Tn.b)().BIsSingleSourceCalendar() &&
                        Object(Tn.b)().BEventMatchCalendarSingleSource(n),
                    }),
                  ),
                ),
                r.createElement(qr, {
                  rgCalendarItems: e,
                  fnOnSeeFutureClick: n,
                }),
              ),
            )
          : null;
      }
    };
    Kr = Object(a.b)([m.a], Kr);
    const Qr = Object(m.a)((e) => {
      const { calendarItem: t, bSuppressHoverEffects: n } = e,
        a = St.b.GetClanEventModel(t.unique_id);
      return a
        ? r.createElement(
            "div",
            { className: ir.a.EventListTitle },
            r.createElement(qa, {
              eventModel: a,
              calendarEvent: t,
              bSuppressHoverEffects: n,
            }),
          )
        : null;
    });
    var Yr;
    !(function (e) {
      e[(e.eCurators = 1)] = "eCurators";
    })(Yr || (Yr = {}));
    let Zr = (Gr = class extends r.Component {
      constructor() {
        super(...arguments), (this.m_ref = r.createRef());
      }
      componentDidMount() {
        this.UpdatePositioning();
      }
      componentDidUpdate() {
        this.UpdatePositioning();
      }
      UpdatePositioning() {
        this.m_ref.current &&
          Object(L.G)(() => {
            const { section: e } = this.props,
              t = this.m_ref.current.getBoundingClientRect().height;
            e.nRenderedHeight != t && (e.nRenderedHeight = t);
            const n = this.m_ref.current.offsetTop;
            e.nTopOffset != n && (e.nTopOffset = n);
          });
      }
      get cachedCalendarItems() {
        return Object(Tn.b)().GetCalendarItemsInTimeRange(
          Object(ba.a)(() => this.props.rtSectionStart),
          Object(ba.a)(() => this.props.rtSectionEnd),
        );
      }
      GetCarouselGroupTitle(e) {
        return e.BIsShowingFeaturedFeed()
          ? Object($.f)("#EventCalendar_GroupTitle_FeaturedCurators")
          : e.BIsGlobalCalendar()
            ? Object($.f)("#EventCalendar_GroupTitle_Curators")
            : "";
      }
      GenerateKeyFromItem(e, t) {
        return t.GetSource() & va.a.k_eSteam || t.appid || "full" !== e
          ? t.clanid
          : Yr.eCurators;
      }
      static IsTimestampInRange(e, t, n) {
        return Boolean(e) && t < e && e <= n;
      }
      GetTimestampEvents(e) {
        const t = new Array();
        return t;
      }
      AddTimestampEventsInInterval(e, t, n, a) {
        for (const r of e)
          Gr.IsTimestampInRange(r.rtTime, t, n) && a.push(r.component);
      }
      RenderEventList(e) {
        const {
            fnOnEventClick: t,
            bSuppressHoverEffects: n,
            strMergeEvents: a,
          } = this.props,
          i = Object(Tn.b)();
        let s = null;
        if ("none" !== a) {
          s = new Map();
          for (const t of e) {
            const e = this.GenerateKeyFromItem(a, t),
              n = s.get(e);
            if (n) n.push(t);
            else {
              const n = new Array();
              n.push(t), s.set(e, n);
            }
          }
        }
        const o = new Array(),
          l = new Array(),
          c = "full" === a ? l : o,
          d = this.GetTimestampEvents(i);
        let u = this.props.bShowEarliestFirst
          ? this.props.rtSectionStart
          : this.props.rtSectionEnd;
        for (const l of e) {
          let e = o;
          if (s) {
            const o = this.GenerateKeyFromItem(a, l),
              d = s.get(o);
            if (!d) continue;
            if ((o === Yr.eCurators && (e = c), d.length >= 3)) {
              const a = o === Yr.eCurators ? this.GetCarouselGroupTitle(i) : "",
                c = !d.find((e) => e.clanid != l.clanid);
              d.sort((e, t) =>
                t.score != e.score
                  ? t.score - e.score
                  : t.start_time - e.start_time,
              ),
                e.push(
                  r.createElement(
                    "div",
                    { key: l.unique_id, className: ir.a.CalendarEventListRow },
                    r.createElement(
                      "div",
                      { className: ir.a.CalendarEventListContainer },
                      r.createElement(Or, {
                        key: l.unique_id,
                        rgCalendarItems: d,
                        bSuppressHoverEffects: n,
                        fnOnEventClick: t,
                        bHideGameTitle: c,
                        strMultipleSourceTitle: a,
                      }),
                    ),
                  ),
                ),
                s.delete(o);
              continue;
            }
          }
          e === o &&
            (this.AddTimestampEventsInInterval(
              d,
              Math.min(u, l.start_time),
              Math.max(u, l.start_time),
              o,
            ),
            (u = l.start_time)),
            e.push(
              r.createElement(
                "div",
                { key: l.unique_id, className: ir.a.CalendarRow },
                r.createElement($a, {
                  calendarEvent: l,
                  partnerEventStore: St.b,
                  mode: "wide",
                  fnOnClicked: t,
                  bSuppressHoverEffects: n,
                  bHideGameTitle:
                    i.BIsSingleSourceCalendar() &&
                    i.BEventMatchCalendarSingleSource(l),
                }),
              ),
            );
        }
        return (
          this.props.bShowEarliestFirst
            ? this.AddTimestampEventsInInterval(
                d,
                u,
                this.props.rtSectionEnd,
                o,
              )
            : this.AddTimestampEventsInInterval(
                d,
                this.props.rtSectionStart,
                u,
                o,
              ),
          o.push(...l),
          o
        );
      }
      render() {
        const {
          bRenderStickyHeader: e,
          strSectionLabel: t,
          strSectionClassname: n,
          bUseHorizontalLayout: a,
          fnOnSeeFutureClick: i,
          bShowEarliestFirst: s,
          fnOnEventClick: o,
          bSuppressHoverEffects: l,
        } = this.props;
        let { rgCalendarItems: c, bIsComplete: d } = this.cachedCalendarItems;
        if (0 == c.length && d)
          return r.createElement("div", { ref: this.m_ref, className: n });
        c.length && s && (c = c.slice().reverse());
        let u = null;
        c.length > 0 &&
          (u = r.createElement(
            "div",
            {
              className: Object(h.a)(
                ir.a.GroupHeader,
                ir.a.CalendarRow,
                e && ir.a.HeaderAtTop,
              ),
            },
            r.createElement(
              "div",
              { className: ir.a.GroupHeaderTitle },
              r.createElement("span", null, t),
              r.createElement("div", { className: ir.a.GroupHeaderLine }),
              a &&
                c.length > 3 &&
                r.createElement(
                  "div",
                  { className: ir.a.SeeAllLink, onClick: i },
                  Object($.f)("#EventCalendar_FutureEventsLink"),
                  r.createElement(
                    "span",
                    { className: ir.a.SeeAllCount },
                    c.length + (d ? "" : "+"),
                  ),
                ),
            ),
          ));
        let m = null;
        return (
          (!Bt.b.bRequireAllEventsLoadedInTimeBlock ||
            d ||
            (a && c.length >= 3)) &&
            (m = a
              ? r.createElement(Kr, {
                  rgCalendarItems: c.slice(0, 3),
                  fnOnEventClick: o,
                  fnOnSeeFutureClick: i,
                  bSuppressHoverEffects: l,
                })
              : this.RenderEventList(c)),
          r.createElement(
            "div",
            { ref: this.m_ref, className: n },
            u,
            m,
            !d &&
              !a &&
              r.createElement(Jr, {
                bShowEarliestFirst: this.props.bShowEarliestFirst,
              }),
          )
        );
      }
    });
    Object(a.b)([L.n], Zr.prototype, "cachedCalendarItems", null),
      (Zr = Gr = Object(a.b)([m.a], Zr));
    const Jr = (e) => {
        const t = Object(Tn.b)().GetTimeEdgeForDirection(
          e.bShowEarliestFirst ? "forward" : "backward",
          void 0,
        );
        return r.createElement(
          "div",
          { className: ir.a.Loading },
          r.createElement(ee.a, { size: "xlarge", position: "center" }),
          t &&
            r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                { className: ir.a.LoadingProgress },
                Object($.f)(
                  "#EventCalendar_LoadEventsProgress",
                  Number(Object(Tn.b)().GetNumEventsLoaded()).toLocaleString(),
                  Object($.g)(t),
                ),
              ),
              r.createElement(
                "div",
                { className: ir.a.AdjustFiltersText },
                Object($.f)("#EventCalendar_LoadEventsFilters"),
              ),
            ),
        );
      },
      Xr = (e) =>
        r.createElement(
          "div",
          {
            className: Object(h.a)(
              ir.a.LogInFeedRow,
              !e.bLargeMode && ir.a.LogInSmallMode,
            ),
            style: { transform: `translateY(${e.nTopOffset}px)` },
          },
          r.createElement(
            "div",
            { className: ir.a.PromptCtn },
            r.createElement(
              "div",
              { className: ir.a.LogInFeedTitle },
              Object($.f)("#EventCalendar_SignIn_Title"),
            ),
            r.createElement(
              "button",
              { onClick: Nr.a, className: ir.a.LogInButton },
              Object($.f)("#Login_SignIn"),
            ),
            r.createElement(
              "div",
              { className: ir.a.LogInFeedText },
              Object($.f)("#EventCalendar_SignIn_Text"),
            ),
          ),
        );
    var $r = n("wd/R"),
      ei = n.n($r);
    class ti {
      constructor() {
        this.m_dateLoadTime = Bt.b.GetTimeNowWithOverrideAsDate();
      }
      IsCurrentlyVisible(e) {
        return (
          (!e.startVisible || e.startVisible <= this.m_dateLoadTime) &&
          (!e.endVisible || e.endVisible >= this.m_dateLoadTime)
        );
      }
      static IsCurrentlyActive(e) {
        const t = Bt.b.GetTimeNowWithOverrideAsDate();
        return (
          (!e.startEvent || e.startEvent <= t) &&
          (!e.endEvent || e.endEvent >= t)
        );
      }
      static LocalizeDateString(e) {
        if (!e.startEvent) return null;
        const t = e.startEvent.toLocaleDateString($.e.GetPreferredLocales(), {
          month: "long",
          day: "numeric",
        });
        if (!e.endEvent) return t;
        const n = {
          month:
            e.startEvent.getMonth() != e.endEvent.getMonth() ? "long" : void 0,
          day: "numeric",
        };
        return `${t} - ${e.endEvent.toLocaleDateString($.e.GetPreferredLocales(), n)}`;
      }
      GetVisibleSpecialEvents() {
        return [
          {
            sLocToken: "#NewsHubSpecialEvent_GameFestival",
            startVisible: new Date(
              1e3 * ei()("2020-06-16T14:00:00-07:00").unix(),
            ),
            endVisible: new Date(
              1e3 * ei()("2020-06-22T10:00:00-07:00").unix(),
            ),
            startEvent: new Date(
              1e3 * ei()("2020-06-16T10:00:00-07:00").unix(),
            ),
            endEvent: new Date(1e3 * ei()("2020-06-22T10:00:00-07:00").unix()),
            newshubUrl: "news/collection/GameFestival2020",
          },
        ].filter((e) => this.IsCurrentlyVisible(e));
      }
    }
    const ni = new ti();
    class ai extends r.Component {
      render() {
        const { specialEvent: e } = this.props,
          t = window.location.href === o.c.STORE_BASE_URL + e.newshubUrl,
          n = ti.IsCurrentlyActive(e),
          a = ti.LocalizeDateString(e);
        return r.createElement(
          In.b,
          { to: "/" + e.newshubUrl },
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                ir.a.SpecialEvent,
                t && ir.a.SpecialEventOnPage,
                n && ir.a.SpecialEventActive,
              ),
            },
            r.createElement(
              "div",
              { className: ir.a.SpecialEventTitle },
              Object($.f)(e.sLocToken),
            ),
            a &&
              r.createElement("div", { className: ir.a.SpecialEventTime }, a),
          ),
        );
      }
    }
    class ri extends r.Component {
      render() {
        const e = ni.GetVisibleSpecialEvents();
        return 0 === e.length
          ? null
          : r.createElement(
              "div",
              { className: ir.a.SpecialEventListGroup },
              r.createElement(
                "div",
                { className: ir.a.SpecialEventListTitle },
                Object($.f)("#Events_SpecialEvents"),
              ),
              r.createElement(
                "div",
                { className: ir.a.SpecialEventList },
                e.map((e) =>
                  r.createElement(ai, { key: e.sLocToken, specialEvent: e }),
                ),
              ),
            );
      }
    }
    var ii = n("iuT4"),
      si = n.n(ii);
    class oi extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { bInScroll: !1, nStartXPos: 0, nStartScrollLeft: 0 }),
          (this.m_hSlider = r.createRef());
      }
      OnPointerDown(e) {
        const t = this.m_hSlider.current;
        t &&
          (t.scrollWidth <= t.clientWidth ||
            (this.setState({
              bInScroll: !1,
              nStartXPos: e.pageX - t.offsetLeft,
              nStartScrollLeft: t.scrollLeft,
            }),
            t.addEventListener("pointerup", this.OnPointerUp),
            t.addEventListener("pointerleave", this.OnPointerUp),
            t.addEventListener("pointercapturelost", this.OnPointerUp),
            t.addEventListener("pointermove", this.OnPointerMove)));
      }
      OnPointerUp(e) {
        const t = this.m_hSlider.current;
        t &&
          (this.state.bInScroll &&
            (t.releasePointerCapture(e.pointerId),
            document.body.classList.remove(
              si.a.HorizontalScrollInDragForceCursor,
            ),
            this.props.dragClassName &&
              t.classList.remove(this.props.dragClassName)),
          t.removeEventListener("pointerup", this.OnPointerUp),
          t.removeEventListener("pointerleave", this.OnPointerUp),
          t.removeEventListener("pointercapturelost", this.OnPointerUp),
          t.removeEventListener("pointermove", this.OnPointerMove));
      }
      OnPointerMove(e) {
        const t = this.m_hSlider.current;
        if (!t) return;
        e.preventDefault();
        const n =
            (e.pageX - t.offsetLeft - this.state.nStartXPos) *
            (this.props.scrollMultiplier || oi.knDefaultScrollMultiplier),
          a = this.state.nStartScrollLeft - n,
          r = Math.abs(a - this.state.nStartScrollLeft),
          i = this.props.minDragPixels || oi.knDefaultMinDragPixels;
        !this.state.bInScroll &&
          r >= i &&
          ((t.scrollLeft = a),
          this.setState({ bInScroll: !0 }),
          document.body.classList.add(si.a.HorizontalScrollInDragForceCursor),
          this.props.dragClassName && t.classList.add(this.props.dragClassName),
          t.setPointerCapture(e.pointerId)),
          this.state.bInScroll && (t.scrollLeft = a);
      }
      render() {
        return r.createElement(
          Ct.a,
          {
            ref: this.m_hSlider,
            className: this.props.className,
            onPointerDown: this.OnPointerDown,
          },
          this.props.children,
        );
      }
    }
    (oi.knDefaultScrollMultiplier = 1),
      (oi.knDefaultMinDragPixels = 20),
      Object(a.b)([u.b], oi.prototype, "OnPointerDown", null),
      Object(a.b)([u.b], oi.prototype, "OnPointerUp", null),
      Object(a.b)([u.b], oi.prototype, "OnPointerMove", null);
    var li = n("2v/W"),
      ci = n.n(li);
    function di() {
      return Object($.j)(new Date());
    }
    const ui = (e) => {
        const t = o.c.PUBLIC_SHARED_URL + "images/";
        return r.createElement(
          "div",
          { className: ci.a.LegalFooter },
          r.createElement(
            "div",
            { className: ci.a.mainmenu_links_china },
            r.createElement(
              "a",
              { href: o.c.STORE_BASE_URL + "about" },
              "关于蒸汽平台",
            ),
            "  |  ",
            r.createElement(
              "a",
              { href: o.c.STORE_BASE_URL + "steam_refunds" },
              "退款政策",
            ),
            "  |  ",
            r.createElement(
              "a",
              { href: o.c.STORE_BASE_URL + "subscriber_agreement" },
              "软件许可服务协议",
            ),
            "  |  ",
            r.createElement("br", null),
            r.createElement(
              "a",
              { href: o.c.STORE_BASE_URL + "privacy_agreement" },
              "个人信息保护政策",
            ),
            "  |  ",
            r.createElement(
              "a",
              {
                href: "https://about.steamchina.com/content_report.html",
                target: "_blank",
                rel: "noreferrer",
              },
              "不良内容举报投诉",
            ),
            "  |  ",
            r.createElement(
              "a",
              {
                href: "https://about.steamchina.com/infringement_report.html",
                target: "_blank",
                rel: "noreferrer",
              },
              "侵权投诉",
            ),
            "  |  ",
            r.createElement(
              "a",
              {
                href: "https://about.steamchina.com/parentguardianship_agreement.html",
                target: "_blank",
                rel: "noreferrer",
              },
              "家长监护",
            ),
          ),
          r.createElement("div", { className: ci.a.mainmenu_line }),
          r.createElement(
            "div",
            { className: ci.a.mainmenu_logos_china },
            r.createElement(
              "a",
              {
                href: "https://www.wanmei.com/",
                target: "_blank",
                rel: "noreferrer",
              },
              r.createElement("img", {
                className: ci.a.mainmenu_china_pw_logo,
                src: t + "footer/pw_logo_gy.svg?v=1",
              }),
            ),
            r.createElement(
              "a",
              {
                href: "https://valvesoftware.com",
                target: "_blank",
                rel: "noreferrer",
              },
              r.createElement("img", {
                className: ci.a.mainmenu_china_valve_logo,
                src: t + "footer/valve_logo_gy.svg?v=1",
              }),
            ),
          ),
          r.createElement(
            "div",
            { className: ci.a.mainmenu_legal_china },
            r.createElement(
              "div",
              { className: ci.a.mainmenu_legal_valvelegal },
              `© ${di()} Valve Corporation 版权所有，完美世界已获授权`,
              r.createElement("br", null),
              "所有商标均属于其在美国或其他国家的拥有者。",
            ),
            r.createElement(
              "div",
              { className: ci.a.mainmenu_legal_pwlegal },
              "© 完美世界征奇(上海)多媒体科技有限公司 版权所有。",
              r.createElement("br", null),
              "增值电信业务经营许可证沪B2-20180406",
            ),
          ),
        );
      },
      mi = (e) =>
        r.createElement(
          "div",
          { className: ci.a.LegalFooter },
          r.createElement("img", {
            src: o.c.STORE_CDN_URL + "public/images/footerLogo_valve_new.png",
          }),
          r.createElement(
            "div",
            { className: ci.a.FooterLegal },
            Object($.f)("#Legal_Footer_WithYear", di()),
          ),
        ),
      pi = (e) =>
        o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina
          ? r.createElement(ui, null)
          : r.createElement(mi, null);
    class hi {
      constructor() {
        (this.m_curDisplay = "desktop_navigation"),
          (this.m_fnGetRouterHistory = void 0);
      }
      static Get() {
        return (
          hi.s_GlobalStore || (hi.s_GlobalStore = new hi()), hi.s_GlobalStore
        );
      }
      UpdateLocation(e, t) {
        this.m_fnGetRouterHistory = e;
        const n = Dr(t, "optionpane");
        if (n)
          switch (n) {
            case "event_filter":
            case "browse_curator":
            case "desktop_navigation":
              this.m_curDisplay != n && (this.m_curDisplay = n);
          }
        else
          "desktop_navigation" != this.m_curDisplay &&
            (this.m_curDisplay = "desktop_navigation");
        return this.m_curDisplay;
      }
      SetDisplay(e) {
        (this.m_curDisplay = e),
          this.m_fnGetRouterHistory &&
            Tr(
              this.m_fnGetRouterHistory(),
              "optionpane",
              "desktop_navigation" == this.m_curDisplay
                ? void 0
                : this.m_curDisplay,
            );
      }
      GetDisplay() {
        return this.m_curDisplay;
      }
      ShowBrowseCurator(e) {
        zr()
          ? hi.Get().SetDisplay("browse_curator")
          : Object(ze.d)(r.createElement(ua, null), Object(v.o)(e));
      }
    }
    Object(a.b)([L.C], hi.prototype, "m_curDisplay", void 0);
    let _i = class extends r.Component {
      GetVisibilityStore() {
        return Object(Tn.b)().m_visibilityStore;
      }
      OnEventTypeChange(e, t) {
        this.GetVisibilityStore().SetEventTypeGroupAllowed(e, t),
          this.props.fnOnFilterChange();
      }
      RenderEventTypeCheckbox(e) {
        const t = this.GetVisibilityStore().BIsEventTypeGroupAllowed(e);
        return r.createElement(
          Qe.a,
          {
            key: `group-${e}`,
            toolTipContent: Object($.f)(
              "#EventCalendar_EventTypeGroup_ttip_" + e,
            ),
            direction: "top",
          },
          r.createElement(
            "div",
            { className: Object(h.a)(ir.a.FilterOption, ir.a.FilterEventType) },
            r.createElement(te.f, {
              label: Object($.f)("#EventCalendar_EventTypeGroup_" + e),
              checked: t,
              onChange: (t) => this.OnEventTypeChange(e, t),
            }),
          ),
        );
      }
      OnGameSourceChange(e, t) {
        this.GetVisibilityStore().SetGameSourceAllowed(e, t),
          this.props.fnOnFilterChange();
      }
      RenderGameSourceCheckbox(e, t) {
        const n =
          this.GetVisibilityStore().BIsGameSourceAllowed(e) ||
          (e == Rn.c.k_ELibrary &&
            this.GetVisibilityStore().BIsGameSourceAllowed(Rn.c.k_ERecent));
        return r.createElement(
          Qe.a,
          {
            key: `gs-${e}`,
            direction: "top",
            toolTipContent: t
              ? Object($.f)("#EventCalendar_DisabledFilter_LoginPrompt")
              : Object($.f)("#EventCalendar_GameSource_ttip_" + e),
          },
          r.createElement(
            "div",
            {
              className: Object(h.a)(ir.a.FilterOption, ir.a.FilterGameSource),
            },
            r.createElement(te.f, {
              label: Object($.f)("#EventCalendar_GameSource_" + e),
              checked: n,
              disabled: t,
              onChange: (t) => this.OnGameSourceChange(e, t),
            }),
          ),
        );
      }
      render() {
        const { bUserIsLoggedIn: e } = this.props,
          t = Object(Tn.b)();
        let n = !0;
        if (t.BIsSingleGroupCalendar()) {
          let e = wt.a.GetClanInfoByClanAccountID(t.GetSingleGroupID());
          e && e.has_rss_feed && (n = !1);
        } else
          !t.BIsCollectionCalendar() ||
            (t.GetKey().collectionid != jn.a.Press &&
              t.GetKey().collectionid != jn.a.Dev_Sales &&
              t.GetKey().collectionid != jn.a.Dev_AssociatedPress) ||
            (n = !1);
        const a = An.a.Get().GetMutedSourceCount(),
          i =
            t.BIsSingleSourceMuted() || (!t.BIsSingleSourceCalendar() && a > 0);
        return r.createElement(
          gi,
          {
            title: Object($.f)("#EventCalendar_FiltersTitle"),
            description: Object($.f)(
              t.BIsGlobalCalendar()
                ? "#EventCalendar_FiltersDescription"
                : "#EventCalendar_FiltersDescription_NonPersonalized",
            ),
          },
          r.createElement(
            "div",
            { className: ir.a.FilterSection },
            n &&
              r.createElement(
                "div",
                { className: ir.a.FilterSubSection },
                r.createElement(
                  "div",
                  { className: ir.a.FilterSubSectionTitle },
                  Object($.f)(
                    "#EventCalendar_FilterSubSection_EventTypeGroups",
                  ),
                ),
                this.RenderEventTypeCheckbox(Rn.b.k_EEvents),
                this.RenderEventTypeCheckbox(Rn.b.k_EStreaming),
                this.RenderEventTypeCheckbox(Rn.b.k_EUpdates),
                this.RenderEventTypeCheckbox(Rn.b.k_EReleases),
                this.RenderEventTypeCheckbox(Rn.b.k_ESales),
                this.RenderEventTypeCheckbox(Rn.b.k_ENews),
              ),
            Boolean(t.BIsGlobalCalendar()) &&
              r.createElement(
                "div",
                { className: ir.a.FilterSubSection },
                r.createElement(
                  "div",
                  { className: ir.a.FilterSubSectionTitle },
                  Object($.f)("#EventCalendar_FilterSubSection_GameSources"),
                ),
                this.RenderGameSourceCheckbox(Rn.c.k_ELibrary, !e),
                r.createElement(
                  "div",
                  { className: ir.a.FilterSubOption },
                  this.RenderGameSourceCheckbox(Rn.c.k_ERecent, !e),
                ),
                this.RenderGameSourceCheckbox(Rn.c.k_EWishlist, !e),
                Bt.b.bIsFollowingEnabled &&
                  this.RenderGameSourceCheckbox(Rn.c.k_EFollowing, !e),
                this.RenderGameSourceCheckbox(Rn.c.k_ERecommended, !e),
                this.RenderGameSourceCheckbox(Rn.c.k_ESteam),
                Bt.b.bIncludeFeaturedAsGameSource &&
                  this.RenderGameSourceCheckbox(Rn.c.k_EFeatured),
              ),
            Boolean(
              Bt.b.bIsCuratorsEnabled &&
                (t.BIsGlobalCalendar() || t.BIsSingleAppCalendar()),
            ) &&
              r.createElement(
                "div",
                { className: ir.a.FilterSubSection },
                r.createElement(
                  "div",
                  { className: ir.a.FilterSubSectionTitle },
                  Object($.f)("#EventCalendar_FilterSubSection_CuratorSources"),
                ),
                this.RenderGameSourceCheckbox(Rn.c.k_ECurator, !e),
                r.createElement(
                  "div",
                  {
                    className: ir.a.FilterLink,
                    onClick: hi.Get().ShowBrowseCurator,
                  },
                  Object($.f)("#EventCalendar_BrowseCurators"),
                ),
              ),
            Boolean(t.BIsSingleSourceMuted()) &&
              r.createElement(
                "div",
                null,
                Object($.f)(
                  t.BIsSingleGroupCalendar()
                    ? "#EventCalendar_SingleGroupIsMuted"
                    : "#EventCalendar_SingleAppIsMuted",
                ),
              ),
          ),
          r.createElement(
            "div",
            { className: ir.a.SideBarFilterNavLinks },
            i &&
              r.createElement(
                E.c,
                {
                  className: ir.a.MutedSourcesGroup,
                  href: o.c.STORE_BASE_URL + "account/emailoptout/app",
                  bDisableContextMenu: !0,
                },
                r.createElement(
                  "div",
                  { className: ir.a.FilterLink },
                  r.createElement(H.wb, { muted: !0 }),
                  Object($.f)("#EventCalendar_ManageMutedSources"),
                  r.createElement("div", { className: ir.a.NumberDisplay }, a),
                ),
              ),
            r.createElement(
              E.c,
              {
                href: o.c.STORE_BASE_URL + "account/preferences",
                bDisableContextMenu: !0,
              },
              r.createElement(
                "div",
                { className: ir.a.FilterLink },
                r.createElement(H.a, null),
                Object($.f)("#EventCalendar_ManageStorePref"),
              ),
            ),
          ),
        );
      }
    };
    _i = Object(a.b)([m.a], _i);
    const gi = (e) =>
      r.createElement(
        "div",
        { className: ir.a.FilterControlPage },
        r.createElement("div", { className: ir.a.FiltersTitle }, e.title),
        Boolean(e.description) &&
          r.createElement(
            "div",
            { className: ir.a.FiltersDescription },
            e.description,
          ),
        e.children,
      );
    let bi = class extends r.Component {
      OpenFilterSettings(e) {
        hi.Get().SetDisplay(e ? "event_filter" : "desktop_navigation");
      }
      render() {
        const {
            bUserIsLoggedIn: e,
            nDisappearingHeaderVisibleHeight: t,
            bIsCollapsed: n,
            fnToggleCollapsed: a,
            fnOnFilterChange: i,
          } = this.props,
          s = zr(),
          o = r.createElement(
            "div",
            {
              className: ir.a.MobileCloseButton,
              onClick: () => {
                this.OpenFilterSettings(!1), a();
              },
            },
            r.createElement(H.db, null),
          ),
          l = n ? Math.max(0, t) : 0,
          c = s
            ? null
            : r.createElement(
                "div",
                { onClick: a, className: ir.a.CollapseButton },
                r.createElement(
                  "div",
                  {
                    style: { marginTop: `${l}px` },
                    className: ir.a.DesktopButton,
                  },
                  r.createElement(H.t, { angle: n ? 180 : 0 }),
                ),
              ),
          d = s
            ? null
            : r.createElement(
                "div",
                {
                  onClick: () => this.OpenFilterSettings(!1),
                  className: ir.a.CollapseButton,
                },
                r.createElement(
                  "div",
                  {
                    style: { marginTop: `${l}px` },
                    className: ir.a.DesktopButton,
                  },
                  r.createElement(H.db, null),
                ),
              ),
          u = "desktop_navigation" != hi.Get().GetDisplay() ? d : c,
          m = n ? null : { top: `${t}px` };
        Object(Tn.b)();
        let p;
        switch (hi.Get().GetDisplay()) {
          case "event_filter":
            p = r.createElement(_i, {
              bUserIsLoggedIn: e,
              fnOnFilterChange: i,
            });
            break;
          case "browse_curator":
            p = r.createElement(ma, null);
            break;
          case "desktop_navigation":
            p = r.createElement(
              fi,
              Object.assign({}, this.props, {
                fnOpenFilterSettings: this.OpenFilterSettings,
              }),
            );
        }
        return r.createElement(
          r.Fragment,
          null,
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                ir.a.SidebarContainer,
                n && ir.a.SidebarCollapsed,
              ),
              style: m,
            },
            n
              ? u
              : r.createElement(
                  "div",
                  { className: ir.a.Sidebar },
                  o,
                  u,
                  r.createElement(
                    "div",
                    { className: ir.a.ControlPageContainer },
                    p,
                  ),
                ),
          ),
        );
      }
    };
    Object(a.b)([u.b], bi.prototype, "OpenFilterSettings", null),
      (bi = Object(a.b)([m.a], bi));
    const fi = Object(m.a)((e) => {
      const { bShouldIncludeLegalFooter: t, bShowUpcoming: n } = e,
        a =
          "Responsive_RequestMobileView" in window &&
          window.Responsive_RequestMobileView;
      return r.createElement(
        r.Fragment,
        null,
        r.createElement(
          "div",
          { className: ir.a.SidebarBackground },
          r.createElement(H.jb, null),
        ),
        r.createElement(
          "div",
          { className: ir.a.SidebarTitle },
          Object($.o)("#EventCalendar_Title", r.createElement("br", null)),
        ),
        r.createElement(Ii, { bIsUpcoming: n }),
        r.createElement(ri, null),
        r.createElement(
          "div",
          { className: ir.a.SidePanelGameSearch },
          r.createElement(vi, {
            label: Object($.f)("#EventCalendar_UniversalSearch"),
          }),
        ),
        r.createElement(Ti, { bIsUpcoming: n }),
        r.createElement(
          "div",
          { className: ir.a.FilterSettingsCtn },
          r.createElement(
            "div",
            {
              className: Object(h.a)(ir.a.FilterLink, ir.a.OpenFilterSettings),
              onClick: () => e.fnOpenFilterSettings(!0),
            },
            r.createElement(H.bb, null),
            Object($.f)("#EventCalendar_EditFilters"),
          ),
        ),
        a &&
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                ir.a.SidebarLink,
                ir.a.ForceResponsiveLink,
              ),
              onClick: a,
            },
            Object($.f)("#EventCalendar_ShowResponsiveView"),
          ),
        t && r.createElement(pi, null),
      );
    });
    let vi = class extends r.Component {
      DecorateSearchSuggestion(e, t) {
        if (e && e.id) {
          let n = "";
          return (
            "curators" == e.corpus
              ? (n = "group/" + e.id)
              : "games" == e.corpus &&
                (Object(l.a)(
                  Object(c.BIsSaleItemType)(e.type),
                  "Unexpected app type " + e.type,
                ),
                (n = "app/" + e.id)),
            r.createElement(
              In.b,
              { key: `suggestion-${e.id}`, to: `/${Object(kt.f)()}/${n}/` },
              t,
            )
          );
        }
        return t;
      }
      render() {
        return r.createElement(Nn, {
          strLabel: this.props.label,
          fnOnSelected: () => {},
          fnDecorateSuggestion: this.DecorateSearchSuggestion,
          rgCorporaToSearch: ["games", "curators"],
          focusOnMount: this.props.focusOnMount,
        });
      }
    };
    vi = Object(a.b)([m.a], vi);
    const Si = (e) => {
      const { strLabNumber: t, strForumURL: n } = e,
        a = o.c.STORE_BASE_URL + "labs";
      return r.createElement(
        "div",
        { className: ir.a.SideSteamLabsBannerCtn },
        r.createElement(
          "div",
          { className: ir.a.SteamLabsIdentifiers },
          r.createElement(
            "a",
            {
              className: ir.a.SteamLabsName,
              href: a,
              target: o.c.IN_CLIENT ? void 0 : "_blank",
            },
            Object($.f)("#SteamLabs"),
          ),
          r.createElement(
            "div",
            { className: ir.a.SteamLabsNumber },
            Object($.f)("#SteamLabs_ExperimentNumber", t),
          ),
        ),
        r.createElement(
          "a",
          {
            className: ir.a.SteamLabsButton,
            href: n,
            target: o.c.IN_CLIENT ? void 0 : "_blank",
          },
          r.createElement(H.l, null),
        ),
      );
    };
    function yi(e, t) {
      const n = Object(jn.b)(e);
      if ((Object(l.a)(!!n, "Must define collection " + e), !n)) return null;
      let a,
        r = Object(Tn.b)().GetCollectionID() == e;
      switch (e) {
        case jn.a.Default:
          r = Object(Tn.b)().BIsGlobalCalendar() && !t;
          break;
        case jn.a.Upcoming:
          (r = Object(Tn.b)().BIsGlobalCalendar() && t),
            (a = (function () {
              if (!Object(Tn.b)().BIsGlobalCalendar()) return;
              if (!o.j.logged_in) return;
              const e =
                  Object(Tn.b)().GetStoreInitializationTimestamp().getTime() /
                  1e3,
                t = Object(Tn.b)().GetCurrentlyLoadedEventCount(e);
              if (!t) return;
              return Object(Tn.b)().BHitEventHorizon("forward")
                ? String(t.nCount)
                : t.nCount + "+";
            })());
      }
      return {
        name: n.strName,
        shortName: n.strShortName,
        key: e,
        url: n.strUrl,
        subtitle: n.strSubtitle,
        onPage: r,
        count: a,
        bValveOnly: n.bIsValveOnly,
      };
    }
    function Ei(e, t) {
      const n = new Array();
      return n.push(yi(jn.a.Default, e)), n.push(yi(jn.a.Upcoming, e)), n;
    }
    function Ci(e, t) {
      const n = new Array();
      return (
        n.push(yi(jn.a.Featured, e)),
        n.push(yi(jn.a.Steam, e)),
        Bt.b.GetTimeNowWithOverride() < 1636653600 &&
          n.push(yi(jn.a.Halloween, e)),
        n
      );
    }
    function wi(e, t) {
      Object(Tn.b)().BIsCollectionCalendar(), Object(kt.f)();
      const n = new Array();
      if ((Bt.b.bIsCuratorsEnabled && n.push(yi(jn.a.Press, e)), t))
        for (const e of ni.GetVisibleSpecialEvents()) {
          const t = !1;
          n.push({
            name: Object($.f)(e.sLocToken),
            url: e.newshubUrl,
            onPage: t,
            key: "event_" + e.sLocToken,
          });
        }
      return (
        o.j.is_support &&
          (n.push(yi(jn.a.Dev_All, e)),
          n.push(yi(jn.a.Dev_Sales, e)),
          n.push(yi(jn.a.Dev_AssociatedPress, e))),
        n
      );
    }
    const Bi = (e) => {
      const {
        shortName: t,
        name: n,
        url: a,
        onPage: i,
        count: s,
        bValveOnly: l,
      } = e.element;
      return !o.j.is_support && l
        ? null
        : r.createElement(
            In.b,
            { to: "/" + a },
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  ir.a.MobileNavButton,
                  i && ir.a.MobileNavButtonActive,
                ),
              },
              t || n,
              s &&
                r.createElement("div", { className: ir.a.MobileNavCount }, s),
            ),
          );
    };
    let Oi = class extends r.Component {
      constructor() {
        super(...arguments), (this.state = { bSearchExpanded: !1 });
      }
      onExpandSearch(e) {
        this.setState({ bSearchExpanded: e });
      }
      render() {
        const { bSearchExpanded: e } = this.state,
          t = [
            ...Ei(this.props.bIsUpcoming),
            ...Ci(this.props.bIsUpcoming),
            ...wi(this.props.bIsUpcoming, !1),
          ];
        return r.createElement(
          "div",
          {
            style: { transform: `translateY(${this.props.nTopOffset}px)` },
            className: ir.a.MobileNavBannerCtn,
          },
          r.createElement(
            "div",
            {
              className: ir.a.SettingsPanel,
              onClick: this.props.fnToggleCollapsed,
            },
            r.createElement(H.bb, null),
          ),
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                ir.a.SettingsPanel,
                e && ir.a.SearchExpanded,
              ),
              onClick: () => this.onExpandSearch(!e),
            },
            r.createElement(H.M, null),
          ),
          e &&
            r.createElement(
              r.Fragment,
              null,
              r.createElement("div", {
                className: ir.a.SearchDismiss,
                onClick: () => this.onExpandSearch(!1),
              }),
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    ir.a.SearchBox,
                    e && ir.a.SearchExpanded,
                  ),
                },
                r.createElement(vi, { focusOnMount: !0 }),
              ),
            ),
          r.createElement(
            oi,
            { className: ir.a.MobileNavHScroll },
            r.createElement(
              "div",
              { className: ir.a.MobileNavBannerList },
              t.map((e) => r.createElement(Bi, { key: e.key, element: e })),
            ),
          ),
        );
      }
    };
    Object(a.b)([u.b], Oi.prototype, "onExpandSearch", null),
      (Oi = Object(a.b)([m.a], Oi));
    const Di = (e) => {
      const {
        key: t,
        name: n,
        subtitle: a,
        url: i,
        onPage: s,
        count: l,
        bValveOnly: c,
        icon: d,
      } = e.element;
      return !o.j.is_support && c
        ? null
        : r.createElement(
            In.b,
            { to: "/" + i },
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  ir.a.NewsChannel,
                  s && ir.a.NewsChannelOnPage,
                  c && Fe.a.ValveOnlyBackground,
                ),
              },
              Boolean(d) &&
                r.createElement("img", {
                  className: Object(h.a)(ir.a.NewsChannelIcon),
                  src: d,
                }),
              r.createElement(
                "div",
                { className: ir.a.NewsChannelText },
                r.createElement(
                  "div",
                  { className: ir.a.NewsChannelTitle },
                  c && "(VO) ",
                  n,
                ),
                a &&
                  r.createElement(
                    "div",
                    { className: ir.a.NewsChannelSubtitle },
                    a,
                  ),
              ),
              Boolean(void 0 !== l) &&
                r.createElement("div", { className: ir.a.NewsChannelCount }, l),
            ),
          );
    };
    let Ii = class extends r.Component {
      render() {
        const e = Ei(this.props.bIsUpcoming),
          t = Ci(this.props.bIsUpcoming);
        return r.createElement(
          "div",
          { className: ir.a.NewsChannelGroup },
          r.createElement(
            "div",
            { className: ir.a.NewsChannelListTitle },
            Object($.f)("#EventCalendar_NewsChannels"),
          ),
          r.createElement(
            "div",
            { className: ir.a.NewsChannelList },
            e.map((e) => r.createElement(Di, { key: e.key, element: e })),
          ),
          r.createElement(
            "div",
            { className: ir.a.NewsChannelListTitle },
            Object($.f)("#EventCalendar_NewsChannels_Global"),
          ),
          r.createElement(
            "div",
            { className: ir.a.NewsChannelList },
            t.map((e) => r.createElement(Di, { key: e.key, element: e })),
          ),
        );
      }
    };
    Ii = Object(a.b)([m.a], Ii);
    class Ti extends r.Component {
      render() {
        const e = wi(this.props.bIsUpcoming, !1);
        return e && e.length > 0
          ? r.createElement(
              "div",
              {
                className: Object(h.a)(
                  ir.a.NewsChannelGroup,
                  ir.a.DiscoverGroup,
                ),
              },
              r.createElement(
                "div",
                { className: ir.a.NewsChannelListTitle },
                Object($.f)("#EventCalendar_NewsChannels_Discover"),
              ),
              r.createElement(
                "div",
                { className: ir.a.NewsChannelList },
                e.map((e) => r.createElement(Di, { key: e.key, element: e })),
              ),
            )
          : null;
      }
    }
    var Ri = n("zEae");
    function ji(e, t) {
      const n = new Set(e);
      return (
        t.forEach((e) => {
          n.add(e);
        }),
        n
      );
    }
    function Ai(e, t) {
      const n = new Set();
      return (
        e.forEach((e) => {
          t.has(e) && n.add(e);
        }),
        n
      );
    }
    function ki(e, t) {
      const n = new Set(e);
      return (
        t.forEach((t) => {
          e.delete(t);
        }),
        n
      );
    }
    function Mi(e, t) {
      const n = e.values();
      let a = n.next();
      for (; !a.done; ) {
        if (!t.has(a.value)) return !1;
        a = n.next();
      }
      return !0;
    }
    function Pi(e) {
      const t = Object.assign({}, e);
      if (!t) return t;
      if (
        t.type === ce.i.k_EStoreFilterClauseTypeOr ||
        t.type === ce.i.k_EStoreFilterClauseTypeAnd
      ) {
        if (!t.rgSubexpressions || 0 === t.rgSubexpressions.length) return null;
        if (
          ((t.rgSubexpressions = t.rgSubexpressions.map((e) => Pi(e))),
          !t.bNegated && 1 === t.rgSubexpressions.length)
        )
          return t.rgSubexpressions[0];
        if (!t.bNegated) {
          let e = [];
          for (const n of t.rgSubexpressions)
            n.bNegated || n.type !== t.type
              ? e.push(n)
              : (e = e.concat(n.rgSubexpressions));
          t.rgSubexpressions = e;
        }
      }
      return t;
    }
    class Li {
      constructor(e, t, n, a, r, i) {
        (this.m_bServerSideFiltering = !1),
          (this.m_bUnboundedScope = !1),
          (this.m_nMinMatches = 1),
          (this.m_facetSortKey = ce.e.k_ESortFacetsByMatchCount),
          (this.m_language = -1),
          (this.m_nMinMatches = t),
          (this.m_facetSortKey = n),
          (this.m_language = a),
          (this.m_bServerSideFiltering = r),
          (this.m_bUnboundedScope = i),
          this.LoadPriceStops(),
          (this.m_facets = []),
          e.forEach((e) => {
            const t = [];
            e.facetValues.forEach((e) => {
              t.push({
                facetValue: e,
                bEnabled: Boolean(e.bEnabledByDefault),
                nPriceStopIndex: Boolean(this.m_priceStopInfo)
                  ? this.m_priceStopInfo.length - 1
                  : void 0,
                matchingCapsulesSet: Boolean(e.matchingCapsules)
                  ? new Set(e.matchingCapsules.map(qi))
                  : void 0,
                bDeactivated: !1,
                nMatchingFilteredCapsules: null,
                bHiddenBySearch: !1,
              });
            }),
              this.m_facets.push({
                facet: e,
                facetValues: t,
                matchingCapsules: null,
                matchingCapsulesInOtherFacets: null,
              });
          }),
          this.PruneFacets(),
          this.UpdateFilter(),
          (this.m_bHasHideIgnoredItemsFacetValue = e.some((e) =>
            e.facetValues.some(
              (e) =>
                e.type === ce.f.k_EUserPreference &&
                e.userPreference === ce.g.k_EHideIgnoredItems,
            ),
          )),
          this.SortFacets();
      }
      BHasHideIgnoredItemsFacetValue() {
        return this.m_bHasHideIgnoredItemsFacetValue;
      }
      GetQuery() {
        return this.m_strQuery;
      }
      GetURLParam() {
        return this.m_strURLParam;
      }
      GetSelectedOptionsCount() {
        return this.m_nSelectedOptions;
      }
      BIsUserPreferenceEnabled(e) {
        return this.m_userPreferences.has(e);
      }
      BIsAnyUserPreferenceEnabled() {
        return this.m_userPreferences.size > 0;
      }
      GetSortedFacets() {
        return this.m_sortedFacets;
      }
      GetPriceStops() {
        return this.m_priceStopInfo;
      }
      GetMatchCount() {
        return this.m_nFilteredCapsuleCount;
      }
      Reset() {
        this.m_facets.forEach((e) => {
          e.facetValues.forEach((e) => {
            e.bEnabled = Boolean(e.facetValue.bEnabledByDefault);
          });
        }),
          this.UpdateFilter();
      }
      SetFromURLParam(e) {
        if (e === this.m_strURLParam) return;
        this.m_facets.forEach((e) => {
          e.facetValues.forEach((e) => {
            e.bEnabled = Boolean(e.facetValue.bEnabledByDefault);
          });
        });
        ((null == e ? void 0 : e.split(",")) || []).forEach((e) => {
          const t = e.split(":"),
            n = Number(t[0]);
          t[1].split("|").forEach((e) => {
            if (e.includes("_")) {
              const t = e.split("_");
              (this.m_facets[n].facetValues[Number(t[0])].bEnabled = !0),
                (this.m_facets[n].facetValues[Number(t[0])].nPriceStopIndex =
                  Number(t[1]));
            } else
              this.m_facets[n].facetValues[Number(e)].bEnabled =
                !this.m_facets[n].facetValues[Number(e)].facetValue
                  .bEnabledByDefault;
          });
        }),
          this.UpdateFilter();
      }
      SetPotentiallyVisibleCapsules(e) {
        (this.m_potentiallyVisibleCapsules = new Set(e.map(qi))),
          this.PruneFacets();
      }
      SetFacetCounts(e) {
        if (((this.m_facetCounts = new Map()), e))
          for (const t of Object.keys(e))
            this.m_facetCounts.set(Number(t), Number(e[t]));
      }
      SetMultiFacetCounts(e) {
        if (((this.m_mapMultiFacetCounts = new Map()), e))
          for (const t of Object.keys(e)) {
            const n = e[t],
              a = new Map();
            if ("discounted" === t) {
              let e = 0;
              for (const t of Object.keys(n)) e += Number(n[t]);
              a.set("true", e);
            } else for (const e of Object.keys(n)) a.set(e, Number(n[e]));
            this.m_mapMultiFacetCounts.set(t, a);
          }
      }
      FilterCapsules(e) {
        return null == this.m_matchingReferencedCapsules
          ? e
          : e.filter((e) => this.m_matchingReferencedCapsules.has(qi(e)));
      }
      SetSolrMatchCount(e) {
        this.m_nSolrMatchCount = e;
      }
      SetFacetValueSearchString(e, t) {
        var n;
        for (const e of this.m_facets)
          for (const t of e.facetValues) t.bHiddenBySearch = !1;
        if (!e) return;
        const a = e.toLocaleLowerCase().trim();
        if (0 !== a.length)
          for (const e of this.m_facets)
            for (const r of e.facetValues) {
              (
                (null === (n = $.a.GetWithFallback(r.facetValue.name, t)) ||
                void 0 === n
                  ? void 0
                  : n.toLocaleLowerCase().trim()) || ""
              ).includes(a) || (r.bHiddenBySearch = !0);
            }
      }
      UpdateFilter() {
        this.UpdateMatchingReferencedCapsules(),
          this.UpdateQuery(),
          this.UpdateURLParam(),
          this.UpdateSelectedOptionsCount(),
          this.UpdateUserPreferenceFilters();
      }
      UpdateMatchingReferencedCapsules() {
        this.m_facets.forEach((e) => {
          (e.matchingCapsules = null),
            e.facetValues.some((e) => null == e.matchingCapsulesSet) ||
              e.facetValues.forEach((t) => {
                if (t.bEnabled)
                  if (null == e.matchingCapsules)
                    e.matchingCapsules = t.matchingCapsulesSet;
                  else {
                    const n = e.facet.logical_and ? Ai : ji;
                    e.matchingCapsules = n(
                      e.matchingCapsules,
                      t.matchingCapsulesSet,
                    );
                  }
              });
        }),
          this.m_facets.forEach((e) => {
            const t = this.m_facets.filter(
              (t) => t !== e && null != t.matchingCapsules,
            );
            (e.matchingCapsulesInOtherFacets = null),
              t.forEach((t) => {
                null == e.matchingCapsulesInOtherFacets
                  ? (e.matchingCapsulesInOtherFacets = t.matchingCapsules)
                  : (e.matchingCapsulesInOtherFacets = Ai(
                      e.matchingCapsulesInOtherFacets,
                      t.matchingCapsules,
                    ));
              });
          }),
          (this.m_matchingReferencedCapsules = null),
          this.m_facets.forEach((e) => {
            null != e.matchingCapsules &&
              (null == this.m_matchingReferencedCapsules
                ? (this.m_matchingReferencedCapsules = e.matchingCapsules)
                : (this.m_matchingReferencedCapsules = Ai(
                    this.m_matchingReferencedCapsules,
                    e.matchingCapsules,
                  )));
          });
      }
      static BFacetHasEnabledOptTags(e) {
        for (const t of e.facetValues)
          if (t.bEnabled && null != t.facetValue.filter)
            for (const e of t.facetValue.filter.clauses)
              for (const t of e.or_tags) if (t.startsWith("[Opt]")) return !0;
        return !1;
      }
      UpdateQuery() {
        let e = {
          type: ce.i.k_EStoreFilterClauseTypeAnd,
          rgSubexpressions: new Array(),
        };
        this.m_facets.forEach((t) => {
          if (Li.BFacetHasEnabledOptTags(t)) return;
          const n = {
            type: t.facet.logical_and
              ? ce.i.k_EStoreFilterClauseTypeAnd
              : ce.i.k_EStoreFilterClauseTypeOr,
            rgSubexpressions: new Array(),
          };
          t.facetValues.forEach((e) => {
            if (e.bEnabled && Boolean(e.facetValue.rgStoreTagFilter)) {
              if (e.facetValue.type === ce.f.k_EUserPreference) return;
              const t = Object.assign({}, e.facetValue.rgStoreTagFilter);
              e.facetValue.type === ce.f.k_EPrice &&
                (t.value = Boolean(this.m_priceStopInfo)
                  ? this.m_priceStopInfo[e.nPriceStopIndex].price
                  : void 0),
                (e.facetValue.type !== ce.f.k_EPrice ||
                  Boolean(this.m_priceStopInfo)) &&
                  n.rgSubexpressions.push(t);
            }
          }),
            0 !== n.rgSubexpressions.length && e.rgSubexpressions.push(n);
        }),
          (e = Pi(e)),
          (this.m_strQuery = Boolean(e) ? JSON.stringify(e) : "");
      }
      UpdateURLParam() {
        const e = [];
        this.m_facets.forEach((t, n) => {
          const a = [];
          if (
            (t.facetValues.forEach((e, t) => {
              e.bEnabled !== Boolean(e.facetValue.bEnabledByDefault) &&
                (e.facetValue.type === ce.f.k_EPrice
                  ? a.push(t + "_" + e.nPriceStopIndex)
                  : a.push(t.toString()));
            }),
            0 === a.length)
          )
            return;
          const r = a.join("|");
          e.push(n + ":" + r);
        }),
          (this.m_strURLParam = e.length > 0 ? e.join(",") : void 0);
      }
      UpdateSelectedOptionsCount() {
        (this.m_nSelectedOptions = 0),
          this.m_facets.forEach((e) => {
            e.facetValues.forEach((e) => {
              e.bEnabled !== Boolean(e.facetValue.bEnabledByDefault) &&
                ++this.m_nSelectedOptions;
            });
          });
      }
      UpdateUserPreferenceFilters() {
        (this.m_userPreferences = new Set()),
          this.m_facets.forEach((e) => {
            e.facetValues.forEach((e) => {
              e.facetValue.type === ce.f.k_EUserPreference &&
                e.bEnabled &&
                this.m_userPreferences.add(e.facetValue.userPreference);
            });
          });
      }
      PruneFacets() {
        (this.m_prunedFacets = []),
          this.m_bServerSideFiltering || !this.m_potentiallyVisibleCapsules
            ? this.m_facets.forEach((e) => {
                e.facetValues.forEach((e) => {
                  (e.bDeactivated = !1), (e.nMatchingFilteredCapsules = null);
                }),
                  this.m_prunedFacets.push({
                    facet: e,
                    facetValues: e.facetValues,
                  });
              })
            : this.m_facets.forEach((e) => {
                let t = [];
                e.facetValues.forEach((e) => {
                  let n = !1;
                  if (null != e.matchingCapsulesSet) {
                    const t = Ai(
                      e.matchingCapsulesSet,
                      this.m_potentiallyVisibleCapsules,
                    );
                    (t.size < this.m_nMinMatches ||
                      this.m_potentiallyVisibleCapsules.size <= t.size) &&
                      (n = !0);
                  }
                  n ||
                    ((e.bDeactivated = !1),
                    (e.nMatchingFilteredCapsules = null),
                    t.push(e));
                }),
                  t.length > 0 &&
                    this.m_prunedFacets.push({ facet: e, facetValues: t });
              }),
          this.PruneFacetsForCurrentUser();
      }
      PruneFacetsForCurrentUser() {
        this.m_prunedFacets.forEach((e) => {
          e.facetValues = e.facetValues.filter((e) =>
            e.facetValue.type === ce.f.k_EContentDescriptor
              ? !It.a.Get().BIsLoaded() ||
                It.a
                  .Get()
                  .BIncludesContentDescriptor(e.facetValue.contentDescriptor)
              : e.facetValue.type === ce.f.k_ELanguage
                ? !It.a.Get().BIsLoaded() ||
                  (0 !== It.a.Get().GetSecondaryLanguages().size &&
                    (It.a.Get().GetPrimaryLanguage() ===
                      e.facetValue.language ||
                      It.a
                        .Get()
                        .GetSecondaryLanguages()
                        .has(e.facetValue.language)))
                : e.facetValue.type !== ce.f.k_EUserPreference ||
                  (o.j.logged_in && It.a.Get().BIsLoaded()),
          );
        }),
          (this.m_prunedFacets = this.m_prunedFacets.filter(
            (e) => e.facetValues.length > 0,
          ));
      }
      UpdateMatchingFilteredCapsuleCounts() {
        this.m_bServerSideFiltering
          ? this.m_prunedFacets.forEach((e) => {
              e.facetValues.forEach((e) => {
                e.nMatchingFilteredCapsules =
                  this.GetMatchCountForFacetValue(e);
              });
            })
          : this.m_prunedFacets.forEach((e) => {
              e.facetValues.forEach((e) => {
                this.m_filteredCapsules && e.matchingCapsulesSet
                  ? (e.nMatchingFilteredCapsules = Ai(
                      this.m_filteredCapsules,
                      e.matchingCapsulesSet,
                    ).size)
                  : (e.nMatchingFilteredCapsules = null);
              });
            });
      }
      GetMatchCountForFacetValue(e) {
        var t, n, a, r, i, s, o, l, d, u, m, p, h, _, g, b, f, v, S;
        if (this.m_mapMultiFacetCounts) {
          const S = "402",
            y = "401",
            E = "9",
            C = "28",
            w = "41",
            B = "42",
            O = "43",
            D = "44",
            I = "37";
          switch (e.facetValue.type) {
            case ce.f.k_ESaleTagFilter:
              if (e.facetValue.nAtomicStoreTagID)
                return null ===
                  (t = this.m_mapMultiFacetCounts.get("tagidset")) ||
                  void 0 === t
                  ? void 0
                  : t.get(e.facetValue.nAtomicStoreTagID.toString());
              if (
                (null === (n = e.facetValue.rgStoreTagFilter) || void 0 === n
                  ? void 0
                  : n.type) === ce.i.k_EStoreFilterClauseTypeFeatureTag
              )
                switch (e.facetValue.rgStoreTagFilter.value) {
                  case "linux":
                    return null ===
                      (a = this.m_mapMultiFacetCounts.get("platform_linux")) ||
                      void 0 === a
                      ? void 0
                      : a.get("true");
                  case "mac":
                    return null ===
                      (r = this.m_mapMultiFacetCounts.get("platform_mac")) ||
                      void 0 === r
                      ? void 0
                      : r.get("true");
                  case "vr":
                    return null ===
                      (i = this.m_mapMultiFacetCounts.get("vrsupport")) ||
                      void 0 === i
                      ? void 0
                      : i.get(S);
                  case "vr only":
                    return null ===
                      (s = this.m_mapMultiFacetCounts.get("vrsupport")) ||
                      void 0 === s
                      ? void 0
                      : s.get(y);
                  case "full controller":
                    return null ===
                      (o = this.m_mapMultiFacetCounts.get("category")) ||
                      void 0 === o
                      ? void 0
                      : o.get(C);
                  case "remote play":
                    return Math.max(
                      null ===
                        (l = this.m_mapMultiFacetCounts.get("category")) ||
                        void 0 === l
                        ? void 0
                        : l.get(w),
                      null ===
                        (d = this.m_mapMultiFacetCounts.get("category")) ||
                        void 0 === d
                        ? void 0
                        : d.get(B),
                      null ===
                        (u = this.m_mapMultiFacetCounts.get("category")) ||
                        void 0 === u
                        ? void 0
                        : u.get(O),
                      null ===
                        (m = this.m_mapMultiFacetCounts.get("category")) ||
                        void 0 === m
                        ? void 0
                        : m.get(D),
                    );
                  case "remote play together":
                    return null ===
                      (p = this.m_mapMultiFacetCounts.get("category")) ||
                      void 0 === p
                      ? void 0
                      : p.get(D);
                  case "free":
                    return null ===
                      (h = this.m_mapMultiFacetCounts.get("genre")) ||
                      void 0 === h
                      ? void 0
                      : h.get(I);
                  case "discounted":
                    return null ===
                      (_ = this.m_mapMultiFacetCounts.get("discounted")) ||
                      void 0 === _
                      ? void 0
                      : _.get("true");
                  case "coop":
                    return null ===
                      (g = this.m_mapMultiFacetCounts.get("category")) ||
                      void 0 === g
                      ? void 0
                      : g.get(E);
                }
              break;
            case ce.f.k_EAppType:
              return null === (b = this.m_mapMultiFacetCounts.get("type")) ||
                void 0 === b
                ? void 0
                : b.get(e.facetValue.appType);
            case ce.f.k_ELanguage:
              const T = Object(c.ELanguagePchLanguage)(e.facetValue.language);
              return null ===
                (f = this.m_mapMultiFacetCounts.get("supportedlang_" + T)) ||
                void 0 === f
                ? void 0
                : f.get("true");
            case ce.f.k_EContentDescriptor:
              return null === (v = this.m_mapMultiFacetCounts.get("descids")) ||
                void 0 === v
                ? void 0
                : v.get(e.facetValue.contentDescriptor.toString());
          }
        } else if (this.m_facetCounts)
          return null === (S = this.m_facetCounts) || void 0 === S
            ? void 0
            : S.get(e.facetValue.nAtomicStoreTagID);
        return null;
      }
      DeactivateFacetValues() {
        this.m_prunedFacets.forEach((e) => {
          e.facetValues.forEach((e) => {
            e.bDeactivated = !1;
          });
        }),
          this.m_bServerSideFiltering
            ? this.m_prunedFacets.forEach((e) => {
                e.facetValues.forEach((e) => {
                  let t = e.nMatchingFilteredCapsules;
                  e.bDeactivated = !(
                    e.bEnabled ||
                    t ||
                    e.facetValue.type === ce.f.k_EUserPreference
                  );
                });
              })
            : this.m_prunedFacets.forEach((e) => {
                e.facetValues.forEach((t) => {
                  if (null != t.matchingCapsulesSet && !t.bEnabled)
                    if (null != e.facet.matchingCapsules) {
                      let n = t.matchingCapsulesSet;
                      null != e.facet.matchingCapsulesInOtherFacets &&
                        (n = Ai(n, e.facet.matchingCapsulesInOtherFacets)),
                        Boolean(this.m_filteredCapsules) &&
                          Mi(n, this.m_filteredCapsules) &&
                          (t.bDeactivated = !0);
                    } else
                      Boolean(this.m_filteredCapsules) &&
                        (!(function (e, t) {
                          if (
                            (!Boolean(e) && Boolean(t)) ||
                            (Boolean(e) && !Boolean(t))
                          )
                            return !0;
                          if (!Boolean(e) && !Boolean(t)) return !1;
                          const n = e.values();
                          let a = n.next();
                          for (; !a.done; ) {
                            if (t.has(a.value)) return !1;
                            a = n.next();
                          }
                          return !0;
                        })(t.matchingCapsulesSet, this.m_filteredCapsules)
                          ? Mi(
                              this.m_filteredCapsules,
                              t.matchingCapsulesSet,
                            ) && (t.bDeactivated = !0)
                          : (t.bDeactivated = !0));
                });
              });
      }
      SortFacets() {
        this.UpdateMatchingFilteredCapsuleCounts(),
          this.DeactivateFacetValues(),
          (this.m_sortedFacets = []),
          this.m_prunedFacets.forEach((e) => {
            const t = e.facetValues.slice();
            t.sort((e, t) => {
              if (
                e.facetValue.type === ce.f.k_EPrice &&
                t.facetValue.type !== ce.f.k_EPrice
              )
                return 1;
              if (
                e.facetValue.type !== ce.f.k_EPrice &&
                t.facetValue.type == ce.f.k_EPrice
              )
                return -1;
              if (e.bEnabled !== t.bEnabled) return t.bEnabled ? 1 : -1;
              if (e.bDeactivated !== t.bDeactivated)
                return e.bDeactivated ? 1 : -1;
              if (!e.bEnabled && !e.bDeactivated) {
                if (
                  e.facetValue.type === ce.f.k_ELanguage &&
                  t.facetValue.type === ce.f.k_ELanguage
                )
                  return t.facetValue.language ===
                    It.a.Get().GetPrimaryLanguage()
                    ? 1
                    : -1;
                const n = e.nMatchingFilteredCapsules || 0,
                  a = t.nMatchingFilteredCapsules || 0;
                if (
                  this.m_facetSortKey === ce.e.k_ESortFacetsByMatchCount &&
                  n !== a
                )
                  return a - n;
              }
              if (this.m_facetSortKey === ce.e.k_ESortFacetsByName) {
                const n = $.a.GetWithFallback(
                    e.facetValue.name,
                    this.m_language,
                  ),
                  a = $.a.GetWithFallback(t.facetValue.name, this.m_language);
                return n.localeCompare(a);
              }
              return 0;
            }),
              this.m_sortedFacets.push(
                Object.assign(Object.assign({}, e), { facetValues: t }),
              );
          });
      }
      LoadPriceStops() {
        var e, t, n;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = Object(o.h)("pricestops", "application_config");
          if (a) this.m_priceStopInfo = a;
          else {
            const a = o.c.STORE_BASE_URL + "saleaction/ajaxgetpricestops";
            let r;
            try {
              if (
                ((r = yield F.a.get(a)),
                1 !==
                  (null === (e = null == r ? void 0 : r.data) || void 0 === e
                    ? void 0
                    : e.success))
              )
                return (
                  console.error(
                    "Unable to load price stop data: ",
                    null === (t = null == r ? void 0 : r.data) || void 0 === t
                      ? void 0
                      : t.success,
                  ),
                  null
                );
            } catch (e) {
              return (
                console.error(
                  "Unable to load price stop data: ",
                  null === (n = null == r ? void 0 : r.data) || void 0 === n
                    ? void 0
                    : n.success,
                ),
                null
              );
            }
            this.m_priceStopInfo = r.data.rgPriceStops;
          }
          this.m_priceStopInfo[0].price = 0;
        });
      }
      ApplyOptInFilters(e) {
        if (
          ((this.m_setCapsulesRemovedByOptInFilters = new Set()),
          !this.m_bServerSideFiltering)
        )
          return e;
        if (this.m_bUnboundedScope) return e;
        let t;
        for (const e of this.m_facets)
          Li.BFacetHasEnabledOptTags(e) &&
            (t = null == t ? e.matchingCapsules : Ai(t, e.matchingCapsules));
        if (null == t) return e;
        const n = [];
        for (const a of e) {
          const e = qi(a);
          t.has(e) ? n.push(a) : this.m_setCapsulesRemovedByOptInFilters.add(e);
        }
        return n;
      }
      ApplyPriceFilters(e) {
        if (
          ((this.m_setCapsulesRemovedByPriceFilters = new Set()),
          this.m_bServerSideFiltering)
        )
          return e;
        let t;
        for (const e of this.m_facets) {
          for (const n of e.facetValues)
            if (n.facetValue.type === ce.f.k_EPrice) {
              t = n;
              break;
            }
          if (null != t) break;
        }
        if (null == t) return e;
        if (null == this.m_priceStopInfo) return e;
        const n =
          null != t.nPriceStopIndex
            ? t.nPriceStopIndex
            : this.m_priceStopInfo.length - 1;
        if (n === this.m_priceStopInfo.length - 1) return e;
        const a = this.m_priceStopInfo[n].price,
          r = [];
        for (const t of e) {
          let e = !1,
            n = 0;
          const i = Dt.a.Get().GetStoreItem(t.id, Object(On.j)(t.type));
          i && (n = i.GetBestPurchasePriceInCents()),
            e
              ? n <= 100 * a
                ? r.push(t)
                : this.m_setCapsulesRemovedByPriceFilters.add(qi(t))
              : r.push(t);
        }
        return r;
      }
      ApplyUserPreferenceFilters(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.BHasHideIgnoredItemsFacetValue(),
            r = this.BIsUserPreferenceEnabled(ce.g.k_EHideOwnedItems),
            i = this.BIsUserPreferenceEnabled(ce.g.k_EHideWishlistedItems),
            s = this.BIsUserPreferenceEnabled(ce.g.k_EHideIgnoredItems);
          let o = [];
          const l = yield Object(Dn.b)(e, t, r, i, a, s, o);
          if (
            ((this.m_setCapsulesRemovedByUserPreferenceFilters = new Set(
              o.map(qi),
            )),
            n)
          )
            for (const e of o) n.push(e);
          return l;
        });
      }
      UpdateMatchCount(e, t) {
        this.m_bServerSideFiltering ||
          ((this.m_filteredCapsules = null),
          null != this.m_potentiallyVisibleCapsules &&
            ((this.m_filteredCapsules = this.m_potentiallyVisibleCapsules),
            null != this.m_matchingReferencedCapsules &&
              (this.m_filteredCapsules = Ai(
                this.m_filteredCapsules,
                this.m_matchingReferencedCapsules,
              )),
            null != this.m_setCapsulesRemovedByPriceFilters &&
              (this.m_filteredCapsules = ki(
                this.m_filteredCapsules,
                this.m_setCapsulesRemovedByPriceFilters,
              )),
            null != this.m_setCapsulesRemovedByUserPreferenceFilters &&
              (this.m_filteredCapsules = ki(
                this.m_filteredCapsules,
                this.m_setCapsulesRemovedByUserPreferenceFilters,
              )))),
          e
            ? this.m_bServerSideFiltering
              ? ((this.m_nFilteredCapsuleCount = this.m_nSolrMatchCount),
                (this.m_nFilteredCapsuleCount -=
                  this.m_setCapsulesRemovedByOptInFilters.size),
                (this.m_nFilteredCapsuleCount -=
                  this.m_setCapsulesRemovedByUserPreferenceFilters.size))
              : (this.m_nFilteredCapsuleCount = this.m_filteredCapsules.size)
            : (this.m_nFilteredCapsuleCount = t),
          this.SortFacets();
      }
    }
    Object(a.b)([L.C], Li.prototype, "m_facets", void 0),
      Object(a.b)([L.C], Li.prototype, "m_priceStopInfo", void 0),
      Object(a.b)([L.C], Li.prototype, "m_sortedFacets", void 0),
      Object(a.b)([L.k], Li.prototype, "Reset", null),
      Object(a.b)([L.k], Li.prototype, "SetFromURLParam", null),
      Object(a.b)([L.k], Li.prototype, "SetPotentiallyVisibleCapsules", null),
      Object(a.b)([L.k], Li.prototype, "SetFacetCounts", null),
      Object(a.b)([L.k], Li.prototype, "SetMultiFacetCounts", null),
      Object(a.b)([L.k], Li.prototype, "SetSolrMatchCount", null),
      Object(a.b)([L.k], Li.prototype, "SetFacetValueSearchString", null),
      Object(a.b)([L.k], Li.prototype, "UpdateMatchCount", null);
    const Gi = Object(m.a)((e) => {
        var t;
        const {
            language: n,
            linkColor: a,
            headingColor: i,
            background: s,
            styleOverrides: l,
            facetFilterState: c,
            fnOnUpdateFilter: d,
          } = e,
          [u, m] = Object(r.useState)("");
        let p, h;
        (null == l ? void 0 : l.menu) ||
          (p = { background: s, color: a || "white" }),
          (null == l ? void 0 : l.menuTitle) ||
            (h = {
              borderBottom: "0px solid " + (a || "white"),
              color: i || "white",
            });
        const _ = Object(r.useRef)(null),
          g = () => {
            c.UpdateFilter(), d();
          };
        return r.createElement(
          "div",
          {
            ref: _,
            className:
              (null == l ? void 0 : l.menu) || Ri.FacetedBrowseControls,
            style: p,
          },
          r.createElement(
            "div",
            {
              className:
                (null == l ? void 0 : l.menuTitle) || Ri.FacetMenuTitle,
              style: h,
            },
            Object($.f)("#FacetedBrowse_Heading"),
          ),
          Boolean(c) &&
            r.createElement(
              "div",
              {
                className:
                  (null == l ? void 0 : l.matchCount) ||
                  Ri.FacetedBrowseMatchCount,
              },
              null != c.GetMatchCount() &&
                Object($.n)("#FacetedBrowse_MatchCount", c.GetMatchCount()),
            ),
          r.createElement(
            "div",
            { className: Ri.FacetValueSearch },
            r.createElement(te.z, {
              type: "text",
              value: u,
              placeholder: Object($.f)("#FacetedBrowse_SearchFacetValues"),
              onChange: (e) => {
                m(e.target.value),
                  c.SetFacetValueSearchString(e.target.value, n);
              },
              bShowClearAction: !0,
            }),
          ),
          r.createElement(
            Ni,
            Object.assign(
              {
                facets: null == c ? void 0 : c.GetSortedFacets(),
                onUpdateFilter: g,
              },
              e,
            ),
          ),
          r.createElement(
            "div",
            {
              className:
                (null == l ? void 0 : l.reset) || Ri.FacetedBrowseReset,
            },
            r.createElement(
              "a",
              {
                onClick: (e) => {
                  e.preventDefault(),
                    Object(L.G)(() => {
                      c.Reset(), d();
                    });
                },
              },
              Object($.f)("#FacetedBrowse_Reset"),
            ),
          ),
          null === (t = null == c ? void 0 : c.GetSortedFacets()) ||
            void 0 === t
            ? void 0
            : t.map((t, a) =>
                r.createElement(xi, {
                  key:
                    "facet_" +
                    $.a.GetWithFallback(t.facet.facet.name, n) +
                    "_" +
                    a,
                  facet: t,
                  facetFilterState: c,
                  nFacetIndex: a,
                  language: n,
                  nMaxFacetValues: e.nMaxFacetValues,
                  highlightedFacetColor: e.highlightedFacetColor,
                  linkColor: e.linkColor,
                  headingColor: e.headingColor,
                  fnOnUpdateFilter: g,
                  styleOverrides: l,
                  bSearching: (null == u ? void 0 : u.length) > 0,
                }),
              ),
          r.createElement(
            "div",
            {
              className:
                (null == l ? void 0 : l.reset) || Ri.FacetedBrowseReset,
            },
            r.createElement(
              "a",
              {
                onClick: (e) => {
                  e.preventDefault();
                  const t =
                    _.current.getBoundingClientRect().top + window.scrollY;
                  window.scrollTo(0, t);
                },
              },
              Object($.f)("#FacetedBrowse_ReturnToTop"),
            ),
          ),
          r.createElement(
            "div",
            { className: Ri.FacetedBrowseFeedbackLink },
            r.createElement(Si, {
              strLabNumber: "012",
              strForumURL:
                o.c.COMMUNITY_BASE_URL + "groups/SteamLabs/discussions/14/",
            }),
          ),
        );
      }),
      Ni = Object(m.a)((e) => {
        const { facets: t } = e,
          [n, a] = Object(r.useState)([]);
        return (
          Object(r.useEffect)(() => {
            const e = [];
            if (t)
              for (const n of t)
                for (const t of n.facetValues)
                  t.bEnabled &&
                    t.facetValue.type !== ce.f.k_EPrice &&
                    e.push(t);
            a(e);
          }, [t]),
          n
            ? r.createElement(
                r.Fragment,
                null,
                r.createElement(
                  "div",
                  { className: Ri.SelectedFacetValuesTitle },
                  Object($.f)("#FacetedBrowse_SelectedFacetValues"),
                ),
                r.createElement(
                  "div",
                  { className: Ri.SelectedFacetValuesList },
                  n.map((t) =>
                    r.createElement(
                      Fi,
                      Object.assign(
                        { key: t.facetValue.unique_id, facetValue: t },
                        e,
                      ),
                    ),
                  ),
                ),
              )
            : null
        );
      }),
      Fi = Object(m.a)((e) => {
        const { facetValue: t, language: n, onUpdateFilter: a } = e;
        return r.createElement(
          "a",
          {
            className: Ri.SelectedFacetValueCtn,
            onClick: (e) => {
              e.preventDefault(), (t.bEnabled = !1), a && a();
            },
          },
          r.createElement(H.db, null),
          r.createElement(
            "span",
            { className: Ri.SelectedFacetValue },
            Object($.f)($.a.GetWithFallback(t.facetValue.name, n)),
          ),
        );
      }),
      xi = Object(m.a)((e) => {
        const {
            language: t,
            linkColor: n,
            headingColor: a,
            facet: i,
            nFacetIndex: s,
            styleOverrides: o,
            bSearching: l,
          } = e,
          [c, d] = Object(r.useState)(Boolean(0 !== s)),
          [u, m] = Object(r.useState)(!1);
        if (i.facetValues.every((e) => e.bHiddenBySearch)) return null;
        let p;
        (null == o ? void 0 : o.facetName) ||
          (p = {
            borderBottom: "0px solid " + (n || "white"),
            color: a || "white",
          });
        const h = Object($.f)($.a.GetWithFallback(i.facet.facet.name, t));
        let _ = e.nMaxFacetValues;
        const g = i.facetValues.reduce(
          (e, t) => e + (t.bDeactivated ? 1 : 0),
          0,
        );
        _ = Math.min(_, i.facetValues.length - g);
        const b = i.facetValues.reduce(
            (e, t) =>
              e + (t.bEnabled || t.facetValue.type === ce.f.k_EPrice ? 1 : 0),
            0,
          ),
          f = i.facetValues.some((e) => !e.bEnabled && !e.bDeactivated);
        _ = Math.max(_, b + (f ? 1 : 0));
        const v = i.facetValues.length > _;
        let S = !v || u || l ? i.facetValues : i.facetValues.slice(0, _);
        c && !l && (S = S.filter((e) => e.bEnabled));
        const y = S.every((e) => {
          var n;
          return (
            !Boolean(e.facetValue.subtitle) ||
            (null === (n = $.a.GetWithFallback(e.facetValue.subtitle, t)) ||
            void 0 === n
              ? void 0
              : n.length) <= 0
          );
        });
        return r.createElement(
          "div",
          { className: Ri.Facet },
          r.createElement(
            "div",
            {
              className: (null == o ? void 0 : o.facetName) || Ri.FacetTitle,
              style: p,
              onClick: () => d(!c),
            },
            h,
          ),
          S.map((t, n) =>
            r.createElement(
              zi,
              Object.assign(
                {
                  key: "facet_" + h + "_value_" + n,
                  facetValue: t,
                  styleOverrides: o,
                  showMatchCounts: y,
                },
                e,
              ),
            ),
          ),
          !c &&
            v &&
            !l &&
            r.createElement(
              "div",
              {
                className:
                  (null == o ? void 0 : o.showMore) || Ri.FacetValueShowMore,
                onClick: () => m(!u),
              },
              u
                ? Object($.f)("#Bbcode_Expand_ShowMore_Expanded")
                : Object($.f)("#Bbcode_Expand_ShowMore_Collapsed"),
            ),
        );
      }),
      zi = Object(m.a)((e) => {
        const {
          language: t,
          highlightedFacetColor: n,
          linkColor: a,
          facetValue: i,
          facetFilterState: s,
          styleOverrides: o,
          fnOnUpdateFilter: l,
          showMatchCounts: c,
        } = e;
        if (i.facetValue.type === ce.f.k_EPrice && null == s.m_priceStopInfo)
          return null;
        if (i.bHiddenBySearch) return null;
        const d = i.bEnabled,
          u = i.bDeactivated,
          m = {
            color: n || "darkorange",
            borderLeft: "4px solid " + (n || "darkorange"),
          };
        let p, h;
        (null == o ? void 0 : o.facetValue) || (p = d ? m : {}),
          (null == o ? void 0 : o.facetValueName) ||
            (h = { color: a || "white" });
        const _ = (e) => {
            e.preventDefault(),
              Object(L.G)(() => {
                u || ((i.bEnabled = !i.bEnabled), l());
              });
          },
          g = (e) => {
            Object(L.G)(() => {
              i.nPriceStopIndex = Math.floor(e);
            });
          },
          b = () => {
            Object(L.G)(() => {
              (i.bEnabled = Boolean(
                i.nPriceStopIndex !== s.m_priceStopInfo.length - 1,
              )),
                l();
            });
          },
          f = Object($.f)($.a.GetWithFallback(i.facetValue.name, t)),
          v = Boolean(i.facetValue.subtitle)
            ? $.a.GetWithFallback(i.facetValue.subtitle, t)
            : null;
        if (i.facetValue.type === ce.f.k_EPrice) {
          const e =
            null != i.nPriceStopIndex
              ? i.nPriceStopIndex
              : s.m_priceStopInfo.length - 1;
          return r.createElement(te.J, {
            className: Ri.FacetValuePriceSlider,
            min: 0,
            max: s.m_priceStopInfo.length - 1,
            value: e,
            label: s.m_priceStopInfo[e].label,
            onChange: g,
            onChangeComplete: b,
          });
        }
        {
          const e = (null == o ? void 0 : o.facetValue) || Ri.FacetValue,
            t =
              (null == o ? void 0 : o.facetValueEnabled) ||
              Ri.FacetValueEnabled,
            n =
              (null == o ? void 0 : o.facetValueDeactivated) ||
              Ri.FacetValueDeactivated,
            a = (null == o ? void 0 : o.facetValueName) || Ri.FacetValueName;
          return r.createElement(
            "div",
            { className: d ? t : u ? n : e, style: p },
            r.createElement(
              "a",
              { className: a, style: h, onClick: _, href: "" },
              f,
            ),
            c &&
              !i.bDeactivated &&
              Boolean(i.nMatchingFilteredCapsules) &&
              r.createElement(
                "div",
                {
                  className:
                    (null == o ? void 0 : o.facetValueDesc) ||
                    Ri.FacetValueDescription,
                },
                i.nMatchingFilteredCapsules,
              ),
            Boolean(v) &&
              r.createElement(
                "div",
                {
                  className:
                    (null == o ? void 0 : o.facetValueDesc) ||
                    Ri.FacetValueDescription,
                },
                v,
              ),
          );
        }
      }),
      Ui = Object(m.a)((e) => {
        const {
            background: t,
            labelColor: n,
            headingColor: a,
            buttonColor: i,
            highlightedFacetColor: s,
          } = e,
          [o, l] = Object(r.useState)(!1);
        return r.createElement(
          "div",
          { className: Ri.FacetedBrowseCtn },
          Hi() &&
            r.createElement(Wi, {
              buttonColor: i,
              bShowControls: o,
              fnOnToggleControls: () => {
                l(!o);
              },
            }),
          r.createElement(
            "div",
            { className: Ri.FacetedBrowseInnerCtn },
            o || !Hi()
              ? r.createElement(
                  Gi,
                  Object.assign(
                    {
                      highlightedFacetColor: s,
                      linkColor: n,
                      headingColor: a,
                      background: t,
                    },
                    e,
                  ),
                )
              : null,
            r.createElement(
              "div",
              { className: Ri.FacetedBrowseItems },
              e.children,
            ),
          ),
        );
      }),
      Wi = Object(m.a)((e) => {
        const { buttonColor: t, bShowControls: n, fnOnToggleControls: a } = e,
          i = { color: t || "white" };
        return r.createElement(
          "div",
          { className: Ri.FacetedBrowsePopupCtn, onClick: () => a() },
          n
            ? r.createElement(
                r.Fragment,
                null,
                r.createElement(
                  "div",
                  { className: Ri.FacetedBrowsePopup, style: i },
                  r.createElement(H.db, null),
                ),
                r.createElement(
                  "div",
                  { className: Ri.FacetedBrowsePopupLabel },
                  Object($.f)("#Button_Close"),
                ),
              )
            : r.createElement(
                r.Fragment,
                null,
                r.createElement(
                  "div",
                  { className: Ri.FacetedBrowsePopup, style: i },
                  r.createElement(H.C, null),
                ),
                r.createElement(
                  "div",
                  { className: Ri.FacetedBrowsePopupLabel },
                  Object($.f)("#FacetedBrowse_Heading"),
                ),
              ),
        );
      }),
      Hi = () => window.innerWidth < parseInt(Ri.strWidescreenWidth),
      Vi = Object(m.a)((e) => {
        const { section: t } = e;
        return r.createElement(
          Ui,
          Object.assign(
            {
              labelColor: t.label_color,
              headingColor: t.heading_color,
              buttonColor: t.label_color,
              highlightedFacetColor: t.highlighted_facet_color,
            },
            e,
          ),
        );
      });
    function qi(e) {
      return e.type + e.id;
    }
    function Ki(e) {
      return (
        !("items" !== e.section_type || !e.smart_section) ||
        "sale_item_browser" === e.section_type
      );
    }
    function Qi(e, t) {
      return !(
        !Ki(t) ||
        null == e.jsondata.item_source_type ||
        e.jsondata.item_source_type === ce.h.k_ETaggedItems
      );
    }
    function Yi(e) {
      const t = new Array(),
        n = new Set();
      for (const a of e)
        for (const e of a.facetValues)
          if (e.matchingCapsules)
            for (const a of e.matchingCapsules) {
              const e = a.type + a.id;
              n.has(e) || (t.push(a), n.add(e));
            }
      return t;
    }
    function Zi(e, t) {
      var n, a, r, i, s, o, l;
      const c = Dt.a.Get().GetStoreItem(t.id, Object(On.j)(t.type)),
        d = Object(On.b)(
          null == c ? void 0 : c.GetStoreItemType(),
          null == c ? void 0 : c.GetAppType(),
        );
      switch (null == e ? void 0 : e.type) {
        case ce.i.k_EStoreFilterClauseTypeStoreTag:
          return null == c
            ? void 0
            : c
                .GetTags()
                .some((t) => (null == t ? void 0 : t.tagid) === e.value);
        case ce.i.k_EStoreFilterClauseTypeFeatureTag:
          switch (e.value) {
            case "linux":
              return null == c ? void 0 : c.GetPlatforms().linux;
            case "mac":
              return null == c ? void 0 : c.GetPlatforms().mac;
            case "vr":
              return null ===
                (a =
                  null === (n = null == c ? void 0 : c.GetPlatforms()) ||
                  void 0 === n
                    ? void 0
                    : n.vr_support) || void 0 === a
                ? void 0
                : a.vrhmd;
            case "vr only":
              return null ===
                (i =
                  null === (r = null == c ? void 0 : c.GetPlatforms()) ||
                  void 0 === r
                    ? void 0
                    : r.vr_support) || void 0 === i
                ? void 0
                : i.vrhmd_only;
            case "free":
              return null == c ? void 0 : c.BIsFree();
            case "discounted":
              return (
                (null == c ? void 0 : c.GetBestPurchaseOption().discount_pct) >
                0
              );
            default:
              return !1;
          }
        case ce.i.k_EStoreFilterClauseTypeAppType:
          return d === e.value;
        case ce.i.k_EStoreFilterClauseTypeLanguage:
          return null == c
            ? void 0
            : c.BHasSomeLanguageSupport(Object(le.g)(e.value));
        case ce.i.k_EStoreFilterClauseTypeContentDescriptor:
          return null ===
            (s = null == c ? void 0 : c.GetContentDescriptorIDs()) ||
            void 0 === s
            ? void 0
            : s.some((t) => t === e.value);
        case ce.i.k_EStoreFilterClauseTypePrice:
          return (
            (null == c ? void 0 : c.GetBestPurchasePriceInCents()) <=
            100 * e.value
          );
        case ce.i.k_EStoreFilterClauseTypeOr:
          const u =
            null === (o = e.rgSubexpressions) || void 0 === o
              ? void 0
              : o.some((e) => Zi(e, t));
          return e.bNegated ? !u : u;
        case ce.i.k_EStoreFilterClauseTypeAnd:
          const m =
            null === (l = e.rgSubexpressions) || void 0 === l
              ? void 0
              : l.every((e) => Zi(e, t));
          return e.bNegated ? !m : m;
        default:
          return !0;
      }
    }
    function Ji(e, t) {
      return e.filter(
        (e) => null == e.visibility_index || e.visibility_index == t,
      );
    }
    class Xi {
      constructor(e, t, n = !0) {
        (this.m_activeTab = null),
          (this.m_capsuleFilter = null),
          (this.m_bDefaultTab = !0),
          (this.m_nSaleDay = t),
          e &&
            ((this.m_activeTab = e),
            (this.m_bDefaultTab = n),
            e.capsules && 0 !== e.capsules.length
              ? ((this.m_capsuleFilter = new Set()),
                Ji(e.capsules, t).forEach((e) => {
                  this.m_capsuleFilter.add(Number(e.id));
                }))
              : (this.m_capsuleFilter = null));
      }
      GetSaleDay() {
        return this.m_nSaleDay;
      }
      ShouldShowSection(e) {
        return (
          !this.m_activeTab ||
          !e.show_on_tabs || 0 === e.show_on_tabs.length ||
          e.show_on_tabs.some((e) => e === this.GetActiveTabUniqueID())
        );
      }
      GetTab() {
        return this.m_activeTab;
      }
      GetActiveTabUniqueID() {
        var e;
        return null === (e = this.m_activeTab) || void 0 === e
          ? void 0
          : e.unique_id;
      }
      ShouldShowOnTab(e) {
        return !this.m_capsuleFilter || this.m_capsuleFilter.has(Number(e));
      }
      ShouldShowCapsule(e) {
        return this.ShouldShowOnTab(e.id);
      }
      ShouldShowEvent(e) {
        return 0 === e.appid || this.ShouldShowOnTab(e.appid);
      }
      BIsDefaultTab() {
        return this.m_bDefaultTab;
      }
      BIsTabFilteringEnabled() {
        return Boolean(this.m_capsuleFilter);
      }
      GetTabAppIDs() {
        return this.BIsTabFilteringEnabled() ? this.m_capsuleFilter : new Set();
      }
      GetStoreFilter() {
        var e, t;
        return (
          null === (e = this.GetTab()) || void 0 === e
            ? void 0
            : e.store_filter
        )
          ? JSON.stringify(
              Pi(
                null === (t = this.GetTab()) || void 0 === t
                  ? void 0
                  : t.store_filter,
              ),
            )
          : "";
      }
    }
    class $i {
      constructor() {
        (this.Keyify = (e) =>
          (function (e) {
            return "string" == typeof e || "number" == typeof e
              ? e
              : JSON.stringify(e);
          })(e)),
          (this.m_mapVisible = new Map()),
          (this.m_mapOwners = new Map());
      }
      IsAlreadyVisible(e) {
        return this.m_mapVisible.has(this.Keyify(e));
      }
      SortKey(e, t) {
        return (
          (this.m_mapVisible.get(this.Keyify(e)) || 0) -
          (this.m_mapVisible.get(this.Keyify(t)) || 0)
        );
      }
      BMarkAppVisibile(e, t) {
        this.EnsureOwnerSetExists(e);
        const n = this.Keyify(t);
        return (
          this.m_mapOwners.get(e).add(n),
          this.IsAlreadyVisible(t)
            ? (this.m_mapVisible.set(n, this.m_mapVisible.get(n) + 1), !1)
            : (this.m_mapVisible.set(n, 1), !0)
        );
      }
      BMarkAppNotVisible(e, t) {
        if (!this.IsAlreadyVisible(t)) return !1;
        this.EnsureOwnerSetExists(e);
        const n = this.Keyify(t);
        return (
          !!this.m_mapOwners.get(e).has(n) &&
          (this.DecrementAppVisibility(n), !0)
        );
      }
      MarkAllAppsNotVisible(e) {
        this.m_mapOwners.has(e) &&
          (this.m_mapOwners
            .get(e)
            .forEach(this.DecrementAppVisibility.bind(this)),
          this.m_mapOwners.delete(e));
      }
      EnsureOwnerSetExists(e) {
        this.m_mapOwners.has(e) || this.m_mapOwners.set(e, new Set());
      }
      DecrementAppVisibility(e) {
        const t = this.m_mapVisible.get(e) - 1;
        t > 0 ? this.m_mapVisible.set(e, t) : this.m_mapVisible.delete(e);
      }
    }
    const es = "0px 0px 100% 0px",
      ts = "tab";
    function ns() {
      return window.innerWidth >= 940;
    }
    function as(e) {
      const t = (function (e = 940) {
          const [t, n] = Object(r.useState)(window.innerWidth >= e);
          return (
            Object(r.useEffect)(() => {
              const t = () => {
                n(window.innerWidth >= e);
              };
              return (
                window.addEventListener("resize", t),
                () => window.removeEventListener("resize", t)
              );
            }, [e]),
            t
          );
        })(940),
        n = Object(ce.o)(e);
      return t
        ? { nMaxCapsulesPerRow: n.nMaxItemsPerRow, bScreenIsWide: t }
        : {
            nMaxCapsulesPerRow: Math.min(
              Math.max(Math.floor(window.innerWidth / n.nItemMinimumWidth), 1),
              n.nMaxItemsPerRow,
            ),
            bScreenIsWide: t,
          };
    }
    function rs(e) {
      const t = Object(ce.o)(e);
      return ns()
        ? t.nMaxItemsPerRow
        : Math.min(
            Math.max(Math.floor(window.innerWidth / t.nItemMinimumWidth), 1),
            t.nMaxItemsPerRow,
          );
    }
    var is,
      ss = n("Kjhy"),
      os = n.n(ss),
      ls = (n("PEc5"), n("8a+n")),
      cs = n.n(ls),
      ds = n("xGKe");
    !(function (e) {
      (e.k_eBlock = "block"),
        (e.k_eFinal = "final"),
        (e.k_eOriginal = "original"),
        (e.k_eReservation = "reservation");
    })(is || (is = {}));
    const us = (e) => {
      switch (e.display_style) {
        case is.k_eFinal:
          return (
            Boolean(e.formatted_final_price) &&
            r.createElement("span", null, e.formatted_final_price)
          );
        case is.k_eOriginal:
          const t = e.formatted_orig_price || e.formatted_final_price;
          return Boolean(t) && r.createElement("span", null, t);
      }
      const t = "reservation" == e.display_style;
      return r.createElement(
        "span",
        {
          className: Object(h.a)({
            [ds.StoreSalePriceWidget]: !0,
            [e.className]: Boolean(e.className),
            [ds.StoreSaleReservationPrice]: t,
          }),
        },
        Boolean(e.discount_percent) &&
          r.createElement(
            "span",
            { className: ds.StoreSaleDiscountBox },
            `-${e.discount_percent}%`,
          ),
        Boolean(e.formatted_final_price) &&
          (Boolean(e.discount_percent && e.formatted_orig_price)
            ? r.createElement(
                "div",
                { className: ds.StoreSaleDiscountedPriceCtn },
                r.createElement(
                  "div",
                  { className: ds.StoreOrignalPrice },
                  e.formatted_orig_price,
                ),
                r.createElement(
                  "div",
                  {
                    className: Object(h.a)({
                      [ds.StoreSalePriceBox]: !0,
                      [ds.StoreSaleReservationPriceBox]: t,
                    }),
                  },
                  e.formatted_final_price,
                ),
              )
            : r.createElement(
                "div",
                {
                  className: Object(h.a)({
                    [ds.StoreSalePriceBox]: !0,
                    [ds.StoreSaleReservationPriceBox]: t,
                  }),
                },
                e.formatted_final_price,
              )),
      );
    };
    function ms(e) {
      const [t] = Object(Wn.e)(e.packageID, {});
      if (t) {
        const n = t.GetBestPurchaseOption();
        return r.createElement(us, {
          formatted_final_price: n.formatted_final_price,
          formatted_orig_price: n.formatted_original_price,
          discount_percent: n.discount_pct,
          display_style: e.display_style,
          className: "bbcode_price",
        });
      }
      return null;
    }
    const ps = Object(m.a)((e) => {
      const [t] = Object(Wn.e)(e.packageID, {}),
        [n] = Object(Wn.e)(e.compareID, {});
      if (!t || !n) return null;
      const a = (function (e, t) {
        var n;
        if (
          !(null == e
            ? void 0
            : e.GetBestPurchaseOption().final_price_in_cents) ||
          !(null === (n = null == t ? void 0 : t.GetBestPurchaseOption()) ||
          void 0 === n
            ? void 0
            : n.final_price_in_cents)
        )
          return;
        return (
          (
            100 *
            (1 -
              Number.parseInt(e.GetBestPurchaseOption().final_price_in_cents) /
                Number.parseInt(t.GetBestPurchaseOption().final_price_in_cents))
          ).toFixed(0) + "%"
        );
      })(t, n);
      return void 0 === a
        ? null
        : r.createElement("span", { className: ds.StorePriceSavings }, a);
    });
    const hs = (e) => {
      const t = Object(ea.c)(),
        n = Object(Jt.c)(t);
      return r.createElement(Pt.c, {
        snr: n,
        appID: e.appid,
        classOverride: Object(h.a)(cs.a.WishlistButtonNotTop, "WishlistButton"),
      });
    };
    var _s = n("7DIv"),
      gs = n("wpbL"),
      bs = n.n(gs),
      fs = n("gu54"),
      vs = n("4CMN"),
      Ss = n("yd9a"),
      ys = n.n(Ss),
      Es = n("YIYq"),
      Cs = n("GwlT"),
      ws = (n("iHGD"), n("GGDl")),
      Bs = n("0Lok"),
      Os = n("DtIw"),
      Ds = n("X/Dm");
    const Is = "capsule_index_";
    function Ts(e) {
      const {
          capsule: t,
          bShowParentApp: n,
          strExtraParams: a,
          elElementToAppendToHover: r,
          index: s,
          bAutoFocus: l,
        } = e,
        [c, d] = i.a.useState(!1),
        [u] = Object(Wn.a)(t.id, Object(On.j)(t.type), fs.e),
        [m] = Object(Wn.b)(
          n && (null == u ? void 0 : u.GetParentAppID()),
          fs.e,
        ),
        p = Object(ea.c)();
      if (!u) return null;
      const _ = Boolean(m);
      return i.a.createElement(
        Ct.a,
        {
          className: Object(h.a)({
            [ys.a.OuterCapsuleContainer]: !0,
            [Is + s]: 0 == s,
          }),
          navEntryPreferPosition: _s.d.PREFERRED_CHILD,
          autoFocus: l,
        },
        i.a.createElement(
          Bs.a,
          { appid: u.GetAppID() },
          i.a.createElement(
            Pt.e,
            {
              className: ys.a.CapsuleContainer,
              item: t,
              elElementToAppend: e.elElementToAppendToHover,
              bShowDemoButton: e.bShowDemoButton,
              bShowDeckCompatibilityDialog: e.bShowDeckCompatibilityDialog,
              bHidePrice: e.bHidePrice,
              bUseSubscriptionLayout: e.bUseSubscriptionLayout,
              strExtraParams: e.strExtraParams,
              fnOnHoverStateChange: !o.c.IN_GAMEPADUI && d,
              nCreatorAccountID: e.creatorAccountID,
            },
            i.a.createElement(
              Rs,
              Object.assign({}, e, {
                info: t,
                bIsHovered: c,
                bHasParentAppToDisplay: _,
              }),
            ),
          ),
          Boolean(r) && i.a.createElement("div", null, r),
        ),
        _ &&
          i.a.createElement(
            xn.e,
            Object.assign(
              { className: ys.a.CapsuleParentInfo },
              Object(ws.a)(m, p, e.strExtraParams),
            ),
            i.a.createElement(
              Bs.a,
              { appid: m.GetAppID() },
              i.a.createElement(
                "div",
                { className: ys.a.ParentType },
                Object($.f)(
                  11 == u.GetAppType()
                    ? "#SalePage_ParentApp_SoundTrack"
                    : "#SalePage_ParentApp_DLC",
                ),
              ),
              i.a.createElement(
                Lt.a,
                {
                  type: "app",
                  id: m.GetAppID(),
                  strExtraParams: e.strExtraParams,
                },
                i.a.createElement(
                  "img",
                  Object.assign(
                    {
                      loading: "lazy",
                      className: gs.AppCapsuleImage,
                      alt: m.GetName(),
                      src: m.GetAssets().GetSmallCapsuleURL(),
                    },
                    Object(fs.c)(),
                  ),
                ),
              ),
            ),
          ),
      );
    }
    function Rs(e) {
      var t;
      const {
          info: n,
          bHidePriceIfOwned: a,
          bHideStatusBanners: s,
          strExtraParams: l,
          imageType: c,
          bHasParentAppToDisplay: d,
          bUseSubscriptionLayout: u,
          elElementToAppendToHover: m,
          bHidePrice: p,
          bHidePlatforms: h,
          creatorAccountID: _,
          bIsHovered: g,
        } = e,
        [b] = Object(Wn.a)(n.id, Object(On.j)(n.type), {
          include_platforms: !0,
        }),
        f = Object(ea.c)(),
        v = Object(Bs.b)(n.type),
        S = Object(r.useMemo)(
          () => (null == b ? void 0 : b.GetIncludedAppIDsOrSelf()),
          [b],
        ),
        y =
          b &&
          (null == b
            ? void 0
            : b.GetIncludedAppIDsOrSelf().every((e) => It.a.Get().BOwnsApp(e)));
      if (!b) return null;
      const E = y && !s,
        C = Object(Jt.b)(
          `${o.c.STORE_BASE_URL}${v}/${n.id}${l ? `?${l}` : ""}`,
          f,
        );
      let w,
        B = null;
      if (u && 0 == (null == b ? void 0 : b.GetStoreItemType()))
        B = i.a.createElement(Os.a, { appid: b.GetAppID(), bIsMuted: g });
      else if (m);
      else {
        const e = y && a,
          t = E;
        B = i.a.createElement(vs.a, {
          info: n,
          bShowAsMuted: t,
          bHidePrice: p,
          bShowInLibraryInsteadOfPrice: e,
          bHidePlatforms: h,
          creatorAccountID: _,
        });
      }
      return (
        "overrideNavigation" in n &&
          (w = (e) => (
            n.overrideNavigation(), e.preventDefault(), e.stopPropagation(), !1
          )),
        i.a.createElement(
          xn.c,
          {
            href: w ? null : C,
            style: { display: "block" },
            preferredFocus: d,
            onClick: w,
          },
          i.a.createElement(Cs.c, { appids: S, hide_status_banners: s }),
          i.a.createElement(vs.b, { imageType: c, info: n }),
          i.a.createElement(Ds.a, {
            eDeckCompatibilityCategory:
              null === (t = null == b ? void 0 : b.GetPlatforms()) ||
              void 0 === t
                ? void 0
                : t.steam_deck_compat_category,
          }),
          Boolean(g && !Object(Pt.a)()) &&
            i.a.createElement(Es.a, { appInfo: n }),
          B,
        )
      );
    }
    Object(m.a)((e) => {
      const {
          clanAccountID: t,
          gidAnnouncement: n,
          partnerEventStore: s,
          trackingLocation: o,
          bViewAllShowInfiniteScroll: l,
        } = e,
        c = de.a.InitFromClanID(t),
        d = Object(r.useRef)(null),
        [u, m] = Object(r.useState)(null),
        [p, _] = Object(r.useState)(!0),
        [g, b] = Object(r.useState)(!1);
      if (
        (Object(r.useEffect)(
          () => (
            Object(a.a)(void 0, void 0, void 0, function* () {
              d.current && d.current("PartnerEventRow Initializng new mount");
              const e = F.a.CancelToken.source();
              d.current = e.cancel;
              const a = de.a.InitFromClanID(t);
              yield wt.a.LoadClanInfoForClanSteamID(a);
              let r = yield s.LoadAdjacentPartnerEventsByAnnouncement(
                n,
                a,
                null,
                4,
                4,
                void 0,
                e,
              );
              if (!e.token.reason) {
                r = r || [];
                let e = r
                  .filter((e) => e.GetAnnouncementGID() != n)
                  .map((e) => e.AnnouncementGID);
                ka.f(e);
                const t = e
                  .slice(0, 3)
                  .map((e) => s.GetClanEventFromAnnouncementGID(e));
                if ((m(t), _(!1), o)) {
                  let e = Ot.a.Get().GetTracker(),
                    a = !1;
                  if (s.BHasClanAnnouncementGID(n)) {
                    let t = s.GetClanEventFromAnnouncementGID(n);
                    t &&
                      t.BIsPartnerEvent() &&
                      t.BIsVisibleEvent() &&
                      (e.MarkEventRead(t.GID, t.clanSteamID.GetAccountID(), o),
                      (a = !0));
                  }
                  t.length > 0 &&
                    (r
                      .filter((e) => e.BIsPartnerEvent())
                      .forEach((t) =>
                        e.MarkEventShown(
                          t.GID,
                          t.clanSteamID.GetAccountID(),
                          o,
                        ),
                      ),
                    (a = !0)),
                    a && e.Flush();
                }
              }
            }),
            () => {
              d.current && d.current("PartnerEventRow: unmounting");
            }
          ),
          [t, n, s, o],
        ),
        p)
      )
        return i.a.createElement(ee.a, { position: "center", size: "medium" });
      if (0 == u.length) return i.a.createElement("div", null);
      const f = wt.a.GetClanInfoByClanAccountID(t);
      return i.a.createElement(
        nt.a,
        null,
        i.a.createElement(
          "div",
          { className: Object(h.a)(bs.a.OtherEventsCtn, "OtherEventsCtn") },
          i.a.createElement(
            "div",
            { className: Fe.a.EventSectionTitleCtn },
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  Fe.a.EventSectionTitle,
                  "EventSectionTitle",
                ),
              },
              Object($.o)("#EventBrowse_MoreEventsTitle", f.group_name),
              " ",
            ),
            i.a.createElement(
              "div",
              { className: Fe.a.EventSectionSpacer },
              " ",
            ),
            l
              ? i.a.createElement(
                  "div",
                  { className: Fe.a.EventSectionMoreBtn, onClick: () => b(!0) },
                  Object($.f)("#EventBrowse_MoreEventsBtn"),
                )
              : i.a.createElement(
                  kt.c,
                  {
                    eventModel: u[0],
                    route: kt.a.k_eViewWebSiteHub,
                    className: Fe.a.EventSectionMoreBtn,
                  },
                  Object($.f)("#EventBrowse_MoreEventsBtn"),
                ),
          ),
          i.a.createElement(
            Ct.a,
            {
              className: bs.a.OtherEvents,
              "flow-children": "column",
              navEntryPreferPosition: _s.d.PREFERRED_CHILD,
            },
            u.map((e) =>
              i.a.createElement(js, { key: e.AnnouncementGID, event: e }),
            ),
          ),
          Boolean(g) &&
            i.a.createElement(da, {
              appid: u[0].appid,
              clanSteamID: c,
              announcementGID: u[0].AnnouncementGID,
              closeModal: () => b(!1),
              partnerEventStore: s,
            }),
        ),
      );
    });
    function js(e) {
      const {
          event: t,
          imageURLOverride: n,
          bShowAssociatedApp: a,
          langOverride: r,
          onClick: s,
        } = e,
        [l, c, d, u, m, p, _, g] =
          (Object(ea.c)(),
          Object(zt.d)(() => {
            const e = r || Object(le.g)(o.c.LANGUAGE),
              a = Boolean(void 0 !== n)
                ? n
                : t.GetImageURLWithFallback("capsule", e, be.c.capsule_main);
            return [
              e,
              t.appid,
              a,
              t.GetNameWithFallback(e) || "",
              t.GetCategoryAsString(),
              t.GetSummaryWithFallback(e),
              Object(ce.p)(a),
              t.GetSubTitleWithLanguageFallback(e) || "",
            ];
          })),
        [b, f] = Object(Wn.b)(c, {
          include_assets: !0,
          include_screenshots: !0,
        });
      if (!t)
        return i.a.createElement("div", {
          className: bs.a.OtherEvents_EventCtn,
        });
      if (!b && c)
        return i.a.createElement(ee.a, {
          size: "small",
          position: "center",
          string: Object($.f)("#Loading"),
        });
      const v =
          Object(Tn.b)().GetStoreInitializationTimestamp().getTime() / 1e3,
        S = t ? t.GetStartTimeAndDateUnixSeconds() : "";
      let y = g;
      return (
        g && (g.length > 30 || u.length > 30) && (y = void 0),
        i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            kt.c,
            {
              className: Object(h.a)(
                bs.a.OtherEvents_EventCtn,
                bs.a.HoversEnabled,
              ),
              eventModel: t,
              route: kt.a.k_eView,
              onClick: s,
              preferredFocus: !0,
            },
            i.a.createElement(
              "div",
              { className: bs.a.EventSummaryContainer },
              i.a.createElement("div", { className: bs.a.EventSummaryType }, m),
              i.a.createElement("div", { className: bs.a.EventSummaryText }, p),
            ),
            i.a.createElement("div", {
              className: bs.a.OtherEvents_BGImage,
              style: {
                backgroundColor: "#ffffff",
                backgroundImage: `url(${_})`,
              },
            }),
            i.a.createElement(
              "div",
              { className: bs.a.OtherEvents_ContentCtn },
              i.a.createElement(
                "div",
                { className: bs.a.OtherEvents_MainImageCtn },
                i.a.createElement("img", {
                  src: d,
                  className: bs.a.OtherEvents_MainImage,
                }),
              ),
              i.a.createElement(
                "div",
                { className: bs.a.OtherEvents_TextCtn },
                i.a.createElement(
                  "div",
                  { className: bs.a.OtherEvents_TextTitle },
                  u,
                ),
                Boolean(y) &&
                  i.a.createElement(
                    "div",
                    { className: bs.a.OtherEvents_SubTitle },
                    y,
                  ),
                Boolean(S > v)
                  ? i.a.createElement(
                      "div",
                      { className: bs.a.UpcomingCtn },
                      i.a.createElement(Ra.a, {
                        bSingleLine: !0,
                        dateAndTime: t.GetStartTimeAndDateUnixSeconds(),
                      }),
                    )
                  : i.a.createElement(Ra.a, {
                      bSingleLine: !0,
                      bOnlyDate: !0,
                      dateAndTime: t.GetStartTimeAndDateUnixSeconds(),
                    }),
              ),
            ),
          ),
          Boolean(a && t.appid) && i.a.createElement(As, { appid: t.appid }),
        )
      );
    }
    function As(e) {
      const { appid: t } = e,
        [n] = Object(Wn.b)(t, { include_assets: !0, include_release: !0 }),
        a = Object(ea.c)();
      if (!n) return null;
      const r = n.GetBestPurchaseOption();
      return i.a.createElement(
        Ct.a,
        Object.assign(
          { className: Object(h.a)(bs.a.AppCapsuleCtn, "AppCapsuleCtn") },
          Object(ws.a)(n, a),
        ),
        i.a.createElement(
          Lt.a,
          { type: "app", id: t, hoverClassName: bs.a.AppCapsuleImageHover },
          i.a.createElement("img", {
            className: bs.a.AppCapsuleImage,
            src: n.GetAssets().GetSmallCapsuleURL(),
          }),
        ),
        i.a.createElement(
          "span",
          { className: bs.a.AppCapsulePrice },
          Boolean(null == r ? void 0 : r.discount_pct) &&
            i.a.createElement(
              "span",
              { className: ys.a.StoreSaleDiscountBox },
              `-${null == r ? void 0 : r.discount_pct}%`,
            ),
          !n.BIsFree() &&
            r.final_price_in_cents &&
            i.a.createElement(
              "span",
              { className: ys.a.StoreSalePriceBox },
              r.formatted_final_price,
            ),
        ),
      );
    }
    var ks = n("/i1u"),
      Ms = n.n(ks),
      Ps = (n("DSc5"), n("gM6l"));
    function Ls(e) {
      return (
        ["dlc", "dlc_onsale", "dlc_music_onsale"].includes(
          e.smart_section_type,
        ) || e.show_parent_app
      );
    }
    function Gs(e, t) {
      if (e.show_as_carousel) return 0;
      const n = Object(ce.k)(e);
      return n <= 0 ? 0 : n + t;
    }
    function Ns(e) {
      return e.capsules_per_row_array
        ? o.c.IN_GAMEPADUI
          ? e.capsules_per_row_array.map((t, n) => {
              var a;
              const r =
                (null === (a = e.capsule_style_per_row_array) || void 0 === a
                  ? void 0
                  : a.length) > n
                  ? e.capsule_style_per_row_array[n]
                  : "grid";
              return Ps.a(t, 1, "tall" == r ? 4 : 3);
            })
          : e.capsules_per_row_array
        : e.adaptive_capsules_per_row
          ? o.c.IN_GAMEPADUI
            ? [2, 3]
            : [2, 3, 4, 3]
          : [Ps.a(e.capsules_per_row, 1, o.c.IN_GAMEPADUI ? 3 : 5) || 1];
    }
    function Fs(e) {
      return e.capsule_style_per_row_array
        ? e.capsule_style_per_row_array
        : (function (e) {
              return Ns(e).every((e) => 1 === e);
            })(e)
          ? ["fullrow"]
          : ["grid"];
    }
    function xs(e, t, n, a, i) {
      return Boolean("events" === e.section_type)
        ? a
          ? a
              .filter((e) => Boolean(e))
              .map((e) => ({
                Render: (t) =>
                  (function (e, t) {
                    const { section: n } = t;
                    return r.createElement(
                      Ct.a,
                      {
                        key: n.unique_id + "_" + e.GID,
                        style: {},
                        className: bs.a.OtherEvents,
                        "flow-children": "column",
                        navEntryPreferPosition: _s.d.PREFERRED_CHILD,
                      },
                      r.createElement(Da, { event: e }),
                      r.createElement(js, {
                        event: e,
                        bShowAssociatedApp: !n.hide_prices,
                        onClick: (t) => {
                          Ot.a.Get().RecordEventRead(e, 8),
                            f_(e, v.o(t)),
                            t.stopPropagation(),
                            t.preventDefault();
                        },
                      }),
                    );
                  })(e, t),
              }))
          : []
        : Boolean("links" === e.section_type) ||
            Boolean("sale_tabhub" === e.smart_section_type)
          ? n
            ? n.map((e) => ({
                Render: (t) =>
                  (function (e, t) {
                    const {
                      saleEvent: n,
                      language: a,
                      index: i,
                      section: s,
                    } = t;
                    return r.createElement(vs.d, {
                      key: s.unique_id + "_" + i,
                      link: e,
                      language: a,
                      clanAccountID: n.clanSteamID.GetAccountID(),
                      strClassName: Ms.a.LinkCapsule,
                    });
                  })(e, t),
              }))
            : []
          : Boolean("items" === e.section_type)
            ? t
              ? t
                  .filter((e) => !Object(Dn.d)(e))
                  .map((e) => ({
                    Render: (t) =>
                      (function (e, t) {
                        const {
                          capsuleStyle: n,
                          index: a,
                          section: i,
                          saleEvent: s,
                          rowElements: o,
                        } = t;
                        if (Object(Dn.d)(e)) return null;
                        const l = Ls(i),
                          c = s.BUseSubscriptionLayout(),
                          d = i.unique_id + "_" + a + "_" + e.type + "_" + e.id;
                        if ("fullrow" !== n) {
                          const t = "tall" === n ? "library" : "header";
                          return r.createElement(Ts, {
                            imageType: t,
                            key: d,
                            capsule: e,
                            bShowParentApp: l,
                            bUseSubscriptionLayout: c,
                            bShowDemoButton: i.show_as_demos,
                            bHidePrice: i.hide_prices,
                            bHidePlatforms: o >= 5,
                            index: a,
                            bShowDeckCompatibilityDialog:
                              i.show_deck_compability_details,
                          });
                        }
                        {
                          const t = i.single_item_style
                            ? i.single_item_style
                            : ce.q;
                          let n;
                          return (
                            "overrideNavigation" in e &&
                              (n = (t) => (
                                e.overrideNavigation(),
                                t && (t.preventDefault(), t.stopPropagation()),
                                !1
                              )),
                            r.createElement(
                              "div",
                              {
                                key: d,
                                className: Object(h.a)({
                                  [Ms.a.AppSummaryWidgetCtn]: "bordered" == t,
                                  [Is + a]: 0 === a,
                                }),
                              },
                              r.createElement(vs.f, {
                                id: e.id,
                                type: e.type,
                                displayStyle: t,
                                bShowPurchaseOptionsButton:
                                  i.show_purchase_options,
                                bUseSubscriptionLayout: c,
                                bShowDemoButton: i.show_as_demos,
                                bHidePrice: i.hide_prices,
                                bShowDeckCompatibilityDialog:
                                  i.show_deck_compability_details,
                                fnOnClickOverride: n,
                              }),
                            )
                          );
                        }
                      })(e, t),
                  }))
              : []
            : Boolean("itemdef" === e.section_type) && i
              ? i.map((e) => ({
                  Render: (t) =>
                    (function (e, t) {
                      const { section: n, language: a, saleEvent: i } = t;
                      return r.createElement(ao, {
                        key: n.unique_id + "_" + e.nAppID + "_" + e.nItemDefID,
                        itemDefSetting: e,
                        language: a,
                        clanAccountID: i.clanSteamID.GetAccountID(),
                      });
                    })(e, t),
                }))
              : [];
    }
    function zs(e, t) {
      return t[e % t.length];
    }
    function Us(e, t) {
      return "tall" === e ? t + 1 : t;
    }
    function Ws(e, t, n, a, i, s, l, c, d, u, m, p) {
      const {
        nMaxCapsulesPerRow: _,
        bScreenIsWide: g,
        nShowAdditionalRows: b,
      } = t;
      if (0 === n.length) return { content: null, bAdditionalContent: !1 };
      const f = (e, t, n, a, r) => {
        const i = new Array();
        for (let s = t; s < n; s++) {
          const t = Object.assign(
              { capsuleStyle: r, index: s, rowElements: a },
              m,
            ),
            n = e[s].Render(t);
          n && i.push(n);
        }
        return i;
      };
      let v = null,
        S = !1;
      const y = 1 === n.length,
        E = y ? [1] : a;
      let C = i;
      y && (_ > 1 || "tall" == C[0]) && (C = ["fullrow"]);
      const w = l && s <= 1,
        B = zs(0, C),
        O = Math.min(E[0], Us(B, _));
      if (w && n.length > O)
        v = r.createElement(
          vr,
          {
            hideArrows: !g,
            visibleElements: O,
            className: Object(h.a)({
              SaleSectionCarousel: !0,
              SaleSectionCarouselPadding: !Boolean(p),
            }),
            useTestScrollbar: !0,
            bLazyRenderChildren: !0,
            bAutoAdvance: !!c,
            hidePips: o.c.IN_GAMEPADUI,
            onSlide: (t) => dn.Get().AddInteraction(e, Math.floor(t / O) * O),
          },
          f(n, 0, n.length, O, B),
        );
      else {
        let t = u(b),
          a = !0;
        if (l) (t = s), (a = w);
        else if (0 == b && t > 0) {
          let e = 0,
            a = 0;
          for (; e < t && a < n.length; e++) {
            a += Math.min(E[e % E.length], _);
          }
          t = Math.max(2, e);
        }
        let i = new Array(),
          c = new Array(),
          m = 0,
          p = 0;
        for (let e = 0; m < n.length; e++) {
          for (let e = 0; (0 == t || e < t) && m < n.length; e++) {
            const t = zs(e, C),
              a = Us(t, _);
            let i = Math.min(E[e % E.length], a);
            const s = Math.min(i, n.length - m);
            if (s < i && 0 === e) {
              if (d) return { content: null, bAdditionalContent: !1 };
              const e = "tall" === t ? 3 : 2;
              i = Math.max(e, s);
            }
            c.push(
              r.createElement(
                Vs,
                { key: "Row_" + e, nMaxItems: i, nItems: s },
                f(n, m, m + s, i, t),
              ),
            ),
              (m += s);
          }
          if ((0 == p && (p = m), a)) break;
          if (m >= n.length && 0 === i.length) break;
          const s = i.length || void 0;
          i.push(
            r.createElement(
              "div",
              { className: Ms.a.CarouselPage, key: `Page_${e}` },
              r.createElement(ea.b, { depth: s }, c),
            ),
          ),
            (c = []);
        }
        0 == i.length
          ? ((S = n.length > m),
            (v = r.createElement(
              Ct.a,
              { "flow-children": "grid", focusable: !1 },
              c,
            )))
          : (v = r.createElement(
              vr,
              {
                hideArrows: !g,
                visibleElements: 1,
                className: "SaleSectionCarousel",
                useTestScrollbar: !0,
                bLazyRenderChildren: !0,
                hidePips: o.c.IN_GAMEPADUI,
                onSlide: (t) => dn.Get().AddInteraction(e, t * p),
              },
              i,
            ));
      }
      return { content: v, bAdditionalContent: S };
    }
    function Hs(e) {
      const { saleEvent: t, section: n, language: a } = e,
        r = xs(n, e.capsules, e.links, e.events, e.itemdefs);
      if (0 === r.length) return { content: null, bAdditionalContent: !1 };
      const i = Ns(n),
        s = Fs(n),
        o = Object(ce.l)(n),
        l = n.show_as_carousel,
        c = n.carousel_auto_advance,
        d = n.hide_section_if_too_few_items,
        u = { section: n, saleEvent: t, language: a };
      return Ws(n.unique_id, e, r, i, s, o, l, c, d, (e) => Gs(n, e), u);
    }
    const Vs = (e) => {
      const { nMaxItems: t, nItems: n } = e,
        a = t - n,
        i =
          a % 2 != 0
            ? `minmax(0, 0.5fr) repeat(${t - 1}, minmax(0, 1fr)) minmax(0, 0.5fr)`
            : `repeat(${t}, minmax(0, 1fr))`;
      let s = null,
        o = null;
      if (a > 0) {
        const e = Math.floor((a + 1) / 2);
        (s = new Array()), (o = new Array());
        for (let t = 0; t < e; t++)
          s.push(r.createElement("div", { key: "front_" + t })),
            o.push(r.createElement("div", { key: "back_" + t }));
      }
      return r.createElement(
        "div",
        {
          className: Object(h.a)(
            Fe.a.SaleSectionContainer,
            Ms.a.SaleSectionContainer,
            "center_row_trgt",
            "ItemCount_" + t,
          ),
          style: { gridTemplateColumns: t > 1 ? i : null },
        },
        s,
        e.children,
        o,
      );
    };
    var qs = n("GGO3"),
      Ks = n("GuJZ");
    function Qs(e, t) {
      return (
        $.a.GetWithFallback(e.localized_label, t) ||
        ("#Sale_default_label" === e.default_label
          ? ""
          : Object($.f)(e.default_label))
      );
    }
    function Ys(e, t, n, a) {
      const i = (function (e) {
        if ("items" === e.section_type)
          switch (e.smart_section_type) {
            case "wishlist":
              return "#Sale_default_label_OnYourWishlist";
            case "interactive_recommender":
            case "tag_recommender":
              return "#Sale_default_label_RecommendedForYou";
          }
        if ("tabs" === e.section_type) return "";
        if ("curator" === e.section_type) {
          if (e.curator_clan_id) {
            let t = de.a.InitFromClanID(e.curator_clan_id),
              n = Un.a.GetCreatorHome(t);
            if (n) return Object($.f)("#Sale_CuratorSection_Name", n.GetName());
          }
          return "#Sale_CuratorSection";
        }
        return "event_schedule" === e.section_type
          ? "#Sale_EventSchedule"
          : "curator_recommendation" === e.section_type
            ? "#Sale_CuratorRecommendation_title"
            : "discoveryqueue" === e.section_type
              ? "#DiscoveryQueue_Title"
              : null;
      })(e);
      if (null !== i) return i && i.startsWith("#") ? Object($.f)(i) : i;
      const s =
          $.a.GetWithFallback(e.localized_label, t) ||
          ("#Sale_default_label" === e.default_label
            ? ""
            : Object($.f)(e.default_label)),
        l = $.a.GetWithFallback(e.localized_label_image, t);
      if (!a && l) {
        const e = o.c.MEDIA_CDN_COMMUNITY_URL + `images/clans/${n}/${l}`;
        return r.createElement("img", { loading: "lazy", src: e, alt: s });
      }
      return s;
    }
    const Zs = (e) => {
      const { section: t, event: n, language: a, nHiddenCapsules: i } = e,
        s = Ys(t, a, n.clanSteamID.GetAccountID());
      if (!s) return null;
      let l = r.createElement(
          "div",
          {
            className: Object(h.a)(Fe.a.SaleSectionHeader, "SaleSectionHeader"),
            style: Js(t, n, a),
          },
          s,
        ),
        c = null;
      if (
        t.label_link &&
        ((l = r.createElement(qs.b, { url: t.label_link }, l)),
        "browseall" === t.label_link_style)
      ) {
        const e = Object($.f)("#Sale_SectionLink_BrowseAll");
        c = r.createElement(
          qs.b,
          {
            className: Object(h.a)(
              Ks.SectionLabelLinkButton,
              "SaleSectionLabelLinkButton",
            ),
            url: t.label_link,
          },
          e,
        );
      }
      return r.createElement(
        "div",
        { className: Object(h.a)(Ks.SectionLabelCtn, "SaleSectionLabelCtn") },
        l,
        r.createElement(
          "div",
          { className: Ks.SectionLabelRight },
          !!i &&
            r.createElement(
              Qe.a,
              {
                className: ks.SaleSectionSubtext,
                toolTipContent: Object($.f)("#Sale_HiddenItem_Tooltip"),
              },
              r.createElement(
                "a",
                { href: o.c.STORE_BASE_URL + "account/preferences" },
                Object($.o)(
                  1 == i
                    ? "#Sale_HiddenItem_Single_Short"
                    : "#Sale_HiddenItems_Short",
                  i,
                ),
              ),
            ),
          c,
        ),
      );
    };
    function Js(e, t, n) {
      return {
        fontFamily: Xs(t.jsondata.sale_font, n),
        fontWeight: t.jsondata.sale_font_weight,
        fontSize: t.jsondata.sale_section_font_size,
        textTransform: t.jsondata.sale_section_disable_capitalize
          ? "initial"
          : null,
        color: e.label_color,
      };
    }
    function Xs(e, t) {
      return (
        (e = e || ""),
        12 === t
          ? e.replace("Jolly Lodger", "New Rocker")
          : 23 === t || 19 === t || 24 === t || 18 === t || 8 === t || 26 === t
            ? e.replace("Sigmar One", "Play")
            : 6 === t
              ? e.replace("Sigmar One", "Noto Serif SC")
              : 7 === t
                ? e.replace("Sigmar One", "Noto Serif TC")
                : 10 === t
                  ? e.replace("Sigmar One", "M PLUS Rounded 1c")
                  : 4 === t
                    ? e.replace("Sigmar One", "Black Han Sans")
                    : 9 === t
                      ? e.replace("Sigmar One", "Prompt")
                      : e
      );
    }
    function $s(e, t) {
      if (e.disable_background && !o.c.IN_GAMEPADUI)
        return { paddingLeft: 0, paddingRight: 0 };
      let n = "";
      if (e.background_image) {
        n += `,url(${be.a.GenerateArtworkURLFromHashAndExtensions(t.clanSteamID, e.background_image)})`;
      }
      return {
        background:
          `linear-gradient(0deg, ${e.background_gradient_bottom || "transparent"} 0%, ${e.background_gradient_top || "transparent"} 100%)` +
          n,
        backgroundRepeat: e.background_repeat,
      };
    }
    var eo = n("shpI");
    function to(e) {
      const { event: t, activeTab: n, section: a } = e,
        [i, s] = r.useState(null),
        o = Object(ln.b)(a.itemdefs[0].nAppID, a.itemdefs);
      return (
        r.useEffect(
          () => s(a.itemdefs.filter((e) => n.ShouldShowOnTab(e.nAppID))),
          [a.itemdefs, n],
        ),
        (null == i ? void 0 : i.length) > 0 && o
          ? r.createElement(no, Object.assign({ itemDefSettings: i }, e))
          : null
      );
    }
    function no(e) {
      const {
          event: t,
          activeTab: n,
          section: a,
          itemDefSettings: i,
          language: s,
        } = e,
        o = {
          saleEvent: t,
          section: a,
          itemdefs: i,
          language: s,
          nMaxCapsulesPerRow: rs("itemdef"),
          bScreenIsWide: ns(),
          nShowAdditionalRows: 0,
        };
      let { content: l, bAdditionalContent: c } = Hs(o);
      return r.createElement(
        ea.b,
        { feature: "itemdef", depth: n.GetActiveTabUniqueID() },
        r.createElement(
          er.a,
          {
            placeholderHeight: 250,
            rootMargin: es,
            className: Object(h.a)(
              Ms.a.SaleSection,
              a.show_as_carousel && Ms.a.CarouselDisplay,
              os.a.SaleSectionCtn,
              "SaleSectionForCustomCSS",
            ),
            style: $s(a, t),
          },
          r.createElement(
            "div",
            { className: Ms.a.SaleSectionTitleCtn },
            r.createElement(Zs, Object.assign({}, e, { nHiddenCapsules: 0 })),
          ),
          l,
          r.createElement(qs.a, { section: a }),
        ),
      );
    }
    function ao(e) {
      const {
          itemDefSetting: t,
          language: n,
          clanAccountID: a,
          strCallToAction: i,
        } = e,
        s = Object(ln.a)(t.nAppID, t.nItemDefID),
        [l, c] = r.useState(1),
        d = Object(ea.c)();
      if (!s) return null;
      let u = $.a.GetWithFallback(t.localized_itemdef_capsule, n);
      (null == u ? void 0 : u.length) > 0 &&
        (u = o.c.MEDIA_CDN_COMMUNITY_URL + `images/clans/${a}/${u}`);
      const m = Object(Jt.b)(
        o.c.STORE_BASE_URL + `buyitem/${s.nAppID}/${s.nItemDefID}/${l}`,
        d,
      );
      return r.createElement(
        "div",
        { className: Object(h.a)(eo.ItemDefCtn, "ItemDefCtn") },
        r.createElement(
          "a",
          {
            href: m,
            className: Object(h.a)(eo.ItemDefImgCtn, "ItemDefImgCtn"),
          },
          r.createElement(
            "div",
            { style: { backgroundColor: s.strBackgroundColor } },
            r.createElement("img", {
              src: (null == u ? void 0 : u.length) > 0 ? u : s.strImgURL,
            }),
          ),
        ),
        r.createElement(
          "a",
          {
            href: m,
            className: Object(h.a)(eo.ItemDefNameCtn, "ItemDefNameCtn"),
          },
          r.createElement("div", null, s.strName),
        ),
        r.createElement(
          "div",
          { className: eo.QuanityAndPrice },
          r.createElement(
            "div",
            { className: eo.PriceCtn },
            r.createElement(us, {
              formatted_final_price: s.strFormattedFinalPrice,
              formatted_orig_price: s.strFormattedOrigPrice,
              discount_percent: s.nDiscountPercent,
            }),
          ),
          r.createElement(ro, {
            nQuantity: l,
            fnSetQuantity: c,
            itemDefSetting: t,
          }),
        ),
        Boolean(i) &&
          r.createElement(
            "a",
            {
              href: m,
              className: Object(h.a)(eo.ItemActionBtn, "ItemActionBtn"),
            },
            i,
          ),
      );
    }
    function ro(e) {
      const { nQuantity: t, fnSetQuantity: n, itemDefSetting: a } = e;
      if (Boolean(a.max_quantity > 1)) {
        const e = [];
        for (let t = 1; t <= a.max_quantity; ++t)
          e.push({ label: "" + t, data: t });
        return r.createElement(
          "div",
          { className: eo.dropdown },
          r.createElement(te.m, {
            strDropDownClassName: Object(h.a)(Fe.a.DropDownScroll),
            rgOptions: e,
            selectedOption: t,
            onChange: (e) => n(e.data),
            bDisableMouseOverlay: !0,
            contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
          }),
        );
      }
      return null;
    }
    var io = n("G0wi"),
      so = n("dAlf"),
      oo = n.n(so);
    const lo = (e) => {
      const [t, n] = Object(r.useState)(!0),
        [s, o] = Object(r.useState)(null);
      if (
        (Object(r.useEffect)(() => {
          if (0 == e.appid || 0 == e.trailerBaseID)
            return void o(Object($.f)("#TrailerPlayer_ID_NotProvided"));
          Object(a.a)(void 0, void 0, void 0, function* () {
            yield Dt.a.Get().QueueAppRequest(e.appid, { include_trailers: !0 }),
              Dt.a.Get().BHasApp(e.appid)
                ? (Dt.a
                    .Get()
                    .GetApp(e.appid)
                    .GetAllTrailers()
                    .GetTrailerByID(e.trailerBaseID) ||
                    (console.error(
                      "Trailer " +
                        e.trailerBaseID +
                        " doesn't existed within appid " +
                        e.appid,
                    ),
                    o(
                      Object($.f)(
                        "#TrailerPlayer_CouldNotLoad",
                        e.appid,
                        e.trailerBaseID,
                      ),
                    )),
                  n(!1))
                : o(
                    Object($.f)(
                      "#TrailerPlayer_CouldNotLoad",
                      e.appid,
                      e.trailerBaseID,
                    ),
                  );
          });
        }, [e.appid, e.trailerBaseID]),
        s)
      )
        return e.bIsPreviewMode
          ? i.a.createElement("div", { className: oo.a.ErrorDiv }, s)
          : null;
      if (t)
        return i.a.createElement(ee.a, {
          string: Object($.f)("#Loading"),
          size: "small",
        });
      const l = Dt.a
          .Get()
          .GetApp(e.appid)
          .GetAllTrailers()
          .GetTrailerByID(e.trailerBaseID),
        c = l.GetTrailerMax(),
        d = {
          sPoster: l.GetScreenshot(),
          rgVideoSources: [
            { sURL: c.strWebMURL, sFormat: "video/webm" },
            { sURL: c.strMP4URL, sFormat: "video/mp4" },
          ],
        };
      return i.a.createElement(io.a, {
        bControls: !0,
        bAutoPlay: !1,
        bLoop: !1,
        video: d,
      });
    };
    var co = n("1ciW"),
      uo = n("XFvQ");
    n("O49i");
    const mo = i.a.lazy(() => n.e(1).then(n.bind(null, "U1pz"))),
      po = (e) => {
        const t = Object(r.useRef)(null),
          [n, s] = Object(r.useState)(uo.a.Get().GetVODForAppID(e.appid)),
          [o, l] = Object(r.useState)(
            !Boolean(uo.a.Get().GetVODForAppID(e.appid)),
          );
        return (
          Object(r.useEffect)(
            () => () => t.current && t.current("VODPlayer: unmounting"),
          ),
          Object(r.useEffect)(() => {
            let r = n;
            if (
              (n &&
                n.appid != e.appid &&
                (r = uo.a.Get().GetVODForAppID(e.appid)),
              !r)
            ) {
              const n = () =>
                Object(a.a)(void 0, void 0, void 0, function* () {
                  t.current && t.current();
                  const n = F.a.CancelToken.source();
                  (t.current = n.cancel),
                    (r = yield uo.a.Get().LoadVODForAppID(e.appid)),
                    n.token.reason || s(r),
                    l(!1);
                });
              l(!0), n();
            }
            n != r && s(r);
          }, [e.appid, n]),
          !n && e.bPreviewMode
            ? i.a.createElement(
                "div",
                null,
                Object($.f)(
                  o ? "#VODPlayer_Loading" : "#VODPlayer_ErrorLoading",
                  e.appid,
                ),
              )
            : i.a.createElement(
                "div",
                { className: co.BroadcastCtn },
                i.a.createElement(
                  nt.a,
                  null,
                  i.a.createElement(
                    i.a.Suspense,
                    { fallback: i.a.createElement("div", null) },
                    i.a.createElement(mo, {
                      nAppIDVOD: e.appid,
                      watchLocation: 9,
                      bStartPaused: !0,
                    }),
                  ),
                ),
              )
        );
      };
    let ho = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            bLoading: this.props.announcementGID
              ? !St.b.BHasClanAnnouncementGID(this.props.announcementGID)
              : !St.b.BHasClanAnnouncementGID(this.props.eventGID),
            bFailedLoad: !1,
          }),
          (this.m_cancelSignal = F.a.CancelToken.source());
      }
      componentDidMount() {
        this.HandleLoadEventInfo();
      }
      HandleLoadEventInfo() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const {
            appid: e,
            strVanity: t,
            announcementGID: n,
            eventGID: a,
            strGroupVanity: r,
          } = this.props;
          let i = this.props.clanSteamID;
          try {
            if (this.state.bLoading) {
              if (void 0 !== t) {
                i = (yield wt.a.LoadOGGClanInfoForIdentifier(t)).clanSteamID;
              } else if (void 0 !== r) {
                i = (yield wt.a.LoadOGGClanInfoForGroupVanity(r)).clanSteamID;
              }
              const s = St.b.LoadPartnerEventGeneric(i, e, a, n, 0);
              let o = yield s;
              yield Promise.all([
                Dt.a
                  .Get()
                  .QueueAppRequest(o.appid, {
                    include_assets: !0,
                    include_basic_info: !0,
                    include_release: !0,
                  }),
              ]),
                this.setState({ bFailedLoad: !1, bLoading: !1 });
            }
          } catch (e) {
            this.HandleError(e);
          }
        });
      }
      HandleError(e) {
        let t = Object(me.a)(e);
        const {
          eventGID: n,
          announcementGID: a,
          strGroupVanity: r,
          strVanity: i,
        } = this.props;
        console.error(
          "EventSnippet hit error on announceGID " +
            a +
            " eventGID " +
            n +
            " strVanity " +
            i +
            " strGroupVanity " +
            r +
            " error: " +
            t.strErrorMsg,
        ),
          this.setState({ bFailedLoad: !0 });
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("component unmounted");
      }
      render() {
        var e;
        const {
          appid: t,
          announcementGID: n,
          eventGID: a,
          strURL: i,
          fnFilterImageURLsForKnownFailures: s,
          fnImageFailureCallback: l,
        } = this.props;
        if (this.state.bFailedLoad) return $t(i);
        if (this.state.bLoading) return r.createElement(ee.a, null);
        let c =
          void 0 !== n
            ? St.b.GetClanEventFromAnnouncementGID(n)
            : St.b.GetClanEventModel(a);
        if (null == c) return $t(i);
        let d = Object(le.g)(o.c.LANGUAGE),
          u = c.GetImageForSizeAsArrayWithFallback(
            "capsule",
            d,
            be.c.capsule_main,
          );
        s && (u = s(u));
        let m = c.GetNameWithFallback(d),
          h = c.GetSubTitleWithSummaryFallback(d),
          _ =
            null === (e = Dt.a.Get().GetApp(t)) || void 0 === e
              ? void 0
              : e.GetName(),
          g = Object($.k)(c.GetStartTimeAndDateUnixSeconds());
        return r.createElement(
          kt.c,
          {
            eventModel: c,
            route: kt.a.k_eView,
            className: Cn.a.DynamicLinkBox,
            "data-modal-content-sizetofit": !0,
            "data-appid": t,
          },
          r.createElement(p, {
            className: Cn.a.DynamicLink_Preview,
            rgSources: u,
            onIncrementalError: (e, t, n) => l && l(t),
          }),
          r.createElement(
            "div",
            { className: Cn.a.DynamicLink_Content },
            r.createElement(
              "div",
              { className: Cn.a.DynamicLink_Author },
              Object($.f)(
                28 == c.type
                  ? "#EventDisplay_Share_Announcement"
                  : "#EventDisplay_Share_Event",
                _,
              ),
              r.createElement("span", { className: Cn.a.DynamicLink_Date }, g),
            ),
            r.createElement(
              "div",
              { className: Cn.a.DynamicLink_Name },
              r.createElement("div", { className: Cn.a.DynamicLink_Type }, m),
            ),
            r.createElement(
              "div",
              { className: Cn.a.DynamicLink_Description },
              h,
            ),
          ),
        );
      }
    };
    ho = Object(a.b)([m.a], ho);
    var _o = n("ZL6Q"),
      go = n.n(_o);
    let bo = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { bSummaryMode: !0, bLoadedMetaData: !1 });
      }
      componentDidMount() {
        return Object(a.a)(this, void 0, void 0, function* () {
          let e =
            "https://sketchfab.com/oembed?url=https://sketchfab.com/models/" +
            this.props.modelID;
          try {
            let t = yield F.a.get(e);
            this.setState({ bLoadedMetaData: !0, data: t.data });
          } catch (e) {
            this.setState({ bError: !0 }),
              console.error(
                "SketchFabEmbed failed to load: " + Object(me.a)(e).strErrorMsg,
              );
          }
        });
      }
      OnSketchFabClick() {
        this.state.bLoadedMetaData && this.setState({ bSummaryMode: !1 });
      }
      render() {
        const { modelID: e } = this.props;
        return this.state.bError
          ? r.createElement(
              "div",
              {
                className: go.a.dynamiclink_box,
                onClick: this.OnSketchFabClick,
              },
              r.createElement("span", null, e),
              r.createElement(
                "span",
                null,
                Object($.f)("#EventDisplay_SketchFab_Error_Network"),
              ),
            )
          : this.state.bSummaryMode
            ? r.createElement(
                "div",
                {
                  className: go.a.dynamiclink_box,
                  onClick: this.OnSketchFabClick,
                },
                Boolean(this.state.bLoadedMetaData)
                  ? r.createElement(
                      r.Fragment,
                      null,
                      r.createElement("img", {
                        className: go.a.dynamiclink_preview,
                        src: this.state.data.thumbnail_url,
                      }),
                      r.createElement("img", {
                        className: go.a.sketchfab_play_overlay_image,
                      }),
                      r.createElement(
                        "div",
                        { className: go.a.dynamiclink_content },
                        r.createElement(
                          "div",
                          { className: go.a.dynamiclink_name },
                          r.createElement(
                            "span",
                            { className: go.a.dynamiclink_type },
                            Object($.f)("#EventDisplay_Sketchfab"),
                          ),
                          r.createElement(
                            "div",
                            null,
                            this.state.data.title,
                            " ",
                          ),
                        ),
                        r.createElement(
                          "div",
                          { className: go.a.dynamiclink_author },
                          this.state.data.author_name,
                        ),
                      ),
                    )
                  : r.createElement(ee.a, { size: "medium" }),
              )
            : r.createElement(
                "div",
                { className: go.a.sketchfabmodelembedded },
                r.createElement("iframe", {
                  className: go.a.sketchfabmodelembedded,
                  src:
                    "https://sketchfab.com/models/" +
                    this.props.modelID +
                    "/embed?autostart=1",
                  frameBorder: 0,
                  allowFullScreen: !0,
                }),
              );
      }
    };
    Object(a.b)([u.b], bo.prototype, "OnSketchFabClick", null),
      (bo = Object(a.b)([m.a], bo));
    class fo {
      BIsValid() {
        return void 0 !== this.giveaway_id && null !== this.giveaway_id;
      }
      BStarted() {
        return (
          this.BIsValid() &&
          (this.seconds_until_drawing >= 0 || this.winner_count > 0)
        );
      }
    }
    Object(a.b)([L.C], fo.prototype, "giveaway_id", void 0),
      Object(a.b)([L.C], fo.prototype, "seconds_until_drawing", void 0),
      Object(a.b)([L.C], fo.prototype, "rtime_start", void 0),
      Object(a.b)([L.C], fo.prototype, "rtime_end", void 0),
      Object(a.b)([L.C], fo.prototype, "closed", void 0),
      Object(a.b)([L.C], fo.prototype, "winner_count", void 0);
    class vo {
      constructor() {
        (this.m_mapGiveawayIDToNextDrawInfo = new Map()),
          (this.m_bLoadedFromConfig = !1);
      }
      LazyInit() {
        if (!this.m_bLoadedFromConfig) {
          let e = Object(o.g)("giveawaynextdraw", "application_config");
          if (e && e.giveaway_id) {
            let t = new fo();
            this.CopyToGiveaway(e, t),
              this.m_mapGiveawayIDToNextDrawInfo.set(e.giveaway_id, t);
          }
          this.m_bLoadedFromConfig = !0;
        }
      }
      CopyToGiveaway(e, t) {
        t.closed != e.closed && (t.closed = e.closed),
          t.giveaway_id != e.giveaway_id && (t.giveaway_id = e.giveaway_id),
          t.rtime_start != e.rtime_start && (t.rtime_start = e.rtime_start),
          t.rtime_end != e.rtime_end && (t.rtime_end = e.rtime_end),
          t.winner_count != e.winner_count && (t.winner_count = e.winner_count),
          t.seconds_until_drawing != e.seconds_until_drawing &&
            (t.seconds_until_drawing = e.seconds_until_drawing);
      }
      FirstTimeLoadGiveaway(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.LazyInit(),
            this.m_mapGiveawayIDToNextDrawInfo.has(e)
              ? this.m_mapGiveawayIDToNextDrawInfo.get(e)
              : this.ReloadGiveaway(e, t)
          );
        });
      }
      ReloadGiveaway(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = o.c.STORE_BASE_URL + "prizes/nextdraw/" + e,
            a = null,
            r = { origin: self.origin };
          return (
            (a = yield F.a.get(n, { params: r, cancelToken: t.token })),
            this.m_mapGiveawayIDToNextDrawInfo.has(e) ||
              this.m_mapGiveawayIDToNextDrawInfo.set(e, new fo()),
            this.CopyToGiveaway(
              a.data,
              this.m_mapGiveawayIDToNextDrawInfo.get(e),
            ),
            this.m_mapGiveawayIDToNextDrawInfo.get(e)
          );
        });
      }
    }
    Object(a.b)([L.C], vo.prototype, "m_mapGiveawayIDToNextDrawInfo", void 0),
      Object(a.b)([L.k], vo.prototype, "CopyToGiveaway", null);
    const So = new vo();
    window.g_GiveawayStore = So;
    var yo = n("vWpT");
    let Eo = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { info: void 0 }),
          (this.m_cancelSignal = F.a.CancelToken.source());
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("GiveawayNextDraw component unmounted"),
          this.ClearRefreshInterval(),
          this.ClearCountDown();
      }
      componentDidMount() {
        return Object(a.a)(this, void 0, void 0, function* () {
          let e = yield So.FirstTimeLoadGiveaway(
            this.props.giveawayid,
            this.m_cancelSignal,
          );
          this.setState({ info: e }),
            this.SetupRefreshDataInterval(),
            this.SetupCountDown();
        });
      }
      SetupRefreshDataInterval() {
        this.ClearRefreshInterval();
        const { info: e } = this.state;
        if (!e.closed) {
          let t =
            e.seconds_until_drawing <= 0 && 0 == e.winner_count ? 6e4 : 5e3;
          this.m_intervalID = window.setInterval(this.RefreshData, t);
        }
      }
      ClearRefreshInterval() {
        this.m_intervalID &&
          (window.clearInterval(this.m_intervalID),
          (this.m_intervalID = void 0));
      }
      RefreshData() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const { info: e } = this.state;
          e.BIsValid() &&
            e.seconds_until_drawing <= 0 &&
            !e.closed &&
            (this.ClearCountDown(),
            yield So.ReloadGiveaway(this.props.giveawayid, this.m_cancelSignal),
            this.SetupCountDown());
        });
      }
      SetupCountDown() {
        this.state.info.seconds_until_drawing > 0 &&
          (this.m_intervalCountDownID = window.setInterval(
            this.UpdateTimer,
            1e3,
          ));
      }
      ClearCountDown() {
        this.m_intervalCountDownID &&
          (window.clearInterval(this.m_intervalCountDownID),
          (this.m_intervalCountDownID = void 0));
      }
      UpdateTimer() {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.state.info.seconds_until_drawing -= 1),
            0 == this.state.info.seconds_until_drawing && this.ClearCountDown();
        });
      }
      PrintTwoDigits(e) {
        return e < 10 ? "0" + e : e;
      }
      render() {
        const { info: e } = this.state;
        if (!e || null == e.giveaway_id || !e.BStarted()) return null;
        let t =
          o.c.STORE_BASE_URL +
          "prizes/view/" +
          e.giveaway_id +
          (o.c.SNR ? "?snr=" + o.c.SNR : "");
        return r.createElement(
          "div",
          { className: yo.countdownCtn },
          Boolean(e.closed) &&
            r.createElement(
              "div",
              { className: yo.Closed },
              e.winner_count > 0
                ? Object($.f)(
                    "#Giveaway_Closed",
                    e.winner_count.toLocaleString(),
                  )
                : Object($.f)("#Giveaway_Closed_NoWinnerInfo"),
            ),
          Boolean(!e.closed) &&
            r.createElement(
              r.Fragment,
              null,
              Boolean(e.seconds_until_drawing <= 0)
                ? r.createElement(
                    "div",
                    { className: yo.Throbber },
                    r.createElement(ee.a, { size: "small" }),
                    r.createElement(
                      "div",
                      null,
                      Object($.f)("#Giveaway_RandomDraw"),
                    ),
                  )
                : r.createElement(
                    "div",
                    { className: yo.CountDownCtn },
                    r.createElement(
                      "div",
                      { className: yo.CountDownTime },
                      this.PrintTwoDigits(
                        Math.floor(e.seconds_until_drawing / 60),
                      ) +
                        ":" +
                        this.PrintTwoDigits(e.seconds_until_drawing % 60),
                    ),
                    r.createElement(
                      "div",
                      { className: yo.CountDownText },
                      Object($.f)("#Giveaway_CountDown2"),
                      " ",
                      Object($.f)("#Giveaway_KeepWatching"),
                    ),
                  ),
              Boolean(e.winner_count > 0) &&
                r.createElement(
                  "div",
                  { className: yo.WinnerInfo },
                  r.createElement(
                    "div",
                    { className: yo.WinnerCount },
                    e.winner_count.toLocaleString(),
                  ),
                  r.createElement(
                    "div",
                    { className: yo.WinnerText },
                    Object($.f)("#Giveaway_Congratulation"),
                  ),
                ),
            ),
          r.createElement(
            E.c,
            { className: yo.LearnMore, href: t },
            Object($.f)("#Giveaway_LearnMore"),
          ),
        );
      }
    };
    Object(a.b)([u.b], Eo.prototype, "SetupRefreshDataInterval", null),
      Object(a.b)([u.b], Eo.prototype, "ClearRefreshInterval", null),
      Object(a.b)([u.b], Eo.prototype, "RefreshData", null),
      Object(a.b)([u.b], Eo.prototype, "SetupCountDown", null),
      Object(a.b)([u.b], Eo.prototype, "UpdateTimer", null),
      (Eo = Object(a.b)([m.a], Eo));
    class Co {
      constructor() {
        (this.m_mapBadgeInfo = new Map()),
          (this.m_mapBadgeLoadPromises = new Map()),
          (this.m_eventBadgehangeCallback = new Map());
      }
      GetBadgeInfo(e) {
        return this.m_mapBadgeInfo.get(e);
      }
      GetBadgeInfoChangeCallback(e) {
        return (
          this.m_eventBadgehangeCallback.has(e) ||
            this.m_eventBadgehangeCallback.set(e, new g.a()),
          this.m_eventBadgehangeCallback.get(e)
        );
      }
      Test_SetBadgeInfo(e) {
        this.m_mapBadgeInfo.set(e.badgeid, e),
          this.GetBadgeInfoChangeCallback(e.badgeid).Dispatch(e);
      }
      LoadBadgeInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.m_mapBadgeInfo.has(e)
            ? this.m_mapBadgeInfo.get(e)
            : (this.m_mapBadgeLoadPromises.has(e) ||
                this.m_mapBadgeLoadPromises.set(
                  e,
                  this.InternalLoadBadgeInfo(e),
                ),
              this.m_mapBadgeLoadPromises.get(e));
        });
      }
      InternalLoadBadgeInfo(e) {
        var t, n;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!e || !Number.isInteger(e)) return { badgeid: e, level: 0 };
          let a = null;
          try {
            const r = o.c.STORE_BASE_URL + "actions/ajaxgetbadgeinfo",
              i = {
                sessionid: o.c.SESSIONID,
                authwgtoken: o.j.authwgtoken,
                badgeid: e,
              },
              s = yield F.a.get(r, { params: i, withCredentials: !0 });
            if (
              200 == s.status &&
              (1 ==
                (null === (t = s.data) || void 0 === t ? void 0 : t.success) ||
                42 ==
                  (null === (n = s.data) || void 0 === n ? void 0 : n.success))
            ) {
              const t = {
                badgeid: s.data.badgeid,
                level: s.data.level,
                xp: s.data.xp,
                completion_time: s.data.completion_time,
              };
              return this.m_mapBadgeInfo.set(e, t), t;
            }
            a = Object(me.a)(s);
          } catch (e) {
            a = Object(me.a)(e);
          }
          console.error(
            "useEventBadge: " + (null == a ? void 0 : a.strErrorMsg),
            a,
          );
          const r = { badgeid: e, level: 0 };
          return this.m_mapBadgeInfo.set(e, r), r;
        });
      }
      static Get() {
        return (
          Co.s_Singleton ||
            ((Co.s_Singleton = new Co()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_UserBadgeForEventStore = Co.s_Singleton)),
          Co.s_Singleton
        );
      }
    }
    function wo(e) {
      const [t, n] = Object(r.useState)(Co.Get().GetBadgeInfo(e));
      return (
        Object(r.useEffect)(() => {
          !t &&
            e &&
            Co.Get()
              .LoadBadgeInfo(e)
              .then((e) => n(e));
        }, [e, t]),
        Object(u.e)(Co.Get().GetBadgeInfoChangeCallback(e), n),
        t
      );
    }
    var Bo = n("ewwH");
    function Oo(e) {
      return "dev" === o.c.WEB_UNIVERSE
        ? e.replace(
            /https?:\/\/store\.steampowered\.com\//g,
            o.c.STORE_BASE_URL,
          )
        : e;
    }
    function Do(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        const t = {};
        if (e)
          if (e.BIsSalePage()) {
            const n = e.GetSalePageVanityURL();
            if (
              (yield Bo.c.Get().LoadDiscountRange(n),
              Bo.c.Get().BHasDiscountRange(n))
            ) {
              const e = Bo.c.Get().GetDiscountRange(n);
              (t.discount_min = e.discount_min),
                (t.discount_max = e.discount_max);
            }
          } else
            (t.orig_price = e.GetBestPurchaseOption().formatted_original_price),
              (t.final_price = e.GetBestPurchaseOption().formatted_final_price),
              (t.discount_percent = e.GetBestPurchaseOption().discount_pct),
              (t.suppress_discount_percent =
                e.GetBestPurchaseOption().should_suppress_discount_pct);
        return t;
      });
    }
    function Io(e, t) {
      const n = e.body;
      let a = t,
        r = null;
      if (
        Boolean(a) &&
        0 === a.GetStoreItemType() &&
        ((r = a), 14 === r.GetAppType() && r.GetParentAppID())
      ) {
        const e = Dt.a.Get().GetApp(r.GetParentAppID());
        e && ((r = e), (a = r));
      }
      let i = e.end_date,
        s = "";
      if (0 == i && a) {
        const e = a.GetBestPurchaseOption();
        if (e) {
          const t = e.active_discounts;
          if (t)
            for (const e of t)
              (0 == i || e.discount_end_date < i) &&
                ((i = e.discount_end_date), (s = e.discount_description));
        }
      }
      const o = Object($.g)(i, {
        bGranularFutureTime: !0,
        bAbbreviateDayOfWeek: !0,
        bForce24HourClock: !1,
      });
      return (function (e, t) {
        return e.replace(/(#[^\d][\w-]+)/g, t || $.f);
      })(n, (e) => {
        switch (e) {
          case "#promo_ends_custom":
            return Object($.f)(e, o);
          case "#label_play_free_until_custom":
            if (null == r ? void 0 : r.BIsFreeWeekend()) {
              if (r.GetFreeWeekendPlayTextOverride())
                return Object($.f)(e, r.GetFreeWeekendPlayTextOverride());
              if (r.GetFreeWeekendEnd())
                return Object($.f)(
                  e,
                  Object($.g)(r.GetFreeWeekendEnd(), {
                    bGranularFutureTime: !0,
                    bAbbreviateDayOfWeek: !0,
                    bForce24HourClock: !1,
                  }),
                );
            }
            return Object($.f)(e, o);
          default:
            return Object($.f)(e);
        }
      });
    }
    function To(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        const t = [];
        for (const n of e)
          t.push({
            id: n.item.id,
            type:
              "sub" !== n.item.type && "bundle" !== n.item.type
                ? "game"
                : n.item.type,
          });
        yield Object(Dn.g)(t, fs.e, !0);
        for (const t of e) {
          const e = Dt.a
            .Get()
            .GetStoreItem(
              t.item.id,
              Object(On.j)(
                "sub" !== t.item.type && "bundle" !== t.item.type
                  ? "game"
                  : t.item.type,
              ),
            );
          e &&
            ((t.target = Oo(e.GetStorePageURL())),
            (t.image = e.GetAssets().GetHeaderURL()),
            (t.is_sale_page = e.BIsSalePage()),
            (t.discount_block = yield Do(e)));
        }
      });
    }
    function Ro(e) {
      var t;
      return Object(a.a)(this, void 0, void 0, function* () {
        const n = [];
        for (const t of e)
          t.is_weeklong_deals ||
            n.push({
              id: t.item.id,
              type:
                "sub" !== t.item.type && "bundle" !== t.item.type
                  ? "game"
                  : t.item.type,
            });
        yield Object(Dn.g)(n, fs.e, !0);
        for (const n of e) {
          if (n.is_weeklong_deals) continue;
          const e = Dt.a
            .Get()
            .GetStoreItem(
              n.item.id,
              Object(On.j)(
                "sub" !== n.item.type && "bundle" !== n.item.type
                  ? "game"
                  : n.item.type,
              ),
            );
          e &&
            ((n.url = Oo(
              (null === (t = n.url) || void 0 === t ? void 0 : t.length) > 0
                ? n.url
                : e.GetStorePageURLWithOverride(),
            )),
            (n.body = Io(n, e)),
            (n.has_live_broadcast = Object(Cs.a)(
              e.GetAppID(),
              e.GetParentAppID(),
            )),
            (n.is_sale_page = e.BIsSalePage()),
            (n.discount_block = yield Do(e)));
        }
      });
    }
    class jo {
      constructor() {
        (this.m_mapSpotlights = new Map()),
          (this.m_mapDailyDeals = new Map()),
          (this.m_mapPromiseForHub = new Map());
        const e = Object(o.g)("ch_hub_data", "application_config");
        if (e) {
          const t = e.strHubType || void 0,
            n = "category" === t ? e.strCategory || "" : void 0,
            a = ("tags" === t && Number(e.nTagID)) || void 0;
          this.LoadContentHubDataFromConfig(t, n, a);
        }
      }
      BHasSpotlights(e, t, n) {
        var a;
        const r = Object(Bo.f)(e, t, n);
        return null === (a = this.m_mapSpotlights.get(r)) || void 0 === a
          ? void 0
          : a.every(
              (e) =>
                Boolean(e.is_weeklong_deals) ||
                (Boolean(e.item) && Boolean(e.discount_block)),
            );
      }
      BHasDailyDeals(e, t, n) {
        var a;
        const r = Object(Bo.f)(e, t, n);
        return null === (a = this.m_mapDailyDeals.get(r)) || void 0 === a
          ? void 0
          : a.every((e) => Boolean(e.item) && Boolean(e.discount_block));
      }
      GetSpotlights(e, t, n) {
        return this.m_mapSpotlights.get(Object(Bo.f)(e, t, n));
      }
      GetDailyDeals(e, t, n) {
        return this.m_mapDailyDeals.get(Object(Bo.f)(e, t, n));
      }
      LoadSpotlights(e, t, n, r, i, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = Object(Bo.f)(e, t, n);
          if (!this.BHasSpotlights(e, t, n))
            return (
              this.m_mapPromiseForHub.has(a) ||
                this.m_mapPromiseForHub.set(
                  a,
                  this.InternalLoadContentHubSpecials(e, t, n, r, i, s, o),
                ),
              this.m_mapPromiseForHub.get(a)
            );
        });
      }
      LoadDailyDeals(e, t, n, r, i, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = Object(Bo.f)(e, t, n);
          if (!this.BHasDailyDeals(e, t, n))
            return (
              this.m_mapPromiseForHub.has(a) ||
                this.m_mapPromiseForHub.set(
                  a,
                  this.InternalLoadContentHubSpecials(e, t, n, r, i, s, o),
                ),
              this.m_mapPromiseForHub.get(a)
            );
        });
      }
      InternalLoadContentHubSpecials(e, t, n, r, i, s, l, c, d) {
        var u;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = Object(Bo.f)(e, t, n);
          if (
            (this.LoadContentHubDataFromConfig(e, t, n),
            this.m_mapSpotlights.has(a) &&
              this.m_mapSpotlights
                .get(a)
                .some((e) => !Boolean(e.discount_block)) &&
              (yield Ro(this.m_mapSpotlights.get(a))),
            this.m_mapDailyDeals.has(a) &&
              this.m_mapDailyDeals
                .get(a)
                .some((e) => !Boolean(e.discount_block)) &&
              (yield To(this.m_mapDailyDeals.get(a))),
            !this.m_mapSpotlights.has(a) || !this.m_mapDailyDeals.has(a))
          ) {
            const r =
                o.c.STORE_BASE_URL + "contenthub/ajaxgetcontenthubspecials",
              m = {
                hubtype: e,
                category: t,
                tagid: n,
                prune_list_optin_name: i || void 0,
                optin_tagid: s || void 0,
                optin_prune_tagid: l || void 0,
                tabuniqueid: c,
                tabfilter: d,
              },
              p = yield F.a.get(r, { params: m, withCredentials: !0 });
            1 ===
              (null === (u = null == p ? void 0 : p.data) || void 0 === u
                ? void 0
                : u.success) &&
              (this.m_mapSpotlights.has(a) ||
                (yield Ro(p.data.spotlights),
                this.m_mapSpotlights.set(a, p.data.spotlights)),
              this.m_mapDailyDeals.has(a) ||
                (yield To(p.data.dailyDeals),
                this.m_mapDailyDeals.set(a, p.data.dailyDeals)));
          }
        });
      }
      LoadContentHubDataFromConfig(e, t, n) {
        const a = Object(Bo.f)(e, t, n);
        if (!this.m_mapSpotlights.has(a)) {
          const e = Object(o.g)("ch_spotlights_data", "application_config");
          e && this.m_mapSpotlights.set(a, e);
        }
        if (!this.m_mapDailyDeals.has(a)) {
          const e = Object(o.g)("ch_dailydeals_data", "application_config");
          e && this.m_mapDailyDeals.set(a, e);
        }
      }
      static Get() {
        return (
          jo.s_globalSingletonStore ||
            ((jo.s_globalSingletonStore = new jo()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_ContentHubSpecialsStore = jo.s_globalSingletonStore)),
          jo.s_globalSingletonStore
        );
      }
    }
    class Ao {
      constructor() {
        (this.m_rgMyWishlistOnSale = null),
          (this.m_rgMyDLCForGamesInLibraryOnSale = null),
          (this.m_rgMySoundtracksForGamesInLibraryOnSale = null),
          (this.m_rgMyInteractiveRecOnSale = null),
          (this.m_rgMySaleTags = null),
          (this.m_rgMyTagRecommendation = null),
          (this.m_mapSaleGameListsByFlavor = new Map()),
          (this.m_mapPromisesByFlavor = new Map()),
          (this.m_rgTopN = null),
          (this.m_rgAllDiscounted = null),
          (this.m_mapMyWishlistInContentHub = new Map());
      }
      GetDiscounts(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          try {
            let t = "discount";
            (t += e.tagid ? "_tag" + e.tagid : ""),
              (t += e.categoryid ? "_categoryid" + e.categoryid : ""),
              (t += e.top_n_sellers ? "_ntop" + e.top_n_sellers : ""),
              (t += e.max_results ? "_max" + e.max_results : ""),
              (t += e.random_across_set ? "_rand" : "");
            let n = Object(o.h)(t, "application_config");
            if (!n) {
              n = (yield F.a.get(
                o.c.STORE_BASE_URL + "actions/ajaxgetdiscounts",
                {
                  params: Object.assign(Object.assign({}, e), {
                    cc: o.c.COUNTRY,
                  }),
                },
              )).data;
            }
            return { rgAppIDs: n, rgSolrFacetCounts: null };
          } catch (e) {
            const t = Object(me.a)(e);
            console.error("GetDiscounts hit error: " + t.strErrorMsg, t);
          }
          return { rgAppIDs: [], rgSolrFacetCounts: null };
        });
      }
      GetTopN(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgTopN &&
            ((this.m_rgTopN = Object(o.h)("top_n", "application_config")),
            !this.m_rgTopN)
          ) {
            const n = 500,
              a = (yield this.GetDiscounts({
                top_n_sellers: n,
                max_results: t,
                feature: e,
              })).rgAppIDs;
            this.m_rgTopN = a.map((e) => Number(e));
          }
          return this.m_rgTopN;
        });
      }
      GetAllDiscounted(e, t, n = null, r = null) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = (null == n ? void 0 : n.GetQuery()) || "";
          if (
            !(
              (this.m_rgAllDiscounted && this.m_rgAllDiscounted.has(a)) ||
              ((this.m_rgAllDiscounted = Object(o.h)(
                "all_discounted",
                "application_config",
              )),
              this.m_rgAllDiscounted && this.m_rgAllDiscounted.has(a))
            )
          ) {
            const n = yield this.GetDiscounts({
              sort_by_sales_rank: !0,
              facet_filter: a,
              pre_filter: r ? JSON.stringify(r) : null,
              max_results: t,
              feature: e,
            });
            this.m_rgAllDiscounted || (this.m_rgAllDiscounted = new Map()),
              this.m_rgAllDiscounted.set(
                a,
                Object.assign(
                  { rgAppIDs: n.rgAppIDs.map((e) => Number(e)) },
                  n,
                ),
              );
          }
          return this.m_rgAllDiscounted.get(a);
        });
      }
      GetWishlistOnSale() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgMyWishlistOnSale &&
            ((this.m_rgMyWishlistOnSale = Object(o.h)(
              "wishlist_onsale",
              "application_config",
            )),
            !this.m_rgMyWishlistOnSale)
          ) {
            const e = yield F.a.get(
              o.c.STORE_BASE_URL + "saleaction/ajaxgetwishlistonsale",
              { withCredentials: !0 },
            );
            this.m_rgMyWishlistOnSale = e.data.appids;
          }
          return this.m_rgMyWishlistOnSale;
        });
      }
      GetDLCForGamesInMyLibraryOnSale() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgMyDLCForGamesInLibraryOnSale &&
            ((this.m_rgMyDLCForGamesInLibraryOnSale = Object(o.h)(
              "dlc_onsale",
              "application_config",
            )),
            !this.m_rgMyDLCForGamesInLibraryOnSale)
          ) {
            const e = yield F.a.get(
              o.c.STORE_BASE_URL + "saleaction/ajaxgetdlconsale",
              { withCredentials: !0 },
            );
            this.m_rgMyDLCForGamesInLibraryOnSale = e.data.appids;
          }
          return this.m_rgMyDLCForGamesInLibraryOnSale;
        });
      }
      GetSoundtracksForGamesInMyLibraryOnSale() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgMySoundtracksForGamesInLibraryOnSale &&
            ((this.m_rgMySoundtracksForGamesInLibraryOnSale = Object(o.h)(
              "dlc_music_onsale",
              "application_config",
            )),
            !this.m_rgMySoundtracksForGamesInLibraryOnSale)
          ) {
            const e = yield F.a.get(
              o.c.STORE_BASE_URL + "saleaction/ajaxgetsoundtracksonsale",
              { withCredentials: !0 },
            );
            this.m_rgMySoundtracksForGamesInLibraryOnSale = e.data.appids;
          }
          return this.m_rgMySoundtracksForGamesInLibraryOnSale;
        });
      }
      GetInteractiveRecommendationsOnSale() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgMyInteractiveRecOnSale &&
            ((this.m_rgMyInteractiveRecOnSale = Object(o.h)(
              "ir_onsale",
              "application_config",
            )),
            !this.m_rgMyInteractiveRecOnSale)
          ) {
            const e = yield F.a.get(
              o.c.STORE_BASE_URL + "saleaction/ajaxgetironsale",
              { withCredentials: !0 },
            );
            this.m_rgMyInteractiveRecOnSale = e.data.appids;
          }
          return this.m_rgMyInteractiveRecOnSale;
        });
      }
      GetSaleTags() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgMySaleTags &&
            ((this.m_rgMySaleTags = Object(o.h)(
              "saletags",
              "application_config",
            )),
            !this.m_rgMySaleTags)
          ) {
            const e = yield F.a.get(
              o.c.STORE_BASE_URL + "saleaction/ajaxgetsaletags",
              { withCredentials: !1 },
            );
            this.m_rgMySaleTags = e.data;
          }
          return this.m_rgMySaleTags;
        });
      }
      GetTagRecommendorForThisSale(e, t, n, r, i, s) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !this.m_rgMyTagRecommendation &&
            (null == r &&
              null == i &&
              (this.m_rgMyTagRecommendation = Object(o.h)(
                "tag_recommender",
                "application_config",
              )),
            !this.m_rgMyTagRecommendation)
          ) {
            const a =
              o.c.STORE_BASE_URL + "saleaction/ajaxgetsaletagsrecommendation";
            let l = {
              origin: self.origin,
              cc: o.c.COUNTRY,
              l: o.c.LANGUAGE,
              clanAccountID: null == e ? void 0 : e.clanSteamID.GetAccountID(),
              clanAnnouncementGID: null == e ? void 0 : e.AnnouncementGID,
              count: t,
              nocache: n,
              hubtype: null == r ? void 0 : r.type,
              category: null == r ? void 0 : r.category,
              tagid: null == r ? void 0 : r.tagid,
              tabfilter: i,
              bPrioritizeDiscounts: s,
            };
            const c = yield F.a.get(a, { params: l, withCredentials: !0 });
            200 == c.status && c.data && c.data.tag_recommender
              ? (this.m_rgMyTagRecommendation = c.data.tag_recommender)
              : (this.m_rgMyTagRecommendation = []);
          }
          return this.m_rgMyTagRecommendation;
        });
      }
      GetFlavorCacheKey(e, t, n, a, r, i, s, o, l, c, d) {
        let u = "";
        return (
          i &&
            ((u += i.type),
            "category" === i.type
              ? (u += "-" + i.category)
              : "tags" === i.type && (u += "-" + i.tagid)),
          `key-${e}-${(null == t ? void 0 : t.GetQuery()) || ""}-${d || "*"}-${l}-${n || "*"}-${o}-${a || ""}-${r}-${u}-${s}-${c}`
        );
      }
      ValidateDataGameByFlavor(e) {
        const t = e;
        return (
          t &&
          "object" == typeof t &&
          t.solr_index &&
          "number" == typeof t.solr_index &&
          t.appids &&
          Array.isArray(t.appids)
        );
      }
      GetJSONDataKey(e, t, n, a, r) {
        return t
          ? "section_" + t + "_" + (n || "*")
          : "browser_" +
              e +
              "_" +
              ((null == a ? void 0 : a.GetQuery()) || "") +
              "_" +
              (n || "*") +
              (r || "");
      }
      InternalGetSaleGamesByFlavor(
        e,
        t,
        n,
        r,
        i,
        s,
        l,
        c,
        d = 0,
        u,
        m,
        p,
        h,
        _,
        g,
        b,
        f,
        v,
      ) {
        var S, y, E, C, w;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = this.m_mapSaleGameListsByFlavor.get(e);
          if (!a) {
            const t = this.GetJSONDataKey(s, b, r, l, u),
              n = Object(o.h)(t, "application_config");
            this.ValidateDataGameByFlavor(n)
              ? ((a = n),
                (a.setAppIDs = new Set(a.appids)),
                (a.setStoreItemKeys = new Set(a.store_item_keys)),
                this.m_mapSaleGameListsByFlavor.set(e, n))
              : ((a = {
                  appids: [],
                  store_item_keys: [],
                  setAppIDs: new Set(),
                  setStoreItemKeys: new Set(),
                  solr_index: 0,
                  possible_has_more: !0,
                }),
                this.m_mapSaleGameListsByFlavor.set(e, a));
          }
          const B = a.appids.length,
            O = d + c - B;
          if (O > 0 && a.possible_has_more) {
            const e =
              o.c.STORE_BASE_URL +
              (n
                ? "saleaction/ajaxpreviewsaledynamicappquery"
                : "saleaction/ajaxgetsaledynamicappquery");
            let c = null;
            const d = {
              cc: o.c.COUNTRY,
              l: o.c.LANGUAGE,
              clanAccountID:
                (null == i ? void 0 : i.clanSteamID.GetAccountID()) || null,
              clanAnnouncementGID:
                (null == i ? void 0 : i.AnnouncementGID) || null,
              flavor: s,
              strFacetFilter: null == l ? void 0 : l.GetQuery(),
              start: a.solr_index,
              count: Math.max(O, 50),
              tabuniqueid: r,
              sectionuniqueid: b,
              return_capsules: !0,
              search: t ? u : void 0,
              origin: self.origin,
              bForceUseSaleTag: !0,
              strContentHubType: null == m ? void 0 : m.type,
              strContentHubCategory: null == m ? void 0 : m.category,
              nContentHubTagID: null == m ? void 0 : m.tagid,
              bContentHubDiscountedOnly: p,
              strTabFilter: h,
              strSectionFilter: _,
              bPrioritizeDiscounts: g,
              bRequestFacetCounts: f,
              prune_list_optin_name:
                (null == i ? void 0 : i.jsondata.prune_list_optin_name) ||
                void 0,
              optin_tagid:
                (null === (S = null == i ? void 0 : i.jsondata) || void 0 === S
                  ? void 0
                  : S.optin_tagid) || void 0,
              optin_prune_tagid:
                (null === (y = null == i ? void 0 : i.jsondata) || void 0 === y
                  ? void 0
                  : y.optin_prune_tagid) || void 0,
            };
            if (
              ((c = yield F.a.get(e, {
                params: d,
                withCredentials: n,
                cancelToken: null == v ? void 0 : v.token,
              })),
              200 != (null == c ? void 0 : c.status) ||
                1 !=
                  (null === (E = c.data) || void 0 === E
                    ? void 0
                    : E.success) ||
                !(null === (C = c.data) || void 0 === C ? void 0 : C.appids))
            )
              throw new Error(
                "query failed, status=" +
                  (null == c ? void 0 : c.status) +
                  " success: " +
                  (null === (w = null == c ? void 0 : c.data) || void 0 === w
                    ? void 0
                    : w.success),
              );
            for (const e of c.data.appids)
              a.setAppIDs.has(e) || (a.appids.push(e), a.setAppIDs.add(e));
            for (const e of c.data.store_item_keys)
              a.setStoreItemKeys.has(e) ||
                (a.store_item_keys.push(e), a.setStoreItemKeys.add(e));
            (a.faceting = c.data.faceting),
              (a.multifaceting = c.data.multifaceting),
              (a.possible_has_more = c.data.possible_has_more),
              (a.solr_index = c.data.solr_index),
              (a.match_count = c.data.match_count);
          }
          this.m_mapSaleGameListsByFlavor.set(e, a);
          const D = a.possible_has_more || d + c < a.appids.length;
          return {
            appids: a.appids.slice(d, c),
            rgStoreItemKeys: a.store_item_keys,
            facetCounts: a.faceting,
            multifaceting: a.multifaceting,
            nMatchCount: a.match_count,
            bHasPossibleMoreResults: D,
          };
        });
      }
      GetSaleGamesByFlavor(e, t, n, r, i, s = 0, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let {
            strSectionFilter: l,
            nTabUniqueID: c,
            strTabFilter: d,
            facetFilter: u,
            contentHub: m,
            bContentHubDiscountedOnly: p,
            strSearch: h,
            bPrioritizeDiscounts: _,
            nSectionUniqueID: g,
            bRequestFacetCounts: b,
          } = r;
          h = null == h ? void 0 : h.trim();
          const f = Boolean(h);
          f && ((n = "search"), (c = void 0));
          const v = this.GetFlavorCacheKey(
            n,
            u,
            c,
            h,
            (null == t ? void 0 : t.AnnouncementGID) || "0",
            m,
            p,
            d,
            l,
            _,
            g,
          );
          for (; this.m_mapPromisesByFlavor.has(v); )
            try {
              yield this.m_mapPromisesByFlavor.get(v);
            } catch (e) {}
          const S = this.InternalGetSaleGamesByFlavor(
            v,
            f,
            e,
            c,
            t,
            n,
            u,
            i,
            s,
            h,
            m,
            p,
            d,
            l,
            _,
            g,
            b,
            o,
          );
          this.m_mapPromisesByFlavor.set(v, S);
          return (
            (() => {
              Object(a.a)(this, void 0, void 0, function* () {
                try {
                  yield S;
                } catch (e) {
                } finally {
                  this.m_mapPromisesByFlavor.delete(v);
                }
              });
            })(),
            S
          );
        });
      }
      GetWishlistedInContentHub(e, t, n, r) {
        var i;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a =
            e.type +
            "_" +
            e.category +
            "_" +
            e.tagid +
            "_" +
            (null == t ? void 0 : t.GetActiveTabUniqueID());
          if (this.m_mapMyWishlistInContentHub.has(a))
            return this.m_mapMyWishlistInContentHub.get(a);
          try {
            let s = Object(o.h)(
              "hubitems_" +
                ((null == t ? void 0 : t.GetActiveTabUniqueID()) || "*"),
              "application_config",
            );
            if (!s || 0 === s.appids.length) {
              const a =
                  o.c.STORE_BASE_URL + "saleaction/ajaxgetitemsincontenthub",
                l = {
                  origin: self.origin,
                  cc: o.c.COUNTRY,
                  hubtype: e.type,
                  category: e.category,
                  tagid: e.tagid,
                  tabuniqueid: null == t ? void 0 : t.GetActiveTabUniqueID(),
                  tabfilter: null == t ? void 0 : t.GetStoreFilter(),
                  bPrioritizeDiscounts: n,
                },
                c = yield F.a.get(a, {
                  params: l,
                  cancelToken: null == r ? void 0 : r.token,
                });
              1 ===
                (null === (i = null == c ? void 0 : c.data) || void 0 === i
                  ? void 0
                  : i.success) && (s = c.data);
            }
            if (!s) return [];
            const l = new Set();
            for (const e of s.appids) l.add(Number(e));
            const c = It.a.Get().GetWishlistGamesInUserOrder(),
              d = [];
            for (const e of c)
              l.has(e) &&
                !It.a.Get().BOwnsApp(e) &&
                It.a.Get().BIsGameWishlisted(e) &&
                d.push(e);
            return this.m_mapMyWishlistInContentHub.set(a, d), d;
          } catch (e) {
            return [];
          }
        });
      }
      static Get() {
        return (
          Ao.s_globalSingletonStore ||
            ((Ao.s_globalSingletonStore = new Ao()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_DiscountStore = Ao.s_globalSingletonStore)),
          Ao.s_globalSingletonStore
        );
      }
    }
    function ko(e, t) {
      const n = new Array();
      return (
        e.forEach((e) => {
          if (!t || n.length < t)
            if ("app" === e.item_type) {
              const t = Dt.a.Get().GetApp(e.id);
              t &&
                n.push({
                  id: e.id,
                  type: Object(On.b)(t.GetStoreItemType(), t.GetAppType()),
                });
            } else
              "bundle" === e.item_type && Dt.a.Get().BHasBundle(e.id)
                ? n.push({ id: e.id, type: "bundle" })
                : "sub" === e.item_type &&
                  Dt.a.Get().BHasPackage(e.id) &&
                  n.push({ id: e.id, type: "sub" });
        }),
        n
      );
    }
    function Mo() {
      const [e, t] = Object(r.useState)(window.innerWidth),
        [n, a] = Object(r.useState)(window.innerHeight),
        [i, s] = Object(r.useState)(ns()),
        [o, l] = Object(r.useState)(rs("items")),
        [c, d] = Object(r.useState)(rs("contenthubspecials"));
      return (
        Object(r.useLayoutEffect)(() => {
          const e = () => {
            t(window.innerWidth),
              a(window.innerHeight),
              s(ns()),
              l(rs("items")),
              d(rs("contenthubspecials"));
          };
          return (
            window.addEventListener("resize", e),
            e(),
            () => window.removeEventListener("resize", e)
          );
        }, []),
        {
          nWindowInnerWidth: e,
          nWindowInnerHeight: n,
          bIsScreenWide: i,
          nCarouselCapsules: o,
          nSpotlightCapsules: c,
        }
      );
    }
    var Po = n("mADf"),
      Lo = n("me2G"),
      Go = n.n(Lo);
    function No(e) {
      const {
        capsules_per_row: t,
        is_spotlights: n,
        is_item_browser: a,
        is_maincap: i,
        is_expanded_maincap: s,
      } = e;
      if (!t) return null;
      if (n)
        return r.createElement(
          "div",
          { className: Go.a.GhostCtn },
          r.createElement(
            "div",
            { className: Go.a.SpotlightsRow },
            r.createElement("div", { className: Go.a.PlaceholderCap }),
            r.createElement("div", { className: Go.a.PlaceholderCap }),
            r.createElement(
              "div",
              { className: Go.a.DailyDealsColumn },
              r.createElement("div", { className: Go.a.PlaceholderCap }),
              r.createElement("div", { className: Go.a.PlaceholderCap }),
            ),
          ),
        );
      if (i)
        return r.createElement(
          "div",
          { className: Go.a.GhostCtn },
          r.createElement(
            "div",
            {
              className: Object(h.a)({
                [Go.a.MainCapRow]: !0,
                [Go.a.MainCapRowExpanded]: s,
              }),
            },
            r.createElement("div", { className: Go.a.PlaceholderCap }),
            r.createElement(
              "div",
              { className: Object(h.a)(Go.a.DetailsPlaceholder) },
              r.createElement("div", {
                className: Object(h.a)(
                  Go.a.PlaceholderTitle,
                  Go.a.PlaceholderCap,
                ),
              }),
              r.createElement("div", {
                className: Object(h.a)(
                  Go.a.PlaceholderSubtitle,
                  Go.a.PlaceholderCap,
                ),
              }),
              r.createElement("div", {
                className: Object(h.a)(
                  Go.a.PlaceholderRelease,
                  Go.a.PlaceholderCap,
                ),
              }),
              r.createElement("div", {
                className: Object(h.a)(
                  Go.a.PlaceholderReviews,
                  Go.a.PlaceholderCap,
                ),
              }),
              r.createElement("div", {
                className: Object(h.a)(
                  Go.a.PlaceholderTags,
                  Go.a.PlaceholderCap,
                ),
              }),
            ),
          ),
        );
      if (a) {
        const e = [];
        for (let n = 0; n < t[0]; n++)
          e.push(
            r.createElement(
              "div",
              {
                key: "item_browse_ghost_" + n,
                className: Go.a.ItemBrowserCapsule,
              },
              r.createElement("div", { className: Go.a.PlaceholderCap }),
            ),
          );
        return r.createElement("div", { className: Go.a.GhostCtn }, e);
      }
      return 1 == (null == t ? void 0 : t.length)
        ? 1 == t[0]
          ? r.createElement(
              "div",
              { className: Go.a.GhostCtn },
              r.createElement(
                "div",
                { className: Go.a.CapsuleRowSuperCapsule },
                r.createElement("div", { className: Go.a.PlaceholderCap }),
              ),
            )
          : 4 == t[0]
            ? r.createElement(
                "div",
                { className: Go.a.GhostCtn },
                r.createElement(
                  "div",
                  { className: Go.a.CapsuleRow4 },
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                ),
              )
            : r.createElement(
                "div",
                { className: Go.a.GhostCtn },
                r.createElement(
                  "div",
                  { className: Go.a.CapsuleRow3 },
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                ),
              )
        : 2 == (null == t ? void 0 : t.length)
          ? 3 == t[0] && 3 == t[1]
            ? r.createElement(
                "div",
                { className: Go.a.GhostCtn },
                r.createElement(
                  "div",
                  { className: Go.a.CapsuleRow23 },
                  r.createElement(
                    "div",
                    { className: Object(h.a)(Go.a.CapRow, Go.a.Caps3) },
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                  ),
                  r.createElement(
                    "div",
                    { className: Object(h.a)(Go.a.CapRow, Go.a.Caps3) },
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                  ),
                ),
              )
            : r.createElement(
                "div",
                { className: Go.a.GhostCtn },
                r.createElement(
                  "div",
                  { className: Go.a.CapsuleRow23 },
                  r.createElement(
                    "div",
                    { className: Object(h.a)(Go.a.CapRow, Go.a.Caps2) },
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                  ),
                  r.createElement(
                    "div",
                    { className: Object(h.a)(Go.a.CapRow, Go.a.Caps3) },
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                    r.createElement("div", { className: Go.a.PlaceholderCap }),
                  ),
                ),
              )
          : r.createElement(
              "div",
              { className: Go.a.GhostCtn },
              r.createElement(
                "div",
                { className: Go.a.CapsuleRow234 },
                r.createElement(
                  "div",
                  { className: Object(h.a)(Go.a.CapRow, Go.a.Caps2) },
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                ),
                r.createElement(
                  "div",
                  { className: Object(h.a)(Go.a.CapRow, Go.a.Caps3) },
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                ),
                r.createElement(
                  "div",
                  { className: Object(h.a)(Go.a.CapRow, Go.a.Caps4) },
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                  r.createElement("div", { className: Go.a.PlaceholderCap }),
                ),
              ),
            );
    }
    function Fo(e) {
      const {
          event: t,
          section: n,
          hubtype: a,
          category: s,
          tagid: l,
          tab: c,
          prioritize_discounts: d,
          prune_list_optin_name: u,
          optin_tagid: m,
          optin_prune_tagid: p,
          rows_per_page: _,
        } = e,
        { bLoading: g, broadcastsData: b } = (function (
          e,
          t,
          n,
          a,
          i,
          s,
          o,
          l,
          c,
        ) {
          const d = Bo.b.Get(),
            [u, m] = Object(r.useState)(!d.BHasBroadcasts(e, t, n, a));
          return (
            Object(r.useEffect)(() => {
              m(!0),
                d.LoadBroadcasts(e, t, n, a, i, s, o, l, c).then(() => {
                  m(!1);
                });
            }, [t, e, c, l, s, o, d, i, a, n]),
            {
              bLoading: !d.BHasBroadcasts(e, t, n, a),
              broadcastsData: d.GetBroadcasts(e, t, n, a),
            }
          );
        })(
          a,
          s,
          l,
          null == c ? void 0 : c.GetActiveTabUniqueID(),
          null == c ? void 0 : c.GetStoreFilter(),
          d,
          u,
          m,
          p,
        ),
        [f, v] = Object(r.useState)(),
        [S, y] = Object(r.useState)(0);
      Object(r.useEffect)(() => {
        if (!o.c.IN_GAMEPADUI && b) {
          const e = new Map();
          for (const t of b) e.set(t.appid, t);
          const t = b
            .filter((e) => e.hub_popular)
            .map((e) => ({ type: "game", id: e.appid }));
          Object(Dn.g)(t, fs.e, !0).then(() => {
            const n = [];
            Object(Dn.a)(t, !0, n).then((t) => {
              v(t.map((t) => e.get(t.id))), y(n.length);
            });
          });
        }
      }, [b, _]);
      const { bIsScreenWide: E, nSpotlightCapsules: C } = Mo();
      if (o.c.IN_GAMEPADUI) return null;
      if (g) {
        const a = new Array(_).fill(3);
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)(
              ks.SaleSection,
              ks.CarouselDisplay,
              ss.SaleSectionCtn,
              "SaleSectionForCustomCSS",
            ),
            style: $s(n, t),
          },
          i.a.createElement(
            "div",
            { className: ks.SaleSectionTitleCtn },
            i.a.createElement(Zs, Object.assign({}, e, { nHiddenCapsules: S })),
          ),
          i.a.createElement(No, { capsules_per_row: a }),
        );
      }
      if (!f) return null;
      const w = {
          nMaxCapsulesPerRow: C,
          bScreenIsWide: E,
          nShowAdditionalRows: 0,
        },
        B =
          null == f
            ? void 0
            : f.map((e) => ({
                Render: (t) =>
                  i.a.createElement(xo, {
                    key: n.unique_id + "_" + e.appid + "_" + e.accountid,
                    broadcast: e,
                  }),
              })),
        O = _,
        D = Ws(
          n.unique_id,
          w,
          B,
          [3],
          ["grid"],
          O,
          !0,
          !1,
          !1,
          (e) => 0,
          {},
        ).content;
      return i.a.createElement(
        ea.b,
        { feature: "live-broadcast" },
        i.a.createElement(
          er.a,
          { placeholderHeight: 250, rootMargin: es },
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                ks.SaleSection,
                ks.CarouselDisplay,
                ss.SaleSectionCtn,
                "SaleSectionForCustomCSS",
              ),
              style: $s(n, t),
            },
            i.a.createElement(
              "div",
              { className: ks.SaleSectionTitleCtn },
              i.a.createElement(
                Zs,
                Object.assign({}, e, { nHiddenCapsules: S }),
              ),
            ),
            D,
          ),
        ),
      );
    }
    function xo(e) {
      const { broadcast: t } = e,
        n = Object(ea.c)(),
        [a, r] = Object(Wn.b)(t.appid, {
          include_basic_info: !0,
          include_assets: !0,
        });
      return 2 === r
        ? null
        : 1 === r
          ? i.a.createElement(ee.a, { size: "small", position: "center" })
          : i.a.createElement(
              "div",
              { className: Po.BroadcastCtn },
              i.a.createElement(
                "div",
                { className: Po.BroadcastImageCtn },
                i.a.createElement(
                  "a",
                  { href: Object(Jt.b)(a.GetStorePageURL(), n) },
                  i.a.createElement("img", {
                    className: Po.BroadcastImage,
                    src: a.GetAssets().GetHeaderURL(),
                  }),
                  i.a.createElement("img", {
                    className: Po.BroadcastVideoThumbnail,
                    src: t.thumbnail_http_address,
                  }),
                  i.a.createElement(
                    "div",
                    { className: Po.BroadcastPlayIcon },
                    i.a.createElement(H.V, null),
                  ),
                ),
              ),
              i.a.createElement(
                "div",
                { className: Po.BroadcastTextCtn },
                i.a.createElement(
                  "div",
                  { className: Po.BroadcastName },
                  a.GetName(),
                ),
                i.a.createElement(
                  "div",
                  { className: Po.BroadcastDesc },
                  t.store_title,
                ),
              ),
            );
    }
    var zo = n("OVpQ");
    function Uo(e) {
      const {
          hubtype: t,
          category: n,
          tagid: a,
          prioritize_discounts: s,
          prune_list_optin_name: l,
          optin_tagid: c,
          optin_prune_tagid: d,
        } = e,
        u = Object(ea.c)(),
        { bLoading: m, partnerTakeoverData: p } = (function (
          e,
          t,
          n,
          a,
          i,
          s,
          o,
        ) {
          const l = Bo.b.Get(),
            [c, d] = Object(r.useState)(!l.BHasPartnerTakeover(e, t, n));
          return (
            Object(r.useEffect)(() => {
              d(!0),
                l.LoadPartnerTakeover(e, t, n, a, i, s, o).then(() => {
                  d(!1);
                });
            }, [t, e, o, s, a, i, l, n]),
            {
              bLoading: !l.BHasPartnerTakeover(e, t, n),
              partnerTakeoverData: l.GetPartnerTakeover(e, t, n),
            }
          );
        })(t, n, a, s, l, c, d);
      if (m || !p || !p.strPageBackgroundURL) return null;
      let h = p.strPageBackgroundTarget;
      null == h && (h = `${o.c.STORE_BASE_URL}app/${p.takeoverAppID}`);
      const _ = Object(ja.a)()
          ? p.nPageBackgroundOffsetHeightMobile
          : p.nPageBackgroundOffsetHeight,
        g = p.strPageBackgroundColorLeft,
        b = p.strPageBackgroundColorRight;
      (h = null == h ? void 0 : h.replace("http://", "https://")),
        "dev" == o.c.WEB_UNIVERSE &&
          (null == h ? void 0 : h.startsWith("https://store.steam")) &&
          ((h =
            null == h
              ? void 0
              : h.replace(
                  "https://store.steampowered.com/",
                  o.c.STORE_BASE_URL,
                )),
          (h =
            null == h
              ? void 0
              : h.replace(
                  "https://store.steamchina.com/",
                  o.c.STORE_BASE_URL,
                ))),
        (h = Object(Jt.a)(
          h,
          Object.assign(Object.assign({}, u), { feature: "promo-takeover" }),
        ));
      const f = { height: (_ || 0) + "px" },
        v = {
          background:
            Boolean(g) &&
            Boolean(b) &&
            "linear-gradient(to right, rgb(" + g + "), rgb(" + b + "))",
        };
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(Ho, { partnerTakeoverData: p }),
        i.a.createElement(
          Ct.a,
          { className: Po.ContentHubTakeoverCtn, style: f, autoFocus: !0 },
          i.a.createElement(
            xn.c,
            { href: h, style: v, autoFocus: !0 },
            i.a.createElement(Wo, { partnerTakeoverData: p }),
          ),
        ),
      );
    }
    function Wo(e) {
      var t, n;
      const { partnerTakeoverData: a } = e,
        r = Object(ja.a)()
          ? a.strPageBackgroundMobileURL
          : a.strPageBackgroundURL;
      return Object(ja.a)() &&
        (null === (t = null == a ? void 0 : a.strPageBackgroundMobileWebM) ||
        void 0 === t
          ? void 0
          : t.length) > 0
        ? i.a.createElement(
            "video",
            {
              className: zo.fullscreen_bg__video_mobile,
              poster: r,
              loop: !0,
              muted: !0,
              autoPlay: !0,
              playsInline: !0,
            },
            i.a.createElement("source", {
              src: a.strPageBackgroundMobileWebM,
              type: "video/webm",
            }),
            Boolean(!o.c.IN_CLIENT) &&
              i.a.createElement("source", {
                src: null == a ? void 0 : a.strPageBackgroundMobileMP4,
                type: "video/mp4",
              }),
          )
        : (
              null === (n = null == a ? void 0 : a.strPageBackgroundWebM) ||
              void 0 === n
                ? void 0
                : n.length
            )
          ? i.a.createElement(
              "video",
              {
                className: zo.fullscreen_bg__video,
                poster: r,
                loop: !0,
                muted: !0,
                autoPlay: !0,
                playsInline: !0,
              },
              i.a.createElement("source", {
                src: a.strPageBackgroundWebM,
                type: "video/webm",
              }),
              Boolean(!o.c.IN_CLIENT) &&
                i.a.createElement("source", {
                  src: a.strPageBackgroundMP4,
                  type: "video/mp4",
                }),
            )
          : i.a.createElement("img", { src: r });
    }
    function Ho(e) {
      var t, n;
      const { partnerTakeoverData: a } = e;
      return (null ===
        (t = null == a ? void 0 : a.strPageBackgroundColorLeft) || void 0 === t
        ? void 0
        : t.length) > 0 &&
        (null === (n = null == a ? void 0 : a.strPageBackgroundColorRight) ||
        void 0 === n
          ? void 0
          : n.length) > 0
        ? i.a.createElement(
            "div",
            { className: zo.store_bg_overlay },
            i.a.createElement("div", {
              className: zo.gradient_width,
              style: {
                position: "absolute",
                left: 0,
                background: `-webkit-gradient(linear, right top, left top, color-stop(0%, rgba( ${a.strPageBackgroundColorLeft},0 ) ), color-stop(100%, rgba( ${a.strPageBackgroundColorLeft},1) ) )`,
              },
            }),
            i.a.createElement("div", {
              className: zo.gradient_width,
              style: {
                position: "absolute",
                right: 0,
                background: `-webkit-gradient(linear, left top, right top, color-stop(0%, rgba( ${a.strPageBackgroundColorRight}, 0 ) ), color-stop(100%, rgba(${a.strPageBackgroundColorRight},1) ) )`,
              },
            }),
          )
        : null;
    }
    const Vo = (e) => {
        const {
            hubtype: t,
            category: n,
            tagid: a,
            strSectionID: s,
            nCapsulesPerPage: o,
            tab: l,
            prioritize_discounts: c,
            prune_list_optin_name: d,
            optin_tagid: u,
            optin_prune_tagid: m,
          } = e,
          {
            bLoading: p,
            sections: _,
            mapSectionLists: g,
          } = (function (e, t, n, a, i, s, o, l, c) {
            var d, u;
            const m = Bo.b.Get(),
              [p, h] = Object(r.useState)(!m.BHasSections(e, t, n, a));
            return (
              Object(r.useEffect)(() => {
                h(!0),
                  m.LoadSections(e, t, n, a, i, s, o, l, c).then(() => {
                    h(!1);
                  });
              }, [t, e, c, l, s, o, m, i, a, n]),
              {
                bLoading: !m.BHasSections(e, t, n, a),
                sections:
                  null === (d = m.GetSections(e, t, n, a)) || void 0 === d
                    ? void 0
                    : d.rgSections,
                mapSectionLists:
                  null === (u = m.GetSections(e, t, n, a)) || void 0 === u
                    ? void 0
                    : u.mapOtherCarousels,
              }
            );
          })(
            t,
            n,
            a,
            null == l ? void 0 : l.GetActiveTabUniqueID(),
            null == l ? void 0 : l.GetStoreFilter(),
            c,
            d,
            u,
            m,
          ),
          [b, f] = Object(r.useState)(),
          v = null == l ? void 0 : l.GetActiveTabUniqueID();
        if (
          (Object(r.useEffect)(() => {
            if (!p)
              if (l && l.GetTab()) {
                const e = new Map();
                for (const t of _) {
                  const n = g.get(t.id),
                    a = l.GetTab().store_filter,
                    r = n.filter((e) => Jo(a, e));
                  e.set(t.id, r);
                }
                f(e);
              } else f(g);
          }, [p, g, _, l, v]),
          p)
        )
          return s
            ? i.a.createElement(
                "div",
                {
                  className: Object(h.a)(
                    ks.SaleSection,
                    ks.CarouselDisplay,
                    ss.SaleSectionCtn,
                    "SaleSectionForCustomCSS",
                  ),
                  style: $s(e.saleSection, e.event),
                },
                i.a.createElement(
                  "div",
                  { className: ks.SaleSectionTitleCtn },
                  i.a.createElement(
                    Zs,
                    Object.assign({ section: e.saleSection }, e),
                  ),
                ),
                i.a.createElement(No, { capsules_per_row: [o || 4] }),
              )
            : i.a.createElement(
                i.a.Fragment,
                null,
                i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      ks.SaleSection,
                      ks.CarouselDisplay,
                      ss.SaleSectionCtn,
                      "SaleSectionForCustomCSS",
                    ),
                    style: $s(e.saleSection, e.event),
                  },
                  i.a.createElement(
                    "div",
                    { className: ks.SaleSectionTitleCtn },
                    i.a.createElement(
                      Zs,
                      Object.assign({ section: e.saleSection }, e),
                    ),
                  ),
                  i.a.createElement(No, { capsules_per_row: [o || 4] }),
                ),
                i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      ks.SaleSection,
                      ks.CarouselDisplay,
                      ss.SaleSectionCtn,
                      "SaleSectionForCustomCSS",
                    ),
                    style: $s(e.saleSection, e.event),
                  },
                  i.a.createElement(
                    "div",
                    { className: ks.SaleSectionTitleCtn },
                    i.a.createElement(
                      Zs,
                      Object.assign({ section: e.saleSection }, e),
                    ),
                  ),
                  i.a.createElement(No, { capsules_per_row: [o || 4] }),
                ),
              );
        if (!b) return null;
        if (Boolean(s)) {
          const t = null == _ ? void 0 : _.find((e) => e.id === s);
          return i.a.createElement(
            qo,
            Object.assign({}, e, {
              key: t.id,
              mapSectionLists: b,
              section: t,
              nCapsulesPerPage: o || 4,
            }),
          );
        }
        return i.a.createElement(
          i.a.Fragment,
          null,
          _.map((t) =>
            i.a.createElement(
              qo,
              Object.assign({}, e, {
                key: t.id,
                mapSectionLists: b,
                section: t,
                nCapsulesPerPage: o || 4,
              }),
            ),
          ),
        );
      },
      qo = (e) => {
        const { mapSectionLists: t, section: n, event: a, saleSection: r } = e,
          { bIsScreenWide: s, nCarouselCapsules: o } = Mo(),
          l = Math.min(e.nCapsulesPerPage, o),
          c = t.get(n.id);
        if (!c || 0 == c.length) return null;
        let d = null;
        switch (n.type) {
          case "4wide":
            d = i.a.createElement(
              Qo,
              Object.assign({}, e, {
                capsuleList: c,
                nCapsulesPerPage: l,
                bIsScreenWide: s,
              }),
            );
            break;
          case "creator4wide":
            d = i.a.createElement(
              Yo,
              Object.assign({}, e, {
                capsuleList: c,
                nCapsulesPerPage: l,
                bIsScreenWide: s,
              }),
            );
            break;
          default:
            d = i.a.createElement("div", null, "Unknown: ", n.type);
        }
        return i.a.createElement(
          ea.b,
          { feature: n.id },
          i.a.createElement(
            er.a,
            {
              placeholderHeight: 250,
              rootMargin: es,
              onRender: () => dn.Get().AddInteraction(r.unique_id, 0),
            },
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  ks.SaleSection,
                  ks.CarouselDisplay,
                  ss.SaleSectionCtn,
                  "SaleSectionForCustomCSS",
                ),
                style: $s(r, a),
              },
              i.a.createElement(
                "div",
                { className: ks.SaleSectionTitleCtn },
                i.a.createElement(
                  Ko,
                  Object.assign({}, e, {
                    title: n.title,
                    description: n.description,
                  }),
                ),
              ),
              d,
            ),
          ),
        );
      };
    function Ko(e) {
      const {
        title: t,
        description: n,
        event: a,
        saleSection: r,
        language: s,
      } = e;
      return i.a.createElement(
        "div",
        { className: Object(h.a)(Ks.SectionLabelCtn, "SaleSectionLabelCtn") },
        i.a.createElement(
          "div",
          {
            className: Object(h.a)(Fe.a.SaleSectionHeader, "SaleSectionHeader"),
            style: Js(r, a, s),
          },
          i.a.createElement("span", { className: Po.SectionTitle }, t),
          Boolean(n) &&
            i.a.createElement("span", { className: Po.SectionDescription }, n),
        ),
      );
    }
    function Qo(e) {
      const {
          capsuleList: t,
          nCapsulesPerPage: n,
          bIsScreenWide: a,
          saleSection: r,
          appVisibilityTracker: s,
        } = e,
        o = Zo(t, 40, n, r, s),
        l = Mo(),
        c = {
          nMaxCapsulesPerRow: l.nCarouselCapsules,
          bScreenIsWide: l.bIsScreenWide,
          nShowAdditionalRows: 0,
        },
        d =
          null == o
            ? void 0
            : o.map((e) => ({
                Render: (t) =>
                  i.a.createElement(Ts, {
                    key: e.type + "_" + e.id,
                    capsule: e,
                    imageType: "header",
                    bAutoFocus: 0 == t.index,
                  }),
              })),
        u = [n];
      return Ws(r.unique_id, c, d, u, ["grid"], 1, !0, !1, !1, (e) => 0, {})
        .content;
    }
    function Yo(e) {
      const {
          capsuleList: t,
          nCapsulesPerPage: n,
          bIsScreenWide: a,
          saleSection: r,
          appVisibilityTracker: s,
        } = e,
        [o, l] = Object(It.b)(),
        c = Zo(t, 40, n, r, s),
        d = Mo(),
        u = (function (e, t) {
          let n = new Map();
          for (const a of e) {
            const e = a.id,
              r = Dt.a.Get().GetApp(e),
              i = null == r ? void 0 : r.GetAllCreatorClanIDs();
            if ((null == i ? void 0 : i.length) > 0) {
              for (const a of i)
                if (t.BIsFollowingCreator(a)) {
                  n.set(e, a);
                  break;
                }
              n.has(e) || n.set(e, i[0]);
            }
          }
          return n;
        })(c, l),
        m = {
          nMaxCapsulesPerRow: d.nCarouselCapsules,
          bScreenIsWide: d.bIsScreenWide,
          nShowAdditionalRows: 0,
        },
        p =
          null == c
            ? void 0
            : c.map((e) => ({
                Render: (t) =>
                  i.a.createElement(Ts, {
                    key: e.type + "_" + e.id,
                    capsule: e,
                    imageType: "header",
                    creatorAccountID: null == u ? void 0 : u.get(e.id),
                    bAutoFocus: 0 == t.index,
                  }),
              })),
        h = [n];
      return o
        ? i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            size: "medium",
            position: "center",
          })
        : Ws(r.unique_id, m, p, h, ["grid"], 1, !0, !1, !1, (e) => 0, {})
            .content;
    }
    function Zo(e, t, n, a, i) {
      return Object(r.useMemo)(() => {
        const r = ko(e, t);
        if (i) {
          r.sort(i.SortKey.bind(i));
          const e = n;
          r.slice(0, e).forEach(i.BMarkAppVisibile.bind(i, a.unique_id));
        }
        return r;
      }, [i, n, a, e, t]);
    }
    function Jo(e, t) {
      return Zi(e, ko([t])[0]);
    }
    const Xo = (e) => {
        const {
            strHubType: t,
            strCategory: n,
            nTagID: a,
            event: s,
            section: o,
            bIsPreview: l,
            prioritize_discounts: c,
            prune_list_optin_name: d,
            optin_tagid: u,
            optin_prune_tagid: m,
          } = e,
          {
            bLoading: p,
            spotlights: _,
            dailyDeals: g,
          } = (function (e, t, n, a, i, s, o) {
            const l = jo.Get(),
              [c, d] = Object(r.useState)(!0);
            return (
              Object(r.useEffect)(() => {
                d(!0);
                const r = l.LoadSpotlights(e, t, n, a, i, s, o),
                  c = l.LoadDailyDeals(e, t, n, a, i, s, o);
                Promise.all([r, c]).then(() => {
                  d(!1);
                });
              }, [t, e, o, s, a, i, l, n]),
              {
                bLoading: c,
                spotlights: l.GetSpotlights(e, t, n),
                dailyDeals: l.GetDailyDeals(e, t, n),
              }
            );
          })(t, n, a, c, d, u, m),
          { bLoading: b, rgMatchingCapsules: f } = (function (
            e,
            t,
            n,
            a,
            i,
            s,
            o,
            l,
            c,
          ) {
            const [d, u] = Object(r.useState)(!0),
              [m, p] = Object(r.useState)();
            return (
              Object(r.useEffect)(() => {
                const r = {
                  contentHub: { type: i, category: s, tagid: o },
                  strSectionFilter: l,
                  nTabUniqueID: 0,
                  strTabFilter: c,
                  facetFilter: null,
                };
                Ao.Get()
                  .GetSaleGamesByFlavor(e, t, n, r, a)
                  .then((e) => {
                    const t = e.appids.map((e) => ({ id: e, type: "game" }));
                    Object(Dn.g)(t, fs.e).then(() => {
                      Object(Dn.a)(t, !1).then((e) => {
                        p(e), u(!1);
                      });
                    });
                  });
              }, [e, t, a, o, s, n, i, l, c]),
              { bLoading: d, rgMatchingCapsules: m }
            );
          })(
            l,
            s,
            o.smart_section_type || "discounted",
            o.smart_section_max_apps || 10,
            t,
            n,
            a,
          ),
          [v, S] = Object(r.useState)();
        Object(r.useEffect)(() => {
          const e = (function (e, t) {
            if (null == e || null == t) return t;
            const n = new Set();
            for (const t of e) n.add(ol({ type: "dailydeal", item: t }));
            return t.filter((e) => !n.has(ol({ type: "capsule", item: e })));
          })(g, f);
          S(
            (function (e, t, n) {
              const a = [],
                r = [];
              let i = [];
              if (e)
                for (const t of e)
                  t.is_weeklong_deals ||
                    (i.push({ type: "spotlight", item: t }),
                    a.push(i),
                    (i = []));
              if (t)
                for (const e of t)
                  i.push({ type: "dailydeal", item: e }),
                    2 === i.length && (r.push(i), (i = []));
              if (0 === a.length && 0 === r.length) return null;
              if (n)
                for (const e of n)
                  i.push({ type: "capsule", item: e }),
                    2 === i.length && (r.push(i), (i = []));
              1 === i.length && r.push(i);
              const s = [];
              let o = 0,
                l = 0;
              for (
                ;
                (a.length > 0 && o < a.length) ||
                (r.length > 0 && l < r.length);
              ) {
                for (let e = 0; e < 2; e++)
                  a.length > 0 && o < a.length && (s.push(a[o]), o++);
                r.length > 0 && l < r.length && (s.push(r[l]), l++);
              }
              return s;
            })(_, g, e),
          );
        }, [g, f, _]);
        const { bIsScreenWide: y, nSpotlightCapsules: E } = Mo(),
          C = Math.min(3, E);
        if (p || b)
          return i.a.createElement(
            "div",
            {
              className: Object(h.a)({
                [ks.SaleSection]: !0,
                [ks.CarouselDisplay]: !0,
                [ss.SaleSectionCtn]: !0,
                SaleSectionForCustomCSS: !0,
              }),
              style: $s(o, s),
            },
            i.a.createElement(
              "div",
              { className: ks.SaleSectionTitleCtn },
              i.a.createElement(Zs, Object.assign({}, e)),
            ),
            i.a.createElement(No, { capsules_per_row: [C], is_spotlights: !0 }),
          );
        if (!Boolean(v)) return null;
        const w = {
            nMaxCapsulesPerRow: E,
            bScreenIsWide: y,
            nShowAdditionalRows: 0,
          },
          B =
            null == v
              ? void 0
              : v.map((e) => ({
                  Render: (t) =>
                    i.a.createElement($o, {
                      key: o.unique_id + "_" + sl(e),
                      column: e,
                    }),
                })),
          O = Ws(
            o.unique_id,
            w,
            B,
            [3],
            ["grid"],
            1,
            !0,
            !1,
            !0,
            (e) => 0,
            {},
            !0,
          ).content;
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)({
              [ks.SaleSection]: !0,
              [ks.CarouselDisplay]: !0,
              [ss.SaleSectionCtn]: !0,
              SaleSectionForCustomCSS: !0,
            }),
            style: $s(o, s),
          },
          i.a.createElement(
            "div",
            { className: ks.SaleSectionTitleCtn },
            i.a.createElement(Zs, Object.assign({}, e)),
          ),
          O,
        );
      },
      $o = (e) => {
        const { column: t } = e;
        return i.a.createElement(
          "div",
          { className: Po.SpotlightsColumn },
          t.map((e) =>
            i.a.createElement(
              "div",
              { className: Po.SpecialsItem, key: ol(e) },
              i.a.createElement(el, { item: e }),
            ),
          ),
        );
      };
    function el(e) {
      const { item: t } = e;
      if ("spotlight" === t.type) {
        const e = t.item;
        return i.a.createElement(al, { key: ol(t), spotlight: e });
      }
      if ("dailydeal" === t.type) {
        const e = t.item;
        return i.a.createElement(tl, { key: ol(t), dailyDeal: e });
      }
      if ("capsule" === t.type) {
        const e = t.item;
        return i.a.createElement(Ts, {
          key: ol(t),
          capsule: e,
          imageType: "header",
        });
      }
      return null;
    }
    const tl = (e) => {
        const { dailyDeal: t } = e,
          n = Object(ea.c)();
        return i.a.createElement(
          ea.b,
          { feature: "daily-deal" },
          i.a.createElement(
            er.a,
            { placeholderHeight: 125, rootMargin: es },
            i.a.createElement(
              "div",
              { className: Po.DailyDealCtn },
              i.a.createElement(
                "div",
                { className: Po.DailyDealImageCtn },
                i.a.createElement(
                  "a",
                  { href: Object(Jt.b)(t.target, n) },
                  i.a.createElement("img", { src: t.image }),
                ),
              ),
              i.a.createElement(
                "div",
                { className: Po.DailyDealTextCtn },
                i.a.createElement(
                  "div",
                  { className: Po.DailyDealDesc },
                  t.desc,
                ),
                i.a.createElement(
                  "div",
                  { className: Po.DailyDealTimer },
                  i.a.createElement(nl, { end_date: t.end_date }),
                ),
                i.a.createElement(il, {
                  discountBlock: t.discount_block,
                  bIsSalePage: t.is_sale_page,
                }),
              ),
            ),
          ),
        );
      },
      nl = (e) => {
        const { end_date: t } = e,
          n = Object(Bt.d)(),
          a = Math.floor(t - n),
          r = Math.floor(a / 3600),
          s = Math.floor((a % 3600) / 60),
          o = Math.floor(a % 60),
          l = r < 10 ? "0" + r : r,
          c = s < 10 ? "0" + s : s,
          d = o < 10 ? "0" + o : o;
        return i.a.createElement("span", null, l + ":" + c + ":" + d);
      },
      al = (e) => {
        const { spotlight: t } = e,
          n = t.item_count > 0;
        return i.a.createElement(
          ea.b,
          { feature: "spotlight" },
          i.a.createElement(
            er.a,
            { placeholderHeight: 250, rootMargin: es },
            !n && i.a.createElement(rl, Object.assign({}, e)),
          ),
        );
      },
      rl = (e) => {
        const { spotlight: t } = e,
          n = Object(ea.c)();
        return i.a.createElement(
          "div",
          { className: Po.SpotlightCtn },
          i.a.createElement(
            "div",
            { className: Po.SpotlightImageCtn },
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  Ss.CapsuleDecorators,
                  Po.CapsuleDecorators,
                ),
              },
              t.has_live_broadcast && i.a.createElement(Cs.b, null),
            ),
            t.open_in_new_window
              ? i.a.createElement(
                  E.c,
                  { href: Object(Jt.b)(t.url, n) },
                  i.a.createElement("img", { src: t.image_url, alt: t.title }),
                )
              : i.a.createElement(
                  "a",
                  { href: Object(Jt.b)(t.url, n) },
                  i.a.createElement("img", { src: t.image_url, alt: t.title }),
                ),
          ),
          i.a.createElement(
            "div",
            { className: Po.SpotlightTextCtn },
            i.a.createElement("div", { className: Po.SpotlightTitle }, t.title),
            i.a.createElement("div", { className: Po.SpotlightBody }, t.body),
            i.a.createElement(il, {
              discountBlock: t.discount_block,
              bIsSalePage: t.is_sale_page,
            }),
          ),
        );
      },
      il = (e) => {
        const { discountBlock: t, bIsSalePage: n } = e;
        return t
          ? n
            ? null == t.discount_max || t.discount_max <= 0
              ? null
              : null == t.discount_min || t.discount_min <= 0
                ? i.a.createElement(
                    "div",
                    { className: Po.DiscountBlock },
                    i.a.createElement(
                      "div",
                      { className: Po.DiscountPercent },
                      "Up to -",
                      t.discount_max,
                      "%",
                    ),
                  )
                : i.a.createElement(
                    "div",
                    { className: Po.DiscountBlock },
                    t.discount_min === t.discount_max
                      ? i.a.createElement(
                          "div",
                          { className: Po.DiscountPercent },
                          "-",
                          t.discount_min,
                          "%",
                        )
                      : i.a.createElement(
                          "div",
                          { className: Po.DiscountPercent },
                          "-",
                          t.discount_min,
                          " - ",
                          t.discount_max,
                          "%",
                        ),
                  )
            : null == t.final_price || "" === t.final_price
              ? null
              : null != t.bundle_discount && t.bundle_discount > 0
                ? i.a.createElement(
                    "div",
                    { className: Po.DiscountBlock },
                    i.a.createElement(
                      "div",
                      { className: Po.DiscountPercent },
                      "-",
                      t.bundle_discount,
                      "%",
                    ),
                  )
                : null != t.discount_percent && t.discount_percent > 0
                  ? i.a.createElement(
                      "div",
                      { className: Po.DiscountBlock },
                      i.a.createElement(
                        "div",
                        { className: Po.DiscountPercent },
                        "-",
                        t.discount_percent,
                        "%",
                      ),
                      i.a.createElement(
                        "div",
                        { className: Po.Prices },
                        i.a.createElement(
                          "div",
                          { className: Po.OriginalPrice },
                          t.orig_price,
                        ),
                        i.a.createElement(
                          "div",
                          { className: Po.FinalPrice },
                          t.final_price,
                        ),
                      ),
                    )
                  : i.a.createElement(
                      "div",
                      { className: Po.DiscountBlock },
                      i.a.createElement(
                        "div",
                        { className: Po.Prices },
                        i.a.createElement(
                          "div",
                          { className: Po.FinalPrice },
                          t.final_price,
                        ),
                      ),
                    )
          : null;
      };
    function sl(e) {
      return e.map(ol).reduce((e, t) => e + t);
    }
    function ol(e) {
      var t, n, a, r;
      if ("spotlight" === e.type) {
        const a = e.item;
        return a.is_weeklong_deals
          ? "weeklong"
          : (null === (t = a.item) || void 0 === t ? void 0 : t.type) +
              (null === (n = a.item) || void 0 === n ? void 0 : n.id);
      }
      if ("dailydeal" === e.type) {
        const t = e.item;
        let n = null === (a = t.item) || void 0 === a ? void 0 : a.type;
        return (
          "sub" !== n && "bundle" !== n && (n = "app"),
          n + (null === (r = t.item) || void 0 === r ? void 0 : r.id)
        );
      }
      if ("capsule" === e.type) {
        const t = e.item;
        let n = t.type;
        return "sub" !== n && "bundle" !== n && (n = "app"), n + t.id;
      }
      return "unknown";
    }
    var ll = n("lXRI");
    function cl(e) {
      const t = (function (e, t, n, a) {
          const [r, s] = i.a.useState([]);
          return (
            i.a.useEffect(() => {
              const r = Object(le.g)(o.c.LANGUAGE),
                i = {
                  nTabUniqueID: void 0,
                  contentHub: { type: "greatondeck" },
                  facetFilter: new Li(
                    [],
                    t,
                    ce.e.k_ESortFacetsByMatchCount,
                    r,
                    !0,
                    !0,
                  ),
                };
              Ao.Get()
                .GetSaleGamesByFlavor(!1, null, e, i, t, n, a)
                .then((e) => {
                  const t = e.appids.map((e) => ({ id: e, type: "game" }));
                  Object(Dn.g)(t, { include_assets: !0 }).then(() => {
                    Object(Dn.a)(t, !1).then((e) => {
                      let t = e.map((e) => e.id);
                      s(t);
                    });
                  });
                });
            }, [e, t, n, a]),
            r
          );
        })(e.strQueryType || "contenthub_topsellers", 27, 0),
        n = Object(Wn.f)(t, { include_assets: !0 });
      if (!t || 0 == t.length || 3 != n)
        return i.a.createElement(ee.a, {
          string: Object($.f)("#Loading"),
          position: "center",
          size: "medium",
        });
      const a = new Array();
      for (let e = 0; e < 4; ++e)
        a.push(
          i.a.createElement(dl, {
            key: "fullrow" + e,
            rgAppIDs: t.slice(6 * e, 6 * (e + 1)),
          }),
        );
      return (
        a.push(
          i.a.createElement(ul, { key: "partialrow", rgAppIDs: t.slice(24) }),
        ),
        i.a.createElement("div", { className: ll.Container }, a)
      );
    }
    function dl(e) {
      const { rgAppIDs: t } = e;
      return i.a.createElement(
        "div",
        { className: ll.FullRow },
        t.map((e) => i.a.createElement(ml, { key: e, appid: e })),
      );
    }
    function ul(e) {
      const { rgAppIDs: t } = e;
      return i.a.createElement(
        "div",
        { className: ll.HalfRowContainer },
        i.a.createElement(
          "div",
          { className: ll.HalfRow },
          t.map((e) => i.a.createElement(ml, { key: e, appid: e })),
        ),
        i.a.createElement(
          "div",
          { className: ll.LinkContainer },
          i.a.createElement(
            "a",
            { className: ll.Link, href: o.c.STORE_BASE_URL + "greatondeck" },
            Object($.f)("#SteamDeckVerified_SeeAll"),
          ),
        ),
      );
    }
    function ml(e) {
      const { appid: t } = e,
        [n] = Object(Wn.b)(t, { include_assets: !0 });
      return i.a.createElement(
        Pt.e,
        {
          item: { type: "game", id: t },
          bHidePrice: !0,
          bShowDeckCompatibilityDialog: !0,
          hoverProps: { direction: "overlay", style: { minWidth: "320px" } },
        },
        i.a.createElement("img", {
          className: ll.LibraryImage,
          src: n.GetAssets().GetLibraryCapsuleURL(),
        }),
        i.a.createElement(Ds.a, {
          bAllowOutsideOfDeck: !0,
          eDeckCompatibilityCategory: 3,
          className: ll.CompatIconOverride,
        }),
      );
    }
    var pl = n("CmzP");
    function hl(e) {
      if (!e.recommendation) return { strReason: "" };
      if (e.recommendation.reason === Bo.e.k_EStatusString)
        return { strReason: Object($.f)(e.recommendation.statusString) };
      if (e.recommendation.reason === Bo.e.k_ECurator) {
        const t = wt.a.GetClanInfoByClanAccountID(e.recommendation.curator);
        return t
          ? {
              strReason: Object($.f)(
                "#ContentHub_Recommendation_Curator",
                t.group_name,
              ),
              strImageURL: t.avatar_full_url,
            }
          : { strReason: "" };
      }
      if (e.recommendation.reason === Bo.e.k_ECreator) {
        const t = wt.a.GetClanInfoByClanAccountID(
          e.recommendation.creator.creator,
        );
        if (!t) return { strReason: "" };
        let n;
        return (
          (n =
            e.recommendation.creator.relationship === Bo.d.k_EFranchise
              ? "#ContentHub_Recommendation_FollowedFranchise"
              : e.recommendation.creator.relationship === Bo.d.k_EPublisher
                ? "#ContentHub_Recommendation_FollowedPublisher"
                : "#ContentHub_Recommendation_FollowedDeveloper"),
          {
            strReason: Object($.f)(n, t.group_name),
            strImageURL: t.avatar_full_url,
          }
        );
      }
      if (e.recommendation.reason === Bo.e.k_ETags) {
        let t;
        t =
          "software" === e.recommendation.appType
            ? "#ContentHub_Recommendation_Tags_Software"
            : "video" === e.recommendation.appType
              ? "#ContentHub_Recommendation_Tags_Video"
              : "#ContentHub_Recommendation_Tags";
        const n = new Intl.ListFormat($.e.GetPreferredLocales(), {
          type: "conjunction",
          style: "long",
        });
        return {
          strReason: Object($.f)(
            t,
            n.format(e.recommendation.tags.map((e) => e.name)),
          ),
        };
      }
      if (e.recommendation.reason === Bo.e.k_EDisplayList) {
        let t = "";
        switch (e.recommendation.displayListName) {
          case "top_sellers":
            t = Object($.f)("#ContentHub_Recommendation_TopSeller");
            break;
          case "popular_new":
            t = Object($.f)("#ContentHub_Recommendation_PopularNew");
            break;
          case "specials":
            t = Object($.f)("#ContentHub_Recommendation_Specials");
            break;
          case "concurrent":
            t = Object($.f)("#ContentHub_Recommendation_Concurrent");
            break;
          case "featured":
            t = Object($.f)("#ContentHub_Recommendation_Featured");
        }
        return { strReason: t };
      }
      return { strReason: "" };
    }
    const _l = (e) => {
        var t, n, a;
        const { capsule: s, bAutoFocus: o } = e,
          [l, c] = Object(r.useState)(!0),
          { bIsScreenWide: d } = Mo();
        let u =
            null === (t = s.recommendation) || void 0 === t ? void 0 : t.reason,
          m =
            null === (n = s.recommendation) || void 0 === n
              ? void 0
              : n.curator,
          p =
            null === (a = s.recommendation) || void 0 === a
              ? void 0
              : a.creator;
        return (
          Object(r.useEffect)(() => {
            let e;
            if (
              (s.recommendation && s.recommendation.reason === Bo.e.k_ECurator
                ? (e = s.recommendation.curator)
                : s.recommendation &&
                  s.recommendation.reason === Bo.e.k_ECreator &&
                  (e = s.recommendation.creator.creator),
              e)
            ) {
              const t = de.a.InitFromClanID(e);
              wt.a.LoadClanInfoForClanSteamID(t).then(() => c(!1));
            } else c(!1);
          }, [s.recommendation, u, m, p]),
          i.a.createElement(vs.f, {
            id: s.id,
            type: "app" === s.item_type ? "game" : s.item_type,
            displayStyle: d ? "animated" : "bordered",
            strReason: l ? "" : hl(s).strReason,
            bAutoFocus: o,
          })
        );
      },
      gl = (e) => {
        const {
            hubtype: t,
            category: n,
            tagid: a,
            bAutoAdvance: s,
            prioritize_discounts: l,
            prune_list_optin_name: c,
            optin_tagid: d,
            optin_prune_tagid: u,
            expanded: m,
          } = e,
          { bLoading: p, mainCapsuleList: h } = (function (
            e,
            t,
            n,
            a,
            i,
            s,
            o,
          ) {
            var l;
            const c = Bo.b.Get(),
              [d, u] = Object(r.useState)(!c.BHasMainCarousel(e, t, n));
            return (
              Object(r.useEffect)(() => {
                u(!0),
                  c.LoadMainCarousel(e, t, n, a, i, s, o).then(() => {
                    u(!1);
                  });
              }, [t, e, o, s, a, i, c, n]),
              {
                bLoading: !c.BHasMainCarousel(e, t, n),
                mainCapsuleList:
                  null === (l = c.GetMainCarousel(e, t, n)) || void 0 === l
                    ? void 0
                    : l.rgMainCapsule,
              }
            );
          })(t, n, a, l, c, d, u);
        return p
          ? i.a.createElement(
              "div",
              { className: m ? pl.PlaceholderExpanded : pl.PlaceholderCompact },
              o.c.IN_GAMEPADUI
                ? i.a.createElement(
                    "div",
                    { className: pl.ThrobberCtn },
                    i.a.createElement(ee.a, {
                      position: "center",
                      size: "large",
                      string: Object($.f)("#Loading"),
                    }),
                  )
                : i.a.createElement(No, {
                    capsules_per_row: [1],
                    is_maincap: !0,
                    is_expanded_maincap: m,
                  }),
            )
          : i.a.createElement(
              ea.b,
              { feature: "large-cluster" },
              i.a.createElement(
                vr,
                {
                  visibleElements: 1,
                  useTestScrollbar: !0,
                  bLazyRenderChildren: !0,
                  className: Po.MainCarousel,
                  bAutoAdvance: s,
                },
                h.map((e, t) =>
                  i.a.createElement(_l, {
                    key: e.item_type + " " + e.id,
                    capsule: e,
                    bAutoFocus: 0 == t,
                  }),
                ),
              ),
            );
      };
    var bl = n("F8HR");
    const fl = (e) => {
        const {
            hubtype: t,
            category: n,
            tagid: a,
            prioritize_discounts: s,
            prune_list_optin_name: l,
            optin_tagid: c,
            optin_prune_tagid: d,
          } = e,
          { bLoading: u, title: m } = (function (e, t, n, a, i, s, o) {
            const l = Bo.b.Get(),
              [c, d] = Object(r.useState)(!l.BHasTitle(e, t, n));
            return (
              Object(r.useEffect)(() => {
                d(!0),
                  l.LoadTitle(e, t, n, a, i, s, o).then(() => {
                    d(!1);
                  });
              }, [t, e, o, s, a, i, l, n]),
              { bLoading: !l.BHasTitle(e, t, n), title: l.GetTitle(e, t, n) }
            );
          })(t, n, a, s, l, c, d),
          p = Object(r.useRef)(),
          _ = Object(o.g)("ch_force_optin", "application_config");
        return (
          Object(r.useEffect)(() => {
            p.current && !u && m && (p.current.innerHTML = m.strSubtitle);
          }, [u, m]),
          u
            ? null
            : m
              ? i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      bl.ContentHubTitleCtn,
                      "ContentHubTitleCtn",
                    ),
                  },
                  !o.c.IN_GAMEPADUI &&
                    i.a.createElement(
                      "div",
                      {
                        className: Object(h.a)(
                          bl.ContentHubLabsWidget,
                          "ContentHubLabsWidget",
                        ),
                      },
                      i.a.createElement(vl, {
                        strLabNumber: "013",
                        strLabName: "contenthub",
                        strForumURL:
                          o.c.COMMUNITY_BASE_URL +
                          "groups/SteamLabs/discussions/15/",
                        bShowOptOut: !_,
                      }),
                    ),
                  i.a.createElement(
                    "div",
                    {
                      className: Object(h.a)(
                        bl.ContentHubTitle,
                        "ContentHubTitle",
                      ),
                    },
                    m.strTitle,
                  ),
                  ("earlyaccess" === (g = t) || "adultonly" === g) &&
                    i.a.createElement("div", {
                      ref: p,
                      className: Object(h.a)({
                        [bl.ContentHubSubtitle]: !0,
                        [bl.AONotice]: "adultonly" === t,
                      }),
                    }),
                )
              : i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      bl.ContentHubTitleCtn,
                      "ContentHubTitleCtn",
                    ),
                  },
                  i.a.createElement(
                    "div",
                    { className: bl.ContentHubPlaceholder },
                    Object($.f)("#ContentHub_SalePagePlaceholder"),
                  ),
                )
        );
        var g;
      },
      vl = (e) => {
        const {
            strLabNumber: t,
            strForumURL: n,
            strLabName: a,
            bShowOptOut: r,
          } = e,
          s = o.c.STORE_BASE_URL + "labs",
          l = o.c.STORE_BASE_URL + "labs/" + a + "?optout=1";
        return i.a.createElement(
          "div",
          { className: bl.SteamLabsBannerCtn },
          i.a.createElement(
            "div",
            { className: bl.SteamLabsIdentifiers },
            i.a.createElement(
              "a",
              {
                className: bl.SteamLabsName,
                href: s,
                target: o.c.IN_CLIENT ? void 0 : "_blank",
              },
              Object($.f)("#SteamLabs"),
            ),
            i.a.createElement(
              "div",
              { className: bl.SteamLabsNumber },
              Object($.f)("#SteamLabs_ExperimentNumber", t),
            ),
          ),
          Boolean(n) &&
            i.a.createElement(
              "a",
              {
                className: bl.SteamLabsButton,
                href: n,
                title: Object($.f)("#SteamLabs_DiscussionLink"),
                target: o.c.IN_CLIENT ? void 0 : "_blank",
              },
              i.a.createElement(H.l, null),
              i.a.createElement("span", null, "Discuss"),
            ),
          r &&
            a &&
            i.a.createElement(
              "a",
              {
                className: bl.SteamLabsButton,
                href: l,
                title: Object($.f)("#SteamLabs_OptOutLink"),
                target: o.c.IN_CLIENT ? void 0 : "_blank",
              },
              i.a.createElement(H.I, null),
              i.a.createElement("span", null, "Opt Out"),
            ),
        );
      };
    const Sl = (e) => null != e;
    var yl = n("VRwc"),
      El = n("Z7xW");
    const Cl = r.lazy(() => n.e(1).then(n.bind(null, "ZUcM"))),
      wl = "viewed";
    function Bl(e) {
      var t, n;
      const {
          event: a,
          activeTab: i,
          bWideBroadcastDisplay: s,
          broadcastEmbedContext: o,
        } = e,
        [l, c] = r.useState(!i),
        [d, u] = (function (e, t) {
          const [n, a] = r.useState(window.localStorage.getItem(e)),
            i = r.useRef(e);
          r.useEffect(() => {
            e != i.current &&
              (a(window.localStorage.getItem(e)), (i.current = e));
          }, [e]);
          const s = e == i.current ? n : window.localStorage.getItem(e);
          let o = t;
          return (
            Sl(s) &&
              (o = Sl(t)
                ? "boolean" == typeof t
                  ? t.constructor("false" !== s)
                  : t.constructor(s)
                : s),
            [
              o,
              (t) => {
                const n = Sl(t) ? String(t) : null;
                window.localStorage.setItem(e, n), a(n);
              },
            ]
          );
        })("broadcast-preroll-" + e.broadcastEmbedContext.nAppIDVOD),
        m = Boolean(i),
        p = d == wl;
      return r.createElement(
        nt.a,
        null,
        r.createElement(
          ea.b,
          { feature: "salebroadcast" },
          r.createElement(
            r.Suspense,
            { fallback: r.createElement("div", null) },
            r.createElement(
              Et.a,
              { onEnter: () => c(!0) },
              r.createElement(
                "div",
                {
                  className: Object(h.a)({
                    [Ms.a.SaleBroadcastSection]: m,
                    [Ms.a.SaleBroadcastCtn]: !m,
                    WideBroadcastCtn: s,
                    SaleBroadcastSection_trgt: !0,
                  }),
                },
                Boolean(l) &&
                  r.createElement(
                    Cl,
                    Object.assign({}, o, {
                      bShowCapsuleArt: !0,
                      fnFilterStreams: (e) => {
                        var t, n;
                        const r = yl.a.GetOrCreateBroadcastInfo(
                          e.steamid,
                        ).m_nAppID;
                        return (
                          ((null === (t = null == a ? void 0 : a.jsondata) ||
                          void 0 === t
                            ? void 0
                            : t.broadcast_preroll_vod_appid) &&
                            e.nAppIDVOD ==
                              Number(
                                null ===
                                  (n = null == a ? void 0 : a.jsondata) ||
                                  void 0 === n
                                  ? void 0
                                  : n.broadcast_preroll_vod_appid,
                              )) ||
                          (null == a
                            ? void 0
                            : a.BIsBroadcastAccountIDWhiteListed(
                                e.accountid,
                              )) ||
                          a.BUsesContentHubForItemSource() ||
                          !i ||
                          i.ShouldShowOnTab(r)
                        );
                      },
                      fnOnVideoEnd: () => u(wl),
                      bSkipPreRoll: p,
                      bWidePlayer: s,
                      tabuniqueid:
                        null === (t = e.activeTab) || void 0 === t
                          ? void 0
                          : t.GetActiveTabUniqueID(),
                      tabfilter:
                        null === (n = e.activeTab) || void 0 === n
                          ? void 0
                          : n.GetStoreFilter(),
                    }),
                  ),
                Boolean(!l) &&
                  r.createElement(ee.a, {
                    size: "small",
                    position: "center",
                    string: Object($.f)("#Loading"),
                  }),
              ),
            ),
          ),
        ),
      );
    }
    var Ol = n("NLp2"),
      Dl = n.n(Ol);
    const Il = new (class {
      DeleteForumTopic(e, t, n, r, i) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a =
            o.c.COMMUNITY_BASE_URL +
            "forum/" +
            e.GetAccountID() +
            "/" +
            t +
            "/deletetopic/";
          null != n && "" != n && (a += n + "/");
          const s = new FormData();
          s.append("sessionid", o.c.SESSIONID), s.append("gidforumtopic", r);
          let l = yield F.a.post(a, s, {
            withCredentials: !0,
            cancelToken: i.token,
          });
          if (1 != l.data.success) throw l.data;
          return l.data;
        });
      }
    })();
    class Tl extends r.Component {
      constructor(e) {
        super(e),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.state = {
            dialogState: this.props.bNoConfirmationNeeded
              ? "waiting"
              : "confirmation",
            bDeleteCommentThread: !1,
          });
      }
      componentDidMount() {
        this.props.bNoConfirmationNeeded && this.OnDelete();
      }
      OnDeleteEventSuccessCallback() {
        this.props.partnerEventStore.ResetModel(),
          this.state.bDeleteCommentThread
            ? Il.DeleteForumTopic(
                this.m_clanSteamID,
                "Event",
                void 0,
                this.m_forumTopicGID,
                this.m_cancelSignal,
              )
                .then(this.OnDeleteForumTopicSuccessCallback)
                .catch(this.OnDeleteForumTopicFailureCallback)
            : this.setState({ dialogState: "success" });
      }
      OnDeleteForumTopicSuccessCallback() {
        this.setState({ dialogState: "success" });
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("component unmounted");
      }
      OnDeleteEventFailureCallback(e) {
        this.setState(Object.assign({ dialogState: "error" }, Object(me.a)(e)));
      }
      OnDeleteForumTopicFailureCallback(e) {
        this.setState(
          Object.assign(
            { dialogState: "failed_thread_delete" },
            Object(me.a)(e),
          ),
        );
      }
      SetToWaiting() {
        "waiting" != this.state.dialogState &&
          this.setState({ dialogState: "waiting" });
      }
      OnDelete() {
        const { eventModel: e, partnerEventStore: t } = this.props;
        let n = e.clanSteamID,
          a = e.GID,
          r = e.AnnouncementGID;
        (this.m_forumTopicGID = e.forumTopicGID),
          (this.m_clanSteamID = n),
          !this.props.eventModel.bOldAnnouncement && a && "0" != a && a != le.h
            ? (this.SetToWaiting(),
              t
                .DeleteClanEvent(n, a)
                .then(this.OnDeleteEventSuccessCallback)
                .catch(this.OnDeleteEventFailureCallback))
            : this.props.eventModel.bOldAnnouncement
              ? (this.SetToWaiting(),
                t
                  .DeleteOldAnnouncement(n, r)
                  .then(this.OnDeleteEventSuccessCallback)
                  .catch(this.OnDeleteEventFailureCallback))
              : (t.ResetModel(), this.setState({ dialogState: "success" }));
      }
      OnChangeDeleteForum() {
        this.setState({
          bDeleteCommentThread: !this.state.bDeleteCommentThread,
        });
      }
      render() {
        let e = this.props.eventModel,
          t = this.props.closeModal,
          n = "",
          a = new Array();
        switch (this.state.dialogState) {
          case "confirmation":
            let i = e.GetNameWithFallback(Object(le.g)(o.c.LANGUAGE)),
              s = e.BIsVisibleEvent()
                ? "#EventDisplay_AreYouSure_Visible"
                : "#EventDisplay_AreYouSure";
            (n = Object($.f)(s, i)),
              (t = this.OnDelete),
              e.BHasForumTopicGID() &&
                a.push(
                  r.createElement(
                    "div",
                    { key: "WantToDeleteCmtThread", className: Dl.a.Padding },
                    r.createElement("input", {
                      type: "checkbox",
                      id: "del_cmt_post",
                      name: "del_cmt_post",
                      defaultChecked: this.state.bDeleteCommentThread,
                      onChange: this.OnChangeDeleteForum,
                    }),
                    r.createElement(
                      "label",
                      { htmlFor: "del_cmt_post" },
                      Object($.f)("#EventDisplay_DeleteEvent_Comment"),
                    ),
                  ),
                );
            break;
          case "waiting":
            (n = Object($.f)("#EventDisplay_DeleteEvent_InProgress")),
              a.push(r.createElement(ee.a, { key: "throbber" }));
            break;
          case "error":
            (n = Object($.f)("#EventDisplay_DeleteEvent_Error")),
              a.push(
                r.createElement(
                  "div",
                  {
                    key: "deleteerror_" + ++Tl.m_uniqueError,
                    className: Dl.a.ErrorStyles,
                  },
                  this.state.strErrorMsg,
                ),
              );
            break;
          case "failed_thread_delete":
            (n = Object($.f)("#EventDisplay_DeleteEvent_ForumTopicError")),
              a.push(
                r.createElement(
                  "div",
                  {
                    key: "deleteerror_" + ++Tl.m_uniqueError,
                    className: Dl.a.ErrorStyles,
                  },
                  this.state.strErrorMsg,
                ),
              ),
              this.props.onDeleteSuccessAndCloseDialog &&
                (t = () => {
                  this.props.onDeleteSuccessAndCloseDialog(),
                    this.props.closeModal();
                });
            break;
          case "success":
            (n = Object($.f)("#EventDisplay_DeleteEvent_Success")),
              this.props.onDeleteSuccessAndCloseDialog &&
                (t = () => {
                  this.props.onDeleteSuccessAndCloseDialog(),
                    this.props.closeModal();
                });
        }
        return r.createElement(
          xe.e,
          {
            strTitle: Object($.f)("#EventDisplay_DeleteEvent"),
            strDescription: n,
            onCancel: this.props.closeModal,
            onOK: t,
            bAlertDialog: "confirmation" != this.state.dialogState,
            bOKDisabled: "waiting" == this.state.dialogState,
            bDestructiveWarning: "error" == this.state.dialogState,
          },
          a,
        );
      }
    }
    (Tl.m_uniqueError = 0),
      Object(a.b)([u.b], Tl.prototype, "OnDeleteEventSuccessCallback", null),
      Object(a.b)(
        [u.b],
        Tl.prototype,
        "OnDeleteForumTopicSuccessCallback",
        null,
      ),
      Object(a.b)([u.b], Tl.prototype, "OnDeleteEventFailureCallback", null),
      Object(a.b)(
        [u.b],
        Tl.prototype,
        "OnDeleteForumTopicFailureCallback",
        null,
      ),
      Object(a.b)([u.b], Tl.prototype, "SetToWaiting", null),
      Object(a.b)([u.b], Tl.prototype, "OnDelete", null),
      Object(a.b)([u.b], Tl.prototype, "OnChangeDeleteForum", null);
    var Rl = n("2vra"),
      jl = n.n(Rl),
      Al = n("oUO1");
    n("czhv");
    function kl(e) {
      e.list_jsondata && "string" == typeof e.list_jsondata
        ? (e.list_jsondata = JSON.parse(e.list_jsondata))
        : (Object(l.a)(
            !e.list_jsondata,
            "Found unexpected ListDetails_t.list_jsondata type: " +
              typeof e.list_jsondata,
          ),
          (e.list_jsondata = {}));
    }
    function Ml(e, t) {
      (t.localized_flat_title = Object(ka.e)([], 30, null)),
        (t.localized_flat_blurb = Object(ka.e)([], 30, null)),
        (t.localized_flat_link = Object(ka.e)([], 30, null)),
        "0" !== t.title && (t.localized_flat_title[e] = t.title),
        "0" !== t.blurb && (t.localized_flat_blurb[e] = t.blurb),
        "0" !== t.link && (t.localized_flat_link[e] = t.link),
        t.title_localization.forEach((e) => {
          var n;
          (null === (n = e.localized_string) || void 0 === n
            ? void 0
            : n.length) > 0 &&
            (t.localized_flat_title[e.language] = e.localized_string);
        }),
        t.blurb_localization.forEach((e) => {
          var n;
          (null === (n = e.localized_string) || void 0 === n
            ? void 0
            : n.length) > 0 &&
            (t.localized_flat_blurb[e.language] = e.localized_string);
        }),
        t.link_localization.forEach((e) => {
          var n;
          (null === (n = e.localized_string) || void 0 === n
            ? void 0
            : n.length) > 0 &&
            (t.localized_flat_link[e.language] = e.localized_string);
        });
    }
    class Pl {
      constructor() {
        (this.m_mapList = new Map()),
          (this.m_mapEventGIDToLists = new Map()),
          (this.m_mapListIDToClanAccount = new Map()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_curatorListStore = this);
        let e = Object(o.g)("curatorlistdata", "application_config");
        ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
          console.log(
            "DEV_DEBUG: CCuratorListStore loading list payload: " +
              (null == e ? void 0 : e.length),
            e,
          ),
          this.ValidateStoreDefault(e) &&
            Object(L.G)(() => {
              e.forEach((e) => {
                e.multi_detail_lists.forEach((t) => {
                  kl(t),
                    Ml(e.curation_language, t),
                    this.m_mapList.set(t.listid, t);
                });
              });
            });
      }
      GetListDetails(e) {
        return this.m_mapList.get(e);
      }
      GetAllSaleCurationLists(e) {
        return this.m_mapEventGIDToLists.get(e) || [];
      }
      GetClanAccountFromListID(e) {
        return this.m_mapListIDToClanAccount.get(e);
      }
      LoadListDetails(e, t, n) {
        var r;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapList.has(t)) return this.m_mapList.get(t);
          const a =
              o.c.STORE_BASE_URL +
              "curator/" +
              e.GetAccountID() +
              "/admin/ajaxgetlistdetails",
            i = { listid: t };
          try {
            const s = yield F.a.get(a, {
              params: i,
              cancelToken: null == n ? void 0 : n.token,
            });
            if (
              1 ==
              (null === (r = null == s ? void 0 : s.data) || void 0 === r
                ? void 0
                : r.success)
            ) {
              const n = Object.assign({}, s.data.list_details);
              return (
                Object(l.a)(
                  t == (null == n ? void 0 : n.listid),
                  "Wanted" + t + "but got" + (null == n ? void 0 : n.listid),
                ),
                kl(n),
                Ml(s.data.curation_language, n),
                this.m_mapList.set(t, n),
                this.m_mapListIDToClanAccount.set(t, e.GetAccountID()),
                n
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CCuratorListStore.LoadListDetails: error on load: " +
                t.strErrorMsg,
              t,
            );
          }
          return null;
        });
      }
      LoadMyFollowedSaleCurationLists(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            !o.j.logged_in ||
            (It.a.Get().BIsLoaded() &&
              0 == It.a.Get().GetFollowedCuratorCount())
          )
            return [];
          const a = o.c.STORE_BASE_URL + "curators/ajaxgetmycuratorsalelists",
            r = {
              clan_account_id: e.GetAccountID(),
              clan_event_gid: t,
              origin: self.origin,
              curator_clan_account_followed: It.a.Get().BIsLoaded()
                ? It.a.Get().GetFollowedCuratorsAccountID().join(",")
                : void 0,
            };
          return this.InternalLoadSaleCuratorLists(
            a,
            r,
            "CCuratorListStore.LoadMyFollowedSaleCurationLists",
            e,
            t,
            n,
          );
        });
      }
      LoadAllSaleCurationLists(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapEventGIDToLists.has(t))
            return this.m_mapEventGIDToLists.get(t);
          const a = o.c.STORE_BASE_URL + "curators/ajaxfindcuratorlists",
            r = {
              clan_account_id: e.GetAccountID(),
              clan_event_gid: t,
              origin: self.origin,
            };
          return this.InternalLoadSaleCuratorLists(
            a,
            r,
            "CCuratorListStore.LoadAllSaleCurationLists",
            e,
            t,
            n,
          );
        });
      }
      InternalLoadSaleCuratorLists(e, t, n, r, i, s) {
        var o;
        return Object(a.a)(this, void 0, void 0, function* () {
          try {
            const n = yield F.a.get(e, {
              params: t,
              cancelToken: null == s ? void 0 : s.token,
            });
            if (
              1 ==
              (null === (o = null == n ? void 0 : n.data) || void 0 === o
                ? void 0
                : o.success)
            ) {
              const e = new Array();
              return (
                Object(L.G)(() => {
                  n.data.matches &&
                    n.data.matches.forEach((t) => {
                      t.multi_detail_lists.forEach((n) => {
                        this.m_mapListIDToClanAccount.set(
                          n.listid,
                          t.clan_account_id,
                        ),
                          kl(n),
                          Ml(t.curation_language, n),
                          this.m_mapList.set(n.listid, n),
                          e.push(n);
                      });
                    }),
                    this.m_mapEventGIDToLists.set(i, e);
                }),
                e
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(n + ": error on load: " + t.strErrorMsg, t);
          }
          return [];
        });
      }
      static Get() {
        return Pl.s_Singleton || (Pl.s_Singleton = new Pl()), Pl.s_Singleton;
      }
      ValidateStoreDefault(e) {
        const t = e;
        return t && Array.isArray(t) && t.length > 0 && "object" == typeof t[0]
          ? "number" == typeof t[0].curation_language &&
              t[0].multi_detail_lists &&
              Array.isArray(t[0].multi_detail_lists) &&
              "string" == typeof t[0].multi_detail_lists[0].listid &&
              "number" == typeof t[0].multi_detail_lists[0].list_type &&
              "number" == typeof t[0].multi_detail_lists[0].list_state
          : t && Array.isArray(t) && 0 == t.length;
      }
    }
    Object(a.b)([L.C], Pl.prototype, "m_mapList", void 0);
    var Ll = n("nL6n");
    function Gl(e) {
      const { section: t, event: n, bPreviewMode: a } = e;
      return o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina ||
        n.BHasTag("contenthub") ||
        (!a &&
          t.featured_curator_list_rtime_start &&
          t.featured_curator_list_rtime_start > Bt.b.GetTimeNowWithOverride())
        ? null
        : r.createElement(Nl, Object.assign({}, e));
    }
    const Nl = Object(m.a)((e) => {
      var t;
      const { section: n, event: i, bPreviewMode: s } = e,
        [l, c] = r.useState(null);
      return (
        r.useEffect(() => {
          let e = F.a.CancelToken.source();
          return (
            Object(a.a)(void 0, void 0, void 0, function* () {
              var t;
              let a = new Array();
              const r = new Array();
              let s = null;
              o.j.logged_in &&
                (yield It.a.Get().HintLoad(),
                It.a.Get().GetFollowedCuratorCount() > 0 &&
                  !e.token.reason &&
                  (s = Pl.Get().LoadMyFollowedSaleCurationLists(
                    i.clanSteamID,
                    i.GID,
                    e,
                  ))),
                (null === (t = null == n ? void 0 : n.featured_curator_list) ||
                void 0 === t
                  ? void 0
                  : t.length) > 0 &&
                  !e.token.reason &&
                  n.featured_curator_list.forEach((t) => {
                    const n = de.a.InitFromClanID(t.clanAccountID);
                    r.push(Pl.Get().LoadListDetails(n, t.listID, e));
                  });
              const l = (yield Promise.all(r)) || [],
                d = (yield s) || [],
                u = new Set(),
                m = new Set(),
                p = new Array(),
                h = l.filter((e) =>
                  $.e.GetELanguageFallbackOrder().some((t) => {
                    var n;
                    return (
                      (null === (n = e.localized_flat_title[t]) || void 0 === n
                        ? void 0
                        : n.length) > 0
                    );
                  }),
                );
              [...d, ...h].forEach((e) => {
                if (!u.has(e.listid)) {
                  u.add(e.listid), a.push(e);
                  const t = Pl.Get().GetClanAccountFromListID(e.listid);
                  if (!m.has(t)) {
                    m.add(t);
                    const e = de.a.InitFromClanID(t);
                    p.push(wt.a.LoadClanInfoForClanSteamID(e));
                  }
                }
              }),
                yield Promise.all(p),
                e.token.reason || c(a);
            }),
            () =>
              null == e
                ? void 0
                : e.cancel("CuratorRecommendationSaleWidget: unmounting")
          );
        }, [
          i.GID,
          i.clanSteamID,
          n.featured_curator_list,
          null === (t = n.featured_curator_list) || void 0 === t
            ? void 0
            : t.length,
        ]),
        l && 0 != l.length
          ? r.createElement(
              ea.b,
              { feature: "salecuratorrec" },
              r.createElement(
                vr,
                {
                  hideArrows: !ns(),
                  visibleElements: 1,
                  useTestScrollbar: !0,
                  bLazyRenderChildren: !0,
                  className: Object(h.a)(
                    "SaleSectionCarousel",
                    "SaleSectionCarouselPadding",
                    ks.SaleSection,
                    ks.CarouselDisplay,
                  ),
                },
                l.map((e) =>
                  r.createElement(xl, { key: e.listid, list: e, event: i }),
                ),
              ),
            )
          : null
      );
    });
    class Fl {
      constructor() {
        this.m_mapSaleEventToFeatureAppSet = new Map();
      }
      GetFeaturedAppSet(e) {
        return (
          this.m_mapSaleEventToFeatureAppSet.has(e.GID) ||
            this.m_mapSaleEventToFeatureAppSet.set(
              e.GID,
              e.GetSaleFeaturedApps(),
            ),
          this.m_mapSaleEventToFeatureAppSet.get(e.GID)
        );
      }
      static Get() {
        return Fl.s_Singleton || (Fl.s_Singleton = new Fl()), Fl.s_Singleton;
      }
    }
    const xl = (e) => {
      const { list: t, event: n } = e,
        a = wt.a.GetClanInfoByClanAccountID(
          Pl.Get().GetClanAccountFromListID(t.listid),
        ),
        [i, s] = r.useState(null),
        l = Object(le.g)(o.c.LANGUAGE);
      let c = $.a.GetWithFallback(t.localized_flat_title, l);
      0 == c.length &&
        (c = Object($.f)("#Sale_CuratorDisplay_ListDefaultTitle"));
      let d = $.a.GetWithFallback(t.localized_flat_blurb, l);
      0 == d.length &&
        (d = Object($.f)("#Sale_CuratorDisplay_ListDefaultDesc", a.group_name));
      const u =
        o.c.STORE_BASE_URL + "curator/" + a.clanAccountID + "/list/" + t.listid;
      r.useEffect(() => {
        let e = new Array(),
          a = Fl.Get().GetFeaturedAppSet(n);
        t.apps.forEach((t) => {
          a.has(t.recommended_app.appid) &&
            e.push(
              Dt.a
                .Get()
                .QueueAppRequest(t.recommended_app.appid, {
                  include_assets: !0,
                }),
            );
        });
        let r = new Array();
        Promise.all(e).then(() => {
          t.apps.forEach((e) => {
            let t = Dt.a.Get().GetApp(e.recommended_app.appid);
            r.length < 12 &&
              (null == t ? void 0 : t.BIsVisible()) &&
              t.GetAssets() &&
              r.push(t.GetAssets().GetHeaderURL());
          });
          let e = 0;
          for (; r.length > 0 && r.length < 6; ) r.push(r[e++]);
          s(r);
        });
      }, [n, t.apps, 12]);
      const m = (i || []).map((e, t) =>
        r.createElement("img", { key: e + t, src: e }),
      );
      return r.createElement(
        "div",
        { className: Ll.CuratorCtn },
        Boolean(i) &&
          r.createElement(
            "div",
            { className: Ll.CuratorBackgroundCtn },
            r.createElement(
              "div",
              { className: Ll.BackgroundTintCtn },
              r.createElement("img", {
                className: Ll.CuratorAvatar,
                src: a.avatar_full_url,
              }),
            ),
            r.createElement(
              "div",
              { className: Ll.BackgroundGamesCtn },
              r.createElement("div", { className: Ll.BackgroundGames }, m),
            ),
          ),
        r.createElement(
          "div",
          { className: Ll.CuratorContentCtn },
          r.createElement(
            "div",
            { className: Ll.CuratorFollowCtn },
            r.createElement(Mt.b, { clanAccountID: a.clanAccountID }),
          ),
          r.createElement(
            "div",
            { className: Ll.CuratorMiddleCtn },
            r.createElement(
              Qe.a,
              { toolTipContent: a.group_name, className: Ll.CuratorAvatarCtn },
              r.createElement("img", {
                className: Ll.CuratorAvatar,
                src: a.avatar_full_url,
              }),
            ),
            r.createElement(
              "div",
              { className: Ll.ListDescCtn },
              r.createElement(
                "div",
                { className: Ll.SmallText },
                r.createElement(
                  "div",
                  { className: Ll.explore },
                  Object($.f)("#Sale_CuratorDisplay_Explore"),
                ),
                r.createElement(
                  "div",
                  { className: Ll.groupName },
                  a.group_name,
                ),
              ),
              r.createElement("div", { className: Ll.ListTitle }, c),
              r.createElement("div", { className: Ll.ListDesc }, d),
              r.createElement(
                "a",
                { className: Ll.ListLink, href: Object(Jt.d)(u) },
                Object($.f)("#Sale_CuratorDisplay_Explore"),
              ),
            ),
          ),
        ),
      );
    };
    var zl,
      Ul = n("VQwQ");
    class Wl {
      constructor() {
        this.m_eCurLang = Object(le.g)(o.c.LANGUAGE);
      }
      GetCurEditLanguage() {
        return this.m_eCurLang;
      }
      SetCurEditLanguage(e) {
        return this.m_eCurLang != e && ((this.m_eCurLang = e), !0);
      }
      static Get() {
        return (
          Wl.s_globalSingletonStore ||
            ((Wl.s_globalSingletonStore = new Wl()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.DUS = Wl.s_globalSingletonStore)),
          Wl.s_globalSingletonStore
        );
      }
    }
    Object(a.b)([L.C], Wl.prototype, "m_eCurLang", void 0),
      Object(a.b)([Ul.a], Wl.prototype, "GetCurEditLanguage", null),
      Object(a.b)([Ul.a], Wl.prototype, "SetCurEditLanguage", null),
      (function (e) {
        (e[(e.k_EPurchaseReservationState_NotReserved = 0)] =
          "k_EPurchaseReservationState_NotReserved"),
          (e[(e.k_EPurchaseReservationState_Reserved = 1)] =
            "k_EPurchaseReservationState_Reserved"),
          (e[(e.k_EPurchaseReservationState_Cancelled = 2)] =
            "k_EPurchaseReservationState_Cancelled"),
          (e[(e.k_EPurchaseReservationState_Allocated = 3)] =
            "k_EPurchaseReservationState_Allocated"),
          (e[(e.k_EPurchaseReservationState_Consumed = 4)] =
            "k_EPurchaseReservationState_Consumed"),
          (e[(e.k_EPurchaseReservationState_CancelPendingRefund = 5)] =
            "k_EPurchaseReservationState_CancelPendingRefund");
      })(zl || (zl = {}));
    class Hl {
      constructor() {
        (this.m_mapUserReservationState = new Map()),
          (this.m_inflightRequests = new Map());
      }
      GetMyReservationState(e, t, n) {
        const a = this.GetKey(e, t, n);
        return this.m_mapUserReservationState.has(a)
          ? this.m_mapUserReservationState.get(a)
          : { bLoaded: !1 };
      }
      GetKey(e, t, n) {
        return (
          e.sort(),
          t && t.sort(),
          JSON.stringify(e) +
            "_" +
            JSON.stringify(t) +
            "_" +
            (Boolean(n) ? n : "")
        );
      }
      LoadUserReservationState(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.GetKey(t, n, r);
          return (
            this.m_inflightRequests.has(a) ||
              this.m_inflightRequests.set(
                a,
                this.InternalLoadUserReservationState(e, t, n, r),
              ),
            yield this.m_inflightRequests.get(a)
          );
        });
      }
      InternalLoadUserReservationState(e, t, n, r) {
        var i;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.GetKey(t, n, r);
          try {
            const s = {
              rgReservationPackageIDs: JSON.stringify(t),
              rgDepositPackageIDs: JSON.stringify(n),
            };
            e && ((s.beta = 1), r && (s.nPreviewOption = r));
            const l =
                o.c.STORE_BASE_URL +
                (o.j.logged_in
                  ? "reservation/ajaxgetuserstate"
                  : "reservation/ajaxgetdefaultstate"),
              c = yield F.a.get(l, { params: s, withCredentials: !0 });
            if (
              200 == (null == c ? void 0 : c.status) &&
              1 ==
                (null === (i = null == c ? void 0 : c.data) || void 0 === i
                  ? void 0
                  : i.success)
            )
              (c.data.bLoaded = !0),
                this.m_mapUserReservationState.set(a, c.data);
            else {
              const e = Object(me.a)(c);
              console.error(
                "CReservationStore.LoadUserReservationState: response with " +
                  e.strErrorMsg,
                e,
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CReservationStore.LoadUserReservationState: failed with " +
                t.strErrorMsg,
              t,
            );
          }
          return this.m_mapUserReservationState.get(a);
        });
      }
      CancelUserReservation() {
        var e;
        return Object(a.a)(this, void 0, void 0, function* () {
          try {
            const t = o.c.STORE_BASE_URL + "reservation/cancelreservation",
              n = new FormData();
            n.append("sessionid", o.c.SESSIONID);
            const a = yield F.a.post(t, n, { withCredentials: !0 });
            if (
              200 == (null == a ? void 0 : a.status) &&
              1 == (null === (e = a.data) || void 0 === e ? void 0 : e.success)
            )
              return !0;
            {
              const e = Object(me.a)(a);
              console.error(
                "CReservationStore.CancelUserReservation: response with " +
                  e.strErrorMsg,
                e,
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CReservationStore.CancelUserReservation: failed with " +
                t.strErrorMsg,
              t,
            );
          }
          return !1;
        });
      }
      static Get() {
        return (
          Hl.s_Singleton ||
            ((Hl.s_Singleton = new Hl()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_ReservationStore = Hl.s_Singleton)),
          Hl.s_Singleton
        );
      }
    }
    var Vl = n("M1H4"),
      ql = n.n(Vl),
      Kl = n("oe0p"),
      Ql = n.n(Kl);
    let Yl = class extends r.Component {
      constructor(e) {
        super(e),
          (this.state = {
            bGrabbing: !1,
            startY: 0,
            index: -1,
            rowDelta: 0,
            actualRowHeight: 0,
          }),
          (this.container = null),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.container = r.createRef());
      }
      componentDidMount() {
        this.container.current &&
          this.container.current.firstElementChild &&
          this.setState({
            actualRowHeight:
              this.container.current.firstElementChild.getBoundingClientRect()
                .height,
          });
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("ReorderableList unmounting");
      }
      OnWhitelistGrab(e, t) {
        if (!this.m_cancelSignal.token.reason) {
          const n = e.clientY;
          this.setState({ bGrabbing: !0, startY: n, index: t }),
            window.addEventListener("mousemove", this.OnWhitelistMove),
            window.addEventListener("mouseup", this.OnWhitelistRelease);
        }
      }
      OnWhitelistRelease(e) {
        this.m_cancelSignal.token.reason ||
          (this.setState({ bGrabbing: !1, startY: 0, index: -1, rowDelta: 0 }),
          window.removeEventListener("mousemove", this.OnWhitelistMove));
      }
      OnWhitelistMove(e) {
        const t = e.clientY - this.state.startY,
          n = Boolean(this.props.fixedRowHeight)
            ? this.props.fixedRowHeight
            : this.state.actualRowHeight,
          a = Math.min(
            Math.round(t / n),
            this.props.items.length - this.state.index - 1,
          );
        if (a !== this.state.rowDelta) {
          const e = this.state.index + this.state.rowDelta,
            t = Ps.a(this.state.index + a, 0, this.props.items.length - 1);
          this.m_cancelSignal.token.reason ||
            (this.props.onMove
              ? this.props.onMove(e, t)
              : Object(ka.d)(this.props.items, e, t),
            this.setState({ rowDelta: a }),
            this.props.onReorder && this.props.onReorder());
        }
      }
      render() {
        const { render: e } = this.props;
        return r.createElement(
          "div",
          { className: We.a.WhitelistCtn, ref: this.container },
          this.props.items.map((t, n) =>
            r.createElement(
              "div",
              {
                key: n,
                className: `${We.a.WhitelistRow}`,
                style: Boolean(this.props.fixedRowHeight)
                  ? { height: this.props.fixedRowHeight }
                  : {},
              },
              r.createElement("img", {
                className: `${We.a.WhitelistAvatar} ${We.a.Grabbable} ${this.state.bGrabbing ? We.a.Grabbing : ""} ${this.props.bDisabled ? We.a.DisabledGrab : ""}`,
                src: ql.a,
                onMouseDown: Boolean(this.props.bDisabled)
                  ? void 0
                  : (e) => this.OnWhitelistGrab(e, n),
              }),
              r.createElement(
                "div",
                { className: We.a.WhitelistNumber },
                n + 1,
              ),
              e(t),
              Boolean(this.props.onEdit || this.props.onDelete) &&
                r.createElement(
                  "div",
                  { className: We.a.ButtonCtn },
                  Boolean(this.props.onEdit) &&
                    r.createElement(
                      "div",
                      {
                        className: ca.a.RemoveIcon,
                        onClick: (e) => this.props.onEdit(n, e),
                      },
                      r.createElement(H.x, null),
                    ),
                  Boolean(this.props.onDelete) &&
                    r.createElement("img", {
                      className: ca.a.RemoveIcon,
                      src: Ql.a,
                      onClick: (e) => this.props.onDelete(n, e),
                    }),
                ),
            ),
          ),
        );
      }
    };
    Object(a.b)([u.b], Yl.prototype, "OnWhitelistGrab", null),
      Object(a.b)([u.b], Yl.prototype, "OnWhitelistRelease", null),
      Object(a.b)([u.b], Yl.prototype, "OnWhitelistMove", null),
      (Yl = Object(a.b)([m.a], Yl));
    var Zl = n("7+Vq");
    function Jl(e) {
      const {
          saleSection: t,
          fnOnDirty: n,
          children: a,
          language: s,
          strPostSectionToken: o,
          strPostSectionDescToken: l,
        } = e,
        c = Object(r.useCallback)(
          (e) => {
            (t.localized_description = Object(ka.e)(
              t.localized_description || [],
              30,
              null,
            )),
              (t.localized_description[s] = e),
              n();
          },
          [n, s, t],
        ),
        d = Object(r.useCallback)(() => {
          var e;
          return (null === (e = t.localized_description) || void 0 === e
            ? void 0
            : e.length) > s
            ? t.localized_description[s]
            : "";
        }, [s, t.localized_description]),
        u = Object(r.useCallback)(
          (e) => {
            (t.text_section_contents = Object(ka.e)(
              t.text_section_contents || [],
              30,
              null,
            )),
              (t.text_section_contents[s] = e),
              n();
          },
          [n, s, t],
        ),
        m = Object(r.useCallback)(
          () =>
            t.text_section_contents && t.text_section_contents.length > s
              ? t.text_section_contents[s]
              : "",
          [s, t.text_section_contents],
        );
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(
          te.e,
          { onClick: () => Xl(c, d) },
          Object($.f)("#Sale_ReserveEditor_EditTitle"),
        ),
        a,
        Boolean(l) && i.a.createElement("div", null, Object($.f)(l)),
        i.a.createElement(
          te.e,
          { onClick: () => Xl(u, m) },
          Object($.f)(o || "#Sale_ReserveEditor_EditPostTitle"),
        ),
      );
    }
    function Xl(e, t) {
      Object(ze.d)(
        i.a.createElement(
          xe.e,
          {
            bAlertDialog: !0,
            strTitle: Object($.f)("#Sale_ReserveEditor_EditTitle"),
            strDescription: Object($.f)("#Sale_ReserveEditor_EditDesc"),
          },
          i.a.createElement(ut, {
            strPlaceholder: Object($.f)("#Sale_ReserveEditor_EditEnterText"),
            fnGetCurText: t,
            fnOnTextChange: (t) => e(t.currentTarget.value),
            fnSetText: e,
            bSupportHTMLImport: !0,
            bEmbeddedInDialog: !0,
          }),
        ),
        window,
      );
    }
    Object(m.a)((e) => {
      var t, n;
      const { fnOnDirty: a, saleSection: r, event: s } = e,
        o = Object(zt.d)(() => Wl.Get().GetCurEditLanguage());
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("h1", null, Object($.f)("#Sale_ReserveEditor")),
        i.a.createElement(
          Jl,
          { saleSection: r, fnOnDirty: a, language: o },
          i.a.createElement(Yl, {
            items:
              null !==
                (n =
                  null === (t = r.internal_section_data) || void 0 === t
                    ? void 0
                    : t.reservation_options) && void 0 !== n
                ? n
                : [],
            onDelete: (e) => {
              r.internal_section_data.reservation_options.splice(e, 1), a();
            },
            onReorder: a,
            render: (e) =>
              i.a.createElement($l, { event: s, reservation: e, fnOnDirty: a }),
          }),
          i.a.createElement(
            te.e,
            {
              onClick: () => {
                r.internal_section_data.reservation_options ||
                  (r.internal_section_data.reservation_options = []);
                let e = "reservation_" + Math.floor(1e6 * Math.random());
                for (
                  ;
                  r.internal_section_data.reservation_options.find(
                    (t) => t.unique_id == e,
                  );
                )
                  e = "reservation_" + Math.floor(1e6 * Math.random());
                r.internal_section_data.reservation_options.push({
                  unique_id: e,
                  localized_reservation_desc: [],
                }),
                  a();
              },
            },
            Object($.f)("#Sale_ReserveEditor_Add"),
          ),
          i.a.createElement("br", null),
        ),
      );
    });
    const $l = Object(m.a)((e) => {
      var t, n;
      const { reservation: a, fnOnDirty: r, event: s } = e,
        o = Wl.Get().GetCurEditLanguage(),
        [l, c] = Object(Wn.e)(a.reservation_package, {
          include_basic_info: !0,
          include_all_purchase_options: !0,
        }),
        [d, u] = Object(Wn.e)(a.deposit_package, {
          include_basic_info: !0,
          include_all_purchase_options: !0,
        }),
        m = (e) => {
          (a.localized_reservation_desc = Object(ka.e)(
            a.localized_reservation_desc || [],
            30,
            null,
          )),
            (a.localized_reservation_desc[o] = e),
            r();
        },
        p = $.b.GetELanguageFallback(o),
        h =
          a.localized_reservation_desc[o] ||
          a.localized_reservation_desc[p] ||
          "";
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(te.z, {
          type: "number",
          label: Object($.f)("#Sale_ReserveEditor_ReservePack"),
          tooltip: Object($.f)("#Sale_ReserveEditor_ReservePack_ttip"),
          value: null !== (t = a.reservation_package) && void 0 !== t ? t : 0,
          onChange: (e) => {
            (a.reservation_package = Number.parseInt(e.currentTarget.value)),
              r();
          },
        }),
        Boolean(3 == c) &&
          i.a.createElement(
            "div",
            null,
            'Reservation Package Found: "',
            l.GetName(),
            '" Price: ',
            l.GetBestPurchasePriceFormatted(),
          ),
        i.a.createElement(te.z, {
          type: "number",
          label: Object($.f)("#Sale_ReserveEditor_Deposit"),
          tooltip: Object($.f)("#Sale_ReserveEditor_Deposit_ttip"),
          value: null !== (n = a.deposit_package) && void 0 !== n ? n : 0,
          onChange: (e) => {
            (a.deposit_package = Number.parseInt(e.currentTarget.value)), r();
          },
        }),
        Boolean(3 == u) &&
          i.a.createElement(
            "div",
            null,
            'Deposit Package Found: "',
            d.GetName(),
            '" Price: ',
            d.GetBestPurchasePriceFormatted(),
          ),
        i.a.createElement(dh, {
          text: h,
          partnerEventStore: St.b,
          showErrorInfo: !0,
          event: s,
          languageOverride: o,
        }),
        i.a.createElement(
          te.e,
          {
            onClick: () => {
              Object(ze.d)(
                i.a.createElement(
                  xe.e,
                  {
                    bAlertDialog: !0,
                    strTitle: Object($.f)("#Sale_ReserveEditor_EditTitle"),
                    strDescription: Object($.f)("#Sale_ReserveEditor_EditDesc"),
                  },
                  i.a.createElement(ut, {
                    strPlaceholder: "Enter Item Description",
                    fnGetCurText: () =>
                      a.localized_reservation_desc &&
                      a.localized_reservation_desc.length > o
                        ? a.localized_reservation_desc[o]
                        : "",
                    fnOnTextChange: (e) => m(e.currentTarget.value),
                    fnSetText: m,
                    bSupportHTMLImport: !0,
                    bEmbeddedInDialog: !0,
                  }),
                ),
                window,
              );
            },
          },
          Object($.f)("#Sale_ReserveEditor_EditTitle"),
        ),
      );
    });
    const ec = (e) => {
        var t;
        const {
            myReserveState: n,
            fnSetTestReservationState: a,
            closeModal: r,
          } = e,
          [s, l] = i.a.useState(0),
          c = (function () {
            const [e, t] = i.a.useState(null);
            return (
              i.a.useEffect(() => {
                const e = o.c.STORE_BASE_URL + "reservation/ajaxpreviewoptions";
                F.a.get(e, { withCredentials: !0 }).then((e) => {
                  var n;
                  1 ==
                    (null === (n = null == e ? void 0 : e.data) || void 0 === n
                      ? void 0
                      : n.success) &&
                    e.data.data &&
                    t(e.data.data);
                });
              }, []),
              e
            );
          })();
        return i.a.createElement(
          xe.e,
          {
            strTitle: "Reservation Preview Testing",
            strDescription:
              "Change the settings to preview the reservation display in various state that users may see",
            onOK: () => {
              a(s), r();
            },
            onCancel: r,
          },
          Boolean(!n || !n.bLoaded || !c)
            ? i.a.createElement(ee.a, {
                size: "medium",
                position: "center",
                string: Object($.f)("#Loading"),
              })
            : i.a.createElement(
                i.a.Fragment,
                null,
                0 ==
                  (null === (t = n.rgReservationPackageInfo) || void 0 === t
                    ? void 0
                    : t.length)
                  ? i.a.createElement(
                      "div",
                      null,
                      "Reservation Packages not setup or visible; required for previewing",
                    )
                  : i.a.createElement(te.m, {
                      strDropDownClassName: Fe.a.DropDownScroll,
                      rgOptions: c,
                      selectedOption: s,
                      onChange: (e) => l(e.data),
                    }),
              ),
        );
      },
      tc = (e) => {
        var t;
        const { section: n, language: a, event: s, bIsPreview: l } = e,
          [c, d] = i.a.useState(null),
          u = n.internal_section_data.reservation_options,
          m = (function (e, t, n, a) {
            const [i, s] = Object(r.useState)(
              Hl.Get().GetMyReservationState(t, n, a),
            );
            return (
              Object(r.useEffect)(() => {
                Hl.Get().LoadUserReservationState(e, t, n, a).then(s);
              }, [e, t, n, a]),
              Hl.Get().GetMyReservationState(t, n, a)
            );
          })(
            l,
            u.map((e) => e.reservation_package),
            u.map((e) => e.deposit_package),
            c,
          ),
          p = Object(ea.c)(),
          _ = Object(Jt.c)(p),
          g = $.b.GetELanguageFallback(a),
          b = n.localized_description
            ? n.localized_description[a] || n.localized_description[g] || ""
            : void 0,
          f = n.text_section_contents
            ? n.text_section_contents[a] || n.text_section_contents[g] || ""
            : void 0;
        let S = null;
        return (
          m &&
            (m.bAllowedToReserve ||
              (S = Object($.f)("#Sale_Reservation_NotAllowedAccount")),
            (null === (t = m.rgDepositPackageInfo) || void 0 === t
              ? void 0
              : t.length) > 0 &&
              0 == m.rgDepositPackageInfo.filter((e) => e.bVisible).length &&
              (S = Object($.f)("#Sale_Reservation_NotAvailableCountry")),
            m.strReservationMessage && (S = m.strReservationMessage)),
          i.a.createElement(
            i.a.Fragment,
            null,
            Boolean(l && "community" == Object(o.f)()) &&
              i.a.createElement(
                "div",
                { className: Zl.CommunityPreviewReservationWidgetControl },
                i.a.createElement(
                  te.e,
                  {
                    onClick: (e) => {
                      Object(ze.d)(
                        i.a.createElement(ec, {
                          myReserveState: m,
                          fnSetTestReservationState: d,
                        }),
                        Object(v.o)(e),
                      );
                    },
                  },
                  "Preview Mode Only: Test Reservation States",
                ),
              ),
            i.a.createElement(
              ea.b,
              { feature: "salereservations" },
              i.a.createElement(
                er.a,
                {
                  placeholderHeight: "100vh",
                  rootMargin: es,
                  className: Object(h.a)(
                    ks.SaleSection,
                    os.a.SaleSectionCtn,
                    "ReservationCustomCSS",
                  ),
                  style: $s(n, s),
                },
                i.a.createElement(Zs, { section: n, event: s, language: a }),
                i.a.createElement(Pt.c, {
                  snr: _,
                  appID: m.unReserveAppID,
                  classOverride: Object(h.a)(
                    cs.a.WishlistButtonNotTop,
                    "WishlistButton",
                  ),
                }),
                Boolean(b) &&
                  i.a.createElement(
                    "div",
                    { className: Zl.description },
                    i.a.createElement(dh, {
                      text: b,
                      partnerEventStore: St.b,
                      showErrorInfo: l,
                      event: s,
                      languageOverride: a,
                    }),
                  ),
                Boolean(!m || !m.bLoaded)
                  ? i.a.createElement(ee.a, {
                      size: "medium",
                      position: "center",
                      string: Object($.f)("#Loading"),
                    })
                  : i.a.createElement(
                      i.a.Fragment,
                      null,
                      i.a.createElement(nc, {
                        section: n,
                        event: s,
                        language: a,
                        bIsPreview: l,
                        myReserveState: m,
                        disabled: Boolean(S),
                      }),
                      Boolean(S) &&
                        i.a.createElement(
                          "div",
                          { className: Zl.noreserve },
                          S,
                          " ",
                        ),
                    ),
                Boolean(f) &&
                  i.a.createElement(
                    "div",
                    { className: Zl.description2 },
                    i.a.createElement(dh, {
                      text: f,
                      partnerEventStore: St.b,
                      showErrorInfo: l,
                      event: s,
                      languageOverride: a,
                    }),
                  ),
              ),
            ),
          )
        );
      },
      nc = (e) => {
        const { section: t, myReserveState: n } = e,
          a = t.internal_section_data.reservation_options;
        return n.oReservationStatus ==
          zl.k_EPurchaseReservationState_CancelPendingRefund
          ? i.a.createElement(
              "div",
              { className: Zl.noreserve },
              Object($.f)("#Sale_Reservation_CanceledPendingRefund"),
            )
          : i.a.createElement(
              "div",
              { className: Zl.options },
              a.map((t) =>
                i.a.createElement(
                  ac,
                  Object.assign(
                    {
                      key: t.unique_id,
                      reservationDef: t,
                      oDepositPackageInfo: n.rgDepositPackageInfo.find(
                        (e) => e.unPackageID == t.deposit_package,
                      ),
                      oReservationInfo: n.rgReservationPackageInfo.find(
                        (e) => e.unPackageID == t.reservation_package,
                      ),
                    },
                    e,
                  ),
                ),
              ),
            );
      },
      ac = (e) => {
        var t;
        const {
            reservationDef: n,
            language: a,
            event: r,
            bIsPreview: s,
            myReserveState: o,
            oDepositPackageInfo: l,
            disabled: c,
          } = e,
          d = $.b.GetELanguageFallback(a),
          u =
            n.localized_reservation_desc[a] ||
            n.localized_reservation_desc[d] ||
            "",
          m = o.rgDepositPackageInfo.some((e) =>
            Boolean(e.strLocalizedMessage),
          ),
          p =
            (null == o ? void 0 : o.bAlreadyReserved) &&
            (null == o ? void 0 : o.nReservationPackage) ==
              n.reservation_package;
        return i.a.createElement(
          "div",
          { className: Zl.j1 },
          i.a.createElement(
            "div",
            { className: Zl.reservecopy },
            i.a.createElement(dh, {
              text: u,
              partnerEventStore: St.b,
              showErrorInfo: s,
              event: r,
              languageOverride: a,
            }),
          ),
          i.a.createElement(lc, {
            reservationDef: n,
            myReserveState: o,
            oDepositPackageInfo: l,
            disabled: c,
          }),
          Boolean(m) &&
            i.a.createElement(
              "div",
              { className: Zl.expecteddate },
              Boolean(
                (null === (t = l.strLocalizedMessage) || void 0 === t
                  ? void 0
                  : t.trim().length) > 0,
              )
                ? i.a.createElement(
                    i.a.Fragment,
                    null,
                    i.a.createElement(
                      "div",
                      { className: Zl.expecteddate_str },
                      Object($.f)(
                        p
                          ? "#Sale_Reservation_YourExpectedDate"
                          : "#Sale_Reservation_ExpectedDate",
                      ),
                    ),
                    l.strLocalizedMessage,
                  )
                : i.a.createElement("span", null, " "),
            ),
        );
      };
    function rc(e) {
      const { disabled: t } = e;
      return i.a.createElement(
        te.e,
        {
          onClick: (e) => {
            Object(ze.d)(
              i.a.createElement(xe.e, {
                strTitle: Object($.f)("#Sale_CancelReservation"),
                strDescription: Object($.f)(
                  "#Sale_Reservation_CancelAreYouSure",
                ),
                onOK: () => {
                  Hl.Get()
                    .CancelUserReservation()
                    .finally(() => window.location.reload());
                },
              }),
              Object(v.o)(e),
            );
          },
          disabled: t,
        },
        Object($.f)("#Sale_CancelReservation"),
      );
    }
    function ic(e) {
      const {
        oDepositPackageInfo: t,
        reservationDef: n,
        myReserveState: a,
        disabled: r,
      } = e;
      return n.reservation_package != a.nReservationPackage
        ? null
        : i.a.createElement(
            "div",
            { className: Zl.reserverowReserved },
            i.a.createElement(
              "div",
              { className: Zl.alreadyreserved },
              Object($.o)(
                "#Sale_AlreadyReserved",
                i.a.createElement(Ra.a, {
                  bSingleLine: !0,
                  dateAndTime: a.rtReserveTime,
                  bOnlyDate: !0,
                }),
              ),
            ),
            i.a.createElement(rc, Object.assign({}, e)),
          );
    }
    function sc(e) {
      const { reservationDef: t, myReserveState: n, disabled: a } = e,
        r = Object(ea.c)();
      if (t.reservation_package != n.nAllocatedReservationPackage) return null;
      const s = (e) => {
        const t = `${o.c.STORE_BASE_URL}cart`,
          a = `${o.c.STORE_BASE_URL}cart/addtocart`,
          i = Object(Jt.c)(r);
        It.a.Get().AddToCart(e, n.nAllocatedReservationPackage, a, t, i);
      };
      return Bt.b.GetTimeNowWithOverride() < n.rtAllocationExpires
        ? i.a.createElement(
            "div",
            { className: Zl.reserverowReserved },
            i.a.createElement(
              "div",
              { className: Zl.alreadyreserved },
              i.a.createElement(
                "div",
                null,
                Object($.f)("#Sale_Reservation_CompleteBy"),
              ),
              i.a.createElement(Ra.a, {
                dateAndTime: n.rtAllocationExpires,
                bOnlyDate: !0,
              }),
              i.a.createElement(
                "div",
                null,
                Object($.f)("#Sale_Reservation_CancelAuto"),
              ),
            ),
            i.a.createElement(
              te.e,
              { onClick: s, disabled: a },
              Object($.f)("#Sale_Reservation_CompletePurchase"),
            ),
            i.a.createElement(rc, Object.assign({}, e)),
          )
        : i.a.createElement(
            "div",
            { className: Zl.reserverowReserved },
            i.a.createElement(
              "div",
              { className: Zl.alreadyreserved },
              i.a.createElement(
                "div",
                null,
                Object($.f)("#Sale_Reservation_Expired"),
              ),
            ),
            i.a.createElement(rc, Object.assign({}, e)),
          );
    }
    function oc(e) {
      const {
          oDepositPackageInfo: t,
          reservationDef: n,
          myReserveState: a,
          disabled: r,
        } = e,
        s = Object(ea.c)(),
        l = !(null == t ? void 0 : t.bVisible),
        c = !r && (null == t ? void 0 : t.bVisible) && !t.bPurchaseable;
      return i.a.createElement(
        "div",
        { className: Zl.reserverow },
        i.a.createElement(
          te.e,
          {
            onClick: (e) => {
              const t = `${o.c.STORE_BASE_URL}cart`,
                a = `${o.c.STORE_BASE_URL}cart/addtocart`,
                r = Object(Jt.c)(s);
              It.a.Get().AddToCart(e, n.deposit_package, a, t, r);
            },
            className: Zl.reservebutton,
            disabled: l || c || r,
          },
          Object($.f)(
            c ? "#Sale_ReserveExhausted" : "#Sale_ReserveNow",
            (null == t ? void 0 : t.strFormattedFinalPrice) || "",
          ),
        ),
      );
    }
    const lc = (e) => {
      const {
        oDepositPackageInfo: t,
        reservationDef: n,
        myReserveState: a,
        disabled: r,
      } = e;
      if (!o.j.logged_in || a.bFakeUserLoggedOut)
        return i.a.createElement(
          "div",
          { className: Zl.reserverow },
          i.a.createElement(
            te.e,
            { onClick: Nr.a },
            Object($.f)("#SalePage_LoginReservationPrompt"),
          ),
        );
      switch (a.oReservationStatus) {
        case zl.k_EPurchaseReservationState_Reserved:
          return i.a.createElement(ic, Object.assign({}, e));
        case zl.k_EPurchaseReservationState_Allocated:
          return i.a.createElement(sc, Object.assign({}, e));
        case zl.k_EPurchaseReservationState_CancelPendingRefund:
        case zl.k_EPurchaseReservationState_NotReserved:
        case zl.k_EPurchaseReservationState_Consumed:
        case zl.k_EPurchaseReservationState_Cancelled:
        default:
          return i.a.createElement(oc, Object.assign({}, e));
      }
    };
    class cc {
      constructor() {
        (this.m_mySummary = { points: 0, points_earned: 0, points_spent: 0 }),
          (this.m_bLoaded = !1);
      }
      LazyInit() {
        if (!this.m_bLoaded) {
          let e = Object(o.g)("points", "application_config");
          this.ValidateStoreDefault(e) &&
            Object(L.G)(() => {
              (this.m_mySummary.points = e.points),
                (this.m_mySummary.points_earned = e.points_earned),
                (this.m_mySummary.points_spent = e.points_spent),
                (this.m_bLoaded = !0);
            });
        }
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !(!t || "object" != typeof t) &&
          "number" == typeof t.points && "number" == typeof t.points_earned &&
          "number" == typeof t.points_spent
        );
      }
      LoadSaleTokenPoints() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if ((this.LazyInit(), !this.m_bLoaded && o.j.logged_in)) {
            let e =
              o.c.STORE_BASE_URL + "lunarnewyearmarket/ajaxgettokensummary";
            const t = yield F.a.get(e, { withCredentials: !0 });
            Object(L.G)(() => {
              (this.m_mySummary.points = t.data.summary.points),
                (this.m_mySummary.points_earned = t.data.summary.points_earned),
                (this.m_mySummary.points_spent = t.data.summary.points_spent),
                (this.m_bLoaded = !0);
            });
          }
          return this.m_mySummary;
        });
      }
      ForceReloadSaleTokenPoints() {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (this.m_bLoaded = !1), this.LoadSaleTokenPoints();
        });
      }
      AddPoints(e) {
        (this.m_mySummary.points += e), (this.m_mySummary.points_earned += e);
      }
      GetSaleTokenPoints() {
        return this.m_mySummary;
      }
    }
    Object(a.b)([L.C], cc.prototype, "m_mySummary", void 0);
    const dc = new cc();
    window.g_SaleTokenPointStore = dc;
    let uc = class extends r.Component {
      componentDidMount() {
        gn.Get().GetRawDoorData() || gn.Get().LoadDoorData(),
          dc.LoadSaleTokenPoints();
      }
      render() {
        const e = gn.Get().GetRawDoorData();
        if (!e) return null;
        const t = e.length - 1,
          n = Bt.b.GetTimeNowWithOverride() > e[t].rtime_start,
          a = [];
        for (let e = 0; e <= t; e++)
          a.push(
            r.createElement(pc, {
              key: `envelope-${e}`,
              iDoorIndex: e,
              strFontFamily: this.props.strFontFamily,
            }),
          );
        const i = dc.GetSaleTokenPoints().points;
        return r.createElement(
          nt.a,
          null,
          r.createElement(
            "div",
            { className: jl.a.LunarNewYearHeader },
            r.createElement(
              "div",
              { className: jl.a.EnvelopeArea },
              i >= 0 &&
                r.createElement(
                  "div",
                  { className: jl.a.TokenBalanceContainer },
                  Object($.f)("#Lunar2020_YourBalancePrefix"),
                  r.createElement(
                    "a",
                    {
                      className: jl.a.TokenBalance,
                      href: o.c.STORE_BASE_URL + "lunarnewyearmarket",
                    },
                    " ",
                    Object($.f)("#Lunar2020_BalanceNumberOfTokens", i),
                    " ",
                  ),
                ),
              a,
            ),
            !n &&
              r.createElement(
                "div",
                { className: jl.a.BottomMessage },
                Object($.f)("#Lunar2020_CheckBackEachDay"),
              ),
          ),
        );
      }
    };
    uc = Object(a.b)([m.a], uc);
    const mc = [
      "#Lunar2020_FirstGift",
      "#Lunar2020_SecondGift",
      "#Lunar2020_ThirdGift",
      "#Lunar2020_FourthGift",
    ];
    let pc = class extends r.Component {
      OpenEnvelope(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = gn.Get().BIsDoorOpened(this.props.iDoorIndex),
            n = Object(v.o)(e);
          if (t)
            return void Object(ze.b)(
              r.createElement(
                gc,
                Object.assign({ bIsFirstOpen: !1 }, this.props),
              ),
              n,
            );
          (yield gn.Get().OpenDoor(this.props.iDoorIndex, !0)) &&
            Object(ze.b)(
              r.createElement(
                gc,
                Object.assign({ bIsFirstOpen: !0 }, this.props),
              ),
              n,
            );
        });
      }
      ShowLimitedUserDialog(e) {
        const t = Object(v.o)(e),
          n = r.createElement(
            "a",
            { href: o.c.HELP_BASE_URL },
            Object($.f)("#User_LimitedAccount_UrlInfo"),
          );
        Object(ze.b)(
          r.createElement(xe.e, {
            strTitle: Object($.f)("#Lunar2020_LimitedUserDialogTitle"),
            strDescription: Object($.o)("#User_LimitedAccount", n),
            bAlertDialog: !0,
          }),
          t,
        );
      }
      VOOnClose() {
        o.j.is_support && gn.Get().OpenDoor(this.props.iDoorIndex, !1);
      }
      render() {
        const { iDoorIndex: e, strFontFamily: t } = this.props;
        Object(l.a)(
          e >= 0 && e < mc.length && e < gn.Get().GetDoorCount(),
          `Day index #${e} not in valid range.`,
        );
        const n = Object($.f)(mc[e]),
          a = !o.j.logged_in,
          i = gn.Get().BIsDoorOpened(e),
          s = gn.Get().BCanUserOpenDoor(e);
        let c = !0;
        for (let t = 0; t < e; t++) c = c && gn.Get().BIsDoorOpened(t);
        const d = !i && s && c,
          u = new Date(1e3 * gn.Get().GetRawDoorData()[e].rtime_start),
          m = a
            ? Object($.f)("#Login_SignIn")
            : i
              ? Object($.f)("#Lunar2020_RereadStory")
              : d
                ? Object($.f)("#Lunar2020_GiftCanBeOpenedNow")
                : s
                  ? Object($.f)("#Lunar2020_GiftCanBeOpenedAfterThePreviousOne")
                  : Object($.f)(
                      "#Lunar2020_GiftLockedUntilDate",
                      u.toLocaleDateString($.e.GetPreferredLocales(), {
                        month: "numeric",
                        day: "numeric",
                      }),
                    ),
          p = a
            ? Nr.a
            : o.j.is_limited
              ? this.ShowLimitedUserDialog
              : i || d
                ? this.OpenEnvelope
                : null,
          _ = Object(h.a)(
            jl.a.EnvelopeContainer,
            a && jl.a.NeedLogin,
            i && jl.a.Opened,
            d && jl.a.Unlocked,
            !i && !d && jl.a.Locked,
          );
        return r.createElement(
          "div",
          { className: _ },
          r.createElement("div", { className: jl.a.BackingRect }),
          r.createElement(
            "div",
            { className: jl.a.Envelope },
            r.createElement(
              "div",
              { className: jl.a.GiftLabel, style: { fontFamily: t } },
              n,
            ),
          ),
          r.createElement("div", { className: jl.a.OpenState, onClick: p }, m),
          (o.j.is_support &&
            i &&
            ("beta" == o.c.WEB_UNIVERSE || "dev" == o.c.WEB_UNIVERSE) &&
            r.createElement(
              "div",
              {
                className: Object(h.a)(jl.a.OpenState, jl.a.VO),
                onClick: this.VOOnClose,
              },
              "(VO) Close Gift",
            )) ||
            null,
        );
      }
    };
    Object(a.b)([u.b], pc.prototype, "OpenEnvelope", null),
      Object(a.b)([u.b], pc.prototype, "ShowLimitedUserDialog", null),
      Object(a.b)([u.b], pc.prototype, "VOOnClose", null),
      (pc = Object(a.b)([m.a], pc));
    const hc = [
        "#Lunar2020_StoryDayOneHeader",
        "#Lunar2020_StoryDayTwoHeader",
        "#Lunar2020_StoryDayThreeHeader",
        "#Lunar2020_StoryDayFourHeader",
      ],
      _c = [
        "#Lunar2020_StoryDayOne",
        "#Lunar2020_StoryDayTwo",
        "#Lunar2020_StoryDayThree",
        "#Lunar2020_StoryDayFour",
      ],
      gc = (e) => {
        const [t, n] = r.useState(!e.bIsFirstOpen);
        r.useEffect(() => n(!0), []);
        const a = `${o.c.MEDIA_CDN_URL}store/promo/lunar2020/red_envelope_2020.mp4${e.bIsFirstOpen ? "" : "#t=5,6"}`,
          i = `${o.c.MEDIA_CDN_URL}store/promo/lunar2020/red_envelope_2020.webm${e.bIsFirstOpen ? "" : "#t=5,6"}`,
          s = e.iDoorIndex == gn.Get().GetDoorCount() - 1;
        return r.createElement(
          xe.f,
          {
            className: jl.a.LunarNewYearOpenEnvelopeVideoDialog,
            closeModal: e.closeModal,
          },
          r.createElement(
            "div",
            { className: jl.a.Container },
            r.createElement(
              "div",
              { className: jl.a.Column },
              r.createElement(
                "div",
                { className: jl.a.StoryHeader },
                Object($.f)("#Lunar2020_StoryTitle"),
              ),
              r.createElement(
                "div",
                { className: jl.a.StorySubHeader },
                Object($.f)("#Lunar2020_StorySubTitle"),
              ),
              r.createElement(
                "div",
                { className: jl.a.StorySubHeader },
                Object($.f)(hc[e.iDoorIndex]),
              ),
              r.createElement(
                "div",
                { className: jl.a.StoryText },
                Object($.f)(_c[e.iDoorIndex]),
              ),
              r.createElement(
                "div",
                { className: jl.a.VideoBox },
                r.createElement(
                  "div",
                  { className: Object(h.a)(jl.a.CoinText, t && jl.a.Visible) },
                  Object($.f)("#Lunar2020_ReceivedNumberOfTokens", 100),
                ),
                r.createElement(
                  "video",
                  {
                    autoPlay: e.bIsFirstOpen,
                    muted: !0,
                    className: jl.a.LunarNewYearOpenEnvelopeVideo,
                  },
                  r.createElement("source", { src: a, type: "video/mp4" }),
                  r.createElement("source", { src: i, type: "video/webm" }),
                  Object($.f)("#Lunar2020_ErrorLoadingVideo"),
                ),
              ),
            ),
            r.createElement(
              "div",
              { className: jl.a.Column },
              r.createElement(
                "div",
                { className: jl.a.StoryPicture },
                r.createElement("img", {
                  src: cn.Get().GetStoryImage(e.iDoorIndex),
                }),
              ),
              !s &&
                r.createElement(
                  "div",
                  { className: jl.a.CheckBackText },
                  Object($.f)("#Lunar2020_CheckBackEachDayForStory"),
                ),
            ),
          ),
          r.createElement(
            "div",
            { className: jl.a.Links },
            r.createElement(
              "div",
              { className: jl.a.MarketLink },
              r.createElement(
                "a",
                { href: o.c.STORE_BASE_URL + "lunarnewyearmarket" },
                Object($.f)("#Lunar2020_LinkFromVideoToMarket"),
              ),
            ),
            r.createElement(
              "div",
              { className: jl.a.MarketLink, onClick: e.closeModal },
              Object($.f)("#Lunar2020_LinkBackToSale"),
            ),
          ),
        );
      };
    n("6FYJ"), n("xdsl");
    var bc = n("qMJO");
    function fc(e) {
      var t, n, a, s, l, c, d, u, m, p, _;
      const { bIsPreview: g, event: b, section: f, language: v } = e,
        S = $.b.GetELanguageFallback(v),
        y = Object(zt.d)(() => {
          var e;
          return Boolean(
            null === (e = f.quiz) || void 0 === e
              ? void 0
              : e.track_with_cozy_cottage_doors,
          );
        }),
        [E, C] = Object(r.useState)(
          y && gn.Get().BIsAnyDoorOpened()
            ? gn.Get().GetLargestDoorOpenIndex() + 1
            : 0,
        ),
        w = Object(r.useCallback)(
          (e) => {
            y && gn.Get().OpenDoor(e - 1), C(e);
          },
          [y],
        );
      Object(r.useEffect)(() => {
        y &&
          !gn.Get().BIsInitialized() &&
          gn
            .Get()
            .LoadDoorData()
            .then(() => {
              gn.Get().BIsAnyDoorOpened() &&
                C(gn.Get().GetLargestDoorOpenIndex() + 1);
            });
      }, [y]);
      const B =
          (null === (t = f.localized_description) || void 0 === t
            ? void 0
            : t.length) > 0
            ? f.localized_description[v] || f.localized_description[S] || ""
            : void 0,
        O =
          (null === (n = f.text_section_contents) || void 0 === n
            ? void 0
            : n.length) > 0
            ? f.text_section_contents[v] || f.text_section_contents[S] || ""
            : void 0,
        D = Object(zt.d)(() => {
          var e;
          return null === (e = f.quiz) || void 0 === e
            ? void 0
            : e.incremental_reveal;
        }),
        I = Object(r.useMemo)(() => {
          var e;
          const t =
            (null === (e = f.quiz) || void 0 === e ? void 0 : e.questions) ||
            [];
          return !o.j.logged_in && (null == t ? void 0 : t.length) > 0
            ? [t[0]]
            : D
              ? t.slice(0, E + 1)
              : t;
        }, [
          D,
          E,
          null === (a = null == f ? void 0 : f.quiz) || void 0 === a
            ? void 0
            : a.questions,
        ]),
        T =
          D &&
          Boolean(
            null === (s = f.quiz) || void 0 === s
              ? void 0
              : s.last_revealed_footer_img_url,
          ) &&
          (Boolean(O)
            ? E <
              (null ===
                (c =
                  null === (l = f.quiz) || void 0 === l
                    ? void 0
                    : l.questions) || void 0 === c
                ? void 0
                : c.length)
            : E + 1 <
              (null ===
                (u =
                  null === (d = f.quiz) || void 0 === d
                    ? void 0
                    : d.questions) || void 0 === u
                ? void 0
                : u.length)),
        R = Object(r.useMemo)(
          () =>
            T
              ? Object(Rt.g)(
                  f.quiz.last_revealed_footer_img_url.replace(
                    he.e,
                    o.c.MEDIA_CDN_COMMUNITY_URL + "images/clans/",
                  ),
                )
              : null,
          [
            T,
            null === (m = f.quiz) || void 0 === m
              ? void 0
              : m.last_revealed_footer_img_url,
          ],
        ),
        j =
          O &&
          E >=
            (null ===
              (_ =
                null === (p = f.quiz) || void 0 === p ? void 0 : p.questions) ||
            void 0 === _
              ? void 0
              : _.length);
      return i.a.createElement(
        ea.b,
        { feature: "salequiz" },
        i.a.createElement(
          er.a,
          {
            placeholderHeight: "100vh",
            rootMargin: es,
            className: Object(h.a)(
              ks.SaleSection,
              os.a.SaleSectionCtn,
              "SaleQuizCSS",
            ),
            style: $s(f, b),
          },
          i.a.createElement(Zs, { section: f, event: b, language: v }),
          Boolean(B) &&
            i.a.createElement(
              "div",
              { className: bc.description },
              i.a.createElement(dh, {
                text: B,
                partnerEventStore: St.b,
                showErrorInfo: g,
                event: b,
                languageOverride: v,
              }),
            ),
          I.map((e, t) => {
            var n;
            return i.a.createElement(vc, {
              key: e.unique_id,
              index: t,
              question: e,
              language: v,
              bIsPreview: g,
              event: b,
              defaultWrongAnswerVideo:
                null === (n = f.quiz) || void 0 === n
                  ? void 0
                  : n.associated_video,
              bTrackWithCozyCottageDoors: y,
              fnCorrectlyAnswered: w,
            });
          }),
          T &&
            i.a.createElement("img", {
              className: bc.RevealFooterImage,
              src: R,
            }),
          Boolean(j) &&
            i.a.createElement(
              "div",
              { className: bc.description2 },
              i.a.createElement(dh, {
                text: O,
                partnerEventStore: St.b,
                showErrorInfo: g,
                event: b,
                languageOverride: v,
              }),
            ),
        ),
      );
    }
    function vc(e) {
      var t;
      const { question: n, language: a, bIsPreview: r, event: s, index: l } = e,
        c = $.b.GetELanguageFallback(a),
        d =
          (null === (t = n.localized_question) || void 0 === t
            ? void 0
            : t.length) > 0
            ? n.localized_question[a] || n.localized_question[c] || ""
            : void 0,
        [u, m] = Object(zt.d)(() => [
          n.background_gradient_bottom,
          n.background_gradient_top,
        ]),
        p = `linear-gradient(0deg, ${u || "transparent"} 0%, ${m || "transparent"} 100%)`;
      return i.a.createElement(
        "div",
        { className: bc.questionCtn, style: { background: p } },
        i.a.createElement(
          te.C,
          null,
          Object($.f)("#SalePage_Question", (l + 1).toLocaleString()),
        ),
        i.a.createElement(Ec, {
          videoDef: n.associated_video,
          bAutoPlay: !1,
          language: a,
        }),
        i.a.createElement(dh, {
          text: d,
          partnerEventStore: St.b,
          showErrorInfo: r,
          event: s,
          languageOverride: a,
        }),
        Boolean(o.j.logged_in)
          ? i.a.createElement(Sc, Object.assign({}, e))
          : i.a.createElement(
              Ct.a,
              { className: ks.SaleSectionLoginPrompt },
              Object($.f)("#SalePage_Quiz_LoginPrompt"),
              i.a.createElement("br", null),
              i.a.createElement(
                "button",
                { onClick: Nr.a, className: ks.LoginButton },
                Object($.f)("#Login_SignIn"),
              ),
            ),
      );
    }
    function Sc(e) {
      var t, n, a, s, o, l;
      const {
          index: c,
          question: d,
          bTrackWithCozyCottageDoors: u,
          language: m,
          bIsPreview: p,
          event: h,
          fnCorrectlyAnswered: _,
          defaultWrongAnswerVideo: g,
        } = e,
        [b, f] = Object(r.useState)(!1),
        v = Object(r.useMemo)(() => {
          const e = [...d.answers];
          return Object(ka.f)(e), e;
        }, [d.answers]),
        [S, y] = Object(r.useState)(
          u && gn.Get().BIsDoorOpened(c)
            ? v.indexOf(v.find((e) => e.correct))
            : void 0,
        ),
        [E, C] = Object(r.useState)(u && gn.Get().BIsDoorOpened(c) && S >= 0),
        w = v.map((e, t) =>
          i.a.createElement(
            i.a.Fragment,
            { key: e.unique_id },
            i.a.createElement(te.I, {
              checked: t === S,
              onChange: () => y(t == S ? null : t),
              disabled: t === S,
              label: i.a.createElement(yc, {
                answer: e,
                language: m,
                bIsPreview: p,
                event: h,
              }),
            }),
            i.a.createElement("div", { className: Fe.a.Clear }),
          ),
        );
      return E
        ? v[S].correct
          ? i.a.createElement(
              "div",
              { className: bc.CorrectCtn },
              i.a.createElement(te.C, null, Object($.f)("#SalePage_Correct")),
              w[S],
              i.a.createElement(Ec, {
                videoDef: v[S].associated_video,
                bAutoPlay: b,
                language: m,
              }),
            )
          : i.a.createElement(
              "div",
              { className: bc.WrongCtn },
              i.a.createElement(te.C, null, Object($.f)("#SalePage_Wrong")),
              w[S],
              i.a.createElement(Ec, {
                videoDef:
                  (null ===
                    (a =
                      null ===
                        (n =
                          null === (t = v[S].associated_video) || void 0 === t
                            ? void 0
                            : t.video_info) || void 0 === n
                        ? void 0
                        : n.mp4_url) || void 0 === a
                    ? void 0
                    : a.trim().length) > 0 &&
                  (null ===
                    (l =
                      null ===
                        (o =
                          null === (s = v[S].associated_video) || void 0 === s
                            ? void 0
                            : s.video_info) || void 0 === o
                        ? void 0
                        : o.webm_url) || void 0 === l
                    ? void 0
                    : l.trim().length) > 0
                    ? v[S].associated_video
                    : g,
                bAutoPlay: b,
                language: m,
              }),
              i.a.createElement(
                te.e,
                {
                  onClick: () => {
                    C(!1), y(null);
                  },
                },
                Object($.f)("#SalePage_TryAgain"),
              ),
            )
        : i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(te.C, null, Object($.f)("#SalePage_Answers")),
            i.a.createElement("div", { className: bc.answerBox }, w),
            i.a.createElement(
              te.e,
              {
                disabled: null == S,
                onClick: () => {
                  C(!0), f(!0), v[S].correct && _(c + 1);
                },
              },
              Object($.f)("#Button_Submit"),
            ),
          );
    }
    function yc(e) {
      var t;
      const { answer: n, language: a, bIsPreview: r, event: s } = e,
        o = $.b.GetELanguageFallback(a),
        l =
          (null === (t = n.localized_answer) || void 0 === t
            ? void 0
            : t.length) > 0
            ? n.localized_answer[a] || n.localized_answer[o] || ""
            : void 0;
      return l
        ? i.a.createElement(
            "div",
            { className: bc.answerCtn },
            i.a.createElement(dh, {
              text: l,
              partnerEventStore: St.b,
              showErrorInfo: r,
              event: s,
              languageOverride: a,
            }),
          )
        : null;
    }
    function Ec(e) {
      const { videoDef: t, language: n, bAutoPlay: a } = e,
        s = Object(r.useMemo)(() => {
          var e, a;
          if (!t || !t.video_info || !t.video_info.webm_url) return null;
          const r = $.b.GetELanguageFallback(n),
            i =
              (null === (e = t.localized_poster_url) || void 0 === e
                ? void 0
                : e.length) > 0
                ? t.localized_poster_url[n] || t.localized_poster_url[r] || ""
                : void 0,
            s = new Array(),
            l = Object(le.g)(o.c.LANGUAGE);
          return (
            null === (a = t.video_info.timedtext_url) ||
              void 0 === a ||
              a.forEach((e, n) => {
                e &&
                  s.push({
                    sURL: Object(Rt.g)(e),
                    eLanguage: n,
                    bDefault: l == n,
                    sKind: t.video_info.timedtext_kind,
                  });
              }),
            {
              sPoster: i,
              rgVideoSources: [
                {
                  sURL: Object(Rt.g)(t.video_info.webm_url),
                  sFormat: "video/webm",
                },
                {
                  sURL: Object(Rt.g)(t.video_info.mp4_url),
                  sFormat: "video/mp4",
                },
              ],
              rgVideoTracks: s,
            }
          );
        }, [n, t]);
      return s
        ? i.a.createElement(io.a, {
            video: s,
            bAutoPlay: a,
            bControls: !0,
            bLoop: !1,
          })
        : null;
    }
    var Cc = n("Qw28");
    class wc {
      constructor() {
        (this.m_mapAnnounceGIDToTrack = new Map()),
          (this.m_mapAnnounceGIDToSaleClanID = new Map()),
          (this.m_mapEventGIDToTrack = new Map());
      }
      static Get() {
        return wc.s_singleton || (wc.s_singleton = new wc()), wc.s_singleton;
      }
      AddAllScheduleTrack(e, t) {
        t &&
          t.forEach((t) => {
            t.events.forEach((n) => {
              this.m_mapAnnounceGIDToTrack.set(n.announcement_gid, t),
                this.m_mapAnnounceGIDToSaleClanID.set(
                  n.announcement_gid,
                  e.clanSteamID.GetAccountID(),
                ),
                this.m_mapEventGIDToTrack.set(n.event_gid, t);
            });
          });
      }
      GetScheduleTrackByEvent(e) {
        return this.m_mapAnnounceGIDToTrack.get(e.AnnouncementGID);
      }
      GetBrandingImageURLByEvent(e) {
        const t = this.GetScheduleTrackByEvent(e);
        if (t && t.localized_track_image) {
          const n = Object(le.g)(o.c.LANGUAGE),
            a = $.a.GetWithFallback(t.localized_track_image, n),
            r = this.m_mapAnnounceGIDToSaleClanID.get(e.AnnouncementGID);
          return o.c.MEDIA_CDN_COMMUNITY_URL + `images/clans/${r}/${a}`;
        }
      }
      BHasTracks() {
        return (
          this.m_mapAnnounceGIDToTrack.size > 0 &&
          this.m_mapAnnounceGIDToSaleClanID.size > 0
        );
      }
      BIsPartOfSomeTrack(e) {
        return Boolean(this.GetScheduleTrackByEvent(e));
      }
      BIsPartOfSomeTrackByAnnouncementID(e) {
        return Boolean(this.m_mapAnnounceGIDToTrack.has(e));
      }
      BIsPartOfSomeTrackByEventID(e) {
        return Boolean(this.m_mapEventGIDToTrack.has(e));
      }
    }
    class Bc {
      constructor() {}
      BIsSomeEventSelected() {
        return Boolean(this.m_gidClanEventSelected);
      }
      GetClanEventGID() {
        return this.m_gidClanEventSelected;
      }
      BIsEventSelected(e) {
        return this.m_gidClanEventSelected === e;
      }
      SelectClanEventGID(e) {
        this.m_gidClanEventSelected !== e && (this.m_gidClanEventSelected = e);
      }
      ToggleClanEventGID(e) {
        this.m_gidClanEventSelected === e
          ? (this.m_gidClanEventSelected = void 0)
          : (this.m_gidClanEventSelected = e);
      }
      ClearSelection() {
        void 0 !== this.m_gidClanEventSelected &&
          (this.m_gidClanEventSelected = void 0);
      }
      static Get() {
        return Bc.s_Singleton || (Bc.s_Singleton = new Bc()), Bc.s_Singleton;
      }
    }
    Object(a.b)([L.C], Bc.prototype, "m_gidClanEventSelected", void 0);
    var Oc = n("YP3x"),
      Dc = n("rSim"),
      Ic = n("mBxP"),
      Tc = n("exEy"),
      Rc = n("ZvQN"),
      jc = n("JzNE"),
      Ac = n("ePyj"),
      kc = n.n(Ac),
      Mc = n("lB1u"),
      Pc = n.n(Mc),
      Lc = n("OSG2");
    const Gc = Object(m.a)((e) => {
        const t = Object(le.g)(o.c.LANGUAGE),
          n = wc.Get().GetScheduleTrackByEvent(e.event),
          a = wc.Get().GetBrandingImageURLByEvent(e.event),
          r = n ? $.a.GetWithFallback(n.localized_name || [], t) : "",
          s = null == n ? void 0 : n.background_gradient_left,
          l = null == n ? void 0 : n.background_gradient_right;
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)(a && Pc.a.SaleAppWideCtn, Pc.a.ClanEvent),
            style: {
              color: null == n ? void 0 : n.label_color,
              background: `linear-gradient(to right, ${s || "transparent"} 0%, ${l || "transparent"} 100%)`,
            },
          },
          a &&
            i.a.createElement("img", {
              className: Pc.a.WideHeader,
              src: a,
              alt: r,
            }),
          i.a.createElement(
            "div",
            { className: Pc.a.WideDetailCtn },
            i.a.createElement(
              "div",
              { className: Pc.a.SpeakerEventType },
              e.event.GetEventTypeAsString(),
            ),
            i.a.createElement(
              "div",
              { className: Pc.a.SpeakerEventTitle },
              e.event.GetNameWithFallback(Object(le.g)(o.c.LANGUAGE)),
            ),
          ),
        );
      }),
      Nc = Object(m.a)((e) => {
        const [t, n] = Object(r.useState)(null),
          [s, l] = Object(r.useState)(-1);
        Object(r.useEffect)(
          () => (
            Object(a.a)(void 0, void 0, void 0, function* () {
              const t = e.event.jsondata.referenced_appids || [];
              t.length > 0 &&
                (yield Dt.a
                  .Get()
                  .QueueMultipleAppRequests(t, { include_assets: !0 }),
                n(t));
            }),
            () => {
              n(null);
            }
          ),
          [e.event],
        );
        const c = (e) => {
          l(e);
        };
        let d = e.event.GetImageURL("capsule"),
          u = new Array();
        if (t) {
          const e = 6;
          if (
            (t.forEach((t, n) => {
              if (n < e) {
                const e = Dt.a.Get().GetApp(t),
                  a = null == e ? void 0 : e.GetAssets().GetMainCapsuleURL();
                u.push(
                  i.a.createElement(
                    "a",
                    {
                      key: n + "-" + a,
                      href: Object(Rt.f)(
                        (null == e ? void 0 : e.GetStorePageURL()) ||
                          o.c.STORE_BASE_URL + "app/" + t,
                      ),
                    },
                    i.a.createElement("img", {
                      className: kc.a.PresenterEventScreenshotThumbnail,
                      src: a,
                      onMouseEnter: () => c(n),
                    }),
                  ),
                );
              }
            }),
            -1 != s)
          ) {
            const e = Dt.a.Get().GetApp(t[s]);
            d = null == e ? void 0 : e.GetAssets().GetMainCapsuleURL();
          }
        }
        return i.a.createElement(
          "div",
          { className: kc.a.MediaContainer },
          i.a.createElement(
            "div",
            { className: kc.a.MainMediaCtn },
            i.a.createElement("img", { src: d }),
          ),
          i.a.createElement(
            "div",
            {
              className: kc.a.PresenterEventScreenshot,
              onMouseLeave: () => c(-1),
            },
            u,
          ),
        );
      }),
      Fc = Object(m.a)((e) => {
        const t = e.presenters.map((t) =>
          i.a.createElement(Ke.c, {
            key: "presenter-" + e.event.GID + "-" + t.name,
            name: t.name,
            title: t.title,
            company: t.company,
            photo: t.photo,
            hidePhotoInCompactView: !0,
            bioString: t.bio,
          }),
        );
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)(
              Pc.a.SaleSchedDetailCtn,
              "SaleSchedDetailCtn",
            ),
          },
          i.a.createElement(Gc, Object.assign({}, e)),
          i.a.createElement(
            "div",
            { className: Pc.a.StatementAndHighlights },
            i.a.createElement(
              "div",
              { className: Pc.a.PresenterEventStatementCtn },
              i.a.createElement(Lc.a, {
                text: e.event.GetSummaryWithFallback(
                  Object(le.g)(o.c.LANGUAGE),
                ),
              }),
              t,
            ),
            i.a.createElement(Nc, Object.assign({}, e)),
          ),
          i.a.createElement(od, { event: e.event }),
        );
      });
    var xc = n("5rag");
    const zc = (e) => {
        const {
            item: t,
            fnOnEventVisibilityChange: n,
            indexOfSection: a,
            indexInSection: i,
          } = e,
          [s, o] = r.useState(!1);
        return (
          r.useEffect(
            () => (n(s, t.unique_id, a, i), () => n(!1, t.unique_id, a, i)),
          ),
          r.createElement(
            Et.a,
            {
              topOffset: "55px",
              bottomOffset: "50px",
              onEnter: () => o(!0),
              onLeave: () => o(!1),
            },
            r.createElement(
              "div",
              null,
              r.createElement(
                er.a,
                { placeholderHeight: "60px", rootMargin: es },
                r.createElement(Wc, { item: t }),
              ),
            ),
          )
        );
      },
      Uc = Object.assign(Object.assign({}, fs.e), {
        include_trailers: !0,
        include_screenshots: !0,
      }),
      Wc = (e) => {
        const { item: t } = e,
          [n, i] = r.useState(!1),
          s = r.useRef(F.a.CancelToken.source()),
          [o] = Object(Wn.b)(t.appid, Uc);
        if (
          (r.useEffect(
            () => () => s.current.cancel("unmounting SaleScheduleRowProxy"),
            [],
          ),
          r.useEffect(() => {
            Object(a.a)(void 0, void 0, void 0, function* () {
              let e = de.a.InitFromClanID(t.clanid),
                n = new Array();
              St.b.BHasClanEventModel(t.unique_id) ||
                n.push(
                  St.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
                    e,
                    t.unique_id,
                    0,
                  ),
                ),
                t.appid ||
                  wt.a.BHasClanInfoLoadedByAccountID(t.clanid) ||
                  n.push(wt.a.LoadClanInfoForClanSteamID(e)),
                n.length > 0 && i(!1),
                yield Promise.all(n),
                s.current.token.reason || i(!0);
            });
          }, [t]),
          !n)
        )
          return r.createElement(
            "div",
            { className: Pc.a.SaleSchedRowProxy },
            r.createElement(ee.a, { size: "small" }),
          );
        let l = St.b.GetClanEventModel(t.unique_id),
          c = wt.a.GetClanInfoByClanAccountID(t.clanid);
        return !l || (t.appid && !o) || (!t.appid && !c)
          ? null
          : r.createElement(qc, Object.assign({}, e));
      },
      Hc = new Set([" ", "-", ":"]);
    function Vc(e, t) {
      const n = wc.Get().GetScheduleTrackByEvent(e);
      if (n) {
        const a = "encore" == e.jsondata.broadcast_content_type;
        let r = n.label_color,
          i = n.background_gradient_left,
          s = n.background_gradient_right;
        return (
          a
            ? ((i = n.encore_background_gradient_left || i),
              (s = n.encore_background_gradient_right || s),
              t &&
                ((i = n.selected_encore_background_gradient_left || i),
                (s = n.selected_encore_background_gradient_right || s)),
              (r = n.encore_label_color || r))
            : t &&
              ((i = n.selected_background_gradient_left || i),
              (s = n.selected_background_gradient_right || s)),
          i || s
            ? {
                background: `linear-gradient(to right, ${i || "transparent"} 0%, ${s || "transparent"} 100%)`,
                color: r,
              }
            : { color: r }
        );
      }
    }
    const qc = Object(m.a)((e) => {
      const { item: t, bMiniMode: n } = e,
        a = St.b.GetClanEventModel(t.unique_id);
      let i = "";
      if (t.appid) {
        const e = Dt.a.Get().GetApp(t.appid);
        i = (null == e ? void 0 : e.GetName()) || "";
      } else {
        i = wt.a.GetClanInfoByClanAccountID(t.clanid).group_name || "";
      }
      const s = new Date(1e3 * a.startTime);
      s.setMinutes(s.getMinutes() <= 50 ? 0 : 60);
      const l = s.getTime() / 1e3;
      let c = a.GetNameWithFallback(Object(le.g)(o.c.LANGUAGE));
      if (c.startsWith(i))
        for (c = c.slice(i.length); Hc.has(c[0]); ) c = c.slice(1);
      const d = wc.Get().BIsPartOfSomeTrack(a),
        u = !a.BIsEventInFuture() && !a.BHasEventEnded(),
        m = Bc.Get().BIsEventSelected(t.unique_id);
      return r.createElement(
        kt.c,
        {
          style: Vc(a, m),
          eventModel: a,
          route: kt.a.k_eStoreView,
          onClick: (t) => {
            const n = e.item.unique_id;
            if (window.innerWidth > parseInt(Pc.a.strMediumWidth))
              Bc.Get().ToggleClanEventGID(n);
            else if (Bc.Get().BIsEventSelected(n)) Bc.Get().ClearSelection();
            else {
              Bc.Get().ClearSelection();
              const e = St.b.GetClanEventModel(n);
              e && f_(e, window);
            }
            t.preventDefault();
          },
          className: Object(h.a)({
            [Pc.a.SaleSchedRow]: !0,
            [Pc.a.SchedRowSelected]: m,
            [Pc.a.MiniMode]: n,
            SchedEntryPartOfTrack: d,
            [Pc.a.LiveNow]: u,
          }),
        },
        r.createElement(Da, { event: a }),
        u &&
          r.createElement(
            "div",
            { className: Pc.a.Time },
            r.createElement(Cs.b, null),
          ),
        !u &&
          r.createElement(
            "div",
            { className: Pc.a.Time },
            Object(Tc.g)(l, { bForce24HourClock: e.bForce24HourClock }),
          ),
        r.createElement(
          "div",
          { className: Pc.a.DetailsCtn },
          r.createElement("div", { className: Pc.a.AppTitle }, i),
          r.createElement("div", { className: Pc.a.EventTitle }, c),
        ),
        r.createElement(
          "div",
          { className: Pc.a.Icon },
          r.createElement("img", {
            className: Pc.a.CategoryTypeImage,
            width: "26",
            height: "26",
            src:
              o.c.IMG_URL +
              "events/types/type_" +
              (11 == a.type ? "11" : "9") +
              ".png",
          }),
        ),
      );
    });
    var Kc;
    function Qc(e) {
      let t = Math.floor(Date.now() / 1e3);
      const n = e.GetCalendarEndTime();
      t >= n && (t = 0);
      const a = e.GetCurrentlyLoadedEventCount(t, n);
      return !(a.nCount > 0) && a.bIsComplete;
    }
    let Yc = (Kc = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { bLoaded: !1, rgVisibleEvents: [] }),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.m_scheduledUpdate = new g.b());
      }
      componentWillUnmount() {
        El.a.Get().RemoveStreamChangedListener(this.OnBroadcastSelected),
          this.m_cancelSignal.cancel("SaleSectionEventScheduleInner to unload"),
          this.m_scheduledUpdate.Cancel();
      }
      componentDidUpdate(e) {
        var t, n;
        (null === (t = e.activeTab) || void 0 === t
          ? void 0
          : t.GetActiveTabUniqueID()) !=
          (null === (n = this.props.activeTab) || void 0 === n
            ? void 0
            : n.GetActiveTabUniqueID()) && Bc.Get().ClearSelection();
      }
      componentDidMount() {
        return Object(a.a)(this, void 0, void 0, function* () {
          El.a.Get().AddStreamChangedListener(this.OnBroadcastSelected),
            wc
              .Get()
              .AddAllScheduleTrack(
                this.props.event,
                this.props.section.event_schedule_tracks,
              );
          let e = this.GetScheduleCalendarStore();
          if (
            (e.SetFilteredView((e) => this.BShouldShowOnTab(e.appid)),
            Kc.m_bInitialLoad)
          ) {
            const t = Object(o.g)(
              "sale_schedule_calendar",
              "application_config",
            );
            t
              ? ("dev" == o.c.WEB_UNIVERSE &&
                  console.log(
                    "SaleSectionEventScheduleInner loading initial events: " +
                      t.length,
                    t,
                  ),
                yield e.RegisterCalendarEventsAndModels(t))
              : yield e.RegisterCalendarEventsAndModels({ success: 1 });
          }
          (Kc.m_bInitialLoad = !1),
            this.setState({ bLoaded: !0 }, this.ApplyScheduleToBroadcasts);
        });
      }
      get rtTopOfHour() {
        const e = Bt.b.GetTimeNowWithOverrideAsDate(),
          t = Object(Rc.e)(e);
        return (
          ba.b(t.getTime() - e.getTime() + 1e3 * Rc.g.PerHour),
          t.getTime() / 1e3
        );
      }
      get cachedCurrentCalendarItems() {
        const e = this.rtTopOfHour + Rc.g.PerHour - 1;
        return Object(Tn.b)().GetCalendarItemsInTimeRange(this.rtTopOfHour, e);
      }
      get cachedUpcomingCalenderEvents() {
        const e = Object(Tn.b)().GetStoreInitializationTimestamp(),
          t = Object(Rc.e)(e).getTime() / 1e3,
          n = Object(Tn.b)().GetCalendarItemsInTimeRange(t, void 0);
        return wc.Get().BHasTracks() && n.rgCalendarItems.sort(Xc), n;
      }
      UpdateBroadcastPresentersFromEvents() {
        Cc.b.SynchronizeEventsWithBroadcasts(
          this.GetScheduleCalendarStore(),
          Object(le.g)(o.c.LANGUAGE),
        );
      }
      GetFirstEventWithBroadcaster(e) {
        const t = Bt.b.GetTimeNowWithOverride(),
          n = this.GetScheduleCalendarStore().GetCalendarItemsInTimeRange(
            t - 3600,
            t,
          );
        for (const a of n.rgCalendarItems) {
          const n = St.b.GetClanEventModel(a.unique_id);
          if (
            n &&
            !(n.endTime && n.endTime < t) &&
            n.GetBroadcastWhitelistAsSteamIDs().some((t) => t === e)
          )
            return a.unique_id;
        }
      }
      OnBroadcastSelected(e) {
        const t = this.GetFirstEventWithBroadcaster(e.steamid);
        t && (Bc.Get().BIsEventSelected(t) || Bc.Get().ToggleClanEventGID(t));
      }
      ApplyScheduleToBroadcasts() {
        if (!this.state.bLoaded) return;
        if (!El.a.Get().BHasStreams(this.props.broadcastEmbedContext)) return;
        const e = this.cachedCurrentCalendarItems.rgCalendarItems,
          t = El.a.Get().GetStreams(this.props.broadcastEmbedContext);
        for (const n of t) {
          const t = yl.a.GetOrCreateBroadcastInfo(
              null == n ? void 0 : n.steamid,
            ).m_nAppID,
            a = e.some((e) => Number(e.appid) === t)
              ? El.b.k_eFeatured
              : El.b.k_eGeneral,
            r = Math.max(n.default_selection_priority || El.b.k_eGeneral, a);
          r != Object(El.c)(n) && (n.current_selection_priority = r);
        }
        if (
          (this.UpdateBroadcastPresentersFromEvents(),
          !this.m_scheduledUpdate.IsScheduled())
        ) {
          const e = 1;
          this.m_scheduledUpdate.Schedule(60 * e * 1e3, () =>
            this.ApplyScheduleToBroadcasts(),
          );
        }
      }
      BShouldShowOnTab(e) {
        return (
          0 == e ||
          !this.props.activeTab ||
          this.props.activeTab.ShouldShowOnTab(e)
        );
      }
      GetScheduleCalendarStore() {
        const { event: e, section: t } = this.props;
        return (
          Object(Tn.c)({
            saleid: e.GID,
            bSectionByDay: !0,
            rtCalendarEnd: t.event_schedule_rtime_end || e.endTime,
          }),
          Object(Tn.b)()
        );
      }
      VisibleEventsChanged(e) {
        Object(ka.a)(e, this.state.rgVisibleEvents) ||
          this.setState({ rgVisibleEvents: e });
      }
      render() {
        const {
          section: e,
          promotionName: t,
          activeTab: n,
          bIsPreview: a,
        } = this.props;
        if (!this.state.bLoaded)
          return r.createElement(ee.a, {
            position: "center",
            string: Object($.f)("#Sale_EventSchedule"),
          });
        const i = this.GetScheduleCalendarStore(),
          s = Qc(i);
        if (s && !a) return null;
        const o = new Array();
        for (const e of this.state.rgVisibleEvents) {
          const t = St.b.GetClanEventModel(e);
          if (t && this.BShouldShowOnTab(t.appid) && (o.push(e), o.length >= 4))
            break;
        }
        return r.createElement(
          ea.b,
          { feature: "saleeventsched" },
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                Ms.a.SaleSection,
                Pc.a.SaleSchedCtn,
                "SaleSchedCtn",
              ),
            },
            r.createElement(
              "div",
              { className: Pc.a.ScheduleSectionHeader },
              Object($.f)("#Sale_BroadcastSchedule"),
            ),
            s &&
              r.createElement(
                "div",
                { className: Ms.a.preview_placeholder_section },
                Object($.f)(
                  this.props.activeTab
                    ? "#Sale_EventSchedulePlaceHolder_Tab"
                    : "#Sale_EventSchedulePlaceHolder",
                ),
              ),
            r.createElement(
              "div",
              { className: Pc.a.SectionCtn },
              r.createElement(Jc, {
                calendarStore: i,
                promotionName: t,
                activeTab: n,
                fnVisibleEventsChanged: this.VisibleEventsChanged,
              }),
              Boolean(Bc.Get().BIsSomeEventSelected())
                ? r.createElement(nd, {
                    eventGID: Bc.Get().GetClanEventGID(),
                    bShowDemoButton: e.show_as_demos,
                    broadcastEmbedContext: this.props.broadcastEmbedContext,
                  })
                : r.createElement(ed, {
                    rgEventGIDs: o,
                    bShowDemoButton: e.show_as_demos,
                    rgFutureCalendarItems:
                      this.cachedUpcomingCalenderEvents.rgCalendarItems
                        .slice()
                        .reverse(),
                  }),
            ),
          ),
        );
      }
    });
    (Yc.m_bInitialLoad = !0),
      Object(a.b)([L.n], Yc.prototype, "rtTopOfHour", null),
      Object(a.b)([L.n], Yc.prototype, "cachedCurrentCalendarItems", null),
      Object(a.b)([L.n], Yc.prototype, "cachedUpcomingCalenderEvents", null),
      Object(a.b)([u.b], Yc.prototype, "OnBroadcastSelected", null),
      Object(a.b)([u.b], Yc.prototype, "ApplyScheduleToBroadcasts", null),
      Object(a.b)([u.b], Yc.prototype, "VisibleEventsChanged", null),
      (Yc = Kc = Object(a.b)([m.a], Yc));
    const Zc = Object(fa.k)(Yc);
    class Jc extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = {}),
          (this.m_visibleEventGIDs = []),
          (this.m_timerForRefresh = new g.b()),
          (this.m_nTimerRefreshS = 60);
      }
      componentDidMount() {
        this.m_timerForRefresh.Schedule(
          1e3 * this.m_nTimerRefreshS,
          this.TimerRefresh,
        );
      }
      componentWillUnmount() {
        this.m_timerForRefresh.Cancel();
      }
      TimerRefresh() {
        this.forceUpdate(),
          this.m_timerForRefresh.Schedule(
            1e3 * this.m_nTimerRefreshS,
            this.TimerRefresh,
          );
      }
      OnEventVisibilityChange(e, t, n, a) {
        (this.m_visibleEventGIDs[n] = Object(ka.e)(
          this.m_visibleEventGIDs[n] || [],
          a + 1,
          null,
        )),
          (this.m_visibleEventGIDs[n][a] = e ? t : null);
        const r = [];
        for (const e of this.m_visibleEventGIDs.filter(Boolean))
          for (const t of e.filter(Boolean)) r.push(t);
        this.props.fnVisibleEventsChanged(r);
      }
      render() {
        const { calendarStore: e } = this.props;
        let t = e.GetCalendarSections(!0),
          n = new Array();
        this.m_visibleEventGIDs = Object(ka.e)(
          this.m_visibleEventGIDs,
          t.length,
          null,
        );
        {
          const e = Object($.f)("#Time_Now"),
            t = Bt.b.GetTimeNowWithOverride(),
            a = 3600;
          n.push(
            r.createElement(
              er.a,
              {
                key: e,
                placeholderHeight: 600,
                rootMargin: es,
                mode: "JustLoad",
              },
              r.createElement($c, {
                strSectionLabel: e,
                rtSectionStart: t - a,
                rtSectionEnd: t,
                fnOnEventVisibilityChange: this.OnEventVisibilityChange,
                indexOfSection: n.length,
                bFutureOnly: !1,
              }),
            ),
          );
        }
        t.forEach((e) => {
          n.push(
            r.createElement(
              er.a,
              {
                key: e.strSectionLabel,
                placeholderHeight: 600,
                rootMargin: es,
                mode: "JustLoad",
              },
              r.createElement($c, {
                strSectionLabel: e.strSectionLabel,
                rtSectionStart: e.rtSectionStart,
                rtSectionEnd: e.rtSectionEnd,
                fnOnEventVisibilityChange: this.OnEventVisibilityChange,
                indexOfSection: n.length,
                bFutureOnly: !0,
              }),
            ),
          );
        });
        const a =
          o.c.STORE_BASE_URL +
          Object(kt.f)() +
          "/sale/" +
          e.GetSaleID() +
          "?upcoming=true" +
          (Bt.b.BHasTimeOverride()
            ? "&t=" + Bt.b.GetTimeNowWithOverride()
            : "");
        return r.createElement(
          "div",
          { className: Pc.a.SaleSchedListCtn },
          r.createElement(
            "div",
            { className: Object(h.a)(Pc.a.SaleSchedList) },
            Qc(e) &&
              r.createElement(
                "div",
                { className: Pc.a.NoEventsYet },
                Object($.f)("#Sale_EventSchedule_NoEventsScheduled"),
              ),
            n,
          ),
          r.createElement(
            E.c,
            {
              className: Object(h.a)(Pc.a.NewsHubLink, Fe.a.Button),
              bDisableContextMenu: !0,
              href: a,
            },
            Object($.f)("#Sale_SeeAllUpcomingEvents"),
          ),
        );
      }
    }
    function Xc(e, t) {
      if (e.start_time == t.start_time) {
        const n = wc.Get().BIsPartOfSomeTrackByEventID(e.unique_id),
          a = wc.Get().BIsPartOfSomeTrackByEventID(t.unique_id);
        return (n && a) || (!n && !a) ? 0 : n ? 1 : -1;
      }
      return t.start_time - e.start_time;
    }
    Object(a.b)([u.b], Jc.prototype, "TimerRefresh", null),
      Object(a.b)([u.b], Jc.prototype, "OnEventVisibilityChange", null);
    let $c = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.m_timerForRefresh = new g.b()),
          (this.m_nTimerRefreshS = 60);
      }
      componentDidMount() {
        this.m_timerForRefresh.Schedule(
          1e3 * this.m_nTimerRefreshS,
          this.TimerRefresh,
        );
      }
      TimerRefresh() {
        this.forceUpdate(),
          this.m_timerForRefresh.Schedule(
            1e3 * this.m_nTimerRefreshS,
            this.TimerRefresh,
          );
      }
      componentWillUnmount() {
        this.m_timerForRefresh.Cancel(),
          this.m_cancelSignal.cancel("SaleScheduleCalendarSection to unload");
      }
      get cachedCalendarItems() {
        const e = Object(Tn.b)().GetCalendarItemsInTimeRange(
          ba.a(() => this.props.rtSectionStart),
          ba.a(() => this.props.rtSectionEnd),
        );
        return wc.Get().BHasTracks() && e.rgCalendarItems.sort(Xc), e;
      }
      render() {
        const {
          strSectionLabel: e,
          bFutureOnly: t,
          fnOnEventVisibilityChange: n,
          indexOfSection: a,
        } = this.props;
        let { rgCalendarItems: i, bIsComplete: s } = this.cachedCalendarItems;
        if (s && 0 == i.length) return null;
        const o = Bt.b.GetTimeNowWithOverride(),
          l = i
            .filter((e) => !t || e.start_time >= o)
            .reverse()
            .map((e, t) =>
              r.createElement(zc, {
                key: "schedrow_" + e.unique_id,
                item: e,
                fnOnEventVisibilityChange: n,
                indexOfSection: a,
                indexInSection: t,
              }),
            );
        return s && 0 == l.length
          ? null
          : r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    Pc.a.SchedSectionLabel,
                    "SchedSectionLabel",
                  ),
                },
                e,
              ),
              l,
              !s &&
                r.createElement(
                  "div",
                  { style: { height: 100 } },
                  r.createElement(ee.a, {
                    size: "small",
                    string: Object($.f)("#Loading"),
                  }),
                ),
            );
      }
    };
    Object(a.b)([u.b], $c.prototype, "TimerRefresh", null),
      Object(a.b)([L.n], $c.prototype, "cachedCalendarItems", null),
      ($c = Object(a.b)([m.a], $c));
    const ed = Object(m.a)((e) => {
        const {
          rgEventGIDs: t,
          bShowDemoButton: n,
          rgFutureCalendarItems: a,
        } = e;
        return r.createElement(
          "div",
          { className: Object(h.a)(Pc.a.SaleSchedGridCtn) },
          t.map((e) => {
            const t = St.b.GetClanEventModel(e),
              i = a.find((t) => t.unique_id == e);
            if (!i) return null;
            if ((null == t ? void 0 : t.appid) && Dt.a.Get().GetApp(t.appid)) {
              const a = { id: t.appid, type: "game" };
              return r.createElement(Ts, {
                key: "schedule_grid_" + e,
                capsule: a,
                imageType: "main",
                bShowDemoButton: n,
                elElementToAppendToHover: r.createElement(Wc, {
                  item: i,
                  bMiniMode: !0,
                }),
              });
            }
            return r.createElement(td, {
              key: "schedule_grid_" + e,
              event: t,
              eventCalendarItem: i,
            });
          }),
        );
      }),
      td = (e) => {
        const { event: t, eventCalendarItem: n } = e;
        let a = Object(le.g)(o.c.LANGUAGE);
        const i = t.GetImageURLWithFallback("capsule", a, be.c.capsule_main);
        return r.createElement(
          "div",
          {
            className: Pc.a.ClanEventCapsuleCtn,
            onClick: () => Bc.Get().SelectClanEventGID(t.GID),
          },
          r.createElement("img", { className: Pc.a.ClanEventImage, src: i }),
          r.createElement(Wc, { item: n, bMiniMode: !0 }),
        );
      };
    const nd = (e) => {
      const { eventGID: t, bShowDemoButton: n } = e;
      if (!t || !St.b.BHasClanEventModel(t)) return null;
      const a = St.b.GetClanEventModel(t),
        i = (null == a ? void 0 : a.appid) && Dt.a.Get().GetApp(a.appid),
        s = Object(le.g)(o.c.LANGUAGE),
        l = Cc.a.ParseEventModelPresenters(a, s),
        c = (function (e, t) {
          let n = e.jsondata.referenced_appids || [];
          const a = /(?:steampowered\.com|valve\.org\/store)\/(app)\/(\d+)/gi,
            r = e.GetDescriptionWithFallback(t);
          let i = null;
          for (; null !== (i = a.exec(r)); ) {
            const e = Number(i[2]);
            n.includes(e) || n.push(e);
          }
          return n;
        })(a, s);
      return l &&
        l.length > 0 &&
        (0 == a.appid || (null == c ? void 0 : c.some((e) => e != a.appid)))
        ? r.createElement(Fc, { event: a, eventStore: St.b, presenters: l })
        : r.createElement(
            "div",
            {
              className: Object(h.a)(
                Pc.a.SaleSchedDetailCtn,
                "SaleSchedDetailCtn",
              ),
            },
            Boolean(i)
              ? r.createElement(
                  r.Fragment,
                  null,
                  r.createElement(rd, { storeItem: i, bShowDemoButton: n }),
                  r.createElement(sd, { storeItem: i }),
                )
              : r.createElement(ad, { event: a }),
            r.createElement(od, {
              event: a,
              broadcastEmbedContext: e.broadcastEmbedContext,
            }),
          );
    };
    function ad(e) {
      const { event: t } = e;
      let n = Object(le.g)(o.c.LANGUAGE);
      const a = t.GetImageURLWithFallback("capsule", n),
        i = Object(ce.p)(a);
      return r.createElement("div", {
        className: Pc.a.ClanEventDetailBackground,
        style: { backgroundImage: `url(${i})` },
      });
    }
    function rd(e) {
      const { storeItem: t, bShowDemoButton: n } = e;
      if (!t) return null;
      const a = {
        id: t.GetID(),
        type: Object(On.b)(t.GetStoreItemType(), t.GetAppType()),
      };
      return r.createElement(
        "div",
        { className: Pc.a.SaleAppWideCtn },
        r.createElement(
          Pt.e,
          { item: a, className: Pc.a.SaleAppCapsule },
          r.createElement("img", {
            className: Pc.a.WideHeader,
            src: null == t ? void 0 : t.GetAssets().GetMainCapsuleURL(),
            alt: null == t ? void 0 : t.GetName(),
          }),
        ),
        r.createElement(
          "div",
          { className: Pc.a.WideDetailCtn },
          r.createElement(
            "div",
            { className: Pc.a.AppTitle },
            null == t ? void 0 : t.GetName(),
          ),
          r.createElement(
            "div",
            { className: Pc.a.ReleaseDate },
            null == t ? void 0 : t.GetFormattedSteamReleaseDate(),
          ),
        ),
        r.createElement(
          "div",
          { className: Pc.a.GameButtons },
          Boolean(It.a.Get().BOwnsApp(null == t ? void 0 : t.GetAppID()))
            ? r.createElement(
                te.e,
                { disabled: !0 },
                Object($.f)("#Sale_InLibrary"),
              )
            : r.createElement(
                "div",
                { className: Pc.a.GameButton },
                r.createElement(Ic.a, {
                  appid: null == t ? void 0 : t.GetAppID(),
                  bIsFree: null == t ? void 0 : t.BIsFree(),
                  bIsComingSoon: null == t ? void 0 : t.BIsComingSoon(),
                }),
              ),
          Boolean(n) &&
            r.createElement(jc.a, { info: a, className: Pc.a.DemoButton }),
        ),
      );
    }
    function id(e) {
      const { storeItem: t } = e,
        n = Object(Oc.c)(null == t ? void 0 : t.GetTagIDs()),
        a = {
          id: null == t ? void 0 : t.GetID(),
          type: Object(On.b)(
            null == t ? void 0 : t.GetStoreItemType(),
            null == t ? void 0 : t.GetAppType(),
          ),
        };
      return r.createElement(
        "div",
        { className: Pc.a.SaleTagAndOS },
        r.createElement(
          "div",
          { className: ys.a.StoreSaleWidgetTags },
          Boolean(n.length > 0)
            ? n.map((e) =>
                r.createElement(
                  "div",
                  { key: "tag_" + e.tagid, className: ys.a.AppTag },
                  e.name,
                ),
              )
            : void 0,
        ),
        r.createElement(Dc.a, { item: a }),
      );
    }
    function sd(e) {
      const { storeItem: t } = e,
        n = {
          id: null == t ? void 0 : t.GetID(),
          type: Object(On.b)(
            null == t ? void 0 : t.GetStoreItemType(),
            null == t ? void 0 : t.GetAppType(),
          ),
        };
      return r.createElement(
        "div",
        { className: Pc.a.StatementAndHighlights },
        r.createElement(
          "div",
          { className: Pc.a.StatementCtn },
          r.createElement(id, { storeItem: t }),
          r.createElement(
            "div",
            null,
            null == t ? void 0 : t.GetShortDescription(),
          ),
        ),
        r.createElement(xc.a, { info: n }),
      );
    }
    const od = (e) => {
      const { event: t, broadcastEmbedContext: n } = e,
        i = t.BIsEventInFuture(),
        s = Object(le.g)(o.c.LANGUAGE),
        l =
          Boolean(n) &&
          Boolean(null == t ? void 0 : t.appid) &&
          !i &&
          !t.BHasEventEnded() &&
          El.a.Get().BIsAppStreaming(t.appid);
      return r.createElement(
        "div",
        { className: Pc.a.EventWideCtn },
        r.createElement(
          "div",
          { className: Pc.a.Title },
          Object($.f)("#Sale_EventSchedule"),
        ),
        r.createElement(
          "div",
          { className: Pc.a.EventWideDetailCtn },
          r.createElement(
            "div",
            { className: Pc.a.EventDetails },
            r.createElement(
              "div",
              { className: Pc.a.EventIcon },
              r.createElement("img", {
                className: Pc.a.CategoryTypeImage,
                width: "40",
                height: "40",
                src:
                  o.c.IMG_URL +
                  "events/types/type_" +
                  (11 == t.type ? "11" : "9") +
                  ".png",
              }),
            ),
            r.createElement(
              "div",
              null,
              r.createElement(
                "div",
                { className: Pc.a.EventTitle },
                t.GetNameWithFallback(s),
              ),
              r.createElement(
                "div",
                { className: Pc.a.EventTime },
                i
                  ? Object(Tc.g)(t.startTime, {
                      bForce24HourClock: e.bForce24HourClock,
                    }) +
                      " " +
                      Object($.q)(t.startTime)
                  : Object($.r)(Date.now() / 1e3 - t.startTime),
              ),
            ),
          ),
          r.createElement(
            "div",
            { className: Pc.a.EventOptionsCtn },
            l &&
              r.createElement(
                te.e,
                {
                  className: Pc.a.EventDetailsBtn,
                  onClick: (t) =>
                    Object(a.a)(void 0, void 0, void 0, function* () {
                      if ((t.preventDefault(), e.broadcastEmbedContext)) {
                        t.preventDefault();
                        const n = El.a
                            .Get()
                            .GetStreamsForAppID(e.event.appid)
                            .sort(
                              (e, t) =>
                                (t.viewer_count || 0) - (e.viewer_count || 0),
                            ),
                          a = n.length > 0 ? n[0] : void 0;
                        a &&
                          El.a.Get().GetPlayReadyStream(e.broadcastEmbedContext)
                            .accountid != a.accountid &&
                          (yield El.a
                            .Get()
                            .AttemptToPlayStream(e.broadcastEmbedContext, a));
                      }
                    }),
                },
                r.createElement(Cs.b, null),
                Object($.f)("#Sale_WatchNow"),
              ),
            r.createElement(
              kt.c,
              { eventModel: t, route: kt.a.k_eStoreView },
              r.createElement(
                te.e,
                {
                  className: Pc.a.EventDetailsBtn,
                  onClick: (t) => {
                    f_(e.event, v.o(t)), t.preventDefault();
                  },
                },
                Object($.f)("#Sale_SeeEventDetails"),
              ),
            ),
            i && r.createElement(Ta.b, { eventModel: t, lang: s }),
          ),
        ),
      );
    };
    var ld;
    !(function (e) {
      (e[(e.k_eNone = 0)] = "k_eNone"),
        (e[(e.k_eSecond = 1)] = "k_eSecond"),
        (e[(e.k_eMinute = 2)] = "k_eMinute"),
        (e[(e.k_eHour = 3)] = "k_eHour"),
        (e[(e.k_eDay = 4)] = "k_eDay"),
        (e[(e.k_eWeek = 5)] = "k_eWeek"),
        (e[(e.k_eMonth = 6)] = "k_eMonth"),
        (e[(e.k_eYear = 7)] = "k_eYear");
    })(ld || (ld = {}));
    class cd {
      constructor(e) {
        (this.packageid = e.packageid),
          (this.enabled = e.enabled),
          (this.name = e.name),
          (this.header_image_url = e.header_image_url),
          (this.main_capsule = e.main_capsule),
          (this.library_asset = e.library_asset),
          (this.formatted_orig_price = e.formatted_orig_price),
          (this.orig_price_cents = e.orig_price_cents),
          (this.formatted_final_price = e.formatted_final_price),
          (this.discount_percent = e.discount_percent),
          (this.discount_end_rtime = e.discount_end_rtime),
          (this.appids = e.appids),
          (this.release_date = e.release_date),
          (this.available_windows = e.available_windows),
          (this.available_mac = e.available_mac),
          (this.available_linux = e.available_linux),
          (this.support_vrhmd = e.support_vrhmd),
          (this.support_vrhmd_only = e.support_vrhmd_only),
          (this.final_price_cents = e.final_price_cents),
          (this.renewal_package_id = e.renewal_package_id),
          (this.renewal_formatted_final_price =
            e.renewal_formatted_final_price),
          (this.renewal_time_units = e.renewal_time_units),
          (this.renewal_price_cents = e.renewal_price_cents),
          (this.renewal_time_amount = e.renewal_time_amount),
          (this.initial_time_units = e.initial_time_units),
          (this.initial_time_amount = e.initial_time_amount),
          (this.coming_soon = e.coming_soon),
          (this.no_main_cap = e.no_main_cap),
          (this.creator_clan_ids = e.creator_clan_ids),
          (this.localized_langs = e.localized_langs),
          (this.deck_compatibility_category =
            e.deck_compatibility_category || 0);
      }
      GetHeaderImageDimension() {
        return this.header_image_url.includes("header_586x192")
          ? { width: 586, height: 192 }
          : { width: 292, height: 136 };
      }
      get type() {
        return "sub";
      }
      get id() {
        return this.packageid;
      }
      get purchasePackageId() {
        return this.packageid;
      }
      get app_to_run() {}
      get is_free() {
        return !1;
      }
      get price_in_cents() {
        return this.final_price_cents;
      }
      get rt_release_date() {
        return this.release_date ? Number(this.release_date) : 0;
      }
    }
    class dd {
      constructor() {
        (this.m_mapPackageInfo = new Map()),
          (this.m_mapMissingPackages = new Map()),
          (this.m_mapInFlightRequests = new Map()),
          (this.m_bLoadedFromConfig = !1);
      }
      LazyInit() {
        if (!this.m_bLoadedFromConfig) {
          let e = Object(o.g)("packageinfo", "application_config");
          this.ValidateStoreDefault(e) &&
            (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              console.log(
                "DEV_DEBUG: CPackageInfoStore loading package payload: " +
                  e.length,
              ),
            Object(L.G)(() =>
              e.forEach((e) => {
                const t = new cd(e);
                this.m_mapPackageInfo.set(Number(e.packageid), t);
              }),
            ));
          let t = Object(o.g)("bundleunknown", "application_config");
          (function (e) {
            const t = e;
            return (
              t && Array.isArray(t) && t.length > 0 && "number" == typeof t[0]
            );
          })(t) &&
            t.forEach((e) => {
              this.m_mapMissingPackages.set(e, !0);
            }),
            (this.m_bLoadedFromConfig = !0);
        }
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "number" == typeof t[0].packageid &&
          "string" == typeof t[0].name
        );
      }
      BIsPackageMissing(e) {
        return this.m_mapMissingPackages.has(e);
      }
      GetPackageInfo(e) {
        return this.LazyInit(), this.m_mapPackageInfo.get(e);
      }
      BHasPackageInfoLoaded(e) {
        return Boolean(this.GetPackageInfo(e));
      }
      LoadPackageInfo(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.LazyInit();
          const n = e.map((e) => this.m_mapInFlightRequests.get(e));
          let a = e.filter(
            (e) =>
              e &&
              !this.m_mapPackageInfo.has(e) &&
              !this.m_mapMissingPackages.has(e) &&
              !this.m_mapInFlightRequests.has(e),
          );
          if (a.length) {
            a.sort();
            do {
              const e = 50,
                r = Math.min(e, a.length),
                i = a.slice(0, r);
              a = a.slice(r);
              const s = F.a
                .get(o.c.STORE_BASE_URL + "actions/ajaxresolvepackages", {
                  params: {
                    packageids: i.join(","),
                    cc: o.c.COUNTRY || "US",
                    l: o.c.LANGUAGE,
                    origin: self.origin,
                  },
                  cancelToken: null == t ? void 0 : t.token,
                })
                .then((e) => {
                  Object(L.G)(() => {
                    this.AddPackages(null == e ? void 0 : e.data),
                      i.forEach((e) => {
                        this.m_mapPackageInfo.has(e) ||
                          this.m_mapMissingPackages.set(e, !0),
                          this.m_mapInFlightRequests.delete(e);
                      });
                  });
                });
              n.push(s), i.forEach((e) => this.m_mapInFlightRequests.set(e, s));
            } while (a.length > 0);
          }
          yield Promise.all(n);
        });
      }
      AddPackages(e) {
        if (e)
          for (const t of e) {
            const e = Number(t.packageid);
            if (!this.m_mapPackageInfo.has(e)) {
              const n = new cd(t);
              this.m_mapPackageInfo.set(e, n);
            }
          }
      }
    }
    Object(a.b)([L.C], dd.prototype, "m_mapPackageInfo", void 0),
      Object(a.b)([L.k], dd.prototype, "AddPackages", null);
    const ud = new dd();
    window.g_PackageInfoStore = ud;
    var md = n("y2HL"),
      pd = n.n(md);
    function hd(e, t) {
      let n = [];
      for (let a of e.capsules)
        if ("sub" === a.type) {
          const e = ud.GetPackageInfo(a.id);
          if (e) {
            if (e.renewal_time_amount === t) return e.packageid;
          } else n.push(a.id);
        }
      n.length > 0 && ud.LoadPackageInfo(n);
    }
    function _d(e, t, n, a) {
      let r = e.createElement("input");
      (r.type = "hidden"), (r.name = n), (r.value = a), t.appendChild(r);
    }
    function gd(e, t) {
      if (!e.renewal_time_amount || !t) return 0;
      const n = Math.ceil((t - e.initial_time_amount) / e.renewal_time_amount),
        a = Math.max(n, 0);
      return e.final_price_cents + a * e.renewal_price_cents;
    }
    const bd = Object(m.a)((e) => {
      const t = Object(ea.c)(),
        n = (n) => {
          Object(Jt.c)(t);
          !(function (e, t, n) {
            let a = Object(v.o)(e),
              r = a.document.createElement("form");
            (r.action = o.c.STORE_BASE_URL + "cart/"),
              (r.method = "POST"),
              (r.style.display = "none"),
              _d(document, r, "action", "add_to_cart"),
              _d(document, r, "subid", t.toString()),
              _d(document, r, "sessionid", o.c.SESSIONID),
              _d(document, r, "snr", o.c.SNR),
              a.document.documentElement.append(r),
              r.submit();
          })(n, e.sub_package_id),
            n.preventDefault();
        },
        {
          language: a,
          logo_image: i,
          sub_package_id: s,
          compare_package_id: l,
          price_loc_token: c,
          price_discount_loc_token: d,
          body_loc_token: u,
          body_discount_loc_token: m,
          button_text: _,
          class_name: g,
        } = e,
        b = ud.GetPackageInfo(s),
        f = ud.GetPackageInfo(l);
      if (!b || (!f && l)) return ud.LoadPackageInfo([s, l]), null;
      if (!b.formatted_final_price) return null;
      const S = b.formatted_final_price,
        y = b.discount_end_rtime,
        E =
          (b.discount_percent,
          (function (e, t) {
            if (!(e && t && e.final_price_cents && t.final_price_cents)) return;
            let n = e.final_price_cents / t.final_price_cents;
            if (
              e.renewal_time_units != ld.k_eNone &&
              t.renewal_time_units != ld.k_eNone
            ) {
              if (e.renewal_time_units != t.renewal_time_units) return;
              const a = Math.max(t.initial_time_amount, e.renewal_time_amount),
                r = gd(e, a),
                i = gd(t, a);
              if (!r || !i) return;
              n = r / i;
            }
            return (100 * (1 - n)).toFixed(0) + "%";
          })(b, f)),
        C = [S, E || ""];
      let w = Object($.f)(c, ...C);
      const B = Object($.f)("#Sale_Subscription_Save", ...C);
      let O = Object($.f)(u, ...C);
      b.renewal_formatted_final_price &&
        S != b.renewal_formatted_final_price &&
        ((w = Object($.f)(d, S)),
        (O = Object($.f)(m, b.renewal_formatted_final_price)));
      let D = null;
      if (i) {
        const e = Object(Zt.d)(i, a);
        let t = null;
        (t =
          "string" == typeof e
            ? r.createElement("img", { src: e })
            : r.createElement(p, { rgSources: e })),
          (D = r.createElement("div", { className: pd.a.LogoImg }, t));
      }
      const I = (function (e) {
        for (let t of e.appids) if (It.a.Get().BOwnsApp(t)) return !0;
        return !1;
      })(b);
      let T = null;
      return (
        (T = It.a.Get().BOwnsPackage(s)
          ? r.createElement(
              "div",
              {
                className: Object(h.a)(
                  pd.a.PurchaseButton,
                  pd.a.AlreadyOwnedPackage,
                ),
              },
              Object($.f)("#Sale_Subscription_AlreadyOwnedPackage"),
            )
          : I
            ? r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    pd.a.PurchaseButton,
                    pd.a.AlreadyOwnedApp,
                  ),
                },
                Object($.f)("#Sale_Subscription_AlreadyOwnedApp"),
              )
            : r.createElement(
                "div",
                {
                  className: Object(h.a)(pd.a.PurchaseButton, pd.a.UnOwned),
                  onClick: n,
                },
                _,
              )),
        r.createElement(
          "div",
          {
            className: Object(h.a)(
              pd.a.SubscriptionBlock,
              "SubscriptionBlock",
              g,
            ),
          },
          D,
          r.createElement(
            "div",
            { className: pd.a.PriceBlock },
            r.createElement(
              "span",
              {
                className: Object(h.a)(
                  pd.a.PriceDisplay,
                  "PriceDisplay",
                  Boolean(y) ? pd.a.LimitedDiscount : "",
                ),
              },
              w,
            ),
            Boolean(E) &&
              r.createElement(
                "span",
                {
                  className: Object(h.a)(pd.a.SavingsDisplay, "SavingsDisplay"),
                },
                B,
              ),
          ),
          r.createElement(
            "div",
            { className: pd.a.BodyTextBlock },
            O,
            Boolean(y) &&
              r.createElement(
                "div",
                { className: pd.a.ExpirationTextBlock },
                Object($.o)(
                  "#Sale_Subscription_NewSubsOfferEnds",
                  Object($.p)(y),
                ),
              ),
          ),
          T,
        )
      );
    });
    let fd = class extends r.Component {
      render() {
        var e;
        const { section: t, language: n } = this.props,
          a = hd(t, 12),
          i = hd(t, 1),
          s =
            null === (e = t.internal_section_data) || void 0 === e
              ? void 0
              : e.subscription_logo_image;
        return r.createElement(
          ea.b,
          { feature: "salesubscription" },
          r.createElement(
            "div",
            { className: pd.a.MainBlock },
            r.createElement(
              "span",
              { className: pd.a.SelectAPlan },
              Object($.f)("#Sale_Subscription_SelectPlan"),
            ),
            r.createElement(
              "div",
              { className: pd.a.SubscriptionListBlock },
              r.createElement(bd, {
                sub_package_id: a,
                logo_image: s,
                language: n,
                compare_package_id: i,
                price_loc_token: "#Sale_Subscription_Annual_Price",
                price_discount_loc_token:
                  "#Sale_Subscription_Annual_Price_Discount",
                body_loc_token: "#Sale_Subscription_Annual_Body",
                body_discount_loc_token:
                  "#Sale_Subscription_Annual_Body_Discount",
                button_text: Object($.f)("#Sale_Subscription_Annual_Button"),
              }),
              r.createElement(bd, {
                sub_package_id: i,
                logo_image: s,
                language: n,
                price_loc_token: "#Sale_Subscription_Monthly_Price",
                price_discount_loc_token:
                  "#Sale_Subscription_Monthly_Price_Discount",
                body_loc_token: "#Sale_Subscription_Monthly_Body",
                body_discount_loc_token:
                  "#Sale_Subscription_Monthly_Body_Discount",
                button_text: Object($.f)("#Sale_Subscription_Monthly_Button"),
              }),
            ),
          ),
        );
      }
    };
    function vd(e, t, n) {
      return {
        color: e,
        background: `linear-gradient(0deg, ${n || "transparent"} 0%, ${t || "transparent"} 100%)`,
      };
    }
    fd = Object(a.b)([m.a], fd);
    const Sd = (e) => {
      const {
          tab: t,
          language: n,
          onTabSelected: a,
          classNames: i,
          section: s,
          selected: o,
        } = e,
        l = Qs(t, n);
      if (!l) return null;
      const c = s
        ? (function (e, t) {
            return e
              ? vd(
                  t.tab_active_label_color,
                  t.tab_active_background_gradient_top,
                  t.tab_active_background_gradient_bottom,
                )
              : vd(
                  t.tab_inactive_label_color,
                  t.tab_inactive_background_gradient_top,
                  t.tab_inactive_background_gradient_bottom,
                );
          })(o, s)
        : void 0;
      return r.createElement(
        Ct.a,
        {
          focusable: !0,
          className: Object(h.a)(Ms.a.SaleTab, i, "SaleTab", o && "Selected"),
          onClick: () => a(t),
          onOKButton: () => a(t),
          style: c,
        },
        r.createElement(
          "div",
          { className: Object(h.a)(Ms.a.SaleTabLabel) },
          l,
        ),
      );
    };
    let yd = class extends r.Component {
      GetTabReferences(e) {
        let t = "";
        for (const n of this.props.event.GetSaleSections())
          "items" === n.section_type &&
            n.capsules &&
            ((n.show_on_tabs &&
              n.show_on_tabs.length > 0 &&
              !n.show_on_tabs.some((e) => e === this.props.tab.unique_id)) ||
              (n.capsules.find((t) => t.type === e.type && t.id === e.id) &&
                (t && (t += "; "),
                (t += Ys(
                  n,
                  this.props.language,
                  this.props.event.clanSteamID.GetAccountID(),
                  !0,
                )))));
        return t;
      }
      RenderTabCapsules() {
        const { tab: e } = this.props;
        if (!e || !e.capsules || !e.capsules.length)
          return r.createElement(
            "div",
            { className: Ms.a.TabContentsElement },
            Object($.f)("#SalePage_Tabs_AllContents"),
          );
        let t = new Array();
        const n = new Set();
        for (const a of e.capsules) {
          const e = Object($.f)("#AppType_" + a.type) + "_" + a.id;
          if (n.has(e)) continue;
          n.add(e);
          const r = Dt.a.Get().GetStoreItem(a.id, Object(On.j)(a.type)),
            i = (null == r ? void 0 : r.GetName()) || e,
            s = void 0 === a.visibility_index ? -1 : a.visibility_index,
            o = this.props.showReferences
              ? a.id +
                " " +
                a.type +
                ', "' +
                i +
                '", ' +
                this.GetTabReferences(a)
              : void 0 === a.visibility_index
                ? i
                : Object($.f)("#Sale_TabDayIndex", a.visibility_index);
          t.push({ sName: i, sKey: e, sDisplay: o, nDaySortIndex: s });
        }
        return (
          t.sort((e, t) =>
            e.nDaySortIndex !== t.nDaySortIndex
              ? e.nDaySortIndex - t.nDaySortIndex
              : e.sName.localeCompare(t.sName),
          ),
          r.createElement(
            r.Fragment,
            null,
            t.map((e) =>
              r.createElement(
                "div",
                { key: e.sKey, className: Ms.a.TabContentsElement },
                e.sDisplay,
              ),
            ),
          )
        );
      }
      render() {
        const { section: e, event: t } = this.props;
        return r.createElement(
          "div",
          { className: Object(h.a)(Ms.a.SaleSection), style: $s(e, t) },
          r.createElement(Zs, Object.assign({}, this.props)),
          r.createElement(
            "div",
            { className: Ms.a.TabContentsContainer },
            this.RenderTabCapsules(),
          ),
        );
      }
    };
    function Ed(e) {
      var t;
      const {
          section: n,
          event: a,
          language: i,
          activeTab: s,
          onTabSelected: l,
        } = e,
        c = Object(zt.d)(() => n.tabs);
      if (
        (r.useEffect(() => {
          s && dn.Get().SetActiveTab(s.unique_id);
        }, [s]),
        c.length < 2)
      )
        return null;
      const d = Object(h.a)(Ms.a.SaleSectionTabsTab),
        u = $s(n, a);
      if (
        (null === (t = null == s ? void 0 : s.tab_bar_bg_image) || void 0 === t
          ? void 0
          : t.length) > 0
      ) {
        const e = be.a.GenerateArtworkURLFromHashAndExtensions(
          a.clanSteamID,
          s.tab_bar_bg_image,
        );
        u.background = `url(${e})`;
      }
      return r.createElement(
        "div",
        {
          className: Object(h.a)(
            Ms.a.SaleSection,
            Ms.a.SaleSectionTabs,
            "dev" === o.c.WEB_UNIVERSE && Ms.a.DesktopTabs,
            "SaleSectionTabs",
          ),
          style: u,
        },
        r.createElement(
          oi,
          { className: Ms.a.SaleSectionTabContainer },
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                Fe.a.SaleSectionContainer,
                Ms.a.SaleSectionTabsRow,
                "SaleSectionCtn_Trgt",
              ),
            },
            c.map((e) =>
              r.createElement(Sd, {
                key: "Tab_" + e.unique_id,
                section: n,
                selected: e === s,
                tab: e,
                language: i,
                classNames: Object(h.a)(
                  d,
                  e === s && Ms.a.SaleSectionTabsSelected,
                ),
                onTabSelected: (e) => l(n, e),
              }),
            ),
          ),
        ),
      );
    }
    yd = Object(a.b)([m.a], yd);
    const Cd = (e) => {
      const {
        section: t,
        activeTab: n,
        onTabSelected: a,
        event: i,
        language: s,
        hideActiveTab: o,
      } = e;
      let l = (function (e) {
        for (const t of e.GetSaleSections())
          if ("tabs" === t.section_type) return t;
        return null;
      })(i);
      if (!l || !l.tabs || 0 === l.tabs.length) return null;
      const c = l.tabs.map((e) => {
        const i =
          (null == n ? void 0 : n.GetActiveTabUniqueID()) === e.unique_id;
        if (i && o) return null;
        const l = t.unique_id + "_tab_button_" + e.unique_id;
        return r.createElement(Sd, {
          key: l,
          selected: i,
          tab: e,
          language: s,
          classNames: Object(h.a)(Ms.a.TabButton, i && Ms.a.TabButtonSelected),
          onTabSelected: (e) => a(t, e),
        });
      });
      return r.createElement(
        "div",
        { className: Ms.a.SaleSection, style: $s(t, i) },
        r.createElement(Zs, Object.assign({}, e)),
        r.createElement("div", { className: Ms.a.TabButtonsCtn }, c),
      );
    };
    class wd {
      constructor() {
        (this.m_mapGenreToStickerResponse = new Map()),
          (this.m_eStoryBadgeGranted = 0),
          "dev" == o.c.WEB_UNIVERSE && (window.g_SummerSale2021Store = this);
        const e = Object(o.g)("summerstory", "application_config");
        if (e) {
          if (e.story_choices) {
            const t = e.story_choices;
            t.sort((e, t) => e.time_chosen - t.time_chosen),
              t.forEach((e) => {
                this.m_mapGenreToStickerResponse.set(e.genre, e);
              });
          }
          e.badge_granted && (this.m_eStoryBadgeGranted = e.badge_granted),
            e.header && (this.m_strLocalizedStoryHeader = e.header),
            e.header_mobile &&
              (this.m_strLocalizedStoryHeaderMobile = e.header_mobile);
        }
      }
      static Get() {
        return wd.s_Singleton || (wd.s_Singleton = new wd()), wd.s_Singleton;
      }
      GetStoryBadgeGranted() {
        return this.m_eStoryBadgeGranted;
      }
      GetLocalizedStoryHeader() {
        return this.m_strLocalizedStoryHeader;
      }
      GetLocalizedStoryHeaderMobile() {
        return this.m_strLocalizedStoryHeaderMobile;
      }
      GetAllGenreChoices() {
        return this.m_mapGenreToStickerResponse;
      }
      GetClaimForGenre(e) {
        return this.m_mapGenreToStickerResponse.get(e);
      }
      LoadClaimForGenre(e, t) {
        var n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapGenreToStickerResponse.has(e)) return;
          if (!o.j.logged_in) return;
          this.m_mapGenreToStickerResponse.set(e, {});
          let a = null;
          try {
            const i = yield F.a.get(
              o.c.STORE_BASE_URL + "promotion/ajaxhasclaimedgenresticker",
              {
                params: { genre: e },
                cancelToken: null == t ? void 0 : t.token,
              },
            );
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 ==
                (null === (n = i.data) || void 0 === n ? void 0 : n.success) &&
              (null === (r = i.data) || void 0 === r ? void 0 : r.results)
            ) {
              const t = i.data.results;
              return void this.m_mapGenreToStickerResponse.set(e, t);
            }
            a = { response: i };
          } catch (e) {
            a = e;
          }
          const i = Object(me.a)(a);
          console.error("Could not check claim on genre", e, i.strErrorMsg, i);
        });
      }
      MakeClaimForGenre(e, t, n) {
        var r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!o.j.logged_in) return 21;
          const a = new FormData();
          a.append("genre", e.toString()),
            a.append("choice", t.toString()),
            a.append("sessionid", o.c.SESSIONID);
          let l = null;
          try {
            const s = yield F.a.post(
              o.c.STORE_BASE_URL + "promotion/ajaxclaimstickerforgenre",
              a,
              {
                withCredentials: !0,
                cancelToken: null == n ? void 0 : n.token,
              },
            );
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 ==
                (null === (r = s.data) || void 0 === r ? void 0 : r.success) &&
              (null === (i = s.data) || void 0 === i ? void 0 : i.results)
            ) {
              const n = s.data.results,
                a = this.m_mapGenreToStickerResponse.get(e);
              return (
                (a.choice = t),
                (a.sticker_def = n.claimed_sticker_def),
                (a.has_completed_story = n.has_completed_story),
                s.data.success
              );
            }
            l = { response: s };
          } catch (e) {
            l = e;
          }
          const c = Object(me.a)(l);
          return (
            console.error("Could not make claim on genre", e, c.strErrorMsg, c),
            (null === (s = null == l ? void 0 : l.data) || void 0 === s
              ? void 0
              : s.success) || 2
          );
        });
      }
    }
    function Bd(e) {
      const t = r.useRef(null);
      r.useEffect(() => {
        const e = F.a.CancelToken.source();
        return (t.current = e), () => e.cancel("useGenreClaim: unmounting");
      }, []),
        wd.Get().LoadClaimForGenre(e, t.current);
      return [
        wd.Get().GetClaimForGenre(e),
        (n) =>
          Object(a.a)(this, void 0, void 0, function* () {
            yield wd.Get().MakeClaimForGenre(e, n, t.current);
          }),
      ];
    }
    Object(a.b)([L.C], wd.prototype, "m_mapGenreToStickerResponse", void 0),
      Object(a.b)([L.C], wd.prototype, "m_eStoryBadgeGranted", void 0);
    function Od(e) {
      const [t] = Bd(e);
      return (null == t ? void 0 : t.sticker_def)
        ? `${o.c.MEDIA_CDN_COMMUNITY_URL}images/items/1658760/${t.sticker_def.item_image_small}`
        : null;
    }
    const Dd = [
      null,
      {
        eGenre: 1,
        strPageTitle: "#Summer21_Story_Action_Title",
        strPageNumber: "#Summer21_Story_Action_Pg",
        strPageText: "#Summer21_Story_Action_Intro",
        strOptionA: "#Summer21_Story_Action_Choice1",
        strPageNumberA: "#Summer21_Story_Action_Outcome1_Pg",
        strResultA: "#Summer21_Story_Action_Outcome1",
        strOptionB: "#Summer21_Story_Action_Choice2",
        strPageNumberB: "#Summer21_Story_Action_Outcome2_Pg",
        strResultB: "#Summer21_Story_Action_Outcome2",
        strSalePage: "summer2021_action",
        strBackgroundColor: "#c5483f",
        strGenreName: "#Summer21_Story_Action_Genre",
      },
      {
        eGenre: 2,
        strPageTitle: "#Summer21_Story_Adventure_Title",
        strPageNumber: "#Summer21_Story_Adventure_Pg",
        strPageText: "#Summer21_Story_Adventure_Intro",
        strOptionA: "#Summer21_Story_Adventure_Choice1",
        strPageNumberA: "#Summer21_Story_Adventure_Outcome1_Pg",
        strResultA: "#Summer21_Story_Adventure_Outcome1",
        strOptionB: "#Summer21_Story_Adventure_Choice2",
        strPageNumberB: "#Summer21_Story_Adventure_Outcome2_Pg",
        strResultB: "#Summer21_Story_Adventure_Outcome2",
        strSalePage: "summer2021_adventure_casual",
        strBackgroundColor: "#657F5B",
        strGenreName: "#Summer21_Story_Adventure_Genre",
      },
      {
        eGenre: 3,
        strPageTitle: "#Summer21_Story_RPG_Title",
        strPageNumber: "#Summer21_Story_RPG_Pg",
        strPageText: "#Summer21_Story_RPG_Intro",
        strOptionA: "#Summer21_Story_RPG_Choice1",
        strPageNumberA: "#Summer21_Story_RPG_Outcome1_Pg",
        strResultA: "#Summer21_Story_RPG_Outcome1",
        strOptionB: "#Summer21_Story_RPG_Choice2",
        strPageNumberB: "#Summer21_Story_RPG_Outcome2_Pg",
        strResultB: "#Summer21_Story_RPG_Outcome2",
        strSalePage: "summer2021_rpg",
        strBackgroundColor: "#bf673b",
        strGenreName: "#Summer21_Story_RPG_Genre",
      },
      {
        eGenre: 4,
        strPageTitle: "#Summer21_Story_Strategy_Title",
        strPageNumber: "#Summer21_Story_Strategy_Pg",
        strPageText: "#Summer21_Story_Strategy_Intro",
        strOptionA: "#Summer21_Story_Strategy_Choice1",
        strPageNumberA: "#Summer21_Story_Strategy_Outcome1_Pg",
        strResultA: "#Summer21_Story_Strategy_Outcome1",
        strOptionB: "#Summer21_Story_Strategy_Choice2",
        strPageNumberB: "#Summer21_Story_Strategy_Outcome2_Pg",
        strResultB: "#Summer21_Story_Strategy_Outcome2",
        strSalePage: "summer2021_strategy",
        strBackgroundColor: "#E3B343",
        strGenreName: "#Summer21_Story_Strategy_Genre",
      },
      {
        eGenre: 5,
        strPageTitle: "#Summer21_Story_Sim_Title",
        strPageNumber: "#Summer21_Story_Sim_Pg",
        strPageText: "#Summer21_Story_Sim_Intro",
        strOptionA: "#Summer21_Story_Sim_Choice1",
        strPageNumberA: "#Summer21_Story_Sim_Outcome1_Pg",
        strResultA: "#Summer21_Story_Sim_Outcome1",
        strOptionB: "#Summer21_Story_Sim_Choice2",
        strPageNumberB: "#Summer21_Story_Sim_Outcome2_Pg",
        strResultB: "#Summer21_Story_Sim_Outcome2",
        strSalePage: "summer2021_simulation",
        strBackgroundColor: "#437882",
        strGenreName: "#Summer21_Story_Sim_Genre",
      },
      {
        eGenre: 6,
        strPageTitle: "#Summer21_Story_Sports_Title",
        strPageNumber: "#Summer21_Story_Sports_Pg",
        strPageText: "#Summer21_Story_Sports_Intro",
        strOptionA: "#Summer21_Story_Sports_Choice1",
        strPageNumberA: "#Summer21_Story_Sports_Outcome1_Pg",
        strResultA: "#Summer21_Story_Sports_Outcome1",
        strOptionB: "#Summer21_Story_Sports_Choice2",
        strPageNumberB: "#Summer21_Story_Sports_Outcome2_Pg",
        strResultB: "#Summer21_Story_Sports_Outcome2",
        strSalePage: "summer2021_sports_racing",
        strBackgroundColor: "#E3B343",
        strGenreName: "#Summer21_Story_Sports_Genre",
      },
      {
        eGenre: 7,
        strPageTitle: "#Summer21_Story_Horror_Title",
        strPageNumber: "#Summer21_Story_Horror_Pg",
        strPageText: "#Summer21_Story_Horror_Intro",
        strOptionA: "#Summer21_Story_Horror_Choice1",
        strPageNumberA: "#Summer21_Story_Horror_Outcome1_Pg",
        strResultA: "#Summer21_Story_Horror_Outcome1",
        strOptionB: "#Summer21_Story_Horror_Choice2",
        strPageNumberB: "#Summer21_Story_Horror_Outcome2_Pg",
        strResultB: "#Summer21_Story_Horror_Outcome2",
        strSalePage: "summer2021_horror",
        strBackgroundColor: "#657F5B",
        strGenreName: "#Summer21_Story_Horror_Genre",
      },
      {
        eGenre: 8,
        strPageTitle: "#Summer21_Story_Survival_Title",
        strPageNumber: "#Summer21_Story_Survival_Pg",
        strPageText: "#Summer21_Story_Survival_Intro",
        strOptionA: "#Summer21_Story_Survival_Choice1",
        strPageNumberA: "#Summer21_Story_Survival_Outcome1_Pg",
        strResultA: "#Summer21_Story_Survival_Outcome1",
        strOptionB: "#Summer21_Story_Survival_Choice2",
        strPageNumberB: "#Summer21_Story_Survival_Outcome2_Pg",
        strResultB: "#Summer21_Story_Survival_Outcome2",
        strSalePage: "summer2021_survival",
        strBackgroundColor: "#bf673b",
        strGenreName: "#Summer21_Story_Survival_Genre",
      },
      {
        eGenre: 9,
        strPageTitle: "#Summer21_Story_Open_Title",
        strPageNumber: "#Summer21_Story_Open_Pg",
        strPageText: "#Summer21_Story_Open_Intro",
        strOptionA: "#Summer21_Story_Open_Choice1",
        strPageNumberA: "#Summer21_Story_Open_Outcome1_Pg",
        strResultA: "#Summer21_Story_Open_Outcome1",
        strOptionB: "#Summer21_Story_Open_Choice2",
        strPageNumberB: "#Summer21_Story_Open_Outcome2_Pg",
        strResultB: "#Summer21_Story_Open_Outcome2",
        strSalePage: "summer2021_open_world",
        strBackgroundColor: "#657F5B",
        strGenreName: "#Summer21_Story_Open_Genre",
      },
      {
        eGenre: 10,
        strPageTitle: "#Summer21_Story_SciFi_Title",
        strPageNumber: "#Summer21_Story_SciFi_Pg",
        strPageText: "#Summer21_Story_SciFi_Intro",
        strOptionA: "#Summer21_Story_SciFi_Choice1",
        strPageNumberA: "#Summer21_Story_SciFi_Outcome1_Pg",
        strResultA: "#Summer21_Story_SciFi_Outcome1",
        strOptionB: "#Summer21_Story_SciFi_Choice2",
        strPageNumberB: "#Summer21_Story_SciFi_Outcome2_Pg",
        strResultB: "#Summer21_Story_SciFi_Outcome2",
        strSalePage: "summer2021_scifi",
        strBackgroundColor: "#986280",
        strGenreName: "#Summer21_Story_SciFi_Genre",
      },
      {
        eGenre: 11,
        strPageTitle: "#Summer21_Story_Mystery_Title",
        strPageNumber: "#Summer21_Story_Mystery_Pg",
        strPageText: "#Summer21_Story_Mystery_Intro",
        strOptionA: "#Summer21_Story_Mystery_Choice1",
        strPageNumberA: "#Summer21_Story_Mystery_Outcome1_Pg",
        strResultA: "#Summer21_Story_Mystery_Outcome1",
        strOptionB: "#Summer21_Story_Mystery_Choice2",
        strPageNumberB: "#Summer21_Story_Mystery_Outcome2_Pg",
        strResultB: "#Summer21_Story_Mystery_Outcome2",
        strSalePage: "summer2021_mystery",
        strBackgroundColor: "#B24939",
        strGenreName: "#Summer21_Story_Mystery_Genre",
      },
      {
        eGenre: 12,
        strPageTitle: "#Summer21_Story_Space_Title",
        strPageNumber: "#Summer21_Story_Space_Pg",
        strPageText: "#Summer21_Story_Space_Intro",
        strOptionA: "#Summer21_Story_Space_Choice1",
        strPageNumberA: "#Summer21_Story_Space_Outcome1_Pg",
        strResultA: "#Summer21_Story_Space_Outcome1",
        strOptionB: "#Summer21_Story_Space_Choice2",
        strPageNumberB: "#Summer21_Story_Space_Outcome2_Pg",
        strResultB: "#Summer21_Story_Space_Outcome2",
        strSalePage: "summer2021_space",
        strBackgroundColor: "#437882",
        strGenreName: "#Summer21_Story_Space_Genre",
      },
      {
        eGenre: 13,
        strPageTitle: "#Summer21_Story_Roguelike_Title",
        strPageNumber: "#Summer21_Story_Roguelike_Pg",
        strPageText: "#Summer21_Story_Roguelike_Intro",
        strOptionA: "#Summer21_Story_Roguelike_Choice1",
        strPageNumberA: "#Summer21_Story_Roguelike_Outcome1_Pg",
        strResultA: "#Summer21_Story_Roguelike_Outcome1",
        strOptionB: "#Summer21_Story_Roguelike_Choice2",
        strPageNumberB: "#Summer21_Story_Roguelike_Outcome2_Pg",
        strResultB: "#Summer21_Story_Roguelike_Outcome2",
        strSalePage: "summer2021_roguelike",
        strBackgroundColor: "#B24939",
        strGenreName: "#Summer21_Story_Roguelike_Genre",
      },
      {
        eGenre: 14,
        strPageTitle: "#Summer21_Story_Anime_Title",
        strPageNumber: "#Summer21_Story_Anime_Pg",
        strPageText: "#Summer21_Story_Anime_Intro",
        strOptionA: "#Summer21_Story_Anime_Choice1",
        strPageNumberA: "#Summer21_Story_Anime_Outcome1_Pg",
        strResultA: "#Summer21_Story_Anime_Outcome1",
        strOptionB: "#Summer21_Story_Anime_Choice2",
        strPageNumberB: "#Summer21_Story_Anime_Outcome2_Pg",
        strResultB: "#Summer21_Story_Anime_Outcome2",
        strSalePage: "summer2021_anime",
        strBackgroundColor: "#986280",
        strGenreName: "#Summer21_Story_Anime_Genre",
      },
    ];
    var Id = n("Ecu1"),
      Td = n.n(Id);
    const Rd = Object(m.a)((e) => {
        var t, n;
        const { section: a, event: i, language: s } = e,
          l =
            null === (t = a.internal_section_data) || void 0 === t
              ? void 0
              : t.cyoa_story_genre;
        r.useEffect(() => {
          const e = document.createElement("link");
          (e.rel = "stylesheet"),
            (e.href =
              "https://fonts.googleapis.com/css2?family=Noto+Serif&family=Noto+Serif+JP&family=Noto+Serif+KR&family=Noto+Serif+SC:wght@500&family=Noto+Serif+TC&family=Jomhuria&&family=Big+Shoulders+Display:wght@800&display=swap"),
            document.head.appendChild(e);
        }, []);
        const c = Od(l),
          [d] = Bd(l),
          u = !!(null == d ? void 0 : d.choice);
        let m = a.background_gradient_top || "dimgray",
          p = a.label_color || "black";
        u && ([m, p] = [p, m]);
        const _ = { backgroundColor: m, color: p },
          g = !o.j.logged_in,
          b = g
            ? Nr.a
            : o.j.is_limited
              ? (e) => {
                  const t = Object(v.o)(e),
                    n = r.createElement(
                      "a",
                      { href: o.c.HELP_BASE_URL },
                      Object($.f)("#User_LimitedAccount_UrlInfo"),
                    );
                  Object(ze.b)(
                    r.createElement(xe.e, {
                      strTitle: Object($.f)(
                        "#SummerSale2021_LimitedUserDialogTitle",
                      ),
                      strDescription: Object($.o)("#User_LimitedAccount", n),
                      bAlertDialog: !0,
                    }),
                    t,
                  );
                }
              : (e) => {
                  const t = Object(v.o)(e);
                  Object(ze.b)(
                    r.createElement(jd, { eGenre: l, language: s }),
                    t,
                    { bNeverPopOut: !0 },
                  );
                },
          f = Object($.f)(
            g
              ? "#SummerSale2021_CallToAction_NeedToSignIn"
              : u
                ? "#Summer_21_Story_Sticker_Unlock"
                : "#SummerSale2021_CallToAction_FirstLine",
          ),
          S = Object($.f)(
            u
              ? null === (n = null == d ? void 0 : d.sticker_def) ||
                void 0 === n
                ? void 0
                : n.item_title
              : "#SummerSale2021_CallToAction_SecondLine",
          );
        return r.createElement(
          "div",
          { className: Object(h.a)(Ms.a.SaleSection, Td.a.SaleSection) },
          r.createElement(
            "div",
            { className: Td.a.BookmarkCtn, onClick: b },
            r.createElement(
              "svg",
              {
                className: Td.a.BookmarkTriangle,
                viewBox: "0 0 120 100",
                preserveAspectRatio: "none",
                style: { color: m },
              },
              r.createElement("path", {
                d: "M 0,0 L 120,0 L 120, 50 L 100,50 Z",
                fill: "currentColor",
              }),
              r.createElement("path", {
                d: "M 0,100 L 120,100 L 120,50 L 100,50 Z",
                fill: "currentColor",
              }),
            ),
            r.createElement(
              "div",
              { className: Td.a.BookmarkText, style: _ },
              r.createElement("div", { className: Td.a.BookmarkFirstLine }, f),
              r.createElement("div", { className: Td.a.BookmarkSecondLine }, S),
            ),
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  Td.a.BookmarkIcon,
                  u && Td.a.BookmarkBadgedIcon,
                ),
                style: _,
              },
              u
                ? r.createElement("img", {
                    className: Td.a.BookmarkBadge,
                    src: c,
                  })
                : r.createElement(H.kb, null),
            ),
          ),
        );
      }),
      jd = Object(m.a)((e) => {
        const { closeModal: t, eGenre: n, language: i } = e,
          s = (function (e) {
            return !e || e >= Dd.length ? null : Dd[e];
          })(n),
          [l, c] = Bd(n),
          u = null == l ? void 0 : l.choice,
          m = 1 === u,
          p = 2 === u,
          [_, g] = r.useState(!1);
        if (!s)
          return console.error("Unsupported genre", n), null == t || t(), null;
        const b = (e) =>
          Object(a.a)(void 0, void 0, void 0, function* () {
            (u && u != e) || g(!0), u || (yield c(e));
          });
        return r.createElement(
          xe.f,
          {
            className: Object(h.a)(Td.a.StoryDialog, Object(le.d)(i)),
            closeModal: t,
            bHideCloseIcon: !0,
          },
          r.createElement(
            d.a,
            {
              timeout: 500,
              in: !0,
              appear: !0,
              classNames: { appearActive: Td.a.Opening, enterDone: Td.a.Open },
            },
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  Td.a.StoryPage,
                  Td.a.PageOne,
                  _ && Td.a.OnPageTwo,
                ),
              },
              r.createElement(
                "div",
                { className: Td.a.StoryHeader },
                r.createElement(
                  "div",
                  { className: Td.a.PageNumber },
                  Object($.f)(s.strPageNumber),
                ),
                r.createElement(
                  "div",
                  { className: Td.a.PageTitle },
                  Object($.f)(s.strPageTitle),
                ),
              ),
              r.createElement(
                "div",
                { className: Td.a.PageText },
                Object($.f)(s.strPageText),
              ),
              r.createElement(
                "div",
                { className: Td.a.PageFooter },
                r.createElement(
                  "div",
                  { className: Td.a.NoticeBox },
                  r.createElement(
                    "a",
                    {
                      className: Td.a.OptionTextNotice,
                      href: o.c.STORE_BASE_URL + "forgeyourfate",
                    },
                    Object($.f)("#Summer_21_Story_Decide_Notice"),
                  ),
                ),
                r.createElement(
                  "div",
                  {
                    className: Object(h.a)(Td.a.OptionText, p && Td.a.Disabled),
                    onClick: () => b(1),
                  },
                  Object($.f)(s.strOptionA),
                ),
                r.createElement(
                  "div",
                  {
                    className: Object(h.a)(Td.a.OptionText, m && Td.a.Disabled),
                    onClick: () => b(2),
                  },
                  Object($.f)(s.strOptionB),
                ),
              ),
            ),
          ),
          _ &&
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  Td.a.StoryPage,
                  Td.a.PageTwo,
                  _ && Td.a.OnPageTwo,
                ),
              },
              r.createElement(
                "div",
                { className: Td.a.StoryHeader },
                r.createElement(
                  "div",
                  { className: Td.a.PageNumber },
                  Object($.f)(m ? s.strPageNumberA : s.strPageNumberB),
                ),
                r.createElement(
                  "div",
                  { className: Td.a.PageTitle },
                  Object($.f)(s.strPageTitle),
                ),
              ),
              r.createElement(
                "div",
                { className: Td.a.PageText },
                Object($.f)(m ? s.strResultA : s.strResultB),
              ),
              r.createElement(
                "div",
                { className: Td.a.PageFooter },
                r.createElement(
                  "a",
                  {
                    className: Td.a.OptionText,
                    href:
                      o.c.STORE_BASE_URL +
                      "forgeyourfate" +
                      ((null == l ? void 0 : l.has_completed_story)
                        ? "#badge"
                        : "#next"),
                  },
                  Object($.f)(
                    (null == l ? void 0 : l.has_completed_story)
                      ? "#Summer_21_Story_Complete"
                      : "#Summer_21_Story_Continue",
                  ),
                ),
              ),
              r.createElement(Ad, { eGenre: n }),
            ),
        );
      }),
      Ad = (e) => {
        var t;
        const { eGenre: n } = e,
          [a] = Bd(n),
          i = Od(n),
          [s, l] = r.useState(!0);
        if (
          (r.useEffect(() => {
            const e = window.setTimeout(() => l(!1), 600);
            return () => window.clearTimeout(e);
          }, []),
          s)
        )
          return null;
        const c =
          o.c.COMMUNITY_BASE_URL + "profiles/" + o.j.steamid + "/inventory";
        return r.createElement(
          d.a,
          {
            timeout: 500,
            in: !0,
            appear: !0,
            classNames: { appearActive: Td.a.Opening, enterDone: Td.a.Open },
          },
          r.createElement(
            "div",
            { className: Td.a.ResultBadge },
            r.createElement(
              "a",
              { href: c },
              r.createElement("img", { className: Td.a.BadgeImage, src: i }),
            ),
            r.createElement(
              "div",
              { className: Td.a.BadgeText },
              Object($.f)("#Summer_21_Story_Sticker_Unlock"),
            ),
            r.createElement(
              "div",
              { className: Td.a.BadgeTitle },
              null === (t = null == a ? void 0 : a.sticker_def) || void 0 === t
                ? void 0
                : t.item_title,
            ),
            r.createElement(
              "a",
              { className: Td.a.BadgeFooter, href: c },
              Object($.f)("#Summer_21_Story_Sticker_Inventory"),
            ),
          ),
        );
      };
    var kd = n("Coar");
    function Md(e) {
      const { event: t, section: n, language: a } = e;
      return i.a.createElement(
        ea.b,
        { feature: "badgeprogress" },
        i.a.createElement(
          er.a,
          {
            placeholderHeight: "100vh",
            rootMargin: es,
            className: Object(h.a)(
              ks.SaleSection,
              os.a.SaleSectionCtn,
              "SaleQuizCSS",
            ),
            style: $s(n, t),
          },
          i.a.createElement(Zs, { section: n, event: t, language: a }),
          o.j.logged_in
            ? i.a.createElement(Nd, Object.assign({}, e))
            : i.a.createElement(Pd, Object.assign({}, e)),
        ),
      );
    }
    function Pd(e) {
      var t;
      const { bIsPreview: n, event: a, section: r, language: s } = e,
        { badge_progress: l } = r;
      if (
        (null === (t = l.levels) || void 0 === t ? void 0 : t.length) < 2 &&
        n
      )
        return i.a.createElement(
          "div",
          null,
          "Warning: Badge widget error, we require at least two badge levels",
        );
      const c = $.b.GetELanguageFallback(s),
        d = l.localized_name
          ? l.localized_name[s] || l.localized_name[c] || ""
          : void 0,
        u = l.localized_initial_description
          ? l.localized_initial_description[s] ||
            l.localized_initial_description[c] ||
            ""
          : void 0;
      return i.a.createElement(
        "div",
        { className: kd.OuterCtn },
        i.a.createElement(
          "div",
          {
            className: Object(h.a)(
              kd.ImgSpread,
              "salebadgeprogressdisplay_ImgSpread",
            ),
          },
          i.a.createElement("img", {
            src: Object(Rt.g)(
              l.levels[0].ghost_badge_icon_url || l.levels[0].badge_icon_url,
            ),
          }),
          i.a.createElement("img", {
            src: Object(Rt.g)(
              l.levels[1].ghost_badge_icon_url || l.levels[1].badge_icon_url,
            ),
          }),
        ),
        i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                kd.Title,
                "salebadgeprogressdisplay_Title",
              ),
            },
            d,
          ),
          i.a.createElement(dh, {
            text: u,
            partnerEventStore: St.b,
            showErrorInfo: n,
            event: a,
            languageOverride: s,
          }),
          !o.j.logged_in &&
            i.a.createElement(
              i.a.Fragment,
              null,
              Object($.l)(
                "#SalePage_BadgeProgress_LoginPrompt",
                i.a.createElement("a", { onClick: Nr.a }),
              ),
            ),
        ),
      );
    }
    function Ld(e) {
      var t;
      const {
          nBelowIndex: n,
          nAboveIndex: a,
          bIsPreview: r,
          event: s,
          section: o,
          language: l,
        } = e,
        { badge_progress: c } = o,
        d = $.b.GetELanguageFallback(l),
        u = c.localized_name
          ? c.localized_name[l] || c.localized_name[d] || ""
          : void 0,
        m = c.localized_progress_description
          ? c.localized_progress_description[l] ||
            c.localized_progress_description[d] ||
            ""
          : void 0,
        p = wo(c.event_badgeid);
      return i.a.createElement(
        "div",
        { className: kd.OuterCtn },
        i.a.createElement(
          "div",
          { className: Object(h.a)(kd.ImgCtnWithArrow, "ImgCtnWithArrow") },
          i.a.createElement(
            "div",
            { className: Object(h.a)(kd.BadgeTierCtn, "BadgeTierCtn") },
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  kd.BadgeDesc,
                  "salepagebadgeprogressdisplay_BadgeDesc",
                ),
              },
              Object($.f)("#SalePage_BadgeProgress_YourBadge"),
            ),
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  kd.BadgeLevel,
                  "salepagebadgeprogressdisplay_BadgeLevel",
                ),
              },
              Object($.f)(
                "#SalePage_BadgeProgress_LevelNum",
                null === (t = null == p ? void 0 : p.level) || void 0 === t
                  ? void 0
                  : t.toLocaleString(),
              ),
            ),
            i.a.createElement("img", {
              src: Object(Rt.g)(c.levels[n].badge_icon_url),
            }),
          ),
          i.a.createElement(H.c, { angle: 90 }),
          i.a.createElement(
            "div",
            { className: Object(h.a)(kd.BadgeTierCtn, "BadgeTierCtn") },
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  kd.BadgeDesc,
                  "salepagebadgeprogressdisplay_BadgeDesc",
                ),
              },
              Object($.f)("#SalePage_BadgeProgress_NextTier"),
            ),
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  kd.BadgeLevel,
                  "salepagebadgeprogressdisplay_BadgeLevel",
                ),
              },
              Object($.f)(
                "#SalePage_BadgeProgress_LevelNum",
                c.levels[a].level,
              ),
            ),
            i.a.createElement("img", {
              src: Object(Rt.g)(
                c.levels[a].ghost_badge_icon_url || c.levels[a].badge_icon_url,
              ),
            }),
          ),
        ),
        i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                kd.Title,
                "salebadgeprogressdisplay_Title",
              ),
            },
            u,
          ),
          i.a.createElement(dh, {
            text: m,
            partnerEventStore: St.b,
            showErrorInfo: r,
            event: s,
            languageOverride: l,
          }),
        ),
      );
    }
    function Gd(e) {
      var t;
      const {
          nHighestLevelIndex: n,
          bIsPreview: a,
          event: r,
          section: s,
          language: o,
        } = e,
        { badge_progress: l } = s,
        c = $.b.GetELanguageFallback(o),
        d = l.localized_name
          ? l.localized_name[o] || l.localized_name[c] || ""
          : void 0,
        u = l.localized_maxtier_description
          ? l.localized_maxtier_description[o] ||
            l.localized_maxtier_description[c] ||
            ""
          : void 0,
        m = wo(l.event_badgeid);
      return i.a.createElement(
        "div",
        { className: kd.OuterCtn },
        i.a.createElement(
          "div",
          { className: kd.FinalBadge },
          i.a.createElement("img", {
            src: Object(Rt.g)(l.levels[n].badge_icon_url),
          }),
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                kd.BadgeLevel,
                "salepagebadgeprogressdisplay_BadgeLevel_Final",
              ),
            },
            Object($.f)(
              "#SalePage_BadgeProgress_LevelNum",
              null === (t = null == m ? void 0 : m.level) || void 0 === t
                ? void 0
                : t.toLocaleString(),
            ),
          ),
        ),
        i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                kd.Title,
                "salebadgeprogressdisplay_Title",
              ),
            },
            d,
          ),
          i.a.createElement(dh, {
            text: u,
            partnerEventStore: St.b,
            showErrorInfo: a,
            event: r,
            languageOverride: o,
          }),
        ),
      );
    }
    function Nd(e) {
      const { badge_progress: t } = e.section,
        n = wo(t.event_badgeid),
        [a, s] = Object(r.useMemo)(() => {
          let e = -1,
            a = -1;
          return (
            t.levels.forEach((r, i) => {
              r.level <= (null == n ? void 0 : n.level) &&
                (-1 == e || t.levels[e].level < r.level) &&
                (e = i),
                r.level > (null == n ? void 0 : n.level) &&
                  (-1 == a || t.levels[a].level > r.level) &&
                  (a = i);
            }),
            [e, a]
          );
        }, [t.levels, null == n ? void 0 : n.level]);
      return n
        ? -1 == a
          ? i.a.createElement(Pd, Object.assign({}, e))
          : -1 == s
            ? i.a.createElement(Gd, Object.assign({ nHighestLevelIndex: a }, e))
            : i.a.createElement(
                Ld,
                Object.assign({ nAboveIndex: s, nBelowIndex: a }, e),
              )
        : i.a.createElement(ee.a, { size: "medium", position: "center" });
    }
    var Fd = n("A2YN"),
      xd = n("wb6w"),
      zd = n("XGRy"),
      Ud = n("SpZB"),
      Wd = n("5ZQm"),
      Hd = n("by5a"),
      Vd = n("c7k8"),
      qd = (n("IDaJ"), n("XUgT")),
      Kd = n("X9fq"),
      Qd = (n("DV2j"), n("DRUm")),
      Yd = n("m/d7");
    const Zd = new Qd.a("VirtualizedBoxCarousel").Debug,
      Jd = r.forwardRef(function (e, t) {
        const { name: n, initialColumn: a } = e,
          [i, s] = Object(Yd.a)("VBC_" + n, a || 0);
        return r.createElement(
          Xd,
          Object.assign({}, e, {
            ref: t,
            focusedColumn: i,
            setFocusedColumn: s,
          }),
        );
      });
    class Xd extends r.PureComponent {
      constructor() {
        super(...arguments),
          (this.state = { nContainerWidth: 0, nRightPadding: 0 }),
          (this.m_refContainer = r.createRef()),
          (this.m_refGrid = void 0),
          (this.m_refGridElement = void 0),
          (this.m_resizeObserver = new ResizeObserver(this.OnResize)),
          (this.m_scrollAnimation = null),
          (this.m_mapRefs = new Map()),
          (this.m_iStart = 0),
          (this.m_iEnd = 0),
          (this.m_activeScrollTo = null),
          (this.m_timeout = void 0);
      }
      StartScrollAnimation(e, t, n, a, r) {
        let i = this.m_refGrid;
        if (i)
          if (r) {
            const i = this.m_refGridElement;
            Zd("StartScrollAnimation", n, a, r);
            let s = {
              msDuration: r,
              timing: this.props.scrollTiming,
              onComplete: () => this.OnAnimationScrollComplete(e, t, n, a),
            };
            this.m_scrollAnimation && this.m_scrollAnimation.End(),
              (this.m_scrollAnimation = new Kd.c(i, { scrollLeft: a }, s)),
              this.m_scrollAnimation.Start();
          } else
            i.scrollToPosition({ scrollLeft: a, scrollTop: 0 }),
              this.OnAnimationScrollComplete(e, t, n, a);
      }
      RestoreScrollPosition(e) {
        this.StartScrollAnimation(
          qd.a.INVALID,
          0,
          "RestoreScrollPosition",
          e,
          0,
        );
      }
      SendScrollNotification(e) {
        this.m_timeout && window.clearTimeout(this.m_timeout);
        const t = this.props.fnOnScroll;
        this.m_timeout = window.setTimeout(() => {
          t && t(e), (this.m_timeout = void 0);
        }, 250);
      }
      OnAnimationScrollComplete(e, t, n, a) {
        s.unstable_batchedUpdates(() => {
          Zd("OnAnimationScrollComplete", n, a), this.SendScrollNotification(a);
          const r = this.m_mapRefs.get(n);
          r && r.current && (Zd("Sending focus to", n), r.current.TakeFocus(e)),
            this.props.setFocusedColumn(t),
            (this.m_scrollAnimation = null),
            (this.m_activeScrollTo = null);
        });
      }
      OnTouchStart(e) {
        1 == e.touches.length &&
          (this.m_nTouchStartClientX = e.touches[0].clientX);
      }
      OnTouchMove(e) {
        if (!this.m_refGrid || 0 == e.touches.length) return;
        const t = this.m_nTouchStartClientX - e.touches[0].clientX;
        this.BlockMovementLeftPastFirstElement(e, t);
      }
      BlockMovementLeftPastFirstElement(e, t) {
        const n = this.m_refGrid.getOffsetForCell({
          alignment: this.props.scrollToAlignment,
          columnIndex: this.props.nIndexLeftmost,
        });
        this.m_refGridElement.scrollLeft - n.scrollLeft + t < 0 &&
          e.cancelable &&
          (console.warn("Blocking touch scroll out of bounds"),
          e.cancelable && e.preventDefault());
      }
      SnapBackToFirstElement(e) {
        console.warn("Carousel out of bounds, scrolling back to", e),
          this.RestoreScrollPosition(e);
      }
      OnScroll(e) {
        var t;
        const n =
          null === (t = this.m_refGrid) || void 0 === t
            ? void 0
            : t.getOffsetForCell({
                alignment: this.props.scrollToAlignment,
                columnIndex: this.props.nIndexLeftmost,
              });
        this.SendScrollNotification(e.scrollLeft),
          e.scrollLeft < Math.floor(null == n ? void 0 : n.scrollLeft) &&
            this.SnapBackToFirstElement(n.scrollLeft),
          this.UpdateScrollArrows();
      }
      GetCellColumnWidth(e) {
        let { fnGetColumnWidth: t } = this.props,
          n = t(e.index) + this.props.nItemMarginX;
        return (
          e.index == this.props.nNumItems - 1 &&
            (n += this.state.nRightPadding),
          n
        );
      }
      OnItemFocused(e) {
        this.ScrollToItem(
          qd.a.INVALID,
          e,
          this.props.scrollToAlignment || "auto",
          void 0,
          0,
        );
      }
      CellRenderer(e) {
        const {
            fnGetColumnWidth: t,
            fnGetId: n,
            fnItemRenderer: a,
            nItemHeight: i,
            autoFocus: s,
          } = this.props,
          { key: o, columnIndex: l, style: c } = e,
          d = t(l),
          u = parseInt(c.left.toString()),
          m = n(l),
          p = !this.m_mapRefs.has(m),
          h = this.m_mapRefs.get(m) || Object(xn.a)();
        return (
          this.m_mapRefs.set(m, h),
          r.createElement(
            Ct.a,
            {
              key: o,
              navKey: o,
              navRef: h,
              focusable: !1,
              onGamepadDirection: this.OnGamepadDirection,
              autoFocus: s && l == this.props.focusedColumn && p,
              "data-id": m,
              onFocus: () => this.OnItemFocused(l),
              style: c,
            },
            a(l, d, i, u),
          )
        );
      }
      OnSectionRendered(e) {
        (this.m_iStart = e.columnStartIndex),
          (this.m_iEnd = e.columnStopIndex),
          Zd("Section rendered", this.m_iStart, this.m_iEnd),
          this.UpdateScrollArrows();
      }
      get alignment() {
        return this.props.scrollToAlignment || "start";
      }
      GetLastFocusableColumn() {
        let e = this.props.nNumItems - 1;
        if (this.props.fnDoesItemTakeFocus)
          for (
            ;
            !this.props.fnDoesItemTakeFocus(e) && e > this.props.nIndexLeftmost;
          )
            e--;
        return Zd("LastFocusableColumn: ", e), e;
      }
      UpdateScrollArrows() {
        var e, t, n;
        if (this.props.fnUpdateArrows) {
          const a =
              null === (e = this.m_refGrid) || void 0 === e
                ? void 0
                : e.getOffsetForCell({
                    alignment: this.props.scrollToAlignment,
                    columnIndex: this.props.nIndexLeftmost,
                  }),
            r =
              null === (t = this.m_refGrid) || void 0 === t
                ? void 0
                : t.getOffsetForCell({
                    alignment: this.props.scrollToAlignment,
                    columnIndex: this.GetLastFocusableColumn(),
                  }),
            i = Math.round(
              null === (n = this.m_refGridElement) || void 0 === n
                ? void 0
                : n.scrollLeft,
            ),
            s =
              i != Math.floor(null == a ? void 0 : a.scrollLeft) &&
              i != Math.round(null == a ? void 0 : a.scrollLeft),
            o =
              i != Math.floor(null == r ? void 0 : r.scrollLeft) &&
              i != Math.round(null == r ? void 0 : r.scrollLeft);
          Zd(
            "ShowLeftArrow: ",
            s,
            a,
            " ShowRightArrow: ",
            o,
            r,
            " ScrollPos: ",
            i,
          ),
            this.props.fnUpdateArrows(s, o);
        }
      }
      BindGridObject(e) {
        if (
          (this.m_refGridElement &&
            (this.m_refGridElement.removeEventListener(
              "touchstart",
              this.OnTouchStart,
            ),
            this.m_refGridElement.removeEventListener(
              "touchmove",
              this.OnTouchMove,
            )),
          (this.m_refGrid = e),
          (this.m_refGridElement = void 0),
          this.m_refGrid)
        ) {
          const e = s.findDOMNode(this.m_refGrid);
          (this.m_refGridElement = e),
            null == e || e.addEventListener("touchstart", this.OnTouchStart),
            null == e ||
              e.addEventListener("touchmove", this.OnTouchMove, {
                passive: !1,
              });
          const t = window.getComputedStyle(e),
            n = parseInt(t.getPropertyValue("padding-right")) || 0,
            a = parseInt(t.getPropertyValue("scroll-padding-right")) || 0,
            r = Math.max(n, a);
          r != this.state.nRightPadding &&
            (Zd("Computed", r, "additional right padding"),
            this.setState({ nRightPadding: r }, () => {
              this.m_refGrid.recomputeGridSize({
                columnIndex: this.props.nNumItems - 1,
              });
            }));
        }
      }
      componentDidMount() {
        this.m_refContainer.current &&
          (this.m_resizeObserver.observe(this.m_refContainer.current),
          Zd(
            "componentDidMount Setting width to",
            this.m_refContainer.current.clientWidth,
          ),
          this.setState({
            nContainerWidth: this.m_refContainer.current.clientWidth,
          }));
      }
      componentDidUpdate(e) {
        this.props.fnGetColumnWidth != e.fnGetColumnWidth &&
          (Zd("Column width function changes, recalculating sizes"),
          this.m_refGrid.recomputeGridSize());
      }
      componentWillUnmount() {
        this.m_resizeObserver.disconnect();
      }
      OnResize() {
        const e = this.m_refContainer.current.clientWidth;
        e != this.state.nContainerWidth &&
          (Zd(
            "OnResize Setting width to",
            this.m_refContainer.current.clientWidth,
          ),
          this.setState({ nContainerWidth: e })),
          this.UpdateScrollArrows();
      }
      ScrollLeft(e) {
        const t = this.m_iEnd - this.m_iStart,
          n = Object(Ps.a)(
            this.props.focusedColumn - t,
            this.props.nIndexLeftmost,
            this.props.nNumItems - 1,
          ),
          a = this.alignment;
        return this.ScrollToItem(qd.a.INVALID, n, a, e);
      }
      ScrollRight(e) {
        const t = this.m_iEnd - this.m_iStart,
          n = Object(Ps.a)(
            this.props.focusedColumn + t,
            this.props.nIndexLeftmost,
            this.props.nNumItems - 1,
          ),
          a = this.alignment;
        return this.ScrollToItem(qd.a.INVALID, n, a, e);
      }
      ScrollToFirstChild() {
        return this.ScrollToItem(
          qd.a.INVALID,
          this.props.nIndexLeftmost,
          "auto",
        );
      }
      MoveLeft(e) {
        Zd("MoveLeft from", this.props.focusedColumn);
        let t = this.props.focusedColumn - 1;
        for (
          ;
          t != this.props.nIndexLeftmost - 1 &&
          this.props.fnDoesItemTakeFocus &&
          !this.props.fnDoesItemTakeFocus(t);
        )
          t--;
        return t == this.props.nIndexLeftmost - 1
          ? (Zd("At left edge, not handling left gamepad"), !1)
          : (Zd("MoveLeft to", t),
            this.ScrollToItem(
              e ? e.detail.button : qd.a.INVALID,
              t,
              this.props.scrollToAlignment || "auto",
              e,
            ));
      }
      MoveRight(e) {
        Zd("MoveRight from", this.props.focusedColumn);
        let t = this.props.focusedColumn + 1;
        for (
          ;
          t != this.props.nNumItems &&
          this.props.fnDoesItemTakeFocus &&
          !this.props.fnDoesItemTakeFocus(t);
        )
          t++;
        return t == this.props.nNumItems
          ? (Zd("At right edge, not handling right gamepad"), !1)
          : (Zd("MoveRight to", t),
            this.ScrollToItem(
              e ? e.detail.button : qd.a.INVALID,
              t,
              this.props.scrollToAlignment || "auto",
              e,
            ));
      }
      ScrollToItem(e, t, n, a, r) {
        if (
          this.m_activeScrollTo &&
          this.m_activeScrollTo.alignment === n &&
          this.m_activeScrollTo.iNewFocus === t
        )
          return !0;
        if (
          (Zd("ScrollToItem", t, n, a, r),
          t != this.props.focusedColumn &&
            this.m_refGrid &&
            (!this.props.fnDoesItemTakeFocus ||
              this.props.fnDoesItemTakeFocus(t)))
        ) {
          const i = this.m_refGrid.getOffsetForCell({
              alignment: n,
              columnIndex: t,
              rowIndex: 0,
            }),
            s = this.props.fnGetId(t);
          return (
            Zd("Scrolling to item", t, s, n, i.scrollLeft, r),
            (this.m_activeScrollTo = { iNewFocus: t, alignment: n }),
            this.props.fnOnFocusedColumnChange &&
              this.props.fnOnFocusedColumnChange(this.props.focusedColumn, t),
            this.StartScrollAnimation(
              e,
              t,
              s,
              i.scrollLeft,
              null != r ? r : this.props.scrollDuration,
            ),
            null == a || a.stopPropagation(),
            null == a || a.preventDefault(),
            !0
          );
        }
        return !1;
      }
      OnGamepadButtonDown(e) {
        switch ((Zd("OnGamepadButtonDown", e.detail), e.detail.button)) {
          case qd.a.BUMPER_LEFT:
            return !!this.props.enableBumperPaging && this.ScrollLeft(e);
          case qd.a.BUMPER_RIGHT:
            return !!this.props.enableBumperPaging && this.ScrollRight(e);
        }
        return !1;
      }
      OnGamepadDirection(e) {
        switch ((Zd("OnGamepadDirection", e.detail), e.detail.button)) {
          case qd.a.DIR_LEFT:
            return this.MoveLeft(e);
          case qd.a.DIR_RIGHT:
            return this.MoveRight(e);
        }
        return !1;
      }
      render() {
        const {
            className: e,
            nNumItems: t,
            nIndexLeftmost: n,
            nHeight: a,
            nItemHeight: i,
            overscan: s = 3,
            scrollToAlignment: l,
            focusedColumn: c,
          } = this.props,
          d = this.state.nContainerWidth;
        return (
          Zd("Inner render", this.props.name, this.props.nNumItems, d, n, c),
          r.createElement(
            Ct.a,
            {
              ref: this.m_refContainer,
              "flow-children": "row",
              onButtonDown: this.OnGamepadButtonDown,
              focusable: !1,
            },
            d &&
              r.createElement(Vd.a, {
                ref: this.BindGridObject,
                className: e,
                cellRenderer: this.CellRenderer,
                onScroll: this.OnScroll,
                onSectionRendered: this.OnSectionRendered,
                columnCount: t,
                columnWidth: this.GetCellColumnWidth,
                overscanColumnCount: s,
                overscanIndicesGetter: ({
                  cellCount: e,
                  overscanCellsCount: t,
                  startIndex: n,
                  stopIndex: a,
                }) => ({
                  overscanStartIndex: Math.max(0, n - t),
                  overscanStopIndex: Math.min(e - 1, a + t),
                }),
                rowCount: 1,
                rowHeight: i,
                height: a,
                width: d,
                containerStyle: { overflow: "visible" },
                scrollToAlignment: this.alignment,
                scrollToColumn: c,
                tabIndex: null,
                autoHeight: !o.c.IN_GAMEPADUI,
              }),
          )
        );
      }
    }
    function $d(e) {
      const { storeitem: t, fnNavigateToStore: n, snr: a } = e;
      r.useEffect(() => {
        It.a.Get().HintLoad();
      }, []);
      const i = Object(zt.d)(() => It.a.Get().BIsGameWishlisted(t.GetAppID())),
        s = Object(zt.d)(() => It.a.Get().BIsGameIgnored(t.GetAppID())),
        o = Object(zt.d)(
          () => It.a.Get().BIsAjaxInFlight() || !It.a.Get().BIsLoaded(),
        );
      let l = [
        r.createElement(
          qe.d,
          {
            key: "wishlist",
            onSelected: () =>
              It.a.Get().UpdateGameWishlist(t.GetAppID(), !i, a),
          },
          i
            ? Object($.f)(
                "#LibraryHome_GameCarousel_ContextMenu_RemoveWishlist",
              )
            : Object($.f)("#LibraryHome_GameCarousel_ContextMenu_AddWishlist"),
        ),
        r.createElement(
          qe.d,
          {
            key: "ignore",
            onSelected: () => It.a.Get().UpdateAppIgnore(t.GetAppID(), !s),
          },
          s
            ? Object($.f)("#LibraryHome_GameCarousel_ContextMenu_UnIgnore")
            : Object($.f)("#LibraryHome_GameCarousel_ContextMenu_Ignore"),
        ),
      ];
      return r.createElement(
        qe.c,
        { label: t.GetName() },
        r.createElement(
          qe.d,
          { onSelected: n },
          Object($.f)("#LibraryHome_GameCarousel_ContextMenu_StorePage"),
        ),
        o && r.createElement(ee.a, { position: "center", size: "medium" }),
        !o && l,
      );
    }
    (Xd.defaultProps = {
      nIndexLeftmost: 0,
      scrollDuration: 100,
      scrollTiming: "sine",
      enableBumperPaging: !1,
      initialColumn: 0,
      bPlaySoundOnFailedScroll: !0,
    }),
      Object(a.b)([u.b], Xd.prototype, "RestoreScrollPosition", null),
      Object(a.b)([u.b], Xd.prototype, "OnAnimationScrollComplete", null),
      Object(a.b)([u.b], Xd.prototype, "OnTouchStart", null),
      Object(a.b)([u.b], Xd.prototype, "OnTouchMove", null),
      Object(a.b)(
        [u.b, Object(Hd.a)(250)],
        Xd.prototype,
        "SnapBackToFirstElement",
        null,
      ),
      Object(a.b)([u.b], Xd.prototype, "OnScroll", null),
      Object(a.b)([u.b], Xd.prototype, "GetCellColumnWidth", null),
      Object(a.b)([u.b], Xd.prototype, "OnItemFocused", null),
      Object(a.b)([u.b], Xd.prototype, "CellRenderer", null),
      Object(a.b)([u.b], Xd.prototype, "OnSectionRendered", null),
      Object(a.b)(
        [u.b, Object(Hd.a)(250)],
        Xd.prototype,
        "UpdateScrollArrows",
        null,
      ),
      Object(a.b)([u.b], Xd.prototype, "BindGridObject", null),
      Object(a.b)([u.b], Xd.prototype, "OnResize", null),
      Object(a.b)([u.b], Xd.prototype, "ScrollLeft", null),
      Object(a.b)([u.b], Xd.prototype, "ScrollRight", null),
      Object(a.b)([u.b], Xd.prototype, "ScrollToFirstChild", null),
      Object(a.b)([u.b], Xd.prototype, "MoveLeft", null),
      Object(a.b)([u.b], Xd.prototype, "MoveRight", null),
      Object(a.b)([u.b], Xd.prototype, "OnGamepadButtonDown", null),
      Object(a.b)([u.b], Xd.prototype, "OnGamepadDirection", null);
    class eu {
      constructor() {
        (this.m_mapDiscoveryQueues = new Map()),
          (this.m_mapSkippedApps = new Map()),
          (this.m_dateSaleStart = new Date("2022-06-23T17:00:00")),
          (this.m_dateSaleEnd = new Date("2022-07-07T17:00:00"));
      }
      BIsSaleActive() {
        const e = Date.now();
        return Boolean(
          e >= this.m_dateSaleStart.getTime() &&
            e < this.m_dateSaleEnd.getTime(),
        );
      }
      static Init(e) {
        eu.Get().m_transport = e;
      }
      static BHasTransport() {
        return Boolean(eu.Get().m_transport);
      }
      static Get() {
        return (
          this.s_DiscoveryQueueStore || (this.s_DiscoveryQueueStore = new eu()),
          this.s_DiscoveryQueueStore
        );
      }
      LoadDiscoveryQueue(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = xt.b.Init(zd.a);
          a.Body().set_queue_type(e),
            a.Body().set_country_code(t),
            a.Body().set_rebuild_queue(n),
            a.Body().set_rebuild_queue_if_stale(!0);
          const r = yield zd.d.GetDiscoveryQueue(this.m_transport, a),
            i = r.GetEResult();
          return (
            1 == i
              ? this.m_mapDiscoveryQueues.set(e, r.Body().toObject())
              : console.warn(
                  "Error",
                  i,
                  "failed to get discovery queue type",
                  e,
                ),
            i
          );
        });
      }
      GetDiscoveryQueueAppsOfType(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            (!n && this.m_mapDiscoveryQueues.has(e)) ||
              (yield this.LoadDiscoveryQueue(e, t, n)),
            this.m_mapDiscoveryQueues.get(e).appids
          );
        });
      }
      GetTotalSkippedAppsForDiscoveryQueue(e) {
        return this.m_mapDiscoveryQueues.get(e).skipped;
      }
      GetSkippedAppKey(e, t) {
        return `${e}_${t}`;
      }
      SkipDiscoveryQueueItem(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = this.GetSkippedAppKey(e, t);
          if (!this.m_mapSkippedApps.has(n)) {
            this.m_mapSkippedApps.set(n, !0);
            const a = xt.b.Init(zd.c);
            a.Body().set_appid(e), a.Body().set_queue_type(t);
            const r = (yield zd.d.SkipDiscoveryQueueItem(
              this.m_transport,
              a,
            )).GetEResult();
            1 != r &&
              29 != r &&
              (console.warn("Error", r, "failed to skip appid ", e),
              this.m_mapSkippedApps.delete(n));
          }
        });
      }
      GetNumTradingCardsEarned() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = { earned_today: 0, earned_lifetime: 0, eresult: 2 },
            t = Date.now(),
            n =
              864e5 * Math.floor((t - this.m_dateSaleStart.getTime()) / 864e5) +
              this.m_dateSaleStart.getTime(),
            a = xt.b.Init(Al.b);
          let r = yield Al.c.GetNumTradingCardsEarned(this.m_transport, a),
            i = r.GetEResult();
          return 1 !== i
            ? ((e.eresult = i), e)
            : ((e.earned_lifetime = r.Body().num_trading_cards()),
              a.Body().set_timestamp_start(n / 1e3),
              (r = yield Al.c.GetNumTradingCardsEarned(this.m_transport, a)),
              (i = r.GetEResult()),
              1 != i
                ? ((e.eresult = i), e)
                : ((e.earned_today = r.Body().num_trading_cards()),
                  (e.eresult = 1),
                  e));
        });
      }
    }
    function tu(e) {
      let t = "offline";
      return (
        e &&
          (e.is_ingame
            ? (t = "ingame")
            : e.m_broadcastAccountId
              ? (t = "watchingbroadcast")
              : e.is_online && (t = "online"),
          e.is_awayOrSnooze && (t += " awayOrSnooze")),
        t
      );
    }
    (eu.s_DiscoveryQueueStore = null),
      Object(a.b)([L.C], eu.prototype, "m_mapDiscoveryQueues", void 0);
    class nu {
      constructor(e) {
        (this.m_bInitialized = !1),
          (this.m_ePersonaState = 0),
          (this.m_unGamePlayedAppID = 0),
          (this.m_gameid = "0"),
          (this.m_unPersonaStateFlags = 0),
          (this.m_strPlayerName = ""),
          (this.m_strAvatarHash = ve.b),
          (this.m_rtLastSeenOnline = 0),
          (this.m_strGameExtraInfo = ""),
          (this.m_unGameServerIP = 0),
          (this.m_unGameServerPort = 0),
          (this.m_game_lobby_id = ""),
          (this.m_bPlayerNamePending = !1),
          (this.m_bAvatarPending = !1),
          (this.m_mapRichPresence = L.C.map()),
          (this.m_bNameInitialized = !1),
          (this.m_bStatusInitialized = !1),
          (this.m_steamid = e);
      }
      Reset() {
        (this.m_ePersonaState = 0),
          (this.m_unGamePlayedAppID = 0),
          (this.m_gameid = "0"),
          (this.m_strGameExtraInfo = ""),
          (this.m_unGameServerIP = 0),
          (this.m_unGameServerPort = 0),
          (this.m_game_lobby_id = ""),
          this.m_mapRichPresence.clear(),
          (this.m_broadcastId = void 0),
          (this.m_broadcastAccountId = void 0),
          (this.m_broadcastAppId = void 0),
          (this.m_broadcastViewerCount = void 0),
          (this.m_strBroadcastTitle = void 0);
      }
      GetAccountID() {
        return this.m_steamid.GetAccountID();
      }
      get is_online() {
        return 0 != this.m_ePersonaState && 7 != this.m_ePersonaState;
      }
      get is_ingame() {
        return (
          this.is_online &&
          (0 != this.m_unGamePlayedAppID || "0" != this.m_gameid)
        );
      }
      get is_watchingbroadcast() {
        return !!this.m_broadcastAccountId;
      }
      get is_in_nonsteam_game() {
        return 0 == this.m_unGamePlayedAppID && "0" != this.m_gameid;
      }
      get is_in_joinable_game() {
        return (
          this.has_joinable_game_flag ||
          this.is_in_valid_lobby ||
          this.has_server_ip
        );
      }
      get has_joinable_game_flag() {
        return 0 != (2 & this.m_unPersonaStateFlags);
      }
      get connect_string() {
        return this.m_mapRichPresence.get("connect");
      }
      get is_in_valid_lobby() {
        return this.m_game_lobby_id && "0" != this.m_game_lobby_id;
      }
      get has_server_ip() {
        return 0 != this.m_unGameServerIP;
      }
      get is_awayOrSnooze() {
        return 3 == this.m_ePersonaState || 4 == this.m_ePersonaState;
      }
      HasStateFlag(e) {
        return 0 != (this.m_unPersonaStateFlags & e);
      }
      get last_seen_online() {
        return this.m_rtLastSeenOnline;
      }
      ClearStateOnDisconnect() {
        0 != this.m_ePersonaState && this.Reset();
      }
      get is_golden() {
        return this.HasStateFlag(4);
      }
      GetCurrentGameName() {
        return this.m_strGameExtraInfo
          ? this.m_strGameExtraInfo
          : this.m_unGamePlayedAppID
            ? Vt.GetAppInfo(this.m_unGamePlayedAppID).name
            : "";
      }
      GetCurrentGameIconURL() {
        return this.m_unGamePlayedAppID
          ? Vt.GetAppInfo(this.m_unGamePlayedAppID).icon_url
          : "";
      }
      GetCurrentGameLogoURL() {
        return this.m_unGamePlayedAppID
          ? Vt.GetAppInfo(this.m_unGamePlayedAppID).logo_url
          : "";
      }
      GetBroadcastGameLogoURL() {
        return this.m_broadcastAppId
          ? Vt.GetAppInfo(this.m_broadcastAppId).logo_url
          : "";
      }
      BIsAppInfoReady() {
        return (
          !this.m_unGamePlayedAppID ||
          Vt.GetAppInfo(this.m_unGamePlayedAppID).is_initialized
        );
      }
      HasCurrentGameRichPresence() {
        return this.m_mapRichPresence.has("steam_display");
      }
      GetCurrentGameRichPresence() {
        if (this.HasCurrentGameRichPresence()) {
          let e = Vt.GetRichPresenceLoc(this.m_unGamePlayedAppID);
          if (e) {
            let t = this.m_mapRichPresence.get("steam_display");
            return e.Localize(t, this.m_mapRichPresence);
          }
        } else if (this.HasStateFlag(8))
          return Object($.f)("#PersonaStateRemotePlayTogether");
        return "";
      }
      GetOfflineStatusUpdateRate() {
        if (0 == this.last_seen_online) return 3e4;
        const e = 3600;
        let t = 1e3;
        const n = Vt.CMInterface.GetServerRTime32() - this.last_seen_online;
        return (t *= n > 86400 ? e : n > 7200 ? 60 : 15), t;
      }
      GetOfflineStatusTime() {
        if (0 == this.last_seen_online)
          return Object($.f)("#PersonaStateOffline");
        let e = this.GetOfflineStatusUpdateRate();
        (!o.c.IN_MOBILE || e <= 60) && Object(ba.b)(e);
        let t = Vt.CMInterface.GetServerRTime32() - this.last_seen_online;
        return t < 60
          ? Object($.f)("#PersonaStateLastSeen_JustNow")
          : Object($.f)("#PersonaStateLastSeen", Object($.r)(t));
      }
      GetLocalizedOnlineStatus() {
        switch (this.m_ePersonaState) {
          case 0:
          case 7:
            return this.GetOfflineStatusTime();
          case 1:
            return Object($.f)("#PersonaStateOnline");
          case 2:
            return Object($.f)("#PersonaStateBusy");
          case 3:
            return Object($.f)("#PersonaStateAway");
          case 4:
            return Object($.f)("#PersonaStateSnooze");
          case 5:
            return Object($.f)("#PersonaStateLookingToTrade");
          case 6:
            return Object($.f)("#PersonaStateLookingToPlay");
          default:
            return "";
        }
      }
      get has_public_party_beacon() {
        return this.m_mapRichPresence.has("__beacon") && this.is_ingame;
      }
      get player_group() {
        return this.m_mapRichPresence.has("steam_player_group")
          ? this.m_mapRichPresence.get("steam_player_group")
          : "";
      }
      get player_group_size() {
        return this.m_mapRichPresence.has("steam_player_group_size")
          ? Number.parseInt(
              this.m_mapRichPresence.get("steam_player_group_size"),
            )
          : 0;
      }
      get online_state() {
        return this.is_online
          ? this.is_ingame
            ? "in-game"
            : this.m_broadcastAccountId
              ? "watchingbroadcast"
              : "online"
          : "offline";
      }
      BHasAvatarSet() {
        return this.m_strAvatarHash != ve.b;
      }
      get avatar_url() {
        return Object(ve.a)(this.m_strAvatarHash);
      }
      get avatar_url_medium() {
        return Object(ve.a)(this.m_strAvatarHash, "medium");
      }
      get avatar_url_full() {
        return Object(ve.a)(this.m_strAvatarHash, "full");
      }
      static SortStatusComparator(e, t, n) {
        if (t.has_public_party_beacon) {
          if (!n.has_public_party_beacon) return -1;
        } else {
          if (n.has_public_party_beacon) return 1;
          if (t.is_ingame) {
            if (!n.is_ingame) return -1;
            if (!e) return 0;
            if (t.is_awayOrSnooze) {
              if (!n.is_awayOrSnooze) return 1;
            } else if (n.is_awayOrSnooze) return -1;
          } else if (n.is_ingame) return 1;
        }
        if (t.is_online) {
          if (!n.is_online) return -1;
        } else if (n.is_online) return 1;
        if (e)
          if (t.is_awayOrSnooze) {
            if (!n.is_awayOrSnooze) return 1;
          } else if (n.is_awayOrSnooze) return -1;
        return 0;
      }
    }
    Object(a.b)([L.C], nu.prototype, "m_bInitialized", void 0),
      Object(a.b)([L.C], nu.prototype, "m_ePersonaState", void 0),
      Object(a.b)([L.C], nu.prototype, "m_unGamePlayedAppID", void 0),
      Object(a.b)([L.C], nu.prototype, "m_gameid", void 0),
      Object(a.b)([L.C], nu.prototype, "m_unPersonaStateFlags", void 0),
      Object(a.b)([L.C], nu.prototype, "m_strPlayerName", void 0),
      Object(a.b)([L.C], nu.prototype, "m_strAvatarHash", void 0),
      Object(a.b)([L.C], nu.prototype, "m_rtLastSeenOnline", void 0),
      Object(a.b)([L.C], nu.prototype, "m_strGameExtraInfo", void 0),
      Object(a.b)([L.C], nu.prototype, "m_unGameServerIP", void 0),
      Object(a.b)([L.C], nu.prototype, "m_unGameServerPort", void 0),
      Object(a.b)([L.C], nu.prototype, "m_game_lobby_id", void 0),
      Object(a.b)([L.C], nu.prototype, "m_bPlayerNamePending", void 0),
      Object(a.b)([L.C], nu.prototype, "m_bAvatarPending", void 0),
      Object(a.b)([L.C], nu.prototype, "m_broadcastId", void 0),
      Object(a.b)([L.C], nu.prototype, "m_broadcastAccountId", void 0),
      Object(a.b)([L.C], nu.prototype, "m_broadcastAppId", void 0),
      Object(a.b)([L.C], nu.prototype, "m_broadcastViewerCount", void 0),
      Object(a.b)([L.C], nu.prototype, "m_strBroadcastTitle", void 0),
      Object(a.b)([L.C], nu.prototype, "m_bCommunityBanned", void 0);
    var au = n("WkhL");
    class ru {
      constructor() {
        (this.m_webAPIInterface = null),
          (this.m_mapPlayerSummaries = new Map());
      }
      static Init(e) {
        ru.Get().m_webAPIInterface = e;
      }
      static BHasWebAPIKey() {
        var e;
        return Boolean(
          null === (e = ru.Get().m_webAPIInterface) || void 0 === e
            ? void 0
            : e.GetWebAPIAccessToken(),
        );
      }
      static Get() {
        return (
          this.s_PlayerStoreStore || (this.s_PlayerStoreStore = new ru()),
          this.s_PlayerStoreStore
        );
      }
      FillInPersonaState(e) {
        let t = new nu(e.steamid);
        return (
          (t.m_bInitialized = !0),
          (t.m_ePersonaState = e.personastate),
          (t.m_strAvatarHash = e.avatarhash),
          (t.m_strPlayerName = e.personaname),
          e.personastateflags &&
            (t.m_unPersonaStateFlags = e.personastateflags),
          e.gameid && (t.m_gameid = e.gameid),
          e.gameserverip && (t.m_unGameServerIP = e.gameserverip),
          e.lobbysteamid && (t.m_game_lobby_id = e.mlobbysteamid),
          e.gameextrainfo && (t.m_strGameExtraInfo = e.gameextrainfo),
          t
        );
      }
      FetchPlayerSummaries(e) {
        let t = {
          access_token: this.m_webAPIInterface.GetWebAPIAccessToken(),
          steamids: e
            .map((e) => de.a.InitFromAccountID(e).ConvertTo64BitString())
            .join(","),
        };
        e.forEach((e) => this.m_mapPlayerSummaries.set(e, null)),
          F.a
            .get(`${o.c.WEBAPI_BASE_URL}ISteamUserOAuth/GetUserSummaries/v2/`, {
              params: t,
            })
            .then((e) => {
              e &&
                e.data &&
                e.data.players &&
                0 != e.data.players.length &&
                e.data.players.forEach((e) => {
                  const t = new de.a(e.steamid);
                  this.m_mapPlayerSummaries.set(
                    t.GetAccountID(),
                    this.FillInPersonaState(e),
                  );
                });
            });
      }
      BIsAccountIDLoaded(e) {
        return (
          this.m_mapPlayerSummaries.has(e) &&
          Boolean(this.m_mapPlayerSummaries.get(e))
        );
      }
      BatchLoadPlayerSummaries(e, t) {
        if (t) this.FetchPlayerSummaries(e);
        else {
          let t = [];
          e.forEach((e) => {
            this.BIsAccountIDLoaded(e) || t.push(e);
          }),
            t.length > 0 && this.FetchPlayerSummaries(t);
        }
      }
      GetPlayerSummary(e) {
        const t = "string" == typeof e ? new de.a(e).GetAccountID() : e;
        return (
          this.BIsAccountIDLoaded(t) || this.FetchPlayerSummaries([t]),
          this.m_mapPlayerSummaries.get(t)
        );
      }
    }
    (ru.s_PlayerStoreStore = null),
      Object(a.b)([L.C], ru.prototype, "m_mapPlayerSummaries", void 0);
    var iu = n("hRO2"),
      su = n("gFJg");
    n("HgJB");
    const ou = iu.Message;
    class lu extends ou {
      constructor(e = null) {
        super(), ou.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return lu.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new lu();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new lu();
        return lu.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return lu.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return lu.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserReviews_Update_Response";
      }
    }
    class cu extends ou {
      constructor(e = null) {
        super(),
          cu.prototype.reaction_type || su.a(cu.M()),
          ou.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          cu.sm_m ||
            (cu.sm_m = {
              proto: cu,
              fields: {
                reaction_type: {
                  n: 1,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                count: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
              },
            }),
          cu.sm_m
        );
      }
      static MBF() {
        return cu.sm_mbf || (cu.sm_mbf = su.e(cu.M())), cu.sm_mbf;
      }
      toObject(e = !1) {
        return cu.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(cu.M(), e, t);
      }
      static fromObject(e) {
        return su.c(cu.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new cu();
        return cu.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(cu.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return cu.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(cu.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return cu.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserReviews_Recommendation_LoyaltyReaction";
      }
    }
    class du extends ou {
      constructor(e = null) {
        super(),
          du.prototype.recommendationid || su.a(du.M()),
          ou.initialize(this, e, 0, -1, [40], null);
      }
      static M() {
        return (
          du.sm_m ||
            (du.sm_m = {
              proto: du,
              fields: {
                recommendationid: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                steamid: {
                  n: 2,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                appid: { n: 3, br: su.d.readUint32, bw: su.h.writeUint32 },
                review: { n: 4, br: su.d.readString, bw: su.h.writeString },
                time_created: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                time_updated: {
                  n: 6,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                votes_up: { n: 7, br: su.d.readUint32, bw: su.h.writeUint32 },
                votes_down: { n: 8, br: su.d.readUint32, bw: su.h.writeUint32 },
                vote_score: { n: 9, br: su.d.readFloat, bw: su.h.writeFloat },
                language: { n: 10, br: su.d.readString, bw: su.h.writeString },
                comment_count: {
                  n: 11,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                voted_up: { n: 12, br: su.d.readBool, bw: su.h.writeBool },
                is_public: { n: 13, br: su.d.readBool, bw: su.h.writeBool },
                moderator_hidden: {
                  n: 14,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                flagged_by_developer: {
                  n: 15,
                  br: su.d.readEnum,
                  bw: su.h.writeEnum,
                },
                report_score: {
                  n: 16,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                steamid_moderator: {
                  n: 17,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                steamid_developer: {
                  n: 18,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                steamid_dev_responder: {
                  n: 19,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                developer_response: {
                  n: 20,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                time_developer_responded: {
                  n: 21,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                developer_flag_cleared: {
                  n: 22,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                written_during_early_access: {
                  n: 23,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                votes_funny: {
                  n: 24,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                received_compensation: {
                  n: 25,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                unverified_purchase: {
                  n: 26,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                review_quality: {
                  n: 27,
                  br: su.d.readEnum,
                  bw: su.h.writeEnum,
                },
                weighted_vote_score: {
                  n: 28,
                  br: su.d.readFloat,
                  bw: su.h.writeFloat,
                },
                moderation_note: {
                  n: 29,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                payment_method: {
                  n: 30,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                playtime_2weeks: {
                  n: 31,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                playtime_forever: {
                  n: 32,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                last_playtime: {
                  n: 33,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                comments_disabled: {
                  n: 34,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                playtime_at_review: {
                  n: 35,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                approved_for_china: {
                  n: 36,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                ban_check_result: {
                  n: 37,
                  br: su.d.readEnum,
                  bw: su.h.writeEnum,
                },
                refunded: { n: 38, br: su.d.readBool, bw: su.h.writeBool },
                account_score_spend: {
                  n: 39,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                reactions: { n: 40, c: cu, r: !0, q: !0 },
                ipaddress: { n: 41, br: su.d.readString, bw: su.h.writeString },
              },
            }),
          du.sm_m
        );
      }
      static MBF() {
        return du.sm_mbf || (du.sm_mbf = su.e(du.M())), du.sm_mbf;
      }
      toObject(e = !1) {
        return du.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(du.M(), e, t);
      }
      static fromObject(e) {
        return su.c(du.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new du();
        return du.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(du.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return du.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(du.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return du.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "RecommendationDetails";
      }
    }
    class uu extends ou {
      constructor(e = null) {
        super(),
          uu.prototype.appid || su.a(uu.M()),
          ou.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          uu.sm_m ||
            (uu.sm_m = {
              proto: uu,
              fields: {
                appid: { n: 1, br: su.d.readUint32, bw: su.h.writeUint32 },
              },
            }),
          uu.sm_m
        );
      }
      static MBF() {
        return uu.sm_mbf || (uu.sm_mbf = su.e(uu.M())), uu.sm_mbf;
      }
      toObject(e = !1) {
        return uu.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(uu.M(), e, t);
      }
      static fromObject(e) {
        return su.c(uu.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new uu();
        return uu.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(uu.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return uu.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(uu.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return uu.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserReviews_GetFriendsRecommendedApp_Request";
      }
    }
    class mu extends ou {
      constructor(e = null) {
        super(),
          mu.prototype.accountids_recommended || su.a(mu.M()),
          ou.initialize(this, e, 0, -1, [1, 3], null);
      }
      static M() {
        return (
          mu.sm_m ||
            (mu.sm_m = {
              proto: mu,
              fields: {
                accountids_recommended: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
                accountids_not_recommended: {
                  n: 3,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
              },
            }),
          mu.sm_m
        );
      }
      static MBF() {
        return mu.sm_mbf || (mu.sm_mbf = su.e(mu.M())), mu.sm_mbf;
      }
      toObject(e = !1) {
        return mu.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(mu.M(), e, t);
      }
      static fromObject(e) {
        return su.c(mu.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new mu();
        return mu.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(mu.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return mu.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(mu.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return mu.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserReviews_GetFriendsRecommendedApp_Response";
      }
    }
    class pu extends ou {
      constructor(e = null) {
        super(),
          pu.prototype.recommendations || su.a(pu.M()),
          ou.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          pu.sm_m ||
            (pu.sm_m = {
              proto: pu,
              fields: { recommendations: { n: 1, c: du, r: !0, q: !0 } },
            }),
          pu.sm_m
        );
      }
      static MBF() {
        return pu.sm_mbf || (pu.sm_mbf = su.e(pu.M())), pu.sm_mbf;
      }
      toObject(e = !1) {
        return pu.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(pu.M(), e, t);
      }
      static fromObject(e) {
        return su.c(pu.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new pu();
        return pu.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(pu.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return pu.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(pu.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return pu.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CUserReviews_GetIndividualRecommendations_Response";
      }
    }
    var hu;
    !(function (e) {
      (e.Update = function (e, t) {
        return e.SendMsg("UserReviews.Update#1", t, lu, { ePrivilege: 3 });
      }),
        (e.GetFriendsRecommendedApp = function (e, t) {
          return e.SendMsg("UserReviews.GetFriendsRecommendedApp#1", t, mu, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetIndividualRecommendations = function (e, t) {
          return e.SendMsg(
            "UserReviews.GetIndividualRecommendations#1",
            t,
            pu,
            { bConstMethod: !0, ePrivilege: 1 },
          );
        });
    })(hu || (hu = {}));
    var _u = n("2jbI"),
      gu = n("1ZD8"),
      bu = (n("Wiwi"), n("+y9j"));
    class fu {
      constructor(e, t) {
        (this.m_ServiceTransport = e.GetServiceTransport()),
          (this.m_DynamicStore = t);
      }
      ExecuteQuery(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = xt.b.Init(_u.c);
          Object(bu.b)(a),
            n && Object(bu.c)(a, n),
            r && a.Body().set_override_country_code(r),
            t.filters || (t.filters = {}),
            (t.filters.content_descriptors_excluded =
              this.m_DynamicStore.GetExcludedContentDescriptor()),
            a.Body().set_query(_u.b.fromObject(t)),
            a.Body().set_query_name(e);
          const i = yield _u.d.Query(this.m_ServiceTransport, a);
          if (1 != i.GetEResult()) throw i.GetEResult();
          return new vu(i, n);
        });
      }
    }
    class vu {
      constructor(e, t) {
        this.ReadResults(e, t);
      }
      GetItems() {
        return this.m_Items;
      }
      GetItemIDs() {
        return this.m_rgItemIDs;
      }
      GetMetadata() {
        return this.m_metadata;
      }
      ReadResults(e, t) {
        this.m_Items ||
          (Object(l.a)(
            0 == e.Body().metadata().start(),
            "Empty item list - expected to start at 0",
          ),
          (this.m_Items = []));
        const n = e.Body().ids() || [];
        if (
          ((this.m_rgItemIDs = n.map((e) => e.toObject())),
          e.Body().store_items())
        )
          for (const n of e.Body().store_items())
            this.m_Items.push(Dt.a.Get().ReadItem(n, t));
        this.m_metadata = e.Body().metadata().toObject();
      }
    }
    function Su() {
      const { data: e } = (function (e, t, n, a, r) {
        const i = ["StoreQueryStore", n, a, r];
        return Object(gu.useQuery)(i, () => e.ExecuteQuery(t, n, a, r), {
          staleTime: 36e5,
        });
      })(yu.Get().StoryQueryStore, "App Relevance Store Top Sellers", {
        sort: 11,
        start: 0,
        count: 100,
      });
      return e;
    }
    class yu {
      static Init(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (yu.Get().m_transport = e.GetServiceTransport()),
            (yu.Get().m_DynamicUserStore = yield It.a.Get().HintLoad()),
            (yu.Get().m_StoreQueryStore = new fu(
              e,
              yu.Get().m_DynamicUserStore,
            ));
        });
      }
      static BIsLoaded() {
        return Boolean(yu.Get().m_transport && yu.Get().m_StoreQueryStore);
      }
      static Get() {
        return (
          this.s_AppRelevanceStore || (this.s_AppRelevanceStore = new yu()),
          this.s_AppRelevanceStore
        );
      }
      GetFriendsGameplayInfoKey(e) {
        return `GetFriendsGameplayInfoKey_${e}`;
      }
      get StoryQueryStore() {
        return this.m_StoreQueryStore;
      }
      LoadFriendsGameplayInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(qt.c);
          t.Body().set_appid(e);
          const n = yield qt.g.GetFriendsGameplayInfo(this.m_transport, t),
            a = n.GetEResult();
          if (1 == a) return n.Body().toObject();
          throw `Error ${a} failed to call GetFriendsGameplayInfo ${e}`;
        });
      }
      GetFriendsRecommendedAppKey(e) {
        return `FriendsRecommendedAppKey_${e}`;
      }
      LoadFriendsRecommendedApp(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(uu);
          t.Body().set_appid(e);
          const n = yield hu.GetFriendsRecommendedApp(this.m_transport, t),
            a = n.GetEResult();
          if (1 == a) return n.Body().toObject();
          throw `Error ${a} failed to call GetFriendsRecommendedApp ${e}`;
        });
      }
      GetStoreRelevanceDataAppKey(e) {
        return `StoreRelevanceDataAppKey_${e}`;
      }
      LoadStoreRelevanceData(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = { appid: e },
            n = { arrSimilarPlayedApps: [], bRecommendedByIR: !1 };
          const a = (yield F.a.get(
            `${o.c.STORE_BASE_URL}explore/ajaxgetstorerelevancedata`,
            { params: t, withCredentials: !0, timeout: 1e4 },
          )).data;
          return (
            a &&
              1 == a.success &&
              (a.results.similar_played_apps &&
                (n.arrSimilarPlayedApps = a.results.similar_played_apps.map(
                  (e) => ({
                    appid: e.appid,
                    playtimeForever: e.playtime_forever,
                  }),
                )),
              a.results.recommended_by_ir && (n.bRecommendedByIR = !0)),
            n
          );
        });
      }
    }
    yu.s_AppRelevanceStore = null;
    var Eu = n("4o1L"),
      Cu = n("nFMd"),
      wu = n.n(Cu),
      Bu = n("v7lb"),
      Ou = n.n(Bu),
      Du = n("LI84"),
      Iu = n.n(Du),
      Tu = n("Gfg/"),
      Ru = n.n(Tu),
      ju = n("T5Lz"),
      Au = n.n(ju);
    class ku extends r.Component {
      render() {
        const e = this.props,
          {
            strAvatarURL: t,
            size: n,
            className: i,
            statusStyle: s,
            statusPosition: o,
            children: l,
          } = e,
          c = Object(a.c)(e, [
            "strAvatarURL",
            "size",
            "className",
            "statusStyle",
            "statusPosition",
            "children",
          ]),
          d = [];
        return (
          t && d.push(t),
          d.push(
            (function (e) {
              switch (e) {
                case "X-Small":
                case "Small":
                  return Ou.a;
                case "Medium":
                case "MediumLarge":
                  return Iu.a;
                case "Large":
                case "X-Large":
                case "FillArea":
                  return Ru.a;
              }
            })(n),
          ),
          r.createElement(
            "div",
            Object.assign(
              {
                className: Object(h.a)(
                  Au.a.avatarHolder,
                  "avatarHolder",
                  "no-drag",
                  n || "Medium",
                  i,
                ),
              },
              c,
            ),
            r.createElement("div", {
              className: Object(h.a)(Au.a.avatarStatus, "avatarStatus", o),
              style: s,
            }),
            r.createElement(p, {
              className: Object(h.a)(Au.a.avatar, "avatar"),
              rgSources: d,
              draggable: !1,
            }),
            l,
          )
        );
      }
    }
    let Mu = class extends r.Component {
      render() {
        const e = this.props,
          { persona: t, size: n, animatedAvatar: i, className: s } = e,
          l = Object(a.c)(e, [
            "persona",
            "size",
            "animatedAvatar",
            "className",
          ]);
        let c = "";
        return (
          i && i.image_small && 0 != i.image_small.length
            ? (c = o.c.MEDIA_CDN_COMMUNITY_URL + "images/" + i.image_small)
            : t &&
              ((c = t.avatar_url_medium),
              "Small" == n || "X-Small" == n
                ? (c = t.avatar_url)
                : ("Large" != n && "X-Large" != n && "FillArea" != n) ||
                  (c = t.avatar_url_full)),
          r.createElement(
            ku,
            Object.assign(
              { strAvatarURL: c, size: n, className: Object(h.a)(tu(t), s) },
              l,
            ),
          )
        );
      }
    };
    Mu = Object(a.b)([m.a], Mu);
    const Pu = Object(m.a)((e) => {
      const { profileItem: t, className: n, bDisableAnimation: i } = e,
        s = Object(a.c)(e, ["profileItem", "className", "bDisableAnimation"]);
      if (!t || !t.image_small || 0 == t.image_small.length) return null;
      let l = i ? t.image_large : t.image_small;
      return (
        l || (l = t.image_small),
        l.startsWith("https://") ||
          (l = o.c.MEDIA_CDN_COMMUNITY_URL + "images/" + l),
        r.createElement(
          "div",
          Object.assign(
            { className: Object(h.a)(Au.a.avatarFrame, n, "avatarFrame") },
            s,
          ),
          r.createElement("img", { className: Au.a.avatarFrameImg, src: l }),
        )
      );
    });
    let Lu = class extends r.Component {
      constructor(e) {
        super(e),
          (this.state = { bAnimate: "None" != this.props.loopDuration }),
          (this.m_timer = 0);
      }
      componentDidMount() {
        this.SetupAnimationTimer();
      }
      SetupAnimationTimer() {
        let e = 0;
        switch (this.props.loopDuration) {
          case "Short":
            e = 2500;
            break;
          case "Medium":
            e = 5e3;
            break;
          case "Long":
            e = 1e4;
        }
        0 != e &&
          (this.m_timer = window.setTimeout(
            () => this.setState({ bAnimate: !1 }),
            e,
          ));
      }
      StopAnimationTimer() {
        this.m_timer && (window.clearTimeout(this.m_timer), (this.m_timer = 0));
      }
      componentWillUnmount() {
        this.StopAnimationTimer();
      }
      componentDidUpdate(e) {
        this.props.loopDuration != e.loopDuration &&
          ("None" == this.props.loopDuration
            ? (this.setState({ bAnimate: !1 }), this.StopAnimationTimer())
            : "Infinite" == this.props.loopDuration &&
              (this.setState({ bAnimate: !0 }), this.StopAnimationTimer()));
      }
      render() {
        let e = this.props,
          {
            loopDuration: t,
            animatedAvatar: n,
            avatarFrame: i,
            children: s,
            style: o,
          } = e,
          l = Object(a.c)(e, [
            "loopDuration",
            "animatedAvatar",
            "avatarFrame",
            "children",
            "style",
          ]);
        return (
          l.onClick &&
            (o = Object.assign(Object.assign({}, o), { cursor: "pointer" })),
          this.state.bAnimate || (n = null),
          r.createElement(
            Mu,
            Object.assign({ animatedAvatar: n }, l),
            s,
            r.createElement(Pu, {
              profileItem: i,
              bDisableAnimation: "None" === this.props.loopDuration,
            }),
          )
        );
      }
    };
    Lu = Object(a.b)([m.a], Lu);
    var Gu = n("Yr+Q"),
      Nu = n("Uf5V"),
      Fu = n.n(Nu);
    let xu = class extends r.Component {
      static get hoverClass() {
        return Fu.a.hoverParent;
      }
      render() {
        const e = this.props,
          { persona: t, animating: n, className: i, size: s, dim: o } = e,
          l = Object(a.c)(e, [
            "persona",
            "animating",
            "className",
            "size",
            "dim",
          ]);
        let c = "";
        return (
          "medium" == s ? (c = Fu.a.Medium) : "large" == s && (c = Fu.a.Large),
          r.createElement(
            "div",
            Object.assign(
              {
                className: Object(h.a)(
                  Fu.a.SnoozeContainer,
                  t.online_state,
                  i,
                  n && Fu.a.animating,
                  c,
                  o && Fu.a.Dim,
                ),
              },
              l,
            ),
            r.createElement(
              "div",
              {
                "data-text": "Z",
                className: Object(h.a)(Fu.a.SnoozeZ, Fu.a.Z1),
              },
              "Z",
            ),
            r.createElement(
              "div",
              {
                "data-text": "Z",
                className: Object(h.a)(Fu.a.SnoozeZ, Fu.a.Z2),
              },
              "Z",
            ),
            r.createElement(
              "div",
              {
                "data-text": "Z",
                className: Object(h.a)(Fu.a.SnoozeZ, Fu.a.Z3),
              },
              "Z",
            ),
          )
        );
      }
    };
    xu = Object(a.b)([m.a], xu);
    var zu = n("I6KZ"),
      Uu = n.n(zu),
      Wu = n("wU9F");
    const Hu = Object(m.a)((e) => {
      const { persona: t, className: n } = e,
        i = Object(a.c)(e, ["persona", "className"]);
      if (!t) return null;
      if (!t.is_online) return null;
      const s = t.HasStateFlag(512),
        o = t.HasStateFlag(2048),
        l = !o && t.HasStateFlag(1024);
      return r.createElement(
        r.Fragment,
        null,
        s &&
          r.createElement(
            "div",
            Object.assign(
              {
                className: Object(h.a)(
                  n,
                  Uu.a.PersonaStatusIcon,
                  Uu.a.MobilePhoneIcon,
                  tu(t),
                ),
                title: Object($.f)("#Platform_Hint_Mobile"),
              },
              i,
            ),
            r.createElement(Wu.b, null),
          ),
        o &&
          r.createElement(
            "div",
            Object.assign(
              {
                className: Object(h.a)(
                  n,
                  Uu.a.PersonaStatusIcon,
                  Uu.a.VRIcon,
                  tu(t),
                ),
                title: Object($.f)("#Platform_Hint_VR"),
              },
              i,
            ),
            r.createElement(H.tb, null),
          ),
        l &&
          r.createElement(
            "div",
            Object.assign(
              {
                className: Object(h.a)(
                  n,
                  Uu.a.PersonaStatusIcon,
                  Uu.a.BigPictureIcon,
                  tu(t),
                ),
                title: Object($.f)("#Platform_Hint_BigPicture"),
              },
              i,
            ),
            r.createElement(H.f, null),
          ),
      );
    });
    var Vu = n("GXrw"),
      qu = n.n(Vu);
    function Ku(e) {
      return r.createElement(
        r.Fragment,
        null,
        r.createElement(
          "span",
          { className: qu.a.partyBeaconJoin },
          Object($.f)("#User_WantsToPlay"),
        ),
        " – ",
        e.persona.GetCurrentGameName(),
      );
    }
    let Qu = class extends r.Component {
      render() {
        const e = this.props,
          {
            className: t,
            onContextMenu: n,
            persona: i,
            eFriendRelationship: s,
            bIsSelf: o,
            bParenthesizeNicknames: l,
            strNickname: c,
            bCompactView: d,
            bHideGameName: u,
            bHideEnhancedRichPresenceLabel: m,
            bHideSnooze: p,
            bHideStatus: _,
            renderStatus: g,
            renderRichPresence: b,
            bHidePersona: f,
            bDNDSet: v,
            bHasPartyBeacon: S,
            bHasGamePrivacy: y,
            bNoMask: E,
          } = e,
          C = Object(a.c)(e, [
            "className",
            "onContextMenu",
            "persona",
            "eFriendRelationship",
            "bIsSelf",
            "bParenthesizeNicknames",
            "strNickname",
            "bCompactView",
            "bHideGameName",
            "bHideEnhancedRichPresenceLabel",
            "bHideSnooze",
            "bHideStatus",
            "renderStatus",
            "renderRichPresence",
            "bHidePersona",
            "bDNDSet",
            "bHasPartyBeacon",
            "bHasGamePrivacy",
            "bNoMask",
          ]);
        let w = null,
          B = null,
          O = null,
          D = [
            t,
            qu.a.personaNameAndStatusLabel,
            tu(i),
            d && qu.a.compactView,
            E && qu.a.NoMask,
          ];
        S || i.has_public_party_beacon
          ? (B = r.createElement(Ku, { persona: i }))
          : Object(le.a)(s)
            ? ((B = Object($.f)("#PersonaStateBlocked")), D.push(qu.a.blocked))
            : i.is_ingame
              ? ((B =
                  !i.is_in_nonsteam_game || o || Object(le.b)(s)
                    ? i.GetCurrentGameName()
                    : Object($.f)("#PersonaStateInNonSteamGame")),
                o || f
                  ? o &&
                    i.is_awayOrSnooze &&
                    (O = Object($.f)("#PersonaStateAway"))
                  : (O = i.GetCurrentGameRichPresence()))
              : i.m_broadcastAccountId &&
                (B = Object($.f)("#PersonaStateWatchingBroadcast")),
          B || (B = i.GetLocalizedOnlineStatus()),
          g && (B = g());
        let I = !f && !p;
        !1 === p && (I = !0),
          i.is_awayOrSnooze && I && (w = r.createElement(xu, { persona: i }));
        let T = null;
        n
          ? (T = r.createElement(
              "div",
              { className: "ContextMenuButton", onClick: n },
              r.createElement(H.u, null),
            ))
          : D.push(qu.a.noContextMenu),
          f && D.push(qu.a.hidePersona),
          b && (O = b()),
          (!u && O) || D.push(qu.a.twoLine);
        const R = !i.is_ingame && !_,
          j = !m && O,
          A = B && (!u || !j);
        let k = c && !l,
          M = k ? c : i.m_strPlayerName,
          P = !f && (A || R) && j;
        return r.createElement(
          "div",
          Object.assign({}, C, {
            className: Object(h.a)(...D),
            onContextMenu: n,
          }),
          r.createElement(
            "div",
            {
              className: Object(h.a)(qu.a.statusAndName, P && qu.a.threeLines),
            },
            r.createElement(
              "div",
              { className: qu.a.playerName },
              M || " ",
              l &&
                c &&
                r.createElement(
                  "span",
                  { className: qu.a.playerNickname },
                  "(",
                  c,
                  ")",
                ),
            ),
            v &&
              r.createElement(
                "div",
                {
                  className: qu.a.DNDContainer,
                  title: Object($.f)("#User_ToggleDoNotDisturb"),
                },
                r.createElement(H.s, null),
              ),
            k &&
              r.createElement(
                "span",
                {
                  className: qu.a.playerNicknameBracket,
                  title: Object($.f)("#isNickname"),
                },
                " *",
              ),
            r.createElement(Hu, { persona: i }),
            w,
            (i.m_bPlayerNamePending || i.m_bAvatarPending) &&
              r.createElement(
                "div",
                {
                  className: qu.a.PendingPersona,
                  title: Object($.f)("#SteamChina_PendingPersonaName"),
                },
                r.createElement(H.n, null),
              ),
            T,
          ),
          !f &&
            r.createElement(
              "div",
              { className: qu.a.richPresenceContainer },
              (A || R) &&
                r.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      qu.a.gameName,
                      P && qu.a.threeLines,
                      qu.a.richPresenceLabel,
                      "no-drag",
                    ),
                  },
                  y &&
                    r.createElement(
                      "div",
                      {
                        className: qu.a.gameIsPrivateIcon,
                        title: Object($.f)("#User_GameInfoHidden"),
                      },
                      r.createElement(H.G, null),
                    ),
                  B,
                ),
              j &&
                r.createElement(
                  "div",
                  { className: Object(h.a)(qu.a.richPresenceLabel, "no-drag") },
                  O,
                  " ",
                ),
            ),
        );
      }
    };
    Qu = Object(a.b)([m.a], Qu);
    Object(m.a)((e) => {
      const {
          persona: t,
          bParenthesizeNicknames: n,
          strNickname: i,
          className: s,
        } = e,
        o = Object(a.c)(e, [
          "persona",
          "bParenthesizeNicknames",
          "strNickname",
          "className",
        ]);
      let l = i && !n ? i : t.m_strPlayerName;
      return r.createElement(
        "span",
        Object.assign({}, o, { className: Object(h.a)(s, tu(t)) }),
        r.createElement(
          "span",
          { className: qu.a.playerName },
          l || " ",
          n &&
            i &&
            r.createElement(
              "span",
              { className: qu.a.playerNickname },
              "(",
              i,
              ")",
            ),
        ),
      );
    });
    const Yu = new Qd.a("DiscoveryQueueWizard").Debug,
      Zu = "discoveryqueue2022",
      Ju = {
        include_assets: !0,
        include_trailers: !0,
        include_basic_info: !0,
        include_tag_count: 20,
        include_release: !0,
      };
    function Xu(e, t, n, r) {
      return Object(a.a)(this, void 0, void 0, function* () {
        let a = [];
        try {
          (a = yield eu.Get().GetDiscoveryQueueAppsOfType(e, t, n)),
            r && -1 === a.findIndex((e) => e === r) && a.unshift(r),
            yield Dt.a.Get().QueueMultipleAppRequests(a, Ju),
            yield Object(Dn.h)(a);
        } catch (e) {
          Yu("Failed getting discovery queue apps", e);
        }
        return a;
      });
    }
    const $u = (e) => {
      const {
          eStoreDiscoveryQueueType: t,
          strUserCountry: n,
          bWizardVisible: i,
          fnCloseModal: s,
          fnGetFriendState: l,
          includeAppID: c,
        } = e,
        [d, m] = r.useState([]),
        [p, _] = r.useState(1),
        [g, b] = r.useState(800),
        [f, v] = r.useState("DiscoveryQueue"),
        [S, y] = r.useState(!0),
        [E, C] = r.useState(!1),
        [w, B] = r.useState(!1),
        O = r.useRef(),
        D = r.useMemo(
          () => Math.max((window.innerWidth / 100) * 2.8 + 40, 12),
          [12, g],
        ),
        I = r.useCallback(
          (e) => {
            const t = Math.min(
              1400,
              window.innerWidth / 1.3 - 2 * D - 24 + 220,
            );
            b(t);
          },
          [g, D],
        ),
        T = Object(u.j)(I),
        R = r.useMemo(() => (window.innerWidth - g - 2 * D) / 2, [g, D]),
        j = r.useMemo(() => (9 / 16) * (g - 0.3 * g), [g]),
        A = r.useMemo(() => Boolean(window.innerWidth < 1400), [g]),
        k = r.useCallback(
          (e) =>
            Object(a.a)(void 0, void 0, void 0, function* () {
              let a = yield Xu(t, n, !e, e && c);
              e && !a.length && (a = yield Xu(t, n, !0));
              let r = d;
              if (e) a.unshift(1);
              else {
                const e = r.lastIndexOf(1);
                -1 !== e && r.splice(e, 1);
              }
              a.push(0),
                a.push(1),
                (r = r.concat(a)),
                m(r),
                e || O.current.MoveRight(),
                Yu("Loaded new discovery queue apps: ", a);
            }),
          [t, d, n, O, c],
        );
      r.useEffect(() => {
        k(!0).then(() => B(!0)),
          It.a.Get().HintLoad(),
          v(
            (() => {
              const e = Math.floor(1e6 * Math.random());
              return `DiscoveryQueue_${o.j.accountid}_${e}`;
            })(),
          ),
          I();
      }, [t, n]);
      const M = r.useCallback(
          (e) =>
            0 == d[e]
              ? "Summary" + e
              : 1 == d[e]
                ? "Placeholder" + e
                : d[e].toString(),
          [d],
        ),
        P = r.useCallback((e) => g, [g]),
        L = r.useCallback(
          (e) => {
            Yu("Currently focused index: ", e);
          },
          [t, d],
        ),
        G = r.useCallback(
          (e, n, a, i) =>
            0 == d[e]
              ? r.createElement(sm, {
                  key: M(e),
                  focused: p === e,
                  fnLoadNextQueue: k,
                  fnClose: s,
                  index: e,
                  eStoreDiscoveryQueueType: t,
                  nItemHeight: a,
                  nItemWidth: n,
                })
              : 1 == d[e]
                ? r.createElement(Ct.a, {
                    style: { width: n, height: j },
                    className: Object(h.a)(wu.a.DiscoveryQueuePlaceholder),
                  })
                : r.createElement(em, {
                    bShowMinimizedDisplay: A,
                    eStoreDiscoveryQueueType: t,
                    focused: p === e,
                    fnGetFriendState: l,
                    index: e,
                    fnOnAppFocus: L,
                    nItemHeight: j,
                    nItemWidth: n,
                    appID: d[e],
                  }),
          [t, L, d, p, j, s, k, A],
        ),
        N = r.useCallback((e, t) => {
          o.c.IN_GAMEPADUI || (C(e), y(t));
        }, []),
        F = r.useCallback((e) => 1 !== d[e], [d]),
        x = r.useCallback(
          (e, n) => {
            Yu("New Focused Column: ", n, " Prev Focused Column: ", e),
              1 !== d[e] &&
                0 !== d[e] &&
                eu.Get().SkipDiscoveryQueueItem(d[e], t),
              _(n);
          },
          [p, d],
        );
      return w
        ? r.createElement(
            xe.l,
            { active: i },
            r.createElement(
              Fd.a,
              null,
              r.createElement(
                ea.a,
                { snr: Zu },
                r.createElement(
                  Ct.a,
                  {
                    className: wu.a.DiscoveryQueueCarouselCtn,
                    navEntryPreferPosition: _s.d.LAST,
                    onCancelButton: s,
                    onCancelActionDescription: Object($.f)("#Button_Close"),
                  },
                  r.createElement(
                    Ct.a,
                    { className: wu.a.TopBarCtn },
                    r.createElement(
                      "div",
                      { className: wu.a.LearnMore },
                      Object($.l)(
                        "#DiscoveryQueue_LearnMore_Default",
                        r.createElement("a", {
                          className: wu.a.LearnMoreLink,
                          href: im(o.c.STORE_BASE_URL + "explore"),
                        }),
                      ),
                    ),
                    r.createElement(
                      "div",
                      { className: wu.a.LabsHeader },
                      Object($.l)(
                        "#DiscoveryQueue_LabsHeader",
                        r.createElement("span", { className: wu.a.Bold }),
                        r.createElement("a", {
                          className: wu.a.LearnMoreLink,
                          href: im(
                            o.c.COMMUNITY_BASE_URL +
                              "groups/SteamLabs/discussions/17/",
                          ),
                        }),
                      ),
                    ),
                    r.createElement(
                      "div",
                      { className: wu.a.ControlsCtn },
                      !1,
                      r.createElement(
                        Ct.a,
                        {
                          focusable: !0,
                          className: wu.a.QueueButton,
                          onClick: s,
                          onActivate: s,
                        },
                        r.createElement(H.zb, null),
                      ),
                    ),
                  ),
                  r.createElement(
                    "div",
                    { ref: T, className: wu.a.DiscoveryQueueWrapper },
                    r.createElement(
                      Ct.a,
                      {
                        onClick: (e) => O.current.MoveLeft(e),
                        className: Object(h.a)(
                          wu.a.QueueNavArrow,
                          wu.a.LeftArrow,
                          E && wu.a.Enable,
                        ),
                      },
                      r.createElement(H.mb, { angle: 180 }),
                    ),
                    r.createElement(Jd, {
                      name: f,
                      className: wu.a.DiscoveryQueueCarousel,
                      ref: O,
                      fnDoesItemTakeFocus: F,
                      fnOnFocusedColumnChange: x,
                      fnUpdateArrows: N,
                      nNumItems: d.length,
                      nHeight: j,
                      scrollDuration: 400,
                      nItemHeight: j,
                      nItemMarginX: R,
                      fnGetColumnWidth: P,
                      fnGetId: M,
                      fnItemRenderer: G,
                      scrollToAlignment: "center",
                      nIndexLeftmost: 1,
                      initialColumn: 1,
                      autoFocus: !0,
                      scrollTiming: "cubic-in-out",
                      overscan: 5,
                    }),
                    r.createElement(
                      Ct.a,
                      {
                        onClick: (e) => O.current.MoveRight(e),
                        className: Object(h.a)(
                          wu.a.QueueNavArrow,
                          wu.a.RightArrow,
                          S && wu.a.Enable,
                        ),
                      },
                      r.createElement(H.mb, { angle: 0 }),
                    ),
                  ),
                ),
              ),
            ),
          )
        : null;
    };
    function em(e) {
      var t;
      const {
          appID: n,
          nItemHeight: a,
          nItemWidth: i,
          fnOnAppFocus: s,
          index: l,
          focused: d,
          fnGetFriendState: u,
          eStoreDiscoveryQueueType: m,
          bShowMinimizedDisplay: p,
        } = e,
        [_] = Object(Wn.b)(n, Ju),
        g = Object(zt.d)(() => It.a.Get().BIsGameWishlisted(n)),
        b = Object(zt.d)(() => It.a.Get().BIsGameIgnored(n)),
        f = Object(Oc.c)(null == _ ? void 0 : _.GetTagIDs()),
        v = r.useRef(),
        S = r.useRef(),
        y = o.c.IN_GAMEPADUI,
        E = () => It.a.Get().UpdateAppIgnore(_.GetAppID(), !b),
        C = Object(ea.c)();
      r.useEffect(() => {
        b && w();
      }, [b]);
      const w = r.useCallback(() => {
        var e;
        S.current && (S.current.style.opacity = "1"),
          null === (e = null == v ? void 0 : v.current) ||
            void 0 === e ||
            e.pause();
      }, []);
      r.useEffect(
        () => (Yu("Index Focused: ", l, " Focus? ", d), d && B(), () => w()),
        [d],
      );
      const B = r.useCallback(() => {
          v.current &&
            !b &&
            (null == v || v.current.play(), (S.current.style.opacity = "0")),
            Gu.a.AddImpression(n, Zu),
            s(l);
        }, [s, l, b]),
        O = r.useCallback(() => {
          window.location.href = im(_.GetStorePageURL() + "?inqueue=" + m, C);
        }, [_]);
      if (!_)
        return console.warn("Error: missing store item for appid ", n), null;
      let D = [],
        I = [];
      if (
        (f.forEach((e) => {
          D.length < 5 &&
            (It.a.Get().GetRecommendedTags().has(e.tagid)
              ? D.push(e.name)
              : I.push(e.name));
        }),
        D.length < 5)
      ) {
        const e = I.slice(0, 5 - D.length);
        D.push(...e);
      }
      let T = [];
      D.forEach((e, t) => {
        T.push(r.createElement("div", { key: t, className: wu.a.TagEntry }, e));
      });
      const R = { width: i || void 0, height: a || void 0 },
        j = () => {
          It.a
            .Get()
            .UpdateGameWishlist(n, !g, Zu)
            .then((e) => {
              e && e.success;
            });
        };
      let A = _.GetMicroTrailer();
      (null === (t = _.GetMicroTrailer()) || void 0 === t
        ? void 0
        : t.strWebMURL) ||
        (_.GetAllTrailers().BHasTrailers() &&
          (A = _.GetAllTrailers().GetHighlightTrailers()[0].GetTrailerMax()));
      const k = _.GetAssets().GetLibraryCapsuleURL();
      return r.createElement(
        Ct.a,
        {
          focusable: !0,
          style: R,
          className: Object(h.a)(wu.a.DiscoveryQueueApp, d && wu.a.Focused),
          onFocus: B,
          onBlur: w,
          onOptionsActionDescription: Object($.f)(
            "#DiscoveryQueue_AddToWishlist",
          ),
          onOptionsButton: j,
          onOKActionDescription: Object($.f)("#DiscoveryQueue_ViewStorePage"),
          onOKButton: O,
          onContextMenu: o.c.IN_GAMEPADUI
            ? (e) =>
                (function (e, t, n, a) {
                  Object(_e.a)(
                    r.createElement($d, {
                      snr: a,
                      storeitem: t,
                      fnNavigateToStore: n,
                    }),
                    e,
                  ),
                    e.preventDefault(),
                    e.stopPropagation();
                })(e, _, O, Zu)
            : null,
          onMenuActionDescription: Object($.f)("#ActionButtonLabelContextMenu"),
        },
        r.createElement(
          "div",
          { className: Object(h.a)(wu.a.IgnoredCtn, b && wu.a.Active) },
          r.createElement(
            "div",
            { className: Object(h.a)(wu.a.IgnoredInfo, b && wu.a.Active) },
            r.createElement(
              "div",
              { className: wu.a.IgnoredTitle },
              Object($.f)("#DiscoveryQueue_Ignored"),
            ),
            r.createElement(
              "div",
              { className: wu.a.IgnoredDescription },
              Object($.f)("#DiscoveryQueue_IgnoredConfirmation"),
            ),
            r.createElement(
              Ct.a,
              {
                className: Object(h.a)(wu.a.QueueButton, wu.a.UndoIgnoreButton),
                onClick: E,
              },
              o.c.IN_GAMEPADUI &&
                r.createElement(Wd.a, {
                  button: Eu.a.X,
                  type: Wd.c.Light,
                  size: Wd.b.Medium,
                }),
              Object($.f)("#DiscoveryQueue_Undo"),
            ),
          ),
        ),
        r.createElement(
          Ct.a,
          { className: wu.a.AppVideoCtn },
          r.createElement(
            "div",
            { className: Object(h.a)(wu.a.WishlistBadge, g && wu.a.Active) },
            Object($.f)("#Sale_OnWishlist"),
          ),
          r.createElement("img", {
            ref: S,
            style: A && { position: "absolute" },
            className: wu.a.AppMainCap,
            src: _.GetAssets().GetMainCapsuleURL(),
          }),
          A &&
            r.createElement(
              "video",
              {
                ref: v,
                className: wu.a.AppVideo,
                playsInline: !0,
                muted: !0,
                loop: !0,
              },
              r.createElement("source", {
                src: A.strWebMURL,
                type: "video/webm",
              }),
              r.createElement("source", {
                src: A.strMP4URL,
                type: "video/mp4",
              }),
            ),
        ),
        r.createElement(
          Ct.a,
          { className: wu.a.AppDetailsCtn },
          r.createElement(
            "div",
            { className: wu.a.AppDetailsCtnTop },
            r.createElement(
              "div",
              { className: wu.a.AppDetailsHeader },
              k &&
                r.createElement("img", {
                  className: wu.a.AppLibraryHero,
                  src: k,
                }),
              r.createElement(
                "div",
                { className: wu.a.RightColumn },
                r.createElement(
                  "div",
                  { className: wu.a.AppName },
                  _.GetName(),
                ),
                r.createElement(Ud.a, {
                  bSingleLineMode: !0,
                  info: {
                    id: e.appID,
                    type: Object(c.AppTypeForEStoreAppType)(_.GetAppType()),
                  },
                }),
              ),
            ),
            r.createElement("div", { className: wu.a.AppTagsCtn }, T),
            r.createElement(
              "div",
              { className: wu.a.AppReviews },
              r.createElement(Pt.b, {
                bTruncateTotalReviews: p,
                appInfo: {
                  id: e.appID,
                  type: Object(c.AppTypeForEStoreAppType)(_.GetAppType()),
                },
              }),
            ),
            r.createElement(
              "div",
              { className: wu.a.AppRelevanceCtn },
              r.createElement(tm, {
                bShowAvatars: !p,
                storeItem: _,
                appID: n,
                fnGetFriendState: u,
              }),
            ),
          ),
          !o.c.IN_GAMEPADUI &&
            r.createElement(
              "div",
              { className: wu.a.AppActionButtonsCtn },
              r.createElement(
                "div",
                { className: wu.a.AppActionJustButtonsCtn },
                r.createElement(
                  "a",
                  {
                    className: Object(h.a)(wu.a.QueueButton, wu.a.Primary),
                    href: im(_.GetStorePageURL() + "?inqueue=" + m, C),
                  },
                  y &&
                    r.createElement(Wd.a, {
                      button: Eu.a.Y,
                      type: Wd.c.Light,
                      size: Wd.b.Medium,
                      additionalClassName: wu.a.YGlyph,
                    }),
                  " ",
                  Object($.f)("#DiscoveryQueue_ViewStorePage"),
                ),
                r.createElement(
                  Qe.a,
                  {
                    toolTipContent: Object($.f)(
                      "#EventEditor_AssociateSteamAccount_ttip",
                    ),
                  },
                  r.createElement(
                    Ct.a,
                    { focusable: !0, className: wu.a.QueueButton, onClick: j },
                    y &&
                      r.createElement(Wd.a, {
                        button: Eu.a.Y,
                        type: Wd.c.Light,
                        size: Wd.b.Medium,
                        additionalClassName: wu.a.YGlyph,
                      }),
                    " ",
                    g
                      ? Object($.f)("#DiscoveryQueue_RemoveFromWishlist")
                      : Object($.f)("#DiscoveryQueue_AddToWishlist"),
                  ),
                ),
              ),
              r.createElement(
                Ct.a,
                {
                  focusable: !0,
                  className: Object(h.a)(wu.a.TextLink, wu.a.IgnoreLink),
                  onClick: E,
                },
                Object($.f)("#DiscoveryQueue_IgnoreLink"),
              ),
            ),
        ),
      );
    }
    function tm(e) {
      var t, n, a, i, s, o, l, c, d;
      const {
          appID: u,
          fnGetFriendState: m,
          bShowAvatars: p,
          storeItem: _,
        } = e,
        g = (function (e) {
          return Object(gu.useQuery)(
            yu.Get().GetFriendsGameplayInfoKey(e),
            () => yu.Get().LoadFriendsGameplayInfo(e),
          );
        })(u),
        b = (function (e) {
          return Object(gu.useQuery)(
            yu.Get().GetFriendsRecommendedAppKey(e),
            () => yu.Get().LoadFriendsRecommendedApp(e),
          );
        })(u),
        f = (function (e) {
          return Object(gu.useQuery)(
            yu.Get().GetStoreRelevanceDataAppKey(e),
            () => yu.Get().LoadStoreRelevanceData(e),
          );
        })(u),
        v = Su(),
        S = Object(gu.useQuery)(
          ["SimilarPlayedAppsLoad", u],
          () => {
            var e;
            return Dt.a
              .Get()
              .QueueMultipleAppRequests(
                null === (e = f.data.arrSimilarPlayedApps) || void 0 === e
                  ? void 0
                  : e.map((e) => e.appid),
                { include_basic_info: !0, include_assets: !0 },
              );
          },
          { enabled: f.isSuccess },
        );
      if (!(v && S.isSuccess && f.isSuccess && b.isSuccess && g.isSuccess))
        return r.createElement(ee.a, { size: "medium", position: "center" });
      let y = [],
        E = [],
        C = [];
      const w = p ? 10 : 1;
      let B = [];
      for (
        let e = 0;
        e <
          (null === (t = b.data.accountids_recommended) || void 0 === t
            ? void 0
            : t.length) && e < w;
        e++
      ) {
        const t = de.a.InitFromAccountID(b.data.accountids_recommended[e]);
        y.push(t.ConvertTo64BitString()), B.push(t.GetAccountID());
      }
      for (
        let e = 0;
        e <
          (null === (n = g.data.in_wishlist) || void 0 === n
            ? void 0
            : n.length) && e < w;
        e++
      ) {
        const t = new de.a(g.data.in_wishlist[e].steamid);
        E.push(t.ConvertTo64BitString()), B.push(t.GetAccountID());
      }
      for (
        let e = 0;
        e < (null === (a = g.data.owns) || void 0 === a ? void 0 : a.length) &&
        e < w;
        e++
      ) {
        const t = new de.a(g.data.owns[e].steamid);
        C.push(t.ConvertTo64BitString()), B.push(t.GetAccountID());
      }
      !m && ru.BHasWebAPIKey() && ru.Get().BatchLoadPlayerSummaries(B);
      let O = [];
      f.data.arrSimilarPlayedApps &&
        f.data.arrSimilarPlayedApps.forEach((e) => {
          const t = Dt.a.Get().GetApp(e.appid);
          t
            ? O.push(
                r.createElement(nm, {
                  key: e.appid,
                  lifetimePlaytime: e.playtimeForever,
                  storeItem: t,
                }),
              )
            : console.error("Failed to load store data ", u);
        });
      const D = v.GetItemIDs().findIndex((e) => e.appid === u),
        I = f.data.bRecommendedByIR,
        T = null === (i = g.data.owns) || void 0 === i ? void 0 : i.length,
        R =
          null === (s = g.data.in_wishlist) || void 0 === s ? void 0 : s.length,
        j =
          null === (o = b.data.accountids_recommended) || void 0 === o
            ? void 0
            : o.length;
      let A = 0;
      return (
        T > 0 && A++,
        R > 0 && A++,
        j > 0 && A++,
        I && A++,
        D >= 0 && A++,
        O.length > 0 && A++,
        Yu("FriendsOwned: ", T, " FriendsWishlisted: ", R, "cRecommended: ", j),
        r.createElement(
          r.Fragment,
          null,
          A > 0 &&
            r.createElement(
              "div",
              { className: wu.a.RelevantCtn },
              r.createElement(
                "div",
                { className: wu.a.WhyRelevant },
                Object($.f)("#DiscoveryQueue_WhyRelevant"),
              ),
              O.length > 0 &&
                r.createElement(
                  rm,
                  { header: Object($.f)("#DiscoveryQueue_SimilarGames") },
                  r.createElement(
                    "div",
                    { className: wu.a.ReleventSimilarAppsCtn },
                    O,
                  ),
                ),
              D >= 0 &&
                r.createElement(rm, {
                  header: Object($.m)(
                    "#DiscoveryQueue_TopSellers",
                    (D + 1).toLocaleString(),
                    r.createElement("span", {
                      className: wu.a.RelevantTextBold,
                    }),
                  ),
                }),
              I &&
                r.createElement(rm, {
                  header: Object($.f)("#DiscoveryQueue_RecommendedByIR"),
                }),
              r.createElement(am, {
                bShowAvatars: p,
                count:
                  null === (l = g.data.owns) || void 0 === l
                    ? void 0
                    : l.length,
                locToken: "#DiscoveryQueue_FriendsOwned",
                arrSteamIDs: C,
                fnGetFriendState: m,
              }),
              r.createElement(am, {
                bShowAvatars: p,
                count:
                  null === (c = g.data.in_wishlist) || void 0 === c
                    ? void 0
                    : c.length,
                locToken: "#DiscoveryQueue_FriendsWishlisted",
                arrSteamIDs: E,
                fnGetFriendState: m,
              }),
              r.createElement(am, {
                bShowAvatars: p,
                count:
                  null === (d = b.data.accountids_recommended) || void 0 === d
                    ? void 0
                    : d.length,
                locToken: "#DiscoveryQueue_FriendsRecommended",
                arrSteamIDs: y,
                fnGetFriendState: m,
              }),
            ),
          r.createElement(
            "div",
            { className: Object(h.a)(wu.a.AppDescription, A && wu.a.Divider) },
            _.GetShortDescription(),
          ),
        )
      );
    }
    function nm(e) {
      const { lifetimePlaytime: t, storeItem: n } = e;
      return r.createElement(
        "div",
        { className: wu.a.SimilarAppCtn },
        r.createElement(
          Pt.e,
          {
            item: { type: "game", id: n.GetAppID() },
            bHidePrice: !0,
            hoverProps: {
              direction: "overlay",
              nBodyAlignment: 1,
              style: { minWidth: "320px", zIndex: 5e3 },
            },
          },
          r.createElement("img", {
            className: wu.a.SimilarAppImg,
            src: n.GetAssets().GetSmallCapsuleURL(),
          }),
        ),
      );
    }
    function am(e) {
      const {
        arrSteamIDs: t,
        count: n,
        fnGetFriendState: a,
        locToken: i,
        bShowAvatars: s,
      } = e;
      if (!n) return null;
      if (1 != n || s) {
        let e = [];
        return (
          t.forEach((t) => {
            const i = new de.a(t),
              o = a
                ? a(i)
                : ru.Get().GetPlayerSummary(i.ConvertTo64BitString());
            o &&
              o.m_bInitialized &&
              (1 == n
                ? e.push(
                    r.createElement(
                      Ct.a,
                      {
                        className: wu.a.FriendBlockCtn,
                        key: i.ConvertTo64BitString(),
                        "data-miniprofile": "s" + i.ConvertTo64BitString(),
                      },
                      r.createElement(Mu, {
                        persona: o,
                        size: "Small",
                        statusPosition: "right",
                      }),
                      r.createElement(Qu, {
                        className: wu.a.PersonaStatus,
                        persona: o,
                        eFriendRelationship: 3,
                        bIsSelf: !1,
                        strNickname: null,
                        bParenthesizeNicknames: !1,
                        bCompactView: !1,
                        bNoMask: !0,
                      }),
                    ),
                  )
                : s &&
                  e.push(
                    r.createElement(Mu, {
                      key: i.ConvertTo64BitString(),
                      "data-miniprofile": "s" + i.ConvertTo64BitString(),
                      persona: o,
                      size: "Small",
                      statusPosition: "right",
                    }),
                  ));
          }),
          r.createElement(
            rm,
            {
              header: Object($.m)(
                i,
                n,
                r.createElement("span", { className: wu.a.RelevantTextBold }),
              ),
            },
            e.length > 0 &&
              r.createElement("div", { className: wu.a.FriendAvatarsCtn }, e),
          )
        );
      }
      {
        const e = new de.a(t[0]),
          n = a ? a(e) : ru.Get().GetPlayerSummary(e.ConvertTo64BitString());
        return n && n.m_bInitialized
          ? r.createElement(rm, {
              header: Object($.o)(
                i + "_Single",
                r.createElement(
                  "span",
                  {
                    "data-miniprofile": "s" + e.ConvertTo64BitString(),
                    className: wu.a.RelevantTextBold,
                  },
                  n.m_strPlayerName,
                ),
              ),
            })
          : null;
      }
    }
    function rm(e) {
      const { children: t, header: n } = e;
      return r.createElement(
        "div",
        { className: wu.a.RelevantItem },
        r.createElement(
          "div",
          { className: wu.a.RelevantCheck },
          r.createElement(H.m, null),
        ),
        r.createElement(
          "div",
          { className: wu.a.RelevantColumn },
          r.createElement("div", { className: wu.a.ReleventText }, n),
          t,
        ),
      );
    }
    function im(e, t) {
      const n = Object(Jt.d)(e, t);
      return o.c.IN_CLIENT ? "steam://openurl/" + n : n;
    }
    function sm(e) {
      const {
          nItemHeight: t,
          nItemWidth: n,
          eStoreDiscoveryQueueType: a,
          fnClose: i,
          index: s,
          focused: l,
          fnLoadNextQueue: c,
        } = e,
        d = { width: n || void 0, height: t || void 0 },
        u = Object(zt.d)(() => It.a.Get().GetWishlistGameCount()),
        m = Object(zt.d)(() => It.a.Get().GetIgnoredAppsCount()),
        p = Object(zt.d)(() =>
          eu.Get().GetTotalSkippedAppsForDiscoveryQueue(a),
        ),
        [_, g] = r.useState(!1),
        [b, f] = r.useState(!0),
        [v, S] = r.useState(null),
        y = Object(ea.c)(),
        E = r.useCallback(() => {
          g(!0),
            c(!1).then(() => {
              g(!0), f(!1);
            });
        }, []);
      r.useEffect(() => {
        l &&
          eu.Get().BIsSaleActive() &&
          !v &&
          eu
            .Get()
            .GetNumTradingCardsEarned()
            .then((e) => {
              1 === e.eresult && S(e);
            });
      }, [l]);
      const C = eu.Get().BIsSaleActive() && v;
      return r.createElement(
        xd.a,
        {
          style: d,
          className: Object(h.a)(
            wu.a.SummaryCtn,
            wu.a.DiscoveryQueueApp,
            l && wu.a.Focused,
          ),
          onOptionsActionDescription: Object($.f)(
            "#DiscoveryQueue_ViewWishlist",
          ),
          onOptionsButton: () => {
            window.location.href = im(o.c.STORE_BASE_URL + "wishlist", y);
          },
        },
        r.createElement(
          "div",
          { className: wu.a.SummaryContentCtn },
          r.createElement(
            "div",
            { className: wu.a.SummaryTitle },
            Object($.f)("#DiscoveryQueue_SummaryTitle"),
          ),
          r.createElement(
            "div",
            { className: wu.a.YourStats },
            Object($.f)("#DiscoveryQueue_YourStats"),
          ),
          r.createElement(
            Ct.a,
            { "flow-children": "row", className: wu.a.SummaryGrid },
            r.createElement(
              "div",
              { className: wu.a.GridItem },
              r.createElement(
                "div",
                { className: wu.a.GridTitle },
                Object($.f)("#DiscoveryQueue_ViewedCaps"),
              ),
              r.createElement(
                "div",
                { className: wu.a.GridNumber },
                p.toLocaleString(),
              ),
              r.createElement(
                "div",
                { className: wu.a.GridSubTitle },
                Object($.f)("#DiscoveryQueue_Titles"),
              ),
            ),
            r.createElement(
              "div",
              { className: wu.a.GridItem },
              r.createElement(
                "div",
                { className: wu.a.GridTitle },
                Object($.f)("#DiscoveryQueue_WishlistedCaps"),
              ),
              r.createElement(
                "div",
                { className: wu.a.GridNumber },
                u.toLocaleString(),
              ),
              r.createElement(
                "a",
                {
                  className: Object(h.a)(wu.a.GridSubTitle, wu.a.TextLink),
                  href: im(o.c.STORE_BASE_URL + "wishlist", y),
                },
                Object($.f)("#DiscoveryQueue_ViewWishlist"),
              ),
            ),
            r.createElement(
              "div",
              { className: wu.a.GridItem },
              r.createElement(
                "div",
                { className: wu.a.GridTitle },
                Object($.f)("#DiscoveryQueue_IgnoredCaps"),
              ),
              r.createElement(
                "div",
                { className: wu.a.GridNumber },
                m.toLocaleString(),
              ),
              r.createElement(
                "a",
                {
                  className: Object(h.a)(wu.a.GridSubTitle, wu.a.TextLink),
                  href: im(o.c.STORE_BASE_URL + "account/notinterested", y),
                },
                Object($.f)("#DiscoveryQueue_ViewIgnored"),
              ),
            ),
          ),
          r.createElement(
            Ct.a,
            { className: wu.a.SummaryActionButtonsCtn },
            r.createElement(
              Ct.a,
              {
                className: Object(h.a)(wu.a.QueueButton, wu.a.Wide),
                focusable: !0,
                onClick: i,
              },
              Object($.f)("#ActionButtonLabelDone"),
            ),
            b &&
              r.createElement(
                Ct.a,
                {
                  className: Object(h.a)(
                    _ && wu.a.Disabled,
                    wu.a.QueueButton,
                    wu.a.Primary,
                    wu.a.Wide,
                  ),
                  focusable: !0,
                  onClick: E,
                },
                _ ? Object($.f)("#Loading") : Object($.f)("#Button_Continue"),
              ),
          ),
        ),
        C &&
          r.createElement(
            Ct.a,
            { className: wu.a.TradingCardCtn },
            r.createElement("img", {
              className: wu.a.TradingCardImage,
              src:
                o.c.MEDIA_CDN_URL + "store/promo/summer2022/card_stack.png?v-1",
            }),
            r.createElement(
              Ct.a,
              { className: wu.a.TradingCardColumn },
              r.createElement(
                "div",
                { className: wu.a.TradingCardText },
                Object($.l)(
                  (null == v ? void 0 : v.earned_today) > 0
                    ? "#DiscoveryQueue_TradingCardsEarned_Today"
                    : "#DiscoveryQueue_TradingCards_Desc",
                  r.createElement("a", {
                    className: wu.a.TextLink,
                    href: im(
                      o.c.STORE_BASE_URL + "sale/summersaletradingcards",
                      y,
                    ),
                  }),
                ),
              ),
            ),
          ),
      );
    }
    var om = n("kozu");
    function lm(e) {
      const { bIsPreview: t, event: n, section: s, language: l } = e,
        [c, d] = Object(r.useState)(!1),
        u = (function () {
          const [e, t] = Object(r.useState)(!1);
          return (
            Object(r.useEffect)(() => {
              if (!e) {
                const e = Object(o.g)(
                  "loyalty_webapi_token",
                  "application_config",
                );
                "string" == typeof e
                  ? (() => {
                      Object(a.a)(this, void 0, void 0, function* () {
                        eu.BHasTransport() ||
                          eu.Init(
                            new au.a(
                              o.c.WEBAPI_BASE_URL,
                              e,
                            ).GetServiceTransport(),
                          ),
                          yu.BIsLoaded() ||
                            (yield yu.Init(new au.a(o.c.WEBAPI_BASE_URL, e))),
                          ru.BHasWebAPIKey() ||
                            ru.Init(new au.a(o.c.WEBAPI_BASE_URL, e)),
                          Object(om.b)(e),
                          t(!0);
                      });
                    })()
                  : o.j.logged_in || t(!0);
              }
            }, [e]),
            e
          );
        })(),
        m = i.a.useCallback(() => {
          o.j.logged_in
            ? d(!0)
            : Object(ze.d)(
                i.a.createElement(xe.g, {
                  onOK: () => {
                    window.location.href = `${o.c.STORE_BASE_URL}login?redir=${encodeURIComponent(document.location.href)}`;
                  },
                  strOKButtonText: Object($.f)(
                    "#DiscoveryQueue_Error_Login_Title",
                  ),
                  strDescription: Object($.f)("#DiscoveryQueue_Error_Login"),
                  strTitle: Object($.f)("#DiscoveryQueue_Error_Login_Title"),
                }),
                window,
              );
        }, []);
      return u
        ? i.a.createElement(
            er.a,
            {
              placeholderHeight: "100vh",
              rootMargin: es,
              className: Object(h.a)(
                ks.SaleSection,
                os.a.SaleSectionCtn,
                "SaleQuizCSS",
              ),
              style: $s(s, n),
            },
            !c &&
              i.a.createElement(
                te.F,
                { style: { width: "auto", padding: "0 30px" }, onClick: m },
                Object($.f)("#DiscoveryQueue_OpenWizard"),
              ),
            o.j.logged_in &&
              i.a.createElement($u, {
                bWizardVisible: c && u,
                strUserCountry: o.c.COUNTRY,
                fnCloseModal: () => d(!1),
                eStoreDiscoveryQueueType:
                  (null == s ? void 0 : s.discovery_queue_type) || 0,
              }),
          )
        : i.a.createElement(ee.a, { size: "small" });
    }
    var cm = n("PeRo");
    function dm(e) {
      return fn() ? i.a.createElement(um, Object.assign({}, e)) : null;
    }
    function um(e) {
      var t, n, a, s, l;
      const { bIsPreview: c, event: d, section: m, language: p } = e,
        _ = $.b.GetELanguageFallback(p),
        g = Sn(),
        b = (function () {
          const e = fn(),
            [t, n] = Object(r.useState)(!!e && gn.Get().BIsAnyDoorOpened());
          return Object(u.e)(gn.Get().GetIsAnyDoorOpenChange(), n), t;
        })(),
        f =
          (null === (t = m.localized_description) || void 0 === t
            ? void 0
            : t.length) > 0
            ? m.localized_description[p] || m.localized_description[_] || ""
            : void 0,
        v =
          (null === (n = m.text_section_contents) || void 0 === n
            ? void 0
            : n.length) > 0
            ? m.text_section_contents[p] || m.text_section_contents[_] || ""
            : void 0,
        S = Object(zt.d)(() => {
          var e;
          return null === (e = m.quest) || void 0 === e
            ? void 0
            : e.incremental_reveal;
        }),
        y = Object(r.useMemo)(() => {
          var e;
          const t =
            (null === (e = m.quest) || void 0 === e ? void 0 : e.door_info) ||
            [];
          return (null == t ? void 0 : t.length) > 0
            ? o.j.logged_in
              ? S
                ? t.slice(0, b ? g + 2 : 1)
                : t
              : [t[0]]
            : t;
        }, [
          S,
          b,
          g,
          null === (a = m.quest) || void 0 === a ? void 0 : a.door_info,
        ]),
        E =
          v &&
          g >=
            (null ===
              (l =
                null === (s = m.quest) || void 0 === s
                  ? void 0
                  : s.door_info) || void 0 === l
              ? void 0
              : l.length);
      return i.a.createElement(
        ea.b,
        { feature: "salequest" },
        i.a.createElement(
          er.a,
          {
            placeholderHeight: "100vh",
            rootMargin: es,
            className: Object(h.a)(
              ks.SaleSection,
              os.a.SaleSectionCtn,
              "SaleQuestCSS",
            ),
            style: $s(m, d),
          },
          i.a.createElement(Zs, { section: m, event: d, language: p }),
          Boolean(f) &&
            i.a.createElement(
              "div",
              { className: cm.description },
              i.a.createElement(dh, {
                text: f,
                partnerEventStore: St.b,
                showErrorInfo: c,
                event: d,
                languageOverride: p,
              }),
            ),
          y.map((e, t) =>
            i.a.createElement(mm, {
              key: e.unique_id,
              questDoorInfo: e,
              index: t,
              bIsPreview: c,
              event: d,
              language: p,
            }),
          ),
          Boolean(!o.j.logged_in) &&
            i.a.createElement(
              Ct.a,
              { className: ks.SaleSectionLoginPrompt },
              Object($.f)("#SalePage_Quiz_LoginPrompt"),
              i.a.createElement("br", null),
              i.a.createElement(
                "button",
                { onClick: Nr.a, className: ks.LoginButton },
                Object($.f)("#Login_SignIn"),
              ),
            ),
          Boolean(E) &&
            i.a.createElement(
              "div",
              { className: cm.description2 },
              i.a.createElement(dh, {
                text: v,
                partnerEventStore: St.b,
                showErrorInfo: c,
                event: d,
                languageOverride: p,
              }),
            ),
        ),
      );
    }
    function mm(e) {
      var t, n;
      const {
          questDoorInfo: a,
          language: r,
          bIsPreview: s,
          event: o,
          index: l,
        } = e,
        c = $.b.GetELanguageFallback(r),
        d = vn(l)
          ? (null === (t = a.localized_open_door_description) || void 0 === t
              ? void 0
              : t.length) > 0
            ? a.localized_open_door_description[r] ||
              a.localized_open_door_description[c] ||
              ""
            : void 0
          : (null === (n = a.localized_closed_door_description) || void 0 === n
                ? void 0
                : n.length) > 0
            ? a.localized_closed_door_description[r] ||
              a.localized_closed_door_description[c] ||
              ""
            : void 0,
        [u, m] = Object(zt.d)(() => [
          a.background_gradient_bottom,
          a.background_gradient_top,
        ]),
        p = `linear-gradient(0deg, ${u || "transparent"} 0%, ${m || "transparent"} 100%)`;
      return d
        ? i.a.createElement(
            "div",
            { className: cm.questCtn, style: { background: p } },
            i.a.createElement(dh, {
              text: d,
              partnerEventStore: St.b,
              showErrorInfo: s,
              event: o,
              languageOverride: r,
            }),
          )
        : null;
    }
    class pm {
      constructor() {
        (this.m_mapInventoryByApp = new Map()),
          (this.m_mapPromises = new Map()),
          (this.m_listChangeCallback = new Map()),
          (this.m_SteamInterface = null);
      }
      GetInventoryForApp(e) {
        return this.m_mapInventoryByApp.get(e);
      }
      GetItemDefsChangeForAppID(e) {
        return (
          this.m_listChangeCallback.has(e) ||
            this.m_listChangeCallback.set(e, new g.a()),
          this.m_listChangeCallback.get(e)
        );
      }
      BHasLoadedDef(e) {
        return this.m_mapPromises.has(e);
      }
      LoadCommunityInventory(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return e
            ? (this.m_mapPromises.has(e) ||
                this.m_mapPromises.set(
                  e,
                  this.InternalLoadCommunityInventory(e),
                ),
              this.m_mapPromises.get(e))
            : 2;
        });
      }
      InternalLoadCommunityInventory(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(Al.a);
          t.Body().set_filter_appids([e]);
          let n = null;
          try {
            const a = yield Al.c.GetCommunityInventory(
              this.m_SteamInterface.GetServiceTransport(),
              t,
            );
            if (1 == a.GetEResult()) {
              const t = new Array();
              return (
                a
                  .Body()
                  .items()
                  .forEach((e) => t.push(e.toObject())),
                this.m_mapInventoryByApp.set(e, t),
                this.GetItemDefsChangeForAppID(e).Dispatch(t),
                1
              );
            }
            n = Object(me.a)(a);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CSaleMiniGameItemDefStore.InternalLoadAppCommunityItems failed: on appid " +
                e +
                " error: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            2
          );
        });
      }
      static Get() {
        return (
          pm.s_Singleton ||
            ((pm.s_Singleton = new pm()),
            pm.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_QuestCommunityInventoryStore = pm.s_Singleton)),
          pm.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)("read_inventory_token", "application_config");
        Object(l.a)(
          e,
          "CQuestCommunityInventoryStore: missing read_inventory:steam oauth permission",
        ),
          (this.m_SteamInterface = new au.a(o.c.WEBAPI_BASE_URL, e));
      }
    }
    function hm(e, t) {
      const n = (function (e) {
          const [t, n] = Object(r.useState)(pm.Get().GetInventoryForApp(e));
          return (
            Object(r.useEffect)(() => {
              e &&
                !pm.Get().BHasLoadedDef(e) &&
                pm.Get().LoadCommunityInventory(e);
            }, [e]),
            Object(u.e)(pm.Get().GetItemDefsChangeForAppID(e), n),
            t
          );
        })(e),
        [a, i] = Object(r.useState)(null),
        [s, o] = Object(r.useState)(!1);
      return (
        Object(r.useEffect)(() => {
          if (e && n && null == a) {
            const a = n.find((n) => n.appid == e && n.item_type == t);
            a && i(a), o(!0);
          }
        }, [e, t, n, a]),
        { communityItem: a, bLoaded: s }
      );
    }
    class _m {
      constructor() {
        (this.m_mapAppToDefs = new Map()),
          (this.m_mapPromises = new Map()),
          (this.m_listChangeCallback = new Map());
      }
      GetItemDefForAppID(e) {
        return this.m_mapAppToDefs.get(e);
      }
      GetItemDefsChangeForEventID(e) {
        return (
          this.m_listChangeCallback.has(e) ||
            this.m_listChangeCallback.set(e, new g.a()),
          this.m_listChangeCallback.get(e)
        );
      }
      BHasLoadedDef(e) {
        return this.m_mapPromises.has(e);
      }
      LoadAppCommunityItems(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return e
            ? (this.m_mapPromises.has(e) ||
                this.m_mapPromises.set(
                  e,
                  this.InternalLoadAppCommunityItems(e, t),
                ),
              this.m_mapPromises.get(e))
            : 2;
        });
      }
      InternalLoadAppCommunityItems(e, t) {
        var n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const i =
                o.c.COMMUNITY_BASE_URL +
                (t
                  ? "minigame/ajaxgetgameitemdefsforeditor"
                  : "minigame/ajaxgetgameitemdefs"),
              s = {
                appid: e,
                origin: self.origin,
                l: o.c.LANGUAGE,
                sessionid: t ? o.c.SESSIONID : void 0,
              },
              l = yield F.a.get(i, { params: s, withCredentials: t });
            if (
              200 == (null == l ? void 0 : l.status) &&
              1 ==
                (null === (n = null == l ? void 0 : l.data) || void 0 === n
                  ? void 0
                  : n.success) &&
              (null === (r = null == l ? void 0 : l.data) || void 0 === r
                ? void 0
                : r.item_definitions)
            )
              return (
                this.m_mapAppToDefs.set(e, l.data.item_definitions),
                this.GetItemDefsChangeForEventID(e).Dispatch(
                  l.data.item_definitions,
                ),
                1
              );
            a = Object(me.a)(l);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CSaleMiniGameItemDefStore.InternalLoadAppCommunityItems failed: on appid " +
                e +
                " edit? " +
                t +
                " error: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            2
          );
        });
      }
      static Get() {
        return (
          _m.s_Singleton ||
            ((_m.s_Singleton = new _m()),
            _m.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_SaleMiniGameItemDefStore = _m.s_Singleton)),
          _m.s_Singleton
        );
      }
      Init() {}
    }
    function gm(e, t, n) {
      const a = (function (e, t) {
          const [n, a] = Object(r.useState)(_m.Get().GetItemDefForAppID(e));
          return (
            Object(r.useEffect)(() => {
              e &&
                !_m.Get().BHasLoadedDef(e) &&
                _m.Get().LoadAppCommunityItems(e, t);
            }, [e, t]),
            Object(u.e)(_m.Get().GetItemDefsChangeForEventID(e), a),
            n
          );
        })(e, n),
        [i, s] = Object(r.useState)(null);
      return (
        Object(r.useEffect)(() => {
          if (e && a && null == i) {
            const n = a.find(
              (n) => n.active && n.appid == e && n.item_type == t,
            );
            n && s(n);
          }
        }, [i, a, e, t]),
        i
      );
    }
    var bm = n("0ZVb");
    function fm(e) {
      const { appid: t, community_item_type: n } = e,
        a = gm(t, n);
      if (
        (null == a ? void 0 : a.item_movie_mp4) &&
        (null == a ? void 0 : a.item_movie_webm)
      ) {
        const e = `${o.c.MEDIA_CDN_COMMUNITY_URL}images/items/${t}/${null == a ? void 0 : a.item_image_large}`,
          n = `${o.c.MEDIA_CDN_COMMUNITY_URL}images/items/${t}/${null == a ? void 0 : a.item_movie_webm}`,
          r = `${o.c.MEDIA_CDN_COMMUNITY_URL}images/items/${t}/${null == a ? void 0 : a.item_movie_mp4}`;
        return i.a.createElement(
          "video",
          { muted: !0, controls: !1, autoPlay: !0, loop: !0, poster: e },
          i.a.createElement("source", { src: n, type: "video/webm" }),
          Boolean(!o.c.IN_CLIENT) &&
            i.a.createElement("source", { src: r, type: "video/mp4" }),
        );
      }
      if (a) {
        const n = `${o.c.MEDIA_CDN_COMMUNITY_URL}images/items/${t}/${(null == a ? void 0 : a.item_image_small) || (null == a ? void 0 : a.item_image_large)}`;
        return i.a.createElement("img", {
          className: e.className,
          src: n,
          alt: null == a ? void 0 : a.item_name,
        });
      }
      return null;
    }
    function vm(e) {
      const { bIsPreview: t, event: n, section: a, language: s } = e,
        [l] = Object(zt.d)(() => [a.rewards.reward_items]),
        c = Object(r.useMemo)(() => {
          const e = new Array();
          let t = new Array();
          for (let n = 0; n < l.length; ++n) {
            n > 0 && n % 5 == 0 && (e.push(t), (t = new Array()));
            const r = l[n];
            t.push(
              o.j.logged_in
                ? i.a.createElement(ym, {
                    key: "reward" + n,
                    section: a,
                    rewardDef: r,
                    language: s,
                  })
                : i.a.createElement(
                    "div",
                    {
                      key: "hiddenreward" + n,
                      className: "reward_hidden_entry",
                    },
                    i.a.createElement(Sm, { section: a }),
                  ),
            );
          }
          return t.length > 0 && e.push(t), e;
        }, [s, l, a]);
      return i.a.createElement(
        ea.b,
        { feature: "rewardshelf" },
        i.a.createElement(
          er.a,
          {
            placeholderHeight: "100vh",
            rootMargin: es,
            className: Object(h.a)(
              ks.SaleSection,
              os.a.SaleSectionCtn,
              "SaleRewardShelfCSS",
            ),
            style: $s(a, n),
          },
          i.a.createElement(Zs, { section: a, event: n, language: s }),
          i.a.createElement(
            "div",
            { className: bm.RewardContainer },
            c.map((e, t) =>
              i.a.createElement(
                "div",
                {
                  className: Object(h.a)(bm.RewardShelfCtn, "RewardShelfCtn"),
                  key: "shelf_" + t,
                },
                e,
              ),
            ),
          ),
        ),
      );
    }
    function Sm(e) {
      const { section: t } = e,
        [n] = Object(zt.d)(() => {
          var e;
          return [
            null === (e = t.rewards) || void 0 === e
              ? void 0
              : e.hidden_reward_image,
          ];
        });
      return i.a.createElement("img", { src: Object(Rt.g)(n) });
    }
    function ym(e) {
      const { section: t, rewardDef: n, language: a } = e,
        { communityItem: r, bLoaded: s } = hm(n.appid, n.community_item_type);
      return i.a.createElement(
        "div",
        {
          className: Boolean(!r)
            ? "reward_visible_entry"
            : "reward_hidden_entry",
        },
        Boolean(!r)
          ? i.a.createElement(Sm, { section: t })
          : i.a.createElement(Em, { section: t, rewardDef: n, language: a }),
      );
    }
    function Em(e) {
      const { section: t, rewardDef: n, language: a } = e,
        r = gm(n.appid, n.community_item_type),
        [s] = Object(zt.d)(() => {
          var e;
          return [
            Boolean(
              null === (e = t.rewards) || void 0 === e
                ? void 0
                : e.show_reward_item_name,
            ),
          ];
        });
      let l;
      switch (n.community_class) {
        case 14:
        case 15:
          l = `${o.c.COMMUNITY_BASE_URL}my/edit/avatar`;
          break;
        case 1:
          l = `${o.c.COMMUNITY_BASE_URL}my/edit/favoritebadge`;
          break;
        case 3:
        case 8:
          l = `${o.c.COMMUNITY_BASE_URL}my/edit/background`;
          break;
        case 13:
          l = `${o.c.COMMUNITY_BASE_URL}my/edit/miniprofile`;
          break;
        case 11:
          l = `${o.c.COMMUNITY_BASE_URL}chat`;
      }
      return i.a.createElement(
        "a",
        { href: l },
        i.a.createElement(fm, {
          appid: null == n ? void 0 : n.appid,
          community_item_type: null == n ? void 0 : n.community_item_type,
        }),
        Boolean(s) &&
          i.a.createElement("span", null, null == r ? void 0 : r.item_name),
      );
    }
    const Cm = new (class {
      constructor() {
        (this.m_saleExp = {}), (this.m_bLoadedFromConfig = !1);
      }
      LazyInit() {
        if (!this.m_bLoadedFromConfig) {
          let e = document.getElementById("application_config");
          e && (this.m_saleExp = Object(o.g)("xprmnt", e)),
            (this.m_bLoadedFromConfig = !0);
        }
      }
      GetHideWishlist() {
        return (
          this.LazyInit(),
          Boolean(this.m_saleExp && this.m_saleExp.bHideWishlist)
        );
      }
      GetHideIRList() {
        return (
          this.LazyInit(), Boolean(this.m_saleExp && this.m_saleExp.bHideIRList)
        );
      }
      GetHideDLC() {
        return (
          this.LazyInit(), Boolean(this.m_saleExp && this.m_saleExp.bHideDLC)
        );
      }
    })();
    function wm(e) {
      const { section: t, event: n, language: a } = e;
      return i.a.createElement(
        Ct.a,
        { className: Ms.a.SaleSection, style: $s(t, n) },
        i.a.createElement(Zs, Object.assign({}, e)),
        i.a.createElement(
          Ct.a,
          { className: Ms.a.SaleSectionLoginPrompt },
          Object($.f)("#SalePage_LoginPrompt"),
          i.a.createElement(
            "button",
            { onClick: Nr.a, className: Ms.a.LoginButton },
            Object($.f)("#Login_SignIn"),
          ),
        ),
      );
    }
    function Bm(e, t) {
      const n = Ns(e);
      let a = 0;
      for (let e = 0; e < t; e++) a += n[e % n.length];
      return a;
    }
    function Om(e) {
      return "sub" !== e.type && "bundle" !== e.type;
    }
    function Dm(e) {
      const { event: t, section: n } = e,
        a = Object(r.useMemo)(
          () => Object(o.g)("ch_newshub", "application_config"),
          [],
        );
      if (!a) return null;
      if (!t.BUsesContentHubForItemSource()) return null;
      if ("events" !== n.section_type) return null;
      const s = o.c.STORE_BASE_URL + "news/" + a;
      return i.a.createElement(
        "div",
        { className: Ms.a.EventSectionViewAllCtn },
        i.a.createElement(
          te.K,
          { onClick: (e) => Object(E.e)(e, s) },
          Object($.f)("#EventBrowse_AllEventsBtn"),
        ),
      );
    }
    n("6v3d");
    function Im(e) {
      const { section: t, event: n, language: a, bIsPreview: i } = e;
      return r.createElement(
        "div",
        {
          className: Object(h.a)(
            Ms.a.SaleSection,
            os.a.SaleSectionCtn,
            "SaleSectionForCustomCSS",
          ),
          style: $s(t, n),
        },
        r.createElement(Zs, Object.assign({}, e)),
        r.createElement(
          "div",
          { className: Object(h.a)(Fe.a.SaleSectionContainer, "SaleTextCtn") },
          r.createElement(dh, {
            text: n.GetDescriptionWithFallback(a),
            partnerEventStore: St.b,
            showErrorInfo: i,
            event: n,
            languageOverride: a,
          }),
        ),
      );
    }
    function Tm(e) {
      const { section: t, event: n, language: a, bIsPreview: i } = e,
        [s, l, c, d, u] = Object(zt.d)(() => [
          t.hide_section_if_broadcast_is_hidden,
          t.hide_section_if_logged_out,
          t.text_section_contents,
          n.BHasBroadcastEnabled(),
          El.a.Get().BIsEmbeddedStreamCollapsed(),
        ]);
      if (s && (!d || u)) return null;
      if (l && !o.j.logged_in) return null;
      const m = $.a.GetWithFallback(c, a);
      if (null == m || 0 === m.length) {
        return Ys(t, a, n.clanSteamID.GetAccountID())
          ? r.createElement(
              "div",
              {
                className: Object(h.a)(
                  Ms.a.SaleSection,
                  os.a.SaleSectionCtn,
                  "SaleSectionForCustomCSS",
                ),
                style: $s(t, n),
              },
              r.createElement(Zs, Object.assign({}, e)),
            )
          : null;
      }
      return r.createElement(
        "div",
        {
          className: Object(h.a)(
            Ms.a.SaleSection,
            os.a.SaleSectionCtn,
            "SaleSectionForCustomCSS",
          ),
          style: $s(t, n),
        },
        r.createElement(Zs, Object.assign({}, e)),
        r.createElement(
          "div",
          { className: Object(h.a)(Fe.a.SaleSectionContainer, "SaleTextCtn") },
          r.createElement(dh, {
            text: m,
            partnerEventStore: St.b,
            showErrorInfo: i,
            event: n,
            languageOverride: a,
          }),
        ),
      );
    }
    var Rm,
      jm = n("4APE");
    !(function (e) {
      (e[(e.k_NotAvailableOnStore = 0)] = "k_NotAvailableOnStore"),
        (e[(e.k_NotIndexedBySolr = 1)] = "k_NotIndexedBySolr"),
        (e[(e.k_NotReturnedByQuery = 2)] = "k_NotReturnedByQuery"),
        (e[(e.k_IncorrectlyIndexedBySolr = 3)] = "k_IncorrectlyIndexedBySolr"),
        (e[(e.k_SyncTagsIssue = 4)] = "k_SyncTagsIssue"),
        (e[(e.k_Unknown = 5)] = "k_Unknown");
    })(Rm || (Rm = {}));
    const Am = Object(m.a)((e) => {
      const {
          event: t,
          actualMatches: n,
          expectedMatches: i,
          saleCapsules: s,
          closeModal: l,
        } = e,
        [c, d] = Object(r.useState)(!0),
        [u, m] = Object(r.useState)(null);
      let p;
      return (
        Object(r.useEffect)(() => {
          Object(a.a)(void 0, void 0, void 0, function* () {
            const e = o.c.STORE_BASE_URL + "saleaction/ajaxgetallitemsforsale",
              a = {
                cc: o.c.COUNTRY,
                l: o.c.LANGUAGE,
                clanAccountID:
                  (null == t ? void 0 : t.clanSteamID.GetAccountID()) || null,
                clanAnnouncementGID:
                  (null == t ? void 0 : t.AnnouncementGID) || null,
                count: s.length,
              },
              r = yield F.a.get(e, { params: a, withCredentials: !0 }),
              l = new Set(r.data.items.map((e) => e.id)),
              c = new Set(s.map((e) => e.id)),
              u = new Set(n.map((e) => e.id)),
              p = new Set(i.map((e) => e.id)),
              h = [];
            i.forEach((e) => {
              u.has(e.id) || h.push(e);
            }),
              n.forEach((e) => {
                p.has(e.id) || h.push(e);
              }),
              yield Object(Dn.g)(h, {});
            const _ = [];
            i.forEach((e) => {
              if (!u.has(e.id)) {
                let t;
                (t = Dt.a.Get().GetApp(e.id)
                  ? l.has(e.id)
                    ? Rm.k_NotReturnedByQuery
                    : Rm.k_NotIndexedBySolr
                  : Rm.k_NotAvailableOnStore),
                  _.push({ capsule: e, type: t });
              }
            }),
              n.forEach((e) => {
                if (!p.has(e.id)) {
                  let t;
                  (t = c.has(e.id)
                    ? Rm.k_SyncTagsIssue
                    : Rm.k_IncorrectlyIndexedBySolr),
                    _.push({ capsule: e, type: t });
                }
              }),
              m(_),
              d(!1);
          });
        }, [
          n,
          null == t ? void 0 : t.AnnouncementGID,
          null == t ? void 0 : t.clanSteamID,
          i,
          s,
        ]),
        (p = c
          ? r.createElement(ee.a, {
              size: "small",
              position: "center",
              string: "Loading",
            })
          : r.createElement(
              r.Fragment,
              null,
              r.createElement("div", null, "Discrepancies found: ", u.length),
              r.createElement(
                "div",
                { className: jm.DiscrepancyDialogHeaderRow },
                r.createElement(
                  "div",
                  { className: jm.DiscrepancyDialogCell },
                  "App",
                ),
                r.createElement(
                  "div",
                  { className: jm.DiscrepancyDialogCell },
                  "Issue",
                ),
              ),
              u.map((e) => {
                var t, n;
                return r.createElement(
                  "div",
                  {
                    className: jm.DiscrepancyDialogRow,
                    key: "discrepancy_" + e.capsule.type + e.capsule.id,
                  },
                  r.createElement(
                    "div",
                    { className: jm.DiscrepancyDialogCell },
                    r.createElement("div", null, e.capsule.id),
                    r.createElement(
                      "div",
                      null,
                      null === (t = Dt.a.Get().GetApp(e.capsule.id)) ||
                        void 0 === t
                        ? void 0
                        : t.GetName(),
                    ),
                  ),
                  r.createElement(
                    "div",
                    { className: jm.DiscrepancyDialogCell },
                    r.createElement(
                      Qe.a,
                      {
                        toolTipContent:
                          ((n = e.type),
                          n === Rm.k_NotAvailableOnStore
                            ? "The item may not be available in your region, or may have been banned or otherwise removed from the store."
                            : n === Rm.k_NotIndexedBySolr
                              ? "Solr has not indexed this item with the sale ID. If you have recently added this item to the sale, save your changes and wait a few minutes. Otherwise, flush the item from its store page and wait for Solr to index it."
                              : n === Rm.k_NotReturnedByQuery
                                ? "This item is ignored by the Solr query used here. For example, a list of discounted items will ignore items that are not currently discounted, or a list sorted by sales rank will ignore items that are very unpopular."
                                : n === Rm.k_IncorrectlyIndexedBySolr
                                  ? "Solr has indexed this item with the sale ID, but the item is not associated with the sale. If you have recently removed this item from the sale, save your changes and wait a few minutes. Otherwise, flush the item from its store page and wait for Solr to index it."
                                  : n === Rm.k_SyncTagsIssue
                                    ? "This item has store tags that match the current filters, but the sale tags do not match the filters. Try syncing store tags in the sale editor. If that doesn't help, then the one or more of the tags used in the current filters is not present in the top 10 tags for this item, and so wasn't synced to the sale tags. You can verify this on the store page for this item."
                                    : "Unknown"),
                        strTooltipClassname: jm.DiscrepancyDialogTooltip,
                      },
                      (function (e) {
                        return e === Rm.k_NotAvailableOnStore
                          ? "Not available on store"
                          : e === Rm.k_NotIndexedBySolr
                            ? "Not indexed by Solr"
                            : e === Rm.k_NotReturnedByQuery
                              ? "Not returned by Solr query"
                              : e === Rm.k_IncorrectlyIndexedBySolr
                                ? "Incorrectly indexed by Solr"
                                : e === Rm.k_SyncTagsIssue
                                  ? "Sale tags not synced completely"
                                  : "Unknown";
                      })(e.type),
                    ),
                  ),
                );
              }),
            )),
        r.createElement(
          xe.f,
          { bAllowFullSize: !0, onCancel: l, closeModal: l },
          r.createElement(te.y, null, "Debug Matches"),
          r.createElement(te.c, null, p),
          r.createElement(
            te.p,
            null,
            r.createElement(te.F, { onClick: l }, Object($.f)("#Button_OK")),
          ),
        )
      );
    });
    var km = n("aY4C"),
      Mm = n.n(km),
      Pm = n("jtr3");
    function Lm(e, t, n) {
      if (t.some((t) => t.id == e.appid && "game" == t.type)) return;
      const a = {
        id: e.appid,
        type: "game",
        overrideNavigation: () => {
          var t;
          (t = e.appid),
            un.Get().AppCapsuleFound(t),
            Object(ze.d)(
              i.a.createElement(Gm, {
                iDoorIndex: e.payload,
                datarecord: e.datarecord,
                bPreviewMode: Boolean(n || e.force_preview_mode),
              }),
              window,
            );
        },
      };
      e.insertionIndex
        ? t.splice(e.insertionIndex, 0, a)
        : "dev" == o.c.WEB_UNIVERSE
          ? t.unshift(a)
          : t.splice(Math.floor(Math.random() * t.length), 0, a);
    }
    function Gm(e) {
      const {
          closeModal: t,
          iDoorIndex: n,
          datarecord: a,
          bPreviewMode: s,
        } = e,
        l = vn(n),
        { fnOpenDoor: c } = bn(),
        [d, u] = Object(r.useState)(!l),
        [m, p] = Object(r.useState)(null),
        [h, _] = Object(r.useState)(!1);
      Object(r.useEffect)(() => {
        const e = F.a.CancelToken.source();
        return (
          c(n, !0, a, s).then((t) => {
            e.token.reason || (p(t), _(null == t), u(!1));
          }),
          () => e.cancel("unmounting SummerSale2022FoundItem")
        );
      }, [s, a, c, n]);
      const g = Math.floor(5 * Math.random()) + 1;
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)(`#Sale_Minigame_FoundIt_${g}`),
          bDisableBackgroundDismiss: !0,
          closeModal: t,
          strOKButtonText: Object($.f)("#Sale_Minigame_ContineQuest"),
          bOKDisabled: d,
          strCancelButtonText: Object($.f)("#Sale_Minigame_ContineShopping"),
          modalClassName: "SummerSale2022",
          onOK: () => {
            window.location.href = `${o.c.STORE_BASE_URL}sale/clorthax_quest`;
          },
        },
        i.a.createElement(
          "div",
          { className: Pm.Ctn },
          i.a.createElement(
            "div",
            null,
            Boolean(h)
              ? i.a.createElement(
                  i.a.Fragment,
                  null,
                  Object($.f)("#GrantAwardError_Busy"),
                )
              : i.a.createElement(
                  i.a.Fragment,
                  null,
                  Boolean(d)
                    ? i.a.createElement(
                        "div",
                        null,
                        i.a.createElement(ee.a, {
                          size: "small",
                          position: "center",
                        }),
                        i.a.createElement(
                          "span",
                          null,
                          Object($.f)("#Sale_Minigame_LoadingReward"),
                        ),
                      )
                    : i.a.createElement(
                        "div",
                        null,
                        i.a.createElement(
                          "div",
                          { className: Pm.DetailText },
                          Object($.f)("#Sale_Minigame_FoundIt_Earn"),
                        ),
                        Boolean(null == m ? void 0 : m.sale_pg_context_token) &&
                          i.a.createElement(
                            "div",
                            { className: Pm.RewardText },
                            Object($.f)(m.sale_pg_context_token),
                          ),
                        Boolean(
                          (null == m ? void 0 : m.sale_pg_background_mp4) &&
                            (null == m ? void 0 : m.sale_pg_background_webm),
                        ) &&
                          i.a.createElement(io.a, {
                            bAutoPlay: !0,
                            bMuted: !0,
                            bLoop: !0,
                            bControls: !1,
                            video: {
                              sPoster: Object(Rt.g)(
                                m.sale_pg_background_override,
                              ),
                              rgVideoSources: [
                                {
                                  sURL: Object(Rt.g)(m.sale_pg_background_webm),
                                  sFormat: "video/webm",
                                },
                                {
                                  sURL: Object(Rt.g)(m.sale_pg_background_mp4),
                                  sFormat: "video/mp4",
                                },
                              ],
                            },
                          }),
                        i.a.createElement(
                          "div",
                          { className: Pm.PostText },
                          Object($.f)(
                            n < 10
                              ? "#Summer2022_hunt_quest_return_clue"
                              : "#Summer2022_hunt_quest_return_gift",
                          ),
                        ),
                      ),
                ),
          ),
        ),
      );
    }
    var Nm = n("0D+i");
    class Fm {
      constructor() {
        (this.m_mapSectionToExistingCapsules = new Map()),
          (this.m_mapSectionToExistingClanEventGIDs = new Map()),
          (this.m_mapSectionToNewCapsules = new Map()),
          (this.m_mapSectionToNewEvents = new Map()),
          (this.m_clanSteamID = null),
          (this.m_gidClanEvent = null),
          (this.m_nActiveSectionCount = 0),
          (this.m_timer = new g.b()),
          (this.m_nTimeStartedMS = 0),
          (this.m_nExpirationTime = 45),
          (this.m_rtimeLastServiceCallStarted = 0),
          (this.m_rtimeLastServiceCallComplete = 0),
          (this.m_promise = null),
          (this.m_bTestMode = new Map()),
          (this.m_bPreviewMode = !1);
      }
      GetTimerSecondsLeft() {
        const e = Math.floor(
          (this.m_nTimeStartedMS + 1e3 * this.m_nExpirationTime - Date.now()) /
            1e3,
        );
        return this.m_timer.IsScheduled() && e >= 0 ? e : void 0;
      }
      GetNewEventGIDs(e) {
        return this.m_mapSectionToNewEvents.get(e);
      }
      GetNewCapsules(e) {
        return this.m_mapSectionToNewCapsules.get(e);
      }
      GetTimerWaitTimeMS() {
        const e = Math.floor(20 * Math.random());
        return 1e3 * (this.m_nExpirationTime + e);
      }
      IncrementalSectionNeedingReveal(e, t, n) {
        Object(l.a)(
          !this.m_clanSteamID ||
            this.m_clanSteamID.GetAccountID() == e.GetAccountID(),
          "mismatch clan steam id",
        ),
          Object(l.a)(
            !this.m_gidClanEvent || this.m_gidClanEvent == t,
            "Mismatch clan event gid",
          ),
          (this.m_clanSteamID = e),
          (this.m_gidClanEvent = t),
          (this.m_bPreviewMode = n),
          (this.m_nActiveSectionCount += 1),
          this.m_nActiveSectionCount > 0 &&
            !this.m_timer.IsScheduled() &&
            ((this.m_nTimeStartedMS = Date.now()),
            this.m_timer.Schedule(this.GetTimerWaitTimeMS(), this.TimerAction));
      }
      DecrementSectionNeedingReveal() {
        (this.m_nActiveSectionCount -= 1),
          this.m_nActiveSectionCount <= 0 && this.m_timer.Cancel();
      }
      AddSaleCapsules(e, t) {
        let n = this.m_mapSectionToExistingCapsules.has(e)
          ? this.m_mapSectionToExistingCapsules.get(e)
          : [];
        null == t ||
          t.forEach((e) => {
            n.findIndex((t) => e.id == t.id && e.type == t.type) < 0 &&
              !Object(Dn.d)(e) &&
              n.push(e);
          }),
          this.m_mapSectionToExistingCapsules.has(e) ||
            this.m_mapSectionToExistingCapsules.set(e, n);
      }
      AddEvents(e, t) {
        let n = this.m_mapSectionToExistingClanEventGIDs.has(e)
          ? this.m_mapSectionToExistingClanEventGIDs.get(e)
          : [];
        null == t ||
          t.forEach((e) => {
            !n.includes(e) && St.b.BHasClanEventModel(e) && n.push(e);
          }),
          this.m_mapSectionToExistingClanEventGIDs.has(e) ||
            this.m_mapSectionToExistingClanEventGIDs.set(e, n);
      }
      SetTestMode(e, t) {
        "dev" == o.c.WEBAPI_BASE_URL &&
          console.log(
            `CDynamicRevealStore Test Mode Cur ${this.m_bTestMode.get(e)} setting to ${t}`,
          ),
          this.m_bTestMode.set(e, t),
          this.m_mapSectionToExistingCapsules.has(e) &&
            this.m_mapSectionToExistingCapsules.set(e, []),
          this.m_mapSectionToExistingClanEventGIDs.has(e) &&
            this.m_mapSectionToExistingClanEventGIDs.set(e, []);
      }
      BIsInTestMode(e) {
        return this.m_bTestMode.get(e);
      }
      FireRequestNow() {
        Object(l.a)(
          this.m_bTestMode,
          "We should only use CDynamicRevealStore::FireRequestNow in test mode",
        ),
          this.TimerAction();
      }
      TimerAction() {
        this.m_nActiveSectionCount > 0 &&
          (this.m_timer.Cancel(),
          (this.m_promise = this.LoadRevealedItems(
            this.m_clanSteamID,
            this.m_gidClanEvent,
          )),
          this.m_promise
            .then((e) => {
              e.forEach((e) => {
                var t, n, a, r;
                if (
                  "events" == e.section_type &&
                  (null === (t = e.events) || void 0 === t
                    ? void 0
                    : t.length) > 0
                ) {
                  const t =
                      this.m_mapSectionToExistingClanEventGIDs.get(
                        e.unique_id,
                      ) || [],
                    n = e.events
                      .filter((e) => !t.includes(e.event_gid))
                      .map((e) => e.event_gid);
                  St.b
                    .LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(
                      n,
                      null,
                    )
                    .then((t) => {
                      const n = t
                        .map((e) => e.appid)
                        .filter((e) => Boolean(e))
                        .map((e) => ({ id: e, type: "game" }));
                      Object(Dn.g)(n, fs.e).then(() => {
                        const n = t
                          .filter(
                            (e) =>
                              Boolean(e.appid) &&
                              !Object(Dn.d)({ id: e.appid, type: "game" }),
                          )
                          .map((e) => e.GID);
                        this.m_mapSectionToNewEvents.set(e.unique_id, n);
                      });
                    });
                }
                if (
                  "items" == e.section_type &&
                  ((null === (n = e.appids) || void 0 === n
                    ? void 0
                    : n.length) > 0 ||
                    (null === (a = e.packageids) || void 0 === a
                      ? void 0
                      : a.length) > 0 ||
                    (null === (r = e.bundledid) || void 0 === r
                      ? void 0
                      : r.length) > 0)
                ) {
                  const t = Object(Dn.f)(e.appids, e.packageids, e.bundledid),
                    n =
                      this.m_mapSectionToExistingCapsules.get(e.unique_id) ||
                      [],
                    a = t.filter(
                      (e) =>
                        n.findIndex((t) => t.id == e.id && t.type == e.type) <
                        0,
                    );
                  Object(Dn.g)(a, fs.e).then(() => {
                    const t = new Array();
                    a.forEach((e) => {
                      Object(Dn.d)(e) || t.push(e);
                    }),
                      this.m_mapSectionToNewCapsules.set(e.unique_id, t);
                  });
                }
              });
            })
            .finally(() => {
              (this.m_nTimeStartedMS = Date.now()),
                this.m_timer.Schedule(
                  this.GetTimerWaitTimeMS(),
                  this.TimerAction,
                );
            }));
      }
      LoadRevealedItems(e, t) {
        var n;
        return Object(a.a)(this, void 0, void 0, function* () {
          this.m_rtimeLastServiceCallStarted = Date.now();
          try {
            const a = {
                clan_event_gid: t,
                clan_account_id: e.GetAccountID(),
                origin: self.origin,
                testmode: Array.from(this.m_bTestMode.values()).some((e) => e),
                sessionid: this.m_bPreviewMode ? o.c.SESSIONID : void 0,
                authwgtoken: this.m_bPreviewMode ? o.j.authwgtoken : void 0,
              },
              r = this.m_bPreviewMode
                ? o.c.STORE_BASE_URL + "saleaction/ajaxgetdynamicrevealspreview"
                : o.c.STORE_BASE_URL + "saleaction/ajaxgetdynamicreveals",
              i = yield F.a.get(r, { params: a });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 ==
                (null === (n = null == i ? void 0 : i.data) || void 0 === n
                  ? void 0
                  : n.success)
            )
              return (
                (this.m_nExpirationTime = Math.max(
                  i.data.expiration_time || 45,
                  10,
                )),
                i.data.dynamic_data
              );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CDynamicRevealStore.LoadRevealedItems: failed with " +
                t.strErrorMsg,
              t,
            );
          } finally {
            (this.m_rtimeLastServiceCallComplete = Date.now()),
              "dev" == o.c.WEB_UNIVERSE &&
                console.log(
                  `LoadRevealedItems: started ${Math.floor(this.m_rtimeLastServiceCallStarted / 1e3)} and completed ${Math.floor(this.m_rtimeLastServiceCallComplete / 1e3)} taking ${this.m_rtimeLastServiceCallComplete - this.m_rtimeLastServiceCallStarted} MS`,
                );
          }
          return [];
        });
      }
      static Get() {
        return (
          Fm.s_Singleton ||
            ((Fm.s_Singleton = new Fm()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_DynamicRevealStore = Fm.s_Singleton)),
          Fm.s_Singleton
        );
      }
    }
    function xm(e, t = null) {
      var n, a;
      if (!e || Object(Dn.e)(e)) return !0;
      if (t.BUsesContentHubForItemSource()) {
        if (
          null ===
            (a =
              null === (n = Nm.a.Get()) || void 0 === n
                ? void 0
                : n.GetHomeView()) || void 0 === a
            ? void 0
            : a.games_already_in_library
        )
          switch (e.GetStoreItemType()) {
            case 0:
              if (It.a.Get().BIsGameOwned(e.GetAppID())) return !0;
              break;
            case 1:
            case 2:
              if (
                e.GetIncludedAppIDs().every((e) => It.a.Get().BIsGameOwned(e))
              )
                return !0;
          }
        if (
          0 === e.GetStoreItemType() &&
          1 === e.GetAppType() &&
          It.a.Get().BIsGameOwned(e.GetParentAppID())
        )
          return !0;
      }
      return !1;
    }
    function zm(e, t, n) {
      let a = n,
        r = 0;
      for (r = 0; r < t; r++) {
        const t = e[r % e.length];
        if (a < t) break;
        a -= t;
      }
      return r;
    }
    function Um(e, t) {
      if (e.show_as_carousel) return 0;
      const n = Object(ce.k)(e);
      return n <= 0 ? 0 : n + t;
    }
    function Wm(e, t) {
      if (e.dynamic_reveal) {
        const n = Fm.Get().GetNewEventGIDs(e.unique_id);
        if ((null == n ? void 0 : n.length) > 0) {
          return [
            ...n
              .map((e) => St.b.GetClanEventModel(e))
              .filter(
                (e) => Boolean(e) && t.findIndex((t) => t.GID == e.GID) < 0,
              ),
            ...t,
          ];
        }
      }
      return t;
    }
    function Hm(e, t) {
      if (e.dynamic_reveal) {
        const n = Fm.Get().GetNewCapsules(e.unique_id);
        if ((null == n ? void 0 : n.length) > 0) {
          return [
            ...n.filter(
              (e) => t.findIndex((t) => t.id == e.id && t.type == e.type) < 0,
            ),
            ...t,
          ];
        }
      }
      return t;
    }
    function Vm(e) {
      const {
          event: t,
          section: n,
          activeTab: a,
          nSaleDayIndex: r,
          capsules: s,
          facetFilterState: l,
        } = e,
        c = (e) => {
          e.preventDefault();
          let o = Yi(n.facets);
          (o = o.filter((e) => a.ShouldShowCapsule(e))), (o = Ji(o, r));
          const c = l.FilterCapsules(o);
          Object(ze.d)(
            i.a.createElement(Am, {
              event: t,
              actualMatches: s,
              expectedMatches: c,
              saleCapsules: Yi(n.facets),
            }),
            Object(v.o)(e),
          );
        };
      return o.j.is_support &&
        n.smart_section &&
        n.enable_faceted_browsing &&
        Ki(n) &&
        !Qi(t, n)
        ? i.a.createElement(
            "div",
            null,
            i.a.createElement("a", { href: "", onClick: c }, "Debug Matches"),
          )
        : null;
    }
    function qm(e, t, n, a, r) {
      let i =
        "section_" +
        a +
        "_" +
        e.GID +
        (r || 0) +
        Object(Mn.a)(
          t.unique_id ? t.unique_id.toString() : JSON.stringify(t),
        ).toString();
      return (
        n &&
          e.rtime32_last_local_modification &&
          (i += "_" + e.rtime32_last_local_modification),
        i
      );
    }
    Object(a.b)([L.C], Fm.prototype, "m_mapSectionToNewCapsules", void 0),
      Object(a.b)([L.C], Fm.prototype, "m_mapSectionToNewEvents", void 0),
      Object(a.b)([Ul.a], Fm.prototype, "FireRequestNow", null),
      Object(a.b)([Ul.a], Fm.prototype, "TimerAction", null);
    const Km = 12;
    let Qm = class extends i.a.Component {
      constructor(e) {
        var t;
        super(e),
          (this.state = {
            currentFlavor: this.GetDefaultTab(),
            bInitialLoadComplete: !1,
            rgCapsules: [],
            nVisibleRows: Km,
            nNumRequestedLastTime: 0,
            bIsMoreAvailable: !1,
            bAwaitingMoreRowsLoading: !1,
            nHiddenCapsules: 0,
            strSearchQuery: "",
            strRawSearch: "",
            bIsNarrowScreen: Object(ja.a)(),
            fnUnregisterCallback: null,
          }),
          (this.m_timerForChange = new g.b()),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.m_nHighestSentRequestID = 0),
          (this.m_nHighestReceivedRequestID = 0),
          (null === (t = e.section) || void 0 === t
            ? void 0
            : t.enable_faceted_browsing) &&
            (this.state.facetFilterState = new Li(
              e.section.facets,
              e.section.min_capsule_matches_for_facet_values || 1,
              e.section.facet_sort_order || ce.e.k_ESortFacetsByMatchCount,
              e.language,
              Ki(e.section),
              Qi(e.event, e.section),
            ));
      }
      componentDidMount() {
        window.addEventListener("resize", this.OnResize), this.LoadCapsules(Km);
        const { section: e, activeTab: t } = this.props;
        this.setState({
          fnUnregisterCallback: hn(
            e.unique_id,
            null == t ? void 0 : t.GetActiveTabUniqueID(),
          ).Register(this.OnDynamicCapsuleInsert).Unregister,
        });
      }
      componentWillUnmount() {
        this.m_timerForChange.Cancel(),
          this.state.fnUnregisterCallback && this.state.fnUnregisterCallback(),
          this.m_cancelSignal.cancel("SaleItemBrowser component unmounted");
      }
      componentDidUpdate(e) {
        var t, n, a, r, i;
        const s = this.props.section
            ? Dr(
                this.props.history,
                "facets" +
                  (null === (t = this.props.section) || void 0 === t
                    ? void 0
                    : t.unique_id),
              )
            : "",
          o =
            (this.props.section && Dr(this.props.history, "flavor")) ||
            this.GetDefaultTab();
        if (
          this.props.browseInfo != e.browseInfo ||
          this.props.event != e.event ||
          this.props.section != e.section ||
          (null === (n = this.props.activeTab) || void 0 === n
            ? void 0
            : n.GetActiveTabUniqueID()) !=
            (null === (a = e.activeTab) || void 0 === a
              ? void 0
              : a.GetActiveTabUniqueID()) ||
          this.state.strFacetUrlParam !== s ||
          this.state.currentFlavor !== o
        ) {
          (null === (r = this.props.section) || void 0 === r
            ? void 0
            : r.enable_faceted_browsing) &&
            this.state.strFacetUrlParam !== s &&
            this.state.facetFilterState.SetFromURLParam(s);
          const { section: t, activeTab: n } = this.props;
          let a = this.state.fnUnregisterCallback;
          (t.unique_id == e.section.unique_id &&
            (null == n ? void 0 : n.GetActiveTabUniqueID()) ==
              (null === (i = e.activeTab) || void 0 === i
                ? void 0
                : i.GetActiveTabUniqueID())) ||
            (a && a(),
            (a = hn(
              t.unique_id,
              null == n ? void 0 : n.GetActiveTabUniqueID(),
            ).Register(this.OnDynamicCapsuleInsert).Unregister)),
            this.setState(
              {
                bInitialLoadComplete: !1,
                rgCapsules: [],
                nVisibleRows: Km,
                nNumRequestedLastTime: 0,
                bIsMoreAvailable: !0,
                bAwaitingMoreRowsLoading: !0,
                strFacetUrlParam: s,
                currentFlavor: o,
                fnUnregisterCallback: a,
              },
              () => this.LoadCapsules(Km),
            );
        }
      }
      OnDynamicCapsuleInsert(e) {
        const { activeTab: t, section: n } = this.props;
        if (
          e &&
          e.sectionID == n.unique_id &&
          (null == t ? void 0 : t.GetActiveTabUniqueID()) == e.tabID
        ) {
          const t = this.state.rgCapsules ? [...this.state.rgCapsules] : [];
          Lm(e, t, this.props.bIsPreview), this.setState({ rgCapsules: t });
        }
      }
      ShowMoreRows() {
        var e;
        if (
          !this.m_cancelSignal.token.reason &&
          !this.state.bAwaitingMoreRowsLoading
        ) {
          const { section: t } = this.props,
            n = Math.min(
              (null === (e = this.state.rgCapsules) || void 0 === e
                ? void 0
                : e.length) || 0,
              this.state.nVisibleRows,
            );
          dn.Get().AddInteraction(t.unique_id, n),
            this.setState({ bAwaitingMoreRowsLoading: !0 }, () =>
              Object(a.a)(this, void 0, void 0, function* () {
                const e = this.state.nVisibleRows + 8;
                this.LoadCapsules(e);
              }),
            );
        }
      }
      LoadCapsules(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const {
            event: t,
            bIsPreview: n,
            activeTab: a,
            section: r,
          } = this.props;
          let {
            currentFlavor: i,
            rgCapsules: s,
            nNumRequestedLastTime: o,
            nHiddenCapsules: l,
            strSearchQuery: c,
            facetFilterState: d,
          } = this.state;
          yield Promise.all([It.a.Get().HintLoad(), Object(Dn.g)(s, fs.e)]),
            r.enable_faceted_browsing && Object(L.G)(() => d.PruneFacets());
          let u = !0,
            m = Math.max(o, e + 1);
          (null == a ? void 0 : a.BIsTabFilteringEnabled()) &&
            (m = Math.max(m, 100));
          {
            const e = this.m_nHighestSentRequestID;
            let o, p;
            try {
              const e = {
                  strSectionFilter: Object(ce.n)(r),
                  nTabUniqueID: null == a ? void 0 : a.GetActiveTabUniqueID(),
                  strTabFilter: null == a ? void 0 : a.GetStoreFilter(),
                  facetFilter: d,
                  contentHub: t.GetContentHub(),
                  bContentHubDiscountedOnly: t.BContentHubDiscountedOnly(),
                  strSearch: c,
                  bRequestFacetCounts: r.enable_faceted_browsing,
                },
                s = yield Ao.Get().GetSaleGamesByFlavor(
                  n,
                  t,
                  i,
                  e,
                  m,
                  0,
                  this.m_cancelSignal,
                );
              (o = s.appids),
                (p = s.rgStoreItemKeys),
                (u = s.bHasPossibleMoreResults),
                (null == r ? void 0 : r.enable_faceted_browsing) &&
                  (d.SetFacetCounts(s.facetCounts),
                  d.SetMultiFacetCounts(s.multifaceting),
                  d.SetSolrMatchCount(s.nMatchCount));
            } catch (e) {
              return void (
                this.m_cancelSignal.token.reason ||
                (console.error("Failed to load games for browser;" + e.message),
                this.setState({
                  bInitialLoadComplete: !0,
                  bAwaitingMoreRowsLoading: !1,
                }))
              );
            }
            if (this.m_nHighestReceivedRequestID > e) return;
            (this.m_nHighestReceivedRequestID = e),
              (s = p
                ? p.map((e) => {
                    const t = e.split("_"),
                      n = "app" === t[0] ? "game" : t[0];
                    return { id: Number(t[1]), type: n };
                  })
                : o.map((e) => ({ id: e, type: "game" }))),
              this.state.strSearchQuery ||
                t.BUsesContentHubForItemSource() ||
                (s = s.filter((e) => !a || a.ShouldShowCapsule(e))),
              (null == r ? void 0 : r.enable_faceted_browsing) &&
                (s = d.ApplyOptInFilters(s));
            let h = new Array();
            if (null == r ? void 0 : r.enable_faceted_browsing) {
              s = yield d.ApplyUserPreferenceFilters(s, !1, h);
              const e = u;
              d.UpdateMatchCount(e, s.length);
            }
            (s = yield Object(Dn.a)(s, !1, h, (e) => xm(e, t))), (l = h.length);
          }
          if (this.m_cancelSignal.token.reason) return;
          const p = pn(
            r.unique_id,
            null == a ? void 0 : a.GetActiveTabUniqueID(),
          );
          p && Lm(p, s, this.props.bIsPreview);
          const h = s.length > e || u;
          this.setState({
            bInitialLoadComplete: !0,
            rgCapsules: s,
            nVisibleRows: e,
            nNumRequestedLastTime: m,
            bIsMoreAvailable: h,
            bAwaitingMoreRowsLoading: !1,
            nHiddenCapsules: l,
          });
        });
      }
      OnFlavorLabelClick(e) {
        this.m_timerForChange.Cancel(),
          this.m_cancelSignal.token.reason ||
            Tr(this.props.history, "flavor", e);
      }
      GetDefaultTab() {
        const { browseInfo: e } = this.props;
        if (!(null == e ? void 0 : e.tabs)) return null;
        return e.tabs.find((e) => ce.t.find((t) => t.flavor === e)) || null;
      }
      RenderTabHeaders() {
        const { currentFlavor: e, strRawSearch: t } = this.state,
          { browseInfo: n } = this.props;
        if (!(null == n ? void 0 : n.tabs)) return null;
        const a = Boolean(t) ? "search" : e;
        return n.tabs
          .map((e) => ce.t.find((t) => t.flavor === e))
          .filter((e) => !!e)
          .map((e) =>
            i.a.createElement(
              Qe.a,
              {
                key: e.flavor,
                toolTipContent: Object($.f)(e.tooltip),
                onClick: () => this.OnFlavorLabelClick(e.flavor),
                className: Object(h.a)(
                  Mm.a.FlavorLabel,
                  a == e.flavor && Mm.a.SelectedFlavor,
                ),
              },
              Object($.f)(e.label),
            ),
          );
      }
      OnApplySearch(e) {
        this.m_cancelSignal.token.reason ||
          this.setState(
            {
              bInitialLoadComplete: !1,
              rgCapsules: [],
              nVisibleRows: Km,
              nNumRequestedLastTime: 0,
              bIsMoreAvailable: !0,
              bAwaitingMoreRowsLoading: !0,
              strSearchQuery: e,
            },
            () => this.LoadCapsules(Km),
          );
      }
      OnUpdateSearch(e) {
        if (this.m_cancelSignal.token.reason) return;
        const t = e.target.value && e.target.value.trim().toLocaleLowerCase();
        this.setState({ strRawSearch: e.target.value }),
          this.m_nHighestSentRequestID++;
        this.m_timerForChange.Schedule(200, () => this.OnApplySearch(t));
      }
      GetSNRFeature() {
        if (this.state.strRawSearch) return "saleitemsearch";
        if (this.state.currentFlavor) {
          let e = this.state.currentFlavor;
          switch (e) {
            case "contenthub_newandtrending":
              e = "newandtrending";
              break;
            case "contenthub_topsellers":
              e = "topsellers";
              break;
            case "contenthub_popular":
              e = "popularpurchased";
              break;
            case "contenthub_toprated":
              e = "toprated";
              break;
            case "contenthub_upcoming":
              e = "popularcomingsoon";
              break;
            case "contenthub_all":
              e = "all";
          }
          return "salebrowse" + e;
        }
        return "saleitembrowse";
      }
      GetSNRData() {
        var e;
        const { section: t } = this.props;
        if (null == t ? void 0 : t.enable_faceted_browsing) {
          const t =
            null === (e = this.state.facetFilterState) || void 0 === e
              ? void 0
              : e.GetSelectedOptionsCount();
          if (t) return { feature: "salefacetbrowse", depth: t };
        }
        return { feature: this.GetSNRFeature() };
      }
      OnUpdateFacetFilter() {
        var e;
        this.m_cancelSignal.token.reason ||
          Tr(
            this.props.history,
            "facets" +
              (null === (e = this.props.section) || void 0 === e
                ? void 0
                : e.unique_id),
            this.state.facetFilterState.GetURLParam(),
          );
      }
      OnResize() {
        this.setState({ bIsNarrowScreen: Object(ja.a)() });
      }
      DebugMatches(e) {
        const { event: t, section: n, activeTab: a } = this.props,
          { rgCapsules: r, facetFilterState: s } = this.state;
        e.preventDefault();
        let o = Yi(null == n ? void 0 : n.facets);
        o = o.filter((e) => a.ShouldShowCapsule(e));
        const l = s.FilterCapsules(o);
        Object(ze.d)(
          i.a.createElement(Am, {
            event: t,
            actualMatches: r,
            expectedMatches: l,
            saleCapsules: Yi(null == n ? void 0 : n.facets),
          }),
          Object(v.o)(e),
        );
      }
      render() {
        const { browseInfo: e, section: t, event: n, language: a } = this.props,
          {
            bInitialLoadComplete: r,
            rgCapsules: s,
            nVisibleRows: l,
            bIsMoreAvailable: c,
            bAwaitingMoreRowsLoading: d,
            strRawSearch: u,
            nHiddenCapsules: m,
          } = this.state,
          p = Boolean(u),
          _ = this.RenderTabHeaders();
        if (!_ || 0 == _.length) return null;
        const { feature: g, depth: b } = this.GetSNRData();
        let f = i.a.createElement(
          i.a.Fragment,
          null,
          r &&
            i.a.createElement(
              ea.b,
              { feature: g, depth: b },
              s
                .slice(0, l)
                .filter(
                  (e) =>
                    !this.props.fnBIsPermittedApp ||
                    ("sub" != e.type &&
                      "bundle" != e.type &&
                      this.props.fnBIsPermittedApp(e.id)),
                )
                .map((t) => {
                  let n;
                  return (
                    !this.state.bIsNarrowScreen &&
                      "overrideNavigation" in t &&
                      (n = (e) => (
                        t.overrideNavigation(),
                        e && (e.preventDefault(), e.stopPropagation()),
                        !1
                      )),
                    i.a.createElement(
                      "div",
                      {
                        key: "saleitem_browser_" + t.type + "_" + t.id,
                        className: ys.a.SaleItemBrowserRow,
                      },
                      this.state.bIsNarrowScreen
                        ? i.a.createElement(Ts, {
                            capsule: t,
                            imageType: "header",
                            bShowDemoButton: Boolean(e.show_as_demos),
                            bShowDeckCompatibilityDialog:
                              e.show_deck_compability_details,
                          })
                        : i.a.createElement(vs.e, {
                            id: t.id,
                            type: t.type || "game",
                            bShowDemoButton: Boolean(e.show_as_demos),
                            bLoadShortDescription: !0,
                            bShowReviewSummary: !0,
                            bShowDeckCompatibilityDialog:
                              e.show_deck_compability_details,
                            fnOnClickOverride: n,
                          }),
                    )
                  );
                }),
            ),
          r &&
            0 == s.length &&
            i.a.createElement(
              "div",
              { className: Mm.a.EmptyResults },
              Object($.f)("#Sale_EmptySearchResultsOrLoadFailure"),
            ),
          (!r || c) &&
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  Mm.a.ShowContentsContainer,
                  !r && Mm.a.Loading,
                ),
              },
              !r || d
                ? i.a.createElement(No, {
                    capsules_per_row: [l],
                    is_item_browser: !0,
                  })
                : i.a.createElement(
                    xn.d,
                    {
                      onClick: this.ShowMoreRows,
                      className: Mm.a.ShowContentsButton,
                    },
                    Object($.f)("#Sale_ShowMore"),
                  ),
            ),
        );
        if (null == t ? void 0 : t.enable_faceted_browsing) {
          const e = $s(t, n).background;
          f = i.a.createElement(
            Vi,
            {
              language: a,
              section: t,
              facetFilterState: this.state.facetFilterState,
              nMaxFacetValues: t.max_facet_values_for_facet || 100,
              background: e,
              fnOnUpdateFilter: this.OnUpdateFacetFilter,
            },
            f,
          );
        }
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "div",
            { className: ks.SaleSectionTitleCtn },
            i.a.createElement(
              Zs,
              Object.assign(
                { section: t, event: n, nHiddenCapsules: m },
                this.props,
              ),
            ),
          ),
          i.a.createElement(
            "div",
            { className: Mm.a.SaleItemBrowserContainer },
            i.a.createElement(
              oi,
              { className: Mm.a.SaleItemBrowserHeaderContainer },
              i.a.createElement(
                Ct.a,
                {
                  "flow-children": "row",
                  className: Mm.a.SaleItemBrowserHeader,
                },
                _,
                e.enable_search &&
                  i.a.createElement(
                    "div",
                    { className: Mm.a.SuggestContainer },
                    i.a.createElement(H.M, null),
                    i.a.createElement(te.z, {
                      type: "text",
                      onChange: this.OnUpdateSearch,
                      bAlwaysShowClearAction: p,
                      value: u,
                    }),
                  ),
                o.j.logged_in &&
                  o.j.is_support &&
                  (null == t ? void 0 : t.enable_faceted_browsing) &&
                  i.a.createElement(
                    "div",
                    { className: Mm.a.Debug },
                    i.a.createElement(
                      "a",
                      { href: "", onClick: (e) => this.DebugMatches(e) },
                      i.a.createElement(H.T, null),
                    ),
                  ),
              ),
            ),
            f,
          ),
        );
      }
    };
    function Ym(e) {
      const { section: t, activeTab: n, event: a, history: i } = e,
        s = r.useRef();
      r.useEffect(() => {
        var e, t;
        const n =
          null === (e = a.jsondata.sale_sections) || void 0 === e
            ? void 0
            : e.find((e) => "sale_item_browser" === e.section_type);
        if (null != n) {
          const e = n.unique_id;
          if (null != e) {
            const n = Dr(i, "flavor"),
              r = Dr(i, "facets" + e);
            if ((null != n || null != r) && s.current) {
              const e = s.current.style.position,
                n = s.current.style.top;
              (null === (t = a.jsondata.sale_sections) || void 0 === t
                ? void 0
                : t.find((e) => "tabs" == e.section_type)) &&
                ((s.current.style.position = "relative"),
                (s.current.style.top = "-64px")),
                s.current.scrollIntoView({
                  behavior: "auto",
                  block: "start",
                  inline: "nearest",
                }),
                (s.current.style.position = e),
                (s.current.style.top = n);
            }
          }
        }
      }, [a.jsondata.sale_sections, i]);
      const o = t.diable_tab_id_filtering ? new Xi(null, n.GetSaleDay()) : n;
      return r.createElement(
        r.Fragment,
        null,
        r.createElement("div", { ref: s }),
        r.createElement(Zm, Object.assign({}, e, { activeTab: o })),
      );
    }
    Object(a.b)([u.b], Qm.prototype, "OnDynamicCapsuleInsert", null),
      Object(a.b)([u.b], Qm.prototype, "ShowMoreRows", null),
      Object(a.b)([u.b], Qm.prototype, "OnUpdateSearch", null),
      Object(a.b)([u.b], Qm.prototype, "OnUpdateFacetFilter", null),
      Object(a.b)([u.b], Qm.prototype, "OnResize", null),
      Object(a.b)([u.b], Qm.prototype, "DebugMatches", null),
      (Qm = Object(a.b)([m.a], Qm));
    const Zm = Object(m.a)((e) => {
      const { section: t, event: n, activeTab: a } = e,
        i =
          "saleitembrowser_" +
          t.unique_id +
          (a.BIsTabFilteringEnabled() ? "_" + a.GetActiveTabUniqueID() : "");
      return r.createElement(
        er.a,
        {
          placeholderHeight: "100vh",
          rootMargin: es,
          mode: "LoadAndUnload",
          className: Object(h.a)(
            Ms.a.SaleSection,
            os.a.SaleSectionCtn,
            "SaleSectionForCustomCSS",
          ),
          style: $s(t, n),
          onRender: () => dn.Get().AddInteraction(t.unique_id, 0),
        },
        r.createElement(
          Qm,
          Object.assign(
            { key: i, browseInfo: t.item_browse_section_data, section: t },
            e,
          ),
        ),
      );
    });
    function Jm(e) {
      const {
          section: t,
          selectedTabs: n,
          event: a,
          history: i,
          activeTab: s,
          setTabUniqueIDQueryParam: o,
        } = e,
        l = r.useRef(),
        c = r.useCallback(
          (e, t) => {
            const r = n.get(e);
            if ((null == r ? void 0 : r.GetTab()) !== t) {
              if (l.current) {
                const e =
                  l.current.getBoundingClientRect().top + window.scrollY;
                window.scrollY > e && window.scrollTo(0, e);
              }
              const e = a
                  .GetSaleSections()
                  .filter((e) =>
                    null == e ? void 0 : e.enable_faceted_browsing,
                  )
                  .map((e) => e.unique_id),
                n = {};
              (n.tab = String(t.unique_id)),
                e.forEach((e) => {
                  n["facets" + e] = null;
                }),
                o(t.unique_id),
                jr(i, n);
            }
          },
          [a, i, n, o],
        );
      switch (t.section_type) {
        case "tabs":
          const a = n.get(t);
          return r.createElement(
            r.Fragment,
            null,
            r.createElement("div", { ref: l }),
            r.createElement(
              Ed,
              Object.assign({ section: t }, e, {
                activeTab: a.GetTab(),
                onTabSelected: c,
              }),
            ),
          );
        case "tab_buttons":
          const i = t.diable_tab_id_filtering
            ? new Xi(null, s.GetSaleDay())
            : s;
          return r.createElement(
            Cd,
            Object.assign({}, e, {
              activeTab: i,
              onTabSelected: c,
              hideActiveTab: !0,
            }),
          );
      }
      return null;
    }
    function Xm(e) {
      const { section: t, event: n } = e;
      return r.createElement(
        "div",
        {
          className: Object(h.a)({
            [Ms.a.SaleSection]: !0,
            [Ms.a.CarouselDisplay]: t.show_as_carousel,
            [os.a.SaleSectionCtn]: !0,
            SaleSectionForCustomCSS: !0,
          }),
          style: $s(t, n),
        },
        r.createElement(Zs, Object.assign({}, e)),
        r.createElement("div", null, Object($.f)("#Sale_SectionDisabled")),
      );
    }
    var $m = n("NIsw"),
      ep = n.n($m);
    const tp = Object(m.a)((e) => {
      const {
          section: t,
          fnGetCapsules: n,
          fnSetCapsules: a,
          fnGetEvents: i,
          fnSetEvents: s,
        } = e,
        [o, l] = r.useState(!1),
        [c, d] = r.useState(null),
        [u, m] = r.useState(null);
      return o
        ? null
        : Fm.Get().BIsInTestMode(t.unique_id)
          ? (Object(ba.b)(1e3),
            r.createElement(
              "div",
              { className: Ms.a.SaleSection },
              r.createElement(
                "div",
                null,
                Object($.f)("#Sale_DynamicReview_Preview"),
              ),
              r.createElement(
                "div",
                null,
                Object($.f)(
                  "#Sale_DynamicReview_Preview_active_desc",
                  Fm.Get().GetTimerSecondsLeft() || Object($.f)("#Updating"),
                ),
              ),
              r.createElement(
                te.e,
                { onClick: () => Fm.Get().FireRequestNow() },
                Object($.f)("#Sale_DynamicReview_Preview_action"),
              ),
            ))
          : r.createElement(
              "div",
              { className: Ms.a.SaleSection },
              r.createElement(
                "div",
                null,
                Object($.f)("#Sale_DynamicReview_Preview"),
              ),
              r.createElement(
                "div",
                null,
                Object($.f)("#Sale_DynamicReview_Preview_desc"),
              ),
              r.createElement(
                te.e,
                {
                  onClick: () => {
                    d(n() || []),
                      m(i() || []),
                      a([]),
                      s([]),
                      Fm.Get().SetTestMode(t.unique_id, !0);
                  },
                },
                Object($.f)("#Sale_DynamicReview_Preview_start"),
              ),
              r.createElement(
                "div",
                { className: ca.a.RemoveIcon, onClick: () => l(!0) },
                r.createElement(H.zb, null),
              ),
            );
    });
    class np {
      constructor(e) {
        (this.m_nMaxTiers = 0),
          (this.m_nDefaultTier = 0),
          (this.m_rgCapsuleMap = new Map());
        const t = e.jsondata;
        if (t.sorting_tiers) {
          this.m_nDefaultTier = -1;
          for (const e of t.sorting_tiers) {
            const t = this.m_nMaxTiers;
            if ((this.m_nMaxTiers++, e.capsules))
              for (const n of e.capsules)
                n.id && this.m_rgCapsuleMap.set(n.id, t);
            else this.m_nDefaultTier < 0 && (this.m_nDefaultTier = t);
          }
          this.m_nDefaultTier < 0 &&
            ((this.m_nDefaultTier = this.m_nMaxTiers), this.m_nMaxTiers++);
        }
      }
      RandomizeCapsules(e) {
        var t;
        if (0 === this.m_nMaxTiers || 0 === this.m_rgCapsuleMap.size)
          return void Object(ka.f)(e);
        const n = new Array();
        for (let e = 0; e < this.m_nMaxTiers; e++) n.push([]);
        for (const a of e) {
          n[
            null !== (t = this.m_rgCapsuleMap.get(a.id)) && void 0 !== t
              ? t
              : this.m_nDefaultTier
          ].push(a);
        }
        e.length = 0;
        for (const t of n) Object(ka.f)(t), e.push(...t);
      }
    }
    function ap(e, t) {
      new np(e).RandomizeCapsules(t);
    }
    function rp(e, t, n, a, r, i, s) {
      if (t.use_random_order && i.length > 1) {
        const o = qm(e, t, n, r, null == a ? void 0 : a.GetActiveTabUniqueID());
        if (window.sessionStorage) {
          const t = window.sessionStorage.getItem(o),
            n = t && JSON.parse(t);
          if (
            t &&
            n.rtime32_last_modified == e.rtime32_last_modified &&
            n.randomized.length >= i.length
          )
            return n.randomized;
          let a;
          if (
            (null == n ? void 0 : n.rtime32_last_modified) ==
            e.rtime32_last_modified
          ) {
            const t = new Set(n.randomized.map((e) => e.id)),
              r = i.filter((e) => !t.has(e.id));
            s(e, r), (a = n.randomized.concat(r));
          } else (a = Array.from(i)), s(e, a);
          const r = {
            randomized: a,
            rtime32_last_modified: e.rtime32_last_modified,
          };
          return window.sessionStorage.setItem(o, JSON.stringify(r)), a;
        }
      }
      return i;
    }
    function ip(e, t, n, a) {
      var r;
      if (t.use_random_order) {
        const i = qm(e, t, n, "section");
        if (window.sessionStorage) {
          const n = window.sessionStorage.getItem(i);
          if (n) {
            const t = JSON.parse(n);
            if (t.rtime32_last_modified == e.rtime32_last_modified) return t;
          }
          a ||
            (ap(e, t.capsules),
            Object(ka.f)(t.links),
            Object(ka.f)(
              null === (r = t.events) || void 0 === r
                ? void 0
                : r.filter((e) => Boolean(e)),
            ),
            Object(ka.f)(t.featured_curator_list),
            (t.rtime32_last_modified = e.rtime32_last_modified),
            window.sessionStorage.setItem(i, JSON.stringify(t)));
        }
      }
      return t;
    }
    const sp = ["recent_events", "recent_tagged_events"];
    class op {
      constructor() {
        this.m_rgRecentEvent = new Map();
      }
      static Get() {
        return (
          op.s_Singleton ||
            ((op.s_Singleton = new op()),
            op.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_EventListSaleStore = op.s_Singleton)),
          op.s_Singleton
        );
      }
      Init() {
        sp.forEach((e) => {
          let t = Object(o.g)(e, "application_config");
          this.ValidateStoreDefault(t) && this.AddAllRecentEvents(e, t);
        });
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].clan_steamid && "string" == typeof t[0].gid &&
          "number" == typeof t[0].appid
        );
      }
      AddAllRecentEvents(e, t) {
        this.m_rgRecentEvent.has(e) || this.m_rgRecentEvent.set(e, new Array());
        const n = this.m_rgRecentEvent.get(e);
        t.forEach((e) => n.push(e));
      }
      GetEventTimeRange(e) {
        var t, n;
        if (e.event_schedule_use_relative_time) {
          const t = e.event_schedule_start_weeks
              ? e.event_schedule_start_weeks
              : 2,
            n = e.event_schedule_end_weeks ? e.event_schedule_end_weeks : 1,
            a = Date.now() / 1e3;
          return {
            start_time: a - t * Rc.g.PerWeek,
            end_time: a + n * Rc.g.PerWeek,
          };
        }
        return {
          start_time:
            null !== (t = e.event_schedule_rtime_start) && void 0 !== t
              ? t
              : void 0,
          end_time:
            null !== (n = e.event_schedule_rtime_end) && void 0 !== n
              ? n
              : void 0,
        };
      }
      GetRecentEventsForSalesPage(e, t, n) {
        var r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = Object.assign(
            {
              cc: o.c.COUNTRY || "US",
              l: o.c.LANGUAGE,
              clan_account_id: e.clanSteamID.GetAccountID(),
              clan_event_gid: e.GID,
              count: t.smart_section_max_apps,
              show_recent_first: Boolean(t.event_schedule_show_recent_first),
              hubtype:
                null === (r = e.GetContentHub()) || void 0 === r
                  ? void 0
                  : r.type,
              category:
                null === (i = e.GetContentHub()) || void 0 === i
                  ? void 0
                  : i.category,
              tagid:
                null === (s = e.GetContentHub()) || void 0 === s
                  ? void 0
                  : s.tagid,
              tabuniqueid: n,
              prune_list_optin_name: e.jsondata.prune_list_optin_name || void 0,
              optin_tagid: e.jsondata.optin_tagid || void 0,
              optin_prune_tagid: e.jsondata.optin_prune_tagid || void 0,
            },
            this.GetEventTimeRange(t),
          );
          return this.InternalEventForSalePageSection("recent_events", a);
        });
      }
      GetRecentTaggedEventsForSalesPage(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = {
            cc: o.c.COUNTRY || "US",
            l: o.c.LANGUAGE,
            start_time: t.event_schedule_rtime_start
              ? t.event_schedule_rtime_start
              : e.startTime,
            end_time: t.event_schedule_rtime_end
              ? t.event_schedule_rtime_end
              : e.endTime,
            count: t.smart_section_max_apps,
            show_recent_first: Boolean(t.event_schedule_show_recent_first),
            tags: (t.smart_section_event_tags || []).join(","),
          };
          return this.InternalEventForSalePageSection(
            "recent_tagged_events",
            n,
          );
        });
      }
      InternalEventForSalePageSection(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_rgRecentEvent.has(e)) {
            this.m_rgRecentEvent.set(e, new Array());
            const n =
              o.c.STORE_BASE_URL +
              ("recent_events" == e
                ? "saleaction/ajaxrecentsaleevents"
                : "saleaction/ajaxrecenttaggedsaleevents");
            try {
              const a = yield F.a.get(n, { params: t, withCredentials: !0 });
              1 == a.data.success &&
                Object(L.G)(() => {
                  if (
                    (this.AddAllRecentEvents(e, a.data.recent_events),
                    a.data.partnerevents)
                  ) {
                    St.b.RegisterClanEvents(a.data.partnerevents);
                    const e = a.data.partnerevents
                      .map((e) => e.appid)
                      .filter(Boolean);
                    e.length > 0 &&
                      e.forEach((e) => Dt.a.Get().QueueAppRequest(e, fs.e));
                  }
                });
            } catch (t) {
              const n = Object(me.a)(t);
              console.error(
                "InternalEventForSalePageSection for " +
                  e +
                  " failed:" +
                  n.strErrorMsg,
                n,
              );
            }
          }
          return this.m_rgRecentEvent.get(e);
        });
      }
    }
    Object(a.b)([L.C], op.prototype, "m_rgRecentEvent", void 0),
      Object(a.b)([L.k], op.prototype, "Init", null),
      Object(a.b)([L.k], op.prototype, "AddAllRecentEvents", null);
    class lp {
      constructor() {
        this.m_mapMasterAppToBenefitApps = new Map();
      }
      static Get() {
        return (
          lp.s_SubscriptStore ||
            ((lp.s_SubscriptStore = new lp()),
            lp.s_SubscriptStore.Init(),
            (window.g_SubscriptionStore = lp.s_SubscriptStore)),
          lp.s_SubscriptStore
        );
      }
      Init() {
        let e = Object(o.g)("subscriptionsapps", "application_config");
        this.ValidateStoreDefault(e) &&
          Object(L.G)(() => {
            e.forEach((e) => {
              let t = new Set();
              e.benefit_appid.forEach((e) => t.add(e)),
                this.m_mapMasterAppToBenefitApps.set(e.master_appid, t);
            });
          });
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "number" == typeof t[0].master_appid &&
          Array.isArray(t[0].benefit_appid)
        );
      }
      BHasMasterSub(e) {
        return this.m_mapMasterAppToBenefitApps.has(e);
      }
      GetAllAppForMaster(e) {
        return this.m_mapMasterAppToBenefitApps.get(e);
      }
      BHasAppIDBenefit(e, t) {
        let n = this.m_mapMasterAppToBenefitApps.get(e);
        return n && n.has(t);
      }
      LoadSubscriptionInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapMasterAppToBenefitApps.has(e)) return !0;
          const t = yield F.a.get(
              o.c.STORE_BASE_URL + "actions/ajaxresolvesubscriptions",
              {
                params: {
                  master_app_id: e,
                  cc: o.c.COUNTRY,
                  origin: self.origin,
                },
              },
            ),
            n = t && t.data;
          return (
            !!n &&
            (Object(L.G)(() => {
              let e = new Set();
              n.benefit_appid.forEach((t) => e.add(t)),
                this.m_mapMasterAppToBenefitApps.set(n.master_appid, e);
            }),
            !0)
          );
        });
      }
    }
    function cp(e, t) {
      return e ? t.filter((t) => e.ShouldShowOnTab(t)) : t;
    }
    function dp(e, t, n, r, i, s, l) {
      var c;
      return Object(a.a)(this, void 0, void 0, function* () {
        const {
            smart_section_type: a,
            smart_section_max_apps: d,
            smart_section_tag: u,
            smart_section_category: m,
            random_from_entire_set: p,
          } = r,
          h = d || 24;
        if ("tag" === a) {
          return {
            capsules: cp(
              t,
              (yield Ao.Get().GetDiscounts({
                tagid: u,
                max_results: h,
                feature: i,
                random_across_set: p,
              })).rgAppIDs,
            ).map((e) => ({ id: Number(e), type: "game" })),
            bMoreRemaining: !1,
          };
        }
        if ("category" === a) {
          return {
            capsules: cp(
              t,
              (yield Ao.Get().GetDiscounts({
                categoryid: m,
                max_results: h,
                feature: i,
                random_across_set: p,
              })).rgAppIDs,
            ).map((e) => ({ id: Number(e), type: "game" })),
            bMoreRemaining: !1,
          };
        }
        if ("top_n" === a) {
          return {
            capsules: cp(t, yield Ao.Get().GetTopN(i, h)).map((e) => ({
              id: e,
              type: "game",
            })),
            bMoreRemaining: !1,
          };
        }
        if ("all_discounted" === a) {
          const e = yield Ao.Get().GetAllDiscounted(
            i,
            h,
            s,
            null === (c = null == t ? void 0 : t.GetTab()) || void 0 === c
              ? void 0
              : c.store_filter,
          );
          return {
            capsules: cp(t, e.rgAppIDs).map((e) => ({ id: e, type: "game" })),
            bMoreRemaining: !1,
            facetCounts: e.rgSolrFacetCounts,
            nMatchCount: e.nMatchCount,
          };
        }
        if (Object(ce.a)(a))
          try {
            let i = new Array();
            const o = {
                strSectionFilter: Object(ce.n)(r),
                nTabUniqueID: null == t ? void 0 : t.GetActiveTabUniqueID(),
                strTabFilter: null == t ? void 0 : t.GetStoreFilter(),
                facetFilter: s,
                contentHub: n.GetContentHub(),
                bContentHubDiscountedOnly: n.BContentHubDiscountedOnly(),
                bPrioritizeDiscounts: l,
                nSectionUniqueID:
                  "items" === r.section_type ? r.unique_id : void 0,
                bRequestFacetCounts: r.enable_faceted_browsing,
              },
              c = yield Ao.Get().GetSaleGamesByFlavor(e, n, a, o, h);
            return (
              (i = n.BUsesContentHubForItemSource()
                ? c.appids
                : cp(t, c.appids)),
              {
                capsules: i.map((e) => ({ id: e, type: "game" })),
                bMoreRemaining: c.bHasPossibleMoreResults,
                facetCounts: c.facetCounts,
                nMatchCount: c.nMatchCount,
              }
            );
          } catch (e) {
            return { capsules: [], bMoreRemaining: !1 };
          }
        else {
          if (!o.j.logged_in) return { capsules: [], bMoreRemaining: !1 };
          if (
            o.j.logged_in &&
            ("wishlist" === a || "interactive_recommender" === a)
          ) {
            if (
              "wishlist" === a &&
              n.jsondata.item_source_type === ce.h.k_EContentHub
            ) {
              return {
                capsules: (yield Ao.Get().GetWishlistedInContentHub(
                  n.GetContentHub(),
                  t,
                  l,
                )).map((e) => ({ id: e, type: "game" })),
                bMoreRemaining: !1,
              };
            }
            const e = (function (e, t, n) {
                const a = new Set(t.GetTabAppIDs());
                return (
                  e
                    .filter((e) => "items" == e.section_type)
                    .forEach((e) => {
                      t.ShouldShowSection(e) &&
                        e.capsules.forEach((n) => {
                          !Om(n) ||
                            (!e.diable_tab_id_filtering &&
                              t.BIsTabFilteringEnabled()) ||
                            a.add(n.id);
                        });
                    }),
                  null == n ||
                    n.forEach((e) => {
                      const n = e.capsule;
                      !Om(n) ||
                        (t.BIsTabFilteringEnabled() &&
                          !t.ShouldShowCapsule(n)) ||
                        a.add(n.id);
                    }),
                  a
                );
              })(n.GetSaleSections(), t, n.GetTaggedItems()),
              r = "wishlist" === a,
              i = new Array(),
              s =
                "wishlist" === a
                  ? It.a.Get().GetWishlistGamesInUserOrder()
                  : It.a.Get().GetRecommendedGamesInIRPriorityOrder(),
              o = cp(t, s);
            for (const t of o)
              if (
                e.has(t) &&
                !It.a.Get().BOwnsApp(t) &&
                (r
                  ? It.a.Get().BIsGameWishlisted(t)
                  : It.a.Get().BIsGameRecommended(t)) &&
                (i.push(t), i.length >= h)
              )
                break;
            return {
              capsules: i.map((e) => ({ id: e, type: "game" })),
              bMoreRemaining: !1,
            };
          }
          if (
            o.j.logged_in &&
            ("wishlist_onsale" === a ||
              "dlc_onsale" === a ||
              "dlc_music_onsale" === a ||
              "interactive_recommender_onsale" === a ||
              "ir_subscription" === a ||
              "tag_recommender" === a ||
              "deck_compatibility" === a)
          ) {
            let i,
              s = [];
            switch (a) {
              case "wishlist_onsale":
                Cm.GetHideWishlist() ||
                  ((s = yield Ao.Get().GetWishlistOnSale()), (i = "game"));
                break;
              case "dlc_onsale":
                (i = "dlc"),
                  Cm.GetHideDLC() ||
                    (s = yield Ao.Get().GetDLCForGamesInMyLibraryOnSale());
                break;
              case "dlc_music_onsale":
                (i = "music"),
                  (s =
                    yield Ao.Get().GetSoundtracksForGamesInMyLibraryOnSale());
                break;
              case "interactive_recommender_onsale":
                (i = "game"),
                  Cm.GetHideIRList() ||
                    (s = yield Ao.Get().GetInteractiveRecommendationsOnSale());
                break;
              case "tag_recommender":
                (i = "game"),
                  (s = yield Ao.Get().GetTagRecommendorForThisSale(
                    n,
                    h,
                    e,
                    n.GetContentHub(),
                    null == t ? void 0 : t.GetStoreFilter(),
                    l,
                  ));
                break;
              case "ir_subscription":
                i = "game";
                const a = 402931,
                  o = lp.Get();
                yield o.LoadSubscriptionInfo(a);
                const c = o.GetAllAppForMaster(a);
                s = Array.from(c).filter((e) =>
                  It.a.Get().BIsGameRecommended(e),
                );
                break;
              case "deck_compatibility":
                i = "game";
                const d = r.smart_section_data_source || "library";
                yield sn.Get().LoadCompatabilityAppList(d);
                const u =
                  "library" == d
                    ? sn.Get().GetUserLibraryCompatList()
                    : sn.Get().GetUserWishlistCompatList();
                let m = r.smart_section_deck_compatibility;
                switch (((null != m && null != m) || (m = 3), m)) {
                  case 3:
                    s = u.verifiedList;
                    break;
                  case 2:
                    s = u.playableList;
                    break;
                  case 1:
                    s = u.unsupportedList;
                    break;
                  case 0:
                    s = u.unknownList;
                    break;
                  default:
                    console.error(
                      "unexpected type for deck compatability " +
                        r.smart_section_deck_compatibility,
                    ),
                      (s = new Array());
                }
            }
            return (
              (s = cp(t, s)),
              {
                capsules: s.slice(0, h).map((e) => ({ id: e, type: i })),
                bMoreRemaining: !1,
              }
            );
          }
        }
        return (
          console.warn("unrecognized type", a),
          { capsules: [], bMoreRemaining: !1 }
        );
      });
    }
    function up(e, t, n, r, i, s, l, c, d, u, m, p, h, _, g, b = 0, f = !1) {
      return Object(a.a)(this, void 0, void 0, function* () {
        const a = ip(e, t, n);
        if (a.enable_faceted_browsing && f) {
          yield It.a.Get().HintLoad();
          let e = Yi(a.facets);
          (e = e.filter((e) => r.ShouldShowCapsule(e))),
            (e = Ji(e, i)),
            s.SetPotentiallyVisibleCapsules(e);
        }
        if (
          "items" === a.section_type &&
          "sale_tabhub" != a.smart_section_type
        ) {
          let m;
          yield It.a.Get().HintLoad();
          let p = !1;
          if (a.smart_section) {
            const t = yield dp(
              n,
              r,
              e,
              a,
              (function (e) {
                return (o.c.IN_CLIENT ? "library-" : Object(o.f)() + "-") + e;
              })(l),
              s,
              a.prioritize_discounts,
            );
            (m = t.capsules),
              (p = t.bMoreRemaining && m.length < a.smart_section_max_apps),
              a.enable_faceted_browsing ||
                (m = rp(e, a, n, r, "capsules", m, ap)),
              a.enable_faceted_browsing &&
                (s.SetFacetCounts(t.facetCounts),
                s.SetSolrMatchCount(t.nMatchCount));
          } else (m = a.capsules), (m = rp(e, a, n, r, "capsules", m, ap));
          e.BUsesContentHubForItemSource() ||
            (m = m.filter((e) => r.ShouldShowCapsule(e))),
            (m = Ji(m, i)),
            a.enable_faceted_browsing &&
              (m = a.smart_section
                ? s.ApplyOptInFilters(m)
                : s.FilterCapsules(m));
          const f = pn(
            a.unique_id,
            null == r ? void 0 : r.GetActiveTabUniqueID(),
          );
          f && Lm(f, m, n);
          let v = !1;
          const S = Um(a, b),
            y = Bm(a, S);
          {
            let t = m.length;
            const r = !n && "store" === Object(o.f)(),
              i = (S > 0 && r) || Qi(e, a);
            if (!a.show_as_carousel && i) {
              const e = 4,
                n = Bm(a, S) + e;
              t > n + 4 && ((t = n), (v = !0));
            }
            const s = Object(ce.m)(a);
            if (s > 0) {
              const e = 5,
                n = 1.1,
                a = Math.max(s + e, Math.floor(s * n));
              t = Math.min(t, a);
            }
            m.length > t && (m = m.slice(0, t));
          }
          const E = Ls(a);
          yield Object(Dn.g)(m, fs.e, E);
          let C,
            w = new Array();
          if (a.enable_faceted_browsing) {
            a.smart_section || (m = s.ApplyPriceFilters(m)),
              (m = yield s.ApplyUserPreferenceFilters(m, E, w));
            const e = v || p;
            s.UpdateMatchCount(e, m.length);
          }
          C = yield Object(Dn.a)(m, E, w, (t) => xm(t, e));
          const B = w.length;
          if (a.prioritize_discounts) {
            const e = [],
              t = [];
            for (const n of C) Object(Dn.c)(n) ? e.push(n) : t.push(n);
            C = e.concat(t);
          }
          if (
            (a.smart_section || a.sale_tag_filter) &&
            !a.enable_faceted_browsing
          ) {
            c.MarkAllAppsNotVisible(a.unique_id), C.sort(c.SortKey.bind(c));
            const e =
              (function (e, t) {
                const n = Ns(e),
                  a = e.show_as_carousel ? Object(ce.l)(e) : Gs(e, t);
                let r = 0;
                for (let e = 0; e < a; e++) r += n[e % n.length];
                return r;
              })(a, b) || C.length;
            C.slice(0, e).forEach(c.BMarkAppVisibile.bind(c, t.unique_id));
          }
          {
            const e = Object(ce.m)(a);
            e > 0 && e < C.length && (C = C.slice(0, e));
          }
          const O = C.length <= y && p;
          d(B),
            u(C),
            h(v),
            _(!0),
            g(O),
            a.dynamic_reveal &&
              !a.smart_section_type &&
              (Fm.Get().AddSaleCapsules(a.unique_id, a.capsules),
              Fm.Get().IncrementalSectionNeedingReveal(
                e.clanSteamID,
                e.GID,
                n,
              ));
        } else if ("events" === a.section_type) {
          let t;
          if (
            !a.smart_section ||
            ("recent_events" !== a.smart_section_type &&
              "recent_tagged_events" !== a.smart_section_type)
          )
            t = yield St.b.LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(
              null,
              a.events.filter((e) => Boolean(e)).map((e) => e.announcement_gid),
            );
          else {
            const n =
              "recent_events" === a.smart_section_type
                ? yield op
                    .Get()
                    .GetRecentEventsForSalesPage(
                      e,
                      a,
                      null == r ? void 0 : r.GetActiveTabUniqueID(),
                    )
                : yield op.Get().GetRecentTaggedEventsForSalesPage(e, a);
            t = yield St.b.LoadBatchPartnerEventsByEventGIDsOrAnnouncementGIDs(
              n.map((e) => e.gid),
              void 0,
            );
          }
          let i = t.map((e) => e.GID);
          (i = rp(e, a, n, r, "events2", i, (e, t) => Object(ka.f)(t))),
            (t = i.map((e) => St.b.GetClanEventModel(e)));
          let s = t.filter((e) => !!e && r.ShouldShowEvent(e));
          yield Dt.a
            .Get()
            .QueueMultipleAppRequests(
              s.map((e) => e.appid).filter(Boolean),
              fs.e,
            );
          let o = t.map((e) => ({ type: "game", id: e.appid }));
          yield It.a.Get().HintLoad();
          const l = [];
          o = yield Object(Dn.a)(o, Ls(a), l);
          const c = new Set(l.map((e) => e.id));
          (s = s.filter((e) => !c.has(e.appid))),
            m(s),
            _(!0),
            !a.dynamic_reveal ||
              (a.smart_section_type &&
                "recent_tagged_events" !== a.smart_section_type) ||
              (Fm.Get().AddEvents(a.unique_id, i),
              Fm.Get().IncrementalSectionNeedingReveal(
                e.clanSteamID,
                e.GID,
                n,
              ));
        } else if (
          "links" === a.section_type ||
          "sale_tabhub" === a.smart_section_type
        ) {
          let t = a.links;
          if ("sale_tabhub" === a.smart_section_type) {
            (t = (yield Ao.Get().GetSaleTags()).map((e) => ({
              url: e.url,
              localized_link_capsule: void 0,
              materialized_link_capsule: e.square,
            }))),
              (t = rp(e, a, n, r, "links", t, (e, t) => Object(ka.f)(t)));
          }
          p(t), _(!0);
        }
      });
    }
    function mp(e, t, n) {
      const [a] = Object(r.useState)(
          (function (e, t, n) {
            if (t.enable_faceted_browsing) {
              const a = t.min_capsule_matches_for_facet_values || 1,
                r = t.facet_sort_order || ce.e.k_ESortFacetsByMatchCount,
                i = Ki(t),
                s = Qi(e, t);
              return new Li(t.facets, a, r, n, i, s);
            }
            return null;
          })(e, t, n),
        ),
        [i] = Rr("facets" + t.unique_id, void 0);
      return (
        Object(r.useEffect)(() => {
          a && a.GetURLParam() != i && a.SetFromURLParam(i);
        }, [a, i]),
        a
      );
    }
    function pp(e) {
      var t;
      const {
          event: n,
          appVisibilityTracker: s,
          language: o,
          bIsPreview: l,
          activeTab: c,
          nSaleDayIndex: d,
          promotionName: u,
        } = e,
        [m, p] = Object(r.useState)(!1),
        [_, g] = Object(r.useState)(1),
        [b, f] = Object(r.useState)(!1),
        [v, S] = Object(r.useState)(!1),
        [y, E] = Object(r.useState)(0),
        [C, w] = Object(r.useState)([]),
        [B, O] = Object(r.useState)(void 0),
        [D, I] = Object(r.useState)([]),
        T = mp(n, e.section, o),
        { nMaxCapsulesPerRow: R, bScreenIsWide: j } = as(
          e.section.section_type,
        );
      Object(r.useEffect)(
        () =>
          (function (e, t, n, a, r) {
            const i = hn(
              e.unique_id,
              null == t ? void 0 : t.GetActiveTabUniqueID(),
            ).Register((i) => {
              if (
                i &&
                i.sectionID == e.unique_id &&
                (null == t ? void 0 : t.GetActiveTabUniqueID()) == i.tabID
              ) {
                const e = n ? [...n] : [];
                Lm(i, e, r), a(e);
              }
            }).Unregister;
            return () => i();
          })(e.section, c, C, w, l),
        [c, l, C, e.section],
      ),
        Object(r.useEffect)(() => {
          const t = e.section.enable_faceted_browsing && !m;
          up(n, e.section, l, c, d, T, u, s, E, w, I, O, f, p, S, _, t);
        }, [
          c,
          s,
          m,
          l,
          n,
          T,
          d,
          _,
          u,
          e.section,
          e.section.enable_faceted_browsing,
        ]),
        Object(r.useEffect)(
          () => () => {
            e.appVisibilityTracker.MarkAllAppsNotVisible(e.section.unique_id),
              e.section.dynamic_reveal &&
                Fm.Get().DecrementSectionNeedingReveal();
          },
          [
            e.appVisibilityTracker,
            e.section.dynamic_reveal,
            e.section.unique_id,
          ],
        );
      const A = () => {
          v || (S(!0), k());
        },
        k = () =>
          Object(a.a)(this, void 0, void 0, function* () {
            const e = _ + 4,
              t =
                Math.max(
                  (null == D ? void 0 : D.length) || 0,
                  (null == B ? void 0 : B.length) || 0,
                  (null == C ? void 0 : C.length) || 0,
                ) + 1;
            dn.Get().AddInteraction(M.unique_id, t), g(e);
          }),
        M = ip(n, e.section, l, !0),
        P = $s(M, n).background;
      let L = null;
      if (m) {
        const e = {
            saleEvent: n,
            section: M,
            capsules: Hm(M, C),
            links: B,
            events: Wm(M, D),
            language: o,
            nMaxCapsulesPerRow: R,
            bScreenIsWide: j,
            nShowAdditionalRows: _ - 1,
          },
          t = Um(M, e.nShowAdditionalRows),
          a = zm(Ns(M), t, e.capsules.length);
        a < t && (e.nShowAdditionalRows -= t - a);
        let { content: r, bAdditionalContent: s } = Hs(e);
        if (((L = r), (L && s) || b)) {
          const t = Um(M, _),
            n = zm(Ns(M), t, e.capsules.length) < t;
          L = i.a.createElement(
            i.a.Fragment,
            null,
            L,
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  ep.a.ShowContentsContainer,
                  "ShowContentsContainer",
                ),
              },
              v
                ? i.a.createElement(ee.a, {
                    size: "small",
                    string: Object($.f)("#Loading"),
                  })
                : !n &&
                    i.a.createElement(
                      xn.d,
                      {
                        onClick: A,
                        className: Object(h.a)(
                          ep.a.ShowContentsButton,
                          "ShowContentsButton",
                        ),
                      },
                      Object($.f)("#Sale_ShowMore"),
                    ),
            ),
          );
        }
        if (!L) {
          if (!l && !M.enable_faceted_browsing) return null;
          L = M.enable_faceted_browsing
            ? i.a.createElement(
                "div",
                { className: Ms.a.preview_placeholder_section },
                Object($.f)("#FacetedBrowse_NoMatches"),
              )
            : i.a.createElement(
                "div",
                { className: Ms.a.preview_placeholder_section },
                Object($.f)(
                  M.smart_section
                    ? "#Sale_SmartPlaceHolder"
                    : "#Sale_PlaceHolder",
                ),
              );
        }
      } else
        L = M.enable_faceted_browsing
          ? i.a.createElement(
              "div",
              { className: ep.a.FacetedBrowseLoadThrobber },
              i.a.createElement(ee.a, null),
            )
          : i.a.createElement(No, {
              capsules_per_row:
                null === (t = e.section) || void 0 === t
                  ? void 0
                  : t.capsules_per_row_array,
            });
      const { feature: G, depth: N } = (function (e, t, n) {
        if (e.enable_faceted_browsing) {
          const e = null == n ? void 0 : n.GetSelectedOptionsCount();
          if (e) return { feature: "salefacetbrowse", depth: e };
        }
        if (e.smart_section && e.smart_section_type)
          switch (e.smart_section_type) {
            case "wishlist":
            case "wishlist_onsale":
              return { feature: "salesmartwishlist" };
            case "interactive_recommender":
            case "interactive_recommender_onsale":
              return { feature: "salesmartir" };
            case "dlc":
            case "dlc_onsale":
            case "dlc_music_onsale":
              return { feature: "salesmartdlc" };
            case "tag_recommender":
              return { feature: "salesmarttagrec" };
          }
        return {
          feature: !t || t.BIsDefaultTab() ? "salesection" : "saletabsection",
        };
      })(M, c, T);
      return i.a.createElement(
        ea.b,
        { feature: G, depth: N },
        Boolean(M.dynamic_reveal && l) &&
          i.a.createElement(tp, {
            section: M,
            fnGetCapsules: () => C,
            fnSetCapsules: w,
            fnGetEvents: () => D,
            fnSetEvents: I,
          }),
        i.a.createElement(
          er.a,
          {
            placeholderHeight:
              ((e) => {
                const t = Math.min(
                  (function (e, t) {
                    const n = Ns(e);
                    let a = 0;
                    for (; t > 0; ) (t -= n[a % n.length]), a++;
                    return a;
                  })(e, C.length),
                  Um(e, 0),
                );
                return 250 * Math.max(1, t);
              })(M) + "px",
            className: Object(h.a)({
              [Ms.a.SaleSection]: !0,
              [Ms.a.CarouselDisplay]: M.show_as_carousel,
              [os.a.SaleSectionCtn]: !0,
              SaleSectionForCustomCSS: !0,
            }),
            rootMargin: es,
            style: $s(M, n),
            onRender: () => dn.Get().AddInteraction(M.unique_id, 0),
          },
          i.a.createElement(
            "div",
            { className: Ms.a.SaleSectionTitleCtn },
            i.a.createElement(Zs, Object.assign({}, e, { nHiddenCapsules: y })),
            i.a.createElement(Dm, { event: n, section: M }),
            i.a.createElement(Vm, {
              event: n,
              section: M,
              activeTab: c,
              nSaleDayIndex: d,
              capsules: C,
              facetFilterState: T,
            }),
          ),
          M.enable_faceted_browsing
            ? i.a.createElement(
                Vi,
                {
                  language: o,
                  section: M,
                  facetFilterState: T,
                  nMaxFacetValues: M.max_facet_values_for_facet || 100,
                  background: P,
                  fnOnUpdateFilter: () => {
                    Tr(e.history, "facets" + M.unique_id, T.GetURLParam());
                  },
                },
                L,
              )
            : i.a.createElement(i.a.Fragment, null, L),
          i.a.createElement(qs.a, { section: M }),
        ),
      );
    }
    function hp(e) {
      var t;
      const { event: n, section: a, activeTab: i, language: s } = e;
      switch (a.section_type) {
        case "items":
        case "events":
        case "links":
          return r.createElement(pp, Object.assign({}, e));
        case "itemdef":
          return r.createElement(to, Object.assign({}, e));
        case "broadcast":
          if (n.BEventCanShowBroadcastWidget()) {
            if (
              n.jsondata.sale_sections.find(
                (e) => "broadcast" == e.section_type,
              ) == a
            )
              return r.createElement(Bl, {
                event: n,
                broadcastEmbedContext: e.broadcastEmbedContext,
                bWideBroadcastDisplay:
                  null === (t = n.jsondata) || void 0 === t
                    ? void 0
                    : t.broadcast_display_wide_player,
              });
          }
          return null;
        case "event_description":
          return r.createElement(Im, Object.assign({}, e));
        case "doors":
          return r.createElement(uc, {
            strFontFamily: Xs(n.jsondata.sale_font, s),
          });
        case "text_section":
          return r.createElement(Tm, Object.assign({}, e));
        case "tabs":
        case "tab_buttons":
          return r.createElement(Jm, Object.assign({}, e));
        case "curator":
          return a.curator_clan_id
            ? r.createElement(
                "div",
                {
                  style: { width: "100%", margin: "0 auto", maxWidth: "940px" },
                },
                r.createElement(na, {
                  creatorID: {
                    name: null,
                    clan_account_id: a.curator_clan_id,
                    type: "developer",
                  },
                  bShowTagline: !0,
                  bHideCreatorType: !0,
                }),
              )
            : null;
        case "curator_recommendation":
          return r.createElement(Gl, {
            section: a,
            event: n,
            bPreviewMode: e.bIsPreview,
          });
        case "event_schedule":
          return o.c.IN_GAMEPADUI
            ? null
            : r.createElement(
                Zc,
                Object.assign({}, e, {
                  broadcastEmbedContext: e.broadcastEmbedContext,
                }),
              );
        case "vo_internal":
          if (a.internal_section_data)
            switch (a.internal_section_data.internal_type) {
              case "subscription_pricing":
                return r.createElement(fd, Object.assign({}, e));
              case "tab_contents":
                return r.createElement(
                  yd,
                  Object.assign({}, e, { tab: i.GetTab(), showReferences: !1 }),
                );
              case "tab_references":
                return r.createElement(
                  yd,
                  Object.assign({}, e, { tab: i.GetTab(), showReferences: !0 }),
                );
              case "reservation_widget":
                return r.createElement(tc, Object.assign({}, e));
              case "cyoa_story":
                return r.createElement(Rd, Object.assign({}, e));
              case "greatondeck_librarygrid":
                return r.createElement(cl, null);
            }
          return null;
        case "sale_item_browser":
          return r.createElement(Ym, Object.assign({}, e));
        case "contenthubtitle":
          return r.createElement(
            fl,
            Object.assign(
              {
                hubtype: n.GetContentHubType(),
                category: n.GetContentHubCategory(),
                tagid: n.GetContentHubTag(),
                prioritize_discounts: a.prioritize_discounts,
                prune_list_optin_name: n.jsondata.prune_list_optin_name,
                optin_tagid: n.jsondata.optin_tagid,
                optin_prune_tagid: n.jsondata.optin_prune_tagid,
              },
              e,
            ),
          );
        case "contenthubmaincarousel":
          return r.createElement(
            gl,
            Object.assign(
              {
                hubtype: n.GetContentHubType(),
                category: n.GetContentHubCategory(),
                tagid: n.GetContentHubTag(),
                bAutoAdvance: a.carousel_auto_advance,
                prioritize_discounts: a.prioritize_discounts,
                prune_list_optin_name: n.jsondata.prune_list_optin_name,
                optin_tagid: n.jsondata.optin_tagid,
                optin_prune_tagid: n.jsondata.optin_prune_tagid,
              },
              e,
            ),
          );
        case "contenthubsections":
          return r.createElement(
            Vo,
            Object.assign(
              {
                hubtype: n.GetContentHubType(),
                category: n.GetContentHubCategory(),
                tagid: n.GetContentHubTag(),
                prioritize_discounts: a.prioritize_discounts,
                prune_list_optin_name: n.jsondata.prune_list_optin_name,
                optin_tagid: n.jsondata.optin_tagid,
                optin_prune_tagid: n.jsondata.optin_prune_tagid,
                strSectionID:
                  a.contenthub_section_show_specific_carousel &&
                  a.contenthub_section_id,
                nCapsulesPerPage: a.contenthub_section_capsules_per_page,
                tab: i,
                saleSection: e.section,
              },
              e,
            ),
          );
        case "contenthubspecials":
          return r.createElement(
            Xo,
            Object.assign(
              {
                strHubType: n.GetContentHubType(),
                strCategory: n.GetContentHubCategory(),
                nTagID: n.GetContentHubTag(),
                prioritize_discounts: a.prioritize_discounts,
                prune_list_optin_name: n.jsondata.prune_list_optin_name,
                optin_tagid: n.jsondata.optin_tagid,
                optin_prune_tagid: n.jsondata.optin_prune_tagid,
              },
              e,
            ),
          );
        case "contenthubpartnertakeover":
          return r.createElement(
            Uo,
            Object.assign(
              {
                hubtype: n.GetContentHubType(),
                category: n.GetContentHubCategory(),
                tagid: n.GetContentHubTag(),
                prioritize_discounts: a.prioritize_discounts,
                prune_list_optin_name: n.jsondata.prune_list_optin_name,
                optin_tagid: n.jsondata.optin_tagid,
                optin_prune_tagid: n.jsondata.optin_prune_tagid,
              },
              e,
            ),
          );
        case "contenthubbroadcasts":
          return r.createElement(
            Fo,
            Object.assign({}, e, {
              hubtype: n.GetContentHubType(),
              category: n.GetContentHubCategory(),
              tagid: n.GetContentHubTag(),
              tab: i,
              prioritize_discounts: a.prioritize_discounts,
              prune_list_optin_name: n.jsondata.prune_list_optin_name,
              optin_tagid: n.jsondata.optin_tagid,
              optin_prune_tagid: n.jsondata.optin_prune_tagid,
              rows_per_page: a.carousel_rows,
            }),
          );
        case "quiz":
          return r.createElement(fc, Object.assign({}, e));
        case "quest":
          return r.createElement(dm, Object.assign({}, e));
        case "discoveryqueue":
          return r.createElement(lm, Object.assign({}, e));
        case "badge_progress":
          return r.createElement(Md, Object.assign({}, e));
        case "rewards":
          return r.createElement(vm, Object.assign({}, e));
        case "unselected_empty":
          return null;
      }
      return null;
    }
    Object(a.b)([L.C], lp.prototype, "m_mapMasterAppToBenefitApps", void 0);
    Object(fa.k)(function (e) {
      const { event: t, language: n, nSaleDayIndex: a } = e,
        [i, s] = r.useState(ns()),
        l = r.useMemo(() => new $i(), []),
        c = r.useCallback(() => s(ns()), []);
      r.useEffect(
        () => (
          window.addEventListener("resize", c),
          () => window.removeEventListener("resize", c)
        ),
        [c],
      );
      const [d, u] = Rr(ts, void 0),
        m = r.useMemo(() => {
          const e = new Map();
          return (
            t.GetSaleSections().forEach((t) => {
              if ("tabs" === t.section_type && t.tabs && t.tabs.length > 0) {
                let n = d > 0 ? t.tabs.find((e) => e.unique_id == d) : void 0;
                n || (n = t.tabs[0]);
                const r = n === t.tabs[0];
                e.set(t, new Xi(n, a, r));
              }
            }),
            e
          );
        }, [t, a, d]);
      let p = !1;
      const _ = [{ elements: [], activeTab: new Xi(null, a) }];
      t.GetSaleSections().forEach((a, s) => {
        var c;
        const d = _[_.length - 1].activeTab;
        if (!d.ShouldShowSection(a) || a.hide_section) return;
        const g = "tabs" != a.section_type,
          b = Bo.b
            .Get()
            .BIsPartnerTakeoverActive(
              t.GetContentHubType(),
              t.GetContentHubCategory(),
              t.GetContentHubTag(),
            ),
          f = i && !b && !Boolean(t.jsondata.content_hub_restricted_width);
        let v = null;
        if (a.disable_section)
          v = r.createElement(Xm, { section: a, event: t, language: n });
        else if (
          (function (e) {
            return (
              "discoveryqueue" == e.section_type ||
              ("items" == e.section_type &&
                e.smart_section &&
                ("wishlist" == e.smart_section_type ||
                  "interactive_recommender" == e.smart_section_type ||
                  "dlc_music_onsale" == e.smart_section_type ||
                  "ir_subscription" == e.smart_section_type ||
                  "deck_compatibility" == e.smart_section_type ||
                  ("wishlist_onsale" == e.smart_section_type &&
                    !Cm.GetHideWishlist()) ||
                  ("dlc_onsale" == e.smart_section_type && !Cm.GetHideDLC()) ||
                  ("interactive_recommender_onsale" == e.smart_section_type &&
                    !Cm.GetHideIRList())))
            );
          })(a) &&
          !o.j.logged_in
        )
          p ||
            ((v = r.createElement(wm, { section: a, event: t, language: n })),
            (p = !0));
        else {
          const t = a.diable_tab_id_filtering
            ? new Xi(null, d.GetSaleDay())
            : d;
          if ("tabs" == a.section_type) {
            const e = m.get(a);
            _.push({ activeTab: e, elements: [] });
          }
          v = r.createElement(
            hp,
            Object.assign({}, e, {
              section: a,
              activeTab: t,
              appVisibilityTracker: l,
              selectedTabs: m,
              setTabUniqueIDQueryParam: u,
              expanded: f,
            }),
          );
        }
        _[_.length - 1].elements.push(
          r.createElement(
            nt.a,
            { key: "SaleSectionIndex_" + a.unique_id + "_" + s },
            g
              ? r.createElement(
                  "div",
                  {
                    id: "SaleSection_" + (a.unique_id || s),
                    className: Object(h.a)({
                      SaleSectionCtn: !0,
                      [a.section_type]: !0,
                      [(null === (c = a.internal_section_data) || void 0 === c
                        ? void 0
                        : c.internal_type) || ""]: !0,
                      expanded: f,
                      [a.single_item_style || ""]: !0,
                    }),
                  },
                  v,
                )
              : v,
          ),
        );
      });
      const g = _.map((e, t) =>
        r.createElement(
          "div",
          {
            key: "TabSection_" + t,
            className: Object(h.a)(
              Ms.a.SaleSectionTabListContainer,
              "SaleSectionTabListContainer",
            ),
          },
          e.elements,
        ),
      );
      return r.createElement(
        "div",
        { className: Ms.a.SaleSectionListContainer },
        g,
      );
    });
    var _p = n("/N74");
    function gp(e) {
      var t;
      const n = wo(e.nEventBadgeID);
      return (null == n ? void 0 : n.level) > 0
        ? r.createElement(
            "span",
            null,
            null === (t = n.level) || void 0 === t
              ? void 0
              : t.toLocaleString(),
          )
        : null;
    }
    function bp(e) {
      const { nDoorIndex: t, children: n } = e,
        a = vn(t),
        { fnOpenDoor: i } = bn(),
        [s, l] = r.useState(!1),
        [c, d] = r.useState(!1);
      return r.createElement(
        te.e,
        {
          disabled: a,
          onClick: (e) => {
            s ||
              (o.j.logged_in
                ? (l(!0),
                  i(t, !0, null, !1)
                    .then((e) => {
                      e || d(!0), l(!1);
                    })
                    .catch(() => {
                      d(!0), l(!1);
                    }))
                : Object(Nr.a)());
          },
        },
        Boolean(c)
          ? r.createElement("div", null, Object($.f)("#GrantAwardError_Busy"))
          : r.createElement(
              r.Fragment,
              null,
              Boolean(s) && r.createElement(ee.a, { size: "small" }),
              Boolean(a) && r.createElement(H.m, null),
              n,
            ),
      );
    }
    const fp = Object(fa.k)(hp);
    const vp = iu.Message;
    class Sp extends vp {
      constructor(e = null) {
        super(),
          Sp.prototype.summary || su.a(Sp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Sp.sm_m ||
            (Sp.sm_m = {
              proto: Sp,
              fields: {
                summary: { n: 1, c: yp },
                timestamp_updated: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                auditid_highwater: {
                  n: 3,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
              },
            }),
          Sp.sm_m
        );
      }
      static MBF() {
        return Sp.sm_mbf || (Sp.sm_mbf = su.e(Sp.M())), Sp.sm_mbf;
      }
      toObject(e = !1) {
        return Sp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Sp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Sp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Sp();
        return Sp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Sp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Sp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Sp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Sp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetSummary_Response";
      }
    }
    class yp extends vp {
      constructor(e = null) {
        super(),
          yp.prototype.points || su.a(yp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          yp.sm_m ||
            (yp.sm_m = {
              proto: yp,
              fields: {
                points: {
                  n: 1,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
                points_earned: {
                  n: 2,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
                points_spent: {
                  n: 3,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
              },
            }),
          yp.sm_m
        );
      }
      static MBF() {
        return yp.sm_mbf || (yp.sm_mbf = su.e(yp.M())), yp.sm_mbf;
      }
      toObject(e = !1) {
        return yp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(yp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(yp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new yp();
        return yp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(yp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return yp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(yp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return yp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetSummary_Response_Summary";
      }
    }
    class Ep extends vp {
      constructor(e = null) {
        super(),
          Ep.prototype.points || su.a(Ep.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Ep.sm_m ||
            (Ep.sm_m = {
              proto: Ep,
              fields: {
                points: {
                  n: 1,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
              },
            }),
          Ep.sm_m
        );
      }
      static MBF() {
        return Ep.sm_mbf || (Ep.sm_mbf = su.e(Ep.M())), Ep.sm_mbf;
      }
      toObject(e = !1) {
        return Ep.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Ep.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Ep.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Ep();
        return Ep.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Ep.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Ep.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Ep.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Ep.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetPointsForSpend_Response";
      }
    }
    class Cp extends vp {
      constructor(e = null) {
        super(),
          Cp.prototype.communityitemid || su.a(Cp.M()),
          vp.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          Cp.sm_m ||
            (Cp.sm_m = {
              proto: Cp,
              fields: {
                communityitemid: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                bundle_community_item_ids: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: su.d.readUint64String,
                  bw: su.h.writeRepeatedUint64String,
                },
              },
            }),
          Cp.sm_m
        );
      }
      static MBF() {
        return Cp.sm_mbf || (Cp.sm_mbf = su.e(Cp.M())), Cp.sm_mbf;
      }
      toObject(e = !1) {
        return Cp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Cp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Cp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Cp();
        return Cp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Cp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Cp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Cp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Cp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_RedeemPoints_Response";
      }
    }
    class wp extends vp {
      constructor(e = null) {
        super(),
          wp.prototype.purchaseid || su.a(wp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          wp.sm_m ||
            (wp.sm_m = {
              proto: wp,
              fields: {
                purchaseid: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
              },
            }),
          wp.sm_m
        );
      }
      static MBF() {
        return wp.sm_mbf || (wp.sm_mbf = su.e(wp.M())), wp.sm_mbf;
      }
      toObject(e = !1) {
        return wp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(wp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(wp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new wp();
        return wp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(wp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return wp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(wp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return wp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_RedeemPointsForProfileCustomization_Response";
      }
    }
    class Bp extends vp {
      constructor(e = null) {
        super(), vp.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return Bp.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new Bp();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Bp();
        return Bp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Bp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Bp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_RedeemPointsForProfileCustomizationUpgrade_Response";
      }
    }
    class Op extends vp {
      constructor(e = null) {
        super(),
          Op.prototype.granted_profile_modifier || su.a(Op.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Op.sm_m ||
            (Op.sm_m = {
              proto: Op,
              fields: {
                granted_profile_modifier: {
                  n: 1,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
              },
            }),
          Op.sm_m
        );
      }
      static MBF() {
        return Op.sm_mbf || (Op.sm_mbf = su.e(Op.M())), Op.sm_mbf;
      }
      toObject(e = !1) {
        return Op.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Op.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Op.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Op();
        return Op.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Op.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Op.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Op.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Op.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_RegisterForSteamDeckRewards_Response";
      }
    }
    class Dp extends vp {
      constructor(e = null) {
        super(), vp.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return Dp.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new Dp();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Dp();
        return Dp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Dp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Dp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_AddReaction_Response";
      }
    }
    class Ip extends vp {
      constructor(e = null) {
        super(),
          Ip.prototype.reactionids || su.a(Ip.M()),
          vp.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          Ip.sm_m ||
            (Ip.sm_m = {
              proto: Ip,
              fields: {
                reactionids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
              },
            }),
          Ip.sm_m
        );
      }
      static MBF() {
        return Ip.sm_mbf || (Ip.sm_mbf = su.e(Ip.M())), Ip.sm_mbf;
      }
      toObject(e = !1) {
        return Ip.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Ip.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Ip.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Ip();
        return Ip.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Ip.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Ip.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Ip.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Ip.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetReactions_Response";
      }
    }
    class Tp extends vp {
      constructor(e = null) {
        super(),
          Tp.prototype.total || su.a(Tp.M()),
          vp.initialize(this, e, 0, -1, [1, 2, 3, 4, 5, 6], null);
      }
      static M() {
        return (
          Tp.sm_m ||
            (Tp.sm_m = {
              proto: Tp,
              fields: {
                total: { n: 1, c: Rp, r: !0, q: !0 },
                user_reviews: { n: 2, c: Rp, r: !0, q: !0 },
                ugc: { n: 3, c: Rp, r: !0, q: !0 },
                profile: { n: 4, c: Rp, r: !0, q: !0 },
                forum_topics: { n: 5, c: Rp, r: !0, q: !0 },
                comments: { n: 6, c: Rp, r: !0, q: !0 },
                total_given: {
                  n: 7,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                total_received: {
                  n: 8,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                total_points_given: {
                  n: 9,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
                total_points_received: {
                  n: 10,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
              },
            }),
          Tp.sm_m
        );
      }
      static MBF() {
        return Tp.sm_mbf || (Tp.sm_mbf = su.e(Tp.M())), Tp.sm_mbf;
      }
      toObject(e = !1) {
        return Tp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Tp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Tp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Tp();
        return Tp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Tp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Tp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Tp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Tp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetReactionsSummaryForUser_Response";
      }
    }
    class Rp extends vp {
      constructor(e = null) {
        super(),
          Rp.prototype.reactionid || su.a(Rp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Rp.sm_m ||
            (Rp.sm_m = {
              proto: Rp,
              fields: {
                reactionid: { n: 1, br: su.d.readEnum, bw: su.h.writeEnum },
                given: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
                received: { n: 3, br: su.d.readUint32, bw: su.h.writeUint32 },
                points_given: {
                  n: 4,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
                points_received: {
                  n: 5,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
              },
            }),
          Rp.sm_m
        );
      }
      static MBF() {
        return Rp.sm_mbf || (Rp.sm_mbf = su.e(Rp.M())), Rp.sm_mbf;
      }
      toObject(e = !1) {
        return Rp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Rp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Rp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Rp();
        return Rp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Rp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Rp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Rp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Rp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetReactionsSummaryForUser_Response_Breakdown";
      }
    }
    class jp extends vp {
      constructor(e = null) {
        super(),
          jp.prototype.reactions || su.a(jp.M()),
          vp.initialize(this, e, 0, -1, [3], null);
      }
      static M() {
        return (
          jp.sm_m ||
            (jp.sm_m = {
              proto: jp,
              fields: { reactions: { n: 3, c: Ap, r: !0, q: !0 } },
            }),
          jp.sm_m
        );
      }
      static MBF() {
        return jp.sm_mbf || (jp.sm_mbf = su.e(jp.M())), jp.sm_mbf;
      }
      toObject(e = !1) {
        return jp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(jp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(jp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new jp();
        return jp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(jp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return jp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(jp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return jp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetReactionConfig_Response";
      }
    }
    class Ap extends vp {
      constructor(e = null) {
        super(),
          Ap.prototype.reactionid || su.a(Ap.M()),
          vp.initialize(this, e, 0, -1, [4, 5], null);
      }
      static M() {
        return (
          Ap.sm_m ||
            (Ap.sm_m = {
              proto: Ap,
              fields: {
                reactionid: { n: 1, br: su.d.readEnum, bw: su.h.writeEnum },
                points_cost: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                points_transferred: {
                  n: 3,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                valid_target_types: {
                  n: 4,
                  r: !0,
                  q: !0,
                  br: su.d.readEnum,
                  bw: su.h.writeRepeatedEnum,
                },
                valid_ugc_types: {
                  n: 5,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
              },
            }),
          Ap.sm_m
        );
      }
      static MBF() {
        return Ap.sm_mbf || (Ap.sm_mbf = su.e(Ap.M())), Ap.sm_mbf;
      }
      toObject(e = !1) {
        return Ap.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Ap.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Ap.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Ap();
        return Ap.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Ap.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Ap.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Ap.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Ap.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetReactionConfig_Response_ReactionConfig";
      }
    }
    class kp extends vp {
      constructor(e = null) {
        super(),
          kp.prototype.points_cost || su.a(kp.M()),
          vp.initialize(this, e, 0, -1, [3, 4], null);
      }
      static M() {
        return (
          kp.sm_m ||
            (kp.sm_m = {
              proto: kp,
              fields: {
                points_cost: {
                  n: 1,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                upgrade_points_cost: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                purchasable_customization_types: {
                  n: 3,
                  r: !0,
                  q: !0,
                  br: su.d.readEnum,
                  bw: su.h.writeRepeatedEnum,
                },
                upgradable_customization_types: {
                  n: 4,
                  r: !0,
                  q: !0,
                  br: su.d.readEnum,
                  bw: su.h.writeRepeatedEnum,
                },
                max_slots_per_type: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                max_upgradable_level: {
                  n: 6,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          kp.sm_m
        );
      }
      static MBF() {
        return kp.sm_mbf || (kp.sm_mbf = su.e(kp.M())), kp.sm_mbf;
      }
      toObject(e = !1) {
        return kp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(kp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(kp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new kp();
        return kp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(kp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return kp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(kp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return kp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetProfileCustomizationsConfig_Response";
      }
    }
    class Mp extends vp {
      constructor(e = null) {
        super(),
          Mp.prototype.apps || su.a(Mp.M()),
          vp.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          Mp.sm_m ||
            (Mp.sm_m = {
              proto: Mp,
              fields: { apps: { n: 1, c: Pp, r: !0, q: !0 } },
            }),
          Mp.sm_m
        );
      }
      static MBF() {
        return Mp.sm_mbf || (Mp.sm_mbf = su.e(Mp.M())), Mp.sm_mbf;
      }
      toObject(e = !1) {
        return Mp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Mp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Mp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Mp();
        return Mp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Mp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Mp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Mp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Mp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetEligibleApps_Response";
      }
    }
    class Pp extends vp {
      constructor(e = null) {
        super(),
          Pp.prototype.appid || su.a(Pp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Pp.sm_m ||
            (Pp.sm_m = {
              proto: Pp,
              fields: {
                appid: { n: 1, br: su.d.readUint32, bw: su.h.writeUint32 },
                has_items_anyone_can_purchase: {
                  n: 2,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                event_app: { n: 3, br: su.d.readBool, bw: su.h.writeBool },
                hero_carousel_image: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          Pp.sm_m
        );
      }
      static MBF() {
        return Pp.sm_mbf || (Pp.sm_mbf = su.e(Pp.M())), Pp.sm_mbf;
      }
      toObject(e = !1) {
        return Pp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Pp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Pp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Pp();
        return Pp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Pp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Pp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Pp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Pp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetEligibleApps_Response_EligibleApp";
      }
    }
    class Lp extends vp {
      constructor(e = null) {
        super(),
          Lp.prototype.appid || su.a(Lp.M()),
          vp.initialize(this, e, 0, -1, [15], null);
      }
      static M() {
        return (
          Lp.sm_m ||
            (Lp.sm_m = {
              proto: Lp,
              fields: {
                appid: { n: 1, br: su.d.readUint32, bw: su.h.writeUint32 },
                defid: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
                type: { n: 3, br: su.d.readEnum, bw: su.h.writeEnum },
                community_item_class: {
                  n: 4,
                  br: su.d.readInt32,
                  bw: su.h.writeInt32,
                },
                community_item_type: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                point_cost: {
                  n: 6,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
                timestamp_created: {
                  n: 7,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                timestamp_updated: {
                  n: 8,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                timestamp_available: {
                  n: 9,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                timestamp_available_end: {
                  n: 14,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                quantity: {
                  n: 10,
                  br: su.d.readInt64String,
                  bw: su.h.writeInt64String,
                },
                internal_description: {
                  n: 11,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                active: { n: 12, br: su.d.readBool, bw: su.h.writeBool },
                community_item_data: { n: 13, c: Gp },
                bundle_defids: {
                  n: 15,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
                usable_duration: {
                  n: 16,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                bundle_discount: {
                  n: 17,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          Lp.sm_m
        );
      }
      static MBF() {
        return Lp.sm_mbf || (Lp.sm_mbf = su.e(Lp.M())), Lp.sm_mbf;
      }
      toObject(e = !1) {
        return Lp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Lp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Lp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Lp();
        return Lp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Lp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Lp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Lp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Lp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "LoyaltyRewardDefinition";
      }
    }
    class Gp extends vp {
      constructor(e = null) {
        super(),
          Gp.prototype.item_name || su.a(Gp.M()),
          vp.initialize(this, e, 0, -1, [9], null);
      }
      static M() {
        return (
          Gp.sm_m ||
            (Gp.sm_m = {
              proto: Gp,
              fields: {
                item_name: { n: 1, br: su.d.readString, bw: su.h.writeString },
                item_title: { n: 2, br: su.d.readString, bw: su.h.writeString },
                item_description: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                item_image_small: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                item_image_large: {
                  n: 5,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                item_movie_webm: {
                  n: 6,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                item_movie_mp4: {
                  n: 7,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                item_movie_webm_small: {
                  n: 10,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                item_movie_mp4_small: {
                  n: 11,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                animated: { n: 8, br: su.d.readBool, bw: su.h.writeBool },
                badge_data: { n: 9, c: Np, r: !0, q: !0 },
                profile_theme_id: {
                  n: 12,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          Gp.sm_m
        );
      }
      static MBF() {
        return Gp.sm_mbf || (Gp.sm_mbf = su.e(Gp.M())), Gp.sm_mbf;
      }
      toObject(e = !1) {
        return Gp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Gp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Gp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Gp();
        return Gp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Gp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Gp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Gp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Gp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "LoyaltyRewardDefinition_CommunityItemData";
      }
    }
    class Np extends vp {
      constructor(e = null) {
        super(),
          Np.prototype.level || su.a(Np.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Np.sm_m ||
            (Np.sm_m = {
              proto: Np,
              fields: {
                level: { n: 1, br: su.d.readInt32, bw: su.h.writeInt32 },
                image: { n: 2, br: su.d.readString, bw: su.h.writeString },
              },
            }),
          Np.sm_m
        );
      }
      static MBF() {
        return Np.sm_mbf || (Np.sm_mbf = su.e(Np.M())), Np.sm_mbf;
      }
      toObject(e = !1) {
        return Np.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Np.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Np.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Np();
        return Np.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Np.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Np.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Np.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Np.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "LoyaltyRewardDefinition_BadgeData";
      }
    }
    class Fp extends vp {
      constructor(e = null) {
        super(),
          Fp.prototype.bonusid || su.a(Fp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Fp.sm_m ||
            (Fp.sm_m = {
              proto: Fp,
              fields: {
                bonusid: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                appid: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
                active: { n: 3, br: su.d.readBool, bw: su.h.writeBool },
                points: { n: 4, br: su.d.readInt32, bw: su.h.writeInt32 },
                timestamp_start: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                timestamp_end: {
                  n: 6,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                internal_description: {
                  n: 7,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          Fp.sm_m
        );
      }
      static MBF() {
        return Fp.sm_mbf || (Fp.sm_mbf = su.e(Fp.M())), Fp.sm_mbf;
      }
      toObject(e = !1) {
        return Fp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Fp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Fp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Fp();
        return Fp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Fp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Fp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Fp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Fp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "LoyaltyRewardPurchaseBonus";
      }
    }
    class xp extends vp {
      constructor(e = null) {
        super(),
          xp.prototype.bonuses || su.a(xp.M()),
          vp.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          xp.sm_m ||
            (xp.sm_m = {
              proto: xp,
              fields: { bonuses: { n: 1, c: Fp, r: !0, q: !0 } },
            }),
          xp.sm_m
        );
      }
      static MBF() {
        return xp.sm_mbf || (xp.sm_mbf = su.e(xp.M())), xp.sm_mbf;
      }
      toObject(e = !1) {
        return xp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(xp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(xp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new xp();
        return xp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(xp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return xp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(xp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return xp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_GetActivePurchaseBonuses_Response";
      }
    }
    class zp extends vp {
      constructor(e = null) {
        super(),
          zp.prototype.appids || su.a(zp.M()),
          vp.initialize(
            this,
            e,
            0,
            -1,
            [1, 3, 9, 10, 11, 12, 13, 14, 15, 17, 18],
            null,
          );
      }
      static M() {
        return (
          zp.sm_m ||
            (zp.sm_m = {
              proto: zp,
              fields: {
                appids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
                time_available: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                community_item_classes: {
                  n: 3,
                  r: !0,
                  q: !0,
                  br: su.d.readInt32,
                  bw: su.h.writeRepeatedInt32,
                },
                language: { n: 4, br: su.d.readString, bw: su.h.writeString },
                count: { n: 5, br: su.d.readInt32, bw: su.h.writeInt32 },
                cursor: { n: 6, br: su.d.readString, bw: su.h.writeString },
                sort: { n: 7, d: 1, br: su.d.readEnum, bw: su.h.writeEnum },
                sort_descending: {
                  n: 8,
                  d: !0,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                reward_types: {
                  n: 9,
                  r: !0,
                  q: !0,
                  br: su.d.readEnum,
                  bw: su.h.writeRepeatedEnum,
                },
                excluded_community_item_classes: {
                  n: 10,
                  r: !0,
                  q: !0,
                  br: su.d.readInt32,
                  bw: su.h.writeRepeatedInt32,
                },
                definitionids: {
                  n: 11,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
                filters: {
                  n: 12,
                  r: !0,
                  q: !0,
                  br: su.d.readEnum,
                  bw: su.h.writeRepeatedEnum,
                },
                filter_match_all_category_tags: {
                  n: 13,
                  r: !0,
                  q: !0,
                  br: su.d.readString,
                  bw: su.h.writeRepeatedString,
                },
                filter_match_any_category_tags: {
                  n: 14,
                  r: !0,
                  q: !0,
                  br: su.d.readString,
                  bw: su.h.writeRepeatedString,
                },
                contains_definitionids: {
                  n: 15,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
                include_direct_purchase_disabled: {
                  n: 16,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                excluded_content_descriptors: {
                  n: 17,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
                excluded_appids: {
                  n: 18,
                  r: !0,
                  q: !0,
                  br: su.d.readUint32,
                  bw: su.h.writeRepeatedUint32,
                },
              },
            }),
          zp.sm_m
        );
      }
      static MBF() {
        return zp.sm_mbf || (zp.sm_mbf = su.e(zp.M())), zp.sm_mbf;
      }
      toObject(e = !1) {
        return zp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(zp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(zp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new zp();
        return zp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(zp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return zp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(zp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return zp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_QueryRewardItems_Request";
      }
    }
    class Up extends vp {
      constructor(e = null) {
        super(),
          Up.prototype.definitions || su.a(Up.M()),
          vp.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          Up.sm_m ||
            (Up.sm_m = {
              proto: Up,
              fields: {
                definitions: { n: 1, c: Lp, r: !0, q: !0 },
                total_count: { n: 2, br: su.d.readInt32, bw: su.h.writeInt32 },
                count: { n: 3, br: su.d.readInt32, bw: su.h.writeInt32 },
                next_cursor: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          Up.sm_m
        );
      }
      static MBF() {
        return Up.sm_mbf || (Up.sm_mbf = su.e(Up.M())), Up.sm_mbf;
      }
      toObject(e = !1) {
        return Up.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Up.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Up.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Up();
        return Up.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Up.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Up.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Up.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Up.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_QueryRewardItems_Response";
      }
    }
    class Wp extends vp {
      constructor(e = null) {
        super(),
          Wp.prototype.responses || su.a(Wp.M()),
          vp.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          Wp.sm_m ||
            (Wp.sm_m = {
              proto: Wp,
              fields: { responses: { n: 1, c: Hp, r: !0, q: !0 } },
            }),
          Wp.sm_m
        );
      }
      static MBF() {
        return Wp.sm_mbf || (Wp.sm_mbf = su.e(Wp.M())), Wp.sm_mbf;
      }
      toObject(e = !1) {
        return Wp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Wp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Wp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Wp();
        return Wp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Wp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Wp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Wp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Wp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_BatchedQueryRewardItems_Response";
      }
    }
    class Hp extends vp {
      constructor(e = null) {
        super(),
          Hp.prototype.eresult || su.a(Hp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Hp.sm_m ||
            (Hp.sm_m = {
              proto: Hp,
              fields: {
                eresult: { n: 1, br: su.d.readInt32, bw: su.h.writeInt32 },
                response: { n: 2, c: Up },
              },
            }),
          Hp.sm_m
        );
      }
      static MBF() {
        return Hp.sm_mbf || (Hp.sm_mbf = su.e(Hp.M())), Hp.sm_mbf;
      }
      toObject(e = !1) {
        return Hp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Hp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Hp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Hp();
        return Hp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Hp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Hp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Hp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Hp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CLoyaltyRewards_BatchedQueryRewardItems_Response_Response";
      }
    }
    class Vp extends vp {
      constructor(e = null) {
        super(),
          Vp.prototype.communityitemid || su.a(Vp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Vp.sm_m ||
            (Vp.sm_m = {
              proto: Vp,
              fields: {
                communityitemid: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                next_claim_time: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                reward_item: { n: 3, c: Lp },
              },
            }),
          Vp.sm_m
        );
      }
      static MBF() {
        return Vp.sm_mbf || (Vp.sm_mbf = su.e(Vp.M())), Vp.sm_mbf;
      }
      toObject(e = !1) {
        return Vp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Vp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Vp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Vp();
        return Vp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Vp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Vp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Vp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Vp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CSaleItemRewards_ClaimItem_Response";
      }
    }
    class qp extends vp {
      constructor(e = null) {
        super(),
          qp.prototype.can_claim || su.a(qp.M()),
          vp.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          qp.sm_m ||
            (qp.sm_m = {
              proto: qp,
              fields: {
                can_claim: { n: 1, br: su.d.readBool, bw: su.h.writeBool },
                next_claim_time: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                reward_item: { n: 3, c: Lp },
              },
            }),
          qp.sm_m
        );
      }
      static MBF() {
        return qp.sm_mbf || (qp.sm_mbf = su.e(qp.M())), qp.sm_mbf;
      }
      toObject(e = !1) {
        return qp.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(qp.M(), e, t);
      }
      static fromObject(e) {
        return su.c(qp.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new qp();
        return qp.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(qp.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return qp.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(qp.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return qp.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CSaleItemRewards_CanClaimItem_Response";
      }
    }
    var Kp, Qp;
    !(function (e) {
      (e.GetPointsForSpend = function (e, t) {
        return e.SendMsg("LoyaltyRewards.GetPointsForSpend#1", t, Ep, {
          bConstMethod: !0,
          ePrivilege: 0,
          eWebAPIKeyRequirement: 1,
        });
      }),
        (e.GetSummary = function (e, t) {
          return e.SendMsg("LoyaltyRewards.GetSummary#1", t, Sp, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.RedeemPoints = function (e, t) {
          return e.SendMsg("LoyaltyRewards.RedeemPoints#1", t, Cp, {
            ePrivilege: 1,
          });
        }),
        (e.RedeemPointsForBadgeLevel = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.RedeemPointsForBadgeLevel#1",
            t,
            Cp,
            { ePrivilege: 1 },
          );
        }),
        (e.RedeemPointsToUpgradeItem = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.RedeemPointsToUpgradeItem#1",
            t,
            Cp,
            { ePrivilege: 1 },
          );
        }),
        (e.RedeemPointsForProfileCustomization = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.RedeemPointsForProfileCustomization#1",
            t,
            wp,
            { ePrivilege: 1 },
          );
        }),
        (e.RedeemPointsForProfileCustomizationUpgrade = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.RedeemPointsForProfileCustomizationUpgrade#1",
            t,
            Bp,
            { ePrivilege: 1 },
          );
        }),
        (e.RegisterForSteamDeckRewards = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.RegisterForSteamDeckRewards#1",
            t,
            Op,
            { ePrivilege: 1 },
          );
        }),
        (e.AddReaction = function (e, t) {
          return e.SendMsg("LoyaltyRewards.AddReaction#1", t, Dp, {
            ePrivilege: 1,
          });
        }),
        (e.GetReactions = function (e, t) {
          return e.SendMsg("LoyaltyRewards.GetReactions#1", t, Ip, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetReactionsSummaryForUser = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.GetReactionsSummaryForUser#1",
            t,
            Tp,
            { bConstMethod: !0, ePrivilege: 2, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.GetReactionConfig = function (e, t) {
          return e.SendMsg("LoyaltyRewards.GetReactionConfig#1", t, jp, {
            bConstMethod: !0,
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetProfileCustomizationsConfig = function (e, t) {
          return e.SendMsg(
            "LoyaltyRewards.GetProfileCustomizationsConfig#1",
            t,
            kp,
            { bConstMethod: !0, ePrivilege: 0, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.GetEligibleApps = function (e, t) {
          return e.SendMsg("LoyaltyRewards.GetEligibleApps#1", t, Mp, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetActivePurchaseBonuses = function (e, t) {
          return e.SendMsg("LoyaltyRewards.GetActivePurchaseBonuses#1", t, xp, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.QueryRewardItems = function (e, t) {
          return e.SendMsg("LoyaltyRewards.QueryRewardItems#1", t, Up, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.BatchedQueryRewardItems = function (e, t) {
          return e.SendMsg("LoyaltyRewards.BatchedQueryRewardItems#1", t, Wp, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        });
    })(Kp || (Kp = {})),
      (function (e) {
        (e.ClaimItem = function (e, t) {
          return e.SendMsg("SaleItemRewards.ClaimItem#1", t, Vp, {
            ePrivilege: 1,
          });
        }),
          (e.CanClaimItem = function (e, t) {
            return e.SendMsg("SaleItemRewards.CanClaimItem#1", t, qp, {
              bConstMethod: !0,
              ePrivilege: 1,
            });
          });
      })(Qp || (Qp = {}));
    class Yp {
      constructor() {
        (this.m_mapDefIDtoDefinition = new Map()),
          (this.m_mapDefIDToPromise = new Map()),
          (this.m_defChangeCallback = new Map()),
          (this.m_SteamInterface = null);
      }
      GetItem(e) {
        return this.m_mapDefIDtoDefinition.get(e);
      }
      GetItemChangeCallback(e) {
        return (
          this.m_defChangeCallback.has(e) ||
            this.m_defChangeCallback.set(e, new g.a()),
          this.m_defChangeCallback.get(e)
        );
      }
      LoadRewardDefinition(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_mapDefIDToPromise.has(e) ||
              this.m_mapDefIDToPromise.set(
                e,
                this.InternalLoadRewardDefinition(e),
              ),
            this.m_mapDefIDToPromise.get(e)
          );
        });
      }
      InternalLoadRewardDefinition(e) {
        var t, n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapDefIDtoDefinition.has(e))
            return this.m_mapDefIDtoDefinition.get(e);
          const a = xt.b.Init(zp);
          a.Body().set_definitionids([e]);
          let i = null;
          try {
            const s = yield Kp.QueryRewardItems(
              this.m_SteamInterface.GetServiceTransport(),
              a,
            );
            1 == s.GetEResult() &&
              (null === (t = s.Body().definitions()) || void 0 === t
                ? void 0
                : t.length) > 0 &&
              (Object(l.a)(
                1 ==
                  (null === (n = s.Body().definitions()) || void 0 === n
                    ? void 0
                    : n.length),
                `Requested definition ID ${e} and receive # ${null === (r = s.Body().definitions()) || void 0 === r ? void 0 : r.length}, expecting exactly one.`,
              ),
              this.m_mapDefIDtoDefinition.set(
                e,
                s.Body().definitions()[0].toObject(),
              ),
              this.GetItemChangeCallback(e).Dispatch(
                this.m_mapDefIDtoDefinition.get(e),
              )),
              (i = Object(me.a)(s));
          } catch (e) {
            i = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.GetAllActivePlans failed: " +
                (null == i ? void 0 : i.strErrorMsg),
              i,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          Yp.s_Singleton ||
            ((Yp.s_Singleton = new Yp()),
            Yp.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_LoyaltyRewardDefinitionStore = Yp.s_Singleton)),
          Yp.s_Singleton
        );
      }
      Init() {
        this.m_SteamInterface = new au.a(o.c.WEBAPI_BASE_URL);
      }
    }
    var Zp = n("Hpol"),
      Jp = n.n(Zp);
    function Xp(e) {
      const { defid: t, url: n } = e,
        a = (function (e) {
          const [t, n] = Object(r.useState)(Yp.Get().GetItem(e));
          return (
            Object(r.useEffect)(() => {
              t || Yp.Get().LoadRewardDefinition(e);
            }, [e, t]),
            Object(u.e)(Yp.Get().GetItemChangeCallback(e), n),
            t
          );
        })(t);
      if (!a || !a.community_item_data) return null;
      const s = a.appid,
        l = a.community_item_data.item_image_large,
        c = `${o.c.MEDIA_CDN_COMMUNITY_URL}images/items/${s}/${l}`;
      return (
        "dev" == o.c.WEB_UNIVERSE &&
          console.log("reward itemdef", Object(L.I)(a)),
        i.a.createElement(
          "div",
          { className: Jp.a.Ctn },
          i.a.createElement(
            Qe.a,
            { toolTipContent: a.community_item_data.item_description },
            i.a.createElement("img", {
              src: c,
              alt: a.community_item_data.item_title,
            }),
          ),
        )
      );
    }
    const $p =
        /(?:steampowered\.com|valve\.org\/store|store\.steamchina\.com)\/(app|bundle|sub)\/(\d+)/i,
      eh =
        /(?:steamcommunity\.com|valve\.org\/community|my\.steamchina\.com)\/(games|app|ogg|gid|groups)\/(\w+)\/(?:announcements\/detail|partnerevents\/view_old_announcement)\/(\d+)/i,
      th =
        /(?:steamcommunity\.com|valve\.org\/community)\/(games|app|ogg|gid|groups)\/(\w+)\/partnerevents\/view\/(\d+)/i,
      nh =
        /(?:steampowered\.com|valve\.org\/store|store\.steamchina\.com)\/(?:news|newshub)\/(group|app)\/(\w+)\/view\/(\d+)/i,
      ah = /:\/\/medal.tv\/(?:clip|clips)\/([a-z0-9]+)/i,
      rh = /sketchfab.com\/(?:models\/(?:[^\/\s]+-)?)([a-z0-9]{32})/i,
      ih = /twitter\.com\/(\w+)(\/?)$/i,
      sh = /twitter\.com\/hashtag\/(\w+)(\/?)$/i,
      oh = /twitch\.tv\/(\w+)(\/?)$/i,
      lh =
        /(?:steamcommunity\.com|valve\.org\/community|my\.steamchina\.com)\/id\/(\w+)(\/?)$/i,
      ch =
        /(?:steampowered\.com|valve\.org\/store|store\.steamchina\.com)\/points\/shop\/.*reward\/(\d+)$/i;
    class dh extends r.Component {
      constructor(e) {
        super(e),
          (this.m_parser = new he.a(
            dh.BBCodeDictionary,
            this.ElementAccumulator,
            e.languageOverride,
          ));
      }
      ElementAccumulator(e) {
        return new an(
          new nn(
            new tn(new Yt.c(new Yt.b(), 0), e, dh.GetBBCodeURLComponent(), {
              partnerEventStore: this.props.partnerEventStore,
              event: this.props.event,
            }),
          ),
          e,
        );
      }
      static GetBBCodeURLComponent() {
        return (
          null == dh.sm_InternalBBCodeURLComponent &&
            (o.c.EREALM == c.ESteamRealm.k_ESteamRealmChina
              ? (dh.sm_InternalBBCodeURLComponent = [
                  { urlRegExp: new RegExp($p), fnBBComponent: bh },
                  { urlRegExp: new RegExp(th), fnBBComponent: yh },
                  { urlRegExp: new RegExp(nh), fnBBComponent: Sh },
                  { urlRegExp: new RegExp(eh), fnBBComponent: vh },
                  { urlRegExp: new RegExp(lh), fnBBComponent: Dh },
                ])
              : (dh.sm_InternalBBCodeURLComponent = [
                  {
                    urlRegExp: new RegExp(/youtu.be|youtube.com/i),
                    fnBBComponent: mh,
                  },
                  {
                    urlRegExp: new RegExp(
                      /community.+sharedfiles\/filedetails\/\?id=\d+/i,
                    ),
                    fnBBComponent: _h,
                  },
                  { urlRegExp: new RegExp($p), fnBBComponent: bh },
                  { urlRegExp: new RegExp(th), fnBBComponent: yh },
                  { urlRegExp: new RegExp(nh), fnBBComponent: Sh },
                  { urlRegExp: new RegExp(eh), fnBBComponent: vh },
                  { urlRegExp: new RegExp(ah), fnBBComponent: ph },
                  { urlRegExp: new RegExp(rh), fnBBComponent: hh },
                  { urlRegExp: new RegExp(ih), fnBBComponent: wh },
                  { urlRegExp: new RegExp(sh), fnBBComponent: Bh },
                  { urlRegExp: new RegExp(oh), fnBBComponent: Oh },
                  { urlRegExp: new RegExp(lh), fnBBComponent: Dh },
                  { urlRegExp: new RegExp(ch), fnBBComponent: fh },
                ])),
          dh.sm_InternalBBCodeURLComponent
        );
      }
      render() {
        return (
          this.m_parser.UpdateOverrideLanguage(this.props.languageOverride),
          this.m_parser.ParseBBCode(this.props.text, {
            showErrorInfo: this.props.showErrorInfo,
            event: this.props.event,
            bShowShortSpeakerInfo: this.props.bShowShortSpeakerInfo,
          })
        );
      }
    }
    function uh(e, t, n) {
      const a = Object(Zt.e)(e, t);
      return void 0 === a || null == a ? n : Number.parseInt(a);
    }
    function mh(e, t) {
      if (o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina) return null;
      const n = Object(ge.b)(e);
      return void 0 !== (null == n ? void 0 : n.strVideoID)
        ? r.createElement(yn.a, {
            videoID: n.strVideoID,
            nStartSeconds: n.nStartSeconds,
            classNameAlign: "",
            classNameSize: Cn.a.sizeFull,
            bShowVideoImmediately: !1,
          })
        : $t(e, null == t ? void 0 : t.event);
    }
    function ph(e, t) {
      if (o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina) return null;
      const n = new RegExp(ah).exec(e);
      if (n && n.length > 1) {
        const e = n[1];
        if ((null == e ? void 0 : e.length) > 0) {
          let n =
            "https://medal.tv/clip/" +
            e +
            "/?autoplay=0&donate=0" +
            (t && t.event ? "&steamappid=" + t.event.appid : "");
          return r.createElement("iframe", {
            className: ss.MedalTVWidget,
            src: n,
            frameBorder: 0,
            allow: "autoplay",
          });
        }
      }
      return $t(e, null == t ? void 0 : t.event);
    }
    function hh(e, t) {
      let n = new RegExp(rh).exec(e);
      if (n && n.length > 1) {
        let e = n[1];
        if (e && e.length > 1) return r.createElement(bo, { modelID: e });
      }
      return $t(e, null == t ? void 0 : t.event);
    }
    function _h(e, t) {
      const n = e.split("?");
      let a;
      if (2 == n.length) {
        const e = Qt.a.parse(n[1]),
          t = "id";
        t in e && (a = e[t].toString());
      }
      return void 0 !== a
        ? r.createElement(Bn, { sharedFileID: a })
        : $t(e, null == t ? void 0 : t.event);
    }
    function gh(e) {
      let t = Object(Rt.d)(e).toLocaleLowerCase(),
        n = Object(Rt.d)(o.c.STORE_BASE_URL),
        a = Object(Rt.d)(o.c.COMMUNITY_BASE_URL);
      return (
        t == n ||
        t == a ||
        ("dev" === o.c.WEB_UNIVERSE &&
          (t.includes("steampowered.com") ||
            t.includes("steamcommunity.com") ||
            t.includes("steamchina.com")))
      );
    }
    function bh(e, t) {
      if (gh(e)) {
        let t = new RegExp($p).exec(e);
        if (t && t.length > 2) {
          let e = t[1],
            n = Number(t[2]);
          if (n > 0) {
            let t = "bundle" == e ? "bundle" : "sub" == e ? "sub" : "game";
            return r.createElement(
              "div",
              {
                className: Object(h.a)(
                  ss.AppSummaryWidgetCtn,
                  "AppSummaryWidgetCtn",
                ),
              },
              r.createElement(vs.e, { id: n, type: t }),
            );
          }
        }
      }
      return $t(e, null == t ? void 0 : t.event);
    }
    function fh(e, t) {
      if (gh(e)) {
        const t = new RegExp(ch).exec(e);
        if (t && t.length > 1) {
          const n = Number(t[1]);
          if (n > 0)
            return r.createElement(
              "div",
              { className: Object(h.a)(ss.LoyaltyRewardCtn) },
              r.createElement(Xp, { defid: n, url: e }),
            );
        }
      }
      return $t(e, null == t ? void 0 : t.event);
    }
    function vh(e, t) {
      if (gh(e)) {
        let t = new RegExp(eh).exec(e);
        if (t && t.length > 2) {
          let n, a, i, s;
          "gid" == t[1]
            ? (a = new de.a(t[2]))
            : "groups" == t[1]
              ? (s = t[2])
              : isNaN(+t[2])
                ? (i = t[2])
                : (n = Number(t[2]));
          let o = t[3];
          if (
            ((void 0 !== n && n > 0) ||
              void 0 !== i ||
              void 0 !== s ||
              void 0 !== a) &&
            null != o &&
            o.length > 0
          )
            return r.createElement(ho, {
              appid: n,
              clanSteamID: a,
              strVanity: i,
              strGroupVanity: s,
              announcementGID: o,
              strURL: e,
            });
        }
      }
      return $t(e, null == t ? void 0 : t.event);
    }
    function Sh(e, t) {
      return Eh(nh, e, t);
    }
    function yh(e, t) {
      return Eh(th, e, t);
    }
    function Eh(e, t, n) {
      if (gh(t)) {
        let n = new RegExp(e).exec(t);
        if (n && n.length > 2) {
          let e, a, i, s;
          "gid" == n[1]
            ? (a = new de.a(n[2]))
            : "group" == n[1]
              ? (a = de.a.InitFromClanID(Number.parseInt(n[2])))
              : "groups" == n[1]
                ? (s = n[2])
                : isNaN(+n[2])
                  ? (i = n[2])
                  : (e = Number(n[2]));
          const o = n[3];
          if (
            ((void 0 !== e && e > 0) ||
              void 0 !== i ||
              void 0 !== s ||
              void 0 !== a) &&
            null != o &&
            o.length > 0
          )
            return r.createElement(ho, {
              appid: e,
              clanSteamID: a,
              strVanity: i,
              strGroupVanity: s,
              eventGID: o,
              strURL: t,
            });
        }
      }
      return $t(t, null == n ? void 0 : n.event);
    }
    function Ch(e, t, n, a) {
      let i;
      const s = e.endsWith("/") ? e.length - 1 : e.length,
        o = e.lastIndexOf("/", s - 1);
      -1 != o && o + 1 < e.length && (i = e.substring(o + 1, s)),
        n && i && (i = n + i);
      const l = $t(e, null == a ? void 0 : a.event, null != i ? i : e);
      return r.createElement(
        "div",
        { className: ss.SocialLink },
        r.createElement("div", { className: ss.SocialIcon }, t),
        l,
      );
    }
    function wh(e, t) {
      return o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina
        ? null
        : Ch(e, r.createElement(H.rb, null), "@", t);
    }
    function Bh(e, t) {
      return o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina
        ? null
        : Ch(e, r.createElement(H.rb, null), "#", t);
    }
    function Oh(e, t) {
      return o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina
        ? null
        : Ch(e, r.createElement(H.qb, null), void 0, t);
    }
    function Dh(e, t) {
      return Ch(e, r.createElement(H.jb, null), void 0, t);
    }
    function Ih(e) {
      const { nDoorIndex: t, bHide: n, children: a } = e,
        i = vn(t);
      return null == i
        ? null
        : (i && !n) || (!i && n)
          ? r.createElement(r.Fragment, null, e.children)
          : null;
    }
    (dh.BBCodeDictionary = new Map([
      ...Array.from(Zt.c.entries()),
      [
        "url",
        {
          Constructor: function (e) {
            var t, n;
            let a = Object(Zt.e)(e.args);
            const i = Object(Zt.e)(e.args, "style"),
              s = Object(Zt.e)(e.args, "id"),
              l = (function (e) {
                if ("button" === e)
                  return Object(h.a)(ss.LinkButton, "LinkButton");
                return Object(h.a)(ss.Link, "Link");
              })(i),
              c = e.context.event;
            if (void 0 === a) return e.children || "";
            if ("string" == typeof a && a.length > 0) {
              const n = Zt.d(
                a,
                e.language,
                null === (t = e.context.event) || void 0 === t
                  ? void 0
                  : t.rtime32_last_modified,
              );
              a = "string" == typeof n ? n : n[1];
            }
            "dev" == o.c.WEB_UNIVERSE &&
              "store" == Object(o.f)() &&
              "store.steampowered.com" == Object(Rt.d)(a) &&
              ((a = a.replace(
                "https://store.steampowered.com/",
                o.c.STORE_BASE_URL,
              )),
              "clorthax_quest" ==
                (null === (n = null == c ? void 0 : c.jsondata) || void 0 === n
                  ? void 0
                  : n.sale_vanity_id) &&
                (-1 == a.indexOf("?")
                  ? (a += "?t=2022-06-25")
                  : (a += "&t=2022-06-25")));
            if ("string" == typeof a && a.length > 0 && "#" == a[0])
              return r.createElement(
                "a",
                { className: l, href: a },
                e.children,
              );
            return "steam://settings/account" == a
              ? r.createElement(
                  E.c,
                  { className: l, href: "steam://settings/account" },
                  e.children,
                )
              : r.createElement(
                  en,
                  { className: l, url: a, event: e.context.event, id: s },
                  e.children,
                );
          },
          autocloses: !1,
        },
      ],
      [
        "h1",
        {
          Constructor: Zt.a(Zt.f, ss.Header1),
          autocloses: !1,
          skipFollowingNewline: !0,
        },
      ],
      [
        "h2",
        {
          Constructor: Zt.a(Zt.g, ss.Header2),
          autocloses: !1,
          skipFollowingNewline: !0,
        },
      ],
      [
        "h3",
        {
          Constructor: Zt.a(Zt.h, ss.Header3),
          autocloses: !1,
          skipFollowingNewline: !0,
        },
      ],
      ["quote", { Constructor: Zt.a(Zt.n, ss.BlockQuote), autocloses: !1 }],
      [
        "list",
        {
          Constructor: Zt.a(Zt.i, ss.UnorderedList),
          autocloses: !1,
          skipInternalNewline: !0,
        },
      ],
      [
        "olist",
        {
          Constructor: Zt.a(Zt.l, ss.OrderedList),
          autocloses: !1,
          skipInternalNewline: !0,
        },
      ],
      ["*", { Constructor: Zt.j, autocloses: !0, skipInternalNewline: !0 }],
      [
        "img",
        {
          Constructor: function (e) {
            const { showErrorInfo: t, event: n } = e.context;
            let a = e && e.children && e.children.toString();
            if (
              (null == a || null == a || 0 == a.length) &&
              ((a = e && e.args && e.args[""]),
              null == a || null == a || 0 == a.length)
            )
              return "";
            const i = Zt.d(
              a,
              e.language,
              null == n ? void 0 : n.rtime32_last_modified,
            );
            if ("string" == typeof i) {
              let e;
              return (
                (a = i),
                (e = (!n || !n.BHasTag("auto_rssfeed")) && !Object(Rt.a)(a)),
                t || (a = Object(Rt.g)(a)),
                t
                  ? r.createElement(Aa.a, {
                      src: a,
                      crossOrigin: e ? "anonymous" : void 0,
                    })
                  : r.createElement("img", {
                      src: a,
                      crossOrigin: e ? "anonymous" : void 0,
                    })
              );
            }
            return r.createElement(p, { rgSources: i });
          },
          autocloses: !1,
        },
      ],
      ["previewyoutube", { Constructor: Zt.m, autocloses: !1 }],
      ["looping_media", { Constructor: Zt.k, autocloses: !1 }],
      [
        "giveawayinfo",
        {
          Constructor: function (e) {
            let t = Object(Zt.e)(e.args);
            if (t) return r.createElement(Eo, { giveawayid: t });
            return r.createElement(r.Fragment, null);
          },
          autocloses: !1,
        },
      ],
      ["video", { Constructor: Zt.o, autocloses: !1 }],
      ["youtubeorvideo", { Constructor: Zt.p, autocloses: !1 }],
      [
        "price",
        {
          Constructor: function (e) {
            const t = Number(e.args.packageid);
            if (!t) return null;
            const n = e.args.display;
            return r.createElement(ms, { packageID: t, display_style: n });
          },
          autocloses: !1,
        },
      ],
      [
        "pricesavings",
        {
          Constructor: function (e) {
            const t = Number(e.args.packageid),
              n = Number(e.args.compareid);
            return t && n
              ? r.createElement(ps, { packageID: t, compareID: n })
              : null;
          },
          autocloses: !1,
        },
      ],
      [
        "wishlist",
        {
          Constructor: function (e) {
            const t = Number(e.args.appid);
            return t ? r.createElement(hs, { appid: t }) : null;
          },
          autocloses: !1,
        },
      ],
      [
        "trailer",
        {
          Constructor: function (e) {
            const t = uh(
                e.args,
                "appid",
                e.context.event.appid ? e.context.event.appid : 0,
              ),
              n = uh(e.args, "trailerid", 0);
            return r.createElement(lo, {
              appid: t,
              trailerBaseID: n,
              bIsPreviewMode: e.context.showErrorInfo,
            });
          },
          autocloses: !0,
        },
      ],
      [
        "vod",
        {
          Constructor: function (e) {
            const t = uh(e.args, "appid", 0);
            return r.createElement(po, {
              appid: t,
              bPreviewMode: e.context.showErrorInfo,
            });
          },
          autocloses: !1,
        },
      ],
      [
        "speaker",
        {
          Constructor: function (e) {
            const t = Object(Zt.e)(e.args, "name"),
              n = Object(Zt.e)(e.args, "title"),
              a = Object(Zt.e)(e.args, "company"),
              i = Object(Zt.e)(e.args, "photo");
            return e.context.bShowShortSpeakerInfo
              ? r.createElement(Ke.c, {
                  name: t,
                  title: n,
                  company: a,
                  photo: i,
                  bio: e.children,
                })
              : r.createElement(Ke.a, {
                  name: t,
                  title: n,
                  company: a,
                  photo: i,
                  bio: e.children,
                });
          },
          autocloses: !1,
          skipInternalNewline: !0,
          allowWrapTextForCopying: !0,
        },
      ],
      [
        "itemdef",
        {
          Constructor: function (e) {
            const { event: t } = e.context,
              n = Number.parseInt(Object(Zt.e)(e.args, "appid")),
              a = Number.parseInt(Object(Zt.e)(e.args, "itemdefid")),
              i = Number.parseInt(Object(Zt.e)(e.args, "maxquantity")),
              s = Object(Zt.e)(e.args, "calltoaction");
            if (!Object(ln.a)(n, a))
              return r.createElement(ee.a, {
                size: "small",
                position: "center",
                string: Object($.f)("#Loading"),
              });
            return r.createElement(ao, {
              language: e.language,
              clanAccountID: t.clanSteamID.GetAccountID(),
              itemDefSetting: { nAppID: n, nItemDefID: a, max_quantity: i },
              strCallToAction: s,
            });
          },
          autocloses: !1,
          skipInternalNewline: !0,
          allowWrapTextForCopying: !0,
        },
      ],
      [
        "deckcompatcount",
        {
          Constructor: function (e) {
            const t = (function () {
              const [e, t] = i.a.useState(rn.Get().GetCounts());
              return (
                i.a.useEffect(() => {
                  e || rn.Get().LoadCounts().then(t);
                }, []),
                e
              );
            })();
            if (!t) return r.createElement(ee.a, { size: "small" });
            const n = Number.parseInt(Object(Zt.e)(e.args));
            let a = t.verified;
            switch (n) {
              case 2:
                a = t.playable;
                break;
              case 1:
                a = t.unsupported;
            }
            return r.createElement("span", null, Number(a).toLocaleString());
          },
          autocloses: !1,
        },
      ],
      [
        "deckcompatuserlibrarycount",
        {
          Constructor: function (e) {
            var t, n, a, s;
            const o = (function (e) {
              const t = e || "library",
                [n, a] = i.a.useState(sn.Get().GetUserCompatList(t));
              return (
                Object(u.e)(sn.Get().GetCallbackForList(t), a),
                i.a.useEffect(() => {
                  sn.Get().BHasListType(t) ||
                    sn
                      .Get()
                      .LoadCompatabilityAppList(t)
                      .then(() => a(sn.Get().GetUserCompatList(t)));
                }, [t]),
                n
              );
            })("library");
            if (!o) return r.createElement(ee.a, { size: "small" });
            const l = Number.parseInt(Object(Zt.e)(e.args));
            let c =
              (null === (t = o.verifiedList) || void 0 === t
                ? void 0
                : t.length) || 0;
            switch (l) {
              case 2:
                c =
                  (null === (n = o.playableList) || void 0 === n
                    ? void 0
                    : n.length) || 0;
                break;
              case 1:
                c =
                  (null === (a = o.unsupportedList) || void 0 === a
                    ? void 0
                    : a.length) || 0;
                break;
              case 0:
                c =
                  (null === (s = o.unknownList) || void 0 === s
                    ? void 0
                    : s.length) || 0;
            }
            return r.createElement("span", null, Number(c).toLocaleString());
          },
          autocloses: !1,
        },
      ],
      [
        "eventdoorvisibility",
        {
          Constructor: function (e) {
            const t = Number.parseInt(Object(Zt.e)(e.args)),
              n =
                "hide" in e.args &&
                Boolean(Number.parseInt(Object(Zt.e)(e.args, "hide")));
            if (t >= 0)
              return r.createElement(
                Ih,
                { nDoorIndex: t, bHide: n },
                e.children,
              );
            return null;
          },
          autocloses: !1,
        },
      ],
      [
        "chooseaccount",
        {
          Constructor: function (e) {
            if (o.j.logged_in) {
              const t = Number.parseInt(Object(Zt.e)(e.args)),
                n = Number.parseInt(Object(Zt.e)(e.args, "mod"));
              if (n > 0 && t < n && o.j.accountid % n == t) return e.children;
            }
            return null;
          },
          autocloses: !1,
        },
      ],
      [
        "badgecurrentlevel",
        {
          Constructor: function (e) {
            const t = Number.parseInt(Object(Zt.e)(e.args, "eventid"));
            return o.j.logged_in && t
              ? r.createElement(gp, { nEventBadgeID: t })
              : null;
          },
          autocloses: !1,
        },
      ],
      [
        "optindoorquest",
        {
          Constructor: function (e) {
            const t = Number.parseInt(Object(Zt.e)(e.args)) || 0;
            return t >= 0 && t < 32
              ? r.createElement(bp, { nDoorIndex: t }, e.children)
              : null;
          },
          autocloses: !1,
        },
      ],
      [
        "classname",
        {
          Constructor: function (e) {
            const t = Object(Zt.e)(e.args);
            return (null == t ? void 0 : t.trim().length) > 0
              ? r.createElement("div", { className: t.trim() }, e.children)
              : r.createElement(r.Fragment, null, e.children);
          },
          autocloses: !1,
        },
      ],
      [
        "localize",
        {
          Constructor: function (e) {
            return r.createElement(
              "span",
              { className: ss.LocalizeBlock },
              Object($.l)(
                e.children,
                r.createElement("i", null),
                r.createElement("i", null),
                r.createElement("i", null),
                r.createElement("i", null),
              ),
            );
          },
          autocloses: !1,
        },
      ],
      [
        "salesection",
        {
          Constructor: function (e) {
            var t, n;
            const a = Number.parseInt(Object(Zt.e)(e.args)),
              { event: i, showErrorInfo: s } = e.context;
            if (a) {
              const o =
                null ===
                  (n =
                    null === (t = null == i ? void 0 : i.jsondata) ||
                    void 0 === t
                      ? void 0
                      : t.sale_sections) || void 0 === n
                  ? void 0
                  : n.findIndex((e) => e.unique_id == a);
              if (o >= 0) {
                const t = i.GetDayIndexFromEventStart();
                return r.createElement(fp, {
                  event: i,
                  section: i.jsondata.sale_sections[o],
                  activeTab: new Xi(null, t),
                  language: e.language,
                  bIsPreview: s,
                  nSaleDayIndex: t,
                  promotionName: "",
                  appVisibilityTracker: null,
                });
              }
              if (s)
                return r.createElement(
                  "div",
                  { className: _p.ErrorDiv },
                  "Error could not find sale section ",
                  a,
                );
            }
            return null;
          },
          autocloses: !1,
        },
      ],
    ])),
      (dh.sm_InternalBBCodeURLComponent = null),
      Object(a.b)([u.b], dh.prototype, "ElementAccumulator", null);
    var Th = n("dYfW"),
      Rh = n.n(Th);
    const jh = Object(m.a)((e) => {
      const { eventModel: t } = e,
        n = r.useRef(null),
        [i, s] = Ee(o.j.steamid),
        [l, c] = r.useState(""),
        [d, u] = r.useState(!1),
        [m, p] = r.useState(""),
        [_, g] = r.useState(!1);
      r.useEffect(
        () => () =>
          n.current && n.current("ShareEventOnFriendsActivityFeed: unmounting"),
        [],
      );
      const b = s ? s.avatar_url : null,
        f = Object(kt.h)(t),
        v = de.a.InitFromAccountID(o.j.accountid),
        S = () =>
          Object(a.a)(void 0, void 0, void 0, function* () {
            var e, a;
            n.current &&
              n.current("ShareEventOnFriendsActivityFeed: cancel previous...");
            const r = F.a.CancelToken.source();
            (n.current = r.cancel), u(!0);
            let i = l;
            0 != i.trim().length && (i += "\n\n"), (i += f);
            const s =
              o.c.COMMUNITY_BASE_URL +
              "profiles/" +
              v.ConvertTo64BitString() +
              "/ajaxpostuserstatus";
            try {
              if (o.c.IN_LIBRARY) {
                let e = xt.b.Init(qt.e);
                e.Body().set_appid(t.appid), e.Body().set_status_text(i);
                let n = yield qt.g.PostStatusToFriends(
                  Vt.CMInterface.GetServiceTransport(),
                  e,
                );
                if (1 != n.GetEResult()) {
                  const e =
                    Object($.f)("#EventDisplay_Share_Failure") +
                    "\n\n" +
                    n.GetEResult();
                  return (
                    console.error(e, !r.token.reason),
                    void (r.token.reason || p(e))
                  );
                }
              } else {
                const n = new FormData();
                n.append("appid", "" + t.appid),
                  n.append("status_text", i),
                  n.append("sessionid", o.c.SESSIONID),
                  n.append("authwgtoken", o.j.authwgtoken);
                const l = yield F.a.post(s, n, { withCredentials: !0 });
                if (
                  200 != l.status ||
                  1 !=
                    (null === (e = null == l ? void 0 : l.data) || void 0 === e
                      ? void 0
                      : e.success)
                ) {
                  const e =
                    Object($.f)("#EventDisplay_Share_Failure") +
                    "\n\n" +
                    (null === (a = null == l ? void 0 : l.data) || void 0 === a
                      ? void 0
                      : a.message);
                  return console.error(e), void (r.token.reason || p(e));
                }
              }
              r.token.reason ||
                (g(!0), p(Object($.f)("#EventDisplay_Share_Success")));
            } catch (e) {
              const t = Object(me.a)(e),
                n =
                  Object($.f)("#EventDisplay_Share_Failure") +
                  "\n\n" +
                  t.strErrorMsg;
              r.token.reason || p(n), console.error(n);
            }
          });
      return d
        ? r.createElement(
            xe.e,
            {
              strDescription: "",
              strTitle: Object($.f)("#Button_Share"),
              onCancel: e.closeModal,
              onOK: e.closeModal,
              bAlertDialog: !0,
            },
            r.createElement(
              "div",
              { className: Fe.a.FlexColumnContainer },
              r.createElement(
                "div",
                null,
                Object($.f)("#EventDisplay_Share_OnMyStatus_Details"),
              ),
              r.createElement(
                "div",
                { className: Rh.a.Container },
                0 == (null == m ? void 0 : m.length)
                  ? r.createElement(ee.a, { position: "center" })
                  : r.createElement("div", null, m),
                Boolean(_) &&
                  r.createElement(
                    "a",
                    {
                      href:
                        o.c.COMMUNITY_BASE_URL +
                        "profiles/" +
                        v.ConvertTo64BitString() +
                        "/home",
                      target: o.c.IN_CLIENT ? void 0 : "_blank",
                    },
                    Object($.f)("#EventDisplay_Share_OpenActivityFeed"),
                  ),
              ),
            ),
          )
        : r.createElement(
            xe.e,
            {
              strDescription: "",
              strTitle: Object($.f)("#Button_Share"),
              onCancel: e.closeModal,
              onOK: S,
              strOKButtonText: Object($.f)("#Button_Post"),
            },
            r.createElement(
              "div",
              { className: Fe.a.FlexColumnContainer },
              r.createElement(
                "div",
                null,
                Object($.f)("#EventDisplay_Share_OnMyStatus_Details"),
              ),
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    Rh.a.Container,
                    Fe.a.FlexColumnContainer,
                  ),
                },
                r.createElement(
                  "div",
                  null,
                  r.createElement("img", {
                    className: Rh.a.SmallAvatar,
                    src: b,
                    "data-miniprofile": "s" + o.j.steamid,
                  }),
                  r.createElement(
                    "div",
                    { className: Object(h.a)(Fe.a.FlexColumnContainer) },
                    r.createElement(ut, {
                      strPlaceholder: Object($.f)(
                        "#EventDisplay_Share_OnMyStatus_Placeholder",
                      ),
                      fnGetCurText: () => l,
                      fnOnTextChange: (e) => c(e.currentTarget.value),
                      fnSetText: c,
                      emoticonStore: e.emoticonStore,
                      bSupportHTMLImport: !1,
                      showFormatHelp: "UserStatusPublished",
                      limitBBCode: he.g,
                      classNameForTextArea: Rh.a.ShareDescription,
                      bEmbeddedInDialog: !0,
                    }),
                  ),
                ),
                r.createElement(
                  "div",
                  null,
                  r.createElement(dh, {
                    text: f,
                    partnerEventStore: e.partnerEventStore,
                  }),
                ),
              ),
            ),
          );
    });
    var Ah = n("1dSB"),
      kh = n.n(Ah),
      Mh = n("9OSe"),
      Ph = n.n(Mh),
      Lh = n("NKYw"),
      Gh = n.n(Lh),
      Nh = n("LQ/m");
    class Fh {
      constructor() {
        (this.m_mapClanReposted = new Set()),
          (this.m_mapSourceEventGIDToPostedClans = new Map());
      }
      static Get() {
        return (
          Fh.s_EventRepost ||
            ((Fh.s_EventRepost = new Fh()), Fh.s_EventRepost.Initialize()),
          Fh.s_EventRepost
        );
      }
      static ValidateRepostData(e) {
        const t = e;
        return (
          !!(
            t &&
            t.repost_clan_account_ids &&
            Array.isArray(t.repost_clan_account_ids) &&
            t.repost_clan_account_ids.length > 0
          ) && "number" == typeof t.repost_clan_account_ids[0]
        );
      }
      Initialize() {
        if (document.getElementById("application_config")) {
          let e = Object(o.g)("repostcontrols", "application_config");
          Fh.ValidateRepostData(e) &&
            e.repost_clan_account_ids.forEach((e) =>
              this.m_mapClanReposted.add(e),
            );
        }
      }
      BCanRepostPartnerEvent() {
        return this.m_mapClanReposted.size > 0;
      }
      GetRepostClanAccountID() {
        return Array.from(this.m_mapClanReposted);
      }
      LoadClansAlreadyRepostedTo(e, t, n) {
        var r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_mapSourceEventGIDToPostedClans.has(t))
            return this.m_mapSourceEventGIDToPostedClans.get(t);
          const a = o.c.STORE_BASE_URL + "events/ajaxgetrepostedevent",
            l = {
              sessionid: o.c.SESSIONID,
              source_clan_accountid: e.GetAccountID(),
              source_event_gid: t,
            };
          try {
            const e = yield F.a.get(a, {
              params: l,
              withCredentials: !0,
              cancelToken: null == n ? void 0 : n.token,
            });
            if (
              1 ==
              (null === (r = null == e ? void 0 : e.data) || void 0 === r
                ? void 0
                : r.success)
            )
              return (
                this.m_mapSourceEventGIDToPostedClans.set(
                  t,
                  e.data.repost_clan_accountid || [],
                ),
                e.data.repost_clan_accountid
              );
            console.error(
              "GetRepostClanAccountID: failed " +
                (null === (i = null == e ? void 0 : e.data) || void 0 === i
                  ? void 0
                  : i.success) +
                " and msg: " +
                (null === (s = null == e ? void 0 : e.data) || void 0 === s
                  ? void 0
                  : s.msg),
            );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "GetRepostClanAccountID: fail repost with " + t.strErrorMsg,
              t,
            );
          }
          return new Array();
        });
      }
      RepostEvent(e, t, n, r, i) {
        var s, l, c;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = o.c.STORE_BASE_URL + "events/ajaxrepostevent",
            d = new FormData();
          d.append("sessionid", o.c.SESSIONID),
            d.append("source_clan_accountid", "" + e.GetAccountID()),
            d.append("source_event_gid", "" + t),
            d.append("repost_clan_accountid", "" + n.GetAccountID()),
            d.append("add", "" + r);
          try {
            let e = yield F.a.post(a, d, {
              withCredentials: !0,
              cancelToken: null == i ? void 0 : i.token,
            });
            if (
              1 ==
                (null === (s = null == e ? void 0 : e.data) || void 0 === s
                  ? void 0
                  : s.success) &&
              e.data.repost_gid
            ) {
              this.m_mapSourceEventGIDToPostedClans.has(t) ||
                this.m_mapSourceEventGIDToPostedClans.set(t, []);
              const a = this.m_mapSourceEventGIDToPostedClans
                .get(t)
                .findIndex((e) => n.GetAccountID() == e);
              return (
                r && -1 == a
                  ? this.m_mapSourceEventGIDToPostedClans
                      .get(t)
                      .push(n.GetAccountID())
                  : r ||
                    -1 === a ||
                    this.m_mapSourceEventGIDToPostedClans.get(t).splice(a, 1),
                e.data.repost_gid
              );
            }
            console.error(
              "RepostEvent: failed " +
                (null === (l = null == e ? void 0 : e.data) || void 0 === l
                  ? void 0
                  : l.success) +
                " and msg: " +
                (null === (c = null == e ? void 0 : e.data) || void 0 === c
                  ? void 0
                  : c.msg),
            );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error("RepostEvent: fail repost with " + t.strErrorMsg, t);
          }
          return null;
        });
      }
    }
    Object(a.b)([L.C], Fh.prototype, "m_mapClanReposted", void 0);
    const xh = Object(m.a)((e) => {
      const { eventModel: t } = e,
        [n, s] = Object(r.useState)(!0),
        [o, l] = Object(r.useState)(new Set()),
        [c, d] = Object(r.useState)(new Set()),
        [u, m] = Object(r.useState)(new Set()),
        [p, h] = Object(r.useState)(null),
        [_, g] = Object(r.useState)(null),
        b = Object(r.useRef)(null);
      Object(r.useEffect)(() => {
        if (n) {
          (() =>
            Object(a.a)(void 0, void 0, void 0, function* () {
              const e = F.a.CancelToken.source();
              b.current = e.cancel;
              const n = Fh.Get().LoadClansAlreadyRepostedTo(
                t.clanSteamID,
                t.GID,
                e,
              );
              n.then((e) => {
                const t = new Set();
                e.forEach((e) => t.add(e)), l(t);
              });
              let a = new Array();
              a.push(n),
                Fh.Get()
                  .GetRepostClanAccountID()
                  .forEach((e) => {
                    const t = de.a.InitFromClanID(e);
                    a.push(wt.a.LoadClanInfoForClanSteamID(t));
                  }),
                yield Promise.all(a),
                s(!1);
            }))();
        }
        return () => b.current && b.current();
      }, [n, t.GID, t.clanSteamID]);
      const f = new Array();
      return (
        Fh.Get()
          .GetRepostClanAccountID()
          .forEach((e) => {
            const n = wt.a.GetClanInfoByClanAccountID(e);
            if (n && e != t.clanSteamID.GetAccountID()) {
              const t = o.has(e),
                a = c.has(e) || (t && !u.has(e));
              f.push(
                i.a.createElement(te.f, {
                  key: "checkbox" + e,
                  label: t
                    ? Object($.f)("#EventRepost_Dialog_Existing", n.group_name)
                    : n.group_name,
                  checked: a,
                  disabled: null !== p,
                  onChange: (t) => {
                    o.has(e)
                      ? (t ? u.delete(e) : u.add(e), m(new Set(u)))
                      : (t ? c.add(e) : c.delete(e), d(new Set(c)));
                  },
                }),
              );
            }
          }),
        i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            xe.i,
            { onEscKeypress: () => e.closeModal && e.closeModal() },
            i.a.createElement(
              te.g,
              null,
              i.a.createElement(
                te.y,
                null,
                Object($.f)("#EventRepost_Dialog_Title"),
              ),
              i.a.createElement(
                te.c,
                null,
                i.a.createElement(
                  te.d,
                  null,
                  Object($.f)("#EventRepost_Dialog_Desc"),
                ),
                n
                  ? i.a.createElement(ee.a, { string: Object($.f)("#Loading") })
                  : i.a.createElement("div", null, f),
                Boolean(c.size || u.size) &&
                  i.a.createElement(
                    "div",
                    null,
                    i.a.createElement(
                      "span",
                      null,
                      Object($.f)("#EventRepost_Dialog_Action_Desc"),
                    ),
                    i.a.createElement(
                      "ul",
                      null,
                      Boolean(c.size) &&
                        i.a.createElement(
                          "li",
                          null,
                          Object($.f)("#EventRepost_Dialog_Action_Add", c.size),
                        ),
                      Boolean(u.size) &&
                        i.a.createElement(
                          "li",
                          null,
                          Object($.f)(
                            "#EventRepost_Dialog_Action_Remove",
                            u.size,
                          ),
                        ),
                    ),
                  ),
                Boolean(p) && i.a.createElement("div", null, p),
                Boolean(_) && i.a.createElement("div", null, _),
              ),
              i.a.createElement(
                te.p,
                null,
                i.a.createElement(te.D, {
                  onCancel: () => e.closeModal && e.closeModal(),
                  strOKText: Object($.f)("#EventRepost_Dialog_OK"),
                  bOKDisabled:
                    (0 == c.size && 0 == u.size) || null !== p || null !== _,
                  onOK: () =>
                    Object(a.a)(void 0, void 0, void 0, function* () {
                      b.current && b.current();
                      const e = F.a.CancelToken.source();
                      b.current = e.cancel;
                      const n = c.size + u.size;
                      let a = 1;
                      h(Object($.f)("#EventRepost_Dialog_Progress", a, n));
                      for (const r of Array.from(c)) {
                        const i = de.a.InitFromClanID(r);
                        if (
                          !(yield Fh.Get().RepostEvent(
                            t.clanSteamID,
                            t.GID,
                            i,
                            !0,
                            e,
                          ))
                        )
                          return void g(
                            Object($.f)("#EventRepost_Dialog_ResultFail"),
                          );
                        h(Object($.f)("#EventRepost_Dialog_Progress", ++a, n));
                      }
                      for (const r of Array.from(u)) {
                        const i = de.a.InitFromClanID(r);
                        if (
                          !(yield Fh.Get().RepostEvent(
                            t.clanSteamID,
                            t.GID,
                            i,
                            !1,
                            e,
                          ))
                        )
                          return void g(
                            Object($.f)("#EventRepost_Dialog_ResultFail"),
                          );
                        h(Object($.f)("#EventRepost_Dialog_Progress", ++a, n));
                      }
                      g(Object($.f)("#EventRepost_Dialog_ResultSuccess"));
                    }),
                }),
              ),
            ),
          ),
        )
      );
    });
    var zh;
    function Uh(e, t) {
      if (!t.BIsUserLoggedIn())
        return (
          o.c.IN_CLIENT
            ? console.log(
                "EventDiscussionWidget: In Client: Cannot use login widget. We expect to be already logged in.",
              )
            : Object(ze.d)(
                r.createElement(xe.e, {
                  strTitle: Object($.f)("#EventDisplay_Share_NotLoggedIn"),
                  strDescription: Object($.f)(
                    "#EventDisplay_Share_NotLoggedIn_Description",
                  ),
                  strOKButtonText: Object($.f)("#MobileLogin_SignIn"),
                  onOK: () => Object(Nr.a)(),
                }),
                window,
              ),
          !1
        );
      return (
        !t.GetPartnerEventPermissions(e.clanSteamID).limited_user ||
        (Object(ze.d)(r.createElement(Nh.a, null), window), !1)
      );
    }
    let Wh = (zh = class extends r.Component {
      constructor(e) {
        super(e), (this.m_cancelSignal = F.a.CancelToken.source());
        const t = Ot.a.Get().BHasMyVote(e.eventModel);
        let n;
        t &&
          (n = zh.ConvertMyVoteRaw(
            Ot.a.Get().GetPreviouslyLoadedVote(e.eventModel),
          )),
          (this.state = { bLoadedVote: !!t, myVote: n });
      }
      HandleRefreshMyVotingInformation() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const { eventModel: e, partnerEventStore: t } = this.props;
          Ot.a.Get().BIsUserLoggedIn() &&
            (Ot.a
              .Get()
              .LoadMyVote(e, this.m_cancelSignal)
              .then((e) => {
                let t = zh.ConvertMyVoteRaw(e);
                this.setState({ myVote: t, bLoadedVote: !0 });
              })
              .catch((e) => {
                let t = Object(me.a)(e);
                console.error("EventDiscussionWidget = " + t.strErrorMsg);
              }),
            wt.a.LoadClanInfoForClanSteamID(e.clanSteamID).catch((e) => {
              let t = Object(me.a)(e);
              console.error("EventDiscussionWidget = " + t.strErrorMsg);
            }));
        });
      }
      componentDidMount() {
        this.state.bLoadedVote || this.HandleRefreshMyVotingInformation();
      }
      componentDidUpdate(e) {
        this.props.eventModel.GID != e.eventModel.GID &&
          this.HandleRefreshMyVotingInformation();
      }
      static ConvertMyVoteRaw(e) {
        let t;
        return !0 === e ? (t = "up") : !1 === e && (t = "down"), t;
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("EventDiscussionWidget is being unmounted");
      }
      OnVoteUp() {
        this.Vote("up");
      }
      OnVoteDown() {
        this.Vote("down");
      }
      Vote(e) {
        const { eventModel: t } = this.props;
        Uh(t, Ot.a.Get()) &&
          this.state.myVote != e &&
          null != e &&
          this.state.bLoadedVote &&
          this.setState(
            { bVotingUp: "up" == e, bVotingDown: "down" == e },
            () => {
              Ot.a
                .Get()
                .Vote(t, "up" === e, this.m_cancelSignal)
                .catch((t) => {
                  let n = Object(me.a)(t);
                  console.error(
                    "EventDiscussionWidget.OnVote" + e + " " + n.strErrorMsg,
                    n,
                  ),
                    this.setState({ bVotingDown: !1, bVotingUp: !1 });
                }),
                this.setState({ myVote: e, bVotingDown: !1, bVotingUp: !1 });
            },
          );
      }
      OnShareDialog(e) {
        Object(ze.d)(
          r.createElement(Vh, {
            eventModel: this.props.eventModel,
            emoticonStore: this.props.emoticonStore,
            partnerEventStore: this.props.partnerEventStore,
          }),
          Object(v.o)(e),
          { strTitle: Object($.f)("#Button_Share") },
        );
      }
      GotoDiscussion(e) {
        Object(ze.d)(
          r.createElement(xe.g, {
            strDescription: Object($.f)(
              "#EventDisplay_Share_CommentMigrationInProcess",
            ),
          }),
          Object(v.o)(e),
        );
      }
      OpenRepostDialogs(e) {
        Object(ze.d)(
          r.createElement(xh, { eventModel: this.props.eventModel }),
          Object(v.o)(e),
        );
      }
      render() {
        const { eventModel: e } = this.props,
          t = Object(Ps.a)(
            e.nVotesUp - e.nVotesDown,
            0,
            Number.MAX_SAFE_INTEGER,
          ),
          n = e.GetForumTopicURL(),
          a = o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina,
          i = o.j.logged_in && Fh.Get().BCanRepostPartnerEvent();
        return r.createElement(
          Ct.a,
          { className: Ft.a.Container, "flow-children": "row", focusable: !1 },
          r.createElement(
            "div",
            { className: Ft.a.InnerContainer },
            r.createElement(
              "div",
              { className: Ft.a.VoteContainer },
              r.createElement(
                "div",
                { className: Ft.a.VoteCount },
                r.createElement(H.ob, { className: Ft.a.VoteUpStaticIcon }),
                Object(Vn.a)(t),
              ),
              r.createElement(
                Ct.a,
                {
                  focusable: !0,
                  className: Object(h.a)(
                    Fe.a.Button,
                    Fe.a.Icon,
                    Ft.a.DiscussionButton,
                    "up" == this.state.myVote ? Ft.a.VoteButtonSelected : "",
                  ),
                  onActivate: this.OnVoteUp,
                },
                r.createElement(H.ob, {
                  className:
                    "up" == this.state.myVote
                      ? Ft.a.VoteUpSelectedIcon
                      : Ft.a.VoteUpIcon,
                }),
                r.createElement(
                  "span",
                  { className: Ft.a.DiscussionButtonText },
                  Object($.f)("#Button_RateUp"),
                ),
              ),
              r.createElement(
                Ct.a,
                {
                  focusable: !0,
                  className: Object(h.a)(
                    Fe.a.Button,
                    Fe.a.Icon,
                    Ft.a.DiscussionButton,
                    "down" == this.state.myVote ? Ft.a.VoteButtonSelected : "",
                  ),
                  onActivate: this.OnVoteDown,
                },
                r.createElement(H.ob, {
                  className:
                    "down" == this.state.myVote
                      ? Ft.a.VoteDownSelectedIcon
                      : Ft.a.VoteDownIcon,
                }),
              ),
            ),
            !a &&
              r.createElement(Hh, {
                commentCount: e.nCommentCount,
                discussionURL: n,
                gotoDiscussion: this.GotoDiscussion,
              }),
            i &&
              r.createElement(
                "div",
                { className: Ft.a.VoteContainer },
                r.createElement(
                  Ct.a,
                  {
                    focusable: !0,
                    className: Object(h.a)(
                      Fe.a.Button,
                      Fe.a.Icon,
                      Ft.a.DiscussionButton,
                      "down" == this.state.myVote
                        ? Ft.a.VoteButtonSelected
                        : "",
                    ),
                    onActivate: this.OpenRepostDialogs,
                  },
                  Object($.f)("#EventRepost_Dialog_Title"),
                ),
              ),
          ),
          r.createElement(
            "div",
            { className: Ft.a.ShareContainer },
            !o.c.IN_GAMEPADUI &&
              r.createElement(
                Ct.a,
                {
                  focusable: !0,
                  className: Object(h.a)(
                    Fe.a.Button,
                    Fe.a.Icon,
                    Ft.a.DiscussionButton,
                  ),
                  onActivate: this.OnShareDialog,
                },
                r.createElement(H.cb, { className: Ft.a.ShareIcon }),
                r.createElement(
                  "span",
                  { className: Ft.a.DiscussionButtonText },
                  Object($.f)("#Button_Share"),
                ),
              ),
          ),
        );
      }
    });
    function Hh(e) {
      const { commentCount: t, discussionURL: n, gotoDiscussion: a } = e;
      return r.createElement(
        "div",
        { className: Ft.a.DiscussContainer },
        r.createElement(
          "div",
          { className: Ft.a.DiscussionCount },
          r.createElement(H.l, null),
          Object(Vn.a)(t),
        ),
        n &&
          r.createElement(
            xn.c,
            { href: Object(Rt.f)(n) },
            r.createElement(
              "div",
              {
                className: Object(h.a)(
                  Fe.a.Button,
                  Fe.a.Icon,
                  Ft.a.DiscussionButton,
                ),
              },
              r.createElement(H.l, null),
              r.createElement(
                "span",
                { className: Ft.a.DiscussionButtonText },
                Object($.f)("#Button_Discuss"),
              ),
            ),
          ),
        !n &&
          r.createElement(
            Ct.a,
            {
              focusable: !0,
              onActivate: a,
              className: Object(h.a)(
                Fe.a.Button,
                Fe.a.Icon,
                Ft.a.DiscussionButton,
              ),
            },
            r.createElement(H.l, null),
            r.createElement(
              "span",
              { className: Ft.a.DiscussionButtonText },
              Object($.f)("#Button_Discuss"),
            ),
          ),
      );
    }
    Object(a.b)([u.b], Wh.prototype, "OnVoteUp", null),
      Object(a.b)([u.b], Wh.prototype, "OnVoteDown", null),
      Object(a.b)([u.b], Wh.prototype, "OnShareDialog", null),
      Object(a.b)([u.b], Wh.prototype, "GotoDiscussion", null),
      Object(a.b)([u.b], Wh.prototype, "OpenRepostDialogs", null),
      (Wh = zh = Object(a.b)([m.a], Wh));
    class Vh extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { bShareOnSteamDialog: !1, bRequireLoginToShare: !1 });
      }
      ShareOnSteamActivityFeed() {
        Ot.a.Get().BIsUserLoggedIn()
          ? this.setState({ bShareOnSteamDialog: !0 })
          : o.c.IN_CLIENT
            ? console.log(
                "ShareEventOnSocialMediaDialog: In Client: Cannot use login widget. We expect to be already logged in.",
              )
            : this.setState({ bRequireLoginToShare: !0 });
      }
      render() {
        const {
          eventModel: e,
          closeModal: t,
          emoticonStore: n,
          partnerEventStore: a,
        } = this.props;
        return this.state.bRequireLoginToShare
          ? r.createElement(xe.e, {
              strTitle: Object($.f)("#EventDisplay_Share_NotLoggedIn"),
              strDescription: Object($.f)(
                "#EventDisplay_Share_NotLoggedIn_Description",
              ),
              strOKButtonText: Object($.f)("#MobileLogin_SignIn"),
              onCancel: this.props.closeModal,
              onOK: () => Object(Nr.a)(),
            })
          : this.state.bShareOnSteamDialog
            ? r.createElement(jh, {
                eventModel: e,
                emoticonStore: n,
                partnerEventStore: a,
                closeModal: t,
              })
            : r.createElement(
                xe.e,
                {
                  strDescription: "",
                  strTitle: Object($.f)("#Button_Share"),
                  onCancel: this.props.closeModal,
                  onOK: this.props.closeModal,
                  bAlertDialog: !0,
                  modalClassName: "EventDisplay_Share_Dialog",
                },
                r.createElement(qh, {
                  eventModel: e,
                  fnShareOnSteamActivityFeed: this.ShareOnSteamActivityFeed,
                }),
              );
      }
    }
    Object(a.b)([u.b], Vh.prototype, "ShareOnSteamActivityFeed", null);
    const qh = (e) => {
        const { eventModel: t } = e,
          n = o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina;
        return r.createElement(
          "div",
          {
            className: Object(h.a)(
              Fe.a.FlexColumnContainer,
              Ft.a.share_controls_ctn,
            ),
          },
          !n &&
            r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    Fe.a.FlexRowContainer,
                    Ft.a.ShareButtonContainer,
                  ),
                  style: { flexWrap: "wrap" },
                },
                r.createElement(
                  Qe.a,
                  {
                    toolTipContent: Object($.f)("#EventDisplay_Share_OnSteam"),
                  },
                  r.createElement(
                    "div",
                    {
                      onClick: e.fnShareOnSteamActivityFeed,
                      className: Object(h.a)(
                        Fe.a.Button,
                        Ft.a.ShareBtn,
                        Ft.a.ShareSteamBtn,
                      ),
                    },
                    r.createElement("img", {
                      className: Ft.a.SteamIcon,
                      src: Gh.a,
                    }),
                    r.createElement(
                      "span",
                      { style: { whiteSpace: "nowrap" } },
                      Object($.f)("#EventDisplay_Share_OnMyStatus"),
                    ),
                  ),
                ),
                r.createElement(
                  Qe.a,
                  {
                    toolTipContent: Object($.f)(
                      "#EventDisplay_Share_OnFaceBook",
                    ),
                  },
                  r.createElement(
                    E.c,
                    {
                      href: Object(kt.g)(t, kt.b.k_eFacebook),
                      className: Ft.a.ShareBtn,
                    },
                    r.createElement("img", {
                      className: Object(h.a)(Fe.a.Button),
                      src: Kn.a,
                    }),
                  ),
                ),
                r.createElement(
                  Qe.a,
                  {
                    toolTipContent: Object($.f)(
                      "#EventDisplay_Share_OnTwitter",
                    ),
                  },
                  r.createElement(
                    E.c,
                    {
                      href: Object(kt.g)(t, kt.b.k_eTwitter),
                      className: Ft.a.ShareBtn,
                    },
                    r.createElement("img", {
                      className: Object(h.a)(Fe.a.Button),
                      src: Jn.a,
                    }),
                  ),
                ),
                r.createElement(
                  Qe.a,
                  {
                    toolTipContent: Object($.f)("#EventDisplay_Share_OnReddit"),
                  },
                  r.createElement(
                    E.c,
                    {
                      href: Object(kt.g)(t, kt.b.k_eReddit),
                      className: Ft.a.ShareBtn,
                    },
                    r.createElement("img", {
                      className: Object(h.a)(Fe.a.Button),
                      src: kh.a,
                    }),
                  ),
                ),
              ),
              r.createElement("div", { className: Fe.a.Divider }),
            ),
          r.createElement(Kh, { eventModel: t }),
        );
      },
      Kh = (e) => {
        const t = r.createRef(),
          [n, a] = r.useState(!1),
          i = r.createRef();
        return r.createElement(
          "div",
          null,
          r.createElement(
            "div",
            {
              className: Object(h.a)(Fe.a.FlexRowContainer, Ft.a.linkField),
              onClick: (e) => {
                t.current &&
                  (t.current.select(), document.execCommand("copy"), a(!0));
              },
            },
            r.createElement(
              "span",
              { className: Ft.a.LinkInputLabel },
              Object($.f)(
                e.labelOverride ? e.labelOverride : "#EventDisplay_Share_Link",
              ),
            ),
            r.createElement("textarea", {
              className: Ft.a.LinkInput,
              ref: t,
              value: Object(kt.h)(e.eventModel),
              readOnly: !0,
            }),
            document.queryCommandSupported("copy") &&
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    Fe.a.Button,
                    Fe.a.Icon,
                    Ft.a.LinkButton,
                  ),
                  "data-tooltip-text": Object($.f)(
                    "#ToolTip_CopyLinkToClipboard",
                  ),
                  title: Object($.f)("#ToolTip_CopyLinkToClipboard"),
                },
                r.createElement("img", {
                  className: Ft.a.ClipboardIcon,
                  src: Ph.a,
                }),
              ),
          ),
          r.createElement(
            "div",
            { ref: i, className: Ft.a.ClipboardText },
            n ? Object($.f)("#EventDisplay_Share_CopiedToClipboard") : "",
          ),
        );
      };
    n("4xkm");
    var Qh = n("BZx3"),
      Yh = n.n(Qh);
    function Zh(e) {
      return o.j.logged_in
        ? !o.j.is_limited ||
            (Object(ze.d)(
              r.createElement(Nh.a, {
                strTokenOverride: e
                  ? "#SteamAward_Vote_LimitedAccount"
                  : "#SteamAward_Nominate_LimitedAccount",
              }),
              window,
            ),
            !1)
        : (Object(ze.d)(
            r.createElement(xe.e, {
              strTitle: Object($.f)("#EventDisplay_Share_NotLoggedIn"),
              strDescription: Object($.f)(
                "#EventDisplay_Share_NotLoggedIn_Description",
              ),
              strOKButtonText: Object($.f)("#MobileLogin_SignIn"),
              onOK: Nr.a,
            }),
            window,
          ),
          !1);
    }
    function Jh(e, t) {
      var n, r;
      return Object(a.a)(this, void 0, void 0, function* () {
        const a =
            o.c.STORE_BASE_URL + "steamawards/ajaxgetsteamawardeventdetails",
          i = { rgCategories: e };
        try {
          const e = yield F.a.get(a, {
            params: i,
            withCredentials: !1,
            cancelToken: t.token,
          });
          if (t.token.reason) return null;
          if (
            1 ==
              (null === (n = null == e ? void 0 : e.data) || void 0 === n
                ? void 0
                : n.success) &&
            (null === (r = null == e ? void 0 : e.data) || void 0 === r
              ? void 0
              : r.event_details)
          )
            return e.data.event_details;
        } catch (e) {
          const t = Object(me.a)(e);
          console.error(
            "Could not fetch award event details:" + t.strErrorMsg,
            t,
          );
        }
        return null;
      });
    }
    let Xh = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { eCategoryLoaded: null, nomineeAppID: null }),
          (this.m_strPreviousNomineeTitle = null),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.m_refCheckbox = r.createRef()),
          (this.m_nominationEventDetails = null);
      }
      componentDidMount() {
        this.FetchNominationState(),
          Jh(
            [this.props.event.GetSteamAwardCategory()],
            this.m_cancelSignal,
          ).then((e) => {
            this.m_nominationEventDetails = e;
          });
      }
      componentDidUpdate() {
        this.props.event.GetSteamAwardCategory() !=
          this.state.eCategoryLoaded &&
          ((this.m_strPreviousNomineeTitle = null),
          this.FetchNominationState());
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel(
          "EventDisplaySteamAwardNomination is being unmounted",
        );
      }
      FetchNominationState() {
        var e;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (0 == this.props.event.GetSteamAwardCategory())
            return void this.setState({
              eCategoryLoaded: 0,
              nomineeAppID: null,
            });
          const t = o.c.STORE_BASE_URL + "steamawards/ajaxgetusernominations",
            n = { sessionid: o.c.SESSIONID, authwgtoken: o.j.authwgtoken };
          if (o.j.logged_in)
            try {
              const a = yield F.a.get(t, {
                params: n,
                withCredentials: !0,
                cancelToken: this.m_cancelSignal.token,
              });
              if (this.m_cancelSignal.token.reason) return;
              1 ==
                (null === (e = null == a ? void 0 : a.data) || void 0 === e
                  ? void 0
                  : e.success) &&
                a.data.nominations &&
                this.ProcessNominations(a.data.nominations);
            } catch (e) {
              const t = Object(me.a)(e);
              console.error(
                "Could not fetch previous nominations:" + t.strErrorMsg,
                t,
              );
            }
          else this.ProcessNominations([]);
        });
      }
      ProcessNominations(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = this.props.event.GetSteamAwardCategory(),
            a = e[n],
            r = a && a.appid;
          if (
            (this.setState({ eCategoryLoaded: n, nomineeAppID: r }),
            r && r != this.props.event.appid)
          ) {
            if (
              (yield Dt.a.Get().QueueAppRequest(r, {}),
              this.m_cancelSignal.token.reason)
            )
              return;
            this.props.event.GetSteamAwardCategory() == n &&
              (this.m_strPreviousNomineeTitle =
                null === (t = Dt.a.Get().GetApp(r)) || void 0 === t
                  ? void 0
                  : t.GetName());
          }
        });
      }
      OnNominateClick(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = this.props.event.GetSteamAwardCategory();
          if (t != this.state.eCategoryLoaded) return;
          if (!Zh(!1)) return;
          const n = this.props.event.appid;
          this.state.nomineeAppID && this.state.nomineeAppID != n
            ? e && this.HandleConflict(() => this.SaveNomination(t, n, e))
            : this.SaveNomination(t, n, e);
        });
      }
      HandleConflict(e) {
        Object(ze.d)(
          r.createElement($h, {
            strLocTokenInfix: "Nomination",
            strNewGameTitle: this.props.event.GetGameTitle(this.props.lang),
            fnGetOldGameTitle: () => this.m_strPreviousNomineeTitle,
            fnOnConfirm: e,
            fnOnCancel: () =>
              this.m_refCheckbox.current &&
              this.m_refCheckbox.current.checked &&
              this.m_refCheckbox.current.Toggle(),
          }),
          window,
        );
      }
      SaveNomination(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            (this.setState({ eCategoryLoaded: e, nomineeAppID: n ? t : null }),
            this.props.previewMode)
          )
            return;
          const a = o.c.STORE_BASE_URL + "steamawards/ajaxnominategame",
            r = new URLSearchParams();
          r.append("sessionid", o.c.SESSIONID),
            r.append("authwgtoken", o.j.authwgtoken),
            r.append("categoryid", e.toString()),
            r.append("nominatedid", t.toString()),
            r.append("rescind", n ? "0" : "1"),
            r.append("source", "4");
          try {
            const e = yield F.a.post(a, r, {
              withCredentials: !0,
              cancelToken: this.m_cancelSignal.token,
            });
            if (this.m_cancelSignal.token.reason) return;
            (e && 200 == e.status && 1 == e.data.success) ||
              console.error("Nomination request failed.", e && Object(me.a)(e));
          } catch (e) {
            const t = Object(me.a)(e);
            console.error("SaveNomination failed: " + t.strErrorMsg, t);
          }
        });
      }
      render() {
        var e;
        if (
          !this.m_nominationEventDetails ||
          !(null ===
            (e = this.m_nominationEventDetails.rgAwardCategoryDetails) ||
          void 0 === e
            ? void 0
            : e.length)
        )
          return null;
        let t = Math.floor(Date.now() / 1e3);
        if (
          !this.props.previewMode &&
          !this.m_nominationEventDetails.bIsAutumnSaleActive
        )
          return r.createElement(
            "div",
            { className: Yh.a.ExpiredEventHeader },
            " ",
            Object($.f)("#SteamAwards_ExpiredEvent"),
            " ",
          );
        let n = {};
        this.m_nominationEventDetails.strBackgroundCSS.length &&
          (n.backgroundColor = this.m_nominationEventDetails.strBackgroundCSS),
          this.m_nominationEventDetails.strBackgroundImage.length &&
            (n.backgroundImage = `url( ${this.m_nominationEventDetails.strBackgroundImage} )`);
        const a = this.props.event.GetSteamAwardCategory(),
          i =
            a >= this.m_nominationEventDetails.eSteamAwardCategoryIDMin &&
            a < this.m_nominationEventDetails.eSteamAwardCategoryIDMax,
          s =
            this.state.eCategoryLoaded == a &&
            this.state.nomineeAppID == this.props.event.appid,
          l =
            this.props.event.BIsEventActionEnabled() ||
            t < this.props.event.GetStartTimeAndDateUnixSeconds(),
          c = i && (l || s),
          d = new Date().getFullYear();
        return r.createElement(
          "div",
          {
            style: n,
            className: Object(h.a)(
              Yh.a.SteamAwardContainer,
              Fe.a.PartnerEventFont,
            ),
          },
          r.createElement(
            "div",
            { className: Yh.a.SteamAwardHeader },
            r.createElement("img", {
              className: Yh.a.SteamAwardHeaderImage,
              src: `${this.m_nominationEventDetails.strTrophyImg}`,
            }),
            r.createElement(
              "div",
              { className: Yh.a.SteamAwardMainCtn },
              r.createElement(
                "div",
                { className: Yh.a.SteamAwardMainTitle },
                " ",
                Object($.f)("#SteamAwards_EventMainTitle"),
                " ",
              ),
              r.createElement(
                "div",
                { className: Yh.a.SteamAwardSubTitle },
                l
                  ? Object($.f)("#SteamAwards_EventCallToAction")
                  : Object($.f)("#SteamAwards_EventVotingDateTeaser", d),
                l &&
                  r.createElement(
                    "a",
                    {
                      href: o.c.STORE_BASE_URL + "steamawards/nominations/",
                      className: Yh.a.SteamAwardLearnMore,
                    },
                    "(",
                    Object($.f)("#EventDisplay_CallToAction_LearnMore"),
                    ")",
                  ),
              ),
              r.createElement(
                "div",
                { className: Yh.a.SteamAwardHeaderText },
                l
                  ? i
                    ? Object($.f)(
                        "#SteamAwards_EventNominateGamePrompt_Long",
                        this.props.event.GetGameTitle(this.props.lang),
                      )
                    : r.createElement(
                        "a",
                        {
                          className: jl.a.LinkText,
                          href: o.c.STORE_BASE_URL + "steamawards/nominations/",
                        },
                        Object($.f)(
                          "#SteamAwards_EventNominateGamePrompt_NoCategory",
                          this.props.event.GetGameTitle(this.props.lang),
                        ),
                      )
                  : Object($.f)("#SteamAwards_Event_NominationsClosed"),
              ),
            ),
          ),
          c &&
            r.createElement(
              "div",
              { className: Yh.a.SteamAwardVoteWidget },
              r.createElement(
                "div",
                { className: Yh.a.SteamAwardNominateButton },
                r.createElement(te.f, {
                  ref: this.m_refCheckbox,
                  className: Yh.a.SteamAwardVoteCheckBox,
                  checked: s,
                  onChange: this.OnNominateClick,
                  disabled: !l,
                  color: "#FFFFFF",
                  highlightColor: "white",
                  label: r.createElement(
                    r.Fragment,
                    null,
                    r.createElement(
                      "div",
                      { className: Yh.a.SteamAwardCategoryTitle },
                      this.m_nominationEventDetails.rgAwardCategoryDetails[0]
                        .strSuggestedCategoryTitle,
                    ),
                    r.createElement(
                      "span",
                      { className: Yh.a.SteamAwardCategoryDesc },
                      this.m_nominationEventDetails.rgAwardCategoryDetails[0]
                        .strSuggestedCategoryDesc,
                    ),
                  ),
                }),
              ),
              l && a != this.m_nominationEventDetails.eLaborOfLove
                ? r.createElement(
                    "div",
                    { className: Yh.a.SteamAwardLinkToNominationPage },
                    r.createElement(
                      "a",
                      { href: o.c.STORE_BASE_URL + "steamawards/nominations/" },
                      " ",
                      Object($.f)(
                        "#SteamAwards_EventNominationAlternativeLinkText",
                      ),
                      " ",
                    ),
                  )
                : null,
            ),
        );
      }
    };
    Object(a.b)([L.C], Xh.prototype, "m_strPreviousNomineeTitle", void 0),
      Object(a.b)([L.C], Xh.prototype, "m_nominationEventDetails", void 0),
      Object(a.b)([u.b], Xh.prototype, "OnNominateClick", null),
      Object(a.b)([u.b], Xh.prototype, "SaveNomination", null),
      (Xh = Object(a.b)([m.a], Xh));
    let $h = class extends r.Component {
      OnConfirm() {
        this.props.fnOnConfirm(), this.props.closeModal();
      }
      OnCancel() {
        this.props.fnOnCancel(),
          this.props.closeModal && this.props.closeModal();
      }
      render() {
        const e = r.createElement(
            "span",
            { className: Yh.a.SteamAwardModalGameTitle },
            this.props.strNewGameTitle,
          ),
          t = this.props.fnGetOldGameTitle(),
          n = t
            ? r.createElement(
                "span",
                { className: Yh.a.SteamAwardModalGameTitle },
                t,
              )
            : r.createElement(ee.a, {
                size: "small",
                position: "center",
                string: Object($.f)("#Loading"),
              });
        return r.createElement(xe.e, {
          bDestructiveWarning: !0,
          strTitle: Object($.f)(
            `#SteamAward_${this.props.strLocTokenInfix}ConflictWarning_Title`,
          ),
          strDescription: Object($.o)(
            `#SteamAward_${this.props.strLocTokenInfix}ConflictWarning_Explanation`,
            n,
            e,
          ),
          onOK: this.OnConfirm,
          onCancel: this.OnCancel,
        });
      }
    };
    Object(a.b)([u.b], $h.prototype, "OnConfirm", null),
      Object(a.b)([u.b], $h.prototype, "OnCancel", null),
      ($h = Object(a.b)([m.a], $h));
    let e_ = class extends r.Component {
      constructor() {
        super(...arguments),
          (this.state = { eCategoryLoaded: null, votedForAppID: null }),
          (this.m_strPreviousVotedForAppTitle = null),
          (this.m_cancelSignal = F.a.CancelToken.source());
      }
      componentDidMount() {
        this.FetchVoteState();
      }
      componentDidUpdate() {
        this.props.eVoteCategory != this.state.eCategoryLoaded &&
          this.FetchVoteState();
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel(
          "EventDisplaySteamAwardVote is being unmounted",
        );
      }
      FetchVoteState() {
        var e;
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = o.c.STORE_BASE_URL + "steamawards/ajaxgetuservotes",
            n = { sessionid: o.c.SESSIONID, authwgtoken: o.j.authwgtoken };
          if (o.j.logged_in)
            try {
              const a = yield F.a.get(t, {
                params: n,
                withCredentials: !0,
                cancelToken: this.m_cancelSignal.token,
              });
              if (this.m_cancelSignal.token.reason) return;
              1 ==
                (null === (e = null == a ? void 0 : a.data) || void 0 === e
                  ? void 0
                  : e.success) &&
                a.data.votes &&
                this.UpdateVoteState(a.data.votes);
            } catch (e) {
              const t = Object(me.a)(e);
              console.error(
                "Could not fetch previous votes:" + t.strErrorMsg,
                t,
              );
            }
          else this.UpdateVoteState([]);
        });
      }
      UpdateVoteState(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = this.props.eVoteCategory,
            a = e[n];
          if (
            (this.setState({ eCategoryLoaded: n, votedForAppID: a }),
            a && a != this.props.appID)
          ) {
            if (
              (yield Dt.a.Get().QueueAppRequest(a, {}),
              this.m_cancelSignal.token.reason)
            )
              return;
            this.props.eVoteCategory == n &&
              (this.m_strPreviousVotedForAppTitle =
                null === (t = Dt.a.Get().GetApp(a)) || void 0 === t
                  ? void 0
                  : t.GetName());
          }
        });
      }
      OnVoteClick() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = this.props.eVoteCategory;
          if (e != this.state.eCategoryLoaded) return;
          if (!Zh(!0)) return;
          const t = this.props.appID;
          this.state.votedForAppID && this.state.votedForAppID != t
            ? this.HandleConflict(() => this.SaveVote(e, t))
            : this.SaveVote(e, t);
        });
      }
      HandleConflict(e) {
        const t = Dt.a.Get().GetApp(this.props.appID);
        Object(ze.d)(
          r.createElement($h, {
            strLocTokenInfix: "Vote",
            strNewGameTitle: null == t ? void 0 : t.GetName(),
            fnGetOldGameTitle: () => this.m_strPreviousVotedForAppTitle,
            fnOnConfirm: e,
            fnOnCancel: () => {},
          }),
          window,
        );
      }
      SaveVote(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            (this.setState({ eCategoryLoaded: e, votedForAppID: t }),
            this.props.previewMode && 1 == o.c.EUNIVERSE)
          )
            return;
          const n = o.c.STORE_BASE_URL + "steamawards/ajaxvoteforgame",
            a = new URLSearchParams();
          a.append("sessionid", o.c.SESSIONID),
            a.append("authwgtoken", o.j.authwgtoken),
            a.append("categoryid", e.toString()),
            a.append("appid", t.toString());
          try {
            const e = yield F.a.post(n, a, {
              withCredentials: !0,
              cancelToken: this.m_cancelSignal.token,
            });
            if (this.m_cancelSignal.token.reason) return;
            (e && 200 == e.status && 1 == e.data.success) ||
              console.error("Vote request failed.", e && Object(me.a)(e));
          } catch (e) {
            const t = Object(me.a)(e);
            console.error("SaveVote failed: " + t.strErrorMsg, t);
          }
        });
      }
      render() {
        const e = this.props.eVoteCategory,
          t =
            this.state.eCategoryLoaded == e &&
            this.state.votedForAppID == this.props.appID;
        return this.props.bIsEventActionEnabled || this.props.previewMode || t
          ? r.createElement(
              "div",
              { className: Object(h.a)(Yh.a.SteamAwardVoteWidget) },
              r.createElement("div", { className: Yh.a.SteamAwardVotePrompt }),
              r.createElement(
                "div",
                { className: Yh.a.SteamAwardVoteButtonArea },
                r.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      Yh.a.SteamAwardCategoryTitle,
                      Yh.a.VotingTitle,
                    ),
                  },
                  this.props.strCategoryTitle,
                ),
                !this.props.bRenderFromStorePage &&
                  r.createElement(
                    "span",
                    { className: Yh.a.SteamAwardCategoryDesc },
                    this.props.strCategoryDesc,
                  ),
                t
                  ? r.createElement(
                      "div",
                      { className: Yh.a.SteamAwardVoteButtonSubmitted },
                      r.createElement(
                        "span",
                        { className: Yh.a.SteamAwardVoteButtonText },
                        Object($.f)("#SteamAward_VoteButton_VotedText"),
                      ),
                    )
                  : r.createElement(
                      "button",
                      {
                        className: Yh.a.SteamAwardVoteButton,
                        onClick: this.OnVoteClick,
                      },
                      r.createElement(
                        "span",
                        { className: Yh.a.SteamAwardVoteButtonText },
                        Object($.f)("#SteamAward_VoteButton_PromptText"),
                      ),
                    ),
              ),
            )
          : null;
      }
    };
    Object(a.b)([L.C], e_.prototype, "m_strPreviousVotedForAppTitle", void 0),
      Object(a.b)([u.b], e_.prototype, "OnVoteClick", null),
      Object(a.b)([u.b], e_.prototype, "SaveVote", null),
      (e_ = Object(a.b)([m.a], e_));
    r.Component;
    let t_ = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_cancelSignal = F.a.CancelToken.source()),
          (this.m_awardEventDetails = null),
          (this.state = { bAppInfoLoaded: !1 });
      }
      componentDidMount() {
        Dt.a
          .Get()
          .QueueAppRequest(this.props.appID, {})
          .then(() => {
            Dt.a.Get().BHasApp(this.props.appID) &&
              this.setState({ bAppInfoLoaded: !0 });
          }),
          Jh(this.props.voteCategories, this.m_cancelSignal).then((e) => {
            this.m_awardEventDetails = e;
          });
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel(
          "WinterSaleSteamAwardVoteWrapper is being unmounted",
        );
      }
      GetNominatedAwardCategories() {
        var e;
        let t = [];
        return (
          null === (e = this.m_awardEventDetails.rgAwardCategoryDetails) ||
            void 0 === e ||
            e.forEach((e) => {
              t.push(
                r.createElement(
                  e_,
                  Object.assign(
                    {
                      key: e.eSteamAwardCategoryID,
                      eVoteCategory: e.eSteamAwardCategoryID,
                      strCategoryDesc: e.strSuggestedCategoryDesc,
                      strCategoryTitle: e.strSuggestedCategoryTitle,
                    },
                    this.props,
                  ),
                ),
              );
            }),
          t
        );
      }
      render() {
        var e;
        if (!this.state.bAppInfoLoaded || !this.props.voteCategories)
          return null;
        if (!this.m_awardEventDetails) return null;
        let t = {};
        return (
          this.m_awardEventDetails.strBackgroundCSS.length &&
            (t.backgroundColor = this.m_awardEventDetails.strBackgroundCSS),
          this.m_awardEventDetails.strBackgroundImage.length &&
            (t.backgroundImage = `url( ${this.m_awardEventDetails.strBackgroundImage} )`),
          r.createElement(
            "div",
            {
              style: t,
              className: Object(h.a)(
                Yh.a.SteamAwardContainer,
                Fe.a.PartnerEventFont,
              ),
            },
            r.createElement(
              "div",
              { className: Yh.a.SteamAwardHeader },
              r.createElement("img", {
                className: Yh.a.SteamAwardHeaderImage,
                src: this.m_awardEventDetails.strTrophyImg,
              }),
              r.createElement(
                "div",
                { className: Yh.a.SteamAwardMainCtn },
                r.createElement(
                  "div",
                  { className: Yh.a.SteamAwardMainTitle },
                  " ",
                  Object($.f)("#SteamAwards_EventMainTitleCombined"),
                  " ",
                ),
                r.createElement(
                  "div",
                  { className: Yh.a.SteamAwardHeaderText },
                  this.props.bIsEventActionEnabled
                    ? r.createElement(
                        r.Fragment,
                        null,
                        Object($.f)(
                          "#SteamAwards_EventVoteForGamePrompt",
                          null === (e = Dt.a.Get().GetApp(this.props.appID)) ||
                            void 0 === e
                            ? void 0
                            : e.GetName(),
                        ),
                        r.createElement(
                          "a",
                          {
                            href: o.c.STORE_BASE_URL + "steamawards/",
                            className: Object(h.a)(
                              Yh.a.SteamAwardLearnMore,
                              Yh.a.BottomRight,
                            ),
                          },
                          Object($.f)("#EventDisplay_CallToAction_LearnMore"),
                        ),
                      )
                    : r.createElement(
                        "a",
                        {
                          href: o.c.STORE_BASE_URL + "steamawards/",
                          className: Yh.a.LinkText,
                        },
                        Object($.f)("#SteamAwards_Event_VotesClosed"),
                      ),
                ),
                r.createElement(
                  "div",
                  { className: Yh.a.AwardCategoriesCtn },
                  this.GetNominatedAwardCategories(),
                ),
              ),
            ),
          )
        );
      }
    };
    function n_(e) {
      const { appid: t } = e,
        n = (function (e) {
          const [t, n] = Object(r.useState)(void 0),
            a = Boolean(o.c.EREALM === c.ESteamRealm.k_ESteamRealmChina);
          return (
            Object(r.useEffect)(() => {
              if (a || !e) n([]);
              else {
                const t = new au.a(o.c.WEBAPI_BASE_URL),
                  a = xt.b.Init(zn.b);
                a.Body().set_account_type(3),
                  a.Body().set_account_id("" + e),
                  a.Body().set_return_access_token(!1),
                  zn.a
                    .GetLinkedAccountInfo(t.GetServiceTransport(), a)
                    .then((e) => {
                      var t;
                      return n(
                        (null === (t = e.Body().external_accounts()) ||
                        void 0 === t
                          ? void 0
                          : t.map((e) => ({
                              external_type: e.external_type(),
                              external_id: e.external_id(),
                              external_user_name: e.external_user_name(),
                              external_url: e.external_url(),
                              external_follows: void 0,
                            }))) || [],
                      );
                    })
                    .catch(() => n([]));
              }
            }, [e, a, n]),
            t
          );
        })(t);
      return n && 0 != n.length && o.c.IMG_URL
        ? i.a.createElement(
            "div",
            { className: jl.a.AppSocialLinksCtn },
            i.a.createElement(
              "div",
              { className: Fe.a.EventEditorTextTitle },
              Object($.f)("#EventDisplay_SocialTitle"),
            ),
            i.a.createElement(
              "div",
              { className: jl.a.AppSocialLinks },
              n
                .filter((e) => 3 != e.external_type)
                .map((e) =>
                  i.a.createElement(a_, {
                    key: "app_social_link_" + t + "_" + e.external_type,
                    social: e,
                  }),
                ),
            ),
          )
        : null;
    }
    function a_(e) {
      const { social: t } = e,
        n =
          o.c.IMG_URL +
          "social/" +
          Object($.f)(
            "#SocialMedia_Type_ShortName_" + t.external_type,
          ).toLocaleLowerCase() +
          "_large.png";
      return i.a.createElement(
        "a",
        {
          href: (o.c.IN_CLIENT ? "steam://openurl/" : "") + t.external_url,
          "data-tooltip-text": t.external_user_name,
          target: o.c.IN_CLIENT ? void 0 : "_blank",
          rel: "noopener noreferrer",
        },
        i.a.createElement("img", { className: jl.a.AppSocialLink, src: n }),
      );
    }
    function r_(e) {
      const { event: t } = e,
        [n, a, r] = Object(zt.d)(() => [
          t.GetStartTimeAndDateUnixSeconds(),
          t.GetEndTimeAndDateUnixSeconds(),
          t.type,
        ]);
      return i.a.createElement(
        "div",
        { className: jl.a.EventDetailTimeInfo },
        i.a.createElement(Ra.d, {
          startDateAndTime: n,
          endDateAndTime: a,
          bHideEndTime: !Object(Wa.a)(r),
        }),
      );
    }
    Object(a.b)([L.C], t_.prototype, "m_awardEventDetails", void 0),
      (t_ = Object(a.b)([m.a], t_));
    var i_ = n("eo5u"),
      s_ = n.n(i_);
    function o_(e) {
      const { event: t } = e,
        n = Object(zt.d)(() => {
          var e;
          return (
            (null === (e = t.jsondata) || void 0 === e
              ? void 0
              : e.referenced_appids) || []
          );
        }),
        [a, i] = r.useState(!1);
      if (
        (r.useEffect(() => {
          Dt.a
            .Get()
            .QueueMultipleAppRequests(n, {})
            .then(() => i(!0));
        }, [n]),
        !n.length || !a)
      )
        return null;
      const s = n
          .map((e) => Dt.a.Get().GetApp(e))
          .filter(Boolean)
          .map((e) => `[url="${e.GetStorePageURL()}"]${e.GetName()}[/url]`)
          .join(Object($.f)("#EventDisplay_ReferencedApps_Joiner")),
        o = Object($.n)("#EventDisplay_ReferencedApps", n.length, s);
      return r.createElement(
        "div",
        { className: s_.a.ReferencedApps },
        r.createElement(dh, { text: o }),
      );
    }
    var l_ = n("nHhU");
    const c_ = r.lazy(() => n.e(1).then(n.bind(null, "ZUcM")));
    let d_ = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_loader = null),
          (this.m_refPage = r.createRef()),
          (this.m_refContent = r.createRef()),
          (this.m_refScroll = r.createRef()),
          (this.m_refScrollAnchor = r.createRef()),
          (this.m_scrollAnimation = null),
          (this.m_nPreviousRenderCount = 0),
          (this.m_nCurrentRenderCount = 0),
          !this.props.bShowOnlyInitialEvent &&
            this.props.initialEvent &&
            ((this.m_loader = new h_(this.props.partnerEventStore)),
            this.m_loader.InitAroundEvent(
              this.props.initialEvent,
              this.props.additionalParams,
            ));
      }
      FindCurrentlyViewedEventIndex() {
        if (!this.m_refContent.current || !this.m_refScroll.current) return -1;
        let e = this.m_refContent.current.children,
          t = this.GetScrollTopForComparison();
        for (let n = 0; n < e.length; n++) {
          let a = e[n],
            r = a.offsetTop,
            i = r + a.clientHeight;
          if (r <= t && i > t) return n;
        }
        return -1;
      }
      GetPaddingTop() {
        return this.props.showAppHeader ? 136 : 56;
      }
      GetScrollTopForComparison() {
        return Math.ceil(
          this.m_refScroll.current.scrollTop + this.GetPaddingTop() + 24,
        );
      }
      ScrollToEvent(e) {
        let t = this.m_refContent.current;
        if (!t) return;
        if (e < 0 || e >= t.children.length) return;
        if (this.m_scrollAnimation) return;
        let n = t.children[e].offsetTop - this.GetPaddingTop();
        this.ScrollToOffset(n);
      }
      ScrollToOffset(e) {
        let t = this.m_refScroll.current;
        if (!t) return;
        let n = {
          msDuration: 500,
          timing: "cubic-in-out",
          onComplete: this.OnScrollComplete,
        };
        (this.m_scrollAnimation = new Kd.c(t, { scrollTop: e }, n)),
          this.m_scrollAnimation.Start();
      }
      ScrollToBottom() {
        this.m_refScroll.current &&
          this.ScrollToOffset(this.m_refScroll.current.scrollHeight);
      }
      ScrollToNextEvent() {
        let e = this.m_loader.GetEvents(),
          t = this.FindCurrentlyViewedEventIndex() + 1;
        t >= e.length
          ? this.ScrollToBottom()
          : (this.ScrollToEvent(t),
            t == e.length - 1 && this.m_loader.LoadMoreAtEnd());
      }
      ScrollToPrevEvent() {
        let e = this.FindCurrentlyViewedEventIndex(),
          t = e - 1;
        if (t < 0) return void this.ScrollToOffset(0);
        let n = this.m_refContent.current;
        if (n) {
          let a = n.children[e],
            r = a.offsetTop,
            i = r + a.clientHeight,
            s = this.GetScrollTopForComparison();
          (s -= 0.3 * (i - r)), r <= s && (t = e);
        }
        this.ScrollToEvent(t);
      }
      OnScrollComplete() {
        this.m_scrollAnimation = null;
      }
      Close() {
        this.props.closeModal && this.props.closeModal();
      }
      OnBackgroundClick(e) {
        e.currentTarget == e.target && this.Close();
      }
      OnKeyDown(e) {
        27 == e.keyCode && this.Close();
      }
      OnScroll(e) {
        if (this.props.bShowOnlyInitialEvent) return;
        let t = this.m_refScroll.current;
        if (!t) return;
        let n = t.clientHeight;
        t.scrollHeight - (t.scrollTop + n) <= n &&
          this.m_loader.LoadMoreAtEnd(),
          t.scrollTop <= n && this.m_loader.LoadMoreAtBeginning();
      }
      getSnapshotBeforeUpdate(e) {
        let t = this.m_nCurrentRenderCount != this.m_nPreviousRenderCount;
        if (((this.m_nPreviousRenderCount = this.m_nCurrentRenderCount), !t))
          return null;
        let n = this.m_refScroll.current;
        if (!n || !this.m_refScrollAnchor.current) return null;
        let a = this.m_refScrollAnchor.current.GetDOM();
        return a ? a.offsetTop - n.scrollTop : null;
      }
      OnTouchStart(e) {
        1 == e.touches.length &&
          (this.m_nTouchStartClientY = e.touches[0].clientY);
      }
      OnTouchMove(e) {
        if (!this.m_refScroll.current || 0 == e.touches.length) return;
        const t = this.m_nTouchStartClientY - e.touches[0].clientY;
        this.SuppressUnwantedScrollEventsBecauseSafariIsDumb(e, t);
      }
      OnWheel(e) {
        this.SuppressUnwantedScrollEventsBecauseSafariIsDumb(e, e.deltaY);
      }
      SuppressUnwantedScrollEventsBecauseSafariIsDumb(e, t) {
        const n =
            e.target instanceof Node && v.e(this.m_refScroll.current, e.target),
          a = t < 0 && this.m_refScroll.current.scrollTop < 1,
          r =
            this.m_refScroll.current.scrollHeight -
              this.m_refScroll.current.scrollTop <=
            this.m_refScroll.current.clientHeight;
        (!n || a || (t > 0 && r)) && e.cancelable && e.preventDefault();
      }
      SetGlobalHeaderHidden(e) {
        const t = document.getElementsByClassName("responsive_header");
        Object(l.a)(t.length <= 1, "Must have at most one responsive_header"),
          t.length >= 1 && (t[0].style.display = e ? "none" : null);
      }
      SetFooterPinnedToBottom(e) {
        const t = document.getElementById("footer");
        t && (t.style.position = e ? "absolute" : null);
      }
      componentDidMount() {
        const e = this.m_refScroll.current;
        e && !v.e(e, e.ownerDocument.activeElement) && e.focus();
        const t = this.m_refPage.current;
        t &&
          (t.addEventListener("touchstart", this.OnTouchStart),
          t.addEventListener("touchmove", this.OnTouchMove, { passive: !1 }),
          t.addEventListener("wheel", this.OnWheel, { passive: !1 })),
          this.props.showAppHeader && this.SetGlobalHeaderHidden(!0),
          this.SetFooterPinnedToBottom(!0);
      }
      componentDidUpdate(e, t, n) {
        if (null !== n) {
          let e = this.m_refScroll.current;
          e && !v.e(e, e.ownerDocument.activeElement) && e.focus();
          let t = this.m_refScrollAnchor.current
            ? this.m_refScrollAnchor.current.GetDOM()
            : null;
          t && (e.scrollTop = t.offsetTop - n);
        }
      }
      componentWillUnmount() {
        const e = this.m_refPage.current;
        e &&
          (e.removeEventListener("touchstart", this.OnTouchStart),
          e.removeEventListener("touchmove", this.OnTouchMove),
          e.removeEventListener("wheel", this.OnWheel)),
          this.props.showAppHeader && this.SetGlobalHeaderHidden(!1),
          this.SetFooterPinnedToBottom(!1);
      }
      render() {
        var e, t;
        const { initialEvent: n, bShowOnlyInitialEvent: a } = this.props,
          i = !n,
          s = i ? [] : a ? [n] : this.m_loader.GetEvents(),
          o = [];
        let l = this.props.appid,
          c =
            null === (e = this.props.clanSteamID) || void 0 === e
              ? void 0
              : e.GetAccountID();
        for (const e of s) {
          const t = e.GID == this.props.initialEvent.GID,
            n = t;
          o.push(
            r.createElement(m_, {
              ref: t ? this.m_refScrollAnchor : null,
              key: e.GID,
              event: e,
              emoticonStore: this.props.emoticonStore,
              partnerEventStore: this.props.partnerEventStore,
              disableReadTracking: t,
              fnFilterImageURLsForKnownFailures:
                this.props.fnFilterImageURLsForKnownFailures,
              fnImageFailureCallback: this.props.fnImageFailureCallback,
              bDisableBroadcastPlayer: !n,
              className: this.props.eventClassName,
            }),
          ),
            null == l && (l = e.appid),
            null == c && (c = e.clanSteamID.GetAccountID());
        }
        this.m_nCurrentRenderCount = o.length;
        let d = "";
        if (this.props.onAppIconClick)
          if (l) {
            const e = Dt.a.Get().GetApp(l);
            d =
              (null === (t = null == e ? void 0 : e.GetAssets()) || void 0 === t
                ? void 0
                : t.GetCommunityIconURL()) || "";
          } else if (c) {
            const e = wt.a.GetClanInfoByClanAccountID(c);
            d = e ? e.avatar_full_url : "";
          }
        return r.createElement(
          Ct.a,
          {
            onCancelButton: this.props.closeModal,
            className: At.a.AppPartnerEventsPage,
            ref: this.m_refPage,
          },
          this.props.showAppHeader &&
            r.createElement(__, { appId: l, clanId: c }),
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                At.a.AppPartnerEventsBody,
                At.a.EndlessScroll,
              ),
              ref: this.m_refScroll,
              onScroll: this.OnScroll,
              onClick: this.OnBackgroundClick,
              tabIndex: -1,
              onKeyDown: this.OnKeyDown,
            },
            i
              ? r.createElement(
                  "div",
                  { className: At.a.NoEvents },
                  Object($.f)("#EventDisplay_NoEventsToSee"),
                )
              : r.createElement(
                  r.Fragment,
                  null,
                  r.createElement(
                    "div",
                    {
                      className: Object(h.a)(
                        At.a.ControlSection,
                        !this.props.onAppIconClick && At.a.NoGameLink,
                        a && At.a.NoScrollArrows,
                      ),
                    },
                    r.createElement(
                      "div",
                      { className: At.a.ControlSectionWidth },
                      r.createElement(
                        "div",
                        { className: At.a.ControlSectionRightSide },
                        Boolean(this.props.closeModal) &&
                          r.createElement(
                            "div",
                            {
                              className: Object(h.a)(
                                At.a.CloseButton,
                                At.a.AnimIn,
                              ),
                              onClick: this.Close,
                            },
                            r.createElement(H.Ab, null),
                          ),
                        !a &&
                          r.createElement(
                            "div",
                            {
                              className: Object(h.a)(
                                At.a.ScrollButton,
                                At.a.Up,
                                At.a.AnimIn,
                              ),
                              onClick: this.ScrollToPrevEvent,
                            },
                            r.createElement(H.D, { angle: 0 }),
                          ),
                        !a &&
                          r.createElement(
                            "div",
                            {
                              className: Object(h.a)(
                                At.a.ScrollButton,
                                At.a.Down,
                                At.a.AnimIn,
                              ),
                              onClick: this.ScrollToNextEvent,
                            },
                            r.createElement(H.D, { angle: 180 }),
                          ),
                        this.props.onAppIconClick &&
                          r.createElement(
                            "div",
                            {
                              className: Object(h.a)(
                                At.a.ScrollButton,
                                At.a.GameArt,
                                At.a.AnimIn,
                              ),
                              onClick: this.props.onAppIconClick,
                            },
                            r.createElement("img", { src: d }),
                          ),
                      ),
                    ),
                  ),
                  !a &&
                    r.createElement(u_, {
                      loader: this.m_loader,
                      location: "top",
                    }),
                  r.createElement(
                    "div",
                    {
                      ref: this.m_refContent,
                      className: Object(h.a)(
                        At.a.AppPartnerEventsContainer,
                        !this.props.onAppIconClick && At.a.NoGameLink,
                      ),
                    },
                    o,
                  ),
                  !a &&
                    r.createElement(u_, {
                      loader: this.m_loader,
                      location: "bottom",
                    }),
                  Boolean(a) &&
                    r.createElement(
                      kt.c,
                      { eventModel: n, route: kt.a.k_eStoreNewsHub },
                      Object($.f)("#EventBrowse_MoreEventsBtn"),
                    ),
                ),
          ),
        );
      }
    };
    Object(a.b)([u.b], d_.prototype, "ScrollToNextEvent", null),
      Object(a.b)([u.b], d_.prototype, "ScrollToPrevEvent", null),
      Object(a.b)([u.b], d_.prototype, "OnScrollComplete", null),
      Object(a.b)([u.b], d_.prototype, "Close", null),
      Object(a.b)([u.b], d_.prototype, "OnBackgroundClick", null),
      Object(a.b)([u.b], d_.prototype, "OnKeyDown", null),
      Object(a.b)([u.b], d_.prototype, "OnScroll", null),
      Object(a.b)([u.b], d_.prototype, "OnTouchStart", null),
      Object(a.b)([u.b], d_.prototype, "OnTouchMove", null),
      Object(a.b)([u.b], d_.prototype, "OnWheel", null),
      (d_ = Object(a.b)([m.a], d_));
    const u_ = Object(m.a)((e) => {
      let t = e.loader.GetNewerState(),
        n = e.loader.GetOlderState();
      return t == p_.Loading && n == p_.Loading
        ? null
        : ("top" == e.location ? t : n) == p_.Loading
          ? r.createElement(
              "div",
              { className: At.a.DirectionState },
              r.createElement(ee.a, {
                position: "center",
                string: Object($.f)("#Loading"),
              }),
            )
          : null;
    });
    let m_ = class extends r.Component {
      constructor(e) {
        super(e),
          (this.m_refContent = r.createRef()),
          (this.m_sendReadInfo = new g.b()),
          (this.m_bSentRead = !1),
          this.props.event.appid &&
            Dt.a
              .Get()
              .QueueAppRequest(this.props.event.appid, {
                include_assets: !0,
                include_screenshots: !0,
                include_release: !0,
              });
      }
      componentDidUpdate(e, t, n) {
        this.props.event.appid &&
          Dt.a
            .Get()
            .QueueAppRequest(this.props.event.appid, {
              include_assets: !0,
              include_screenshots: !0,
              include_release: !0,
            });
      }
      OnEnterVisible() {
        if (this.m_bSentRead || this.m_sendReadInfo.IsScheduled()) return;
        this.m_sendReadInfo.Schedule(750, () => {
          Ot.a.Get().RecordEventRead(this.props.event, 4),
            (this.m_bSentRead = !0);
        });
      }
      OnLeaveVisible() {
        this.m_sendReadInfo.Cancel();
      }
      GetDOM() {
        return this.m_refContent.current;
      }
      render() {
        const {
            event: e,
            langOverride: t,
            partnerEventStore: n,
            emoticonStore: a,
            className: i,
            additionalTypeAndDateElement: s,
            fnFilterImageURLsForKnownFailures: l,
            fnImageFailureCallback: c,
            headerClassnames: d,
            isPreview: u,
          } = this.props,
          m = t || Object(le.g)(o.c.LANGUAGE),
          _ = e.GetDescriptionWithFallback(m) || "",
          g = d;
        let b = e.GetImageForSizeAsArrayWithFallback(
          "background",
          m,
          be.c.background_main,
        );
        l && (b = l(b));
        const f = e.GetCategoryAsString(),
          v = e.type,
          S = e.BImageNeedScreenshotFallback("background", m);
        let y = "";
        if (e.appid) {
          const t = Dt.a.Get().GetApp(e.appid);
          y = (null == t ? void 0 : t.GetName()) || "";
        } else if (e.clanSteamID) {
          const t = wt.a.GetClanInfoByClanAccountID(
            e.clanSteamID.GetAccountID(),
          );
          y = t ? t.group_name : "";
        }
        const C = Bt.b.GetTimeNowWithOverride(),
          w = 28 !== v && C < e.GetStartTimeAndDateUnixSeconds() && !u;
        return r.createElement(
          l_.a,
          null,
          r.createElement(
            "div",
            {
              ref: this.m_refContent,
              className: Object(h.a)(
                i,
                At.a.PartnerEvent,
                jl.a.InLibraryView,
                "editor" == g ? jl.a.InEditor : "",
              ),
            },
            12 != v &&
              !S &&
              r.createElement(p, {
                className: Object(h.a)(jl.a.EventCoverImageBackground),
                rgSources: b,
                onIncrementalError: (e, t, n) => c && c(t),
              }),
            b.length > 0 &&
              r.createElement(p, {
                className: jl.a.EventBackgroundBlur,
                rgSources: b,
                onIncrementalError: (e, t, n) => c && c(t),
              }),
            r.createElement(
              "div",
              { className: jl.a.LibraryEventTitleContainer },
              r.createElement(
                "div",
                { className: jl.a.EventDetailTitleContainer },
                this.props.headerElement,
                r.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      At.a.EventTypeAndTimeRow,
                      w && At.a.WithReminder,
                    ),
                  },
                  r.createElement(
                    "div",
                    { className: At.a.TimeandPostedBy },
                    r.createElement("span", { className: At.a.EventType }, f),
                    r.createElement(
                      "span",
                      { className: At.a.PostedBy },
                      " ",
                      Object($.f)("#EventDisplay_PostedBy"),
                      y,
                      " ",
                    ),
                    r.createElement(r_, { event: e }),
                  ),
                  w &&
                    !u &&
                    r.createElement(
                      "div",
                      { className: At.a.ReminderContainer },
                      r.createElement(Ta.b, {
                        eventModel: e,
                        lang: m,
                        bExpandLeft: !0,
                      }),
                    ),
                  !u && s,
                ),
                !this.props.disableReadTracking &&
                  !u &&
                  r.createElement(Et.a, {
                    onEnter: this.OnEnterVisible,
                    onLeave: this.OnLeaveVisible,
                    bottomOffset: "300px",
                  }),
                o.c.IN_GAMEPADUI
                  ? r.createElement(
                      "div",
                      { className: jl.a.EventDetailTitle },
                      e.GetNameWithFallback(m),
                    )
                  : r.createElement(
                      kt.c,
                      {
                        eventModel: e,
                        route: kt.a.k_eView,
                        className: jl.a.EventDetailTitle,
                      },
                      e.GetNameWithFallback(m),
                    ),
                e.BHasSubTitle(m) &&
                  r.createElement(
                    "div",
                    {
                      className: Object(h.a)(
                        jl.a.EventDetailsSubTitle,
                        At.a.LibraryViewSubtitle,
                      ),
                    },
                    e.GetSubTitle(m),
                  ),
                r.createElement("div", { className: jl.a.EventDetailUserType }),
              ),
            ),
            Boolean(
              e.BEventCanShowBroadcastWidget() &&
                !this.props.bDisableBroadcastPlayer,
            ) &&
              r.createElement(
                "div",
                { className: jl.a.EventBroadcastCtn },
                r.createElement(
                  r.Suspense,
                  { fallback: r.createElement("div", null) },
                  r.createElement(c_, { event: this.props.event }),
                ),
              ),
            e.BHasTag("steam_award_nomination_request") &&
              r.createElement(Xh, { event: e, lang: m }),
            e.BHasTag("steam_award_vote_request") &&
              r.createElement(t_, {
                appID: e.appid,
                bIsEventActionEnabled: e.BIsEventActionEnabled(),
                voteCategories: e.GetSteamAwardNomineeCategories(),
              }),
            r.createElement(
              "div",
              { className: jl.a.LibraryEventBodyContainer },
              r.createElement(
                "div",
                {
                  className: Object(h.a)(
                    jl.a.EventDetailsBody,
                    At.a.EventDetailsBody,
                  ),
                  onContextMenu: o.c.IN_CLIENT ? qe.h : void 0,
                },
                r.createElement(dh, {
                  text: _,
                  partnerEventStore: n,
                  event: e,
                }),
                r.createElement("span", { className: Fe.a.Clear }),
              ),
              r.createElement(o_, { event: this.props.event }),
              Boolean(e.jsondata.read_more_link) &&
                r.createElement(
                  "div",
                  { className: Object(h.a)(At.a.ReadMoreCnt) },
                  r.createElement(
                    E.c,
                    {
                      className: Object(h.a)(Fe.a.Button),
                      href: e.jsondata.read_more_link,
                    },
                    Object($.f)("#EventEmail_Button_ClickForMoreDetails"),
                  ),
                ),
              Boolean(e.jsondata.bSaleEnabled && e.jsondata.sale_vanity_id) &&
                r.createElement(
                  "div",
                  { className: Object(h.a)(At.a.ReadMoreCnt) },
                  r.createElement(
                    E.c,
                    {
                      className: Object(h.a)(Fe.a.Button),
                      href: Object(Rt.f)(e.GetSaleURL()),
                    },
                    Object($.f)("#Event_Button_VisitSalePage"),
                  ),
                ),
              r.createElement(n_, { appid: e.appid }),
            ),
            !Boolean(u) &&
              r.createElement(Wh, {
                eventModel: e,
                partnerEventStore: n,
                emoticonStore: a,
              }),
          ),
        );
      }
    };
    var p_;
    Object(a.b)([u.b], m_.prototype, "OnEnterVisible", null),
      Object(a.b)([u.b], m_.prototype, "OnLeaveVisible", null),
      (m_ = Object(a.b)([m.a], m_)),
      (function (e) {
        (e[(e.Idle = 1)] = "Idle"),
          (e[(e.Loading = 2)] = "Loading"),
          (e[(e.EndOfContent = 3)] = "EndOfContent");
      })(p_ || (p_ = {}));
    class h_ {
      constructor(e) {
        (this.k_nMaxPerDirection = 3),
          (this.m_nAppID = 0),
          (this.m_rgEvents = []),
          (this.m_eOlderDirection = p_.Idle),
          (this.m_eNewerDirection = p_.Idle),
          (this.m_partnerEventStore = e);
      }
      GetEvents() {
        return this.m_rgEvents;
      }
      GetAppID() {
        return this.m_nAppID;
      }
      GetOlderState() {
        return this.m_eOlderDirection;
      }
      GetNewerState() {
        return this.m_eNewerDirection;
      }
      InitAroundEvent(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = this.m_partnerEventStore;
          (this.m_nAppID = e.appid),
            (this.m_clanSteamID = e.clanSteamID),
            (this.m_rgEvents = []),
            (this.m_eOlderDirection = p_.Loading),
            (this.m_eNewerDirection = p_.Loading),
            (this.m_additionalParams = t),
            this.m_rgEvents.push(e);
          let a = null;
          try {
            a = yield n.LoadAdjacentPartnerEventsByEvent(
              e,
              this.m_clanSteamID,
              this.m_nAppID,
              this.k_nMaxPerDirection,
              this.k_nMaxPerDirection,
              this.m_additionalParams,
            );
          } catch (e) {}
          Object(L.G)(() => {
            if (!a || 0 == a.length)
              return (
                (this.m_eOlderDirection = p_.EndOfContent),
                void (this.m_eNewerDirection = p_.EndOfContent)
              );
            let t = a.findIndex((t) => t.GID == e.GID),
              n = t,
              r = t >= 0 ? a.length - t - 1 : 0;
            (this.m_eNewerDirection =
              n >= this.k_nMaxPerDirection ? p_.Idle : p_.EndOfContent),
              (this.m_eOlderDirection =
                r >= this.k_nMaxPerDirection ? p_.Idle : p_.EndOfContent),
              (this.m_rgEvents = a);
          });
        });
      }
      LoadMoreAtEnd() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_eOlderDirection != p_.Idle) return;
          if (0 == this.m_rgEvents.length) return;
          let e = this.m_rgEvents[this.m_rgEvents.length - 1];
          this.m_eOlderDirection = p_.Loading;
          let t = null;
          try {
            const n = this.m_partnerEventStore;
            t = yield n.LoadAdjacentPartnerEventsByEvent(
              e,
              this.m_clanSteamID,
              this.m_nAppID,
              0,
              this.k_nMaxPerDirection,
              this.m_additionalParams,
            );
          } catch (e) {}
          Object(L.G)(() => {
            if (!t) return void (this.m_eOlderDirection = p_.Idle);
            const e = new Set(this.m_rgEvents.map((e) => e.GID));
            for (let n of t)
              e.has(n.GID) || (this.m_rgEvents.push(n), e.add(n.GID));
            this.m_eOlderDirection =
              t.length >= this.k_nMaxPerDirection ? p_.Idle : p_.EndOfContent;
          });
        });
      }
      LoadMoreAtBeginning() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_eNewerDirection != p_.Idle) return;
          if (0 == this.m_rgEvents.length) return;
          let e = this.m_rgEvents[0];
          this.m_eNewerDirection = p_.Loading;
          let t = null;
          try {
            const n = this.m_partnerEventStore;
            t = yield n.LoadAdjacentPartnerEventsByEvent(
              e,
              this.m_clanSteamID,
              this.m_nAppID,
              this.k_nMaxPerDirection,
              0,
            );
          } catch (e) {}
          Object(L.G)(() => {
            if (!t) return void (this.m_eNewerDirection = p_.Idle);
            const e = new Set(this.m_rgEvents.map((e) => e.GID));
            for (let n of t.reverse())
              e.has(n.GID) || (this.m_rgEvents.unshift(n), e.add(n.GID));
            this.m_eNewerDirection =
              t.length >= this.k_nMaxPerDirection ? p_.Idle : p_.EndOfContent;
          });
        });
      }
    }
    Object(a.b)([L.C.shallow], h_.prototype, "m_rgEvents", void 0),
      Object(a.b)([L.C], h_.prototype, "m_eOlderDirection", void 0),
      Object(a.b)([L.C], h_.prototype, "m_eNewerDirection", void 0);
    const __ = Object(m.a)((e) =>
      r.createElement(
        "div",
        {
          className: Object(h.a)(
            At.a.AppPartnerEventsBanner,
            "AppPartnerEventsBanner",
          ),
        },
        r.createElement(Gt, Object.assign({}, e)),
      ),
    );
    var g_ = n("XuA8");
    function b_(e) {
      const { event: t, closeModal: n } = e;
      return r.createElement(
        xe.d,
        { navID: "SinglePartnerEventRoot", closeModal: n },
        r.createElement(d_, {
          initialEvent: t,
          bShowOnlyInitialEvent: !0,
          partnerEventStore: St.b,
          emoticonStore: ue.b,
          showAppHeader: !0,
          closeModal: n,
        }),
      );
    }
    function f_(e, t) {
      Object(ze.d)(r.createElement(b_, { event: e }), t);
    }
    let v_ = class extends r.Component {
      constructor() {
        super(...arguments), (this.m_refFocus = r.createRef());
      }
      componentDidMount() {
        this.props.fnClose &&
          (document.addEventListener("keydown", this.escFunction, !1),
          this.m_refFocus.current && this.m_refFocus.current.focus());
      }
      componentWillUnmount() {
        this.props.fnClose &&
          document.removeEventListener("keydown", this.escFunction, !1);
      }
      escFunction(e) {
        const { fnClose: t } = this.props;
        27 === e.keyCode && t && t();
      }
      OnBackgroundClick(e) {
        e.currentTarget == e.target && this.props.fnClose();
      }
      render() {
        const { event: e, langOverride: t, isPreview: n } = this.props;
        return r.createElement(
          "div",
          {
            ref: this.m_refFocus,
            className: g_.Main,
            onClick: this.OnBackgroundClick,
          },
          r.createElement(m_, {
            key: e.GID,
            event: e,
            emoticonStore: ue.b,
            partnerEventStore: yt.Get(),
            langOverride: t,
            isPreview: n,
            bDisableBroadcastPlayer: !1,
          }),
        );
      }
    };
    Object(a.b)([u.b], v_.prototype, "escFunction", null),
      Object(a.b)([u.b], v_.prototype, "OnBackgroundClick", null),
      (v_ = Object(a.b)([m.a], v_));
    let S_ = class extends r.Component {
      GenerateLanguageOptions() {
        let e = [];
        const {
          fnFilterLanguage: t,
          fnLangHasData: n,
          fnLastUpdateRTime: a,
          fnIsLangSupported: i,
        } = this.props;
        this.props.bAllowUnsetOption &&
          e.push(
            r.createElement(
              "option",
              { key: "langpicker_unset", value: -1 },
              Object($.f)("#EventEditor_NoneLanguage"),
            ),
          );
        let s = new Array();
        const o = this.props.realms || [c.ESteamRealm.k_ESteamRealmGlobal];
        for (const e of $.b.GetLanguageListForRealms(o)) {
          if (t && !t(e)) continue;
          const n = Object(le.d)(e),
            a = Object($.f)("#Language_" + n),
            r = Boolean(i) && i(e);
          s.push({ eLang: e, sLocName: a, bSupported: r });
        }
        s.sort((e, t) =>
          e.bSupported != t.bSupported
            ? e.bSupported
              ? -1
              : 1
            : e.sLocName.localeCompare(t.sLocName),
        );
        let l = !1;
        for (const t of s) {
          t.bSupported != l &&
            (e.push(
              r.createElement(
                "option",
                {
                  key: t.bSupported ? "SupportedGroup" : "UnsupportedGroup",
                  className: Fe.a.SupportedGroupLabel,
                  disabled: !0,
                },
                Object($.f)(
                  t.bSupported
                    ? "#LanguageGroup_Supported"
                    : "#LanguageGroup_Unsupported",
                ),
              ),
            ),
            (l = t.bSupported));
          const i = n && n(t.eLang),
            s = a && a(t.eLang);
          let o = t.sLocName;
          s &&
            0 !== s &&
            ((o += " "),
            (o += Object($.f)(
              "#Language_Last_Update",
              Object($.p)(s) +
                " @ " +
                Object(Tc.g)(s, { bForce24HourClock: !1 }),
            ))),
            e.push(
              r.createElement(
                "option",
                {
                  key: "langpicker" + t.eLang + (i ? "_hasdata" : ""),
                  value: t.eLang,
                  className: Object(h.a)(
                    { [Fe.a.LanguageWithContent]: i },
                    t.bSupported
                      ? Fe.a.SupportedLanguage
                      : Fe.a.UnsupportedLanguage,
                  ),
                },
                o,
              ),
            );
        }
        return e;
      }
      OnLanguageChange(e) {
        const { fnOnLanguageChanged: t, selectedLang: n } = this.props;
        let a = Number.parseInt(e.currentTarget.value);
        a != n && t && t(a);
      }
      render() {
        const { selectedLang: e } = this.props;
        let t = this.GenerateLanguageOptions();
        return r.createElement(
          "select",
          { value: e, onChange: this.OnLanguageChange },
          t,
        );
      }
    };
    Object(a.b)([u.b], S_.prototype, "OnLanguageChange", null),
      (S_ = Object(a.b)([m.a], S_));
    var y_ = n("NpuA"),
      E_ = n.n(y_);
    class C_ {
      static ParseCSVFile(e) {
        return new Promise((t, n) => {
          const a = {
            header: !0,
            skipEmptyLines: "greedy",
            complete: t,
            error: (e) => n({ errors: [e] }),
          };
          E_.a.parse(e, a);
        });
      }
      static ReadFile(e) {
        return new Promise((t, n) => {
          const a = new FileReader();
          (a.onload = (e) => t(a.result)), a.readAsText(e);
        });
      }
      static WriteFile(e, t) {
        let n = document.createElement("a");
        if (navigator.msSaveBlob) navigator.msSaveBlob(e, t);
        else {
          const t = window.URL.createObjectURL(e);
          n.href = t;
        }
        n.setAttribute("download", t), n.click();
        try {
          document.removeChild(n);
        } catch (e) {}
      }
      static WriteCSVToFile(e, t) {
        const n = E_.a.unparse(e, { header: !0 });
        C_.WriteFile(new Blob([n], { type: "text/csv:charset=utf-8;" }), t);
      }
      static WriteXMLToFile(e, t) {
        const n = () =>
          this.m_DummyValueForQuestionHack ? "never returned" : "?";
        let a = "<" + n() + 'xml version="1.0" encoding="UTF-8" ' + n() + ">\n";
        (a += new XMLSerializer().serializeToString(e)),
          C_.WriteFile(
            new Blob([a], { type: "application/xml:charset=utf-8;" }),
            t,
          );
      }
    }
    C_.m_DummyValueForQuestionHack = 0;
    class w_ {
      constructor() {
        this.m_mapTokens = new Map();
      }
      GetLocalization(e, t) {
        const n = this.m_mapTokens.get(e);
        if (n && n[t]) return n[t];
      }
      SetLocalization(e, t, n) {
        let a = this.m_mapTokens.get(e);
        a || ((a = Object(ka.e)([], 30, null)), this.m_mapTokens.set(e, a)),
          (a[t] = n);
      }
      GetSortedTokenList() {
        let e = [];
        return (
          this.m_mapTokens.forEach((t, n) => e.push(n)),
          e.sort((e, t) => e.localeCompare(t)),
          e
        );
      }
      GetLanguagesWithTokens() {
        let e = new Map();
        this.m_mapTokens.forEach((t) => {
          for (let n = 0; n < t.length; ++n)
            !e.has(n) &&
              null !== t[n] &&
              void 0 !== t[n] &&
              t[n].trim().length > 0 &&
              e.set(n, !0);
        });
        let t = new Array();
        return (
          e.forEach((e, n) => {
            e && t.push(n);
          }),
          t
        );
      }
      ClearLanguagesTokens(e) {
        e.forEach((e) => {
          this.m_mapTokens.forEach((t, n) => {
            e < t.length && null !== t[e] && (t[e] = null);
          });
        });
      }
      DebugPrintData() {
        const e = new Array();
        return (
          this.m_mapTokens.forEach((t, n) => e.push(`${n}=${t.join(",")}`)),
          e.join("\n")
        );
      }
    }
    class B_ {
      DetectAndFormatCSV(e) {
        var t, n, a, r, i, s;
        let o = null;
        return (
          (null ===
            (n =
              null === (t = null == e ? void 0 : e.meta) || void 0 === t
                ? void 0
                : t.fields) || void 0 === n
            ? void 0
            : n.length) >= 3 &&
          "field" === e.meta.fields[0] &&
          "language" === e.meta.fields[1] &&
          "value" === e.meta.fields[2]
            ? (o = this.ReadLocalizationData_CSV_TokenLanguageList(e))
            : (null ===
                  (r =
                    null === (a = null == e ? void 0 : e.meta) || void 0 === a
                      ? void 0
                      : a.fields) || void 0 === r
                  ? void 0
                  : r.length) >= 2 &&
                "field" === e.meta.fields[0] &&
                -1 != Object(le.g)(e.meta.fields[1], -1)
              ? (o = this.ReadLocalizationData_CSV_LanguageColumns(e))
              : (null ===
                  (s =
                    null === (i = null == e ? void 0 : e.meta) || void 0 === i
                      ? void 0
                      : i.fields) || void 0 === s
                  ? void 0
                  : s.length) >= 2 &&
                "language" === e.meta.fields[0] &&
                (o = this.ReadLocalizationData_CSV_LanguageRows(e)),
          o
        );
      }
      ReadLocalizationData_XML_SingleLanguage(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = new w_(),
            a = new DOMParser(),
            r = yield C_.ReadFile(e),
            i = a.parseFromString(r.toString(), "application/xml");
          for (let e = 0; e < i.documentElement.children.length; ++e) {
            const a = i.documentElement.children.item(e),
              r = a.getAttribute("id").toLocaleLowerCase(),
              s = a.textContent;
            n.SetLocalization(r, t, s);
          }
          return n;
        });
      }
      ReadLocalizationData_CSV_TokenLanguageList(e) {
        const t = new w_();
        return (
          e.data.forEach((e) => {
            const n = e.field,
              a = Object(le.g)(e.language);
            t.SetLocalization(n, a, e.value);
          }),
          t
        );
      }
      ReadLocalizationData_CSV_LanguageColumns(e) {
        const t = new w_();
        return (
          e.data.forEach((e) => {
            const n = e.field;
            for (let a = 0; a < 30; ++a) {
              const r = Object(le.f)(Object(le.d)(a));
              t.SetLocalization(n, a, e[r]);
            }
          }),
          t
        );
      }
      ReadLocalizationData_CSV_LanguageRows(e) {
        const t = new w_();
        return (
          e.data.forEach((e) => {
            const n = Object(le.g)(e.language, 30);
            if (30 !== n)
              for (const [a, r] of Object.entries(e))
                "language" !== a &&
                  "string" == typeof r &&
                  t.SetLocalization(a, n, r);
          }),
          t
        );
      }
      GetExportLanguages() {
        return $.b.GetLanguageListForRealms([
          c.ESteamRealm.k_ESteamRealmGlobal,
        ]);
      }
      WriteLocalizationData_CSV_TokenAndLanguageColumns(e, t) {
        let n = new Array();
        e.GetSortedTokenList().forEach((t) => {
          for (const a of this.GetExportLanguages()) {
            let r = { field: t };
            (r.language = Object(le.f)(Object(le.d)(a))),
              (r.value = e.GetLocalization(t, a)),
              n.push(r);
          }
        }),
          C_.WriteCSVToFile(n, t);
      }
      WriteLocalizationData_CSV_LanguageColumns(e, t) {
        let n = new Array();
        e.GetSortedTokenList().forEach((t) => {
          let a = { field: t };
          for (const n of this.GetExportLanguages())
            a[Object(le.f)(Object(le.d)(n))] = e.GetLocalization(t, n);
          n.push(a);
        }),
          C_.WriteCSVToFile(n, t);
      }
      WriteLocalizationData_CSV_LanguageRows(e, t) {
        let n = new Array();
        for (const e of this.GetExportLanguages())
          n.push({ language: Object(le.f)(Object(le.d)(e)) });
        e.GetSortedTokenList().forEach((t) => {
          for (const a of this.GetExportLanguages())
            n[a][t] = e.GetLocalization(t, a);
        }),
          C_.WriteCSVToFile(n, t);
      }
      WriteLocalizationData_XML_SingleLanguage(e, t, n) {
        let a = document.implementation.createDocument(null, "content", null);
        e.GetSortedTokenList().forEach((n) => {
          let r = a.createElement("string");
          r.setAttribute("id", n),
            r.appendChild(a.createTextNode(e.GetLocalization(n, t) || "")),
            a.documentElement.append(r);
        }),
          C_.WriteXMLToFile(a, n);
      }
    }
    var O_ = n("GjDv");
    const D_ = (e) => {
        const t = (t, n) => {
          t.preventDefault();
          const {
              fnGetLocData: a,
              closeModal: r,
              strFileNamePrefix: i,
              lang: s,
            } = e,
            o = a(),
            l = new B_();
          let c = i ? i + "_localization" : "localization";
          switch (n) {
            case "csv_row":
              l.WriteLocalizationData_CSV_LanguageRows(o, c + ".csv");
              break;
            case "csv_column":
              l.WriteLocalizationData_CSV_LanguageColumns(o, c + ".csv");
              break;
            case "csv_token":
              l.WriteLocalizationData_CSV_TokenAndLanguageColumns(
                o,
                c + ".csv",
              );
              break;
            case "xml":
              l.WriteLocalizationData_XML_SingleLanguage(
                o,
                s,
                c + "_" + Object(le.f)(Object(le.d)(s)) + ".xml",
              );
          }
          r && r();
        };
        return i.a.createElement(
          i.a.Fragment,
          null,
          Boolean(e.bShowCSV) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement(
                te.F,
                { onClick: (e) => t(e, "csv_row") },
                Object($.f)("#Localization_Export_Btn_RowLanguages"),
              ),
              i.a.createElement(
                te.F,
                { onClick: (e) => t(e, "csv_column") },
                Object($.f)("#Localization_Export_Btn_ColumnLanguages"),
              ),
              i.a.createElement(
                te.F,
                { onClick: (e) => t(e, "csv_token") },
                Object($.f)("#Localization_Export_Btn_TokenLanguages"),
              ),
            ),
          Boolean(e.bShowXML) &&
            i.a.createElement(
              te.F,
              { onClick: (e) => t(e, "xml") },
              Object($.f)("#Localization_Export_Btn_XML"),
            ),
        );
      },
      I_ = (e) => {
        const [t, n] = Object(r.useState)(!1),
          s = (e, t) => {
            n(!1),
              console.log(
                "ImportLocalizationAction: On Handle Parse error: " + e.message,
                e,
              ),
              Object(ze.d)(
                i.a.createElement(
                  xe.g,
                  null,
                  i.a.createElement(
                    "div",
                    null,
                    i.a.createElement(
                      "p",
                      null,
                      Object($.f)("#Localization_Error_Input"),
                    ),
                    i.a.createElement("p", null, e.message),
                  ),
                ),
                window,
              );
          },
          o = (e) => {
            n(!1);
            let t = "";
            e.forEach((e) => {
              t.length > 0 && (t += ", "),
                (t += Object($.f)("#Language_" + Object(le.d)(e)));
            }),
              Object(ze.d)(
                i.a.createElement(
                  xe.e,
                  {
                    strTitle: Object($.f)("#EventDisplay_Share_Success"),
                    bAlertDialog: !0,
                  },
                  i.a.createElement(
                    "div",
                    null,
                    0 == t.length
                      ? Object($.f)(
                          "#Localization_Success_ImportComplete_NoChange",
                        )
                      : Object($.f)("#Localization_Success_ImportComplete", t),
                  ),
                ),
                window,
              );
          },
          l = (t) =>
            Object(a.a)(void 0, void 0, void 0, function* () {
              let a = t.target.files;
              if (a && a.length > 0) {
                n(!0);
                let t = new Array(),
                  r = new B_();
                for (let n = 0; n < a.length; ++n)
                  if (a[n]) {
                    if (a[n].name.toLocaleLowerCase().endsWith(".csv"))
                      return void E_.a.parse(a[0], {
                        header: !0,
                        complete: (t) => {
                          let n = new B_().DetectAndFormatCSV(t);
                          if (!n)
                            return void s({
                              code: "",
                              message: "",
                              row: 0,
                              type: "filenameerror",
                            });
                          const a = $.b.GetLanguageListForRealms([
                              c.ESteamRealm.k_ESteamRealmGlobal,
                            ]),
                            r = e.fnOnImportLocData(n, a);
                          o(r);
                        },
                        error: s,
                      });
                    if (a[n].name.toLocaleLowerCase().endsWith(".xml")) {
                      let i = be.d.DetectLanguageFromFilename(a[n].name);
                      if (null == i || -1 == i)
                        return void s({
                          code: "",
                          message: Object($.f)(
                            "#Localization_Error_FileLangauage",
                            a[n].name,
                          ),
                          row: 0,
                          type: "filenameerror",
                        });
                      try {
                        const s =
                          yield r.ReadLocalizationData_XML_SingleLanguage(
                            a[n],
                            i,
                          );
                        e.fnOnImportLocData(s, [i]).map((e) => {
                          -1 == t.indexOf(e) && t.push(e);
                        });
                      } catch (e) {
                        let t = Object(me.a)(e);
                        return void s({
                          code: "",
                          message: Object($.f)(
                            "#Localization_Error_XMLParseError",
                            t.strErrorMsg,
                          ),
                          row: 0,
                          type: "parseerror",
                        });
                      }
                    } else
                      s({
                        code: "",
                        message: Object($.f)(
                          "#Localization_Error_FileExtention",
                          a[n].name,
                        ),
                        row: 0,
                        type: "filenameerror",
                      });
                  }
                o(t);
              }
            });
        return i.a.createElement(
          Qe.a,
          {
            className: Object(h.a)(
              e.className ? e.className : Ne.EditPreviewButton,
            ),
            toolTipContent: e.strToolTip,
          },
          i.a.createElement(
            "label",
            { className: O_.ImportButton, htmlFor: "importlocalization" },
            t && i.a.createElement(ee.a, { size: "small" }),
            i.a.createElement(
              "div",
              { className: O_.Label },
              Object($.f)(e.strLabel ? e.strLabel : "#Localization_Import_Btn"),
            ),
            i.a.createElement("input", {
              id: "importlocalization",
              className: O_.ImportButton,
              style: { display: "none" },
              type: "file",
              onSubmit: l,
              onChange: l,
              multiple: !0,
            }),
          ),
        );
      },
      T_ = (e) => {
        const {
            fnOnImportLocData: t,
            closeModal: n,
            sampleLocData: a,
            sampleFilename: r,
          } = e,
          s = new B_();
        return i.a.createElement(
          xe.f,
          { onCancel: n, closeModal: n },
          i.a.createElement(te.y, null, Object($.f)("#ImportLoc_Title")),
          i.a.createElement(
            te.c,
            null,
            i.a.createElement(
              "div",
              null,
              Object($.f)("#ImportLoc_Description"),
            ),
            i.a.createElement(
              "div",
              { className: O_.ImportLocSampleButtonCtn },
              i.a.createElement(
                "div",
                { className: O_.SampleTitle },
                Object($.f)("#ImportLoc_SampleTitle"),
              ),
              i.a.createElement(
                te.e,
                {
                  onClick: () =>
                    s.WriteLocalizationData_CSV_LanguageRows(a, r + "_row.csv"),
                },
                Object($.f)("#ImportLoc_CSVLangPerRow"),
              ),
              i.a.createElement(
                te.e,
                {
                  onClick: () =>
                    s.WriteLocalizationData_CSV_LanguageColumns(
                      a,
                      r + "_col.csv",
                    ),
                },
                Object($.f)("#ImportLoc_CSVLangPerCol"),
              ),
              i.a.createElement(
                te.e,
                {
                  onClick: () =>
                    s.WriteLocalizationData_CSV_TokenAndLanguageColumns(
                      a,
                      r + "_token.csv",
                    ),
                },
                Object($.f)("#ImportLoc_CSVTokenLang"),
              ),
              i.a.createElement(
                te.e,
                {
                  onClick: () =>
                    s.WriteLocalizationData_XML_SingleLanguage(a, 0, r + "xml"),
                },
                Object($.f)("#ImportLoc_XML"),
              ),
            ),
          ),
          i.a.createElement(
            te.p,
            null,
            i.a.createElement(I_, {
              strLabel: Object($.f)("#BuildNotes_ImportLocalization"),
              fnOnImportLocData: (e, a) => {
                const r = t(e, a);
                return n(), r;
              },
            }),
          ),
        );
      };
    var R_ = n("Gsw+");
    function j_(e, t, n) {
      const a = e && e.length > n ? [...e] : Object(ka.e)(e || [], n + 1, "");
      return (a[n] = t), a;
    }
    function A_(e, t) {
      return (e && e.length > t && e[t]) || "";
    }
    function k_(e, t) {
      let n = !1,
        a = !1;
      for (let r = 0; r < 30; r++) {
        const i = A_(e, r).trim(),
          s = A_(t, r).trim();
        if (!i && !s) continue;
        const o = Object($.f)("#Language_" + Object(le.d)(r));
        if (((n = !0), !i))
          return Object($.f)("#BuildNotes_Error_MissingTitle", o);
        if (!s) return Object($.f)("#BuildNotes_Error_MissingDescription", o);
        if (i.length > ce.r)
          return Object($.f)("#BuildNotes_Error_TitleTooLong", o);
        if (s.length > 32768)
          return Object($.f)("#BuildNotes_Error_DescriptionTooLong", o);
        0 === r && (a = !0);
      }
      return n
        ? a
          ? null
          : Object($.f)("#BuildNotes_Error_NoEnglishProvided")
        : Object($.f)("#BuildNotes_Error_NoLanguagesProvided");
    }
    class M_ {
      static Get() {
        return (
          this.s_Singleton ||
            ((this.s_Singleton = new M_()), this.s_Singleton.Init()),
          this.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)("build_notes", "application_config");
        (this.m_nBuildVersion = (null == e ? void 0 : e.build_version) || 0),
          (this.m_bSteamChina = (null == e ? void 0 : e.steam_china) || !1),
          (this.m_strBuildBranch = (null == e ? void 0 : e.build_branch) || ""),
          (this.m_strBuildBranch = this.m_strBuildBranch
            .trim()
            .toLocaleLowerCase()),
          "default" === this.m_strBuildBranch && (this.m_strBuildBranch = "");
      }
      GetPostedBuildVersion() {
        return this.m_nBuildVersion;
      }
      BShouldShowPatchNotesEditor() {
        return this.GetPostedBuildVersion() > 0;
      }
      BCanSubmitSteamChinaPatchNotes() {
        return this.m_bSteamChina;
      }
      GetBuildBranch() {
        return this.m_strBuildBranch;
      }
    }
    const P_ = (e) => {
        const [t, n] = i.a.useState(0),
          [r, s] = i.a.useState(null),
          [l, d] = i.a.useState(null),
          [u, m] = i.a.useState(null),
          [p, h] = i.a.useState("editing"),
          [_, g] = i.a.useState(null);
        if (!M_.Get().BShouldShowPatchNotesEditor()) return null;
        const b = (e) => n(e),
          f = (e) => Boolean(A_(r, e) || A_(l, e)),
          v = M_.Get().BCanSubmitSteamChinaPatchNotes()
            ? [
                c.ESteamRealm.k_ESteamRealmChina,
                c.ESteamRealm.k_ESteamRealmGlobal,
              ]
            : [c.ESteamRealm.k_ESteamRealmGlobal],
          S = k_(r, l),
          y =
            o.c.COMMUNITY_BASE_URL +
            "ogg/" +
            e.appId +
            "/partnerevents/create/";
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            "div",
            { className: R_.BuildNoteCtn },
            i.a.createElement(
              "div",
              { className: R_.BuildTitle },
              Object($.f)(
                "#BuildNotes_Title",
                M_.Get().GetPostedBuildVersion(),
                M_.Get().GetBuildBranch() || "default",
              ),
            ),
            i.a.createElement(
              "div",
              { className: R_.SplitPanel },
              i.a.createElement(
                "div",
                { className: R_.DescriptionPanel },
                i.a.createElement(
                  "div",
                  { className: R_.BuildSubTitle },
                  Object($.f)("#BuildNotes_SubTitle"),
                ),
                i.a.createElement(
                  "div",
                  { className: R_.InfoText },
                  Object($.f)("#BuildNotes_Desc1"),
                ),
                i.a.createElement(
                  "div",
                  { className: R_.InfoText },
                  Object($.o)("#BuildNotes_Desc2"),
                ),
                i.a.createElement(
                  "a",
                  { href: y },
                  i.a.createElement(
                    te.e,
                    null,
                    Object($.f)("#BuildNotes_OpenFullEditor"),
                  ),
                ),
              ),
              "editing" === p &&
                i.a.createElement(L_, {
                  sError: S,
                  eLanguage: t,
                  realms: v,
                  fnHasLanguage: f,
                  fnSetLanguage: b,
                  fnGetTitle: (e) => A_(r, e),
                  fnSetTitle: (e, t) => s(j_(r, t, e)),
                  fnGetDescription: (e) => A_(l, e),
                  fnSetDescription: (e, t) => d(j_(l, t, e)),
                  fnOnPreviewEvent: () =>
                    m(
                      (function (e, t) {
                        let n = new ce.j();
                        (n.GID = "PreviewPartnerEventRow_0"),
                          (n.clanSteamID = new de.a(o.j.steamid)),
                          (n.postTime = Date.now() / 1e3),
                          (n.startTime = Date.now() / 1e3),
                          (n.type = 12);
                        for (let a = 0; a < 30; a++)
                          n.name.set(a, A_(e, a)),
                            n.description.set(a, A_(t, a));
                        return n;
                      })(r, l),
                    ),
                  fnApplyLoc: (e, t) => {
                    const n = new Array();
                    let a = r,
                      i = l;
                    for (const r of t) {
                      const t = e.GetLocalization("Title", r) || "",
                        s = e.GetLocalization("Description", r) || "";
                      (t || s) && n.push(r),
                        t && (a = j_(a, t, r)),
                        s && (i = j_(i, s, r));
                    }
                    return s(a), d(i), n;
                  },
                }),
              "submitting" === p && i.a.createElement(N_, null),
              "failed" === p &&
                i.a.createElement(F_, {
                  fnOnReturnToEditor: () => h("editing"),
                }),
              "submitted" === p &&
                i.a.createElement(x_, { appId: e.appId, eventGid: _ }),
            ),
          ),
          Boolean(u && "editing" === p) &&
            i.a.createElement(G_, {
              event: u,
              eLanguage: t,
              realms: v,
              fnOnClose: () => m(null),
              fnOnSubmitEvent: () =>
                Object(a.a)(void 0, void 0, void 0, function* () {
                  m(null), h("submitting");
                  const t = yield (function (e, t, n) {
                    var r, i, s;
                    return Object(a.a)(this, void 0, void 0, function* () {
                      if (k_(t, n)) return null;
                      const a = Boolean(A_(t, 29).trim()),
                        l = new FormData();
                      l.append("sessionid", o.c.SESSIONID),
                        l.append("appid", "" + e),
                        l.append("post_steam_china", "" + a),
                        l.append("titles", JSON.stringify(t)),
                        l.append("descriptions", JSON.stringify(n)),
                        l.append(
                          "build_id",
                          "" + M_.Get().GetPostedBuildVersion(),
                        ),
                        l.append("build_branch", M_.Get().GetBuildBranch());
                      const c =
                        o.c.PARTNER_BASE_URL +
                        "partnerevents/ajaxpublishpatchnotes";
                      try {
                        const e = yield F.a.post(c, l, { withCredentials: !0 });
                        if (
                          1 ==
                          (null === (r = null == e ? void 0 : e.data) ||
                          void 0 === r
                            ? void 0
                            : r.success)
                        )
                          return e.data;
                        console.error(
                          "buildpatchnotes: OnSubmitCreateEvent error code  " +
                            (null === (i = null == e ? void 0 : e.data) ||
                            void 0 === i
                              ? void 0
                              : i.success) +
                            " msg: " +
                            (null === (s = null == e ? void 0 : e.data) ||
                            void 0 === s
                              ? void 0
                              : s.msg),
                        );
                      } catch (e) {
                        const t = Object(me.a)(e);
                        console.error(
                          "buildpatchnotes: OnSubmitCreateEvent " +
                            t.strErrorMsg,
                          t,
                        );
                      }
                      return null;
                    });
                  })(e.appId, r, l);
                  t
                    ? (g(t.clan_announcement_gid),
                      (function () {
                        const e = new URLSearchParams(window.location.search);
                        e.delete("submittedbuild"), e.delete("buildbranch");
                        const t = e.toString(),
                          n =
                            window.location.origin +
                            window.location.pathname +
                            (t ? "?" + t : "") +
                            window.location.hash;
                        window.history.replaceState({}, "", n);
                      })(),
                      h("submitted"))
                    : h("failed");
                }),
              fnHasLanguage: f,
              fnSetLanguage: b,
            }),
        );
      },
      L_ = (e) => {
        const {
          sError: t,
          eLanguage: n,
          realms: a,
          fnHasLanguage: r,
          fnSetLanguage: s,
          fnGetTitle: o,
          fnSetTitle: l,
          fnGetDescription: d,
          fnSetDescription: u,
          fnOnPreviewEvent: m,
          fnApplyLoc: p,
        } = e;
        let h = "";
        if (a.includes(c.ESteamRealm.k_ESteamRealmChina)) {
          const e = "" !== o(29).trim();
          h = Object($.f)(
            e
              ? "#BuildNotes_SteamChina_Provided"
              : "#BuildNotes_SteamChina_NotProvided",
          );
        }
        return i.a.createElement(
          "div",
          { className: R_.RightPanel },
          i.a.createElement(
            "div",
            { className: R_.EditTopBar },
            i.a.createElement(
              "div",
              { className: R_.EditTitle },
              Object($.f)("#BuildNotes_PatchnotesTitle"),
            ),
            i.a.createElement(
              "div",
              { className: R_.LangPicker },
              i.a.createElement(
                te.e,
                {
                  onClick: () => {
                    const e = new w_(),
                      t = Object($.f)("#BuildNotes_SampleTitle"),
                      n = Object($.f)("#BuildNotes_SampleDescription");
                    for (let a = 0; a < 30; a++)
                      e.SetLocalization("Title", a, t),
                        e.SetLocalization("Description", a, n);
                    Object(ze.d)(
                      i.a.createElement(T_, {
                        sampleLocData: e,
                        sampleFilename: "patchnote_loc_sample",
                        fnOnImportLocData: p,
                      }),
                      window,
                    );
                  },
                },
                Object($.f)("#BuildNotes_ImportLocalization"),
              ),
              i.a.createElement(S_, {
                selectedLang: n,
                fnOnLanguageChanged: s,
                fnLangHasData: r,
                realms: a,
              }),
            ),
          ),
          i.a.createElement(te.z, {
            value: o(n),
            placeholder: Object($.f)("#BuildNotes_TitlePlaceholder"),
            onChange: (e) => l(n, e.currentTarget.value),
            maxLength: ce.r,
          }),
          i.a.createElement(
            "div",
            { className: R_.EditTitle },
            Object($.f)("#BuildNotes_PatchnotesDesc"),
          ),
          i.a.createElement(ut, {
            fnGetCurText: () => d(n),
            fnOnTextChange: (e) => u(n, e.currentTarget.value),
            fnSetText: (e) => u(n, e),
            strPlaceholder: Object($.f)("#BuildNotes_DescPlaceholder"),
            emoticonStore: ue.b,
            bSupportHTMLImport: !0,
            showFormatHelp: "PartnerEvents",
            classNameForTextArea: R_.BBCodeEditor,
          }),
          i.a.createElement(
            "div",
            { className: R_.SubmitButtonCtn },
            !Boolean(t) &&
              i.a.createElement(
                te.F,
                { onClick: m },
                Object($.f)("#BuildNotes_Preview"),
              ),
            Boolean(t) &&
              i.a.createElement("div", { className: R_.ErrorMsg }, t),
            Boolean(!t && h) &&
              i.a.createElement("div", { className: R_.SteamChinaMsg }, h),
          ),
        );
      },
      G_ = (e) => {
        const {
          event: t,
          eLanguage: n,
          realms: a,
          fnOnClose: r,
          fnOnSubmitEvent: s,
          fnHasLanguage: o,
          fnSetLanguage: l,
        } = e;
        return i.a.createElement(
          xe.k,
          null,
          i.a.createElement(
            "div",
            { className: R_.PreviewHeader },
            i.a.createElement(S_, {
              selectedLang: n,
              fnOnLanguageChanged: l,
              fnFilterLanguage: o,
              realms: a,
            }),
            i.a.createElement(
              "div",
              { className: R_.SubmitButtonCtn },
              i.a.createElement(
                te.e,
                { onClick: r },
                Object($.f)("#BuildNotes_Close"),
              ),
              i.a.createElement(
                te.F,
                { onClick: s },
                Object($.f)("#BuildNotes_PostNotes"),
              ),
            ),
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(v_, {
              event: t,
              fnClose: r,
              langOverride: n,
              isPreview: !0,
            }),
          ),
        );
      },
      N_ = (e) =>
        i.a.createElement(
          "div",
          { className: Object(h.a)(R_.RightPanel, R_.SubmitPanel) },
          i.a.createElement(ee.a, { className: R_.SubmitThrobber }),
          i.a.createElement(
            "div",
            { className: R_.SubmitText },
            Object($.f)("#BuildNotes_Submitting"),
          ),
        ),
      F_ = (e) =>
        i.a.createElement(
          "div",
          { className: Object(h.a)(R_.RightPanel, R_.FailedPanel) },
          i.a.createElement(
            "div",
            { className: R_.FailedText },
            Object($.f)("#BuildNotes_FailedDescription"),
          ),
          i.a.createElement(
            "div",
            { className: R_.FailedButton },
            i.a.createElement(
              te.e,
              { onClick: e.fnOnReturnToEditor },
              Object($.f)("#BuildNotes_ReturnToEditor"),
            ),
          ),
        ),
      x_ = (e) => {
        const { appId: t, eventGid: n } = e,
          a = `${o.c.STORE_BASE_URL}news/app/${t}/view/${n}`;
        return i.a.createElement(
          "div",
          { className: Object(h.a)(R_.RightPanel, R_.SuccessPanel) },
          i.a.createElement(
            "div",
            { className: R_.SuccessText },
            Object($.f)("#BuildNotes_Success"),
          ),
          i.a.createElement(
            "a",
            { href: a, className: R_.ViewEventButton },
            i.a.createElement(
              te.e,
              null,
              Object($.f)("#BuildNotes_ViewPublished"),
            ),
          ),
        );
      },
      z_ = iu.Message;
    class U_ extends z_ {
      constructor(e = null) {
        super(),
          U_.prototype.account_name || su.a(U_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          U_.sm_m ||
            (U_.sm_m = {
              proto: U_,
              fields: {
                account_name: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          U_.sm_m
        );
      }
      static MBF() {
        return U_.sm_mbf || (U_.sm_mbf = su.e(U_.M())), U_.sm_mbf;
      }
      toObject(e = !1) {
        return U_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(U_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(U_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new U_();
        return U_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(U_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return U_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(U_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return U_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_GetPasswordRSAPublicKey_Request";
      }
    }
    class W_ extends z_ {
      constructor(e = null) {
        super(),
          W_.prototype.publickey_mod || su.a(W_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          W_.sm_m ||
            (W_.sm_m = {
              proto: W_,
              fields: {
                publickey_mod: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                publickey_exp: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                timestamp: {
                  n: 3,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
              },
            }),
          W_.sm_m
        );
      }
      static MBF() {
        return W_.sm_mbf || (W_.sm_mbf = su.e(W_.M())), W_.sm_mbf;
      }
      toObject(e = !1) {
        return W_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(W_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(W_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new W_();
        return W_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(W_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return W_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(W_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return W_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_GetPasswordRSAPublicKey_Response";
      }
    }
    class H_ extends z_ {
      constructor(e = null) {
        super(),
          H_.prototype.confirmation_type || su.a(H_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          H_.sm_m ||
            (H_.sm_m = {
              proto: H_,
              fields: {
                confirmation_type: {
                  n: 1,
                  br: su.d.readEnum,
                  bw: su.h.writeEnum,
                },
                associated_message: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          H_.sm_m
        );
      }
      static MBF() {
        return H_.sm_mbf || (H_.sm_mbf = su.e(H_.M())), H_.sm_mbf;
      }
      toObject(e = !1) {
        return H_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(H_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(H_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new H_();
        return H_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(H_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return H_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(H_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return H_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_AllowedConfirmation";
      }
    }
    class V_ extends z_ {
      constructor(e = null) {
        super(),
          V_.prototype.device_friendly_name || su.a(V_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          V_.sm_m ||
            (V_.sm_m = {
              proto: V_,
              fields: {
                device_friendly_name: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                platform_type: { n: 2, br: su.d.readEnum, bw: su.h.writeEnum },
              },
            }),
          V_.sm_m
        );
      }
      static MBF() {
        return V_.sm_mbf || (V_.sm_mbf = su.e(V_.M())), V_.sm_mbf;
      }
      toObject(e = !1) {
        return V_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(V_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(V_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new V_();
        return V_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(V_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return V_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(V_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return V_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_BeginAuthSessionViaQR_Request";
      }
    }
    class q_ extends z_ {
      constructor(e = null) {
        super(),
          q_.prototype.client_id || su.a(q_.M()),
          z_.initialize(this, e, 0, -1, [5], null);
      }
      static M() {
        return (
          q_.sm_m ||
            (q_.sm_m = {
              proto: q_,
              fields: {
                client_id: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                challenge_url: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                request_id: { n: 3, br: su.d.readBytes, bw: su.h.writeBytes },
                interval: { n: 4, br: su.d.readFloat, bw: su.h.writeFloat },
                allowed_confirmations: { n: 5, c: H_, r: !0, q: !0 },
                version: { n: 6, br: su.d.readInt32, bw: su.h.writeInt32 },
              },
            }),
          q_.sm_m
        );
      }
      static MBF() {
        return q_.sm_mbf || (q_.sm_mbf = su.e(q_.M())), q_.sm_mbf;
      }
      toObject(e = !1) {
        return q_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(q_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(q_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new q_();
        return q_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(q_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return q_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(q_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return q_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_BeginAuthSessionViaQR_Response";
      }
    }
    class K_ extends z_ {
      constructor(e = null) {
        super(),
          K_.prototype.device_friendly_name || su.a(K_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          K_.sm_m ||
            (K_.sm_m = {
              proto: K_,
              fields: {
                device_friendly_name: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                account_name: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                encrypted_password: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                encryption_timestamp: {
                  n: 4,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                remember_login: { n: 5, br: su.d.readBool, bw: su.h.writeBool },
                platform_type: { n: 6, br: su.d.readEnum, bw: su.h.writeEnum },
                persistence: {
                  n: 7,
                  d: 1,
                  br: su.d.readEnum,
                  bw: su.h.writeEnum,
                },
              },
            }),
          K_.sm_m
        );
      }
      static MBF() {
        return K_.sm_mbf || (K_.sm_mbf = su.e(K_.M())), K_.sm_mbf;
      }
      toObject(e = !1) {
        return K_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(K_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(K_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new K_();
        return K_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(K_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return K_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(K_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return K_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_BeginAuthSessionViaCredentials_Request";
      }
    }
    class Q_ extends z_ {
      constructor(e = null) {
        super(),
          Q_.prototype.client_id || su.a(Q_.M()),
          z_.initialize(this, e, 0, -1, [4], null);
      }
      static M() {
        return (
          Q_.sm_m ||
            (Q_.sm_m = {
              proto: Q_,
              fields: {
                client_id: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                request_id: { n: 2, br: su.d.readBytes, bw: su.h.writeBytes },
                interval: { n: 3, br: su.d.readFloat, bw: su.h.writeFloat },
                allowed_confirmations: { n: 4, c: H_, r: !0, q: !0 },
                steamid: {
                  n: 5,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                weak_token: { n: 6, br: su.d.readString, bw: su.h.writeString },
              },
            }),
          Q_.sm_m
        );
      }
      static MBF() {
        return Q_.sm_mbf || (Q_.sm_mbf = su.e(Q_.M())), Q_.sm_mbf;
      }
      toObject(e = !1) {
        return Q_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Q_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Q_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Q_();
        return Q_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Q_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Q_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Q_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Q_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_BeginAuthSessionViaCredentials_Response";
      }
    }
    class Y_ extends z_ {
      constructor(e = null) {
        super(),
          Y_.prototype.client_id || su.a(Y_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Y_.sm_m ||
            (Y_.sm_m = {
              proto: Y_,
              fields: {
                client_id: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                request_id: { n: 2, br: su.d.readBytes, bw: su.h.writeBytes },
              },
            }),
          Y_.sm_m
        );
      }
      static MBF() {
        return Y_.sm_mbf || (Y_.sm_mbf = su.e(Y_.M())), Y_.sm_mbf;
      }
      toObject(e = !1) {
        return Y_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Y_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Y_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Y_();
        return Y_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Y_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Y_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Y_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Y_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_PollAuthSessionStatus_Request";
      }
    }
    class Z_ extends z_ {
      constructor(e = null) {
        super(),
          Z_.prototype.new_client_id || su.a(Z_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Z_.sm_m ||
            (Z_.sm_m = {
              proto: Z_,
              fields: {
                new_client_id: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                new_challenge_url: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                refresh_token: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                access_token: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                had_remote_interaction: {
                  n: 5,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
              },
            }),
          Z_.sm_m
        );
      }
      static MBF() {
        return Z_.sm_mbf || (Z_.sm_mbf = su.e(Z_.M())), Z_.sm_mbf;
      }
      toObject(e = !1) {
        return Z_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Z_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Z_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Z_();
        return Z_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Z_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Z_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Z_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Z_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_PollAuthSessionStatus_Response";
      }
    }
    class J_ extends z_ {
      constructor(e = null) {
        super(),
          J_.prototype.ip || su.a(J_.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          J_.sm_m ||
            (J_.sm_m = {
              proto: J_,
              fields: {
                ip: { n: 1, br: su.d.readString, bw: su.h.writeString },
                geoloc: { n: 2, br: su.d.readString, bw: su.h.writeString },
                city: { n: 3, br: su.d.readString, bw: su.h.writeString },
                state: { n: 4, br: su.d.readString, bw: su.h.writeString },
                country: { n: 5, br: su.d.readString, bw: su.h.writeString },
                platform_type: { n: 6, br: su.d.readEnum, bw: su.h.writeEnum },
                device_friendly_name: {
                  n: 7,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                version: { n: 8, br: su.d.readInt32, bw: su.h.writeInt32 },
                login_history: { n: 9, br: su.d.readEnum, bw: su.h.writeEnum },
                requestor_location_mismatch: {
                  n: 10,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                high_usage_login: {
                  n: 11,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
              },
            }),
          J_.sm_m
        );
      }
      static MBF() {
        return J_.sm_mbf || (J_.sm_mbf = su.e(J_.M())), J_.sm_mbf;
      }
      toObject(e = !1) {
        return J_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(J_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(J_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new J_();
        return J_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(J_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return J_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(J_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return J_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_GetAuthSessionInfo_Response";
      }
    }
    class X_ extends z_ {
      constructor(e = null) {
        super(),
          X_.prototype.client_ids || su.a(X_.M()),
          z_.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          X_.sm_m ||
            (X_.sm_m = {
              proto: X_,
              fields: {
                client_ids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: su.d.readUint64String,
                  bw: su.h.writeRepeatedUint64String,
                },
              },
            }),
          X_.sm_m
        );
      }
      static MBF() {
        return X_.sm_mbf || (X_.sm_mbf = su.e(X_.M())), X_.sm_mbf;
      }
      toObject(e = !1) {
        return X_.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(X_.M(), e, t);
      }
      static fromObject(e) {
        return su.c(X_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new X_();
        return X_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(X_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return X_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(X_.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return X_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_GetAuthSessionsForAccount_Response";
      }
    }
    class $_ extends z_ {
      constructor(e = null) {
        super(), z_.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return $_.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new $_();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new $_();
        return $_.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return $_.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return $_.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response";
      }
    }
    class eg extends z_ {
      constructor(e = null) {
        super(),
          eg.prototype.client_id || su.a(eg.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          eg.sm_m ||
            (eg.sm_m = {
              proto: eg,
              fields: {
                client_id: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                steamid: {
                  n: 2,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                code: { n: 3, br: su.d.readString, bw: su.h.writeString },
                code_type: { n: 4, br: su.d.readEnum, bw: su.h.writeEnum },
              },
            }),
          eg.sm_m
        );
      }
      static MBF() {
        return eg.sm_mbf || (eg.sm_mbf = su.e(eg.M())), eg.sm_mbf;
      }
      toObject(e = !1) {
        return eg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(eg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(eg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new eg();
        return eg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(eg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return eg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(eg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return eg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request";
      }
    }
    class tg extends z_ {
      constructor(e = null) {
        super(), z_.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return tg.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new tg();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new tg();
        return tg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return tg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return tg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response";
      }
    }
    class ng extends z_ {
      constructor(e = null) {
        super(),
          ng.prototype.access_token || su.a(ng.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ng.sm_m ||
            (ng.sm_m = {
              proto: ng,
              fields: {
                access_token: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          ng.sm_m
        );
      }
      static MBF() {
        return ng.sm_mbf || (ng.sm_mbf = su.e(ng.M())), ng.sm_mbf;
      }
      toObject(e = !1) {
        return ng.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(ng.M(), e, t);
      }
      static fromObject(e) {
        return su.c(ng.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new ng();
        return ng.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(ng.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return ng.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(ng.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return ng.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_AccessToken_GenerateForApp_Response";
      }
    }
    class ag extends z_ {
      constructor(e = null) {
        super(),
          ag.prototype.refresh_token || su.a(ag.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ag.sm_m ||
            (ag.sm_m = {
              proto: ag,
              fields: {
                refresh_token: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                access_token: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          ag.sm_m
        );
      }
      static MBF() {
        return ag.sm_mbf || (ag.sm_mbf = su.e(ag.M())), ag.sm_mbf;
      }
      toObject(e = !1) {
        return ag.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(ag.M(), e, t);
      }
      static fromObject(e) {
        return su.c(ag.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new ag();
        return ag.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(ag.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return ag.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(ag.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return ag.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CAuthentication_MigrateMobileSession_Response";
      }
    }
    class rg extends z_ {
      constructor(e = null) {
        super(),
          rg.prototype.nonce || su.a(rg.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          rg.sm_m ||
            (rg.sm_m = {
              proto: rg,
              fields: {
                nonce: { n: 1, br: su.d.readString, bw: su.h.writeString },
                expiry: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
              },
            }),
          rg.sm_m
        );
      }
      static MBF() {
        return rg.sm_mbf || (rg.sm_mbf = su.e(rg.M())), rg.sm_mbf;
      }
      toObject(e = !1) {
        return rg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(rg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(rg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new rg();
        return rg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(rg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return rg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(rg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return rg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCloudGaming_CreateNonce_Response";
      }
    }
    class ig extends z_ {
      constructor(e = null) {
        super(),
          ig.prototype.appid || su.a(ig.M()),
          z_.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ig.sm_m ||
            (ig.sm_m = {
              proto: ig,
              fields: {
                appid: { n: 1, br: su.d.readUint32, bw: su.h.writeUint32 },
                minutes_remaining: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          ig.sm_m
        );
      }
      static MBF() {
        return ig.sm_mbf || (ig.sm_mbf = su.e(ig.M())), ig.sm_mbf;
      }
      toObject(e = !1) {
        return ig.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(ig.M(), e, t);
      }
      static fromObject(e) {
        return su.c(ig.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new ig();
        return ig.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(ig.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return ig.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(ig.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return ig.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCloudGaming_TimeRemaining";
      }
    }
    class sg extends z_ {
      constructor(e = null) {
        super(),
          sg.prototype.entries || su.a(sg.M()),
          z_.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          sg.sm_m ||
            (sg.sm_m = {
              proto: sg,
              fields: { entries: { n: 2, c: ig, r: !0, q: !0 } },
            }),
          sg.sm_m
        );
      }
      static MBF() {
        return sg.sm_mbf || (sg.sm_mbf = su.e(sg.M())), sg.sm_mbf;
      }
      toObject(e = !1) {
        return sg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(sg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(sg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new sg();
        return sg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(sg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return sg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(sg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return sg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CCloudGaming_GetTimeRemaining_Response";
      }
    }
    var og, lg;
    !(function (e) {
      (e.GetPasswordRSAPublicKey = function (e, t) {
        return e.SendMsg("Authentication.GetPasswordRSAPublicKey#1", t, W_, {
          bConstMethod: !0,
          ePrivilege: 0,
          eWebAPIKeyRequirement: 1,
        });
      }),
        (e.BeginAuthSessionViaQR = function (e, t) {
          return e.SendMsg("Authentication.BeginAuthSessionViaQR#1", t, q_, {
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.BeginAuthSessionViaCredentials = function (e, t) {
          return e.SendMsg(
            "Authentication.BeginAuthSessionViaCredentials#1",
            t,
            Q_,
            { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.PollAuthSessionStatus = function (e, t) {
          return e.SendMsg("Authentication.PollAuthSessionStatus#1", t, Z_, {
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetAuthSessionInfo = function (e, t) {
          return e.SendMsg("Authentication.GetAuthSessionInfo#1", t, J_, {
            ePrivilege: 1,
          });
        }),
        (e.UpdateAuthSessionWithMobileConfirmation = function (e, t) {
          return e.SendMsg(
            "Authentication.UpdateAuthSessionWithMobileConfirmation#1",
            t,
            $_,
            { ePrivilege: 1 },
          );
        }),
        (e.UpdateAuthSessionWithSteamGuardCode = function (e, t) {
          return e.SendMsg(
            "Authentication.UpdateAuthSessionWithSteamGuardCode#1",
            t,
            tg,
            { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.GenerateAccessTokenForApp = function (e, t) {
          return e.SendMsg(
            "Authentication.GenerateAccessTokenForApp#1",
            t,
            ng,
            { ePrivilege: 0, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.GetAuthSessionsForAccount = function (e, t) {
          return e.SendMsg(
            "Authentication.GetAuthSessionsForAccount#1",
            t,
            X_,
            { bConstMethod: !0, ePrivilege: 1 },
          );
        }),
        (e.MigrateMobileSession = function (e, t) {
          return e.SendMsg("Authentication.MigrateMobileSession#1", t, ag, {
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        });
    })(og || (og = {})),
      (function (e) {
        (e.CreateNonce = function (e, t) {
          return e.SendMsg("CloudGaming.CreateNonce#1", t, rg, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
          (e.GetTimeRemaining = function (e, t) {
            return e.SendMsg("CloudGaming.GetTimeRemaining#1", t, sg, {
              bConstMethod: !0,
              ePrivilege: 1,
            });
          });
      })(lg || (lg = {}));
    const cg = iu.Message;
    class dg extends cg {
      constructor(e = null) {
        super(),
          dg.prototype.state || su.a(dg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          dg.sm_m ||
            (dg.sm_m = {
              proto: dg,
              fields: {
                state: { n: 1, br: su.d.readUint32, bw: su.h.writeUint32 },
                inactivation_reason: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                authenticator_type: {
                  n: 3,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                authenticator_allowed: {
                  n: 4,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                steamguard_scheme: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                token_gid: { n: 6, br: su.d.readString, bw: su.h.writeString },
                email_validated: {
                  n: 7,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                device_identifier: {
                  n: 8,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                time_created: {
                  n: 9,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                revocation_attempts_remaining: {
                  n: 10,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                classified_agent: {
                  n: 11,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                allow_external_authenticator: {
                  n: 12,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                time_transferred: {
                  n: 13,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          dg.sm_m
        );
      }
      static MBF() {
        return dg.sm_mbf || (dg.sm_mbf = su.e(dg.M())), dg.sm_mbf;
      }
      toObject(e = !1) {
        return dg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(dg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(dg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new dg();
        return dg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(dg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return dg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(dg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return dg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_Status_Response";
      }
    }
    class ug extends cg {
      constructor(e = null) {
        super(),
          ug.prototype.shared_secret || su.a(ug.M()),
          cg.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: su.d.readBytes,
                  bw: su.h.writeBytes,
                },
                serial_number: {
                  n: 2,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                revocation_code: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                uri: { n: 4, br: su.d.readString, bw: su.h.writeString },
                server_time: {
                  n: 5,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                account_name: {
                  n: 6,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                token_gid: { n: 7, br: su.d.readString, bw: su.h.writeString },
                identity_secret: {
                  n: 8,
                  br: su.d.readBytes,
                  bw: su.h.writeBytes,
                },
                secret_1: { n: 9, br: su.d.readBytes, bw: su.h.writeBytes },
                status: { n: 10, br: su.d.readInt32, bw: su.h.writeInt32 },
                phone_number_hint: {
                  n: 11,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          ug.sm_m
        );
      }
      static MBF() {
        return ug.sm_mbf || (ug.sm_mbf = su.e(ug.M())), ug.sm_mbf;
      }
      toObject(e = !1) {
        return ug.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(ug.M(), e, t);
      }
      static fromObject(e) {
        return su.c(ug.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new ug();
        return ug.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(ug.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return ug.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(ug.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return ug.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_AddAuthenticator_Response";
      }
    }
    class mg extends cg {
      constructor(e = null) {
        super(), cg.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 iu.BinaryReader(e),
          n = new mg();
        return mg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return mg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return mg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_SendEmail_Response";
      }
    }
    class pg extends cg {
      constructor(e = null) {
        super(),
          pg.prototype.success || su.a(pg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          pg.sm_m ||
            (pg.sm_m = {
              proto: pg,
              fields: {
                success: { n: 1, br: su.d.readBool, bw: su.h.writeBool },
                want_more: { n: 2, br: su.d.readBool, bw: su.h.writeBool },
                server_time: {
                  n: 3,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                status: { n: 4, br: su.d.readInt32, bw: su.h.writeInt32 },
              },
            }),
          pg.sm_m
        );
      }
      static MBF() {
        return pg.sm_mbf || (pg.sm_mbf = su.e(pg.M())), pg.sm_mbf;
      }
      toObject(e = !1) {
        return pg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(pg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(pg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new pg();
        return pg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(pg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return pg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(pg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return pg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_FinalizeAddAuthenticator_Response";
      }
    }
    class hg extends cg {
      constructor(e = null) {
        super(),
          hg.prototype.success || su.a(hg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          hg.sm_m ||
            (hg.sm_m = {
              proto: hg,
              fields: {
                success: { n: 1, br: su.d.readBool, bw: su.h.writeBool },
                server_time: {
                  n: 3,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                revocation_attempts_remaining: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          hg.sm_m
        );
      }
      static MBF() {
        return hg.sm_mbf || (hg.sm_mbf = su.e(hg.M())), hg.sm_mbf;
      }
      toObject(e = !1) {
        return hg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(hg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(hg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new hg();
        return hg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(hg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return hg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(hg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return hg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_RemoveAuthenticator_Response";
      }
    }
    class _g extends cg {
      constructor(e = null) {
        super(),
          _g.prototype.codes || su.a(_g.M()),
          cg.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          _g.sm_m ||
            (_g.sm_m = {
              proto: _g,
              fields: {
                codes: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: su.d.readString,
                  bw: su.h.writeRepeatedString,
                },
              },
            }),
          _g.sm_m
        );
      }
      static MBF() {
        return _g.sm_mbf || (_g.sm_mbf = su.e(_g.M())), _g.sm_mbf;
      }
      toObject(e = !1) {
        return _g.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(_g.M(), e, t);
      }
      static fromObject(e) {
        return su.c(_g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new _g();
        return _g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(_g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return _g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(_g.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return _g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_CreateEmergencyCodes_Response";
      }
    }
    class gg extends cg {
      constructor(e = null) {
        super(), cg.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return gg.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new gg();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new gg();
        return gg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return gg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return gg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_DestroyEmergencyCodes_Response";
      }
    }
    class bg extends cg {
      constructor(e = null) {
        super(),
          bg.prototype.valid || su.a(bg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          bg.sm_m ||
            (bg.sm_m = {
              proto: bg,
              fields: {
                valid: { n: 1, br: su.d.readBool, bw: su.h.writeBool },
              },
            }),
          bg.sm_m
        );
      }
      static MBF() {
        return bg.sm_mbf || (bg.sm_mbf = su.e(bg.M())), bg.sm_mbf;
      }
      toObject(e = !1) {
        return bg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(bg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(bg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new bg();
        return bg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(bg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return bg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(bg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return bg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_ValidateToken_Response";
      }
    }
    class fg extends cg {
      constructor(e = null) {
        super(), cg.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return fg.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new fg();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new fg();
        return fg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return fg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return fg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_RemoveAuthenticatorViaChallengeStart_Request";
      }
    }
    class vg extends cg {
      constructor(e = null) {
        super(),
          vg.prototype.success || su.a(vg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          vg.sm_m ||
            (vg.sm_m = {
              proto: vg,
              fields: {
                success: { n: 1, br: su.d.readBool, bw: su.h.writeBool },
              },
            }),
          vg.sm_m
        );
      }
      static MBF() {
        return vg.sm_mbf || (vg.sm_mbf = su.e(vg.M())), vg.sm_mbf;
      }
      toObject(e = !1) {
        return vg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(vg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(vg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new vg();
        return vg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(vg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return vg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(vg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return vg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_RemoveAuthenticatorViaChallengeStart_Response";
      }
    }
    class Sg extends cg {
      constructor(e = null) {
        super(),
          Sg.prototype.sms_code || su.a(Sg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Sg.sm_m ||
            (Sg.sm_m = {
              proto: Sg,
              fields: {
                sms_code: { n: 1, br: su.d.readString, bw: su.h.writeString },
                generate_new_token: {
                  n: 2,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
              },
            }),
          Sg.sm_m
        );
      }
      static MBF() {
        return Sg.sm_mbf || (Sg.sm_mbf = su.e(Sg.M())), Sg.sm_mbf;
      }
      toObject(e = !1) {
        return Sg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Sg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Sg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Sg();
        return Sg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Sg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Sg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Sg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Sg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Request";
      }
    }
    class yg extends cg {
      constructor(e = null) {
        super(),
          yg.prototype.shared_secret || su.a(yg.M()),
          cg.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: su.d.readBytes,
                  bw: su.h.writeBytes,
                },
                serial_number: {
                  n: 2,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                revocation_code: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                uri: { n: 4, br: su.d.readString, bw: su.h.writeString },
                server_time: {
                  n: 5,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                account_name: {
                  n: 6,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                token_gid: { n: 7, br: su.d.readString, bw: su.h.writeString },
                identity_secret: {
                  n: 8,
                  br: su.d.readBytes,
                  bw: su.h.writeBytes,
                },
                secret_1: { n: 9, br: su.d.readBytes, bw: su.h.writeBytes },
                status: { n: 10, br: su.d.readInt32, bw: su.h.writeInt32 },
                steamguard_scheme: {
                  n: 11,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                steamid: {
                  n: 12,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          yg.sm_m
        );
      }
      static MBF() {
        return yg.sm_mbf || (yg.sm_mbf = su.e(yg.M())), yg.sm_mbf;
      }
      toObject(e = !1) {
        return yg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(yg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(yg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new yg();
        return yg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(yg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return yg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(yg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return yg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CRemoveAuthenticatorViaChallengeContinue_Replacement_Token";
      }
    }
    class Eg extends cg {
      constructor(e = null) {
        super(),
          Eg.prototype.success || su.a(Eg.M()),
          cg.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Eg.sm_m ||
            (Eg.sm_m = {
              proto: Eg,
              fields: {
                success: { n: 1, br: su.d.readBool, bw: su.h.writeBool },
                replacement_token: { n: 2, c: yg },
              },
            }),
          Eg.sm_m
        );
      }
      static MBF() {
        return Eg.sm_mbf || (Eg.sm_mbf = su.e(Eg.M())), Eg.sm_mbf;
      }
      toObject(e = !1) {
        return Eg.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Eg.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Eg.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Eg();
        return Eg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Eg.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Eg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Eg.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Eg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Response";
      }
    }
    class Cg extends cg {
      constructor(e = null) {
        super(), cg.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 iu.BinaryReader(e),
          n = new Cg();
        return Cg.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Cg.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Cg.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CTwoFactor_UpdateTokenVersion_Response";
      }
    }
    var wg;
    !(function (e) {
      (e.QueryStatus = function (e, t) {
        return e.SendMsg("TwoFactor.QueryStatus#1", t, dg, { ePrivilege: 1 });
      }),
        (e.AddAuthenticator = function (e, t) {
          return e.SendMsg("TwoFactor.AddAuthenticator#1", t, ug, {
            ePrivilege: 1,
          });
        }),
        (e.SendEmail = function (e, t) {
          return e.SendMsg("TwoFactor.SendEmail#1", t, mg, { ePrivilege: 1 });
        }),
        (e.FinalizeAddAuthenticator = function (e, t) {
          return e.SendMsg("TwoFactor.FinalizeAddAuthenticator#1", t, pg, {
            ePrivilege: 1,
          });
        }),
        (e.UpdateTokenVersion = function (e, t) {
          return e.SendMsg("TwoFactor.UpdateTokenVersion#1", t, Cg, {
            ePrivilege: 0,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.RemoveAuthenticator = function (e, t) {
          return e.SendMsg("TwoFactor.RemoveAuthenticator#1", t, hg, {
            ePrivilege: 9,
          });
        }),
        (e.CreateEmergencyCodes = function (e, t) {
          return e.SendMsg("TwoFactor.CreateEmergencyCodes#1", t, _g, {
            ePrivilege: 1,
          });
        }),
        (e.DestroyEmergencyCodes = function (e, t) {
          return e.SendMsg("TwoFactor.DestroyEmergencyCodes#1", t, gg, {
            ePrivilege: 1,
          });
        }),
        (e.ValidateToken = function (e, t) {
          return e.SendMsg("TwoFactor.ValidateToken#1", t, bg, {
            ePrivilege: 1,
          });
        }),
        (e.RemoveAuthenticatorViaChallengeStart = function (e, t) {
          return e.SendMsg(
            "TwoFactor.RemoveAuthenticatorViaChallengeStart#1",
            t,
            vg,
            { ePrivilege: 9, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.RemoveAuthenticatorViaChallengeContinue = function (e, t) {
          return e.SendMsg(
            "TwoFactor.RemoveAuthenticatorViaChallengeContinue#1",
            t,
            Eg,
            { ePrivilege: 9, eWebAPIKeyRequirement: 1 },
          );
        });
    })(wg || (wg = {}));
    var Bg,
      Og,
      Dg = n("H7XF");
    !(function (e) {
      (e[(e.None = 0)] = "None"),
        (e[(e.Generic = 1)] = "Generic"),
        (e[(e.Expired = 2)] = "Expired");
    })(Bg || (Bg = {})),
      (function (e) {
        (e[(e.k_Success = 0)] = "k_Success"),
          (e[(e.k_PrimaryDomainFail = 1)] = "k_PrimaryDomainFail"),
          (e[(e.k_SecondaryDomainFail = 2)] = "k_SecondaryDomainFail");
      })(Og || (Og = {}));
    class Ig {
      constructor(e, t, n) {
        (this.m_bRemoteInteraction = !1),
          (this.m_eFailureState = Bg.None),
          (this.m_transport = e),
          (this.m_onCompleteCallback = t),
          (this.m_ePlatformType = n);
      }
      StartPolling(e = !0) {
        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 Object(a.a)(this, void 0, void 0, function* () {
          try {
            const e = xt.b.Init(Y_);
            e.Body().set_client_id(this.m_strClientID),
              e.Body().set_request_id(this.m_rgRequestID);
            const t = yield og.PollAuthSessionStatus(this.m_transport, e),
              n = t.GetEResult();
            if (1 !== n) {
              if (2 === n) {
                const e = t.Hdr().transport_error();
                if (
                  (console.error(
                    `Failed to poll auth session. Result ${n}. Transport Error: ${e}`,
                  ),
                  2 === e || 3 === e)
                )
                  return (
                    window.setTimeout(
                      this.PollForUpdate,
                      this.m_msPollInterval,
                    ),
                    1
                  );
              }
              return (
                9 === n || 27 === n
                  ? (this.m_eFailureState = Bg.Expired)
                  : (console.error(`Failed to poll auth session. Result: ${n}`),
                    (this.m_eFailureState = Bg.Generic)),
                this.m_onCompleteCallback({ bSuccess: !1 }),
                n
              );
            }
            const {
              new_challenge_url: a,
              new_client_id: r,
              refresh_token: i,
              access_token: s,
              had_remote_interaction: o,
            } = t.Body().toObject();
            return (
              (this.m_bRemoteInteraction = !!o),
              i
                ? (this.m_onCompleteCallback({
                    bSuccess: !0,
                    strRefreshToken: i,
                    strAccessToken: s,
                  }),
                  n)
                : (a && (this.m_strChallengeURL = a),
                  r && (this.m_strClientID = r),
                  (this.m_activeTimerID = window.setTimeout(
                    this.PollForUpdate,
                    this.m_msPollInterval,
                  )),
                  n)
            );
          } catch (e) {
            return (
              console.error(`Failed to poll auth session. ${e}`),
              (this.m_eFailureState = Bg.Generic),
              this.m_onCompleteCallback({ bSuccess: !1 }),
              2
            );
          }
        });
      }
      GetFailureState() {
        return this.m_eFailureState;
      }
      BHadRemoteInteraction() {
        return this.m_bRemoteInteraction;
      }
    }
    function Tg(e) {
      const t = new FormData();
      t.append("nonce", e),
        t.append("sessionid", o.c.SESSIONID),
        t.append("redir", document.location.href);
      const n = `${o.c.LOGIN_BASE_URL}jwt/finalizelogin`;
      return F.a.post(n, t, { withCredentials: !0 }).then(
        (e) => {
          const { data: t } = e;
          if (
            !(
              t &&
              t.transfer_info &&
              t.steamID &&
              Array.isArray(t.transfer_info)
            )
          )
            return (
              console.error(
                "Result of finalizelogin does not match expecations!",
              ),
              Og.k_PrimaryDomainFail
            );
          const { transfer_info: n, steamID: r, primary_domain: i } = t;
          return Promise.all(
            n.map(({ url: e, params: t }) =>
              (function (e, t) {
                return Object(a.a)(this, void 0, void 0, function* () {
                  const n = new URL(e);
                  let a = !0;
                  try {
                    const r = new FormData();
                    Object.keys(t).forEach((e) => r.append(e, t[e]));
                    const i = yield F.a.post(e, r, {
                      withCredentials: !0,
                      timeout: 1e4,
                    });
                    200 !== i.status
                      ? (console.error(
                          `Transfer login to ${n.host} failed with status code: ${i.status}`,
                        ),
                        (a = !1))
                      : 1 !== i.data.result &&
                        (console.error(
                          `Transfer login to ${n.host} failed with result: ${i.data.result}`,
                        ),
                        (a = !1));
                  } catch (e) {
                    console.error(`Transfer login to ${n.host} failed: "${e}"`),
                      (a = !1);
                  }
                  return { bSuccess: a, domain: n.host };
                });
              })(e, Object.assign(Object.assign({}, t), { steamID: r })),
            ),
          ).then(
            (e) =>
              (function (e, t) {
                let n = Og.k_Success;
                return (
                  e.forEach((e) => {
                    e.bSuccess ||
                      (t && e.domain.toLowerCase() === t.toLowerCase()
                        ? (n = Og.k_PrimaryDomainFail)
                        : n == Og.k_Success && (n = Og.k_SecondaryDomainFail));
                  }),
                  n
                );
              })(e, i),
            () => Og.k_SecondaryDomainFail,
          );
        },
        () => (
          console.error("Failed to finalize login. Initial call failed."),
          Og.k_PrimaryDomainFail
        ),
      );
    }
    Object(a.b)([L.C], Ig.prototype, "m_strChallengeURL", void 0),
      Object(a.b)([L.C], Ig.prototype, "m_bRemoteInteraction", void 0),
      Object(a.b)([L.C], Ig.prototype, "m_eFailureState", void 0),
      Object(a.b)([Ul.a], Ig.prototype, "PollForUpdate", null);
    var Rg = n("5xvY");
    class jg extends Ig {
      constructor(e) {
        super(
          e.transport,
          (t) => {
            this.m_eStatus = t.bSuccess ? 14 : 15;
            const n = t.bSuccess
              ? Object.assign(Object.assign({}, t), {
                  strAccountName: this.m_strAccountName,
                  steamid: this.m_steamid,
                })
              : t;
            e.onComplete(n);
          },
          e.ePlatformType,
        ),
          (this.m_eStatus = 0),
          (this.m_strConfirmationAssociatedMessage = ""),
          (this.m_bUsingCodeOverride = !1),
          (this.m_strWeakAuthToken = "");
      }
      Start(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (0 !== this.m_eStatus && 2 !== this.m_eStatus)
            return (
              console.error(
                "Cannot start an already started auth session. Create a new session instance.",
              ),
              2
            );
          (this.m_eStatus = 1), (this.m_bUsingCodeOverride = !1);
          try {
            const r = yield (function (e, t) {
              return Object(a.a)(this, void 0, void 0, function* () {
                const n = xt.b.Init(U_);
                n.Body().set_account_name(t);
                try {
                  const t = yield og.GetPasswordRSAPublicKey(e, n);
                  if ((t.DEBUG_LogToConsole(), 1 !== t.GetEResult()))
                    return (
                      console.error(
                        `Failed to get RSA key with EResult: ${t.GetEResult()}`,
                      ),
                      null
                    );
                  const {
                    publickey_exp: a,
                    publickey_mod: r,
                    timestamp: i,
                  } = t.Body().toObject();
                  return a && r && i
                    ? { publickey_exp: a, publickey_mod: r, timestamp: i }
                    : (console.error(
                        `Missing expected field in RSA Key: ${JSON.stringify({ publickey_exp: a, publickey_mod: r, timestamp: i })}`,
                      ),
                      null);
                } catch (e) {
                  return console.error(`Failed to get RSA key: ${e}`), null;
                }
              });
            })(this.m_transport, e);
            if (!r)
              return (
                console.error(
                  "Cannot start auth session without a valid RSA key",
                ),
                2
              );
            const i = Object(Rg.c)(t, r),
              s = xt.b.Init(K_);
            s.Body().set_account_name(e),
              s.Body().set_encrypted_password(i),
              s.Body().set_encryption_timestamp(r.timestamp),
              s.Body().set_remember_login(!!n),
              s.Body().set_platform_type(this.m_ePlatformType),
              s.Body().set_device_friendly_name(window.navigator.userAgent),
              s.Body().set_persistence(n ? 1 : 0);
            const l = yield og.BeginAuthSessionViaCredentials(
              this.m_transport,
              s,
            );
            return Object(L.G)(() =>
              Object(a.a)(this, void 0, void 0, function* () {
                const t = l.GetEResult();
                if (1 !== t)
                  return 5 === t
                    ? ((this.m_eStatus = 2), t)
                    : (console.error(
                        `Failed to start auth session. Result: ${t}`,
                      ),
                      (this.m_eFailureState = Bg.Generic),
                      this.m_onCompleteCallback({ bSuccess: !1 }),
                      t);
                this.m_strAccountName = e;
                const {
                  client_id: n,
                  request_id: a,
                  interval: r,
                  allowed_confirmations: i,
                  steamid: s,
                  weak_token: c,
                } = l.Body().toObject();
                if (
                  ((this.m_msPollInterval = 1e3 * r),
                  (this.m_strClientID = n),
                  (this.m_rgRequestID = a),
                  (this.m_steamid = s),
                  (this.m_strWeakAuthToken = c),
                  i.find(({ confirmation_type: e }) => 6 === e))
                ) {
                  const e = new FormData();
                  e.append("sessionid", o.c.SESSIONID),
                    e.append("clientid", n),
                    e.append("steamid", this.m_steamid);
                  const t = `${o.c.STORE_BASE_URL}login/checkdevice`;
                  if (
                    1 ==
                    (yield F.a.post(t, e, { withCredentials: !0 })).data.result
                  )
                    return (this.m_eStatus = 4), this.StartPolling(!0), 1;
                }
                const d = (function (e) {
                    let t = e[0] || 0;
                    e.length > 1 && (t = e.sort((e, t) => Ag[e] - Ag[t])[0]);
                    return t;
                  })(i.map(({ confirmation_type: e }) => e)),
                  u = i.find(({ confirmation_type: e }) => e === d);
                switch (
                  (u &&
                    u.associated_message &&
                    (this.m_strConfirmationAssociatedMessage =
                      u.associated_message),
                  d)
                ) {
                  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;
                    break;
                  case 4:
                    (this.m_eStatus = 6), this.StartPolling(!1);
                }
                return t;
              }),
            );
          } catch (e) {
            return (
              console.error(`Failed to start auth session. ${e}`),
              (this.m_eFailureState = Bg.Generic),
              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;
      }
      SendSteamGuardCode(e, t = !0) {
        return Object(a.a)(this, void 0, void 0, function* () {
          try {
            const n = 3 === this.m_eStatus || 10 === this.m_eStatus,
              a = xt.b.Init(eg);
            a.Body().set_client_id(this.m_strClientID),
              a.Body().set_steamid(this.m_steamid),
              a.Body().set_code(e),
              a.Body().set_code_type(n ? 2 : 3);
            const r = (yield og.UpdateAuthSessionWithSteamGuardCode(
              this.m_transport,
              a,
            )).GetEResult();
            if (1 !== r) {
              if (!t) return r;
              switch (r) {
                case 65:
                case 88:
                  return (this.m_eStatus = n ? 10 : 11), r;
                case 27:
                  return (
                    (this.m_eFailureState = Bg.Expired),
                    this.m_onCompleteCallback({ bSuccess: !1 }),
                    r
                  );
                default:
                  return (
                    console.error(
                      `Failed to update auth session with SG code. Result: ${r}`,
                    ),
                    (this.m_eFailureState = Bg.Generic),
                    this.m_onCompleteCallback({ bSuccess: !1 }),
                    r
                  );
              }
            }
            return (this.m_eStatus = 13), this.StartPolling(), r;
          } catch (e) {
            return (
              console.error(`Failed to update auth session with SG code. ${e}`),
              (this.m_eFailureState = Bg.Generic),
              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 console.error(
              `Don't know how to UseCodeOverride from login session status ${this.m_eStatus}`,
            );
        }
      }
      CantAccessCode() {
        console.log("can't access code"), (this.m_eStatus = 7);
      }
      StartMoveAuthenticator() {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.m_weakAuthWebInterface = new au.a(
            o.c.WEBAPI_BASE_URL,
            this.m_strWeakAuthToken,
          );
          try {
            const e = xt.b.Init(fg),
              t = yield wg.RemoveAuthenticatorViaChallengeStart(
                this.m_weakAuthWebInterface.GetServiceTransport(),
                e,
              );
            1 != t.GetEResult()
              ? (t.DEBUG_LogToConsole(),
                console.error(
                  "An unexpected error occured while adding an authenticator",
                  t.GetEResult(),
                ),
                (this.m_eFailureState = Bg.Generic),
                (this.m_eStatus = 15))
              : (console.log("Server sent us an SMS"), (this.m_eStatus = 8));
          } catch (e) {
            console.error(
              "An unexpected error occured while moving an authenticator",
              e,
            ),
              (this.m_eFailureState = Bg.Generic),
              (this.m_eStatus = 15);
          }
        });
      }
      ResendMoveCode() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = xt.b.Init(fg),
            t = yield wg.RemoveAuthenticatorViaChallengeStart(
              this.m_weakAuthWebInterface.GetServiceTransport(),
              e,
            );
          1 != t.GetEResult()
            ? (t.DEBUG_LogToConsole(),
              console.error(
                "An unexpected error occured while adding an authenticator",
                t.GetEResult(),
              ),
              (this.m_eFailureState = Bg.Generic),
              (this.m_eStatus = 15))
            : (console.log("Server resent us an SMS"), (this.m_eStatus = 8));
        });
      }
      FinishMoveAuthenticator(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(Sg);
          t.Body().set_sms_code(e), t.Body().set_generate_new_token(!0);
          const n = yield wg.RemoveAuthenticatorViaChallengeContinue(
            this.m_weakAuthWebInterface.GetServiceTransport(),
            t,
          );
          94 == n.GetEResult()
            ? (console.log(`Invalid SMS code for authenticator move ${e}`),
              (this.m_eStatus = 12))
            : n.Body().success()
              ? ((this.m_replacementAuthenticator = (function (e) {
                  const {
                      shared_secret: t,
                      identity_secret: n,
                      secret_1: r,
                      status: i,
                      uri: s,
                      server_time: o,
                    } = e,
                    l = Object(a.c)(e, [
                      "shared_secret",
                      "identity_secret",
                      "secret_1",
                      "status",
                      "uri",
                      "server_time",
                    ]);
                  return Object.assign(
                    {
                      shared_secret: Dg.fromByteArray(t),
                      identity_secret: Dg.fromByteArray(n),
                      secret_1: Dg.fromByteArray(r),
                    },
                    l,
                  );
                })(n.Body().replacement_token().toObject())),
                console.log(
                  "Server sent us a replacement token",
                  this.m_replacementAuthenticator,
                ),
                (this.m_eStatus = 9),
                (this.m_bUsingCodeOverride = !1))
              : (n.DEBUG_LogToConsole(),
                console.error(
                  "Error when calling RemoveAuthenticatorViaChallengeContinue",
                  n.GetEResult(),
                ),
                (this.m_eFailureState = Bg.Generic),
                (this.m_eStatus = 15));
        });
      }
      FinishMoveRecovery() {
        console.log(
          "Moving to hand the code to the server and finish the login",
        ),
          (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 console.error(
              `Don't know how to GoBack from login session status ${this.m_eStatus}`,
            );
        }
      }
    }
    Object(a.b)([L.C], jg.prototype, "m_eStatus", void 0),
      Object(a.b)([u.b], jg.prototype, "Start", null),
      Object(a.b)([u.b], jg.prototype, "SendSteamGuardCode", null),
      Object(a.b)([u.b], jg.prototype, "UseCodeOverride", null),
      Object(a.b)([u.b], jg.prototype, "CantAccessCode", null),
      Object(a.b)([u.b], jg.prototype, "StartMoveAuthenticator", null),
      Object(a.b)([u.b], jg.prototype, "ResendMoveCode", null),
      Object(a.b)([u.b], jg.prototype, "FinishMoveAuthenticator", null),
      Object(a.b)([u.b], jg.prototype, "FinishMoveRecovery", null),
      Object(a.b)([u.b], jg.prototype, "GoBack", null);
    const Ag = [4, 3, 2, 1, 0, 5].reduce((e, t, n) => ((e[t] = n), e), {});
    function kg(e) {
      return /[23456789BCDFGHJKMNPQRTVWXY]*/g.test(e) && e.length <= 5;
    }
    class Mg extends Ig {
      constructor(e) {
        super(
          e.transport,
          (t) => {
            (this.m_eStatus = t.bSuccess ? 3 : 4), e.onComplete(t);
          },
          e.ePlatformType,
        ),
          (this.m_eStatus = 0);
      }
      Start() {
        return Object(a.a)(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 {
            const e = xt.b.Init(V_);
            e.Body().set_platform_type(this.m_ePlatformType),
              e.Body().set_device_friendly_name(window.navigator.userAgent);
            const t = yield og.BeginAuthSessionViaQR(this.m_transport, e),
              n = t.GetEResult();
            if (1 !== n)
              return (
                console.error(`Failed to start auth session. Result: ${n}`),
                (this.m_eFailureState = Bg.Generic),
                this.m_onCompleteCallback({ bSuccess: !1 }),
                n
              );
            const {
              client_id: a,
              challenge_url: r,
              interval: i,
              request_id: s,
            } = t.Body().toObject();
            return (
              (this.m_strClientID = a),
              (this.m_strChallengeURL = r),
              (this.m_msPollInterval = 1e3 * i),
              (this.m_rgRequestID = s),
              (this.m_eStatus = 2),
              this.StartPolling(!1),
              n
            );
          } catch (e) {
            return (
              console.error(`Failed to start auth session. ${e}`),
              (this.m_eFailureState = Bg.Generic),
              this.m_onCompleteCallback({ bSuccess: !1 }),
              2
            );
          }
        });
      }
      Stop() {
        this.StopPolling(), (this.m_eStatus = 5);
      }
      GetChallengeURL() {
        return this.m_strChallengeURL;
      }
      GetStatus() {
        return this.m_eStatus;
      }
    }
    Object(a.b)([L.C], Mg.prototype, "m_eStatus", void 0);
    var Pg,
      Lg = n("UOqq"),
      Gg = n.n(Lg),
      Ng = n("tmER"),
      Fg = n.n(Ng),
      xg = n("W+VK"),
      zg = n.n(xg);
    function Ug(e) {
      let { quality: t, children: n, className: a, activeBitStyle: s } = e;
      void 0 === t && (t = Pg.M), (s = s || {});
      const o = (function (e, t = {}) {
        const { typeNumber: n, errorCorrectLevel: a } = t,
          [i, s] = Object(r.useState)();
        return (
          Object(r.useEffect)(() => {
            s(Fg()(e, { typeNumber: n, errorCorrectLevel: a }).modules);
          }, [e, n, a]),
          i
        );
      })(n, { typeNumber: 6, errorCorrectLevel: t });
      if (!o) return null;
      const l = Object(h.a)(zg.a.Bit),
        c = Object(h.a)(zg.a.Bit, zg.a.Active),
        d = [];
      for (let e = 0; e < o.length; e++)
        for (let t = 0; t < o.length; t++) {
          const n = o[e][t],
            a = n ? c : l;
          d.push(
            i.a.createElement("div", {
              key: `${e}_${t}`,
              className: a,
              style: n ? s : {},
            }),
          );
        }
      return i.a.createElement(
        "div",
        {
          className: Object(h.a)(zg.a.QRBits, a),
          style: { gridTemplateColumns: `repeat( ${o.length}, 1fr )` },
        },
        d,
      );
    }
    !(function (e) {
      (e[(e.L = 1)] = "L"),
        (e[(e.M = 0)] = "M"),
        (e[(e.Q = 3)] = "Q"),
        (e[(e.H = 2)] = "H");
    })(Pg || (Pg = {}));
    var Wg = n("k73m"),
      Hg = n.n(Wg);
    function Vg(e) {
      const { transport: t, onComplete: n, onStatusChange: a, platform: s } = e,
        {
          eStatus: l,
          strChallengeURL: c,
          bHadRemoteInteraction: d,
          reset: u,
        } = (function (e) {
          const [t, n] = Object(r.useState)(new Mg(e));
          return (
            Object(r.useEffect)(
              () => (
                t.Start(),
                () => {
                  t.Stop();
                }
              ),
              [t],
            ),
            Object(zt.d)(() => ({
              strChallengeURL: t.GetChallengeURL(),
              eFailureStatue: t.GetFailureState(),
              eStatus: t.GetStatus(),
              bHadRemoteInteraction: t.BHadRemoteInteraction(),
              reset: () => n(new Mg(e)),
            }))
          );
        })({ transport: t, onComplete: n, ePlatformType: s });
      Object(r.useEffect)(() => a && a(l), [a, l]);
      const m = 2 === l ? c : o.c.STORE_BASE_URL,
        p = 0 === l || 1 === l || d,
        _ = 4 === l,
        g = 3 === l,
        b = p || _ || g;
      return i.a.createElement(
        "div",
        { className: Hg.a.Column },
        i.a.createElement(
          "div",
          { className: Hg.a.LoginQR },
          i.a.createElement(
            Ug,
            {
              quality: qg(m),
              className: Object(h.a)(Hg.a.LoginQR, b && Hg.a.Blur),
            },
            m,
          ),
          b &&
            i.a.createElement(
              "div",
              { className: Hg.a.Overlay },
              i.a.createElement(
                "div",
                { className: Hg.a.Box },
                p && i.a.createElement(Kg, { size: "small" }),
                _ && i.a.createElement(Qg, { reset: u }),
                g && i.a.createElement(Yg, null),
              ),
            ),
        ),
      );
    }
    function qg(e) {
      return e.length <= 90 ? Pg.Q : void 0;
    }
    function Kg(e) {
      const { size: t } = e;
      return i.a.createElement("div", {
        className: Object(h.a)(
          Hg.a.Loading,
          "small" == t && Hg.a.Small,
          ("medium" == t || !t) && Hg.a.Medium,
          "large" == t && Hg.a.Large,
        ),
      });
    }
    function Qg(e) {
      return i.a.createElement(
        "svg",
        {
          onClick: e.reset,
          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",
        },
        i.a.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",
        }),
        i.a.createElement("polygon", {
          points: "147.639,108.361 245.755,10.166 245.834,108.361",
          fill: "#fff",
        }),
      );
    }
    function Yg() {
      return i.a.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",
        },
        i.a.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 Zg = Object(r.createContext)(!1),
      Jg = () => Object(r.useContext)(Zg);
    function Xg() {
      return i.a.createElement(
        "div",
        { className: Gg.a.Login },
        i.a.createElement(_b, {
          reset: () => window.location.reload(),
          failure: Bg.Generic,
        }),
      );
    }
    function $g(e) {
      return i.a.createElement(
        eb,
        Object.assign({}, e, {
          onSuccess: (t) => {
            const { strRefreshToken: n } = t;
            Tg(n).then(
              (t) => e.onComplete(t),
              () => e.onComplete(Og.k_PrimaryDomainFail),
            );
          },
          embedded: "modal" === e.theme,
        }),
      );
    }
    function eb(e) {
      const { embedded: t } = e,
        n = Object(a.c)(e, ["embedded"]);
      return i.a.createElement(
        Zg.Provider,
        { value: t },
        i.a.createElement(
          "div",
          { className: Gg.a.Login },
          i.a.createElement(tb, Object.assign({}, n)),
        ),
      );
    }
    function tb(e) {
      const {
          transport: t,
          onSuccess: n,
          platform: a,
          disableQR: s,
          autoFocus: l,
          renderSuccess: c = () => i.a.createElement(Mb, null),
        } = e,
        d = ({ bSuccess: e, strRefreshToken: t, strAccessToken: a }) => {
          e && n({ strRefreshToken: t, strAccessToken: a });
        };
      let {
        eStatus: u,
        eFailureState: m,
        strConfirmationAssociatedMessage: p,
        strAccountName: h,
        start: _,
        reset: g,
        addCode: b,
        goBack: f,
        useCodeOverride: v,
      } = (function (e) {
        const [t, n] = Object(r.useState)(new jg(e));
        return Object(zt.d)(() => ({
          strAccountName: t.GetAccountName(),
          steamid: t.GetSteamID(),
          eFailureState: t.GetFailureState(),
          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: () => n(new jg(e)),
          goBack: t.GoBack,
        }));
      })({ transport: t, onComplete: d, ePlatformType: a });
      const [S, y] = Object(r.useState)(0),
        E = Jg(),
        C = ({ strAccountName: e, strPassword: t, bRememberMe: n }) =>
          _(e, t, n);
      if (!!(0 === u || 1 === u || 2 === u)) {
        const e = i.a.createElement(
          "div",
          { className: Gg.a.SideBySide },
          i.a.createElement(ab, { onSubmit: C, status: u, autoFocus: l }),
          !s &&
            i.a.createElement(
              "div",
              { className: Gg.a.QRSection },
              i.a.createElement(
                ib,
                { highlight: !0 },
                Object($.f)("#Login_SignIn_OrWithQRCode"),
              ),
              i.a.createElement(
                "div",
                { className: Gg.a.QR },
                i.a.createElement(Vg, {
                  onStatusChange: y,
                  transport: t,
                  onComplete: d,
                  platform: a,
                }),
              ),
              i.a.createElement(
                Bb,
                { href: `${o.c.STORE_BASE_URL}mobile`, align: "center" },
                Object($.f)("#Login_GetMobileApp_Link"),
              ),
            ),
        );
        if (E) {
          let t = o.c.IN_CLIENT;
          return i.a.createElement(
            Db,
            { gap: 36, className: Gg.a.EmbeddedRoot },
            !t &&
              i.a.createElement(
                "div",
                {
                  style: { fontSize: "14px", color: "#d8d632", width: "380px" },
                },
                "QR code functionality is currently limited to play testers with the updated app. Inquire in the mobile slack channel.",
              ),
            i.a.createElement(kb, { className: Gg.a.HeaderLogo }),
            !t && i.a.createElement(nb, null),
            e,
            i.a.createElement(
              "div",
              { className: Gg.a.EmbeddedRootFooter },
              i.a.createElement(
                Bb,
                {
                  href: `${o.c.HELP_BASE_URL}wizard/HelpWithLogin?redir=${encodeURIComponent(document.location.href)}`,
                },
                Object($.f)("#Login_Help_SignIn"),
              ),
              i.a.createElement(
                "div",
                { className: Gg.a.AccountCreation },
                i.a.createElement(
                  "span",
                  { className: Gg.a.AccountCreationPrompt },
                  Object($.f)("#Login_NoSteamAccount"),
                ),
                i.a.createElement(
                  Bb,
                  { inline: !0, href: `${o.c.STORE_BASE_URL}join/` },
                  Object($.f)("#Login_CreateAccount"),
                ),
              ),
            ),
            !t && !1,
          );
        }
        const n = i.a.createElement(
          "div",
          { style: { display: "flex", flexDirection: "column", gap: "8px" } },
          i.a.createElement(
            "div",
            { style: { fontSize: "14px", color: "#d8d632", width: "380px" } },
            "QR code functionality is currently limited to play testers with the updated app. Inquire in the mobile slack channel.",
          ),
          i.a.createElement(
            "div",
            { className: Gg.a.PrimaryHeader },
            Object($.f)("#Login_SignIn"),
          ),
          i.a.createElement(nb, null),
        );
        return i.a.createElement(Ab, { title: n }, e, !1);
      }
      switch (u) {
        case 1:
        case 13:
          return i.a.createElement(hb, null);
        case 5:
        case 11:
        case 3:
        case 10:
          const e = 5 === u || 11 === u;
          return i.a.createElement(bb, {
            type: e ? "mobile" : "email",
            onSubmitCode: b,
            status: u,
            associatedLabel: p,
            accountName: h,
            onBack: f,
          });
        case 6:
        case 4:
          const t = 6 === u;
          return i.a.createElement(wb, {
            type: t ? "mobile" : "email",
            accountName: h,
            onUseCodeOverride: v,
          });
        case 16:
          return i.a.createElement(gb, { reset: g });
        case 15:
          return i.a.createElement(_b, { reset: g, failure: m });
        case 14:
          return i.a.createElement(Ab, { compact: !0 }, c());
        default:
          return (
            console.error(`Unknown Phase: ${u}`),
            i.a.createElement(_b, { reset: g, failure: Bg.Generic })
          );
      }
    }
    function nb() {
      const e = window.location.href.includes("?")
        ? window.location.href + "&oldauth=1"
        : window.location.href + "?oldauth=1";
      return i.a.createElement(
        "div",
        { style: { fontSize: "12px" } },
        "Having trouble with new login? ",
        i.a.createElement(
          "a",
          { href: e, style: { textDecoration: "underline" } },
          "Click here",
        ),
        " to use the old experience.",
      );
    }
    function ab(e) {
      const { onSubmit: t, status: n, autoFocus: a } = e,
        [s, l] = Object(r.useState)(""),
        [c, d] = Object(r.useState)(""),
        [u, m] = Object(r.useState)(!1),
        [p, h] = Object(r.useState)(!1),
        _ = Jg(),
        g = 2 === n && !p,
        b = g
          ? i.a.createElement(pb, null, Object($.f)("#Login_CheckCredentials"))
          : i.a.createElement(pb, null, " ");
      return i.a.createElement(
        Ob,
        {
          onSubmit: () => {
            p &&
              t({ strAccountName: s, strPassword: c, bRememberMe: u }).then(
                () => h(!1),
              );
          },
          className: Gg.a.LoginForm,
        },
        i.a.createElement(rb, {
          tone: g ? "danger" : void 0,
          label: i.a.createElement(
            ib,
            { highlight: !0 },
            Object($.f)("#Login_SignIn_WithAccountName"),
          ),
          value: s,
          onChange: (e) => {
            h(!0), l(e);
          },
          autoFocus: a,
        }),
        i.a.createElement(rb, {
          tone: g ? "danger" : void 0,
          label: i.a.createElement(ib, null, Object($.f)("#Login_Password")),
          value: c,
          onChange: (e) => {
            h(!0), d(e);
          },
          type: "password",
        }),
        i.a.createElement(lb, {
          label: Object($.f)("#Login_RememberMe_Short"),
          value: u,
          onChange: m,
        }),
        i.a.createElement(db, null),
        b,
        !_ &&
          i.a.createElement(
            Bb,
            {
              href: `${o.c.HELP_BASE_URL}wizard/HelpWithLogin?redir=${encodeURIComponent(document.location.href)}`,
              align: "center",
            },
            Object($.f)("#Login_Help_SignIn"),
          ),
      );
    }
    function rb(e) {
      const { label: t, error: n, tone: r, autoFocus: s } = e,
        o = Object(a.c)(e, ["label", "error", "tone", "autoFocus"]),
        l = null != r ? r : n ? "danger" : void 0;
      return i.a.createElement(
        "div",
        { className: Gg.a.TextField },
        "string" == typeof t ? i.a.createElement(ib, null, t) : t,
        i.a.createElement(ob, { type: "error" }, n),
        i.a.createElement(sb, Object.assign({ autoFocus: s, tone: l }, o)),
      );
    }
    function ib(e) {
      const { children: t, highlight: n } = e;
      return i.a.createElement(
        "div",
        { className: Object(h.a)(Gg.a.FieldLabel, n && Gg.a.Highlight) },
        t,
      );
    }
    function sb(e) {
      const {
        value: t,
        onChange: n,
        type: a = "text",
        tone: r,
        className: s,
        autoFocus: o,
      } = e;
      return i.a.createElement("input", {
        value: t,
        type: a,
        autoFocus: o,
        onChange: (e) => n(e.target.value),
        className: Object(h.a)(
          Gg.a.TextInput,
          "danger" === r && Gg.a.Danger,
          s,
        ),
      });
    }
    function ob(e) {
      const { children: t, type: n } = e;
      return i.a.createElement(
        "div",
        { className: Object(h.a)(Gg.a.FieldHint, "error" === n && Gg.a.Error) },
        t,
      );
    }
    function lb(e) {
      const { label: t, onChange: n, value: a } = e;
      let r = () => {
        n && n(!a);
      };
      return i.a.createElement(
        "div",
        {
          className: Gg.a.CheckboxField,
          onClick: r,
          onKeyPress: (e) => {
            (" " != e.key && "Enter" != e.key) || r();
          },
        },
        i.a.createElement(cb, { value: a }),
        i.a.createElement("div", { className: Gg.a.CheckboxFieldLabel }, t),
      );
    }
    function cb(e) {
      const { value: t } = e;
      return i.a.createElement(
        "div",
        { tabIndex: 0, className: Gg.a.Checkbox },
        t && i.a.createElement("div", { className: Gg.a.Check }),
      );
    }
    function db() {
      return i.a.createElement(
        "div",
        { className: Gg.a.SignInButtonContainer },
        i.a.createElement(ub, null, Object($.f)("#Login_SignIn")),
      );
    }
    function ub(e) {
      return i.a.createElement(mb, Object.assign({ type: "submit" }, e));
    }
    function mb(e) {
      return i.a.createElement(
        "button",
        Object.assign({ className: Gg.a.SubmitButton }, e),
      );
    }
    function pb(e) {
      const t = e.children || " ";
      return i.a.createElement("div", { className: Gg.a.FormError }, t);
    }
    function hb() {
      return i.a.createElement(
        Ab,
        { compact: !0 },
        i.a.createElement(
          Db,
          { alignItems: "center" },
          i.a.createElement(ee.a, null),
        ),
      );
    }
    function _b(e) {
      const { reset: t, failure: n } = e,
        { title: a, description: r } = (function (e) {
          switch (e) {
            case Bg.None:
              return { title: "", description: "" };
            case Bg.Expired:
              return {
                title: Object($.f)("#Login_Error_Expired_Title"),
                description: Object($.f)("#Login_Error_Expired_Description"),
              };
            case Bg.Generic:
            default:
              return {
                title: Object($.f)("#Error_Generic"),
                description: Object($.f)("#Login_Error_Default_Description"),
              };
          }
        })(n);
      return i.a.createElement(
        Ab,
        { compact: !0 },
        i.a.createElement(
          Db,
          { alignItems: "center", gap: 12 },
          i.a.createElement("div", { className: Gg.a.FailureTitle }, a),
          i.a.createElement("div", { className: Gg.a.FailureDescription }, r),
          i.a.createElement(mb, { onClick: t }, Object($.f)("#Button_Back")),
        ),
      );
    }
    function gb(e) {
      const { reset: t } = e;
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement("div", null, "The login process was stopped."),
        i.a.createElement("button", { onClick: t }, "Reset"),
      );
    }
    function bb(e) {
      const {
          type: t,
          onSubmitCode: n,
          status: a,
          accountName: s,
          associatedLabel: l,
          onBack: c,
        } = e,
        [d, u] = Object(r.useState)([]),
        [m, p] = Object(r.useState)(!1),
        [h, _] = Object(r.useState)(!1),
        g = d.join(""),
        b = (function (e) {
          return kg(e) && 5 === e.length;
        })(g),
        f = () => {
          b && n(g).then(() => p(!1));
        };
      Object(r.useEffect)(() => {
        h && (_(!1), f());
      }, [h]);
      const v = !m && (11 === a || 10 === a),
        S = i.a.createElement(
          Bb,
          {
            href: `${o.c.HELP_BASE_URL}wizard/HelpWithLoginInfo?lost=8&issueid=402`,
            align: "center",
          },
          Object($.f)("#Login_Help_AccessMobileApp"),
        );
      return i.a.createElement(
        Ab,
        {
          title: Object($.f)("#Login_Title_SteamGuard"),
          bottom: S,
          compact: !0,
        },
        i.a.createElement(
          Ob,
          { onSubmit: f },
          i.a.createElement(
            Db,
            { alignItems: "center", gap: 20 },
            i.a.createElement(Sb, { type: t, accountName: s }),
            i.a.createElement(
              Db,
              { gap: 12, alignItems: "center" },
              i.a.createElement(
                Db,
                { alignItems: "center", gap: 2 },
                v &&
                  i.a.createElement(
                    pb,
                    null,
                    Object($.f)("#Login_IncorrectSteamGuard"),
                  ),
                i.a.createElement(Tb, {
                  value: d,
                  onChange: (e) => {
                    m || p(!0), u(e);
                  },
                  onPaste: () => {
                    _(!0);
                  },
                  tone: v ? "danger" : void 0,
                }),
              ),
              i.a.createElement(
                ub,
                { disabled: !b },
                Object($.f)("#Button_Go"),
              ),
            ),
            "mobile" === t
              ? i.a.createElement(fb, null)
              : i.a.createElement(vb, { emailAddress: l }),
          ),
        ),
      );
    }
    function fb() {
      return i.a.createElement(
        Ib,
        {
          justifyContent: "space-evenly",
          alignItems: "center",
          className: Gg.a.EnterCodeFromMobileContainer,
        },
        i.a.createElement(
          "div",
          { className: Gg.a.EnterCodeFromMobile },
          Object($.f)("#Login_EnterMobileCode"),
        ),
        i.a.createElement(Eb, { className: Gg.a.AwaitingMobileConfIcon }),
      );
    }
    function vb(e) {
      return i.a.createElement(
        Ib,
        {
          justifyContent: "space-evenly",
          alignItems: "center",
          className: Gg.a.EnterCodeFromEmailContainer,
        },
        i.a.createElement(
          jb,
          { align: "center", spacing: 6 },
          i.a.createElement(
            "div",
            { className: Gg.a.EnterCodeFromEmail },
            Object($.o)(
              "#Login_EnterEmailCode",
              i.a.createElement(
                "span",
                { className: Gg.a.EnterCodeEmailAddress },
                e.emailAddress,
              ),
            ),
          ),
        ),
        i.a.createElement(Cb, { className: Gg.a.AwaitingMobileConfIcon }),
      );
    }
    function Sb(e) {
      const { accountName: t, type: n } = e,
        a =
          "mobile" === n
            ? Object($.f)("#Login_MobileProtectingAccount")
            : Object($.f)("#Login_EmailProtectingAccount"),
        r = Jg();
      return i.a.createElement(
        "div",
        { className: Gg.a.ProtectingAccount },
        i.a.createElement(
          "div",
          { className: Gg.a.Label },
          Object($.o)(
            "#Login_ActiveAccountName",
            i.a.createElement("span", { className: Gg.a.AccountName }, t),
          ),
        ),
        !r && i.a.createElement("div", { className: Gg.a.Description }, a),
      );
    }
    function yb() {
      return i.a.createElement(
        Db,
        { gap: 10, alignItems: "center" },
        i.a.createElement(
          "div",
          { className: Gg.a.AwaitingMobileConfText },
          Object($.f)("#Login_AwaitingMobileConfirmation"),
        ),
        i.a.createElement(Eb, { className: Gg.a.AwaitingMobileConfIcon }),
      );
    }
    function Eb(e) {
      return i.a.createElement(
        "svg",
        { viewBox: "0 0 55 49", fill: "none", className: e.className },
        i.a.createElement("path", {
          d: "M36.1497 0.664062H18.7667C16.0532 0.664062 13.8485 2.86796 13.8485 5.49568V43.3009C13.8485 46.0134 16.0532 48.1326 18.7667 48.1326H36.0649C38.7784 48.1326 40.9831 45.9287 40.9831 43.3009V5.49568C40.9831 2.78319 38.8632 0.664062 36.1497 0.664062ZM38.1848 43.3009C38.1848 44.4029 37.2521 45.3353 36.1497 45.3353H18.7667C17.6643 45.3353 16.7316 44.4029 16.7316 43.3009V42.1142H38.1848V43.3009ZM38.1848 39.317H16.7316V9.73394H38.1848V39.317ZM38.1848 6.93669H16.7316V5.49568C16.7316 4.39373 17.6643 3.46131 18.7667 3.46131H36.0649C37.1673 3.46131 38.1 4.39373 38.1 5.49568V6.93669H38.1848ZM44.7988 14.7351C44.2053 14.9894 43.9509 15.5827 44.1205 16.1761C45.7316 20.3296 45.7316 24.9069 44.1205 29.0604C43.8661 29.6538 44.2053 30.3319 44.7988 30.5014C44.9684 30.5862 45.0532 30.5862 45.2228 30.5862C45.7316 30.5862 46.1556 30.3319 46.3252 29.8233C48.1907 25.1612 48.1907 19.9905 46.3252 15.2437C46.0708 14.8198 45.3924 14.4808 44.7988 14.7351ZM10.1176 14.7351C9.52399 14.4808 8.84562 14.8198 8.67603 15.4132C6.81054 20.0753 6.81054 25.246 8.67603 29.9928C8.84562 30.4166 9.2696 30.7557 9.77837 30.7557C9.94796 30.7557 10.0328 30.7557 10.2023 30.6709C10.7959 30.4166 11.0503 29.8233 10.8807 29.2299C9.2696 25.0764 9.2696 20.4991 10.8807 16.3456C10.9655 15.5827 10.7111 14.9894 10.1176 14.7351ZM52.3456 11.9378C52.0912 11.3445 51.4977 11.0902 50.9041 11.2597C50.3105 11.514 50.0562 12.1074 50.2257 12.7007V12.7855C52.9392 19.0581 52.9392 26.2631 50.2257 32.451C50.1409 32.7053 50.0562 33.0444 50.2257 33.2987C50.3105 33.553 50.5649 33.8072 50.8193 33.892C50.9889 33.9768 51.0737 33.9768 51.2433 33.9768C51.6673 33.9768 52.0912 33.7225 52.2608 33.2987C55.3135 26.6022 55.3135 18.719 52.3456 11.9378ZM4.69065 12.7855C4.94504 12.1921 4.69065 11.514 4.09709 11.2597C3.8427 11.1749 3.50352 11.0902 3.24913 11.2597C2.99475 11.3445 2.74036 11.5988 2.65557 11.8531C-0.312272 18.719 -0.312272 26.5174 2.65557 33.3834C2.82516 33.8072 3.24913 34.0615 3.67311 34.0615C3.8427 34.0615 4.01229 34.0615 4.09709 33.9768C4.35147 33.892 4.60586 33.6377 4.69065 33.3834C4.77545 33.1291 4.77545 32.7901 4.69065 32.5358C1.9772 26.2631 1.9772 19.0581 4.69065 12.7855ZM20.3778 15.9218C21.2257 15.9218 21.8193 15.2437 21.8193 14.4808C21.8193 13.7179 21.1409 13.0398 20.3778 13.0398C19.6146 13.0398 18.9363 13.7179 18.9363 14.4808C18.9363 15.2437 19.6146 15.9218 20.3778 15.9218ZM24.1088 15.9218C24.9567 15.9218 25.5503 15.2437 25.5503 14.4808C25.5503 13.7179 24.8719 13.0398 24.1088 13.0398C23.2608 13.0398 22.6673 13.7179 22.6673 14.4808C22.5825 15.2437 23.2608 15.9218 24.1088 15.9218ZM27.755 15.9218C28.6029 15.9218 29.1965 15.2437 29.1965 14.4808C29.1965 13.7179 28.5181 13.0398 27.755 13.0398C26.907 13.0398 26.3135 13.7179 26.3135 14.4808C26.3135 15.2437 26.9918 15.9218 27.755 15.9218ZM31.4012 15.9218C32.2491 15.9218 32.8427 15.2437 32.8427 14.4808C32.8427 13.7179 32.1643 13.0398 31.4012 13.0398C30.5532 13.0398 29.9597 13.7179 29.9597 14.4808C29.9597 15.2437 30.638 15.9218 31.4012 15.9218ZM35.1322 15.9218C35.9801 15.9218 36.5737 15.2437 36.5737 14.4808C36.5737 13.7179 35.8953 13.0398 35.1322 13.0398C34.2842 13.0398 33.6907 13.7179 33.6907 14.4808C33.6059 15.2437 34.2842 15.9218 35.1322 15.9218Z",
          fill: "#1A99FF",
        }),
      );
    }
    function Cb(e) {
      return i.a.createElement(
        "svg",
        { viewBox: "0 0 58 56", fill: "none", className: e.className },
        i.a.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 wb(e) {
      const { type: t, accountName: n, onUseCodeOverride: a } = e,
        r = Jg(),
        s = i.a.createElement(
          Bb,
          {
            align: "center",
            href: `${o.c.HELP_BASE_URL}wizard/HelpWithLoginInfo?lost=8&issueid=402`,
          },
          Object($.f)("#Login_Help_AccessMobileApp"),
        ),
        l = r
          ? i.a.createElement(
              "div",
              { style: { paddingBottom: "20px" } },
              i.a.createElement(
                Bb,
                { align: "center", onClick: a },
                Object($.f)("#Login_EnterCodeInstead"),
              ),
            )
          : i.a.createElement(
              "div",
              { onClick: a, className: Gg.a.EnterCodeInsteadLink },
              Object($.f)("#Login_EnterCodeInstead"),
            );
      return i.a.createElement(
        Ab,
        {
          title: Object($.f)("#Login_Title_SteamGuard"),
          bottom: s,
          compact: !0,
        },
        i.a.createElement(
          Db,
          { gap: 40 },
          i.a.createElement(Sb, { type: t, accountName: n }),
          i.a.createElement(yb, null),
          l,
        ),
      );
    }
    function Bb(e) {
      const { children: t, align: n, inline: a } = e,
        r = Object(h.a)(Gg.a.TextLink, "center" === n && Gg.a.TextAlignCenter);
      if ("href" in e)
        return i.a.createElement("a", { className: r, href: e.href }, t);
      {
        const n = a ? "span" : "div";
        return i.a.createElement(n, { className: r, onClick: e.onClick }, t);
      }
    }
    function Ob(e) {
      const { onSubmit: t, children: n, className: a } = e;
      return i.a.createElement(
        "form",
        { onSubmit: (e) => (e.preventDefault(), t(), !1), className: a },
        n,
      );
    }
    function Db(e) {
      const {
          alignItems: t,
          justifyContent: n,
          gap: a,
          className: r,
          children: s,
        } = e,
        o = Object(h.a)(
          Gg.a.FlexCol,
          "center" === t && Gg.a.AlignItemsCenter,
          "center" === n && Gg.a.JustifyContentCenter,
          r,
        ),
        l = a ? { gap: "number" == typeof a ? `${a}px` : a } : void 0;
      return i.a.createElement("div", { className: o, style: l }, s);
    }
    function Ib(e) {
      const { children: t, justifyContent: n, alignItems: a, className: r } = e,
        s = {
          display: "flex",
          flexDirection: "row",
          justifyContent: n,
          alignItems: a,
        };
      return i.a.createElement("div", { style: s, className: r }, t);
    }
    function Tb(e) {
      const { value: t, onChange: n, onPaste: a, tone: r } = e;
      return i.a.createElement(Rb, {
        length: 5,
        value: t,
        onChange: (e) => {
          kg((e = e.map((e) => e.toUpperCase())).join("").trim()) && n(e);
        },
        onPaste: () => a && a(),
        tone: r,
        autoFocus: !0,
      });
    }
    function Rb(e) {
      const {
          length: t,
          value: n,
          onChange: a,
          onPaste: s,
          tone: o,
          autoFocus: l,
        } = e,
        c = Object(r.useRef)([]),
        d = () => a(c.current.map((e) => e.value)),
        u = (e) => {
          const t = e.target.nextElementSibling;
          e.target.value && t && t.focus(), d();
        },
        m = (e) => {
          var t;
          -1 === c.current.findIndex((e) => !!e.value)
            ? null === (t = c.current[0]) || void 0 === t || t.select()
            : e.target.select();
        },
        p = (e) => {
          const t = e.target;
          if ("Backspace" === e.key || "Delete" === e.key) {
            const n =
              "Backspace" === e.key
                ? t.previousElementSibling
                : t.nextElementSibling;
            "" === t.value &&
              n &&
              ((n.value = ""), n.focus(), e.preventDefault(), d());
          } else if ("ArrowLeft" === e.key || "ArrowRight" === e.key) {
            const n =
              "ArrowLeft" === e.key
                ? t.previousElementSibling
                : t.nextElementSibling;
            n && (n.focus(), e.preventDefault());
          }
        },
        _ = (e) => {
          const t = e.clipboardData.getData("Text");
          let n = e.target,
            a = 0;
          for (; n && a < t.length; )
            n.focus(), (n.value = t.charAt(a)), (n = n.nextElementSibling), a++;
          d(), e.preventDefault(), s && s();
        },
        g = [];
      for (let e = 0; e < t; e++)
        g.push(
          i.a.createElement("input", {
            type: "text",
            maxLength: 1,
            key: e,
            ref: (t) => (c.current[e] = t),
            onChange: u,
            onFocus: m,
            onClick: (e) => e.stopPropagation(),
            onKeyDown: p,
            onPaste: _,
            value: n[e] ? n[e][0] : "",
            autoComplete: "none",
            autoFocus: 0 === e && l,
          }),
        );
      return i.a.createElement(
        "div",
        {
          className: Object(h.a)(
            Gg.a.SegmentedCharacterInput,
            "danger" === o && Gg.a.Danger,
          ),
          onClick: () => {
            const e = c.current.find((e) => !e.value);
            e ? e.focus() : c.current[c.current.length - 1].focus();
          },
        },
        g,
      );
    }
    function jb(e) {
      const { children: t, spacing: n = 0, align: a } = e;
      return i.a.createElement(
        Db,
        { alignItems: a },
        i.a.Children.map(t, (e, t) =>
          e
            ? i.a.createElement(
                "div",
                { style: t > 0 ? { paddingTop: `${n}px` } : void 0 },
                e,
              )
            : null,
        ).filter(Boolean),
      );
    }
    function Ab(e) {
      const { title: t, children: n, bottom: a, compact: r } = e,
        s = Jg();
      return i.a.createElement(
        Db,
        {
          gap: 32,
          className: Object(h.a)(
            Gg.a.StandardLayout,
            s && Gg.a.Embedded,
            r && Gg.a.Compact,
          ),
        },
        "string" == typeof t
          ? i.a.createElement("div", { className: Gg.a.PrimaryHeader }, t)
          : t,
        i.a.createElement("div", { className: Gg.a.FormContainer }, n),
        a,
      );
    }
    function kb(e) {
      return i.a.createElement(
        "svg",
        {
          viewBox: "0 0 153 46",
          fill: "none",
          xmlns: "http://www.w3.org/2000/svg",
          className: e.className,
        },
        i.a.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",
        }),
        i.a.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",
        }),
        i.a.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",
        }),
        i.a.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",
        }),
        i.a.createElement("path", {
          d: "M82.7305 17.4643V31.6542H79.0815V17.4643H73.8164V14.3457H87.9956V17.4643H82.7305Z",
          fill: "#E0E1E6",
        }),
        i.a.createElement("path", {
          d: "M95.6574 17.4124V21.3107H102.643V24.4293H95.6574V28.4836H103.737V31.6022H92.0083V14.3457H103.737V17.4643H95.6574V17.4124Z",
          fill: "#E0E1E6",
        }),
        i.a.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",
        }),
        i.a.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",
        }),
        i.a.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 Mb() {
      return i.a.createElement(
        Db,
        { alignItems: "center", justifyContent: "center" },
        i.a.createElement(ee.a, null),
      );
    }
    function Pb() {
      return (
        Object(r.useEffect)(
          () => (
            (window.g_ShowLoginDialog = (e) =>
              Object(ze.d)(i.a.createElement(Lb, { redirectUrl: e }), window, {
                popupWidth: 700,
                popupHeight: 440,
              })),
            () => {
              delete window.g_ShowLoginDialog;
            }
          ),
          [],
        ),
        null
      );
    }
    function Lb(e) {
      const { redirectUrl: t = o.c.PARTNER_BASE_URL, closeModal: n } = e,
        a = Object(r.useRef)(
          new au.a(o.c.WEBAPI_BASE_URL).GetServiceTransport(),
        ).current,
        [s, l] = Object(r.useState)(!1);
      return i.a.createElement(
        xe.i,
        { onEscKeypress: n, hideTopBar: !0, bDisableBackgroundDismiss: !0 },
        s
          ? i.a.createElement(Xg, null)
          : i.a.createElement($g, {
              platform: 2,
              transport: a,
              onComplete: (e) => {
                e == Og.k_PrimaryDomainFail ? l(!0) : window.location.assign(t);
              },
              autoFocus: !0,
              theme: "modal",
              redirectUrl: t,
            }),
      );
    }
    n("wFY3");
    class Gb {
      constructor() {
        (this.m_optInDef = new Map()),
          (this.m_activeOptInDef = new Array()),
          (this.m_archivedOptInDef = new Array()),
          (this.m_game_tags = []),
          (this.m_optin_stats = {}),
          (this.m_mapHasUnpublishedChanges = new Map());
      }
      GetActiveOptIn() {
        return this.m_activeOptInDef;
      }
      GetArchivedOptIn() {
        return this.m_archivedOptInDef;
      }
      GetGameTags() {
        return this.m_game_tags;
      }
      GetOptInStats() {
        return this.m_optin_stats;
      }
      BHasUnpublishedChagnes(e) {
        return this.m_mapHasUnpublishedChanges.get(e);
      }
      SetUnpublishedChanges(e) {
        this.m_mapHasUnpublishedChanges.set(e, !0);
      }
      GetDefinition(e) {
        return this.m_optInDef.get(e);
      }
      SetOptInDefinition(e) {
        this.m_optInDef.set(e.pageid, e);
        let t = this.m_activeOptInDef.findIndex((t) => t.pageid == e.pageid);
        -1 != t &&
          (this.m_activeOptInDef.splice(t, 1),
          this.m_activeOptInDef.unshift(e)),
          (t = this.m_archivedOptInDef.findIndex((t) => t.pageid == e.pageid)),
          -1 != t &&
            (this.m_archivedOptInDef.splice(t, 1),
            this.m_archivedOptInDef.unshift(e));
      }
      GetCreatedPageId() {
        return this.createdPageId;
      }
      GetCreatePageErrMsg() {
        return this.createPageErrMsg;
      }
      CreatePage(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          (this.createdPageId = ""), (this.createPageErrMsg = "");
          let n = o.c.PARTNER_BASE_URL + "/admin/store/pagecreate";
          const a = new FormData();
          a.append("sessionid", o.c.SESSIONID),
            a.append("action", "createsale"),
            a.append("id", e),
            a.append("is_optin", "true");
          try {
            let e = yield F.a.post(n, a, {
              withCredentials: !0,
              cancelToken: t,
            });
            if (t.reason)
              return (
                console.log(
                  "COptInAdminStore.CreatePage cancelled: " + t.reason,
                ),
                null
              );
            if (200 != e.status || !e.data || 1 != e.data.success) {
              let t =
                "Save Error: (" +
                (e.data ? "result: " + e.data.success : "status: " + e.status) +
                ")";
              return (
                e.data && e.data.msg && (t += " Error Message: " + e.data.msg),
                (this.createPageErrMsg = e.data.msg),
                t
              );
            }
            this.createdPageId = e.data.msg;
          } catch (e) {
            let t = Object(me.a)(e);
            return (
              console.error(
                "OptinAdminStore.CreatePage error: " + t.strErrorMsg,
                t,
              ),
              (this.createPageErrMsg = t.strErrorMsg),
              "Page creation error: " + e.strErrorMsg
            );
          }
          return null;
        });
      }
      static Get() {
        return (
          Gb.s_OptInAdmin ||
            ((Gb.s_OptInAdmin = new Gb()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInAdminStore = Gb.s_OptInAdmin),
            Gb.s_OptInAdmin.Init()),
          Gb.s_OptInAdmin
        );
      }
      Init() {
        let e = JSON.parse(
          JSON.stringify(Object(o.g)("optin_game_tags", "application_config")),
        );
        if (e)
          for (let t of Object.keys(e))
            this.m_game_tags.push({ label: e[t], value: t });
        let t = JSON.parse(
          JSON.stringify(Object(o.g)("optin_page_stats", "application_config")),
        );
        if (t)
          for (let e of Object.keys(t)) {
            let n = t[e].pageid;
            this.m_optin_stats[n] = t[e];
          }
        let n = Object(o.g)("optin_admin_pages", "application_config");
        if (this.ValidateStoreDefault(n)) {
          n.forEach((e) => {
            Of(e);
          });
          const e = Math.floor(Date.now() / 1e3);
          n.map((t) => {
            this.m_optInDef.set(t.pageid, t),
              t.event_end_date < e
                ? this.m_archivedOptInDef.push(t)
                : this.m_activeOptInDef.push(t);
          }),
            "dev" == o.c.WEB_UNIVERSE &&
              console.log(
                "Loading OptIn Definitions: " + this.m_optInDef.size,
                this.m_optInDef,
              );
        } else
          "dev" == o.c.WEB_UNIVERSE &&
            console.error("COptInAdmin.Init: Failed to load defintion", n);
        const a = Object(o.g)("optin_has_in_progress", "application_config");
        for (let e in a) this.m_mapHasUnpublishedChanges.set(e, a[e]);
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) && "string" == typeof t[0].pageid
        );
      }
    }
    Object(a.b)([L.C], Gb.prototype, "m_mapHasUnpublishedChanges", void 0),
      Object(a.b)([L.k], Gb.prototype, "Init", null);
    const Nb = "section_",
      Fb = "list_",
      xb = "option_";
    class zb {
      constructor() {
        (this.m_bDirty = !1),
          (this.m_mapDynamicSection = new Map()),
          (this.m_mapEmails = new Map()),
          (this.rgOptionalSuggestedRequired = []),
          (this.rgEventTypes = []),
          (this.rgGameTokens = []);
      }
      static Get() {
        return (
          zb.s_Editor ||
            ((zb.s_Editor = new zb()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInAdminEditModel = zb.s_Editor)),
          zb.s_Editor
        );
      }
      GetOptInPageID() {
        return this.m_model.pageid;
      }
      GetDynamicOptionByID(e) {
        let t = null;
        return (
          this.GetDynamicSections().forEach((n) => {
            n.unique_id == e.section_id &&
              n.lists.forEach((n) => {
                n.unique_id == e.list_id &&
                  n.options.forEach((n) => {
                    n.unique_id == e.option_id && (t = n);
                  });
              });
          }),
          t
        );
      }
      BContainDyanmicOptionByIDs(e) {
        return null != this.GetDynamicOptionByID(e);
      }
      GetOptionNameByID(e, t = 0) {
        const n = this.GetDynamicOptionByID(e);
        return n ? this.GetKVLang(n.text, t) : "";
      }
      AddDemoPackage(e) {
        this.m_model.demo_packages || (this.m_model.demo_packages = []),
          this.m_model.demo_packages.push(e),
          this.SetDirty(!0);
      }
      GetDemoPackages() {
        return this.m_model.demo_packages;
      }
      GetName() {
        return this.m_model && this.m_model.pageid
          ? -1 != this.m_model.pageid.indexOf("sale_", 0)
            ? this.m_model.pageid.substring(5)
            : this.m_model.pageid
          : "";
      }
      GetFullName() {
        return this.m_model && this.m_model.pageid ? this.m_model.pageid : "";
      }
      BHasSpecialEventType() {
        var e;
        return Boolean(
          null === (e = this.m_model) || void 0 === e
            ? void 0
            : e.special_event_type,
        );
      }
      GetSpecialEventType() {
        return this.m_model.special_event_type;
      }
      SetSpecialEventType(e) {
        e !== this.m_model.special_event_type &&
          ((this.m_model.special_event_type = e), this.SetDirty(!0));
      }
      GetCurSpecialEventName() {
        return this.GetSpecialEventName(Wl.Get().GetCurEditLanguage());
      }
      GetSpecialEventName(e) {
        var t;
        return null !==
          (t = this.GetKVLang(this.m_model.special_event_name, e)) &&
          void 0 !== t
          ? t
          : "";
      }
      SetCurSpecialEventName(e) {
        this.SetSpecialEventName(Wl.Get().GetCurEditLanguage(), e);
      }
      SetSpecialEventName(e, t) {
        this.SetKVLang(this.m_model.special_event_name, e, t);
      }
      GetCurSpecialEventDescription() {
        return this.GetSpecialEventDescription(Wl.Get().GetCurEditLanguage());
      }
      GetSpecialEventDescription(e) {
        var t;
        return null !==
          (t = this.GetKVLang(this.m_model.special_event_description, e)) &&
          void 0 !== t
          ? t
          : "";
      }
      SetCurSpecialEventDescription(e) {
        this.SetSpecialEventDescription(Wl.Get().GetCurEditLanguage(), e);
      }
      SetSpecialEventDescription(e, t) {
        this.SetKVLang(this.m_model.special_event_description, e, t);
      }
      GetSpecialEventDocLink() {
        return this.m_model.special_event_doc_link;
      }
      SetSpecialEventDocLink(e) {
        e != this.m_model.special_event_doc_link &&
          ((this.m_model.special_event_doc_link = e), this.SetDirty(!0));
      }
      GetSpecialEventTypeMax() {
        return this.m_model.special_event_type_max || 0;
      }
      SetSpecialEventTypeMax(e) {
        e != this.m_model.special_event_type_max &&
          ((this.m_model.special_event_type_max = e), this.SetDirty(!0));
      }
      GetSpecialEventStartTime() {
        return this.m_model.special_event_rt_start || 0;
      }
      SetSpecialEventStartTime(e) {
        e != this.m_model.special_event_rt_start &&
          ((this.m_model.special_event_rt_start = e), this.SetDirty(!0));
      }
      GetSpecialEventEndTime() {
        return this.m_model.special_event_rt_end || 0;
      }
      SetSpecialEventEndTime(e) {
        e != this.m_model.special_event_rt_end &&
          ((this.m_model.special_event_rt_end = e), this.SetDirty(!0));
      }
      BHasSpecialEventTimeSet() {
        return (
          Boolean(this.m_model.special_event_rt_start) ||
          Boolean(this.m_model.special_event_rt_end)
        );
      }
      BRequiresRemotePlayTogether() {
        return this.m_model.required_app_features.remote_play_together || !1;
      }
      SetRequiresRemotePlayTogether(e) {
        e !== (this.m_model.required_app_features.remote_play_together || !1) &&
          ((this.m_model.required_app_features.remote_play_together = e),
          this.SetDirty(!0));
      }
      BRequiresVR() {
        return this.m_model.required_app_features.vr || !1;
      }
      SetRequiresVR(e) {
        e !== (this.m_model.required_app_features.vr || !1) &&
          ((this.m_model.required_app_features.vr = e), this.SetDirty(!0));
      }
      GetCurEventTitle() {
        var e;
        return null !==
          (e = this.GetEventTitle(Wl.Get().GetCurEditLanguage())) &&
          void 0 !== e
          ? e
          : "";
      }
      GetEventTitle(e) {
        var t;
        return null !== (t = this.GetKVLang(this.m_model.event_title, e)) &&
          void 0 !== t
          ? t
          : "";
      }
      SetCurEventTitle(e) {
        this.SetEventTitle(Wl.Get().GetCurEditLanguage(), e);
      }
      SetEventTitle(e, t) {
        this.SetKVLang(this.m_model.event_title, e, t);
      }
      BIsOptInEnabled() {
        return this.m_model.sale_optin_enabled;
      }
      SetOptInEnabled(e) {
        e !== this.m_model.sale_optin_enabled &&
          ((this.m_model.sale_optin_enabled = e), this.SetDirty(!0));
      }
      GetPublicEventID() {
        return this.m_model.public_event_id;
      }
      SetPublicEventID(e) {
        e != this.m_model.public_event_id &&
          ((this.m_model.public_event_id = e), this.SetDirty(!0));
      }
      GetEventStartTime() {
        return this.m_model.event_start_date;
      }
      SetEventStartTime(e) {
        e !== this.m_model.event_start_date &&
          ((this.m_model.event_start_date = e), this.SetDirty(!0));
      }
      GetEventEndTime() {
        return this.m_model.event_end_date;
      }
      SetEventEndTime(e) {
        e !== this.m_model.event_end_date &&
          ((this.m_model.event_end_date = e), this.SetDirty(!0));
      }
      GetOptInDeadlineTime() {
        return this.m_model.optin_deadline_date;
      }
      SetOptInDeadlineTime(e) {
        e !== this.m_model.optin_deadline_date &&
          ((this.m_model.optin_deadline_date = e), this.SetDirty(!0));
      }
      BIsInvitationOnly() {
        return this.m_model.invitation_only;
      }
      SetInvititationOnly(e) {
        e !== this.m_model.invitation_only &&
          ((this.m_model.invitation_only = e), this.SetDirty(!0));
      }
      BIsReleaseGamesEligible() {
        return this.m_model.release_date_eligibility.include_released_games;
      }
      SetReleaseGameEligible(e) {
        e !== this.m_model.release_date_eligibility.include_released_games &&
          ((this.m_model.release_date_eligibility.include_released_games = e),
          this.SetDirty(!0));
      }
      BIsUnreleaseGamesEligible() {
        return this.m_model.release_date_eligibility.include_unreleased_games;
      }
      SetUnreleaseGameEligible(e) {
        e !== this.m_model.release_date_eligibility.include_unreleased_games &&
          ((this.m_model.release_date_eligibility.include_unreleased_games = e),
          this.SetDirty(!0));
      }
      GetEligibleReleaseBeforeDate() {
        return this.m_model.release_date_eligibility.release_before_date;
      }
      SetEligibleReleaseBeforeDate(e) {
        e !== this.m_model.release_date_eligibility.release_before_date &&
          ((this.m_model.release_date_eligibility.release_before_date = e),
          this.SetDirty(!0));
      }
      GetEligibleReleaseAfterDate() {
        return this.m_model.release_date_eligibility.release_after_date;
      }
      SetEligibleReleaseAfterDate(e) {
        e !== this.m_model.release_date_eligibility.release_after_date &&
          ((this.m_model.release_date_eligibility.release_after_date = e),
          this.SetDirty(!0));
      }
      GetCooldownGroupType() {
        return this.m_model.cooldown_group.group_id || 0;
      }
      SetCooldownGroupType(e) {
        (this.m_model.cooldown_group &&
          e === this.m_model.cooldown_group.group_id) ||
          (this.m_model.cooldown_group || (this.m_model.cooldown_group = {}),
          (this.m_model.cooldown_group.group_id = e),
          this.SetDirty(!0));
      }
      GetCooldownRequired() {
        return this.m_model.cooldown_group.cooldown_required || !1;
      }
      SetCooldownRequired(e) {
        (this.m_model.cooldown_group &&
          e === this.m_model.cooldown_group.cooldown_required) ||
          (this.m_model.cooldown_group || (this.m_model.cooldown_group = {}),
          (this.m_model.cooldown_group.cooldown_required = e),
          this.SetDirty(!0));
      }
      GetCooldownDays() {
        return this.m_model.cooldown_group.cooldown_time || 0;
      }
      SetCooldownDays(e) {
        e !== this.m_model.cooldown_group.cooldown_time &&
          ((this.m_model.cooldown_group.cooldown_time = e), this.SetDirty(!0));
      }
      GetRequiredTags() {
        let e = [];
        if (this.m_model && this.m_model.required_tags) {
          let t = Gb.Get().GetGameTags();
          Object.keys(this.m_model.required_tags).forEach((n) => {
            const a = t.find((e) => e.value == n);
            a && e.push({ label: a.label, value: a.value });
          });
        }
        return e;
      }
      OnChangeRequiredTags(e) {
        (this.m_model.required_tags = {}),
          e &&
            e.forEach((e) => {
              let t = parseInt(e.value);
              this.m_model.required_tags[t] = !0;
            }),
          this.SetDirty(!0);
      }
      GetModel() {
        return this.m_model;
      }
      GetDynamicSections() {
        return this.m_model.dynamic_sections || [];
      }
      GetEditableDynamicSections() {
        return this.m_dynamicSections || [];
      }
      GetDynamicSectionByID(e) {
        return this.m_mapDynamicSection.get(e);
      }
      GetEmailDefinitionByID(e) {
        return this.m_mapEmails.get(e);
      }
      GetFirstEmail() {
        var e;
        return (null === (e = this.m_EmailDefinitions) || void 0 === e
          ? void 0
          : e.length) > 0
          ? this.m_EmailDefinitions[0]
          : void 0;
      }
      GetEmailDefinitions() {
        return this.m_EmailDefinitions;
      }
      GetCurDescription() {
        return this.GetDescription(Wl.Get().GetCurEditLanguage());
      }
      GetDescription(e) {
        var t;
        return null !== (t = this.GetKVLang(this.m_model.description, e)) &&
          void 0 !== t
          ? t
          : "";
      }
      SetCurDescription(e) {
        this.SetDescription(Wl.Get().GetCurEditLanguage(), e);
      }
      SetDescription(e, t) {
        this.SetKVLang(this.m_model.description, e, t);
      }
      GetCurHelpText() {
        return this.GetHelpText(Wl.Get().GetCurEditLanguage());
      }
      GetHelpText(e) {
        var t;
        return null !== (t = this.GetKVLang(this.m_model.help_text, e)) &&
          void 0 !== t
          ? t
          : "";
      }
      SetCurHelpText(e) {
        this.SetHelpText(Wl.Get().GetCurEditLanguage(), e);
      }
      SetHelpText(e, t) {
        this.SetKVLang(this.m_model.help_text, e, t);
      }
      BIsCategoriesEnabled() {
        return this.m_model.categories.enabled;
      }
      SetCategoriesEnabled(e) {
        e != this.m_model.categories.enabled &&
          ((this.m_model.categories.enabled = e), this.SetDirty(!0));
      }
      GetCategoriesRequired() {
        return this.m_model.categories.required || 0;
      }
      SetCategoriesRequired(e) {
        e != this.m_model.categories.required &&
          ((this.m_model.categories.required = e), this.SetDirty(!0));
      }
      GetCategoryTags() {
        let e = [];
        if (this.m_model && this.m_model.categories.tags) {
          let t = Gb.Get().GetGameTags();
          Object.keys(this.m_model.categories.tags).forEach((n) => {
            const a = t.find((e) => e.value == n);
            e.push({ label: a.label, value: a.value });
          });
        }
        return e;
      }
      OnChangeCategoryTags(e) {
        (this.m_model.categories.tags = {}),
          e &&
            e.forEach((e) => {
              let t = parseInt(e.value);
              this.m_model.categories.tags[t] = !0;
            }),
          this.SetDirty(!0);
      }
      BIsArtistStatementEnabled() {
        return this.m_model.artist_statement.enabled || !1;
      }
      SetArtistStatementEnabled(e) {
        e !== this.m_model.artist_statement.enabled &&
          ((this.m_model.artist_statement.enabled = e), this.SetDirty(!0));
      }
      GetArtistStatementRequired() {
        return this.m_model.artist_statement.required || 0;
      }
      SetArtistStatementRequired(e) {
        e !== this.m_model.artist_statement.required &&
          ((this.m_model.artist_statement.required = e), this.SetDirty(!0));
      }
      BIsPrimaryCountryEnabled() {
        return this.m_model.primary_country.enabled || !1;
      }
      SetPrimaryCountryEnabled(e) {
        e !== this.m_model.primary_country.enabled &&
          ((this.m_model.primary_country.enabled = e), this.SetDirty(!0));
      }
      GetPrimaryCountryRequired() {
        return this.m_model.primary_country.required || 0;
      }
      SetPrimaryCountryRequired(e) {
        e !== this.m_model.primary_country.required &&
          ((this.m_model.primary_country.required = e), this.SetDirty(!0));
      }
      BIsPressContactEnabled() {
        return this.m_model.press_contact.enabled || !1;
      }
      SetPressContactEnabled(e) {
        var t;
        e !==
          (null === (t = this.m_model) || void 0 === t
            ? void 0
            : t.press_contact.enabled) &&
          ((this.m_model.press_contact.enabled = e), this.SetDirty(!0));
      }
      GetPressContactRequired() {
        return this.m_model.press_contact.required || 0;
      }
      SetPressContactRequired(e) {
        var t;
        e !==
          (null === (t = this.m_model) || void 0 === t
            ? void 0
            : t.press_contact.required) &&
          ((this.m_model.press_contact.required = e), this.SetDirty(!0));
      }
      BIsBeforeYouOptInEnabled() {
        return this.m_model.before_you_opt_in || !1;
      }
      SetBeforeYouOptInEnabled(e) {
        e !== this.m_model.before_you_opt_in &&
          ((this.m_model.before_you_opt_in = e), this.SetDirty(!0));
      }
      BIsBuildYourStorePageEnabled() {
        return this.m_model.build_store_page.enabled || !1;
      }
      SetBuildYourStorePageEnabled(e) {
        e !== this.m_model.build_store_page.enabled &&
          ((this.m_model.build_store_page.enabled = e), this.SetDirty(!0));
      }
      GetBuildYourStorePageRequired() {
        return this.m_model.build_store_page.required || 0;
      }
      SetBuildYourStorePageRequired(e) {
        e !== this.m_model.build_store_page.required &&
          ((this.m_model.build_store_page.required = e), this.SetDirty(!0));
      }
      GetStorePageText() {
        var e;
        return null !==
          (e = this.GetKVLang(
            this.m_model.build_store_page.description,
            Wl.Get().GetCurEditLanguage(),
          )) && void 0 !== e
          ? e
          : "";
      }
      SetStorePageText(e) {
        this.m_model.build_store_page || (this.m_model.build_store_page = {}),
          this.m_model.build_store_page.description ||
            (this.m_model.build_store_page.description = {}),
          this.SetKVLang(
            this.m_model.build_store_page.description,
            Wl.Get().GetCurEditLanguage(),
            e,
          );
      }
      BIsTaggingWizardEnabled() {
        return this.m_model.tagging_wizard || !1;
      }
      SetTaggingWizardEnabled(e) {
        e !== this.m_model.tagging_wizard &&
          ((this.m_model.tagging_wizard = e), this.SetDirty(!0));
      }
      BIsLaunchYourDemoEnabled() {
        return this.m_model.launch_demo.enabled || !1;
      }
      SetLaunchYourDemoEnabled(e) {
        e !== this.m_model.launch_demo.enabled &&
          ((this.m_model.launch_demo.enabled = e), this.SetDirty(!0));
      }
      GetLaunchYourDemoRequired() {
        return this.m_model.launch_demo.required || 0;
      }
      SetLaunchYourDemoRequired(e) {
        e !== this.m_model.launch_demo.required &&
          ((this.m_model.launch_demo.required = e), this.SetDirty(!0));
      }
      GetLaunchYourDemoDueDate() {
        return this.m_model.launch_demo.due_date || 0;
      }
      SetLaunchYourDemoDueDate(e) {
        e !== this.m_model.launch_demo.due_date &&
          ((this.m_model.launch_demo.due_date = e), this.SetDirty(!0));
      }
      BIsDoAnytimeEnabled() {
        return this.m_model.do_anytime.enabled || !1;
      }
      SetDoAnytimeEnabled(e) {
        e !== this.m_model.do_anytime.enabled &&
          ((this.m_model.do_anytime.enabled = e), this.SetDirty(!0));
      }
      BIsLivestreamEnabled() {
        return this.m_model.do_anytime.livestream || !1;
      }
      SetLivestreamEnabled(e) {
        e !== this.m_model.do_anytime.livestream &&
          ((this.m_model.do_anytime.livestream = e), this.SetDirty(!0));
      }
      BIsChatSessionEnabled() {
        return this.m_model.do_anytime.chat_session || !1;
      }
      SetChatSessionEnabled(e) {
        e !== this.m_model.do_anytime.chat_session &&
          ((this.m_model.do_anytime.chat_session = e), this.SetDirty(!0));
      }
      BIsAnytimeTaggingWizardEnabled() {
        return this.m_model.do_anytime.tagging_wizard || !1;
      }
      SetAnytimeTaggingWizardEnabled(e) {
        e !== this.m_model.do_anytime.tagging_wizard &&
          ((this.m_model.do_anytime.tagging_wizard = e), this.SetDirty(!0));
      }
      BIsEnterDiscountsEnabled() {
        return this.m_model.do_anytime.enter_discounts || !1;
      }
      SetEnterDiscountsEnabled(e) {
        e !== this.m_model.do_anytime.enter_discounts &&
          ((this.m_model.do_anytime.enter_discounts = e), this.SetDirty(!0));
      }
      GetExternalAppReviewers() {
        return this.m_model.external_app_reviewer || [];
      }
      SetExternalAppReviewers(e) {
        JSON.stringify(e) !==
          JSON.stringify(this.m_model.external_app_reviewer) &&
          ((this.m_model.external_app_reviewer = e), this.SetDirty(!0));
      }
      RemoveExternalAppReviewAt(e) {
        var t;
        e <
          (null === (t = this.m_model.external_app_reviewer) || void 0 === t
            ? void 0
            : t.length) &&
          (this.m_model.external_app_reviewer.splice(e, 1), this.SetDirty(!0));
      }
      BAddExternalAppReviewAt(e) {
        this.m_model.external_app_reviewer ||
          (this.m_model.external_app_reviewer = []);
        return (
          -1 == this.m_model.external_app_reviewer.findIndex((t) => t == e) &&
          (this.m_model.external_app_reviewer.push(e), this.SetDirty(!0), !0)
        );
      }
      GetKVLang(e, t) {
        const n = Object(c.ELanguagePchLanguage)(t);
        return e ? e[n] : "";
      }
      SetKVLang(e, t, n) {
        const a = Object(c.ELanguagePchLanguage)(t);
        e[a] != n && ((e[a] = n), this.SetDirty(!0));
      }
      AddDynamicSection() {
        this.m_model.dynamic_sections || (this.m_model.dynamic_sections = []),
          this.m_model.dynamic_sections.push(zb.CreateDefaultDynamicSection());
        const e = new Ub(
          this.m_model.dynamic_sections[
            this.m_model.dynamic_sections.length - 1
          ],
        );
        this.m_mapDynamicSection.set(e.GetUniqueID(), e),
          this.m_dynamicSections.push(e),
          this.SetDirty(!0);
      }
      static CreateDefaultDynamicSection() {
        return {
          unique_id: zb.Get().GenerateUniqueIDForOptInSection(),
          input_style: "radio",
          columns: 1,
          lists: [
            {
              options: [],
              unique_id: zb.GenerateUniqueIDForOptionListSection(),
            },
          ],
        };
      }
      DeleteDynamicSection(e) {
        const t = this.GetDynamicSectionByID(e);
        if (!t) return console.log("Could not find section with ID " + e), !1;
        this.m_mapDynamicSection.delete(t.GetUniqueID());
        let n = this.m_dynamicSections.findIndex((t) => t.GetUniqueID() == e);
        if (-1 === n) throw `dynamic section unique id ${e} missing: editing`;
        if (
          (this.m_dynamicSections.splice(n, 1),
          (n = this.m_model.dynamic_sections.findIndex(
            (t) => t.unique_id === e,
          )),
          -1 === n)
        )
          throw `dynamic section unique id ${e} missing: source model`;
        return (
          this.m_model.dynamic_sections.splice(n, 1), this.SetDirty(!0), !0
        );
      }
      GenerateUniqueIDForOptInSection() {
        let e = Math.floor(1 + 1e5 * Math.random());
        for (; this.GetDynamicSectionByID(Nb + e); )
          e = Math.floor(1 + 1e5 * Math.random());
        return Nb + e;
      }
      static GenerateUniqueIDForOptionListSection(e) {
        let t = Math.floor(1 + 1e5 * Math.random());
        for (; e && e.some((e) => e.unique_id === Fb + t); )
          t = Math.floor(1 + 1e5 * Math.random());
        return Fb + t;
      }
      static GenerateUniqueIDForListItem(e) {
        let t = Math.floor(1 + 1e5 * Math.random());
        for (; e && e.some((e) => e.unique_id === xb + t); )
          t = Math.floor(1 + 1e5 * Math.random());
        return xb + t;
      }
      BIsDirty() {
        return this.m_bDirty;
      }
      SetDirty(e) {
        this.m_bDirty != e &&
          ((this.m_bDirty = e),
          Gb.Get().SetUnpublishedChanges(this.GetFullName()));
      }
      Save(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = o.c.PARTNER_BASE_URL + "optin/ajaxadminupdate";
          const n = new FormData();
          n.append("sessionid", o.c.SESSIONID),
            n.append("pageid", this.m_model.pageid),
            n.append("jsondata", JSON.stringify(this.m_model));
          try {
            let a = yield F.a.post(t, n, {
              withCredentials: !0,
              cancelToken: e,
            });
            if (e.reason)
              return (
                console.log("COptInAdminEditModel.Save Cancelled: " + e.reason),
                null
              );
            if (200 != a.status || !a.data || 1 != a.data.success) {
              let e =
                "Save Error: (" +
                (a.data
                  ? "erseult: " + a.data.success
                  : "status: " + a.status) +
                ")";
              return (
                a.data &&
                  a.data.err_msg &&
                  (e += " Error Message: " + a.data.err_msg),
                console.error("COptInAdminEditModel.Save: " + e),
                e
              );
            }
            Gb.Get().SetOptInDefinition(this.m_model),
              yield this.RefreshInProgressStats(e),
              this.SetDirty(!1);
          } catch (e) {
            let t = Object(me.a)(e);
            return (
              console.error(
                "COptInAdminEditModel save error: " + t.strErrorMsg,
                t,
              ),
              "Save Error: " + e.strErrorMsg
            );
          }
          return null;
        });
      }
      BInitialized() {
        return Boolean(this.m_model);
      }
      BHasLanguageData(e) {
        const t = Object(c.ELanguagePchLanguage)(e);
        return (
          (this.m_model.description &&
            this.m_model.description[t] &&
            this.m_model.description[t].length > 0) ||
          (this.m_model.help_text &&
            this.m_model.help_text[t] &&
            this.m_model.help_text[t].length > 0) ||
          (this.m_model.special_event_name &&
            this.m_model.special_event_name[t] &&
            this.m_model.special_event_name[t].length > 0) ||
          (this.m_model.special_event_description &&
            this.m_model.special_event_description[t] &&
            this.m_model.special_event_description[t].length > 0) ||
          (this.m_model.build_store_page &&
            this.m_model.build_store_page.description &&
            this.m_model.build_store_page.description[t] &&
            this.m_model.build_store_page.description[t].length > 0) ||
          (this.m_model.artist_statement &&
            this.m_model.artist_statement.description &&
            this.m_model.artist_statement.description[t] &&
            this.m_model.artist_statement.description[t].length > 0)
        );
      }
      Reset(e, t) {
        var n, a;
        if (
          ((this.m_model = e ? JSON.parse(JSON.stringify(e)) : null),
          (this.m_bDirty = !1),
          Wl.Get().SetCurEditLanguage(0),
          (this.rgActiveStats = t),
          this.m_model &&
            ((this.m_model.required_tags &&
              !Array.isArray(this.m_model.required_tags)) ||
              (this.m_model.required_tags = {}),
            (this.m_model.categories &&
              !Array.isArray(this.m_model.categories)) ||
              (this.m_model.categories = {}),
            (this.m_model.categories.tags &&
              !Array.isArray(this.m_model.categories.tags)) ||
              (this.m_model.categories.tags = {}),
            (this.m_model.artist_statement &&
              !Array.isArray(this.m_model.artist_statement)) ||
              (this.m_model.artist_statement = {}),
            (this.m_model.primary_country &&
              !Array.isArray(this.m_model.primary_country)) ||
              (this.m_model.primary_country = {}),
            (this.m_model.press_contact &&
              !Array.isArray(this.m_model.press_contact)) ||
              (this.m_model.press_contact = {}),
            (this.m_model.build_store_page &&
              !Array.isArray(this.m_model.build_store_page)) ||
              (this.m_model.build_store_page = {}),
            (this.m_model.launch_demo &&
              !Array.isArray(this.m_model.launch_demo)) ||
              (this.m_model.launch_demo = {}),
            (this.m_model.do_anytime &&
              !Array.isArray(this.m_model.do_anytime)) ||
              (this.m_model.do_anytime = {}),
            (this.m_model.release_date_eligibility &&
              !Array.isArray(this.m_model.release_date_eligibility)) ||
              (this.m_model.release_date_eligibility = {}),
            (this.m_model.cooldown_group &&
              !Array.isArray(this.m_model.cooldown_group)) ||
              (this.m_model.cooldown_group = {}),
            (this.m_model.description &&
              !Array.isArray(this.m_model.description)) ||
              (this.m_model.description = {}),
            (this.m_model.help_text &&
              !Array.isArray(this.m_model.help_text)) ||
              (this.m_model.help_text = {}),
            (this.m_model.special_event_description &&
              !Array.isArray(this.m_model.special_event_description)) ||
              (this.m_model.special_event_description = {}),
            (this.m_model.special_event_name &&
              !Array.isArray(this.m_model.special_event_name)) ||
              (this.m_model.special_event_name = {}),
            (this.m_model.event_title &&
              !Array.isArray(this.m_model.event_title)) ||
              (this.m_model.event_title = {}),
            (this.m_model.required_app_features &&
              !Array.isArray(this.m_model.required_app_features)) ||
              (this.m_model.required_app_features = {})),
          this.m_model && !this.m_model.event_start_date)
        ) {
          let e = new Date();
          e.setHours(10),
            e.setMinutes(0),
            e.setSeconds(0),
            (this.m_model.event_start_date = Math.floor(e.getTime() / 1e3));
        }
        if (this.m_model && !this.m_model.event_end_date) {
          let e = new Date();
          e.setDate(e.getDate() + 1),
            e.setHours(10),
            e.setMinutes(0),
            e.setSeconds(0),
            (this.m_model.event_end_date = Math.floor(e.getTime() / 1e3));
        }
        (this.m_dynamicSections = []),
          (this.m_mapDynamicSection = new Map()),
          this.m_model &&
            this.m_model.dynamic_sections &&
            this.m_model.dynamic_sections.forEach((e) => {
              let t = new Ub(e);
              this.m_dynamicSections.push(t),
                this.m_mapDynamicSection.set(t.GetUniqueID(), t);
            }),
          (this.m_EmailDefinitions = []),
          (this.m_mapEmails = new Map()),
          (null ===
            (a =
              null === (n = this.m_model) || void 0 === n
                ? void 0
                : n.emails) || void 0 === a
            ? void 0
            : a.length) > 0 &&
            this.m_model.emails.forEach((e) => {
              const t = new Sf(e);
              this.m_EmailDefinitions.push(t),
                this.m_mapEmails.set(t.GetUniqueID(), t);
            }),
          (this.rgInProgressStats = null),
          this.RefreshInProgressStats(),
          this.LoadActiveStatsDetails();
      }
      AddEmailDraft(e) {
        this.m_model.emails || (this.m_model.emails = []),
          this.m_model.emails.push(e);
        const t = new Sf(this.m_model.emails[this.m_model.emails.length - 1]);
        return (
          this.m_EmailDefinitions.push(t),
          this.m_mapEmails.set(t.GetUniqueID(), t),
          this.SetDirty(!0),
          t
        );
      }
      GetActiveStats() {
        return this.rgActiveStats;
      }
      LoadActiveStatsDetails() {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_model) return null;
          let e = o.c.PARTNER_BASE_URL + "optin/ajaxgetoptinstats";
          e +=
            "?active=true&pageids=" + encodeURIComponent(this.m_model.pageid);
          try {
            let t = yield F.a.get(e, { withCredentials: !0, timeout: 2e4 });
            if (200 != t.status || !t.data || 1 != t.data.success) {
              return (
                "LoadActiveStatsDetails error: (" +
                (t.data ? "result: " + t.data.success : "status: " + t.status) +
                ")"
              );
            }
            if (t.data.msg) {
              let e = t.data.msg
                ? JSON.parse(JSON.stringify(t.data.msg))
                : null;
              this.rgActiveStats = e ? e[0] : null;
            }
          } catch (e) {
            return "Loading active stats returned " + e.strErrorMsg;
          }
          return null;
        });
      }
      RefreshActiveStats(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_model) return null;
          let t = o.c.PARTNER_BASE_URL + "optin/ajaxrefreshoptinstats";
          const n = new FormData();
          n.append("sessionid", o.c.SESSIONID),
            n.append("pageids", this.m_model.pageid);
          try {
            let a = yield F.a.post(t, n, {
              withCredentials: !0,
              cancelToken: e || void 0,
              timeout: 12e4,
            });
            if (e && e.reason)
              return (
                console.log("RefreshingActiveStats Cancelled: " + e.reason),
                null
              );
            if (200 != a.status || !a.data || 1 != a.data.success) {
              let e =
                "Refresh optin stats error: (" +
                (a.data ? "result: " + a.data.success : "status: " + a.status) +
                ")";
              return (
                console.log("COptInAdminEditModel.RefresActiveStats: " + e), e
              );
            }
            if (a.data.msg) {
              let e = a.data.msg
                ? JSON.parse(JSON.stringify(a.data.msg))
                : null;
              this.rgActiveStats = e ? e[0] : null;
            }
          } catch (e) {
            let t = Object(me.a)(e);
            return (
              console.error(
                "COptInAdminEditModel.RefreshActiveStats error: " +
                  t.strErrorMsg,
                t,
              ),
              "Save Error: " + e.strErrorMsg
            );
          }
          return null;
        });
      }
      BHasInProgressStats() {
        return !!this.rgInProgressStats;
      }
      GetInProgressEligible() {
        return this.rgInProgressStats
          ? this.rgInProgressStats.count_eligible
          : 0;
      }
      RefreshInProgressStats(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_model) return null;
          let t = o.c.PARTNER_BASE_URL + "optin/ajaxgetoptinstats";
          t +=
            "?active=false&pageids=" + encodeURIComponent(this.m_model.pageid);
          try {
            let n = yield F.a.get(t, {
              withCredentials: !0,
              cancelToken: e || void 0,
              timeout: 2e4,
            });
            if (e && e.reason)
              return (
                console.log("RefreshInProgressStats Cancelled: " + e.reason),
                null
              );
            if (200 != n.status || !n.data || 1 != n.data.success) {
              let e =
                "Refresh optin stats error: (" +
                (n.data
                  ? "erseult: " + n.data.success
                  : "status: " + n.status) +
                ")";
              return (
                console.log(
                  "COptInAdminEditModel.RefreshInProgressStats: " + e,
                ),
                e
              );
            }
            if (n.data.msg) {
              let e = n.data.msg
                ? JSON.parse(JSON.stringify(n.data.msg))
                : null;
              this.rgInProgressStats = e ? e[0] : null;
            }
          } catch (e) {
            let t = Object(me.a)(e);
            return (
              console.error(
                "COptInAdminEditModel.RefreshInProgressStats error: " +
                  t.strErrorMsg,
                t,
              ),
              "Save Error: " + e.strErrorMsg
            );
          }
          return null;
        });
      }
      GetRequiredOptions() {
        return (
          this.rgOptionalSuggestedRequired.length ||
            (this.rgOptionalSuggestedRequired.push({
              label: "Optional",
              data: 0,
            }),
            this.rgOptionalSuggestedRequired.push({
              label: "Suggested",
              data: 1,
            }),
            this.rgOptionalSuggestedRequired.push({
              label: "Required",
              data: 2,
            })),
          this.rgOptionalSuggestedRequired
        );
      }
      GetCooldownGroupOptions() {
        if (!this.rgEventTypes.length)
          for (let e = 0; null != Ef[e]; e++)
            this.rgEventTypes.push({ label: Ef[e], data: e });
        return this.rgEventTypes;
      }
      GetGameTagOptions() {
        if (!this.rgGameTokens.length) {
          Gb.Get()
            .GetGameTags()
            .forEach((e) => {
              this.rgGameTokens.push({ label: e.label, value: e.value });
            });
        }
        return this.rgGameTokens;
      }
    }
    Object(a.b)([L.C], zb.prototype, "m_model", void 0),
      Object(a.b)([L.C], zb.prototype, "m_bDirty", void 0),
      Object(a.b)([L.C], zb.prototype, "rgInProgressStats", void 0),
      Object(a.b)([L.C], zb.prototype, "rgActiveStats", void 0),
      Object(a.b)([L.C], zb.prototype, "m_dynamicSections", void 0),
      Object(a.b)([L.C], zb.prototype, "m_EmailDefinitions", void 0),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventType", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetSpecialEventType", null),
      Object(a.b)([u.b], zb.prototype, "GetCurSpecialEventName", null),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventName", null),
      Object(a.b)([u.b], zb.prototype, "SetCurSpecialEventName", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetSpecialEventName", null),
      Object(a.b)([u.b], zb.prototype, "GetCurSpecialEventDescription", null),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventDescription", null),
      Object(a.b)([u.b], zb.prototype, "SetCurSpecialEventDescription", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetSpecialEventDescription",
        null,
      ),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventDocLink", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetSpecialEventDocLink", null),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventTypeMax", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetSpecialEventTypeMax", null),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventStartTime", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetSpecialEventStartTime", null),
      Object(a.b)([u.b], zb.prototype, "GetSpecialEventEndTime", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetSpecialEventEndTime", null),
      Object(a.b)([u.b], zb.prototype, "BHasSpecialEventTimeSet", null),
      Object(a.b)([u.b], zb.prototype, "BRequiresRemotePlayTogether", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetRequiresRemotePlayTogether",
        null,
      ),
      Object(a.b)([u.b], zb.prototype, "BRequiresVR", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetRequiresVR", null),
      Object(a.b)([u.b], zb.prototype, "GetCurEventTitle", null),
      Object(a.b)([u.b], zb.prototype, "GetEventTitle", null),
      Object(a.b)([u.b], zb.prototype, "SetCurEventTitle", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetEventTitle", null),
      Object(a.b)([u.b], zb.prototype, "BIsOptInEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetOptInEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetPublicEventID", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetEventStartTime", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetEventEndTime", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetOptInDeadlineTime", null),
      Object(a.b)([u.b], zb.prototype, "BIsInvitationOnly", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetInvititationOnly", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetReleaseGameEligible", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetUnreleaseGameEligible", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetEligibleReleaseBeforeDate",
        null,
      ),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetEligibleReleaseAfterDate",
        null,
      ),
      Object(a.b)([L.k.bound], zb.prototype, "SetCooldownGroupType", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetCooldownRequired", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetCooldownDays", null),
      Object(a.b)([u.b], zb.prototype, "OnChangeRequiredTags", null),
      Object(a.b)([u.b], zb.prototype, "GetCurDescription", null),
      Object(a.b)([u.b], zb.prototype, "GetDescription", null),
      Object(a.b)([u.b], zb.prototype, "SetCurDescription", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetDescription", null),
      Object(a.b)([u.b], zb.prototype, "GetCurHelpText", null),
      Object(a.b)([u.b], zb.prototype, "GetHelpText", null),
      Object(a.b)([u.b], zb.prototype, "SetCurHelpText", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetHelpText", null),
      Object(a.b)([u.b], zb.prototype, "BIsCategoriesEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetCategoriesEnabled", null),
      Object(a.b)([u.b], zb.prototype, "GetCategoriesRequired", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetCategoriesRequired", null),
      Object(a.b)([u.b], zb.prototype, "OnChangeCategoryTags", null),
      Object(a.b)([u.b], zb.prototype, "BIsArtistStatementEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetArtistStatementEnabled", null),
      Object(a.b)([u.b], zb.prototype, "GetArtistStatementRequired", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetArtistStatementRequired",
        null,
      ),
      Object(a.b)([u.b], zb.prototype, "BIsPrimaryCountryEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetPrimaryCountryEnabled", null),
      Object(a.b)([u.b], zb.prototype, "GetPrimaryCountryRequired", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetPrimaryCountryRequired", null),
      Object(a.b)([u.b], zb.prototype, "BIsPressContactEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetPressContactEnabled", null),
      Object(a.b)([u.b], zb.prototype, "GetPressContactRequired", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetPressContactRequired", null),
      Object(a.b)([u.b], zb.prototype, "BIsBeforeYouOptInEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetBeforeYouOptInEnabled", null),
      Object(a.b)([u.b], zb.prototype, "BIsBuildYourStorePageEnabled", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetBuildYourStorePageEnabled",
        null,
      ),
      Object(a.b)([u.b], zb.prototype, "GetBuildYourStorePageRequired", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetBuildYourStorePageRequired",
        null,
      ),
      Object(a.b)([u.b], zb.prototype, "GetStorePageText", null),
      Object(a.b)([u.b], zb.prototype, "SetStorePageText", null),
      Object(a.b)([u.b], zb.prototype, "BIsTaggingWizardEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetTaggingWizardEnabled", null),
      Object(a.b)([u.b], zb.prototype, "BIsLaunchYourDemoEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetLaunchYourDemoEnabled", null),
      Object(a.b)([u.b], zb.prototype, "GetLaunchYourDemoRequired", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetLaunchYourDemoRequired", null),
      Object(a.b)([u.b], zb.prototype, "GetLaunchYourDemoDueDate", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetLaunchYourDemoDueDate", null),
      Object(a.b)([u.b], zb.prototype, "BIsDoAnytimeEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetDoAnytimeEnabled", null),
      Object(a.b)([u.b], zb.prototype, "BIsLivestreamEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetLivestreamEnabled", null),
      Object(a.b)([u.b], zb.prototype, "BIsChatSessionEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetChatSessionEnabled", null),
      Object(a.b)([u.b], zb.prototype, "BIsAnytimeTaggingWizardEnabled", null),
      Object(a.b)(
        [L.k.bound],
        zb.prototype,
        "SetAnytimeTaggingWizardEnabled",
        null,
      ),
      Object(a.b)([u.b], zb.prototype, "BIsEnterDiscountsEnabled", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetEnterDiscountsEnabled", null),
      Object(a.b)([u.b], zb.prototype, "GetExternalAppReviewers", null),
      Object(a.b)([L.k.bound], zb.prototype, "SetExternalAppReviewers", null),
      Object(a.b)([L.k.bound], zb.prototype, "RemoveExternalAppReviewAt", null),
      Object(a.b)([L.k.bound], zb.prototype, "BAddExternalAppReviewAt", null),
      Object(a.b)([L.k.bound], zb.prototype, "AddDynamicSection", null),
      Object(a.b)([L.k.bound], zb.prototype, "DeleteDynamicSection", null),
      Object(a.b)([u.b], zb.prototype, "BHasLanguageData", null),
      Object(a.b)([L.k], zb.prototype, "Reset", null),
      Object(a.b)([L.k.bound], zb.prototype, "AddEmailDraft", null),
      Object(a.b)([u.b], zb.prototype, "GetRequiredOptions", null),
      Object(a.b)([u.b], zb.prototype, "GetCooldownGroupOptions", null),
      Object(a.b)([u.b], zb.prototype, "GetGameTagOptions", null);
    class Ub {
      constructor(e) {
        this.m_section = e;
      }
      GetUniqueID() {
        return this.m_section.unique_id;
      }
      GetName() {
        var e;
        return null !==
          (e = wf(this.m_section.name, Wl.Get().GetCurEditLanguage(), "")) &&
          void 0 !== e
          ? e
          : "";
      }
      GetNameWithFallback(e) {
        var t;
        return null !==
          (t = wf(this.m_section.name, Wl.Get().GetCurEditLanguage(), e)) &&
          void 0 !== t
          ? t
          : "";
      }
      GetDescription() {
        var e;
        return null !==
          (e = wf(
            this.m_section.description,
            Wl.Get().GetCurEditLanguage(),
            "",
          )) && void 0 !== e
          ? e
          : "";
      }
      GetInputStyle() {
        return this.m_section.input_style;
      }
      GetColumnCount() {
        return this.m_section.columns;
      }
      GetLists() {
        return this.m_section.lists;
      }
      GetListTitle(e) {
        var t;
        return null !==
          (t = wf(
            this.m_section.lists[e].option_title,
            Wl.Get().GetCurEditLanguage(),
          )) && void 0 !== t
          ? t
          : "";
      }
      GetListByIndex(e) {
        return this.m_section.lists[e];
      }
      GetListByID(e) {
        const t = this.m_section.lists.filter((t) => t.unique_id == e);
        return t.length > 0 ? t[0] : null;
      }
      GetItemAtListAndIndex(e, t) {
        return this.m_section.lists[e].options[t];
      }
      GetModel() {
        return this.m_section;
      }
      GetListCount() {
        return this.m_section.lists ? this.m_section.lists.length : 0;
      }
      BIsValveOnlySection() {
        return this.m_section.valve_only;
      }
      SetName(e, t) {
        if (wf(this.m_section.name, t) != e) {
          const n = Object(c.ELanguagePchLanguage)(t, "english");
          this.m_section.name || (this.m_section.name = {}),
            (this.m_section.name[n] = e),
            zb.Get().SetDirty(!0);
        }
      }
      SetDescription(e, t) {
        if (wf(this.m_section.description, t) != e) {
          const n = Object(c.ELanguagePchLanguage)(t, "english");
          this.m_section.description || (this.m_section.description = {}),
            (this.m_section.description[n] = e),
            zb.Get().SetDirty(!0);
        }
      }
      SetDescriptionWithCurLang(e) {
        this.SetDescription(e, Wl.Get().GetCurEditLanguage());
      }
      SetInputStyle(e) {
        this.m_section.input_style != e &&
          ((this.m_section.input_style = e),
          "text_input" == e &&
            ((this.m_section.lists = this.m_section.lists.splice(
              1,
              this.m_section.lists.length,
            )),
            0 == this.m_section.lists.length && this.AddOptionList()),
          zb.Get().SetDirty(!0));
      }
      SetColumnCount(e) {
        this.m_section.columns != e &&
          ((this.m_section.columns = e), zb.Get().SetDirty(!0));
      }
      SetValveOnly(e) {
        this.m_section.valve_only != e &&
          ((this.m_section.valve_only = e), zb.Get().SetDirty(!0));
      }
      AddItemToList(e, t, n, a) {
        let r = this.m_section.lists.findIndex((t) => t.unique_id === e);
        this.AddItemToListByIndex(r, t, n);
      }
      AddItemToListByIndex(e, t, n, a) {
        if (!(e >= 0 && e <= this.m_section.lists.length))
          throw "Adding item to a list that does not exist: " + e;
        {
          const r = Object(c.ELanguagePchLanguage)(n, "english");
          this.m_section.lists[e].options ||
            (this.m_section.lists[e].options = []);
          const i = {
            text: {},
            unique_id: zb.GenerateUniqueIDForListItem(
              this.m_section.lists[e].options,
            ),
          };
          (i.text[r] = t),
            a && ((i.tooltip = {}), (i.tooltip[r] = a)),
            this.m_section.lists[e].options.push(i),
            zb.Get().SetDirty(!0);
        }
      }
      RemoveListItemByID(e, t) {
        let n = this.m_section.lists.findIndex((t) => t.unique_id === e);
        -1 !== n &&
          t < this.m_section.lists[n].options.length &&
          (this.m_section.lists[n].options.splice(t, 1), zb.Get().SetDirty(!0));
      }
      RemoveListItem(e, t) {
        e < this.m_section.lists.length &&
          t < this.m_section.lists[e].options.length &&
          (this.m_section.lists[e].options.splice(t, 1), zb.Get().SetDirty(!0));
      }
      MoveListItem(e, t, n) {
        e < this.m_section.lists.length &&
          (Object(ka.d)(this.m_section.lists[e].options, t, n),
          zb.Get().SetDirty(!0));
      }
      UpdateListItemText(e, t, n, a) {
        let r = this.m_section.lists.findIndex((t) => t.unique_id === e);
        if (
          -1 !== r &&
          t < this.m_section.lists[r].options.length &&
          wf(this.m_section.lists[r].options[t].text, a) != n
        ) {
          const e = Object(c.ELanguagePchLanguage)(a, "english");
          (this.m_section.lists[r].options[t].text[e] = n),
            zb.Get().SetDirty(!0);
        }
      }
      UpdateListItemTooltip(e, t, n, a) {
        let r = this.m_section.lists.findIndex((t) => t.unique_id === e);
        if (
          -1 !== r &&
          t < this.m_section.lists[r].options.length &&
          wf(this.m_section.lists[r].options[t].tooltip, a) != n
        ) {
          const e = Object(c.ELanguagePchLanguage)(a, "english");
          this.m_section.lists[r].options[t].tooltip ||
            (this.m_section.lists[r].options[t].tooltip = {}),
            (this.m_section.lists[r].options[t].tooltip[e] = n),
            zb.Get().SetDirty(!0);
        }
      }
      UpdateListItemTextByKV(e, t, n, a) {
        if (
          e >= 0 &&
          e < this.m_section.lists.length &&
          t >= 0 &&
          t < this.m_section.lists[e].options.length
        ) {
          let r = this.m_section.lists[e].options[t],
            i = !1;
          for (let e = 0; e < 30; ++e) {
            if (wf(n, e) != wf(r.text, e)) {
              const t = Object(c.ELanguagePchLanguage)(e);
              (r.text[t] = n[t]), (i = !0);
            }
            if (
              a &&
              (r.tooltip || (r.tooltip = {}), wf(a, e) != wf(r.tooltip, e))
            ) {
              const t = Object(c.ELanguagePchLanguage)(e);
              (r.tooltip[t] = a[t]), (i = !0);
            }
          }
          i && zb.Get().SetDirty(!0);
        }
      }
      AddOptionList() {
        const e = {
          options: [],
          unique_id: zb.GenerateUniqueIDForOptionListSection(
            this.m_section.lists,
          ),
        };
        this.m_section.lists.push(e), zb.Get().SetDirty(!0);
      }
      DeleteOptionList(e) {
        let t = this.m_section.lists.findIndex((t) => t.unique_id === e);
        t &&
          (this.m_section.lists.splice(t, 1),
          0 == this.m_section.lists.length &&
            (this.m_section.lists = [
              {
                options: [],
                unique_id: zb.GenerateUniqueIDForOptionListSection(),
              },
            ]),
          zb.Get().SetDirty(!0));
      }
      SetListTitle(e, t, n) {
        let a = this.m_section.lists.findIndex((t) => t.unique_id === e);
        this.SetListTitleByListIndex(a, t, n);
      }
      SetListTitleByListIndex(e, t, n) {
        if (
          e >= 0 &&
          e < this.m_section.lists.length &&
          wf(this.m_section.lists[e].option_title, n) != t
        ) {
          const a = Object(c.ELanguagePchLanguage)(n, "english");
          this.m_section.lists[e].option_title ||
            (this.m_section.lists[e].option_title = {}),
            (this.m_section.lists[e].option_title[a] = t),
            zb.Get().SetDirty(!0);
        }
      }
    }
    Object(a.b)([u.b], Ub.prototype, "GetName", null),
      Object(a.b)([u.b], Ub.prototype, "GetDescription", null),
      Object(a.b)([L.k.bound], Ub.prototype, "SetName", null),
      Object(a.b)([L.k.bound], Ub.prototype, "SetDescription", null),
      Object(a.b)([L.k.bound], Ub.prototype, "SetDescriptionWithCurLang", null),
      Object(a.b)([L.k.bound], Ub.prototype, "SetInputStyle", null),
      Object(a.b)([L.k.bound], Ub.prototype, "SetColumnCount", null),
      Object(a.b)([L.k.bound], Ub.prototype, "SetValveOnly", null),
      Object(a.b)([L.k.bound], Ub.prototype, "AddItemToList", null),
      Object(a.b)([L.k.bound], Ub.prototype, "AddItemToListByIndex", null),
      Object(a.b)([L.k], Ub.prototype, "RemoveListItemByID", null),
      Object(a.b)([L.k], Ub.prototype, "RemoveListItem", null),
      Object(a.b)([L.k], Ub.prototype, "MoveListItem", null),
      Object(a.b)([L.k], Ub.prototype, "UpdateListItemText", null),
      Object(a.b)([L.k], Ub.prototype, "UpdateListItemTooltip", null),
      Object(a.b)([L.k], Ub.prototype, "UpdateListItemTextByKV", null),
      Object(a.b)([L.k.bound], Ub.prototype, "AddOptionList", null),
      Object(a.b)([L.k], Ub.prototype, "DeleteOptionList", null),
      Object(a.b)([L.k], Ub.prototype, "SetListTitle", null),
      Object(a.b)([L.k], Ub.prototype, "SetListTitleByListIndex", null);
    const Wb = iu.Message;
    class Hb extends Wb {
      constructor(e = null) {
        super(),
          Hb.prototype.opt_in_name || su.a(Hb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Hb.sm_m ||
            (Hb.sm_m = {
              proto: Hb,
              fields: {
                opt_in_name: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                targeting_flag: {
                  n: 2,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                settings_flag: {
                  n: 3,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                email_templates: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                start_rtime: {
                  n: 5,
                  d: 0,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                end_rtime: {
                  n: 6,
                  d: 0,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          Hb.sm_m
        );
      }
      static MBF() {
        return Hb.sm_mbf || (Hb.sm_mbf = su.e(Hb.M())), Hb.sm_mbf;
      }
      toObject(e = !1) {
        return Hb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Hb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Hb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Hb();
        return Hb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Hb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Hb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Hb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Hb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_CreatePartnerAppOptInEmail_Request";
      }
    }
    class Vb extends Wb {
      constructor(e = null) {
        super(),
          Vb.prototype.email_def_id || su.a(Vb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Vb.sm_m ||
            (Vb.sm_m = {
              proto: Vb,
              fields: {
                email_def_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          Vb.sm_m
        );
      }
      static MBF() {
        return Vb.sm_mbf || (Vb.sm_mbf = su.e(Vb.M())), Vb.sm_mbf;
      }
      toObject(e = !1) {
        return Vb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Vb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Vb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Vb();
        return Vb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Vb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Vb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Vb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Vb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_CreatePartnerAppOptInEmail_Response";
      }
    }
    class qb extends Wb {
      constructor(e = null) {
        super(),
          qb.prototype.email_def_id || su.a(qb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          qb.sm_m ||
            (qb.sm_m = {
              proto: qb,
              fields: {
                email_def_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                targeting_flag: {
                  n: 2,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                settings_flag: {
                  n: 3,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                email_templates: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                start_rtime: {
                  n: 5,
                  d: 0,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                end_rtime: {
                  n: 6,
                  d: 0,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          qb.sm_m
        );
      }
      static MBF() {
        return qb.sm_mbf || (qb.sm_mbf = su.e(qb.M())), qb.sm_mbf;
      }
      toObject(e = !1) {
        return qb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(qb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(qb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new qb();
        return qb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(qb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return qb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(qb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return qb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_UpdatePartnerAppOptInEmail_Request";
      }
    }
    class Kb extends Wb {
      constructor(e = null) {
        super(), Wb.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return Kb.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new Kb();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Kb();
        return Kb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Kb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Kb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_UpdatePartnerAppOptInEmail_Response";
      }
    }
    class Qb extends Wb {
      constructor(e = null) {
        super(),
          Qb.prototype.accounts_examined || su.a(Qb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Qb.sm_m ||
            (Qb.sm_m = {
              proto: Qb,
              fields: {
                accounts_examined: {
                  n: 1,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                accounts_emailed: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                accounts_not_emailed_opted_out: {
                  n: 3,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                accounts_email_failed: {
                  n: 4,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                completed: { n: 5, br: su.d.readBool, bw: su.h.writeBool },
              },
            }),
          Qb.sm_m
        );
      }
      static MBF() {
        return Qb.sm_mbf || (Qb.sm_mbf = su.e(Qb.M())), Qb.sm_mbf;
      }
      toObject(e = !1) {
        return Qb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Qb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Qb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Qb();
        return Qb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Qb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Qb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Qb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Qb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPartnerAppOptInEmailStats";
      }
    }
    class Yb extends Wb {
      constructor(e = null) {
        super(),
          Yb.prototype.email_def_id || su.a(Yb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Yb.sm_m ||
            (Yb.sm_m = {
              proto: Yb,
              fields: {
                email_def_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          Yb.sm_m
        );
      }
      static MBF() {
        return Yb.sm_mbf || (Yb.sm_mbf = su.e(Yb.M())), Yb.sm_mbf;
      }
      toObject(e = !1) {
        return Yb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Yb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Yb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Yb();
        return Yb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Yb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Yb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Yb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Yb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_SendPartnerAppOptInEmailAndWait_Request";
      }
    }
    class Zb extends Wb {
      constructor(e = null) {
        super(),
          Zb.prototype.results || su.a(Zb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Zb.sm_m ||
            (Zb.sm_m = { proto: Zb, fields: { results: { n: 1, c: Qb } } }),
          Zb.sm_m
        );
      }
      static MBF() {
        return Zb.sm_mbf || (Zb.sm_mbf = su.e(Zb.M())), Zb.sm_mbf;
      }
      toObject(e = !1) {
        return Zb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Zb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Zb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Zb();
        return Zb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Zb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Zb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Zb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Zb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_SendPartnerAppOptInEmailAndWait_Response";
      }
    }
    class Jb extends Wb {
      constructor(e = null) {
        super(),
          Jb.prototype.opt_in_name || su.a(Jb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Jb.sm_m ||
            (Jb.sm_m = {
              proto: Jb,
              fields: {
                opt_in_name: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                targeting_flag: {
                  n: 2,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                settings_flag: {
                  n: 3,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                email_templates: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                start_rtime: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                end_rtime: { n: 6, br: su.d.readUint32, bw: su.h.writeUint32 },
                stats: { n: 7, c: Qb },
                creator_accountid: {
                  n: 8,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                create_time: {
                  n: 9,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                last_update_time: {
                  n: 10,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                email_def_id: {
                  n: 11,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          Jb.sm_m
        );
      }
      static MBF() {
        return Jb.sm_mbf || (Jb.sm_mbf = su.e(Jb.M())), Jb.sm_mbf;
      }
      toObject(e = !1) {
        return Jb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Jb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Jb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Jb();
        return Jb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Jb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Jb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Jb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Jb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPartnerAppOptInEmailDef";
      }
    }
    class Xb extends Wb {
      constructor(e = null) {
        super(),
          Xb.prototype.opt_in_name || su.a(Xb.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Xb.sm_m ||
            (Xb.sm_m = {
              proto: Xb,
              fields: {
                opt_in_name: {
                  n: 1,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          Xb.sm_m
        );
      }
      static MBF() {
        return Xb.sm_mbf || (Xb.sm_mbf = su.e(Xb.M())), Xb.sm_mbf;
      }
      toObject(e = !1) {
        return Xb.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(Xb.M(), e, t);
      }
      static fromObject(e) {
        return su.c(Xb.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new Xb();
        return Xb.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(Xb.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return Xb.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(Xb.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return Xb.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_GetPartnerAppOptInEmailDefAndStats_Request";
      }
    }
    class $b extends Wb {
      constructor(e = null) {
        super(),
          $b.prototype.defs || su.a($b.M()),
          Wb.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          $b.sm_m ||
            ($b.sm_m = {
              proto: $b,
              fields: { defs: { n: 1, c: Jb, r: !0, q: !0 } },
            }),
          $b.sm_m
        );
      }
      static MBF() {
        return $b.sm_mbf || ($b.sm_mbf = su.e($b.M())), $b.sm_mbf;
      }
      toObject(e = !1) {
        return $b.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g($b.M(), e, t);
      }
      static fromObject(e) {
        return su.c($b.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new $b();
        return $b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b($b.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return $b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f($b.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return $b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_GetPartnerAppOptInEmailDefAndStats_Response";
      }
    }
    class ef extends Wb {
      constructor(e = null) {
        super(),
          ef.prototype.email_def_id || su.a(ef.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ef.sm_m ||
            (ef.sm_m = {
              proto: ef,
              fields: {
                email_def_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          ef.sm_m
        );
      }
      static MBF() {
        return ef.sm_mbf || (ef.sm_mbf = su.e(ef.M())), ef.sm_mbf;
      }
      toObject(e = !1) {
        return ef.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(ef.M(), e, t);
      }
      static fromObject(e) {
        return su.c(ef.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new ef();
        return ef.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(ef.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return ef.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(ef.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return ef.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_GetEstimatePartnerAppOptInEmail_Request";
      }
    }
    class tf extends Wb {
      constructor(e = null) {
        super(),
          tf.prototype.stats || su.a(tf.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          tf.sm_m ||
            (tf.sm_m = { proto: tf, fields: { stats: { n: 1, c: Qb } } }),
          tf.sm_m
        );
      }
      static MBF() {
        return tf.sm_mbf || (tf.sm_mbf = su.e(tf.M())), tf.sm_mbf;
      }
      toObject(e = !1) {
        return tf.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(tf.M(), e, t);
      }
      static fromObject(e) {
        return su.c(tf.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new tf();
        return tf.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(tf.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return tf.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(tf.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return tf.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_GetEstimatePartnerAppOptInEmail_Response";
      }
    }
    class nf extends Wb {
      constructor(e = null) {
        super(),
          nf.prototype.email_def_id || su.a(nf.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          nf.sm_m ||
            (nf.sm_m = {
              proto: nf,
              fields: {
                email_def_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                appid: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
                partnerid: { n: 3, br: su.d.readUint32, bw: su.h.writeUint32 },
              },
            }),
          nf.sm_m
        );
      }
      static MBF() {
        return nf.sm_mbf || (nf.sm_mbf = su.e(nf.M())), nf.sm_mbf;
      }
      toObject(e = !1) {
        return nf.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(nf.M(), e, t);
      }
      static fromObject(e) {
        return su.c(nf.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new nf();
        return nf.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(nf.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return nf.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(nf.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return nf.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_TestFirePartnerAppOptInEmail_Request";
      }
    }
    class af extends Wb {
      constructor(e = null) {
        super(), Wb.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return af.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new af();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new af();
        return af.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return af.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return af.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_TestFirePartnerAppOptInEmail_Response";
      }
    }
    class rf extends Wb {
      constructor(e = null) {
        super(),
          rf.prototype.appid || su.a(rf.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          rf.sm_m ||
            (rf.sm_m = {
              proto: rf,
              fields: {
                appid: { n: 1, br: su.d.readUint32, bw: su.h.writeUint32 },
                opt_in: { n: 2, br: su.d.readBool, bw: su.h.writeBool },
                opt_in_name: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                jsondata: { n: 4, br: su.d.readString, bw: su.h.writeString },
                type: { n: 5, br: su.d.readEnum, bw: su.h.writeEnum },
                accountid_add: {
                  n: 6,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                time_opted_in: {
                  n: 7,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                time_updated: {
                  n: 8,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                accountid_lastmod: {
                  n: 9,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                invited: { n: 10, br: su.d.readBool, bw: su.h.writeBool },
                accountid_remove: {
                  n: 11,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                time_opted_out: {
                  n: 12,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                pruned: { n: 13, br: su.d.readBool, bw: su.h.writeBool },
                accountid_prune: {
                  n: 14,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                time_pruned: {
                  n: 15,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          rf.sm_m
        );
      }
      static MBF() {
        return rf.sm_mbf || (rf.sm_mbf = su.e(rf.M())), rf.sm_mbf;
      }
      toObject(e = !1) {
        return rf.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(rf.M(), e, t);
      }
      static fromObject(e) {
        return su.c(rf.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new rf();
        return rf.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(rf.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return rf.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(rf.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return rf.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPartnerAppOptInData";
      }
    }
    class sf extends Wb {
      constructor(e = null) {
        super(),
          sf.prototype.data || su.a(sf.M()),
          Wb.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          sf.sm_m ||
            (sf.sm_m = {
              proto: sf,
              fields: { data: { n: 1, c: rf, r: !0, q: !0 } },
            }),
          sf.sm_m
        );
      }
      static MBF() {
        return sf.sm_mbf || (sf.sm_mbf = su.e(sf.M())), sf.sm_mbf;
      }
      toObject(e = !1) {
        return sf.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(sf.M(), e, t);
      }
      static fromObject(e) {
        return su.c(sf.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new sf();
        return sf.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(sf.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return sf.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(sf.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return sf.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_GetSinglePartnerAppOptIns_Response";
      }
    }
    class of extends Wb {
      constructor(e = null) {
        super(),
          of.prototype.data || su.a(of.M()),
          Wb.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          of.sm_m ||
            (of.sm_m = {
              proto: of,
              fields: { data: { n: 1, c: rf, r: !0, q: !0 } },
            }),
          of.sm_m
        );
      }
      static MBF() {
        return of.sm_mbf || (of.sm_mbf = su.e(of.M())), of.sm_mbf;
      }
      toObject(e = !1) {
        return of.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(of.M(), e, t);
      }
      static fromObject(e) {
        return su.c(of.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new of();
        return of.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(of.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return of.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(of.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return of.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPublishing_GetPartnerOptInInvites_Response";
      }
    }
    class lf extends Wb {
      constructor(e = null) {
        super(),
          lf.prototype.inviteid || su.a(lf.M()),
          Wb.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          lf.sm_m ||
            (lf.sm_m = {
              proto: lf,
              fields: {
                inviteid: {
                  n: 1,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                accountid_sender: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                email: { n: 3, br: su.d.readString, bw: su.h.writeString },
                real_name: { n: 4, br: su.d.readString, bw: su.h.writeString },
                note: { n: 5, br: su.d.readString, bw: su.h.writeString },
                time_sent: { n: 6, br: su.d.readUint32, bw: su.h.writeUint32 },
                current_state: { n: 7, br: su.d.readEnum, bw: su.h.writeEnum },
                pub_rights: {
                  n: 8,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                app_rights: {
                  n: 9,
                  br: su.d.readUint64String,
                  bw: su.h.writeUint64String,
                },
                time_receiver_responded: {
                  n: 10,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                accountid: { n: 11, br: su.d.readUint32, bw: su.h.writeUint32 },
                time_partner_responded: {
                  n: 12,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                accountid_partner: {
                  n: 13,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                partnerid: { n: 14, br: su.d.readUint32, bw: su.h.writeUint32 },
                time_last_updated: {
                  n: 15,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                sender_ip: { n: 16, br: su.d.readString, bw: su.h.writeString },
              },
            }),
          lf.sm_m
        );
      }
      static MBF() {
        return lf.sm_mbf || (lf.sm_mbf = su.e(lf.M())), lf.sm_mbf;
      }
      toObject(e = !1) {
        return lf.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(lf.M(), e, t);
      }
      static fromObject(e) {
        return su.c(lf.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new lf();
        return lf.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(lf.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return lf.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(lf.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return lf.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "MembershipInvite";
      }
    }
    class cf extends Wb {
      constructor(e = null) {
        super(),
          cf.prototype.invites || su.a(cf.M()),
          Wb.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          cf.sm_m ||
            (cf.sm_m = {
              proto: cf,
              fields: { invites: { n: 1, c: lf, r: !0, q: !0 } },
            }),
          cf.sm_m
        );
      }
      static MBF() {
        return cf.sm_mbf || (cf.sm_mbf = su.e(cf.M())), cf.sm_mbf;
      }
      toObject(e = !1) {
        return cf.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(cf.M(), e, t);
      }
      static fromObject(e) {
        return su.c(cf.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new cf();
        return cf.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(cf.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return cf.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(cf.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return cf.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPartnerMembershipInvite_GetInvites_Response";
      }
    }
    var df, uf;
    !(function (e) {
      (e.GetSinglePartnerAppOptIn = function (e, t) {
        return e.SendMsg("Publishing.GetSinglePartnerAppOptIn#1", t, sf, {
          bConstMethod: !0,
          ePrivilege: 1,
        });
      }),
        (e.GetPartnerOptInInvites = function (e, t) {
          return e.SendMsg("Publishing.GetPartnerOptInInvites#1", t, of, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.CreatePartnerAppOptInEmails = function (e, t) {
          return e.SendMsg("Publishing.CreatePartnerAppOptInEmails#1", t, Vb, {
            ePrivilege: 1,
          });
        }),
        (e.UpdatePartnerAppOptInEmails = function (e, t) {
          return e.SendMsg("Publishing.UpdatePartnerAppOptInEmails#1", t, Kb, {
            ePrivilege: 1,
          });
        }),
        (e.SendPartnerOptInEmailAndWait = function (e, t) {
          return e.SendMsg("Publishing.SendPartnerOptInEmailAndWait#1", t, Zb, {
            ePrivilege: 1,
          });
        }),
        (e.GetPartnerAppOptInEmailDefAndStats = function (e, t) {
          return e.SendMsg(
            "Publishing.GetPartnerAppOptInEmailDefAndStats#1",
            t,
            $b,
            { ePrivilege: 1 },
          );
        }),
        (e.GetEstimatePartnerAppOptInEmail = function (e, t) {
          return e.SendMsg(
            "Publishing.GetEstimatePartnerAppOptInEmail#1",
            t,
            tf,
            { ePrivilege: 1 },
          );
        }),
        (e.TestFirePartnerAppOptInEmail = function (e, t) {
          return e.SendMsg("Publishing.TestFirePartnerAppOptInEmail#1", t, af, {
            ePrivilege: 1,
          });
        });
    })(df || (df = {})),
      (function (e) {
        e.GetInvites = function (e, t) {
          return e.SendMsg("PartnerMembershipInvite.GetInvites#1", t, cf, {
            bConstMethod: !0,
            ePrivilege: 11,
          });
        };
      })(uf || (uf = {}));
    const mf = "email_",
      pf = "email_section_";
    var hf;
    !(function (e) {
      (e[(e.k_RegistrationConfirmation = 0)] = "k_RegistrationConfirmation"),
        (e[(e.k_Reminder = 1)] = "k_Reminder"),
        (e[(e.k_Invite = 2)] = "k_Invite"),
        (e[(e.k_Followup = 3)] = "k_Followup"),
        (e[(e.k_Starting = 4)] = "k_Starting"),
        (e[(e.k_InviteReminder = 5)] = "k_InviteReminder"),
        (e[(e.k_Update = 6)] = "k_Update"),
        (e[(e.k_PermissionRequest = 7)] = "k_PermissionRequest");
    })(hf || (hf = {}));
    const _f = [
      hf.k_Invite,
      hf.k_InviteReminder,
      hf.k_RegistrationConfirmation,
      hf.k_Update,
      hf.k_Reminder,
      hf.k_Starting,
      hf.k_Followup,
      hf.k_PermissionRequest,
    ];
    function gf(e) {
      switch (e) {
        case hf.k_Invite:
          return "Invitation Email";
        case hf.k_InviteReminder:
          return "Invitation Reminder Email";
        case hf.k_RegistrationConfirmation:
          return "Registration Success Email";
        case hf.k_Update:
          return "General Update";
        case hf.k_Reminder:
          return "Reminder Email - Just Days Until It Starts";
        case hf.k_Starting:
          return "Event Starts Today Email";
        case hf.k_Followup:
          return "Follow-up Email";
        case hf.k_PermissionRequest:
          return "Media Permission Request";
      }
      return "unknown";
    }
    var bf;
    !(function (e) {
      (e[(e.k_Custom = 0)] = "k_Custom"),
        (e[(e.k_AssetKit = 1)] = "k_AssetKit"),
        (e[(e.k_DemoPressPreview = 2)] = "k_DemoPressPreview"),
        (e[(e.k_ScheduleLiveStream = 3)] = "k_ScheduleLiveStream"),
        (e[(e.k_CancelSection = 4)] = "k_CancelSection"),
        (e[(e.k_DemoNotReady = 5)] = "k_DemoNotReady"),
        (e[(e.k_ReviewCategorization = 6)] = "k_ReviewCategorization"),
        (e[(e.k_DemoReview = 7)] = "k_DemoReview"),
        (e[(e.k_PressPreviewDetails = 8)] = "k_PressPreviewDetails"),
        (e[(e.k_StatsSummary = 9)] = "k_StatsSummary"),
        (e[(e.k_SurveyButton = 10)] = "k_SurveyButton"),
        (e[(e.k_DemoLaunch = 11)] = "k_DemoLaunch"),
        (e[(e.k_CallForRegistration = 12)] = "k_CallForRegistration"),
        (e[(e.k_EnterDiscount = 13)] = "k_EnterDiscount"),
        (e[(e.k_EnterDiscountReminder = 14)] = "k_EnterDiscountReminder"),
        (e[(e.k_LearnMore = 15)] = "k_LearnMore"),
        (e[(e.k_MediaUsePermission = 16)] = "k_MediaUsePermission");
    })(bf || (bf = {}));
    const ff = [
      bf.k_Custom,
      bf.k_CallForRegistration,
      bf.k_AssetKit,
      bf.k_DemoPressPreview,
      bf.k_PressPreviewDetails,
      bf.k_DemoReview,
      bf.k_DemoLaunch,
      bf.k_EnterDiscount,
      bf.k_EnterDiscountReminder,
      bf.k_ScheduleLiveStream,
      bf.k_ReviewCategorization,
      bf.k_DemoNotReady,
      bf.k_LearnMore,
      bf.k_CancelSection,
      bf.k_StatsSummary,
      bf.k_SurveyButton,
      bf.k_MediaUsePermission,
    ];
    function vf(e) {
      switch (e) {
        case bf.k_Custom:
          return "Custom text section";
        case bf.k_CallForRegistration:
          return "Register now by dateX";
        case bf.k_AssetKit:
          return "Asset kit section";
        case bf.k_DemoPressPreview:
          return "Reminder: Register for press preview";
        case bf.k_ScheduleLiveStream:
          return "You can schedule a live stream + see schedule";
        case bf.k_CancelSection:
          return "Cancel any time";
        case bf.k_DemoNotReady:
          return "Cancel by this date, please";
        case bf.k_ReviewCategorization:
          return "Review your game's categorization";
        case bf.k_DemoReview:
          return "Reminder: Get your demo reviewed";
        case bf.k_PressPreviewDetails:
          return "Press Preview details";
        case bf.k_StatsSummary:
          return "Game Stats; demos, wishlists, views, etc.";
        case bf.k_SurveyButton:
          return "Survey button";
        case bf.k_DemoLaunch:
          return "Reminder: Launch your demo";
        case bf.k_EnterDiscount:
          return "Enter Discount";
        case bf.k_EnterDiscountReminder:
          return "Enter Discount Reminder";
        case bf.k_LearnMore:
          return "Learn More Link";
        case bf.k_MediaUsePermission:
          return "Media Usage Permission Request";
      }
      return "unknown";
    }
    class Sf {
      constructor(e) {
        (this.m_bReadOnly = !1),
          (this.m_email = e),
          (this.m_sections = this.m_email.sections.map((e) => new yf(e)));
      }
      SetReadOnly(e) {
        this.m_bReadOnly != e &&
          ((this.m_bReadOnly = e),
          this.m_sections.forEach((t) => t.SetReadOnly(e)));
      }
      BIsReadOnly() {
        return this.m_bReadOnly;
      }
      BIsDraftEmail() {
        return (
          null === this.m_email.email_def_id ||
          void 0 === this.m_email.email_def_id
        );
      }
      BHasSectionType(e) {
        return this.m_sections.some((t) => t.GetType() == e);
      }
      GetModel() {
        return this.m_email;
      }
      GetUniqueID() {
        return this.m_email.unique_id;
      }
      GetType() {
        return this.m_email.type;
      }
      GetNumberSections() {
        return this.m_sections.length;
      }
      GetEmailTargeting() {
        return this.m_email.targeting || 1;
      }
      GetServerEmailDefID() {
        return this.m_email.email_def_id
          ? "" + this.m_email.email_def_id
          : this.m_email.email_def_id;
      }
      GetInternalName() {
        return this.m_email.internal_name;
      }
      GetAssetKitURL() {
        return this.m_email.asset_kit_url;
      }
      GetWikiDocURL() {
        return this.m_email.wiki_doc_url;
      }
      GetSurveyLinkURL() {
        return this.m_email.survey_link_url;
      }
      GetSalePreviewPage() {
        return this.m_email.sale_preview_page;
      }
      GetScheduleMaxItems() {
        return this.m_email.schedule_max_items || 2;
      }
      GetDemoPressPreviewDate() {
        return this.m_email.demo_press_preview_date;
      }
      GetNextEditionDate() {
        return this.m_email.next_edition_date;
      }
      GetCancelDate() {
        return this.m_email.cancel_date;
      }
      GetPreviewDate() {
        return this.m_email.preview_date;
      }
      GetPermissionDate() {
        return this.m_email.permission_date;
      }
      GetSubject(e) {
        var t;
        return null !== (t = Bf(this.m_email.subject, e, "")) && void 0 !== t
          ? t
          : "";
      }
      GetSubjectWithFallback(e) {
        var t;
        return null !==
          (t = wf(this.m_email.subject, Wl.Get().GetCurEditLanguage(), e)) &&
          void 0 !== t
          ? t
          : "";
      }
      GetSections() {
        return this.m_sections;
      }
      GetSection(e) {
        return this.m_sections[e];
      }
      GetSectionByID(e) {
        for (let t = 0; t < this.m_sections.length; ++t)
          if (this.m_sections[t].GetUniqueID() == e) return this.m_sections[t];
        return null;
      }
      AddSection(e) {
        if (this.m_bReadOnly) return;
        let t = Math.floor(1 + 1e5 * Math.random());
        for (; this.GetSectionByID(pf + t); )
          t = Math.floor(1 + 1e5 * Math.random());
        const n = { unique_id: pf + t, type: e };
        this.m_email.sections || (this.m_email.sections = []),
          this.m_email.sections.push(n);
        const a = new yf(
          this.m_email.sections[this.m_email.sections.length - 1],
        );
        this.m_sections.push(a), zb.Get().SetDirty(!0);
      }
      SetServerEmailDefID(e) {
        this.m_email.email_def_id == e ||
          this.m_bReadOnly ||
          (Object(l.a)(
            null == this.m_email.email_def_id ||
              null == this.m_email.email_def_id,
            "Error: Reseting emailed def id from " +
              this.m_email.email_def_id +
              " to " +
              e,
          ),
          (this.m_email.email_def_id = "" + e),
          zb.Get().SetDirty(!0));
      }
      SetType(e) {
        this.m_email.type == e ||
          this.m_bReadOnly ||
          ((this.m_email.type = e), zb.Get().SetDirty(!0));
      }
      SetEmailTargeting(e) {
        this.m_email.targeting == e ||
          this.m_bReadOnly ||
          ((this.m_email.targeting = e), zb.Get().SetDirty(!0));
      }
      SetInternalName(e) {
        this.m_email.internal_name == e ||
          this.m_bReadOnly ||
          ((this.m_email.internal_name = e), zb.Get().SetDirty(!0));
      }
      SetAssetKitURL(e) {
        this.m_email.asset_kit_url == e ||
          this.m_bReadOnly ||
          ((this.m_email.asset_kit_url = e), zb.Get().SetDirty(!0));
      }
      SetWikiDocURL(e) {
        this.m_email.wiki_doc_url == e ||
          this.m_bReadOnly ||
          ((this.m_email.wiki_doc_url = e), zb.Get().SetDirty(!0));
      }
      SetSurveyLinkURL(e) {
        this.m_email.survey_link_url == e ||
          this.m_bReadOnly ||
          ((this.m_email.survey_link_url = e), zb.Get().SetDirty(!0));
      }
      SetSalePreviewURL(e) {
        this.m_email.sale_preview_page == e ||
          this.m_bReadOnly ||
          ((this.m_email.sale_preview_page = e), zb.Get().SetDirty(!0));
      }
      SetDemoPreviewDate(e) {
        this.m_email.demo_press_preview_date == e ||
          this.m_bReadOnly ||
          ((this.m_email.demo_press_preview_date = e), zb.Get().SetDirty(!0));
      }
      SetCancelDate(e) {
        this.m_email.cancel_date == e ||
          this.m_bReadOnly ||
          ((this.m_email.cancel_date = e), zb.Get().SetDirty(!0));
      }
      SetPreviewDate(e) {
        this.m_email.preview_date != e &&
          ((this.m_email.preview_date = e), zb.Get().SetDirty(!0));
      }
      SetPermissionDate(e) {
        this.m_email.permission_date != e &&
          ((this.m_email.permission_date = e), zb.Get().SetDirty(!0));
      }
      SetScheduleMaxItems(e) {
        this.m_email.schedule_max_items == e ||
          this.m_bReadOnly ||
          ((this.m_email.schedule_max_items = e), zb.Get().SetDirty(!0));
      }
      SetNextEditionDate(e) {
        this.m_email.next_edition_date == e ||
          this.m_bReadOnly ||
          ((this.m_email.next_edition_date = e), zb.Get().SetDirty(!0));
      }
      SetSubject(e, t) {
        if (Bf(this.m_email.subject, t, void 0) != e && !this.m_bReadOnly) {
          const n = Object(le.d)(t, "english");
          this.m_email.subject || (this.m_email.subject = {}),
            (this.m_email.subject[n] = e),
            zb.Get().SetDirty(!0);
        }
      }
    }
    Object(a.b)([L.C], Sf.prototype, "m_email", void 0),
      Object(a.b)([L.C], Sf.prototype, "m_sections", void 0),
      Object(a.b)([u.b], Sf.prototype, "GetSubject", null),
      Object(a.b)([L.k.bound], Sf.prototype, "AddSection", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetServerEmailDefID", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetType", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetEmailTargeting", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetInternalName", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetAssetKitURL", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetWikiDocURL", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetSurveyLinkURL", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetSalePreviewURL", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetDemoPreviewDate", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetCancelDate", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetPreviewDate", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetPermissionDate", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetScheduleMaxItems", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetNextEditionDate", null),
      Object(a.b)([L.k.bound], Sf.prototype, "SetSubject", null);
    class yf {
      constructor(e) {
        (this.m_bReadOnly = !1), (this.m_section = e);
      }
      SetReadOnly(e) {
        this.m_bReadOnly = e;
      }
      BIsReadOnly() {
        return this.m_bReadOnly;
      }
      GetUniqueID() {
        return this.m_section.unique_id;
      }
      GetType() {
        return this.m_section.type;
      }
      GetModel() {
        return this.m_section;
      }
      GetTitle(e) {
        var t;
        return null !== (t = Bf(this.m_section.title, e, "")) && void 0 !== t
          ? t
          : "";
      }
      GetTitleWithFallback(e) {
        var t;
        return null !==
          (t = wf(this.m_section.title, Wl.Get().GetCurEditLanguage(), e)) &&
          void 0 !== t
          ? t
          : "";
      }
      GetDescription(e) {
        var t;
        return null !== (t = Bf(this.m_section.description, e, "")) &&
          void 0 !== t
          ? t
          : "";
      }
      GetDescriptionWithFallback(e) {
        var t;
        return null !==
          (t = wf(
            this.m_section.description,
            Wl.Get().GetCurEditLanguage(),
            e,
          )) && void 0 !== t
          ? t
          : "";
      }
      SetType(e) {
        this.m_section.type == e ||
          this.m_bReadOnly ||
          (this.m_section.type == bf.k_Custom &&
            e != bf.k_Custom &&
            ((this.m_section.title = {}), (this.m_section.description = {})),
          (this.m_section.type = e),
          zb.Get().SetDirty(!0));
      }
      SetTitle(e, t) {
        if (Bf(this.m_section.title, t, void 0) != e && !this.m_bReadOnly) {
          const n = Object(le.d)(t, "english");
          this.m_section.title || (this.m_section.title = {}),
            (this.m_section.title[n] = e),
            zb.Get().SetDirty(!0);
        }
      }
      SetDescription(e, t) {
        if (
          Bf(this.m_section.description, t, void 0) != e &&
          !this.m_bReadOnly
        ) {
          const n = Object(le.d)(t, "english");
          this.m_section.description || (this.m_section.description = {}),
            (this.m_section.description[n] = e),
            zb.Get().SetDirty(!0);
        }
      }
    }
    var Ef, Cf;
    function wf(e, t, n = "") {
      if (e) {
        const a = Object(le.d)(t);
        return e[a] ? e[a] : e.english ? e.english : n;
      }
      return n;
    }
    function Bf(e, t, n = "") {
      if (e) {
        const a = Object(le.d)(t);
        return e[a] ? e[a] : n;
      }
      return n;
    }
    function Of(e) {
      var t;
      null === (t = e.dynamic_sections) ||
        void 0 === t ||
        t.forEach((e) => {
          var t;
          null === (t = e.lists) ||
            void 0 === t ||
            t.forEach((e) => {
              var t;
              null === (t = e.options) ||
                void 0 === t ||
                t.forEach((e, t) => {
                  Df(e.text), Df(e.tooltip);
                });
            });
        });
    }
    function Df(e) {
      if (e)
        for (let t = 0; t < 30; ++t) {
          const n = Object(le.d)(t);
          null == e[n] ||
            null == e[n] ||
            Number.isNaN(e[n]) ||
            (e[n] = "" + e[n]);
        }
    }
    Object(a.b)([L.C], yf.prototype, "m_section", void 0),
      Object(a.b)([u.b], yf.prototype, "GetTitle", null),
      Object(a.b)([u.b], yf.prototype, "GetDescription", null),
      Object(a.b)([L.k.bound], yf.prototype, "SetType", null),
      Object(a.b)([L.k.bound], yf.prototype, "SetTitle", null),
      Object(a.b)([L.k.bound], yf.prototype, "SetDescription", null),
      (function (e) {
        (e[(e[""] = 0)] = ""),
          (e[(e["Steam Game Festival"] = 1)] = "Steam Game Festival"),
          (e[(e["Tabletop Festival"] = 2)] = "Tabletop Festival");
      })(Ef || (Ef = {})),
      (function (e) {
        (e[(e.k_Optional = 0)] = "k_Optional"),
          (e[(e.k_Suggested = 1)] = "k_Suggested"),
          (e[(e.k_Required = 2)] = "k_Required");
      })(Cf || (Cf = {}));
    var If = n("k5Yd"),
      Tf = n.n(If),
      Rf = n("Fd40"),
      jf = n.n(Rf),
      Af = n("QztZ"),
      kf = n.n(Af);
    class Mf extends r.Component {
      constructor() {
        super(...arguments), (this.state = { activeTab: "" });
      }
      componentDidMount() {
        this.props.startingTab
          ? this.setState({ activeTab: this.props.startingTab })
          : !this.props.bDisableRouting &&
            this.props.location &&
            this.setState({ activeTab: Dr(this.props.location, "tab") });
      }
      componentDidUpdate(e) {
        !this.props.bDisableRouting &&
          this.props.location &&
          this.props.location.key !== e.location.key &&
          this.setState({ activeTab: Dr(this.props.location, "tab") });
      }
      OnTabClick(e) {
        this.setState({ activeTab: e.key }),
          !this.props.bDisableRouting &&
            this.props.history &&
            Tr(this.props.history, "tab", e.key),
          e.onClick && e.onClick(e);
      }
      render() {
        const e =
          this.props.tabs.find((e) => e.key === this.state.activeTab) ||
          this.props.tabs[0];
        return r.createElement(
          r.Fragment,
          null,
          r.createElement(
            "div",
            { className: kf.a.GraphicalAssetsTabs },
            this.props.tabs.map((t) => {
              if (!t.hidden) {
                let n = "";
                return (
                  "success" === t.statusType
                    ? (n = kf.a.StatusSuccess)
                    : "danger" === t.statusType
                      ? (n = kf.a.StatusDanger)
                      : "caution" === t.statusType && (n = kf.a.StatusCaution),
                  r.createElement(
                    E.b,
                    {
                      key: t.key,
                      condition: Boolean(t.statusToolTip),
                      wrap: (e) =>
                        r.createElement(
                          Qe.a,
                          { toolTipContent: t.statusToolTip || t.tooltip },
                          e,
                        ),
                    },
                    r.createElement(
                      "div",
                      {
                        key: t.key,
                        className: `${kf.a.GraphicalAssetsTab} ${t.key === e.key ? kf.a.Active : ""}`,
                        onClick: () => this.OnTabClick(t),
                      },
                      Boolean(t.vo_warning) &&
                        r.createElement(
                          Qe.a,
                          { toolTipContent: t.vo_warning },
                          r.createElement(
                            "div",
                            { className: kf.a.VOWarning },
                            Object($.f)("#EventEditor_VOWarning"),
                          ),
                        ),
                      Boolean(t.status) &&
                        r.createElement(
                          "div",
                          {
                            className: Object(h.a)(
                              kf.a.GraphicalAssetStatus,
                              n,
                            ),
                          },
                          t.status,
                        ),
                      t.name,
                    ),
                  )
                );
              }
              return null;
            }),
          ),
          r.createElement("div", null, e && e.contents),
        );
      }
    }
    const Pf = Object(fa.k)(Mf),
      Lf = Object(m.a)((e) => {
        const t = Gb.Get(),
          n = Object(r.useRef)(null),
          s = F.a.CancelToken.source(),
          [l, c] = Object(r.useState)(""),
          d = () => {
            n.current && n.current("new create requested."),
              e.closeModal && e.closeModal();
          };
        return i.a.createElement(
          xe.f,
          { onCancel: d },
          i.a.createElement(te.y, null, "Create a new Opt In Page"),
          i.a.createElement(
            te.c,
            null,
            i.a.createElement(
              "span",
              null,
              "Please provide a unique ID for the page",
            ),
            i.a.createElement("br", null),
            i.a.createElement(
              "div",
              null,
              i.a.createElement(
                "span",
                { style: { width: "100px", display: "inline-block" } },
                "Sale ID",
              ),
              i.a.createElement("input", {
                type: "text",
                onChange: function (e) {
                  c(e.target.value);
                },
              }),
              i.a.createElement("br", null),
              i.a.createElement("p", null),
              i.a.createElement(
                "span",
                { style: { fontStyle: "italic" } },
                "The Sale ID is used in the URL for the page. Only letters, numbers, and underscores are allowed.",
              ),
              i.a.createElement("p", null),
              i.a.createElement("span", {
                id: "resultmsg",
                style: { color: "red" },
              }),
            ),
          ),
          i.a.createElement(
            te.p,
            null,
            i.a.createElement(te.D, {
              onCancel: d,
              onOK: function () {
                return Object(a.a)(this, void 0, void 0, function* () {
                  let e;
                  if (
                    (n.current && n.current("new create requested."),
                    yield (e = t.CreatePage(l, s.token)),
                    t.GetCreatedPageId())
                  )
                    window.location.href =
                      o.c.PARTNER_BASE_URL +
                      "optin/admin/edit/" +
                      t.GetCreatedPageId();
                  else {
                    let e = document.getElementById("resultmsg");
                    t.GetCreatePageErrMsg()
                      ? (e.innerText = t.GetCreatePageErrMsg())
                      : (e.innerText =
                          "Error occured when attempting to create page.  Please try again.");
                  }
                });
              },
              strOKText: Object($.f)("#Button_Continue"),
            }),
          ),
        );
      }),
      Gf = (e) => {
        var t, n;
        Object(r.useEffect)(() => {
          Gb.Get(), zb.Get().Reset(null, null);
        }, []);
        const [a, s] = Rr("tab", "active"),
          o = (e) => s(e.key),
          l = [
            {
              name: `Active Opt-In Events (${(null === (t = Gb.Get().GetActiveOptIn()) || void 0 === t ? void 0 : t.length) || 0})`,
              key: "active",
              contents: i.a.createElement(
                nt.a,
                null,
                i.a.createElement(Nf, {
                  list: Gb.Get().GetActiveOptIn(),
                  stats: Gb.Get().GetOptInStats(),
                  bActiveOptIn: !0,
                }),
              ),
              onClick: o,
            },
            {
              name: `Archived Opt-In Events (${(null === (n = Gb.Get().GetArchivedOptIn()) || void 0 === n ? void 0 : n.length) || 0})`,
              key: "archive",
              contents: i.a.createElement(
                nt.a,
                null,
                i.a.createElement(Nf, {
                  list: Gb.Get().GetArchivedOptIn(),
                  stats: null,
                }),
              ),
              onClick: o,
            },
          ];
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            "div",
            { className: jf.a.DashboardCtn },
            i.a.createElement(
              "h1",
              null,
              "Opt-In Admin Dashboard",
              i.a.createElement(
                "button",
                {
                  className: Object(h.a)(Fe.a.Button),
                  style: { float: "right", marginRight: "16px" },
                  onClick: (e) =>
                    Object(E.d)(
                      e,
                      "https://confluence.valve.org/display/STEAM/Setting+up+an+opt-in+event",
                    ),
                },
                "Help",
              ),
              i.a.createElement(
                "button",
                {
                  className: Object(h.a)(Fe.a.Button),
                  style: { float: "right", marginRight: "16px" },
                  onClick: (e) => {
                    Object(ze.d)(i.a.createElement(Lf, null), Object(v.o)(e));
                  },
                },
                "Create Opt-In Page",
              ),
            ),
            i.a.createElement("hr", null),
            i.a.createElement(
              "p",
              null,
              "This shows all of the active and past opt-in definitions we have setup. Definition drives both the eligibility of the app that are included and also describe the content we show partners on their specific opt-in page.",
            ),
            i.a.createElement(Pf, { tabs: l, startingTab: a }),
          ),
        );
      },
      Nf = (e) => {
        const { bActiveOptIn: t } = e;
        return i.a.createElement(
          "div",
          null,
          e.list.map((n) => {
            const a = Gb.Get().BHasUnpublishedChagnes(n.pageid);
            return i.a.createElement(
              "div",
              {
                key: n.pageid,
                className: Object(h.a)(jf.a.OptInAdminRow, Tf.a.TileContainer),
              },
              i.a.createElement(
                "div",
                { className: Tf.a.EventNameCtn },
                i.a.createElement(
                  "div",
                  { className: Tf.a.EventName },
                  n.pageid,
                ),
                i.a.createElement(
                  "div",
                  { className: Tf.a.DatesCtn },
                  i.a.createElement(
                    "span",
                    { className: Tf.a.DateAndTime },
                    "From ",
                    i.a.createElement(Ra.a, {
                      dateAndTime: n.event_start_date,
                      bSingleLine: !0,
                    }),
                  ),
                  i.a.createElement(
                    "span",
                    { className: Tf.a.DateAndTime },
                    "To ",
                    i.a.createElement(Ra.a, {
                      dateAndTime: n.event_end_date,
                      bSingleLine: !0,
                    }),
                  ),
                ),
              ),
              i.a.createElement(
                "div",
                { className: Tf.a.EventDetailsCtn },
                i.a.createElement(
                  "div",
                  { className: jf.a.StatsCtn },
                  i.a.createElement(
                    "div",
                    { className: Tf.a.TopStatsCtn },
                    e.stats &&
                      e.stats[n.pageid] &&
                      e.stats[n.pageid].count_eligible &&
                      i.a.createElement(
                        "div",
                        { className: Tf.a.FeaturedApps },
                        i.a.createElement(
                          "div",
                          { className: Tf.a.BigNumber },
                          e.stats && e.stats[n.pageid]
                            ? e.stats[n.pageid].count_eligible
                            : "",
                        ),
                        i.a.createElement(
                          "span",
                          {
                            "data-tooltip-text":
                              "Number of apps eligible based on the criteria set",
                            className: Fe.a.HelperTooltip,
                          },
                          "Eligible",
                        ),
                      ),
                    e.stats &&
                      e.stats[n.pageid] &&
                      i.a.createElement(
                        "div",
                        { className: Tf.a.FeaturedApps },
                        i.a.createElement(
                          "div",
                          {
                            className: Object(h.a)(
                              Tf.a.BigNumber,
                              Tf.a.Highlight,
                            ),
                          },
                          e.stats && e.stats[n.pageid]
                            ? e.stats[n.pageid].count_opted_in
                            : "",
                        ),
                        i.a.createElement(
                          "span",
                          {
                            "data-tooltip-text":
                              "Number of apps that have selected to opt in for this event",
                            className: Fe.a.HelperTooltip,
                          },
                          "Opted In  (",
                          i.a.createElement(
                            "a",
                            {
                              href:
                                o.c.PARTNER_BASE_URL +
                                "optin/admin/edit/" +
                                n.pageid +
                                "?tab=manage",
                              className: Object(h.a)(Tf.a.BrowseLink),
                            },
                            "Browse",
                          ),
                          " )",
                        ),
                      ),
                    e.stats &&
                      e.stats[n.pageid] &&
                      i.a.createElement(
                        "div",
                        { className: Tf.a.FeaturedApps },
                        i.a.createElement(
                          "div",
                          { className: Tf.a.BigNumber },
                          e.stats && e.stats[n.pageid]
                            ? e.stats[n.pageid].count_opted_out
                            : "",
                        ),
                        i.a.createElement(
                          "div",
                          { className: jf.a.StatRow },
                          "Opted Out",
                        ),
                      ),
                  ),
                  i.a.createElement(
                    "div",
                    { className: Tf.a.StatusCtn },
                    e.stats &&
                      e.stats[n.pageid] &&
                      i.a.createElement(
                        "div",
                        { className: jf.a.StatRefresh },
                        "Stats refreshed: ",
                        i.a.createElement(Ra.a, {
                          dateAndTime:
                            e.stats && e.stats[n.pageid]
                              ? e.stats[n.pageid].time_updated
                              : 0,
                          bSingleLine: !0,
                        }),
                      ),
                    a &&
                      i.a.createElement(
                        "div",
                        { className: Tf.a.PendingChanges },
                        "Has Unpublished Changes",
                      ),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: Object(h.a)(jf.a.Button, jf.a.ButtonCtn) },
                  i.a.createElement(
                    In.b,
                    {
                      to: Gy.OptinAdminEdit(n.pageid),
                      className: Object(h.a)(Fe.a.Button, Fe.a.Primary),
                    },
                    "Edit Opt-In Definition",
                  ),
                  Boolean(t) &&
                    i.a.createElement(
                      "a",
                      {
                        href:
                          o.c.PARTNER_BASE_URL +
                          "optin" +
                          Gy.OptInAppReview(n.pageid),
                        className: Object(h.a)(Fe.a.Button),
                        target: "_blank",
                      },
                      "Open Opt-In Pruning Page",
                    ),
                ),
              ),
            );
          }),
        );
      };
    var Ff = n("4pCg"),
      xf = n("Q+lt"),
      zf = n.n(xf);
    const Uf = Object(m.a)((e) => {
        const t = zb.Get(),
          n = t
            .GetEditableDynamicSections()
            .map((e, t) =>
              i.a.createElement(Wf, {
                key: e.GetUniqueID(),
                section: e,
                dynamicSectionIndex: t,
              }),
            );
        return i.a.createElement(
          "div",
          null,
          i.a.createElement("h2", null, "Optional Dynamic Sections"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "p",
            null,
            "Optional Section that can be used to collect additional data from users for their app prior to opting in. This data can be later used to help organize the content on the sales and will surface in the sale page editors.",
          ),
          n,
          i.a.createElement(
            "div",
            { className: Ff.AddSectionCtn },
            i.a.createElement(
              te.F,
              { onClick: t.AddDynamicSection },
              "Add New Dynamic Section",
            ),
          ),
        );
      }),
      Wf = Object(m.a)((e) => {
        const { section: t, dynamicSectionIndex: n } = e,
          a = Wl.Get().GetCurEditLanguage(),
          r = i.a.createRef(),
          s = t
            .GetLists()
            .map((e, n) =>
              i.a.createElement(Vf, {
                key: t.GetUniqueID() + e.unique_id,
                section: t,
                listIndex: n,
              }),
            );
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            "div",
            {
              className: Object(h.a)({
                [zf.a.Section]: !0,
                [Fe.a.ValveOnlyBackground]: t.BIsValveOnlySection(),
              }),
            },
            i.a.createElement(Hf, { section: t, dynamicSectionIndex: n }),
            i.a.createElement("div", null, "Section ID: ", t.GetUniqueID()),
            i.a.createElement(te.z, {
              type: "text",
              label: "Section Name",
              value: t.GetName(),
              onChange: (e) => t.SetName(e.target.value, a),
            }),
            i.a.createElement("div", null, "Section Description: (optional)"),
            i.a.createElement(ut, {
              fnGetCurText: t.GetDescription,
              fnOnTextChange: (e) => t.SetDescription(e.currentTarget.value, a),
              fnSetText: t.SetDescriptionWithCurLang,
              strPlaceholder: "Enter Description Here",
              emoticonStore: ue.b,
              bSupportHTMLImport: !0,
              showFormatHelp: "PartnerEvents",
              classNameForTextArea: zf.a.EventBBCodeEditor,
              limitBBCode: void 0,
              nOverridesRows: 10,
            }),
            i.a.createElement(te.f, {
              className: Fe.a.ValveOnlyBackground,
              label: "Valve Admin and Support Team Only",
              tooltip:
                "Only showns to and changeable by Valve Admin and Support. Useful to markup and store a setting on the opt-in registration directly.",
              onChange: t.SetValveOnly,
              checked: t.BIsValveOnlySection(),
            }),
            i.a.createElement(te.m, {
              rgOptions: [
                { label: "Radio Buttons (single selection)", data: "radio" },
                {
                  label: "Checkboxes (none or multi-selection)",
                  data: "checkbox",
                },
                {
                  label: "Dropdown (lots of options, allows type searching)",
                  data: "single_select",
                },
                {
                  label:
                    "Multi-Select Dropdown (lots of options, allows type searching)",
                  data: "multi_select",
                },
                { label: "Text (open ended answers)", data: "text_input" },
              ],
              selectedOption: t.GetInputStyle(),
              onChange: (e) => {
                "text_input" === e.data &&
                "text_input" !== t.GetInputStyle() &&
                t.GetListCount() > 1
                  ? Object(ze.d)(
                      i.a.createElement(xe.e, {
                        strTitle: "Change to Text Input",
                        bDestructiveWarning: !0,
                        strDescription:
                          "Changing to text input is destructive, and will eliminate any previous values you have created for the lists. Are you sure?",
                        onOK: () => t.SetInputStyle(e.data),
                        onCancel: () => {
                          var e;
                          return null ===
                            (e = null == r ? void 0 : r.current) || void 0 === e
                            ? void 0
                            : e.SetSelectedOption(t.GetInputStyle());
                        },
                      }),
                      window,
                    )
                  : t.SetInputStyle(e.data);
              },
              label: "Input Style",
              dropDownControlRef: r,
            }),
            Boolean(
              "radio" == t.GetInputStyle() || "checkbox" == t.GetInputStyle(),
            ) &&
              i.a.createElement(te.J, {
                label: "Display as # of Column(s)",
                showValue: !0,
                min: 1,
                max: 3,
                value: t.GetColumnCount(),
                onChange: (e) => t.SetColumnCount(e),
                tooltip:
                  "The options to select will be displayed in this many columns to the users",
              }),
            s,
            Boolean("text_input" != t.GetInputStyle()) &&
              i.a.createElement(
                i.a.Fragment,
                null,
                i.a.createElement(
                  te.e,
                  {
                    disabled: t.GetListCount() < 2,
                    onClick: (e) => Zf(e, t.GetModel()),
                  },
                  "Re-Order lists within this Section",
                ),
                i.a.createElement(
                  te.F,
                  { onClick: t.AddOptionList },
                  "Add Another Option List within this Dynamic Section",
                ),
              ),
          ),
        );
      }),
      Hf = Object(m.a)((e) => {
        const t = zb.Get(),
          { section: n, dynamicSectionIndex: a } = e;
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)({
              [Ff.Header]: !0,
              [Fe.a.ValveOnlyBackground]: n.BIsValveOnlySection(),
            }),
          },
          i.a.createElement(
            "span",
            null,
            n.BIsValveOnlySection() && "(VO) ",
            n.GetNameWithFallback(`Dynamic Section ${a}`),
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              te.e,
              {
                onClick: (e) => {
                  Object(ze.d)(
                    i.a.createElement(xe.e, {
                      onOK: () => {
                        t.DeleteDynamicSection(n.GetUniqueID());
                      },
                      strTitle: "Delete Dynamic Section?",
                      strDescription:
                        "Delete this section? This cannot be undone and any data will be lost.",
                      bDestructiveWarning: !0,
                    }),
                    Object(v.o)(e),
                  );
                },
              },
              i.a.createElement(H.Ab, null),
            ),
          ),
        );
      }),
      Vf = Object(m.a)((e) => {
        const { section: t, listIndex: n } = e;
        return "text_input" === t.GetInputStyle()
          ? i.a.createElement(
              "div",
              null,
              "Textarea will appear here for the users input.",
            )
          : i.a.createElement(qf, { section: t, listIndex: n });
      }),
      qf = Object(m.a)((e) => {
        const { section: t, listIndex: n } = e,
          a = t.GetListByIndex(n),
          r = Wl.Get().GetCurEditLanguage();
        return i.a.createElement(
          "div",
          { id: t.GetUniqueID() + a.unique_id, className: Ff.optionList },
          i.a.createElement(te.z, {
            type: "text",
            label: "Name for this group of options",
            value: t.GetListTitle(n),
            onChange: (e) =>
              t.SetListTitleByListIndex(n, e.currentTarget.value, r),
          }),
          Boolean(0 == a.options.length)
            ? i.a.createElement("div", null, "No Options Added")
            : i.a.createElement(Yl, {
                items: a.options.map((e, t) => ({ itemIndex: t, listitem: e })),
                onDelete: (e, a) => {
                  Object(ze.d)(
                    i.a.createElement(xe.e, {
                      bDestructiveWarning: !0,
                      strTitle: "Delete selected option",
                      strDescription:
                        "Are you sure you want to delete the following item?: " +
                        wf(t.GetItemAtListAndIndex(n, e).text, r),
                      onOK: () => t.RemoveListItem(n, e),
                    }),
                    Object(v.o)(a),
                  );
                },
                onEdit: (a, r) => {
                  Object(ze.d)(
                    i.a.createElement(
                      Kf,
                      Object.assign({}, e, {
                        itemIndex: a,
                        item: t.GetItemAtListAndIndex(n, a),
                      }),
                    ),
                    Object(v.o)(r),
                  );
                },
                onMove: (e, t) => {
                  Object(ka.d)(a.options, e, t), zb.Get().SetDirty(!0);
                },
                render: (e) => {
                  let t =
                    e.listitem.tooltip && wf(e.listitem.tooltip, r, void 0);
                  return i.a.createElement(
                    Qe.a,
                    { toolTipContent: t },
                    wf(e.listitem.text, r),
                    " ",
                    Boolean(t) && "(?)",
                  );
                },
              }),
          i.a.createElement(
            te.e,
            {
              onClick: (t) =>
                Object(ze.d)(
                  i.a.createElement(Qf, Object.assign({}, e)),
                  Object(v.o)(t),
                ),
            },
            "Add Option Item",
          ),
        );
      }),
      Kf = (e) => {
        const [t, n] = Object(r.useState)(e.item.text),
          [a, s] = Object(r.useState)(e.item.tooltip),
          [o, l] = Object(r.useState)(Wl.Get().GetCurEditLanguage());
        return i.a.createElement(
          xe.e,
          {
            strTitle: "Edit Item",
            strDescription: "Update the value and confirm to apply changes.",
            onOK: () => {
              e.section.UpdateListItemTextByKV(e.listIndex, e.itemIndex, t, a),
                e.closeModal && e.closeModal();
            },
            onCancel: e.closeModal,
          },
          i.a.createElement(
            "div",
            null,
            i.a.createElement(S_, {
              selectedLang: o,
              fnLangHasData: (e) => {
                let n = Object(le.d)(e);
                return (
                  (t[n] && t[n].trim().length > 0) ||
                  (a && a[n] && a[n].trim().length > 0)
                );
              },
              fnOnLanguageChanged: l,
            }),
            i.a.createElement(te.z, {
              type: "text",
              placeholder: "Enter Text",
              label: "Item Name",
              value: Bf(t, o, ""),
              onChange: (e) => {
                let a = JSON.parse(JSON.stringify(t));
                (a[Object(le.d)(o)] = e.target.value), n(a);
              },
            }),
            i.a.createElement(te.z, {
              type: "text",
              placeholder: "Enter Tooltip",
              label: "Tooltip (optional)",
              value: Bf(a, o, ""),
              onChange: (e) => {
                let t = a ? JSON.parse(JSON.stringify(a)) : {};
                (t[Object(le.d)(o)] = e.target.value), s(t);
              },
            }),
          ),
        );
      },
      Qf = (e) => {
        const [t, n] = Object(r.useState)(""),
          [a, s] = Object(r.useState)(""),
          o = Wl.Get().GetCurEditLanguage();
        return i.a.createElement(
          xe.e,
          {
            strTitle: "Add Option Item",
            strDescription: `Add items for the user to select from. Adding for the language: ${Object(le.d)(o)}`,
            onOK: () => {
              e.section.AddItemToListByIndex(e.listIndex, t, o, a),
                e.closeModal && e.closeModal();
            },
            bOKDisabled: 0 == t.trim().length,
            onCancel: e.closeModal,
          },
          i.a.createElement(
            "div",
            null,
            i.a.createElement(te.z, {
              type: "text",
              value: t,
              onChange: (e) => n(e.currentTarget.value),
              placeholder: "Enter name (requred)",
              label: "Item Name",
              focusOnMount: !0,
            }),
            i.a.createElement(te.z, {
              type: "text",
              value: a,
              onChange: (e) => s(e.currentTarget.value),
              placeholder: "Enter Tooltip (optional)",
              label: "Tooltip",
            }),
          ),
        );
      },
      Yf = (e) => {
        const t = zb.Get(),
          n = Wl.Get().GetCurEditLanguage();
        Object(ze.d)(
          i.a.createElement(
            xe.e,
            {
              strTitle: "Re-Order Dynamic Sections",
              bDestructiveWarning: !0,
              strDescription:
                "Reorders the dynamic section. Changes are immediately applied but don't reflect in the editor. Save and reload the page (its a bug, I will fix is soon!)",
            },
            i.a.createElement(
              "div",
              null,
              Boolean(
                t.GetModel().dynamic_sections &&
                  t.GetModel().dynamic_sections.length > 0,
              )
                ? i.a.createElement(Yl, {
                    items: t.GetModel().dynamic_sections,
                    render: (e) => wf(e.name, n, "Unnamed Section"),
                    onReorder: () => t.SetDirty(!0),
                  })
                : i.a.createElement(
                    "p",
                    null,
                    "No dynamic sections to re-order",
                  ),
            ),
          ),
          Object(v.o)(e),
        );
      },
      Zf = (e, t) => {
        const n = zb.Get(),
          a = Wl.Get().GetCurEditLanguage();
        Object(ze.d)(
          i.a.createElement(
            xe.e,
            {
              strTitle: "Re-Order Lists within a Sections",
              bDestructiveWarning: !0,
              strDescription:
                "Reorders the list within a section. Changes are immediately applied but don't reflect in the editor. Save and reload the page (its a bug, I will fix is soon!)",
            },
            i.a.createElement(
              "div",
              null,
              Boolean(t.lists && t.lists.length > 0)
                ? i.a.createElement(Yl, {
                    items: t.lists,
                    render: (e) => wf(e.option_title, a, "Untitled List"),
                    onReorder: () => n.SetDirty(!0),
                  })
                : i.a.createElement("p", null, "No list to re-order"),
            ),
          ),
          Object(v.o)(e),
        );
      };
    class Jf extends r.Component {
      render() {
        if ("dev" !== o.c.WEB_UNIVERSE) return null;
        let e = document.getElementById(this.props.strConfigID);
        if (!e) return null;
        let t = new Array();
        return (
          e.getAttributeNames().forEach((n) => {
            n.toLocaleLowerCase().startsWith("data-") &&
              (t.push(r.createElement("h1", { key: "header-" + n }, n)),
              t.push(
                r.createElement(Xf, {
                  key: "body-" + n,
                  data: JSON.parse(e.getAttribute(n)),
                }),
              ));
          }),
          r.createElement("div", null, t)
        );
      }
    }
    class Xf extends r.Component {
      render() {
        return r.createElement(
          "div",
          null,
          r.createElement(
            "pre",
            null,
            JSON.stringify(this.props.data, null, 2),
          ),
        );
      }
    }
    const $f = (e) => {
      const t = zb.Get();
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("h1", null, "Data:"),
        i.a.createElement("div", null, "PageID: ", t.GetName()),
        i.a.createElement(
          "div",
          null,
          "Event Start Time: ",
          t.GetEventStartTime(),
          " -",
          Boolean(0 != t.GetEventStartTime()) &&
            i.a.createElement(Ra.a, {
              dateAndTime: t.GetEventStartTime(),
              bSingleLine: !0,
            }),
        ),
        i.a.createElement(
          "div",
          null,
          "Event End Time: ",
          t.GetEventEndTime(),
          " -",
          Boolean(0 != t.GetEventEndTime()) &&
            i.a.createElement(Ra.a, {
              dateAndTime: t.GetEventEndTime(),
              bSingleLine: !0,
            }),
        ),
        i.a.createElement("h1", null, "OptIn Body Raw"),
        i.a.createElement(Xf, { data: zb.Get().GetModel() }),
      );
    };
    var ev = n("Cs6D"),
      tv = n("y2g3"),
      nv = n.n(tv),
      av = n("ktD1"),
      rv = n.n(av);
    const iv = n("f0Wu");
    let sv = class extends r.Component {
      constructor(e) {
        super(e),
          (this.state = {
            timeAsString: null,
            dateAsString: null,
            bEndTimeBeforeStartTime: !1,
          });
      }
      OnTimeChange(e) {
        const {
          nEarliestTime: t,
          fnSetTimeToUpdate: n,
          fnIsValidDateTime: a,
          disabled: r,
        } = this.props;
        if (r) return;
        if ("string" == typeof e) {
          let t = iv(e, "h:m a +-h:m", !0);
          if (!t.isValid()) return void this.setState({ timeAsString: e });
          e = t;
        }
        let i = this.props.fnGetTimeToUpdate(),
          s = 0;
        if (i) {
          const t = iv.unix(i);
          e.year(t.year()), e.month(t.month()), e.day(t.day()), (s = e.unix());
        } else {
          s =
            iv.unix(t).hour(0).second(0).minutes(0).unix() +
            3600 * e.hour() +
            60 * e.minutes();
        }
        n(s);
        let o = a && !0 === a();
        (null == this.state.timeAsString &&
          o == this.state.bEndTimeBeforeStartTime) ||
          this.setState({ timeAsString: null, bEndTimeBeforeStartTime: o });
      }
      OnDateChange(e) {
        const { disabled: t } = this.props;
        if (t) return;
        if ("string" == typeof e) {
          let t = iv(e, "M/D/YYYY", !0);
          if (!t.isValid()) return void this.setState({ dateAsString: e });
          e = t;
        }
        const n = this.props.fnGetTimeToUpdate(),
          a = iv.unix(n || Bt.b.GetTimeNowWithOverride());
        e.hour(a.hour()),
          e.minute(a.minute()),
          e.second(0),
          this.props.fnSetTimeToUpdate(e.unix());
        let r =
          this.props.fnIsValidDateTime && !0 === this.props.fnIsValidDateTime();
        (null == this.state.dateAsString &&
          r == this.state.bEndTimeBeforeStartTime) ||
          this.setState({ dateAsString: null, bEndTimeBeforeStartTime: r });
      }
      IsValidDate(e) {
        if (this.props.disabled) return !1;
        const { nEarliestTime: t, nLatestTime: n } = this.props,
          a = iv.unix(t).hour(0).seconds(0).minute(0);
        let r = e.unix() >= a.unix();
        if (r && n && n >= t) {
          const t = iv.unix(n).hour(23).minute(59).seconds(59);
          r = e.unix() <= t.unix();
        }
        return r;
      }
      SetToNow() {
        this.props.fnSetToNow
          ? this.props.fnSetToNow(Bt.b.GetTimeNowWithOverride())
          : this.props.fnSetTimeToUpdate(Bt.b.GetTimeNowWithOverride());
      }
      render() {
        const {
          nLatestTime: e,
          nEarliestTime: t,
          fnGetTimeToUpdate: n,
          fnIsValidDateTime: a,
          strAlsoShowTimeZone: i,
          disabled: s,
        } = this.props;
        let o,
          l,
          c = n(),
          d = c > 0 ? new Date(1e3 * c) : null,
          u = "h:mm A",
          m = a && a(),
          p =
            this.state.timeAsString ||
            this.state.dateAsString ||
            "string" == typeof m,
          _ = "#DateTimePicker_Fallback_Invalid_DateTime";
        if (
          (this.state.timeAsString
            ? (_ = "#DateTimePicker_Time_CannotParse")
            : this.state.dateAsString
              ? (_ = "#DateTimePicker_Date_CannotParse")
              : "string" == typeof m && (_ = m),
          e && t && e == t && t > Bt.b.GetTimeNowWithOverride())
        ) {
          let e = iv.unix(t);
          (o = {
            hours: { max: e.hour(), min: e.hour(), step: 0 },
            minutes: { max: e.minute(), min: e.minute(), step: 0 },
            seconds: { max: e.seconds(), min: e.seconds(), step: 0 },
            milliseconds: { max: 0, min: 0, step: 0 },
          }),
            (u = "HH:mm");
        }
        !c && t && (l = iv.unix(t));
        const g = iv.tz.guess(),
          b = iv.unix(c).tz(g),
          f = !!i && g != i && iv.unix(c).tz(i);
        return r.createElement(
          "div",
          {
            className: Object(h.a)(rv.a.EventTimeSection, this.props.className),
          },
          r.createElement(
            "div",
            { className: Object(h.a)(rv.a.EventTimeTitle, "DialogLabel") },
            r.createElement(
              Qe.a,
              { toolTipContent: this.props.strDescToolTip, direction: "top" },
              Boolean(this.props.strDescription) &&
                r.createElement("span", null, this.props.strDescription),
            ),
            p &&
              r.createElement(
                "span",
                { className: rv.a.DateErrorCtn },
                r.createElement("img", { src: Ql.a }),
                Object($.f)(_),
              ),
          ),
          r.createElement(
            "div",
            { className: Fe.a.FlexRowContainer },
            r.createElement(
              "div",
              { className: Object(h.a)(Fe.a.InputBorder, rv.a.TimeBlock) },
              r.createElement(nv.a, {
                onChange: this.OnDateChange,
                timeFormat: !1,
                value: this.state.dateAsString ? this.state.dateAsString : d,
                isValidDate: this.IsValidDate,
                initialValue: l,
                inputProps: {
                  placeholder: Object($.f)("#DateTimePicker_Enter_Date"),
                  className: Object(h.a)(
                    rv.a.DateWidth,
                    "DialogInput",
                    "DialogTextInputBase",
                  ),
                  disabled: s,
                },
              }),
              !!f &&
                r.createElement(
                  "div",
                  { className: rv.a.PacificTimeHint },
                  f.format("L"),
                ),
            ),
            r.createElement(
              "div",
              { className: Object(h.a)(Fe.a.InputBorder, rv.a.TimeBlock) },
              r.createElement(nv.a, {
                onChange: this.OnTimeChange,
                dateFormat: !1,
                timeFormat: u,
                timeConstraints: o,
                value: this.state.timeAsString ? this.state.timeAsString : d,
                inputProps: {
                  placeholder: Object($.f)("#DateTimePicker_Enter_Time"),
                  className: Object(h.a)(
                    rv.a.TimeWidth,
                    "DialogInput",
                    "DialogTextInputBase",
                  ),
                  disabled: s,
                },
              }),
              !!f &&
                r.createElement(
                  "div",
                  { className: rv.a.PacificTimeHint },
                  f.format("LT"),
                ),
            ),
            this.props.bShowTimeZone &&
              r.createElement(
                "div",
                null,
                r.createElement(
                  "div",
                  { className: rv.a.TimeZone },
                  b.zoneAbbr(),
                ),
                !!f &&
                  r.createElement(
                    "div",
                    { className: rv.a.TimeZone },
                    f.zoneAbbr(),
                  ),
              ),
          ),
          Boolean(o) &&
            r.createElement(
              "div",
              null,
              Object($.f)("#DateTimePicker_DateTime_Fixed"),
            ),
        );
      }
    };
    Object(a.b)([u.b], sv.prototype, "OnTimeChange", null),
      Object(a.b)([u.b], sv.prototype, "OnDateChange", null),
      Object(a.b)([u.b], sv.prototype, "IsValidDate", null),
      Object(a.b)([u.b], sv.prototype, "SetToNow", null),
      (sv = Object(a.b)([m.a], sv));
    class ov {
      constructor() {
        this.m_mapOptInToPartners = new Map();
        let e = JSON.parse(
          JSON.stringify(Object(o.g)("optin_invitation", "application_config")),
        );
        this.ValidateStoreDefault(e) &&
          e.forEach((e) =>
            this.m_mapOptInToPartners.set(e.opt_in_name, e.partner_ids),
          );
      }
      BIsPartnerInvited(e, t) {
        var n;
        return null === (n = this.m_mapOptInToPartners.get(e)) || void 0 === n
          ? void 0
          : n.includes(t);
      }
      GetPartnerInvited(e) {
        return this.m_mapOptInToPartners.get(e) || null;
      }
      BHasLoadedPartnerInvite(e) {
        return Boolean(this.GetPartnerInvited(e));
      }
      UpdatePartnersToInvitation(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalUpdatePartnerOrAppInvitation(e, t, null, n, r);
        });
      }
      UpdateAppInvitation(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.InternalUpdatePartnerOrAppInvitation(e, null, t, n, r);
        });
      }
      InternalUpdatePartnerOrAppInvitation(e, t, n, r, i) {
        var s, l, c, d;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = 1;
          try {
            const u = new FormData();
            u.append("sessionid", o.c.SESSIONID),
              u.append("opt_in_name", e),
              n && u.append("appids", JSON.stringify(n)),
              t && u.append("partner_ids", JSON.stringify(t)),
              u.append("add", r ? "1" : "0");
            const m = yield F.a.post(
              o.c.PARTNER_BASE_URL + "optin/ajaxinvitepartnersorapps",
              u,
              {
                withCredentials: !0,
                cancelToken: null == i ? void 0 : i.token,
              },
            );
            if (
              200 == (null == m ? void 0 : m.status) &&
              1 == (null === (s = m.data) || void 0 === s ? void 0 : s.success)
            ) {
              if (t) {
                let n = null;
                this.m_mapOptInToPartners.has(e)
                  ? (n = this.m_mapOptInToPartners.get(e))
                  : ((n = new Array()), this.m_mapOptInToPartners.set(e, n)),
                  t.forEach((e) => {
                    const t = n.findIndex((t) => t === e);
                    r ? -1 == t && n.push(e) : -1 != t && n.splice(t, 1);
                  });
              }
            } else
              console.log(
                `COptinAdminInvitationStore.InternalUpdatePartnerOrAppInvitation failed with status ${null == m ? void 0 : m.status} eresult ${null === (l = null == m ? void 0 : m.data) || void 0 === l ? void 0 : l.success} and msg ${null === (c = null == m ? void 0 : m.data) || void 0 === c ? void 0 : c.msg}`,
              ),
                (a =
                  (null === (d = null == m ? void 0 : m.data) || void 0 === d
                    ? void 0
                    : d.success) || 2);
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptinAdminInvitationStore.InternalUpdatePartnerOrAppInvitation failed add: " +
                t.strErrorMsg,
              t,
            ),
              (a = 2);
          }
          return a;
        });
      }
      LoadPartnerOptInInvitations(e, t) {
        var n, r, i;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = [];
          try {
            const s = { sessionid: o.c.SESSIONID, opt_in_name: e },
              l = yield F.a.get(
                o.c.PARTNER_BASE_URL + "optin/ajaxgetinvitedpartners",
                {
                  params: s,
                  withCredentials: !0,
                  cancelToken: null == t ? void 0 : t.token,
                },
              );
            200 == (null == l ? void 0 : l.status) &&
            1 == (null === (n = l.data) || void 0 === n ? void 0 : n.success)
              ? l.data.invited.forEach((e) => {
                  e.invited && a.push(e.partnerid);
                })
              : console.log(
                  `COptinAdminInvitationStore.GetPartnerOptInInvitations failed with status ${null == l ? void 0 : l.status} eresult ${null === (r = null == l ? void 0 : l.data) || void 0 === r ? void 0 : r.success} and msg ${null === (i = null == l ? void 0 : l.data) || void 0 === i ? void 0 : i.msg}`,
                );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptinAdminInvitationStore.GetPartnerOptInInvitations failed add: " +
                t.strErrorMsg,
              t,
            );
          } finally {
            this.m_mapOptInToPartners.set(e, a);
          }
          return a;
        });
      }
      static Get() {
        return (
          ov.s_Singleton ||
            ((ov.s_Singleton = new ov()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInAdminInvitationStore = ov.s_Singleton)),
          ov.s_Singleton
        );
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].opt_in_name &&
            Array.isArray(t[0].partner_ids) &&
          "number" == typeof t[0].partner_ids[0]
        );
      }
    }
    Object(a.b)([L.C], ov.prototype, "m_mapOptInToPartners", void 0),
      Object(a.b)([Ul.a], ov.prototype, "UpdatePartnersToInvitation", null),
      Object(a.b)([Ul.a], ov.prototype, "UpdateAppInvitation", null),
      Object(a.b)([Ul.a], ov.prototype, "LoadPartnerOptInInvitations", null);
    var lv = n("f/iq"),
      cv = n.n(lv);
    class dv extends i.a.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            invite_token: "",
            input_search: "",
            friend_code_copied: !1,
            invite_copied: !1,
          });
      }
      componentDidMount() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = yield F.a.get(
            o.c.COMMUNITY_BASE_URL + "invites/ajaxgetall",
            { params: { sessionid: o.c.SESSIONID } },
          );
          if (e && e.data && e.data.tokens) {
            const t = e.data.tokens.filter((e) => e.valid);
            t.length
              ? this.setState({ invite_token: t[0].invite_token })
              : this.OnCreateInviteLink();
          } else this.OnCreateInviteLink();
        });
      }
      OnCreateInviteLink() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = new FormData();
          e.append("sessionid", o.c.SESSIONID),
            e.append("steamid_user", o.j.steamid),
            e.append("duration", (2592e3).toString());
          const t = yield F.a.post(
            o.c.COMMUNITY_BASE_URL + "invites/ajaxcreate",
            e,
          );
          t &&
            t.data &&
            t.data.invite &&
            this.setState({ invite_token: t.data.invite.invite_token });
        });
      }
      OnCopy(e, t) {
        "friend_code" === e &&
          (this.setState({ friend_code_copied: !0 }),
          setTimeout(() => this.setState({ friend_code_copied: !1 }), 1e3)),
          "invite" === e &&
            (this.setState({ invite_copied: !0 }),
            setTimeout(() => this.setState({ invite_copied: !1 }), 1e3)),
          Object(v.i)(t);
      }
      OnAddFriend(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = new FormData();
          t.append("sessionID", o.c.SESSIONID),
            t.append("steamid", e),
            t.append("accept_invite", "0");
          try {
            const e = yield F.a.post(
              o.c.COMMUNITY_BASE_URL + "actions/AddFriendAjax",
              t,
            );
            return e && e.data && 1 == e.data.success;
          } catch (e) {
            return !1;
          }
        });
      }
      OnSearchChange(e) {
        this.setState({ input_search: e.target.value });
      }
      OnSearchKeyDown(e) {
        13 === e.keyCode && this.OnSearchSubmit();
      }
      OnSearchSubmit() {
        window.open(
          o.c.COMMUNITY_BASE_URL +
            "search/users/#text=" +
            encodeURIComponent(this.state.input_search),
          "_self",
        );
      }
      render() {
        const e = o.j.short_url + "/" + this.state.invite_token;
        return i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            { className: cv.a.HeaderBlock },
            Object($.f)("#ManageFriends_AddAFriend"),
          ),
          i.a.createElement(
            "div",
            { className: cv.a.Background },
            i.a.createElement(
              "h1",
              { className: cv.a.Heading },
              Object($.f)("#ManageFriends_YourFriendCode"),
            ),
            i.a.createElement(
              "div",
              { className: cv.a.CopyContainer },
              i.a.createElement("h1", { className: cv.a.Text }, o.j.accountid),
              i.a.createElement(
                te.F,
                {
                  autoFocus: !0,
                  className: cv.a.Button,
                  onClick: () =>
                    this.OnCopy("friend_code", String(o.j.accountid)),
                },
                this.state.friend_code_copied
                  ? Object($.f)("#ManageFriends_Copied")
                  : Object($.f)("#ManageFriends_Copy"),
              ),
            ),
            i.a.createElement(
              "p",
              { className: cv.a.Body },
              Object($.f)("#ManageFriends_EnterFriendCode"),
            ),
            i.a.createElement(uv, {
              onButtonClick: this.OnAddFriend,
              buttonText: Object($.f)("#ManageFriends_SendInvite"),
              bDisableForSelf: !0,
              bDisableForFriends: !0,
              bShowStatus: !0,
            }),
          ),
          i.a.createElement(
            "div",
            { className: cv.a.DimBackground },
            i.a.createElement(
              "h1",
              { className: cv.a.Heading },
              Object($.f)("#ManageFriends_OrSendQuickInvite"),
            ),
            i.a.createElement(
              "p",
              { className: cv.a.Body },
              Object($.f)("#ManageFriends_QuickInviteDescription"),
            ),
            i.a.createElement(
              "p",
              { className: cv.a.Body },
              Object($.f)("#ManageFriends_QuickInviteNote"),
            ),
            i.a.createElement(
              "div",
              { className: cv.a.CopyContainer },
              Boolean(this.state.invite_token) &&
                i.a.createElement("div", { className: cv.a.Link }, e),
              i.a.createElement(
                te.F,
                {
                  className: cv.a.Button,
                  onClick: () => this.OnCopy("invite", e),
                },
                this.state.invite_copied
                  ? Object($.f)("#ManageFriends_Copied")
                  : Object($.f)("#ManageFriends_Copy"),
              ),
            ),
            i.a.createElement(
              te.e,
              {
                className: cv.a.GenerateLinkButton,
                onClick: this.OnCreateInviteLink,
              },
              Object($.f)("#ManageFriends_CreateInviteLink"),
            ),
          ),
          i.a.createElement(
            "div",
            { className: cv.a.Background },
            i.a.createElement(
              "h1",
              { className: cv.a.Heading },
              Object($.f)("#ManageFriends_OrSearch"),
            ),
            i.a.createElement("br", null),
            i.a.createElement(
              "div",
              {
                style: {
                  display: "flex",
                  alignItems: "center",
                  maxWidth: "598px",
                  position: "relative",
                },
              },
              i.a.createElement(
                "div",
                { style: { width: "100%" } },
                i.a.createElement(te.z, {
                  className: cv.a.Input,
                  onKeyDown: this.OnSearchKeyDown,
                  value: this.state.input_search,
                  onChange: this.OnSearchChange,
                  placeholder: Object($.f)("#ManageFriends_EnterProfileName"),
                }),
              ),
              i.a.createElement(
                "div",
                {
                  id: "searchIcon",
                  style: {
                    position: "absolute",
                    right: "10px",
                    cursor: "pointer",
                  },
                  onClick: this.OnSearchSubmit,
                },
                i.a.createElement(H.M, null),
              ),
            ),
          ),
        );
      }
    }
    Object(a.b)([u.b], dv.prototype, "OnCreateInviteLink", null),
      Object(a.b)([u.b], dv.prototype, "OnCopy", null),
      Object(a.b)([u.b], dv.prototype, "OnAddFriend", null),
      Object(a.b)([u.b], dv.prototype, "OnSearchChange", null),
      Object(a.b)([u.b], dv.prototype, "OnSearchKeyDown", null),
      Object(a.b)([u.b], dv.prototype, "OnSearchSubmit", null);
    class uv extends i.a.Component {
      constructor() {
        super(...arguments),
          (this.state = {
            input_friend_code: "",
            disable_send_invite: !1,
            searchResult: null,
            invite_status: "pending",
          }),
          (this.m_currentRequest = 0);
      }
      OnFriendCodeChange(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = e.target.value.split(",")[0];
          this.setState({ input_friend_code: t, invite_status: "pending" }),
            window.clearTimeout(this.m_currentRequest),
            (this.m_currentRequest = window.setTimeout(
              () => this.LoadProfile(t),
              500,
            ));
        });
      }
      LoadProfile(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (e) {
            const t = de.a.InitFromAccountID(Number(e));
            yield ye.LoadProfiles([t.ConvertTo64BitString()]);
            const n = ye.GetProfile(t.ConvertTo64BitString());
            n
              ? this.setState({
                  searchResult: n,
                  disable_send_invite:
                    o.j.is_limited ||
                    (this.props.bDisableForFriends && n.is_friend) ||
                    (this.props.bDisableForSelf && n.steamid === o.j.steamid),
                })
              : this.setState({ searchResult: null });
          } else this.setState({ searchResult: null });
        });
      }
      OnActionClick(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = new FormData();
          t.append("sessionID", o.c.SESSIONID),
            t.append("steamid", e),
            t.append("accept_invite", "0"),
            this.setState({ disable_send_invite: !0 });
          (yield this.props.onButtonClick(e))
            ? (this.setState({
                input_friend_code: "",
                invite_status: "success",
              }),
              setTimeout(() => this.setState({ searchResult: null }), 3e3))
            : this.setState({
                invite_status: "failure",
                disable_send_invite: !1,
              });
        });
      }
      render() {
        return i.a.createElement(
          "div",
          null,
          i.a.createElement(te.z, {
            className: cv.a.Input,
            value: this.state.input_friend_code,
            onChange: this.OnFriendCodeChange,
            placeholder: Object($.f)(
              "#ManageFriends_EnterFriendCodePlaceholder",
            ),
          }),
          i.a.createElement(
            mv,
            {
              searchResult: this.state.searchResult,
              invite_status: this.state.invite_status,
              bShowStatus: this.props.bShowStatus,
            },
            i.a.createElement(
              te.F,
              {
                onClick: () =>
                  this.OnActionClick(this.state.searchResult.steamid),
                disabled: this.state.disable_send_invite,
                style: {
                  width: "fit-content",
                  height: "fit-content",
                  padding: "0px 20px 0px 20px",
                  margin: "0 0 0 auto",
                },
              },
              this.props.buttonText,
            ),
          ),
        );
      }
    }
    Object(a.b)([u.b], uv.prototype, "OnFriendCodeChange", null),
      Object(a.b)([u.b], uv.prototype, "LoadProfile", null),
      Object(a.b)([u.b], uv.prototype, "OnActionClick", null);
    const mv = (e) => {
      const {
        searchResult: t,
        invite_status: n,
        bShowStatus: a,
        children: r,
      } = e;
      return Boolean(t)
        ? i.a.createElement(
            "div",
            { className: cv.a.ProfileCard },
            i.a.createElement(
              "div",
              { className: cv.a.UserContainer },
              i.a.createElement(
                "div",
                { className: cv.a.Image },
                i.a.createElement("img", {
                  style: { width: "100%", height: "100%" },
                  src: t.avatar_url_full,
                }),
              ),
              i.a.createElement(
                "div",
                { className: cv.a.ProfileContent },
                i.a.createElement(
                  "h1",
                  { className: cv.a.Heading },
                  t.persona_name,
                ),
                i.a.createElement(
                  "div",
                  { className: cv.a.ProfileLink },
                  i.a.createElement(
                    xn.c,
                    {
                      target: o.c.IN_GAMEPADUI ? void 0 : "_blank",
                      href: o.c.COMMUNITY_BASE_URL + "profiles/" + t.steamid,
                    },
                    Object($.f)("#ManageFriends_ProfileLink"),
                  ),
                  i.a.createElement("br", null),
                  i.a.createElement(
                    "span",
                    { className: cv.a.Body },
                    t.real_name,
                    i.a.createElement("br", null),
                    `${t.city}${t.city ? "," : ""} ${t.state}${t.state ? "," : ""} ${t.country}`,
                  ),
                ),
              ),
              r,
            ),
            i.a.createElement(
              "div",
              { className: cv.a.ProfileLink },
              t.is_friend &&
                i.a.createElement(
                  "div",
                  null,
                  Object($.f)("#ManageFriends_IsFriend"),
                ),
              0 != t.friends_in_common &&
                i.a.createElement(
                  "div",
                  null,
                  i.a.createElement(
                    xn.c,
                    {
                      target: o.c.IN_GAMEPADUI ? void 0 : "_blank",
                      href:
                        o.c.COMMUNITY_BASE_URL +
                        "profiles/" +
                        t.steamid +
                        "/friendscommon",
                    },
                    1 === t.friends_in_common
                      ? Object($.f)(
                          "#ManageFriends_FriendsInCommonSingular",
                          t.friends_in_common,
                        )
                      : Object($.f)(
                          "#ManageFriends_FriendsInCommon",
                          t.friends_in_common,
                        ),
                  ),
                ),
              a &&
                "failure" === n &&
                i.a.createElement(
                  "div",
                  { className: cv.a.Failure },
                  Object($.f)("#ManageFriends_InviteFailure"),
                ),
              a &&
                "success" === n &&
                i.a.createElement(
                  "div",
                  { className: cv.a.Success },
                  Object($.f)("#ManageFriends_InviteSuccess", t.persona_name),
                ),
            ),
          )
        : null;
    };
    var pv = n("NRSy");
    function hv(e) {
      const { accountID: t } = e,
        n = i.a.useMemo(() => de.a.InitFromAccountID(t), [t]),
        [a, r] = Ee(n.ConvertTo64BitString());
      return i.a.createElement(
        i.a.Fragment,
        null,
        Boolean(a || !r)
          ? i.a.createElement("span", null, t)
          : i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("img", {
                className: pv.SmallAvatar,
                src: r.avatar_url,
                "data-miniprofile": "s" + n.ConvertTo64BitString(),
              }),
              i.a.createElement("span", null, r.persona_name),
            ),
      );
    }
    function _v(e) {
      const t = zb.Get(),
        n = Object(zt.d)(() => zb.Get().GetExternalAppReviewers());
      return r.createElement(
        "div",
        { className: zf.a.Section },
        r.createElement("h3", null, "App Invites"),
        r.createElement(
          "div",
          null,
          "Tool that lets you explicitly invite specific apps to participate. This can be done before or after the OptIn is published/live for partners. App Invites will bypass ",
          r.createElement("b", null, "ALL"),
          " eligibility constraints or restrictions (ie, missing a tag and/or pass the end date for the registrations). This is independant of invitation only and can be used in conjunction of invitation only.",
        ),
        r.createElement(
          "div",
          null,
          "Inviting apps will NOT trigger any automatic notification. However, the email tab can be used to send an email to all invited apps.",
        ),
        r.createElement(
          te.e,
          {
            onClick: (e) =>
              Object(ze.d)(r.createElement(gv, null), Object(v.o)(e)),
          },
          "Invite Apps",
        ),
        r.createElement("h3", null, "Manage App Pruning"),
        r.createElement(
          "div",
          null,
          "For an event like a tag sale, that depends on publisher and users tagging, we may need to review invited games to ensure they match the intent of the tag sale.",
          r.createElement(
            "a",
            {
              href:
                o.c.PARTNER_BASE_URL + "optin/appreview/" + t.GetOptInPageID(),
            },
            "Open Opt-In Pruning Page",
          ),
        ),
        Boolean((null == n ? void 0 : n.length) > 0) &&
          r.createElement(
            r.Fragment,
            null,
            r.createElement("h3", null, "External Reviewers"),
            r.createElement(Yl, {
              bDisabled: !0,
              items: n,
              onDelete: (e) => t.RemoveExternalAppReviewAt(e),
              render: (e) => r.createElement(hv, { accountID: e }),
            }),
            r.createElement(
              "p",
              null,
              "Note: Make sure to publish changes to the external review list. They can only access published opt-in definitions.",
            ),
          ),
        r.createElement(
          "h3",
          null,
          "Add External App Reviewer via Friend Code / Account ID",
        ),
        r.createElement(uv, {
          buttonText: "Add to Reviewer List",
          onButtonClick: (e) =>
            Object(a.a)(this, void 0, void 0, function* () {
              const n = new de.a(e);
              return t.BAddExternalAppReviewAt(n.GetAccountID());
            }),
          bDisableForSelf: !0,
          bShowStatus: !0,
        }),
      );
    }
    function gv(e) {
      const t = zb.Get(),
        { closeModal: n } = e,
        [a, i] = r.useState(""),
        [s, o] = r.useState(!1),
        [l, c] = r.useState(!1),
        [d, u] = r.useState(null),
        { fnUpdateAppToInvitation: m } = {
          fnUpdateAppToInvitation: ov.Get().UpdateAppInvitation,
        };
      return r.createElement(
        xe.e,
        {
          strTitle: "Invite Apps",
          strDescription:
            "Invite apps to participate in the OptIn, which will disregard any opt-in restriction. This will not notify the partners for the apps. This will re-invite apps which previously opted out.",
          onOK: () => {
            c(!0), o(!0);
            const e = a.replace(/\n/g, "|").split("|"),
              n = new Array();
            e.forEach((e) => {
              const t = Number.parseInt(e);
              t > 0 && n.push(t);
            }),
              n.length > 0
                ? m(t.GetFullName(), n, !0)
                    .then((e) => {
                      u(
                        1 == e
                          ? `Successfully invited ${n.length} apps`
                          : `Failed to invite ${n.length} apps error: ${e} `,
                      );
                    })
                    .finally(() => c(!1))
                : (u("No new appids to invite"), c(!1));
          },
          bOKDisabled: 0 == a.trim().length || s,
          onCancel: n,
        },
        r.createElement("br", null),
        r.createElement(
          "div",
          null,
          "Note: Remeber after inviting all of the apps, go to 'Manage' Tab and 'Refresh Stats' to update our visible list and counts of invited apps.",
        ),
        r.createElement("br", null),
        r.createElement("div", null, "Enter App IDs:"),
        r.createElement("textarea", {
          cols: 120,
          rows: 10,
          onChange: (e) => i(e.currentTarget.value),
          value: a,
          autoFocus: !0,
          disabled: s,
        }),
        l &&
          r.createElement(ee.a, {
            string: "Inviting Apps",
            size: "medium",
            position: "center",
          }),
        Boolean(d) && r.createElement("div", null, d),
      );
    }
    function bv() {
      return 2 == o.c.EUNIVERSE ? 12 : 1;
    }
    class fv {
      constructor() {
        this.m_mapOptInToPartners = new Map();
        let e = JSON.parse(
          JSON.stringify(Object(o.g)("partner_info", "application_config")),
        );
        this.ValidateStoreDefault(e) &&
          e.forEach((e) => this.m_mapOptInToPartners.set(e.partnerid, e));
      }
      GetPartnerInfo(e) {
        return this.m_mapOptInToPartners.get(e);
      }
      BHasPartnerInfoLoad(e) {
        return this.m_mapOptInToPartners.has(e);
      }
      FindPartnerByName(e) {
        var t, n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = new Array();
          try {
            const i = o.c.PARTNER_BASE_URL + "pub/ajaxfindpublishers",
              s = { sessionid: o.c.SESSIONID, searchtext: e },
              l = yield F.a.get(i, { params: s });
            200 == (null == l ? void 0 : l.status) &&
            1 ==
              (null === (t = null == l ? void 0 : l.data) || void 0 === t
                ? void 0
                : t.success)
              ? l.data.publishers.forEach((e) => {
                  const t = {
                    partnerid: e.publisherid,
                    name: e.publishername,
                    partner_url:
                      o.c.PARTNER_BASE_URL + `pub/publisher/${e.publisherid}/`,
                    contacts: e.contacts,
                  };
                  this.m_mapOptInToPartners.set(e.publisherid, t), a.push(t);
                })
              : console.log(
                  `CPartnerInfoStore.FindPartnerByName failed with status ${null == l ? void 0 : l.status} eresult ${null === (n = null == l ? void 0 : l.data) || void 0 === n ? void 0 : n.success} and msg ${null === (r = null == l ? void 0 : l.data) || void 0 === r ? void 0 : r.msg}`,
                );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CPartnerInfoStore.FindPartnerByName failed add: " +
                t.strErrorMsg,
              t,
            );
          }
          return a;
        });
      }
      LoadPartnerInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          yield this.FindPartnerByName("" + e);
          return (
            this.BHasPartnerInfoLoad(e) ||
              this.m_mapOptInToPartners.set(e, null),
            this.m_mapOptInToPartners.get(e)
          );
        });
      }
      static Get() {
        return (
          fv.s_Singleton ||
            ((fv.s_Singleton = new fv()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_PartnerInfoStore = fv.s_Singleton)),
          fv.s_Singleton
        );
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "number" == typeof t[0].partnerid &&
          "string" == typeof t[0].name
        );
      }
    }
    function vv(e) {
      const [t, n] = i.a.useState(fv.Get().GetPartnerInfo(e));
      return (
        i.a.useEffect(() => {
          fv.Get().BHasPartnerInfoLoad(e) ||
            fv
              .Get()
              .LoadPartnerInfo(e)
              .then((e) => n(e));
        }, [e]),
        [t]
      );
    }
    const Sv = Object(m.a)((e) => {
        const t = zb.Get(),
          [n] = (function (e) {
            const [t, n] = i.a.useState(ov.Get().GetPartnerInvited(e));
            return (
              Object(r.useEffect)(() => {
                ov.Get().BHasLoadedPartnerInvite(e) ||
                  ov
                    .Get()
                    .LoadPartnerOptInInvitations(e)
                    .then((e) => n(e));
              }, [e]),
              [t]
            );
          })(t.GetFullName());
        if (!n)
          return i.a.createElement(ee.a, {
            size: "medium",
            position: "center",
            string: "Loading Invitation Information",
          });
        return i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            null,
            "Partner Invited ",
            i.a.createElement("b", null, n.length),
          ),
          Boolean((null == n ? void 0 : n.length) > 0) &&
            i.a.createElement(
              te.e,
              {
                onClick: () => {
                  Object(ze.d)(
                    i.a.createElement(
                      xe.e,
                      {
                        strTitle: "Invited Partners",
                        strDescription:
                          "Here is the current list of partners that have been invited.",
                        bAlertDialog: !0,
                      },
                      n.map((e) =>
                        i.a.createElement(yv, {
                          key: "pp" + e,
                          partnerID: e,
                          bShowContacts: !0,
                        }),
                      ),
                    ),
                    window,
                  );
                },
              },
              "Show Partners Invites",
            ),
          i.a.createElement(
            te.e,
            {
              onClick: () => {
                Object(ze.d)(
                  i.a.createElement(Ev, { rgPartnersInvited: n }),
                  window,
                );
              },
            },
            "Add Partners",
          ),
        );
      }),
      yv = (e) => {
        const { partnerID: t } = e,
          [n] = vv(t);
        return void 0 === n
          ? i.a.createElement(ee.a, {
              size: "small",
              position: "center",
              string: "Loading Partner: " + t,
            })
          : null === n
            ? i.a.createElement("div", null, "Failed to Load Partner Info: ", t)
            : i.a.createElement(
                "div",
                null,
                i.a.createElement("div", null, n.name, " (", t, ")"),
                Boolean(e.bShowContacts && n.contacts) &&
                  i.a.createElement("div", null, "Contacts: ", n.contacts),
              );
      },
      Ev = (e) => {
        const t = zb.Get(),
          { closeModal: n, rgPartnersInvited: a } = e,
          [r, s] = i.a.useState(""),
          [o, l] = i.a.useState(!1),
          [c, d] = i.a.useState(!1),
          [u, m] = i.a.useState(null),
          { fnUpdatePartnersToInvitation: p } = {
            fnUpdatePartnersToInvitation: ov.Get().UpdatePartnersToInvitation,
          };
        return i.a.createElement(
          xe.e,
          {
            strTitle: "Invite Partners",
            strDescription:
              "Add the partner ids separated by news lines. Inviting a partner does not automatically trigger any notification to the partner. You need to use the email tab when ready to create an invitation email.",
            onOK: () => {
              d(!0), l(!0);
              const e = r.replace(/\n/g, "|").split("|"),
                n = new Array();
              e.forEach((e) => {
                const t = Number.parseInt(e);
                t > 0 && !a.includes(t) && n.push(t);
              }),
                n.length > 0
                  ? p(t.GetFullName(), n, !0)
                      .then((e) => {
                        m(
                          1 == e
                            ? `Successfully invited ${n.length} partners`
                            : `Failed to invite ${n.length} partners error: ${e} `,
                        );
                      })
                      .finally(() => d(!1))
                  : (m("No new partner to invite"), d(!1));
            },
            bOKDisabled: 0 == r.trim().length || o,
            onCancel: n,
          },
          i.a.createElement("div", null, "Enter Partner ID:"),
          i.a.createElement("textarea", {
            cols: 120,
            rows: 10,
            onChange: (e) => s(e.currentTarget.value),
            value: r,
            autoFocus: !0,
            disabled: o,
          }),
          c &&
            i.a.createElement(ee.a, {
              string: "Inviting Partners",
              size: "medium",
              position: "center",
            }),
          Boolean(u) && i.a.createElement("div", null, u),
        );
      },
      Cv = Object(m.a)((e) => {
        const t = zb.Get(),
          n = t.BIsReleaseGamesEligible() || t.BIsUnreleaseGamesEligible();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement("h2", null, "Opt-In Requirements"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "Opt In Deadline"),
            i.a.createElement(sv, {
              strDescription: void 0,
              nEarliestTime: 0,
              fnGetTimeToUpdate: () => t.GetOptInDeadlineTime(),
              fnSetTimeToUpdate: t.SetOptInDeadlineTime,
              fnIsValidDateTime: () => !0,
              bShowTimeZone: !0,
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(
              "h3",
              null,
              "RESTRICT ELIGIBILITY BY RELEASE DATE",
            ),
            !Boolean(n) &&
              i.a.createElement(
                "div",
                { className: Dl.a.WarningStylesWithIcon },
                "Required Setting for OptIn",
              ),
            i.a.createElement(te.f, {
              label: "Released games are eligible",
              checked: t.BIsReleaseGamesEligible(),
              onChange: t.SetReleaseGameEligible,
            }),
            i.a.createElement(te.f, {
              label: "Unreleased games are eligible",
              checked: t.BIsUnreleaseGamesEligible(),
              onChange: t.SetUnreleaseGameEligible,
            }),
            Boolean(t.BIsUnreleaseGamesEligible()) &&
              i.a.createElement(
                i.a.Fragment,
                null,
                i.a.createElement(sv, {
                  strDescription: "Must release AFTER",
                  nEarliestTime: 0,
                  fnGetTimeToUpdate: () => t.GetEligibleReleaseAfterDate(),
                  fnSetTimeToUpdate: t.SetEligibleReleaseAfterDate,
                  fnIsValidDateTime: () => !0,
                  bShowTimeZone: !0,
                }),
                i.a.createElement(sv, {
                  strDescription: "Must release BEFORE",
                  nEarliestTime: 0,
                  fnGetTimeToUpdate: () => t.GetEligibleReleaseBeforeDate(),
                  fnSetTimeToUpdate: t.SetEligibleReleaseBeforeDate,
                  fnIsValidDateTime: () => !0,
                  bShowTimeZone: !0,
                }),
              ),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "INVITATION ONLY"),
            "When set, then only games from these publisher are allowed to participate. The rest of the eligibility will also apply to their games.",
            i.a.createElement(te.M, {
              onChange: (e) => {
                t.SetInvititationOnly(e);
              },
              label: "By invitation Only",
              checked: t.BIsInvitationOnly(),
            }),
            t.BIsInvitationOnly() && i.a.createElement(Sv, null),
          ),
          i.a.createElement(_v, null),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(
              "h3",
              null,
              "RESTRICT ELIGIBILITY BY COOLDOWN GROUP",
            ),
            i.a.createElement(te.m, {
              label: "Cooldown Group",
              rgOptions: t.GetCooldownGroupOptions(),
              selectedOption: t.GetCooldownGroupType(),
              onChange: (e) => t.SetCooldownGroupType(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
            i.a.createElement(te.f, {
              label:
                "Games are ineligible to optin to this event if already opted in to an event of the same type",
              checked: t.GetCooldownRequired(),
              onChange: t.SetCooldownRequired,
            }),
            i.a.createElement(te.z, {
              label: "Cooldown Window (in number of days)",
              type: "number",
              value: t.GetCooldownDays(),
              maxLength: 4,
              onChange: (e) => t.SetCooldownDays(parseInt(e.target.value)),
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "RESTRICT ELIGIBILITY BY TAG"),
            "Games must have one of these tags to participate",
            i.a.createElement(ev.a, {
              isSearchable: !0,
              isMulti: !0,
              onChange: t.OnChangeRequiredTags,
              value: t.GetRequiredTags(),
              options: t.GetGameTagOptions(),
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(
              "h3",
              null,
              "RESTRICT ELIGIBILITY BY APP FEATURES",
            ),
            i.a.createElement(te.f, {
              label: "Remote Play Together",
              checked: t.BRequiresRemotePlayTogether(),
              onChange: t.SetRequiresRemotePlayTogether,
            }),
            i.a.createElement(te.f, {
              label: "VR",
              checked: t.BRequiresVR(),
              onChange: t.SetRequiresVR,
            }),
          ),
        );
      });
    n("8GlN");
    const wv = (e) => {
      const t = zb.Get(),
        n = Object(r.useRef)(null),
        [s, l] = i.a.useState("Demo Package " + t.GetFullName()),
        [c, d] = i.a.useState(void 0),
        [u, m] = i.a.useState(void 0),
        [p, h] = i.a.useState(void 0),
        [_, g] = i.a.useState(void 0),
        [b, f] = i.a.useState(void 0);
      i.a.useEffect(
        () => () =>
          n.current &&
          n.current("DialogChoosePackageNameAndDynamicSetting: unmounting"),
        [],
      );
      return b
        ? i.a.createElement(xe.e, {
            strTitle: "Create Demo Package",
            strDescription:
              "Package succesfully created and opt-in definition updated.",
            onOK: e.closeModal && e.closeModal,
            onCancel: e.closeModal && e.closeModal,
            bAlertDialog: !0,
          })
        : i.a.createElement(
            xe.e,
            {
              strTitle: "Create Demo Package",
              strDescription:
                "Choose a package name and choose the specific settings that we will drive the App inclusion off on. For instance, if the partner opted in their app to a press preview via a dynamic section checkbox setting, then we know we can include them",
              onOK: () =>
                Object(a.a)(void 0, void 0, void 0, function* () {
                  var e;
                  h(!0);
                  const a = F.a.CancelToken.source();
                  n.current = a.cancel;
                  try {
                    const n = new FormData();
                    n.append("sessionid", o.c.SESSIONID),
                      n.append("optInName", t.GetFullName()),
                      n.append("packageName", s),
                      n.append("strSectionID", c.section_id),
                      n.append("strListID", c.list_id),
                      n.append("strOptionID", c.option_id);
                    const r =
                        o.c.PARTNER_BASE_URL + "optin/ajaxcreatedemopackage",
                      i = yield F.a.post(r, n, {
                        withCredentials: !0,
                        cancelToken: a.token,
                      });
                    if (
                      200 == (null == i ? void 0 : i.status) &&
                      1 ==
                        (null === (e = i.data) || void 0 === e
                          ? void 0
                          : e.success) &&
                      i.data.packageid >= 0 &&
                      !a.token.reason
                    ) {
                      t.AddDemoPackage({
                        packageid: i.data.packageid,
                        selection: c,
                        rtimecreated: Math.floor(Date.now() / 1e3),
                      });
                      const e = yield t.Save(a.token);
                      Boolean(e) && !a.token.reason ? m(e) : f(!0);
                    } else
                      a.token.reason ||
                        m(
                          "Create Package Failed: " +
                            (null == i ? void 0 : i.status) +
                            " " +
                            (null == i ? void 0 : i.statusText),
                        );
                  } catch (e) {
                    const t = Object(me.a)(e),
                      n =
                        "DialogChoosePackageNameAndDynamicSetting error: " +
                        t.strErrorMsg;
                    console.error(n, t), a.token.reason || m(n);
                  } finally {
                    a.token.reason || h(!1);
                  }
                }),
              bOKDisabled: 0 == s.trim().length || void 0 === c || void 0 !== p,
              onCancel: e.closeModal,
            },
            i.a.createElement(te.z, {
              type: "text",
              label: "Package Name",
              tooltip:
                "Public name of the package; please give a thoughtful and easy to search name",
              value: s,
              onChange: (e) => l(e.currentTarget.value),
            }),
            i.a.createElement(Ov, {
              fnChoiceMade: (e) => {
                e || d(void 0);
                const n = Rv(e.value);
                if (t.BContainDyanmicOptionByIDs(n)) d(n);
                else {
                  const t = "Failed to find: " + e.value + " " + e.label;
                  m(t), console.error(t);
                }
              },
              rgInputType: ["checkbox"],
            }),
            Boolean(p) &&
              i.a.createElement(ee.a, {
                string: _
                  ? "Package Created, Saving Model"
                  : "Creating Package in Progress",
                size: "medium",
                position: "center",
              }),
            Boolean(u) &&
              i.a.createElement(
                "div",
                { className: Ol.ErrorStylesBackground },
                u,
              ),
          );
    };
    function Bv(e, t) {
      const n = zb.Get(),
        a = new Array();
      return (
        n.GetDynamicSections().forEach((n) => {
          (e && !e.includes(n.input_style)) ||
            n.lists.forEach((e) => {
              t
                ? a.push({
                    value: n.unique_id + "|" + e.unique_id,
                    label: e.option_title
                      ? e.option_title.english
                      : n.name.english,
                  })
                : e.options.forEach((t) => {
                    a.push({
                      value:
                        n.unique_id + "|" + e.unique_id + "|" + t.unique_id,
                      label: t.text.english,
                    });
                  });
            });
        }),
        a
      );
    }
    const Ov = (e) => {
        const t = {
            option: (e) =>
              Object.assign(Object.assign({}, e), { color: "#444444" }),
          },
          n = Bv(e.rgInputType);
        return i.a.createElement(
          i.a.Fragment,
          null,
          Boolean(e.label) && i.a.createElement("div", null, e.label),
          i.a.createElement(ev.a, {
            styles: t,
            isSearchable: !0,
            isMulti: !1,
            placeholder: "Choose One",
            onChange: e.fnChoiceMade,
            value: e.selected,
            options: n,
            defaultMenuIsOpen: !1,
          }),
        );
      },
      Dv = (e) => {
        const t = {
            option: (e) =>
              Object.assign(Object.assign({}, e), { color: "#444444" }),
          },
          n = Bv(e.rgInputType, e.bForDataExport);
        return i.a.createElement(
          i.a.Fragment,
          null,
          Boolean(e.label) && i.a.createElement("div", null, e.label),
          i.a.createElement(ev.a, {
            styles: t,
            isSearchable: !0,
            isMulti: !0,
            placeholder: "Choose One or More",
            onChange: e.fnChoiceMade,
            value: e.selected,
            options: n,
            defaultMenuIsOpen: !1,
          }),
        );
      },
      Iv = Object(m.a)((e) => {
        var t;
        const { editModel: n } = e;
        return (null === (t = n.GetDemoPackages()) || void 0 === t
          ? void 0
          : t.length) > 0
          ? i.a.createElement(
              "div",
              null,
              i.a.createElement("h3", null, "Packages Created by OptIn"),
              n
                .GetDemoPackages()
                .map((e) =>
                  i.a.createElement(Tv, {
                    key: "pack" + e.packageid,
                    demoPackageInfo: e,
                    editModel: n,
                  }),
                ),
            )
          : null;
      }),
      Tv = Object(m.a)((e) => {
        const { demoPackageInfo: t, editModel: n } = e,
          [a, r] = Object(Wn.e)(t.packageid, { include_basic_info: !0 });
        return n.BInitialized() && null != t.packageid
          ? a && 1 != r
            ? i.a.createElement(
                "div",
                null,
                i.a.createElement(
                  "div",
                  null,
                  i.a.createElement(
                    "a",
                    {
                      href:
                        o.c.PARTNER_BASE_URL +
                        "store/packagelanding/" +
                        t.packageid,
                      target: "_blank",
                    },
                    a.GetName(),
                    " - package id: ",
                    t.packageid,
                  ),
                ),
                i.a.createElement(
                  "div",
                  null,
                  "Matches Option: ",
                  n.GetOptionNameByID(t.selection),
                ),
                i.a.createElement(
                  "div",
                  null,
                  "Created Time: ",
                  Object($.p)(t.rtimecreated),
                  " - ",
                  Object(Tc.g)(t.rtimecreated, { bForce24HourClock: !1 }),
                ),
              )
            : 1 == r
              ? i.a.createElement(ee.a, {
                  string: "Loading Package " + t.packageid,
                  size: "small",
                  position: "center",
                })
              : i.a.createElement(
                  "div",
                  { className: Ol.ErrorStylesBackground },
                  "Failed to load package: ",
                  t.packageid,
                )
          : i.a.createElement(ee.a, null);
      });
    function Rv(e) {
      const t = e.split("|");
      return { section_id: t[0], list_id: t[1], option_id: t[2] };
    }
    const jv = Object(m.a)((e) => {
      const t = zb.Get();
      let n =
        o.c.PARTNER_BASE_URL +
        "admin/store/page/" +
        t.GetFullName() +
        "?activetab=tab_publish";
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("h2", null, "OptIn Admin Editing: ", t.GetName()),
        i.a.createElement("hr", null),
        i.a.createElement(
          "div",
          { className: zf.a.MainBody },
          i.a.createElement(
            "div",
            { className: zf.a.MainCol },
            i.a.createElement(
              "div",
              { className: zf.a.Section },
              i.a.createElement(
                "div",
                { className: zf.a.SectionDesc },
                "When you are ready to start accepting opt-ins from eligible games that meet the criteria you've defined, check the box below. You will then need to follow the path to publish this event in order to make it public.",
              ),
              i.a.createElement(te.f, {
                label: "Enable Partners to opt-in",
                checked: t.BIsOptInEnabled(),
                onChange: t.SetOptInEnabled,
              }),
              i.a.createElement(
                "a",
                { href: n, className: Object(h.a)(Fe.a.Button, Fe.a.Primary) },
                "Go Publish",
              ),
            ),
            i.a.createElement(Mv, null),
            i.a.createElement(Cv, null),
            i.a.createElement(Pv, null),
            i.a.createElement(Uf, null),
            i.a.createElement(Lv, null),
            i.a.createElement(Gv, null),
            i.a.createElement(Nv, null),
          ),
        ),
      );
    });
    function Av(e) {
      return e ? { label: Object(Wa.b)(e), value: "" + e } : null;
    }
    const kv = Object(m.a)((e) => {
        const t = zb.Get(),
          [n, a] = i.a.useState(t.BHasSpecialEventType()),
          [r, s] = i.a.useState(Av(t.GetSpecialEventType())),
          [o, l] = i.a.useState(t.BHasSpecialEventTimeSet()),
          c = {
            option: (e) =>
              Object.assign(Object.assign({}, e), { color: "#444444" }),
          },
          d = new Array();
        le.c.forEach((e) => d.push(Av(e)));
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "h3",
            null,
            "Include Special Event Category for OptIn",
          ),
          i.a.createElement(
            "p",
            null,
            "If enabled, opt'ed in games have the ability to create events of the specified typed marked up using tags with this opt-in names. This allows sales page to automatically load those events in a carousel or a schedule widget.",
            i.a.createElement(
              "span",
              null,
              Boolean(n) &&
                i.a.createElement(
                  "span",
                  null,
                  " The following tag will be set on the associated events: ",
                  i.a.createElement("b", null, t.GetFullName()),
                ),
            ),
          ),
          n
            ? i.a.createElement(
                i.a.Fragment,
                null,
                i.a.createElement(ev.a, {
                  styles: c,
                  label: "Choose Type (Required):",
                  isSearchable: !0,
                  isMulti: !1,
                  placeholder: "Choose Event type",
                  onChange: (e) => {
                    s(e),
                      (null == e ? void 0 : e.value) &&
                        t.SetSpecialEventType(Number.parseInt(e.value));
                  },
                  value: r,
                  options: d,
                  defaultMenuIsOpen: !1,
                }),
                i.a.createElement(te.z, {
                  type: "text",
                  label: "Optional: Special Event Title:",
                  onChange: (e) => t.SetCurSpecialEventName(e.target.value),
                  value: t.GetCurSpecialEventName(),
                  tooltip:
                    "This appears on the partner events editor to describe the special event category. Assign if the opt-in name is not helpful when creating the event. Don't include the event type, it will be appended at the end, ie, News or Live Stream.",
                  placeholder: "Optional: Special Event Title Here",
                }),
                i.a.createElement("br", null),
                i.a.createElement(
                  "div",
                  null,
                  "Optional: Special Event Description:",
                ),
                i.a.createElement(ut, {
                  fnGetCurText: t.GetCurSpecialEventDescription,
                  fnOnTextChange: (e) =>
                    t.SetCurSpecialEventDescription(e.currentTarget.value),
                  fnSetText: t.SetCurSpecialEventDescription,
                  strPlaceholder:
                    "Optional: Enter Special Event Description Here",
                  emoticonStore: ue.b,
                  bSupportHTMLImport: !0,
                  showFormatHelp: "PartnerEvents",
                  classNameForTextArea: zf.a.EventBBCodeEditor,
                  limitBBCode: void 0,
                  nOverridesRows: 10,
                }),
                i.a.createElement("br", null),
                i.a.createElement(te.z, {
                  type: "text",
                  label: "Optional: Documentation Link:",
                  onChange: (e) => t.SetSpecialEventDocLink(e.target.value),
                  value: t.GetSpecialEventDocLink(),
                  tooltip:
                    "Ideally links directly to the part of the OptIn documentation that talks about the purpose of this event. Use an anchor to do this.",
                  placeholder: "Optional: Documentation Link Here",
                }),
                i.a.createElement(te.z, {
                  type: "number",
                  label: "Optional: Maximum amount of events per game",
                  onChange: (e) =>
                    t.SetSpecialEventTypeMax(Number.parseInt(e.target.value)),
                  value: t.GetSpecialEventTypeMax(),
                  tooltip:
                    "How many of these event type can a single game created? If set to zero, it means unlimited.",
                  min: "0",
                }),
                o
                  ? i.a.createElement(
                      i.a.Fragment,
                      null,
                      i.a.createElement(
                        "p",
                        null,
                        "Optional: Further restrict the event scheduling between these following two times. By restricting the schedule\tit allows the event organizer to run official streams that will take priority and letting partners avoid scheduling their events at those time.",
                      ),
                      i.a.createElement(sv, {
                        strDescription:
                          "Special Event Scheduling Start Date and Time",
                        nEarliestTime: t.GetEventStartTime(),
                        nLatestTime: t.GetEventEndTime(),
                        fnGetTimeToUpdate: () => t.GetSpecialEventStartTime(),
                        fnSetTimeToUpdate: t.SetSpecialEventStartTime,
                        fnIsValidDateTime: () => !0,
                        bShowTimeZone: !0,
                      }),
                      i.a.createElement(sv, {
                        strDescription:
                          "Special Event Scheduling End Date and Time",
                        nEarliestTime: t.GetEventStartTime(),
                        nLatestTime: t.GetEventEndTime(),
                        fnGetTimeToUpdate: () => t.GetSpecialEventEndTime(),
                        fnSetTimeToUpdate: t.SetSpecialEventEndTime,
                        fnIsValidDateTime: () => !0,
                        bShowTimeZone: !0,
                      }),
                      i.a.createElement("br", null),
                      i.a.createElement("br", null),
                    )
                  : i.a.createElement(te.f, {
                      label: "Optional: Limit Event Schedule Time",
                      checked: o,
                      onChange: l,
                    }),
                i.a.createElement(
                  "a",
                  {
                    href: "https://confluence.valve.org/display/STEAM/Opt-In+Tech+Custom+Event+type",
                    target: "_blank",
                  },
                  "Learn more about this feature here.",
                ),
              )
            : i.a.createElement(te.f, {
                label: "Enable Feature",
                checked: n,
                onChange: a,
              }),
        );
      }),
      Mv = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement("h2", null, "Basic Event Info"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "Event Dates:"),
            i.a.createElement(
              "p",
              null,
              "Specify the dates of the actual event",
            ),
            i.a.createElement(sv, {
              strDescription: "Event Start Date and Time",
              nEarliestTime: 0,
              fnGetTimeToUpdate: () => t.GetEventStartTime(),
              fnSetTimeToUpdate: t.SetEventStartTime,
              fnIsValidDateTime: () => !0,
              bShowTimeZone: !0,
            }),
            i.a.createElement(sv, {
              strDescription: "Event End Date and Time",
              nEarliestTime: 0,
              fnGetTimeToUpdate: () => t.GetEventEndTime(),
              fnSetTimeToUpdate: t.SetEventEndTime,
              fnIsValidDateTime: () => !0,
              bShowTimeZone: !0,
            }),
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            i.a.createElement(kv, null),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "Public Event ID:"),
            i.a.createElement(
              "p",
              null,
              "Allows the developer to view how their game is being presented. The event must be publicly visible.",
            ),
            i.a.createElement(te.z, {
              type: "text",
              onChange: (e) => t.SetPublicEventID(e.target.value),
              value: t.GetPublicEventID(),
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "Event Title:"),
            i.a.createElement(te.z, {
              type: "text",
              onChange: (e) => t.SetCurEventTitle(e.target.value),
              value: t.GetCurEventTitle(),
              placeholder: "Enter Title Here",
            }),
            i.a.createElement("br", null),
            i.a.createElement("h3", null, "Event Description:"),
            i.a.createElement(
              "p",
              null,
              "This section appears at the top of the opt-in page and is used for telling potential participants what the event is all about",
            ),
            i.a.createElement(ut, {
              fnGetCurText: t.GetCurDescription,
              fnOnTextChange: (e) => t.SetCurDescription(e.currentTarget.value),
              fnSetText: t.SetCurDescription,
              strPlaceholder: "Enter Description Here",
              emoticonStore: ue.b,
              bSupportHTMLImport: !0,
              showFormatHelp: "PartnerEvents",
              classNameForTextArea: zf.a.EventBBCodeEditor,
              limitBBCode: void 0,
              nOverridesRows: 10,
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement("h3", null, "Help Text:"),
            i.a.createElement(
              "p",
              null,
              "This section appears near the bottom of the opt-in page and is used for describing where participants can find more information.",
            ),
            i.a.createElement(ut, {
              fnGetCurText: t.GetCurHelpText,
              fnOnTextChange: (e) => t.SetCurHelpText(e.currentTarget.value),
              fnSetText: t.SetCurHelpText,
              strPlaceholder: "Enter Help Text",
              emoticonStore: ue.b,
              bSupportHTMLImport: !0,
              showFormatHelp: "PartnerEvents",
              classNameForTextArea: zf.a.EventBBCodeEditor,
              limitBBCode: void 0,
              nOverridesRows: 10,
            }),
          ),
        );
      }),
      Pv = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement("h2", null, "Section - Opt-In Settings"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "span",
            null,
            "Select the settings that should appear as part of the opt-in process",
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Categories",
              checked: t.BIsCategoriesEnabled(),
              onChange: t.SetCategoriesEnabled,
            }),
            i.a.createElement(te.m, {
              label: "Optional/Suggested/Required",
              rgOptions: t.GetRequiredOptions(),
              selectedOption: t.GetCategoriesRequired(),
              onChange: (e) => t.SetCategoriesRequired(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
            i.a.createElement("span", null, "Visible Categories"),
            i.a.createElement(ev.a, {
              isSearchable: !0,
              isMulti: !0,
              onChange: t.OnChangeCategoryTags,
              value: t.GetCategoryTags(),
              options: t.GetGameTagOptions(),
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Artist Statement",
              checked: t.BIsArtistStatementEnabled(),
              onChange: t.SetArtistStatementEnabled,
            }),
            i.a.createElement(te.m, {
              label: "Optional/Suggested/Required",
              rgOptions: t.GetRequiredOptions(),
              selectedOption: t.GetArtistStatementRequired(),
              onChange: (e) => t.SetArtistStatementRequired(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Primary Country",
              checked: t.BIsPrimaryCountryEnabled(),
              onChange: t.SetPrimaryCountryEnabled,
            }),
            i.a.createElement(te.m, {
              label: "Optional/Suggested/Required",
              rgOptions: t.GetRequiredOptions(),
              selectedOption: t.GetPrimaryCountryRequired(),
              onChange: (e) => t.SetPrimaryCountryRequired(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Collect Press Contact Info",
              checked: t.BIsPressContactEnabled(),
              onChange: t.SetPressContactEnabled,
            }),
            i.a.createElement(
              "div",
              null,
              "When enablesd, it will allow the partner to enter a primary contact name and email address for this game. It will inform them that we plan to use this information when contacting the press about the event with participating games. You can export the opt-in press contact in manage tab.",
            ),
            i.a.createElement("br", null),
            i.a.createElement(te.m, {
              label: "Optional/Suggested/Required",
              rgOptions: t.GetRequiredOptions(),
              selectedOption: t.GetPressContactRequired(),
              onChange: (e) => t.SetPressContactRequired(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
          ),
        );
      }),
      Lv = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement("h2", null, "Section - Before Opting In"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Add section - Before you opt in",
              checked: t.BIsBeforeYouOptInEnabled(),
              onChange: t.SetBeforeYouOptInEnabled,
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Build your store page",
              checked: t.BIsBuildYourStorePageEnabled(),
              onChange: t.SetBuildYourStorePageEnabled,
            }),
            i.a.createElement(te.m, {
              label: "Optional/Suggested/Required",
              rgOptions: t.GetRequiredOptions(),
              selectedOption: t.GetBuildYourStorePageRequired(),
              onChange: (e) => t.SetBuildYourStorePageRequired(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
            i.a.createElement(
              "div",
              { className: zf.a.Section },
              i.a.createElement(ut, {
                fnGetCurText: t.GetStorePageText,
                fnOnTextChange: (e) =>
                  t.SetStorePageText(e.currentTarget.value),
                fnSetText: t.SetStorePageText,
                strPlaceholder:
                  "Build your store page with the following guidelines",
                emoticonStore: ue.b,
                bSupportHTMLImport: !0,
                showFormatHelp: "PartnerEvents",
                classNameForTextArea: zf.a.EventBBCodeEditor,
                limitBBCode: void 0,
                nOverridesRows: 10,
              }),
            ),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Tagging Wizard",
              checked: t.BIsTaggingWizardEnabled(),
              onChange: t.SetTaggingWizardEnabled,
            }),
          ),
        );
      }),
      Gv = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement("h2", null, "Section - When You're Ready to Start"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "span",
            null,
            "These are sections that describe activities that developers need to do in order to be live within the festival.",
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Launch your demo",
              checked: t.BIsLaunchYourDemoEnabled(),
              onChange: t.SetLaunchYourDemoEnabled,
            }),
            i.a.createElement(te.m, {
              label: "Optional/Suggested/Required",
              rgOptions: t.GetRequiredOptions(),
              selectedOption: t.GetLaunchYourDemoRequired(),
              onChange: (e) => t.SetLaunchYourDemoRequired(e.data),
              contextMenuPositionOptions: { bDisableMouseOverlay: !0 },
            }),
            i.a.createElement(sv, {
              strDescription: "Due Date",
              nEarliestTime: 0,
              fnGetTimeToUpdate: () => t.GetLaunchYourDemoDueDate(),
              fnSetTimeToUpdate: t.SetLaunchYourDemoDueDate,
              fnIsValidDateTime: () => !0,
              bShowTimeZone: !0,
            }),
          ),
        );
      }),
      Nv = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement("h2", null, "Section - Do Any Time"),
          i.a.createElement("hr", null),
          i.a.createElement(
            "span",
            null,
            "These are sections that describe activities that developers can do at any time to get more out of their participation in this event.",
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Add section - Things you can do any time",
              checked: t.BIsDoAnytimeEnabled(),
              onChange: t.SetDoAnytimeEnabled,
            }),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Livestream",
              checked: t.BIsLivestreamEnabled(),
              onChange: t.SetLivestreamEnabled,
            }),
            i.a.createElement(
              "span",
              null,
              "Developers may schedule a 'livestream' type event during this sale and their stream will be prioritized in the broadcast player on the event landing page during their scheduled time.",
            ),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Chat Session",
              checked: t.BIsChatSessionEnabled(),
              onChange: t.SetChatSessionEnabled,
            }),
            i.a.createElement(
              "span",
              null,
              "Developers may schedule a 'live chat' type event during this sale and their event will appear in the schedule on the event landing page.",
            ),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Tagging Wizard",
              checked: t.BIsAnytimeTaggingWizardEnabled(),
              onChange: t.SetAnytimeTaggingWizardEnabled,
            }),
            i.a.createElement(
              "span",
              null,
              "Developers should make use of the tagging wizard to make sure players can find their game.",
            ),
          ),
          i.a.createElement(
            "div",
            { className: zf.a.Section },
            i.a.createElement(te.f, {
              label: "Enter Discounts",
              checked: t.BIsEnterDiscountsEnabled(),
              onChange: t.SetEnterDiscountsEnabled,
            }),
            i.a.createElement(
              "span",
              null,
              "Developers are reminded to enter discounts for their game.",
            ),
          ),
        );
      });
    class Fv {
      constructor() {
        (this.m_mapRegistrations = new Map()),
          (this.m_mapRequestedAppIDs = new Map()),
          (this.m_mapOptInNameCallback = new Map());
      }
      BHasOptInRegistration(e, t) {
        var n;
        return Boolean(
          null === (n = this.m_mapRegistrations.get(e)) || void 0 === n
            ? void 0
            : n.has(t),
        );
      }
      GetOptInRegistrationPromise(e, t) {
        var n;
        return null === (n = this.m_mapRequestedAppIDs.get(t)) || void 0 === n
          ? void 0
          : n.get(e);
      }
      GetOptInRegistrationAndEligibilityForApp(e) {
        return this.m_mapRegistrations.get(e);
      }
      BHasOptionOnRegistration(e, t, n) {
        var a, r;
        const i = this.GetRegistration(e, t);
        return (
          !(!i || !i.opt_in) &&
          (!n ||
            (null ===
              (r =
                null === (a = null == i ? void 0 : i.jsondata) || void 0 === a
                  ? void 0
                  : a.dynamic_selection) || void 0 === r
              ? void 0
              : r.some((e) => {
                  var t;
                  return (
                    e &&
                    e.section_id == n.section_id &&
                    (null === (t = e.list_selection) || void 0 === t
                      ? void 0
                      : t.some((e) => {
                          var t;
                          return (
                            e &&
                            e.list_id == n.list_id &&
                            (null === (t = e.selected_item_id) || void 0 === t
                              ? void 0
                              : t.includes(n.option_id))
                          );
                        }))
                  );
                })))
        );
      }
      CreateRegistrationNotSaved(e, t) {
        console.log("CreateOrGetRegistration: Creating new registration");
        return {
          opt_in_name: t,
          opt_in: !1,
          appid: e,
          jsondata: { opt_in_name: t, opt_in: !1 },
        };
      }
      CreateOrGetRegistration(e, t) {
        let n = this.m_mapRegistrations.get(e);
        n || ((n = new Map()), this.m_mapRegistrations.set(e, n));
        let a = n.get(t);
        return (
          a
            ? console.log(
                "CreateOrGetRegistration: Re-using Previous Registration:",
                a,
              )
            : (a = this.CreateRegistrationNotSaved(e, t)),
          a
        );
      }
      GetRegistration(e, t) {
        return this.m_mapRegistrations.has(e) &&
          this.m_mapRegistrations.get(e).has(t)
          ? this.m_mapRegistrations.get(e).get(t)
          : null;
      }
      GetAllOptInRegistrations(e) {
        const t = this.m_mapRequestedAppIDs.get(e) || new Map();
        return Array.from(t.keys())
          .map((t) => {
            var n;
            return null === (n = this.m_mapRegistrations.get(t)) || void 0 === n
              ? void 0
              : n.get(e);
          })
          .filter(Boolean);
      }
      GetOptInNameRegistrationsCallbackList(e) {
        return e
          ? (this.m_mapOptInNameCallback.has(e) ||
              this.m_mapOptInNameCallback.set(e, new g.a()),
            this.m_mapOptInNameCallback.get(e))
          : null;
      }
      LoadOptInRegistration(e, t, n) {
        var r, i;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.GetRegistration(t, e)) return !0;
          const a =
            null === (r = this.m_mapRequestedAppIDs.get(e)) || void 0 === r
              ? void 0
              : r.get(t);
          if (a) return a;
          try {
            const a = o.c.PARTNER_BASE_URL + "optin/ajaxgetoptinregistation",
              r = { sessionid: o.c.SESSIONID, appid: t, opt_in_name: e },
              s = yield F.a.get(a, {
                params: r,
                withCredentials: !0,
                cancelToken: null == n ? void 0 : n.token,
              });
            if (
              1 ==
                (null === (i = null == s ? void 0 : s.data) || void 0 === i
                  ? void 0
                  : i.success) &&
              s.data.optin_registration
            ) {
              if (
                ("string" == typeof s.data.optin_registration.jsondata &&
                  (s.data.optin_registration.jsondata = JSON.parse(
                    s.data.optin_registration.jsondata,
                  )),
                this.m_mapRegistrations.has(t))
              )
                this.m_mapRegistrations
                  .get(t)
                  .set(e, s.data.optin_registration);
              else {
                const n = new Map();
                n.set(e, s.data.optin_registration),
                  this.m_mapRegistrations.set(t, n);
              }
              return !0;
            }
            {
              const e = Object(me.a)(s);
              console.error(
                "LoadOptInRegistration : failed with a response and: " +
                  e.strErrorMsg,
                e,
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "LoadOptInRegistration : failed with " + t.strErrorMsg,
              t,
            );
          }
          return !1;
        });
      }
      LoadMultiOptInRegistration(e, t, n) {
        var r, i;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (0 == t.length || 0 == e.length) return !1;
          let a = null;
          const s = new Promise((e, t) => {
            a = e;
          });
          (e = ka.h(e).sort()),
            (t = ka.h(t).sort()),
            e.forEach((e) => {
              this.m_mapRequestedAppIDs.has(e) ||
                this.m_mapRequestedAppIDs.set(e, new Map());
            });
          let l = new Array();
          if (
            (t.forEach((t) => {
              e.some(
                (e) =>
                  !this.BHasOptInRegistration(t, e) &&
                  !this.GetOptInRegistrationPromise(t, e),
              ) &&
                (l.push(t),
                e.forEach((e) => this.m_mapRequestedAppIDs.get(e).set(t, s)));
            }),
            0 == l.length)
          )
            return !0;
          const c = o.c.PARTNER_BASE_URL + "optin/ajaxbatchgetoptinregistation";
          let d = null;
          try {
            const t = [];
            for (; l.length > 0; ) {
              const a = l.splice(0, 50),
                r = {
                  rgOptInNames: e.join(","),
                  rgAppIDs: a.join(","),
                  origin: self.origin,
                };
              t.push(
                F.a.get(c, {
                  params: r,
                  withCredentials: !0,
                  cancelToken: null == n ? void 0 : n.token,
                }),
              );
            }
            const a = yield Promise.all(t);
            for (const e of a) {
              if (
                200 != (null == e ? void 0 : e.status) ||
                1 !=
                  (null === (r = e.data) || void 0 === r
                    ? void 0
                    : r.success) ||
                !(null === (i = e.data.optin_registrations) || void 0 === i
                  ? void 0
                  : i.length)
              ) {
                d = { response: e };
                break;
              }
              this.InternalAddRegistrations(e.data.optin_registrations);
            }
          } catch (e) {
            d = e;
          }
          if (null == d) a(!0);
          else {
            const n = Object(me.a)(d);
            console.error(
              "Could not load OptIn for Apps",
              t,
              e,
              n.strErrorMsg,
              n,
            ),
              a(!1);
          }
          return s;
        });
      }
      RegisterAppForOptIn(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = t.startsWith("sale_") ? t : "sale_" + t,
            a = Fv.Get().CreateOrGetRegistration(e, n);
          return (
            (a.accountid_add = o.j.accountid),
            (a.opt_in = !0),
            (a.accountid_lastmod = o.j.accountid),
            this.UpdateOptInRegistration(a)
          );
        });
      }
      UpdateOptInRegistration(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = null;
          try {
            const a = new FormData();
            a.append("sessionid", o.c.SESSIONID),
              Object.keys(e).forEach((t) => a.append(t, e[t]));
            const r =
                o.c.PARTNER_BASE_URL +
                "optin/ajaxupdateoptinregistration/" +
                e.appid,
              i = yield F.a.post(r, a, { withCredentials: !0 });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 == (null === (t = i.data) || void 0 === t ? void 0 : t.success)
            )
              return null;
            n = Object(me.a)(i);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "COptInRegistrations::UpdateOptInRegistration error " +
                n.strErrorMsg,
              n,
            ),
            n.strErrorMsg
          );
        });
      }
      static Get() {
        return (
          Fv.s_OptInRegs ||
            ((Fv.s_OptInRegs = new Fv()),
            (window.COptInRegistrations = Fv.s_OptInRegs),
            Fv.s_OptInRegs.Init()),
          Fv.s_OptInRegs
        );
      }
      InternalAddRegistrations(e) {
        const t = new Set();
        e.forEach((e) => {
          if (!Number.isNaN(e.appid)) {
            let n = this.m_mapRegistrations.get(e.appid);
            n || ((n = new Map()), this.m_mapRegistrations.set(e.appid, n)),
              e.jsondata &&
                "string" == typeof e.jsondata &&
                (e.jsondata = JSON.parse(e.jsondata)),
              n.set(e.opt_in_name, e),
              t.add(e.opt_in_name);
          }
        }),
          Array.from(t).forEach((e) => {
            this.GetOptInNameRegistrationsCallbackList(e).Dispatch(
              this.GetAllOptInRegistrations(e),
            );
          });
      }
      Init() {
        let e = JSON.parse(
          JSON.stringify(
            Object(o.g)("optin_registrations", "application_config"),
          ),
        );
        this.ValidateStoreDefault(e) &&
          (this.InternalAddRegistrations(e),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log("COptInRegistrations: " + e.length, e));
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "number" == typeof t[0].appid &&
          "string" == typeof t[0].opt_in_name
        );
      }
    }
    function xv(e) {
      const [t, n] = i.a.useState(Fv.Get().GetAllOptInRegistrations(e));
      return (
        Object(u.e)(Fv.Get().GetOptInNameRegistrationsCallbackList(e), n), t
      );
    }
    Object(a.b)(
      [Ul.a],
      Fv.prototype,
      "GetOptInRegistrationAndEligibilityForApp",
      null,
    ),
      Object(a.b)([Ul.a], Fv.prototype, "LoadMultiOptInRegistration", null),
      Object(a.b)([L.k], Fv.prototype, "Init", null);
    class zv {
      constructor() {
        this.m_mapAppToDemoAppID = new Map();
      }
      GetOptInDemoApps(e, t) {
        return this.m_mapAppToDemoAppID.get(this.ConvertToKey(e, t));
      }
      ConvertToKey(e, t) {
        return (
          e +
          (null == t ? void 0 : t.section_id) +
          (null == t ? void 0 : t.list_id) +
          (null == t ? void 0 : t.option_id)
        );
      }
      LoadAppWithDemoAppIDs(e, t) {
        var n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = new Map(),
            i = this.ConvertToKey(e, t);
          if (this.m_mapAppToDemoAppID.has(i))
            return this.m_mapAppToDemoAppID.get(i);
          try {
            const s = {
                sessionid: o.c.SESSIONID,
                optInName: e,
                strSectionID: null == t ? void 0 : t.section_id,
                strListID: null == t ? void 0 : t.list_id,
                strOptionID: null == t ? void 0 : t.option_id,
              },
              l = o.c.PARTNER_BASE_URL + "optin/ajaxgetoptinappwithdemoid",
              c = yield F.a.get(l, { params: s, withCredentials: !0 });
            if (
              200 == (null == c ? void 0 : c.status) &&
              1 ==
                (null === (n = null == c ? void 0 : c.data) || void 0 === n
                  ? void 0
                  : n.success)
            )
              null === (r = c.data.app_with_demos) ||
                void 0 === r ||
                r.forEach((e) => {
                  a.set(e.appid, e.demo_appid);
                }),
                this.m_mapAppToDemoAppID.set(i, a);
            else {
              const e = Object(me.a)(c);
              console.error(
                "function GetAppWithDemoAppIDs: error message received with " +
                  e.strErrorMsg,
                e,
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "function GetAppWithDemoAppIDs: failed with " + t.strErrorMsg,
              t,
            );
          }
          return a;
        });
      }
      static Get() {
        return (
          zv.s_Singleton ||
            ((zv.s_Singleton = new zv()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInDemoAppStores = zv.s_Singleton)),
          zv.s_Singleton
        );
      }
    }
    Object(a.b)([L.C], zv.prototype, "m_mapAppToDemoAppID", void 0);
    var Uv,
      Wv = n("5zZm"),
      Hv = n("+8Cz"),
      Vv = n.n(Hv);
    function qv(e) {
      const { closeModal: t, optInStats: n, bOptedIn: s } = e,
        l = zb.Get(),
        c = l.GetOptInPageID(),
        [d, u] = Object(r.useState)(1),
        [m, p] = i.a.useState(null),
        [h, _] = Object(r.useState)(null),
        [g, b] = Object(r.useState)(new Xv()),
        f = $v(l.GetOptInPageID(), n, g),
        v = (function (e) {
          const [t, n] = Object(r.useState)(!0);
          return (
            Object(r.useEffect)(() => {
              const t = F.a.CancelToken.source(),
                a = e.map((e) => e.appid);
              return (
                Dt.a
                  .Get()
                  .QueueMultipleAppRequests(a, { include_trailers: !0 })
                  .then(() => {
                    t.token.reason || n(!1);
                  }),
                () => t.cancel("useLoadedStoreItemTrailers: unmounting")
              );
            }, [e]),
            t
          );
        })(n),
        [S, y] = i.a.useState(void 0),
        [E, C] = i.a.useState(void 0),
        [w, B] = Object(r.useState)(0),
        [O, D] = Object(r.useState)(Uv.k_EDownloadTrailer),
        [I, T] = Object(r.useState)([]);
      return (
        Object(r.useEffect)(() => {
          if (!v && (f || !s)) {
            const e = n.map((e) => e.appid),
              t = m ? Rv(m.value) : null,
              a = e
                .filter((e) => {
                  var t;
                  return (
                    O != Uv.k_EDownloadTrailer ||
                    (null === (t = Dt.a.Get().GetApp(e)) || void 0 === t
                      ? void 0
                      : t.BHasHighlightTrailers())
                  );
                })
                .filter((e) => !s || Fv.Get().BHasOptionOnRegistration(e, c, t))
                .filter((e) => !h || h.has(e));
            T(a);
          }
        }, [v, f, n, m, c, h, O, s]),
        i.a.createElement(
          xe.e,
          {
            strTitle: "Download or Capsules Trailers for " + l.GetFullName(),
            strDescription:
              "Downloads all of the highest quality MP4 or PNG/JPG file for the 'first' trailers or game capsule that appears on the store page. One per opted in game.",
            onOK: () =>
              Object(a.a)(this, void 0, void 0, function* () {
                C(!0),
                  (function (e, t, n, r, i) {
                    Object(a.a)(this, void 0, void 0, function* () {
                      console.log(
                        "Download Assets " +
                          t +
                          " with available assets: " +
                          (null == e ? void 0 : e.length),
                      );
                      for (
                        let a = 0;
                        a < Math.min(t, (null == e ? void 0 : e.length) || 0);
                        ++a
                      ) {
                        const t = e[a],
                          s = Dt.a.Get().GetApp(t);
                        let l, c;
                        if (n == Uv.k_EDownloadTrailer) {
                          const e = s
                            .GetAllTrailers()
                            .GetHighlightTrailers()[0]
                            .GetTrailerMax()
                            .strMP4URL.replace("http://", "https://");
                          (c = `${o.c.PARTNER_BASE_URL}gfxproxy/trailergfx?appid=${t}&itype=apps`),
                            (l =
                              s.GetName().replace(/[^\w\s!?]/g, "") +
                              "_" +
                              t +
                              ".mp4"),
                            console.log("fetching indirectly ", e, c);
                        } else {
                          let e = "header.jpg";
                          switch (n) {
                            default:
                            case Uv.k_EDownloadHeader:
                              break;
                            case Uv.k_EDownloadSmallCapsule:
                              e = "capsule_231x87.jpg";
                              break;
                            case Uv.k_EDownloadMainCapsule:
                              e = "capsule_616x353.jpg";
                              break;
                            case Uv.k_EDownloadVerticalCapsule:
                              e = "hero_capsule.jpg";
                              break;
                            case Uv.k_EDownloadPageBackground:
                              e = "page_bg_raw.jpg";
                          }
                          (l =
                            s.GetName().replace(/[^\w\s!?]/g, "") +
                            "_" +
                            t +
                            "_" +
                            e),
                            (e += `?t=${Math.floor(Date.now() / 1e3)}&exclude_beta=1`),
                            (c = `${o.c.PARTNER_BASE_URL}gfxproxy/gfx/apps/${t}/${e}`),
                            console.log("fetching indirectly ", c);
                        }
                        try {
                          const e = yield fetch(c);
                          console.log("fetched: ", e);
                          const t = yield e.blob(),
                            n = window.URL.createObjectURL(t),
                            i = document.createElement("a");
                          (i.style.display = "none"),
                            (i.href = n),
                            (i.download = l),
                            document.body.appendChild(i),
                            i.click(),
                            window.URL.revokeObjectURL(n),
                            r(a + 1),
                            console.log(
                              "Downloaded " + a + ":" + l + " size: " + t.size,
                            );
                        } catch (e) {
                          const t = Object(me.a)(e);
                          console.log("Download error" + e.strErrorMsg),
                            i("Download failed " + t.strErrorMsg);
                        }
                      }
                    });
                  })(I, d, O, B, y);
              }),
            bOKDisabled: v || !f || E || 0 == d,
            bAllowFullSize: !0,
            onCancel: t,
            closeModal: null,
            bDisableBackgroundDismiss: !0,
          },
          v || !f
            ? i.a.createElement(ee.a, {
                string: `Loading ${n.length} OptIn Registration and Games Details`,
                position: "center",
                size: "medium",
              })
            : i.a.createElement(
                i.a.Fragment,
                null,
                !E &&
                  i.a.createElement(
                    "div",
                    null,
                    I.length,
                    " of apps with items available to download.",
                    i.a.createElement(Kv, { type: O, setType: D }),
                    i.a.createElement(Ov, {
                      selected: m,
                      fnChoiceMade: p,
                      rgInputType: ["checkbox"],
                      label: "Choose Filter:",
                    }),
                    i.a.createElement(te.z, {
                      type: "number",
                      label: "How many items to download?",
                      min: "1",
                      max: (null == I ? void 0 : I.length) || 1,
                      value: d,
                      onChange: (e) =>
                        u(Number.parseInt(e.currentTarget.value) || 1),
                    }),
                    i.a.createElement(Qv, { fnSetAppIDListList: _ }),
                  ),
              ),
          Boolean(E) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              Boolean(w < d)
                ? i.a.createElement(ee.a, {
                    string: `Downloading ${w} out of ${d}`,
                    size: "medium",
                    position: "center",
                  })
                : i.a.createElement(
                    "span",
                    null,
                    "Done: Downloaded ",
                    `${w} out of ${d}`,
                  ),
            ),
          Boolean(S) &&
            i.a.createElement(
              "div",
              { className: Ol.ErrorStylesBackground },
              S,
            ),
        )
      );
    }
    function Kv(e) {
      const { type: t, setType: n } = e,
        a = Object(r.useMemo)(
          () => [
            { label: "First Store Trailer", data: Uv.k_EDownloadTrailer },
            { label: "Header Image (460x215 px)", data: Uv.k_EDownloadHeader },
            {
              label: "Small Capsule (231x87 px)",
              data: Uv.k_EDownloadSmallCapsule,
            },
            {
              label: "Main Capsule (616x353 px)",
              data: Uv.k_EDownloadMainCapsule,
            },
            {
              label: "Virtual Capsule (374x448 px)",
              data: Uv.k_EDownloadVerticalCapsule,
            },
            {
              label: "Background (1438x810 px)",
              data: Uv.k_EDownloadPageBackground,
            },
          ],
          [],
        );
      return i.a.createElement(te.m, {
        label: "Choose Download Type",
        rgOptions: a,
        selectedOption: t,
        onChange: (e) => n(e.data),
      });
    }
    function Qv(e) {
      const { fnSetAppIDListList: t } = e,
        [n, a] = i.a.useState(""),
        [r, s] = i.a.useState(!1);
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          null,
          "Optionally provide an explicit lists of appids seperately by new lines. Will only download the trailers for these appids as long as they are opted in and have a trailer.",
        ),
        r
          ? i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("div", null, "Enter App IDs:"),
              i.a.createElement("textarea", {
                cols: 120,
                rows: 10,
                onChange: (e) => a(e.currentTarget.value),
                value: n,
                autoFocus: !0,
              }),
              i.a.createElement(
                te.e,
                {
                  onClick: () => {
                    const e = n.replace(/\n/g, "|").split("|"),
                      a = new Set();
                    e.forEach((e) => {
                      const t = Number.parseInt(e);
                      t > 0 && a.add(t);
                    }),
                      a.size > 0 && t(a);
                  },
                },
                "AppID List Complete. Apply Filter",
              ),
            )
          : i.a.createElement(
              te.e,
              { onClick: () => s(!0) },
              "Add AppID Filter List",
            ),
      );
    }
    !(function (e) {
      (e[(e.k_EDownoadInvalid = 0)] = "k_EDownoadInvalid"),
        (e[(e.k_EDownloadTrailer = 1)] = "k_EDownloadTrailer"),
        (e[(e.k_EDownloadHeader = 2)] = "k_EDownloadHeader"),
        (e[(e.k_EDownloadSmallCapsule = 3)] = "k_EDownloadSmallCapsule"),
        (e[(e.k_EDownloadMainCapsule = 4)] = "k_EDownloadMainCapsule"),
        (e[(e.k_EDownloadVerticalCapsule = 5)] = "k_EDownloadVerticalCapsule"),
        (e[(e.k_EDownloadPageBackground = 6)] = "k_EDownloadPageBackground");
    })(Uv || (Uv = {}));
    const Yv = Object(m.a)((e) => {
      const t = zb.Get(),
        n = t.GetActiveStats(),
        r = JSON.parse(n && n.json_eligible ? n.json_eligible : "[]"),
        s = JSON.parse(n && n.json_opted_in ? n.json_opted_in : "[]"),
        l = JSON.parse(n && n.json_opted_out ? n.json_opted_out : "[]"),
        c = JSON.parse(n && n.json_invited ? n.json_invited : "[]"),
        d = JSON.parse(n && n.json_pruned ? n.json_pruned : "[]"),
        u = i.a.useRef(null);
      let m;
      function p(e, t, n) {
        return (
          m || (m = new Intl.NumberFormat("en-US")),
          m.format(Number(e.getValue()))
        );
      }
      function h(e, t, n) {
        return (
          "<a style='font-weight:bold' target='_blank' href='" +
          (o.c.PARTNER_BASE_URL + "apps/landing/" + e.getValue()) +
          "'>" +
          e.getValue() +
          "</a>"
        );
      }
      function _(e, t, n) {
        return (
          "<a style='font-weight:bold' target='_blank' href='" +
          (o.c.STORE_BASE_URL + "app/" + e.getRow().getCells()[0].getValue()) +
          "'>" +
          e.getValue() +
          "</a>"
        );
      }
      function g(e, t, n) {
        return 1 == e.getValue()
          ? "<span style='color:green'>Released</span>"
          : "<span style='color:red'>Not Released</span>";
      }
      const b = [
          { title: "App ID", field: "appid", formatter: h, width: 80 },
          { title: "App Name", field: "app_name", formatter: _, width: 250 },
          {
            title: "Publisher ID",
            field: "PublisherID",
            formatter: function (e, t, n) {
              return (
                "<a style='font-weight:bold' target='_blank' href='" +
                (o.c.PARTNER_BASE_URL + "pub/publisher/" + e.getValue()) +
                "'>" +
                e.getValue() +
                "</a>"
              );
            },
            width: 120,
          },
          { title: "Is Released", field: "released", formatter: g, width: 120 },
          { title: "Tags", field: "tags", width: 250 },
          {
            title: "Wishlists",
            field: "wishlists",
            formatter: p,
            sorter: "number",
            width: 140,
          },
          {
            title: "Sales",
            field: "sales",
            formatter: "money",
            formatterParams: { precision: !1, symbol: "$" },
            width: 150,
          },
          {
            title: "DLC Sales",
            field: "sales_dlc",
            formatter: "money",
            formatterParams: { precision: !1, symbol: "$" },
            width: 150,
          },
          {
            title: "In Game Sales",
            field: "sales_in_game",
            formatter: "money",
            formatterParams: { precision: !1, symbol: "$" },
            width: 150,
          },
        ],
        f = [
          { title: "App ID", field: "appid", formatter: h, width: 80 },
          { title: "App Name", field: "app_name", formatter: _, width: 250 },
          { title: "Publisher IDs", field: "publishers", width: 130 },
          { title: "Is Released", field: "released", formatter: g, width: 120 },
          { title: "Tags", field: "tags", width: 250 },
          {
            title: "Wishlists",
            field: "wishlists",
            formatter: p,
            sorter: "number",
            width: 140,
          },
          {
            title: "Sales",
            field: "sales",
            formatter: "money",
            formatterParams: { precision: !1, symbol: "$" },
            width: 150,
          },
          {
            title: "DLC Sales",
            field: "sales_dlc",
            formatter: "money",
            formatterParams: { precision: !1, symbol: "$" },
            width: 150,
          },
          {
            title: "In Game Sales",
            field: "sales_in_game",
            formatter: "money",
            formatterParams: { precision: !1, symbol: "$" },
            width: 150,
          },
        ],
        v = {
          width: 800,
          height: 500,
          downloadDataFormatter: (e) => e,
          downloadReady: (e, t) => t,
          initialSort: [{ column: "wishlists", dir: "desc" }],
        },
        S = [
          {
            name: "Eligible",
            key: "eligible",
            status: "",
            statusType: "success",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: u,
                columns: f,
                data: r,
                options: v,
              }),
              i.a.createElement("br", null),
            ),
          },
          {
            name: "Opted In",
            key: "manage&section=optedin",
            status: "",
            statusType: "success",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: u,
                columns: b,
                data: s,
                options: v,
              }),
              i.a.createElement("br", null),
            ),
          },
          {
            name: "Opted Out",
            key: "manage&section=optedout",
            status: "",
            statusType: "success",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: u,
                columns: b,
                data: l,
                options: v,
              }),
              i.a.createElement("br", null),
            ),
          },
          {
            name: "Invited Apps",
            key: "manage&section=invited",
            status: "",
            statusType: "success",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: u,
                columns: b,
                data: c,
                options: v,
              }),
              i.a.createElement("br", null),
            ),
          },
          {
            name: "Pruned Apps",
            key: "manage&section=pruned",
            status: "",
            statusType: "success",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: u,
                columns: b,
                data: d,
                options: v,
              }),
              i.a.createElement("br", null),
            ),
          },
        ];
      function y() {
        let e = document.getElementById("filter-field"),
          t = document.getElementById("filter-type"),
          n = document.getElementById("filter-value"),
          a = e.options[e.selectedIndex].value,
          r = -1 != t.selectedIndex ? t.options[t.selectedIndex].value : "";
        a && r && u.current.table.setFilter(a, r, n.value);
      }
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("h2", null, t.GetName()),
        i.a.createElement("hr", null),
        i.a.createElement(
          "div",
          { className: zf.a.Section },
          i.a.createElement(
            "div",
            { className: zf.a.SectionDesc },
            i.a.createElement(
              "div",
              { style: { width: "100%" } },
              "Eligible: ",
              n ? n.count_eligible : "",
              i.a.createElement(
                "span",
                {
                  style: {
                    float: "right",
                    textAlign: "right",
                    fontSize: 12,
                    fontStyle: "italic",
                  },
                },
                "Refreshed: ",
                n && n.time_updated
                  ? i.a.createElement(Ra.a, {
                      dateAndTime: n.time_updated,
                      bSingleLine: !0,
                    })
                  : "",
                i.a.createElement("br", null),
                "Eligible information is based on the published page",
                i.a.createElement("br", null),
                i.a.createElement(
                  "span",
                  { style: { color: "orange" } },
                  "Sales numbers are for Valve Admins only",
                ),
                i.a.createElement("br", null),
                i.a.createElement(
                  te.e,
                  {
                    id: "statsRefreshButton",
                    onClick: function () {
                      return Object(a.a)(this, void 0, void 0, function* () {
                        let e,
                          n = document.getElementById("statsRefreshButton");
                        n &&
                          ((e = n.innerText),
                          (n.innerText = "Refreshing..."),
                          (n.disabled = !0)),
                          yield t.RefreshActiveStats(),
                          n && ((n.innerText = e), (n.disabled = !1));
                      });
                    },
                    style: {
                      marginTop: "10px",
                      float: "right",
                      width: "120px",
                    },
                  },
                  "Refresh Stats",
                ),
                i.a.createElement("br", null),
                i.a.createElement("br", null),
              ),
            ),
            "Opted in: ",
            n ? n.count_opted_in : "",
            i.a.createElement("br", null),
            "Opted out: ",
            n ? n.count_opted_out : "",
            i.a.createElement("br", null),
            i.a.createElement(
              Qe.a,
              {
                toolTipContent:
                  "This only includes invited apps that haven't sinced opted out or opted in.",
              },
              i.a.createElement(
                "span",
                null,
                "Invited apps (?): ",
                n ? n.count_invited : "",
              ),
            ),
            i.a.createElement(
              Qe.a,
              {
                toolTipContent:
                  "Invited apps which we reviewed and then pruned from the list as they don't closely match the events theme.",
              },
              i.a.createElement(
                "span",
                null,
                "Pruned apps (?): ",
                n ? n.count_pruned : "",
              ),
            ),
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            "How to opt in a specific game. Use this link and swap out the 100 at the end with the correct appID  ",
            i.a.createElement("br", null),
            i.a.createElement(
              "a",
              {
                href:
                  o.c.PARTNER_BASE_URL + "optin/sale/" + t.GetName() + "/100",
              },
              o.c.PARTNER_BASE_URL,
              "optin/sale/",
              t.GetName(),
              "/100",
            ),
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            i.a.createElement(Pf, { tabs: S, bDisableRouting: !0 }),
            i.a.createElement(
              "div",
              null,
              "Field: ",
              i.a.createElement(
                "select",
                { id: "filter-field", onChange: y },
                i.a.createElement("option", null),
                i.a.createElement("option", { value: "app_name" }, "App Name"),
                i.a.createElement("option", { value: "tags" }, "Tags"),
              ),
              i.a.createElement(
                "span",
                { style: { paddingLeft: "20px" } },
                "Type:",
              ),
              i.a.createElement(
                "select",
                { id: "filter-type", onChange: y },
                i.a.createElement("option", { value: "=" }, "="),
                i.a.createElement("option", { value: "like" }, "like"),
              ),
              i.a.createElement(
                "span",
                { style: { paddingLeft: "20px" } },
                "Value:",
              ),
              i.a.createElement("input", {
                id: "filter-value",
                type: "text",
                placeholder: "value to filter",
                onKeyUp: y,
              }),
              i.a.createElement("span", { style: { paddingLeft: "20px" } }),
              i.a.createElement(
                "button",
                {
                  id: "download-csv",
                  onClick: function () {
                    let e = document.getElementById("filter-field"),
                      t = document.getElementById("filter-type"),
                      n = document.getElementById("filter-value");
                    (e.value = ""),
                      (t.value = ""),
                      (n.value = ""),
                      u.current.table.clearFilter();
                  },
                },
                "Clear",
              ),
            ),
            i.a.createElement("br", null),
            i.a.createElement(Zv, { tableRef: u, optInStats: s }),
          ),
        ),
      );
    });
    function Zv(e) {
      const { tableRef: t, optInStats: n } = e,
        a = zb.Get();
      return i.a.createElement(
        "div",
        { className: Vv.a.DownloadRow },
        i.a.createElement(
          te.e,
          {
            id: "download-csv",
            onClick: () => t.current.table.download("csv", "data.csv"),
            style: { width: "120px" },
          },
          "Download CSV",
        ),
        i.a.createElement(
          Qe.a,
          {
            toolTipContent:
              "Generates a CSV of only opt-ed in games intended to be shared with the press",
          },
          i.a.createElement(
            te.e,
            {
              id: "download-perss_csv",
              onClick: function (e) {
                Object(ze.d)(
                  i.a.createElement(Jv, {
                    strOptInName: a.GetName(),
                    optInStats: t.current.state.data,
                  }),
                  Object(v.o)(e),
                );
              },
              style: { width: "200px", marginLeft: "10px" },
            },
            "Download Press CSV",
          ),
        ),
        i.a.createElement(
          Qe.a,
          {
            toolTipContent:
              "Create a package for the demos that have opt-in with release override; useful for press previews and streaming",
          },
          i.a.createElement(
            te.e,
            {
              id: "create_package",
              onClick: () => {
                Object(ze.d)(i.a.createElement(wv, null), window);
              },
              style: { width: "200px", marginLeft: "10px" },
            },
            "Create Demo Package",
          ),
        ),
        i.a.createElement(
          Qe.a,
          {
            toolTipContent:
              "Download trailers or Game Capsules for opted-in games from this event.",
          },
          i.a.createElement(
            te.e,
            {
              id: "download_trailer",
              onClick: (e) =>
                Object(ze.d)(
                  i.a.createElement(qv, {
                    optInStats: t.current.state.data,
                    bOptedIn: n == t.current.state.data,
                  }),
                  Object(v.o)(e),
                ),
              style: { width: "250px", marginLeft: "10px" },
            },
            "Download Trailers or Capsules",
          ),
        ),
      );
    }
    const Jv = (e) => {
      const t = zb.Get(),
        [n, a] = i.a.useState(null),
        [r, s] = i.a.useState(new Array()),
        [o, l] = i.a.useState(!1),
        [c, d] = i.a.useState(!1),
        [u, m] = i.a.useState(!0),
        [p, h] = i.a.useState(!1);
      return i.a.createElement(
        xe.e,
        {
          strTitle: "Export Press Opt-In CSV",
          onCancel: e.closeModal,
          onOK: () => {
            e.closeModal && e.closeModal();
            let t = n ? Rv(n.value) : null,
              a =
                (null == r ? void 0 : r.length) > 0
                  ? r.map((e) => Rv(e.value))
                  : null;
            Object(ze.d)(
              i.a.createElement(eS, {
                strOptInName: e.strOptInName,
                optInStats: e.optInStats,
                filter: t,
                rgAdditionalData: a,
                bExportArtistStatement: o,
                bFilterToDemoExist: c,
                bIncludePerssContact: u,
                bIncludeCategories: p,
              }),
              window,
            );
          },
          strDescription:
            "Choose an optional filter which will limit which partners to export. Choose optionally additional data to export that the partners would have entered",
        },
        i.a.createElement(Ov, {
          selected: n,
          fnChoiceMade: a,
          rgInputType: ["checkbox"],
          label: "Choose Filter:",
        }),
        i.a.createElement(Dv, {
          selected: r,
          fnChoiceMade: s,
          bForDataExport: !0,
          label: "Additional Data to Export:",
        }),
        t.BIsArtistStatementEnabled() &&
          i.a.createElement(te.f, {
            label: "Export Artist Statement",
            checked: o,
            onChange: l,
          }),
        t.BIsArtistStatementEnabled() &&
          i.a.createElement(te.f, {
            label: "Export Press Contact Info",
            checked: u,
            onChange: m,
          }),
        t.BIsLaunchYourDemoEnabled() &&
          i.a.createElement(te.f, {
            label: "Filter to games with Demo Apps Created",
            tooltip:
              "Just requires the partner to have created the demo appid. This will include live demos and demo still being builte",
            checked: c,
            onChange: d,
          }),
        t.BIsCategoriesEnabled() &&
          i.a.createElement(te.f, {
            label: "Add the categories selection",
            tooltip:
              "Partners can choose up to two categories, include them in the output.",
            checked: p,
            onChange: h,
          }),
      );
    };
    class Xv {
      constructor() {
        this.nLoadedOptIn = 0;
      }
      Increment() {
        this.nLoadedOptIn += 1;
      }
    }
    function $v(e, t, n) {
      const [a, i] = Object(r.useState)(!1);
      return (
        Object(r.useEffect)(() => {
          const a = new Array(),
            r = F.a.CancelToken.source();
          return (
            t.forEach((t) => {
              const i = Fv.Get().LoadOptInRegistration(e, t.appid, r);
              i.then(() => n.Increment()), a.push(i);
            }),
            Promise.all(a).then(() => i(!0)),
            () => r.cancel("useAllOptInRegistrations unmounted")
          );
        }, [n, t, e]),
        a
      );
    }
    Object(a.b)([L.C], Xv.prototype, "nLoadedOptIn", void 0);
    const eS = (e) => {
        var t;
        const n = () => e.closeModal && e.closeModal(),
          { optInStats: s, strOptInName: l, bFilterToDemoExist: c } = e,
          d = s.length,
          [u, m] = Object(r.useState)(!1),
          [p, h] = Object(r.useState)(new Xv()),
          _ = $v(l, s, p),
          g = Object(r.useRef)(null),
          b =
            (null === (t = e.rgAdditionalData) || void 0 === t
              ? void 0
              : t.length) > 0,
          f = new Array();
        return (
          b &&
            e.rgAdditionalData.forEach((e) => {
              f.push(zb.Get().GetDynamicSectionByID(e.section_id));
            }),
          Object(r.useEffect)(() => {
            if (s && _) {
              const t = () =>
                Object(a.a)(void 0, void 0, void 0, function* () {
                  const t = F.a.CancelToken.source();
                  g.current = t.cancel;
                  let n = null;
                  c && (n = yield zv.Get().LoadAppWithDemoAppIDs(l, e.filter));
                  const a = new Array();
                  s
                    .filter((t) =>
                      Fv.Get().BHasOptionOnRegistration(t.appid, l, e.filter),
                    )
                    .filter((e) => null == n || n.has(e.appid))
                    .forEach((t) => {
                      var n, r, i, s;
                      const c = Fv.Get().GetRegistration(t.appid, l),
                        d = {
                          game_name: t.app_name || "undefined",
                          store_page: o.c.STORE_BASE_URL + "app/" + t.appid,
                          tags: t.tags || "",
                        };
                      if (
                        (e.bIncludePerssContact &&
                          ((d.press_contact_name =
                            (null === (n = null == c ? void 0 : c.jsondata) ||
                            void 0 === n
                              ? void 0
                              : n.press_contact_name) || ""),
                          (d.press_contact_email =
                            (null === (r = null == c ? void 0 : c.jsondata) ||
                            void 0 === r
                              ? void 0
                              : r.press_contact_email) || "")),
                        e.bExportArtistStatement &&
                          (d.artist_statement =
                            (null === (i = null == c ? void 0 : c.jsondata) ||
                            void 0 === i
                              ? void 0
                              : i.artist_statement) || ""),
                        e.bIncludeCategories &&
                          (null === (s = null == c ? void 0 : c.jsondata) ||
                          void 0 === s
                            ? void 0
                            : s.category_tags))
                      ) {
                        let e = 0;
                        const t = Gb.Get().GetGameTags();
                        console.log(c.jsondata.category_tags);
                        for (const n in c.jsondata.category_tags) {
                          const a = t.filter((e) => e.value == n);
                          (null == a ? void 0 : a.length) > 0
                            ? (d["category_choice_" + ++e] = a[0].label)
                            : (d["category_choice_" + ++e] = n);
                        }
                        for (; e < 2; ) d["category_choice_" + ++e] = "";
                      }
                      b &&
                        e.rgAdditionalData.forEach((e, t) => {
                          const n = f[t],
                            a = n.GetListByID(e.list_id),
                            r = a.option_title
                              ? a.option_title.english
                              : n.GetName(),
                            i = (function (e, t) {
                              var n;
                              const a =
                                null === (n = e.jsondata) || void 0 === n
                                  ? void 0
                                  : n.dynamic_selection;
                              try {
                                if (a) {
                                  const e = a
                                    .filter((e) => e.section_id == t.section_id)
                                    .map((e) => e.list_selection);
                                  if (e.length > 0 && e[0]) {
                                    const n = e[0]
                                      .filter((e) => e.list_id == t.list_id)
                                      .map((e) => e.selected_item_id);
                                    if (n.length > 0) return n[0];
                                  }
                                }
                              } catch (t) {
                                console.log("error: dynamic section", a, e, t);
                              }
                              return [];
                            })(c, e);
                          if ("text_input" == n.GetInputStyle())
                            d[r] =
                              (null == i ? void 0 : i.length) > 0 ? i[0] : "";
                          else {
                            let t = "";
                            null == i ||
                              i.forEach((n) => {
                                const a = zb
                                  .Get()
                                  .GetDynamicOptionByID(
                                    Object.assign(Object.assign({}, e), {
                                      option_id: n,
                                    }),
                                  );
                                t.length > 0 && (t += "|"),
                                  (t += a.text.english);
                              }),
                              (d[r] = t);
                          }
                        }),
                        a.push(d);
                    }),
                    C_.WriteCSVToFile(a, "press_game_list.csv"),
                    m(!0);
                });
              t();
            }
            return () =>
              g.current && g.current("OptInStatsPressCSV: unmounting");
          }, [s, l, c, _]),
          i.a.createElement(
            nt.a,
            null,
            i.a.createElement(
              xe.i,
              { onEscKeypress: n },
              i.a.createElement(
                te.g,
                null,
                i.a.createElement(te.y, null, "Export Press Opt-In CSV"),
                i.a.createElement(
                  te.c,
                  null,
                  i.a.createElement(
                    te.d,
                    null,
                    i.a.createElement(
                      "div",
                      null,
                      "Extracting the list of opt-in games and producing a CSV. This requires reading in each opt-in record by partners to extract their 'Press Contact Info' if available which takes a while. Please wait while we pull that information",
                    ),
                    i.a.createElement("br", null),
                    u
                      ? i.a.createElement(
                          "div",
                          null,
                          "Completed. You can close this dialog.",
                        )
                      : i.a.createElement(tS, { tracker: p, nTotalOptIn: d }),
                  ),
                ),
                i.a.createElement(
                  te.p,
                  null,
                  i.a.createElement(te.D, {
                    onCancel: n,
                    bOKDisabled: !u,
                    strOKText: "Done",
                    onOK: n,
                  }),
                ),
              ),
            ),
          )
        );
      },
      tS = Object(m.a)((e) => {
        const { tracker: t, nTotalOptIn: n } = e;
        return i.a.createElement(ee.a, {
          string: `Progressing ${t.nLoadedOptIn} / ${n}`,
          size: "medium",
          position: "center",
        });
      });
    class nS {
      constructor() {
        (this.m_steamInterface = null),
          (this.m_mapOptInToEmailDef = new Map()),
          (this.m_mapEmailToReach = new Map()),
          (this.m_mapOptInToEmailDefLoadFailure = new Map());
      }
      BHasDefsAndStatsLoaded(e) {
        return this.m_mapOptInToEmailDef.has(e);
      }
      GetDefAndStats(e) {
        return this.m_mapOptInToEmailDef.get(e);
      }
      BHasReachEstimateLoaded(e) {
        return this.m_mapEmailToReach.has(e);
      }
      GetReachEstimate(e) {
        return this.m_mapEmailToReach.get(e);
      }
      BHasEmailDefLoadFailure(e) {
        return this.m_mapOptInToEmailDefLoadFailure.get(e);
      }
      LoadEmailDefAndStats(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(Xb);
          t.Body().set_opt_in_name(e);
          let n = 2;
          try {
            const a = yield df.GetPartnerAppOptInEmailDefAndStats(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            (n = a.GetEResult()),
              1 == n
                ? (this.m_mapOptInToEmailDef.set(
                    e,
                    (a.Body().defs() || []).map((e) => e.toObject()),
                  ),
                  this.m_mapOptInToEmailDefLoadFailure.set(e, !1))
                : (console.log(
                    "COptInEmailAdmin.LoadEmailDefs: Load Email Def request failed:",
                    n,
                    a,
                    t,
                  ),
                  this.m_mapOptInToEmailDefLoadFailure.set(e, !0));
          } catch (t) {
            const n = Object(me.a)(t);
            console.error(
              "COptInEmailAdmin.LoadEmailDefs: caught error " + n.strErrorMsg,
              n,
            ),
              this.m_mapOptInToEmailDefLoadFailure.set(e, !0);
          }
          return n;
        });
      }
      LoadEstimateEmailReach(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = xt.b.Init(ef);
          n.Body().set_email_def_id(e);
          let a = 2;
          try {
            const r = yield df.GetEstimatePartnerAppOptInEmail(
              this.m_steamInterface.GetServiceTransport(),
              n,
            );
            (a = r.GetEResult()),
              1 == a
                ? this.m_mapEmailToReach.set(
                    e,
                    (null === (t = r.Body().stats()) || void 0 === t
                      ? void 0
                      : t.toObject()) || {},
                  )
                : console.error(
                    "COptInEmailAdmin.EstimateEmailReach: Create request failed:",
                    a,
                    r,
                    n,
                  );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptInEmailAdmin.EstimateEmailReach: caught error " +
                t.strErrorMsg,
              t,
            );
          }
          return a;
        });
      }
      ComputeSettingFlags(e) {
        let t = 0;
        return (
          e.BHasSectionType(bf.k_AssetKit) && (t |= 1),
          e.BHasSectionType(bf.k_DemoPressPreview) && (t |= 2),
          e.BHasSectionType(bf.k_ScheduleLiveStream) && (t |= 4),
          e.BHasSectionType(bf.k_CancelSection) && (t |= 8),
          e.BHasSectionType(bf.k_DemoNotReady) && (t |= 16),
          e.BHasSectionType(bf.k_ReviewCategorization) && (t |= 128),
          e.BHasSectionType(bf.k_DemoReview) && (t |= 256),
          e.BHasSectionType(bf.k_PressPreviewDetails) && (t |= 512),
          e.BHasSectionType(bf.k_StatsSummary) && (t |= 1024),
          e.BHasSectionType(bf.k_SurveyButton) && (t |= 2048),
          e.BHasSectionType(bf.k_DemoLaunch) && (t |= 4096),
          e.BHasSectionType(bf.k_CallForRegistration) && (t |= 8192),
          t
        );
      }
      CreateOptInEmail(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(Hb);
          t.Body().set_opt_in_name(zb.Get().GetFullName()),
            t.Body().set_targeting_flag("" + (e.GetEmailTargeting() || 1)),
            t.Body().set_settings_flag("" + this.ComputeSettingFlags(e)),
            t.Body().set_email_templates(e.GetUniqueID()),
            t.Body().set_start_rtime(0),
            t.Body().set_end_rtime(0);
          let n = 2;
          try {
            const a = yield df.CreatePartnerAppOptInEmails(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            if (((n = a.GetEResult()), 1 == n)) {
              const t = a.Body().email_def_id();
              e.SetServerEmailDefID(t);
            } else
              console.error(
                "COptInEmailAdmin.CreateOptInEmail: Create request failed:",
                n,
                a,
                t,
              );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptInEmailAdmin.CreateOptInEmail: caught error " +
                t.strErrorMsg,
              t,
            );
          }
          return n;
        });
      }
      UpdateOptInEmailMetaData(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(qb);
          t.Body().set_email_def_id(e.GetServerEmailDefID()),
            t.Body().set_targeting_flag("" + (e.GetEmailTargeting() || 1)),
            t.Body().set_settings_flag("" + this.ComputeSettingFlags(e)),
            t.Body().set_email_templates(e.GetUniqueID()),
            t.Body().set_start_rtime(0),
            t.Body().set_end_rtime(0);
          let n = 2;
          try {
            const e = yield df.UpdatePartnerAppOptInEmails(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            (n = e.GetEResult()),
              1 != n &&
                console.error(
                  "COptInEmailAdmin.UpdateOptInEmailMetaData: Update request failed:",
                  n,
                  e,
                  t,
                );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptInEmailAdmin.UpdateOptInEmailMetaData: caught error " +
                t.strErrorMsg,
              t,
            );
          }
          return n;
        });
      }
      SendManualEmail(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(Yb);
          t.Body().set_email_def_id(e.GetServerEmailDefID());
          let n = 2,
            a = null;
          try {
            const e = yield df.SendPartnerOptInEmailAndWait(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            (n = e.GetEResult()),
              1 == n
                ? (a = e.Body().results().toObject())
                : console.error(
                    "COptInEmailAdmin.SendManualEmail: Create request failed:",
                    n,
                    e,
                    t,
                  );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptInEmailAdmin.SendManualEmail: caught error " + t.strErrorMsg,
              t,
            );
          }
          return { eResult: n, stats: a };
        });
      }
      TestFireEmailToSelf(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(nf);
          t.Body().set_email_def_id(e.GetServerEmailDefID()),
            8 == e.GetEmailTargeting()
              ? t.Body().set_partnerid(bv())
              : t.Body().set_appid(220);
          let n = 2;
          try {
            const e = yield df.TestFirePartnerAppOptInEmail(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            (n = e.GetEResult()),
              1 !== n &&
                console.error(
                  "COptInEmailAdmin.TestFireEmailToSelf: Create request failed:",
                  n,
                  e,
                  t,
                );
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "COptInEmailAdmin.TestFireEmailToSelf: caught error " +
                t.strErrorMsg,
              t,
            );
          }
          return n;
        });
      }
      static Get() {
        return (
          nS.s_Singleton ||
            ((nS.s_Singleton = new nS()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInEmailAdminStore = nS.s_Singleton),
            nS.s_Singleton.Init()),
          nS.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)("optin_webapi_token", "application_config");
        e
          ? (this.m_steamInterface = new au.a(o.c.WEBAPI_BASE_URL, e))
          : console.error("COptInEmailAdmin missing API token");
      }
    }
    Object(a.b)([L.C], nS.prototype, "m_mapOptInToEmailDef", void 0),
      Object(a.b)([L.k], nS.prototype, "LoadEmailDefAndStats", null),
      Object(a.b)([L.k], nS.prototype, "LoadEstimateEmailReach", null),
      Object(a.b)([L.k], nS.prototype, "CreateOptInEmail", null),
      Object(a.b)([L.k], nS.prototype, "UpdateOptInEmailMetaData", null),
      Object(a.b)([L.k], nS.prototype, "SendManualEmail", null),
      Object(a.b)([L.k], nS.prototype, "TestFireEmailToSelf", null),
      Object(a.b)([L.k], nS.prototype, "Init", null);
    var aS = n("xwVz"),
      rS = n.n(aS),
      iS = n("fgWs"),
      sS = n.n(iS),
      oS = n("JWkP"),
      lS = n.n(oS),
      cS = n("y1pX"),
      dS = n.n(cS),
      uS = n("dNNK");
    const mS = Object(m.a)((e) => {
        const { section: t, sectionIndex: n, emailDef: a, storeItem: r } = e;
        let s = null;
        if (t.GetType() === bf.k_Custom)
          s = i.a.createElement(pS, { section: t, emailDef: a });
        else
          s = i.a.createElement(gS, { section: t, emailDef: a, storeItem: r });
        return i.a.createElement(
          "div",
          null,
          !a.BIsReadOnly() &&
            i.a.createElement(
              "div",
              { className: dS.a.ChangeBtnCtn },
              i.a.createElement(
                te.e,
                {
                  className: zf.a.BasicButtonSize,
                  onClick: (e) =>
                    Object(ze.d)(
                      i.a.createElement(_S, {
                        emailDef: a,
                        sectionIndex: n,
                        storeItem: r,
                      }),
                      Object(v.o)(e),
                    ),
                },
                "Change Section Type",
              ),
            ),
          s,
        );
      }),
      pS = Object(m.a)((e) => {
        const { section: t } = e,
          n = Wl.Get().GetCurEditLanguage();
        return i.a.createElement(
          "div",
          { className: dS.a.SectionCtn },
          i.a.createElement(
            "div",
            { className: dS.a.SectionEntryTitle },
            "Title:",
          ),
          i.a.createElement("input", {
            type: "text",
            value: t.GetTitle(n),
            placeholder: "(required) Enter Title",
            onChange: (e) => t.SetTitle(e.currentTarget.value, n),
            maxLength: 240,
          }),
          i.a.createElement(
            "div",
            { className: dS.a.SectionEntryTitle },
            "Description:",
          ),
          i.a.createElement("textarea", {
            value: t.GetDescription(n),
            onChange: (e) => t.SetDescription(e.currentTarget.value, n),
            placeholder: "(required) Description / Body Text",
            rows: 4,
          }),
        );
      }),
      hS = (e) => {
        const { curValue: t, fnOnChange: n, emailDef: a, sectionIndex: r } = e,
          s = ff
            .filter(
              (e) =>
                e == bf.k_Custom ||
                !a.GetSections().some((t, n) => n != r && t.GetType() == e),
            )
            .map((e) => ({ label: vf(e), data: e }));
        return i.a.createElement(te.m, {
          label: "Email Section Type",
          strDropDownClassName: Fe.a.DropDownScroll,
          rgOptions: s,
          selectedOption: t,
          onChange: (e) => n(e.data),
          contextMenuPositionOptions: { bDisablePopTop: !0 },
        });
      },
      _S = (e) => {
        const { closeModal: t, sectionIndex: n, emailDef: a, storeItem: r } = e,
          s = "number" != typeof n,
          o = s ? bf.k_Custom : a.GetSection(n).GetType(),
          l = o == bf.k_Custom,
          [c, d] = i.a.useState(o);
        return i.a.createElement(
          xe.f,
          { bAllowFullSize: !0, onCancel: t, closeModal: t },
          i.a.createElement(
            te.y,
            null,
            s ? "Add New Email Section" : "Change Section Type",
          ),
          i.a.createElement(
            te.c,
            null,
            i.a.createElement(
              "div",
              null,
              i.a.createElement(
                "p",
                null,
                "An email can have any number of custom sections. Other section types can only appear once on the email. Sections are pruned from the drop down if they already are using else where in the email body.",
              ),
            ),
            l &&
              i.a.createElement(
                "div",
                null,
                "Warning: changing from a custom to another type of section will loose any previous custom text.",
              ),
            i.a.createElement(hS, {
              emailDef: a,
              sectionIndex: n,
              curValue: c,
              fnOnChange: d,
            }),
            i.a.createElement(
              "div",
              { className: uS.Preview },
              i.a.createElement("h2", null, "Section Preview"),
              i.a.createElement(gS, {
                emailDef: a,
                section: new yf({ type: c, unique_id: "dummy" }),
                storeItem: r,
              }),
            ),
          ),
          i.a.createElement(
            te.p,
            null,
            i.a.createElement(te.D, {
              onCancel: t,
              onOK: () => {
                if (s) {
                  a.AddSection(c);
                  const e = document.getElementById("end_of_email_sections");
                  e && e.scrollIntoView();
                } else a.GetSection(n).SetType(c);
                t();
              },
            }),
          ),
        );
      },
      gS = Object(m.a)((e) => {
        const { emailDef: t, section: n, storeItem: a } = e;
        let r = "",
          s = i.a.createElement("div", null);
        if (n.GetType() == bf.k_Custom) return null;
        const l =
            o.c.PARTNER_BASE_URL +
            "optin/sale/" +
            zb.Get().GetName() +
            "/" +
            a.GetAppID(),
          c = o.c.PARTNER_BASE_URL + "optin/sale/" + zb.Get().GetName(),
          d = o.c.PARTNER_BASE_URL + "taxonomy/tagwizard/" + a.GetAppID(),
          u =
            (o.c.PARTNER_BASE_URL,
            a.GetAppID(),
            o.c.PARTNER_BASE_URL + "apps/demo/" + a.GetAppID()),
          m =
            o.c.COMMUNITY_BASE_URL +
            "ogg/" +
            a.GetAppID() +
            "/partnerevents/create/",
          p = zb.Get().GetOptInDeadlineTime();
        switch (n.GetType()) {
          case bf.k_AssetKit:
            (r = Object($.f)("#OptIn_EmailSection_Asset_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.o)(
                  "#OptIn_EmailSection_Asset_Body",
                  i.a.createElement(
                    "a",
                    { href: t.GetAssetKitURL() || "" },
                    Object($.f)("#OptIn_EmailSection_Asset_Token"),
                  ),
                ),
              ));
            break;
          case bf.k_DemoPressPreview:
            (r = Object($.f)("#OptIn_EmailSection_Press_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.o)(
                  "#OptIn_EmailSection_Press_Body",
                  i.a.createElement(
                    "a",
                    { href: l },
                    Object($.f)("#OptIn_EmailSection_Press_Token"),
                  ),
                  Object($.k)(t.GetDemoPressPreviewDate() || 0),
                ),
              ));
            break;
          case bf.k_ScheduleLiveStream:
            (r = Object($.f)("#OptIn_EmailSection_schedlive_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.o)(
                  "#OptIn_EmailSection_schedlive_Body",
                  t.GetScheduleMaxItems().toLocaleString(),
                  zb.Get().GetCurEventTitle(),
                  i.a.createElement(
                    "a",
                    { href: t.GetSalePreviewPage() || "" },
                    Object($.f)("#OptIn_EmailSection_schedlive_Token"),
                  ),
                ),
                i.a.createElement("br", null),
                i.a.createElement("br", null),
                Object($.o)(
                  "#OptIn_EmailSection_schedlive_Link",
                  i.a.createElement(
                    "a",
                    { href: m, target: "_blank" },
                    Object($.f)("#OptIn_EmailSection_schedlive_Link_Token"),
                  ),
                ),
              ));
            break;
          case bf.k_CancelSection:
            (r = Object($.f)("#OptIn_EmailSection_cancel_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.f)(
                  "#OptIn_EmailSection_cancel_Body",
                  zb.Get().GetCurEventTitle(),
                  Object($.k)(t.GetCancelDate() || 0) +
                    " @ " +
                    Object(Tc.g)(t.GetCancelDate() || 0, {
                      bForce24HourClock: !1,
                    }),
                ),
              ));
            break;
          case bf.k_DemoNotReady:
            (r = Object($.f)("#OptIn_EmailSection_notreadydemo_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.f)(
                  "#OptIn_EmailSection_notreadydemo_Body",
                  Object($.k)(t.GetCancelDate() || 0),
                  Object($.g)(t.GetNextEditionDate() || 0),
                ),
              ));
            break;
          case bf.k_ReviewCategorization:
            (r = Object($.f)("#OptIn_EmailSection_reviewcategories_Title")),
              (s = i.a.createElement(
                "div",
                { className: dS.a.SectionBody },
                Object($.o)(
                  "#OptIn_EmailSection_reviewcategories_Body",
                  i.a.createElement(
                    "a",
                    { href: l + "#GameListing" },
                    Object($.f)(
                      "#OptIn_EmailSection_reviewcategories_BodyLink",
                    ),
                  ),
                ),
                i.a.createElement(
                  "ul",
                  null,
                  i.a.createElement(
                    "li",
                    null,
                    Object($.o)(
                      "#OptIn_EmailSection_reviewcategories_Li_1",
                      i.a.createElement(
                        "a",
                        { href: l },
                        Object($.f)(
                          "#OptIn_EmailSection_RegistrationForm_Token",
                        ),
                      ),
                    ),
                  ),
                  i.a.createElement(
                    "li",
                    null,
                    Object($.o)(
                      "#OptIn_EmailSection_reviewcategories_Li_2",
                      i.a.createElement(
                        "a",
                        { href: d },
                        Object($.f)("#OptIn_EmailSection_TagWizard_Token"),
                      ),
                    ),
                  ),
                  i.a.createElement(
                    "li",
                    null,
                    Object($.f)("#OptIn_EmailSection_reviewcategories_Li_3"),
                  ),
                ),
              ));
            break;
          case bf.k_DemoReview:
            (r = Object($.f)("#OptIn_EmailSection_DemoReview_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.o)(
                  "#OptIn_EmailSection_DemoReview_Body",
                  i.a.createElement(
                    "a",
                    { href: u },
                    Object($.f)("#OptIn_EmailSection_DemoReview_Token"),
                  ),
                ),
              ));
            break;
          case bf.k_PressPreviewDetails:
            (r = Object($.f)("#OptIn_EmailSection_PressPreviewDetails_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.o)(
                  "#OptIn_EmailSection_PressPreviewDetails_Body",
                  Object($.k)(t.GetPreviewDate() || 0),
                  i.a.createElement(
                    "a",
                    { target: "_blank", href: t.GetWikiDocURL() || "" },
                    Object($.f)(
                      "#OptIn_EmailSection_PressPreviewDetails_EventDoc",
                    ),
                  ),
                ),
              ));
            break;
          case bf.k_MediaUsePermission:
            (r = Object($.f)("#OptIn_EmailSection_MediaPermission_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.f)("#OptIn_EmailSection_MediaPermission_Body_1"),
                i.a.createElement("br", null),
                i.a.createElement("br", null),
                Object($.f)("#OptIn_EmailSection_MediaPermission_Body_2"),
                i.a.createElement("br", null),
                i.a.createElement("br", null),
                Object($.o)(
                  "#OptIn_EmailSection_MediaPermission_Body_3",
                  Object($.k)(t.GetPermissionDate() || 0),
                ),
                i.a.createElement("br", null),
                i.a.createElement("br", null),
                i.a.createElement("a", { href: l }, l),
              ));
            break;
          case bf.k_StatsSummary:
            (r = Object($.f)("#OptIn_EmailSection_StatsSummary_Title")),
              (s = i.a.createElement(
                "div",
                null,
                i.a.createElement(
                  "div",
                  { className: dS.a.StatCtn },
                  Object($.o)(
                    "#OptIn_EmailSection_StatsSummary_Body",
                    zb.Get().GetCurEventTitle(),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: dS.a.StatCtn },
                  i.a.createElement(
                    "div",
                    { className: dS.a.StatNumber },
                    i.a.createElement("span", null, "00,000"),
                    " new demo players",
                  ),
                  "Your game's demo was played by 00,000 new players during Steam Next Fest. Click ",
                  i.a.createElement("a", { href: "#" }, "HERE"),
                  " to see a detailed breakdown of downloads for your demo.",
                ),
                i.a.createElement(
                  "div",
                  { className: dS.a.StatCtn },
                  i.a.createElement(
                    "div",
                    { className: dS.a.StatNumber },
                    i.a.createElement("span", null, "00,000"),
                    " wishlists",
                  ),
                  "Your game was added to the wishlist of 00,000 new players during Steam Next Fest! Click ",
                  i.a.createElement("a", { href: "#" }, "HERE"),
                  " to see a detailed breakdown of wishlist activity on your game.",
                ),
                i.a.createElement(
                  "div",
                  { className: dS.a.StatCtn },
                  i.a.createElement(
                    "div",
                    { className: dS.a.StatNumber },
                    i.a.createElement("span", null, "00,000"),
                    " broadcast views",
                  ),
                  "We found 8 broadcast sessions for your game during Steam Next Fest, totalling views by 00,000 unique users. Broadcast stats are collected under each Steam account that did the broadcasting, so for now details can only be seen by the owner of the account that did the broadcasting.",
                ),
                i.a.createElement(
                  "div",
                  { className: dS.a.StatCtn },
                  i.a.createElement(
                    "div",
                    { className: dS.a.StatNumber },
                    i.a.createElement("span", null, "00,000"),
                    " store page views",
                  ),
                  "This many unique players visited your store page from the landing page of Steam Next Fest.",
                ),
                i.a.createElement(
                  "div",
                  { className: dS.a.StatCtn },
                  i.a.createElement(
                    "div",
                    { className: dS.a.StatNumber },
                    i.a.createElement("span", null, "00,000"),
                    " game impressions",
                  ),
                  "Your game capsule appeared on screen to this many unique players in Steam Next Fest.",
                ),
              ));
            break;
          case bf.k_SurveyButton:
            (r = null),
              (s = i.a.createElement(
                "div",
                null,
                "If you have a few minutes, please take this quick survey so that we may understand how you felt the event went for you and how we can improve in the future.",
                i.a.createElement(
                  "a",
                  {
                    href: t.GetSurveyLinkURL() || "",
                    className: dS.a.BigButton,
                  },
                  i.a.createElement("span", null, "Take Event Survey"),
                ),
              ));
            break;
          case bf.k_DemoLaunch:
            (r = Object($.f)("#OptIn_EmailSection_DemoRelease_Title")),
              (s = i.a.createElement(
                "div",
                null,
                Object($.o)(
                  "#OptIn_EmailSection_DemoRelease_Body",
                  i.a.createElement(
                    "a",
                    { href: u },
                    Object($.f)("#OptIn_EmailSection_DemoRelease_Token"),
                  ),
                ),
              ));
            break;
          case bf.k_EnterDiscount:
            (r = "DISCOUNT"),
              (s = i.a.createElement(
                "div",
                null,
                "If you’d like to offer a discount on your title throughout the ",
                zb.Get().GetCurEventTitle(),
                " event,  you'll need to enter your discounts before the event begins on ",
                i.a.createElement(
                  "span",
                  null,
                  " " +
                    Object($.k)(zb.Get().GetEventStartTime() || 0) +
                    " @ " +
                    Object(Tc.g)(zb.Get().GetEventStartTime() || 0, {
                      bForce24HourClock: !1,
                    }),
                ),
                ". Check your eligible games and enter your discounts ",
                i.a.createElement(
                  "a",
                  {
                    href:
                      o.c.PARTNER_BASE_URL + "promotion/discounts/dashboard/",
                  },
                  i.a.createElement("span", null, "HERE."),
                ),
                i.a.createElement("br", null),
                i.a.createElement("br", null),
                "Remember, you'll need to avoid having your game on discount within 28 days ahead or following this event if you wish to discount during this event. If you wish, you may delete conflicting custom discounts you had planned. It's up to you to choose which discount events you participate in.",
              ));
            break;
          case bf.k_EnterDiscountReminder:
            (r = "DISCOUNT"),
              (s = i.a.createElement(
                "div",
                null,
                "If you’d like to offer a discount on your title throughout the event, it’s not too late to do so. Enter your ",
                zb.Get().GetCurEventTitle(),
                " discounts before the event begins on",
                Object($.k)(zb.Get().GetEventStartTime() || 0) +
                  " @ " +
                  Object(Tc.g)(zb.Get().GetEventStartTime() || 0, {
                    bForce24HourClock: !1,
                  }),
                ". Enter the discount ",
                i.a.createElement(
                  "a",
                  {
                    href:
                      o.c.PARTNER_BASE_URL + "promotion/discounts/dashboard/",
                  },
                  i.a.createElement("span", null, "HERE"),
                ),
                ".",
              ));
            break;
          case bf.k_LearnMore:
            (r = "LEARN MORE"),
              (s = i.a.createElement(
                "div",
                null,
                "Visit our ",
                zb.Get().GetCurEventTitle(),
                " documentation ",
                i.a.createElement(
                  "a",
                  { href: t.GetWikiDocURL() || "#" },
                  "HERE",
                ),
                " for more information. Should you have any remaining questions, please reach out via ",
                i.a.createElement(
                  "a",
                  {
                    href:
                      o.c.HELP_BASE_URL +
                      "en/wizard/HelpWithPublishing?issueid=933",
                  },
                  "Steam Support",
                ),
                ".",
              ));
            break;
          case bf.k_CallForRegistration:
            (r = Object($.f)("#OptIn_EmailSection_Register_Title")),
              (s = i.a.createElement(
                i.a.Fragment,
                null,
                i.a.createElement(
                  "div",
                  { className: dS.a.SectionBody },
                  Object($.o)(
                    "#OptIn_EmailSection_Register_Body_1",
                    Object($.k)(p || 0),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: dS.a.SectionBody },
                  Object($.o)(
                    "#OptIn_EmailSection_Register_Body_2",
                    i.a.createElement("a", { href: c }, c),
                  ),
                ),
              ));
            break;
          default:
            (r = "Unknown"),
              (s = i.a.createElement(
                "div",
                null,
                "Unknown type ",
                n.GetType(),
                " @ ",
                vf(n.GetType()),
                " ",
              ));
        }
        return i.a.createElement(
          "div",
          { className: dS.a.SectionCtn },
          i.a.createElement("div", { className: dS.a.SectionTitle }, r),
          s,
        );
      });
    const bS = (e) => {
        const { emailDef: t, storeItem: n, partnerInfo: a } = e;
        switch (t.GetType()) {
          case hf.k_Invite:
          case hf.k_InviteReminder:
            return i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("a", { href: a.partner_url }, a.name),
              " is invited to participate in an upcoming Steam event!",
            );
          case hf.k_RegistrationConfirmation:
            return i.a.createElement(
              i.a.Fragment,
              null,
              "You've successfully registered ",
              i.a.createElement(
                "a",
                { href: n.GetStorePageURL() },
                n.GetName(),
              ),
              " for an upcoming Steam Event!",
            );
          case hf.k_Update:
            return i.a.createElement(
              i.a.Fragment,
              null,
              "We have a few things to share that might be helpful for ",
              i.a.createElement(
                "a",
                { href: n.GetStorePageURL() },
                n.GetName(),
              ),
              " in an upcoming Steam Event!",
            );
          case hf.k_Reminder:
            return i.a.createElement(
              i.a.Fragment,
              null,
              "This event is coming up quickly, so we wanted to check that ",
              i.a.createElement(
                "a",
                { href: n.GetStorePageURL() },
                n.GetName(),
              ),
              " is all set to participate.",
            );
          case hf.k_Starting:
            return i.a.createElement(
              i.a.Fragment,
              null,
              "This event starts soon! Here are a few final notes to prepare ",
              i.a.createElement(
                "a",
                { href: n.GetStorePageURL() },
                n.GetName(),
              ),
              ".",
            );
          case hf.k_Followup:
            return i.a.createElement(
              i.a.Fragment,
              null,
              "We are pleased to have had ",
              i.a.createElement(
                "a",
                { href: n.GetStorePageURL() },
                n.GetName(),
              ),
              " participate in a recent event!",
            );
          case hf.k_PermissionRequest:
            return i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("a", { href: a.partner_url }, a.name),
              " is in consideration to be included in official event marketing!",
            );
          default:
            return i.a.createElement(
              "div",
              null,
              "unknown type: ",
              t.GetType(),
            );
        }
      },
      fS = Object(m.a)((e) => {
        const { emailDef: t, appid: n } = e,
          [a] = Object(Wn.b)(n, { include_basic_info: !0 }),
          [r] = vv(bv());
        if (!a || !r)
          return i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            size: "medium",
            position: "center",
          });
        const s = zb.Get(),
          l = Wl.Get().GetCurEditLanguage(),
          c = t
            .GetSections()
            .map((e, n) =>
              i.a.createElement(mS, {
                key: "section" + t.GetUniqueID() + "_" + e.GetUniqueID(),
                emailDef: t,
                section: e,
                sectionIndex: n,
                storeItem: a,
              }),
            );
        return i.a.createElement(
          "div",
          { className: cS.EmailEditorContent },
          t.BIsReadOnly() && i.a.createElement("h2", null, "Read Only"),
          i.a.createElement("h1", null, "Showing Email: ", t.GetInternalName()),
          i.a.createElement(
            "div",
            { className: cS.Columns },
            i.a.createElement(
              "div",
              { className: cS.LeftCol },
              i.a.createElement(
                "div",
                { className: Object(h.a)(cS.RightAlign, cS.EmailSubjectCtn) },
                i.a.createElement(
                  "span",
                  { className: cS.EmailOptionTitle },
                  "Email Subject:",
                ),
                i.a.createElement("input", {
                  type: "text",
                  disabled: t.BIsReadOnly(),
                  value: t.GetSubject(l),
                  size: 90,
                  maxLength: 250,
                  onChange: (e) => t.SetSubject(e.currentTarget.value, l),
                }),
              ),
              i.a.createElement(
                "div",
                {
                  className: Object(h.a)(cS.EmailTemplate, cS.DevEmailTemplate),
                },
                i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      cS.CenterAlign,
                      cS.DevEmail_TopHeader,
                    ),
                  },
                  i.a.createElement(
                    "a",
                    { href: o.c.PARTNER_BASE_URL },
                    i.a.createElement("img", {
                      src: rS.a,
                      className: cS.DevEmail_TopLogo,
                    }),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: Object(h.a)(cS.DevEmail_Content) },
                  i.a.createElement(
                    "div",
                    { className: cS.DevEmail_Headline1 },
                    (function (e) {
                      switch (e.GetType()) {
                        case hf.k_Invite:
                          return "YOU'RE INVITED!";
                        case hf.k_InviteReminder:
                          return "LAST CHANCE TO REGISTER";
                        case hf.k_RegistrationConfirmation:
                          return "YOU'RE IN!";
                        case hf.k_Update:
                          return "EVENT UPDATE";
                        case hf.k_Reminder:
                          return "REMINDER!";
                        case hf.k_Starting:
                          return "GET READY!";
                        case hf.k_Followup:
                          return "THANKS FOR JOINING US!";
                        case hf.k_PermissionRequest:
                          return "WE'D LIKE YOUR PERMISSION";
                        default:
                          return "unknown type: " + e.GetType();
                      }
                    })(t),
                  ),
                  i.a.createElement(
                    "div",
                    { className: cS.DevEmail_Headline2 },
                    i.a.createElement(bS, {
                      emailDef: t,
                      storeItem: a,
                      partnerInfo: r,
                    }),
                  ),
                  i.a.createElement(
                    "div",
                    { className: cS.EventCtn },
                    i.a.createElement(
                      "div",
                      { className: cS.EventTitle },
                      s.GetCurEventTitle(),
                    ),
                    Boolean(t.GetType() != hf.k_PermissionRequest) &&
                      i.a.createElement(
                        "div",
                        { className: cS.EventDates },
                        Object($.k)(s.GetEventStartTime()),
                        " - ",
                        Object($.k)(s.GetEventEndTime()),
                      ),
                  ),
                  i.a.createElement(
                    "div",
                    { className: cS.DevEmail_Subject },
                    (function (e) {
                      switch (e) {
                        case hf.k_Invite:
                        case hf.k_InviteReminder:
                          return "Here's what you need to know and how to get registered:";
                        case hf.k_RegistrationConfirmation:
                        case hf.k_Update:
                          return "Below are some general things to keep in mind and make use of while you prepare for your participation.";
                        case hf.k_Reminder:
                          return "We're here to help connect you with everything you need to have a successful event.";
                        case hf.k_Starting:
                        case hf.k_Followup:
                        case hf.k_PermissionRequest:
                          return null;
                      }
                      return "unknown";
                    })(t.GetType()),
                  ),
                ),
                c,
                i.a.createElement("hr", { id: "end_of_email_sections" }),
                i.a.createElement(
                  "div",
                  { className: Object(h.a)(cS.DevEmail_Content) },
                  Boolean(
                    t.GetType() != hf.k_Invite &&
                      t.GetType() != hf.k_Followup &&
                      t.GetType() != hf.k_PermissionRequest,
                  ) &&
                    i.a.createElement(
                      "div",
                      { className: cS.DevEmail_Subject },
                      "To review the participation checklist, make adjustments to your registration, or cancel entirely, you can visit the  ",
                      i.a.createElement(
                        "a",
                        {
                          href:
                            o.c.PARTNER_BASE_URL +
                            "optin/" +
                            s.GetModel().pageid +
                            "/sale/" +
                            n,
                        },
                        "registration page for ",
                        a.GetName(),
                      ),
                      ".",
                    ),
                  i.a.createElement(
                    "div",
                    null,
                    i.a.createElement("b", null, "Have Questions?"),
                    i.a.createElement("br", null),
                    i.a.createElement("a", { href: "#" }, "Contact us"),
                    " and we'll get right back to you.",
                  ),
                  i.a.createElement("img", {
                    src:
                      o.c.STORE_CDN_URL +
                      "public/cdn/email/general/logo_med.png",
                    className: cS.DevEmail_SignOff_Img,
                  }),
                  i.a.createElement(
                    "div",
                    { className: cS.DevEmail_Signoff },
                    i.a.createElement("div", null, "Sincerely,"),
                    i.a.createElement("div", null, "The Steam Business Team"),
                  ),
                ),
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(cS.DevEmail_Footer_Ctn) },
                Boolean(t.GetType() != hf.k_Invite) &&
                  i.a.createElement(
                    "span",
                    { className: cS.DevEmail_Footer_Reason },
                    "You are receiving this email because you registered ",
                    a.GetName(),
                    " for the ",
                    s.GetName(),
                    " event on Steamworks.",
                  ),
                i.a.createElement(
                  "div",
                  { className: cS.DevEmail_Footer_SubSection },
                  i.a.createElement("img", {
                    src: sS.a,
                    width: 103,
                    height: 43,
                  }),
                  i.a.createElement(
                    "div",
                    null,
                    i.a.createElement(
                      "div",
                      { className: cS.DevEmail_Footer_Bold },
                      i.a.createElement(
                        "strong",
                        null,
                        "© Valve Corporation",
                        i.a.createElement("br", null),
                        "PO Box 1688 Bellevue, WA 98009",
                      ),
                    ),
                    i.a.createElement(
                      "div",
                      { className: cS.DevEmail_Footer_Regular },
                      "All rights reserved. All trademarks are property of their respective owners in the US and other countries.",
                    ),
                    i.a.createElement(
                      "div",
                      null,
                      i.a.createElement(
                        "a",
                        {
                          className: Fe.a.FlexRowContainer,
                          href:
                            (o.c.IN_CLIENT ? "steam://openurl/" : "") +
                            "https://twitter.com/steam_games",
                          target: o.c.IN_CLIENT ? void 0 : "_blank",
                        },
                        i.a.createElement("img", {
                          src: lS.a,
                          width: 33,
                          height: 28,
                        }),
                        i.a.createElement(
                          "div",
                          { className: cS.DevEmail_Follow },
                          "Follow us on Twitter",
                        ),
                      ),
                    ),
                  ),
                ),
              ),
            ),
            i.a.createElement(
              "div",
              { className: cS.RightCol },
              i.a.createElement(ES, { emailDef: t }),
              i.a.createElement(vS, { emailDef: t }),
              !t.BIsReadOnly() &&
                i.a.createElement(
                  "div",
                  { className: cS.AddSectionCtn },
                  i.a.createElement(
                    te.F,
                    {
                      className: zf.a.BasicButtonSize,
                      disabled: t.BIsReadOnly(),
                      onClick: (e) =>
                        Object(ze.d)(
                          i.a.createElement(_S, { emailDef: t, storeItem: a }),
                          Object(v.o)(e),
                        ),
                    },
                    "Add an Email Section",
                  ),
                ),
            ),
          ),
        );
      }),
      vS = Object(m.a)((e) => {
        const { emailDef: t } = e,
          n = SS(t);
        return 0 == Object.values(n).length
          ? null
          : i.a.createElement(
              "div",
              { className: cS.MetaDataCtn },
              t.BIsReadOnly() && i.a.createElement("h2", null, "Read Only"),
              i.a.createElement(
                "div",
                { className: cS.ConfTitle },
                "Email Configuration",
              ),
              i.a.createElement(
                "p",
                null,
                "The following metadata is required to render correctly",
              ),
              n.bNeedAssetKit &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(
                    "div",
                    { className: cS.MetaDataRowTitle },
                    "Asset Kit URL:",
                  ),
                  i.a.createElement("input", {
                    type: "text",
                    disabled: t.BIsReadOnly(),
                    value: t.GetAssetKitURL() || "",
                    placeholder: "https://<url to asset kit>",
                    onChange: (e) => t.SetAssetKitURL(e.currentTarget.value),
                    maxLength: 240,
                  }),
                ),
              n.bNeedDemoPressPreviewDate &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(sv, {
                    strDescription: "Press Preview Demo is Ready Date?",
                    disabled: t.BIsReadOnly(),
                    nEarliestTime: 0,
                    fnGetTimeToUpdate: () => t.GetDemoPressPreviewDate() || 0,
                    fnSetTimeToUpdate: t.SetDemoPreviewDate,
                    fnIsValidDateTime: () => !0,
                    bShowTimeZone: !0,
                  }),
                ),
              n.bNeedMaxItems &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(
                    "div",
                    { className: cS.MetaDataRowTitle },
                    "Max Events Permitted on Schedule",
                  ),
                  i.a.createElement("input", {
                    type: "number",
                    min: "1",
                    disabled: t.BIsReadOnly(),
                    onChange: (e) =>
                      t.SetScheduleMaxItems(
                        Number.parseInt(e.currentTarget.value),
                      ),
                    value: t.GetScheduleMaxItems() || 2,
                    className: cS.MaxEventCount,
                  }),
                ),
              n.bNeedSalePreview &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(
                    "div",
                    { className: cS.MetaDataRowTitle },
                    "Sale Event Preview Page (for Schedule Access):",
                  ),
                  i.a.createElement("input", {
                    type: "text",
                    disabled: t.BIsReadOnly(),
                    value: t.GetSalePreviewPage() || "",
                    placeholder: "https://<url to public store sale page>",
                    onChange: (e) => t.SetSalePreviewURL(e.currentTarget.value),
                    maxLength: 240,
                  }),
                ),
              n.bNeedNextEditionDate &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(sv, {
                    strDescription: "Festival Next Edition Date for Opt-in?",
                    disabled: t.BIsReadOnly(),
                    nEarliestTime: 0,
                    fnGetTimeToUpdate: () => t.GetNextEditionDate() || 0,
                    fnSetTimeToUpdate: t.SetNextEditionDate,
                    fnIsValidDateTime: () => !0,
                    bShowTimeZone: !0,
                  }),
                ),
              n.bNeedCancelDate &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(sv, {
                    strDescription: "Cancel Date / Opt-Out Date",
                    disabled: t.BIsReadOnly(),
                    nEarliestTime: 0,
                    fnGetTimeToUpdate: () => t.GetCancelDate() || 0,
                    fnSetTimeToUpdate: t.SetCancelDate,
                    fnIsValidDateTime: () => !0,
                    bShowTimeZone: !0,
                  }),
                ),
              n.bNeedPreviewDate &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(sv, {
                    strDescription: "Press Preview Date",
                    nEarliestTime: 0,
                    fnGetTimeToUpdate: () => t.GetPreviewDate() || 0,
                    fnSetTimeToUpdate: t.SetPreviewDate,
                    fnIsValidDateTime: () => !0,
                    bShowTimeZone: !0,
                  }),
                ),
              n.bNeedPermissionDate &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(sv, {
                    strDescription: "Permission Deadline Date",
                    nEarliestTime: 0,
                    fnGetTimeToUpdate: () => t.GetPermissionDate() || 0,
                    fnSetTimeToUpdate: t.SetPermissionDate,
                    fnIsValidDateTime: () => !0,
                    bShowTimeZone: !0,
                  }),
                ),
              n.bNeedWikiDocumentation &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(
                    "div",
                    { className: cS.MetaDataRowTitle },
                    "Event Wiki documentation:",
                  ),
                  i.a.createElement("input", {
                    type: "text",
                    disabled: t.BIsReadOnly(),
                    value: t.GetWikiDocURL() || "",
                    placeholder:
                      "https://<url to steamworks event wiki documentation>",
                    onChange: (e) => t.SetWikiDocURL(e.currentTarget.value),
                    maxLength: 240,
                  }),
                ),
              n.bNeedSurveyLink &&
                i.a.createElement(
                  "div",
                  { className: cS.MetaDataRow },
                  i.a.createElement(
                    "div",
                    { className: cS.MetaDataRowTitle },
                    "Event Survey link:",
                  ),
                  i.a.createElement("input", {
                    type: "text",
                    disabled: t.BIsReadOnly(),
                    value: t.GetSurveyLinkURL() || "",
                    placeholder: "https://<url online survey>",
                    onChange: (e) => t.SetSurveyLinkURL(e.currentTarget.value),
                    maxLength: 240,
                  }),
                ),
            );
      });
    function SS(e) {
      const t = {};
      return (
        (e.GetSections() || []).forEach((e) => {
          switch (e.GetType()) {
            case bf.k_AssetKit:
              t.bNeedAssetKit = !0;
              break;
            case bf.k_DemoPressPreview:
              t.bNeedDemoPressPreviewDate = !0;
              break;
            case bf.k_ScheduleLiveStream:
              (t.bNeedMaxItems = !0), (t.bNeedSalePreview = !0);
              break;
            case bf.k_CancelSection:
              t.bNeedCancelDate = !0;
              break;
            case bf.k_DemoNotReady:
              (t.bNeedCancelDate = !0), (t.bNeedNextEditionDate = !0);
              break;
            case bf.k_PressPreviewDetails:
              (t.bNeedPreviewDate = !0), (t.bNeedWikiDocumentation = !0);
              break;
            case bf.k_SurveyButton:
              t.bNeedSurveyLink = !0;
              break;
            case bf.k_CallForRegistration:
              break;
            case bf.k_LearnMore:
              t.bNeedWikiDocumentation = !0;
              break;
            case bf.k_MediaUsePermission:
              t.bNeedPermissionDate = !0;
          }
        }),
        t
      );
    }
    function yS(e) {
      const t = SS(e),
        n = Object.values(t).length;
      let a = 0;
      return (
        t.bNeedAssetKit && e.GetAssetKitURL() && (a += 1),
        t.bNeedDemoPressPreviewDate && e.GetDemoPressPreviewDate() && (a += 1),
        t.bNeedMaxItems && e.GetScheduleMaxItems() && (a += 1),
        t.bNeedSalePreview && e.GetSalePreviewPage() && (a += 1),
        t.bNeedNextEditionDate && e.GetNextEditionDate() && (a += 1),
        t.bNeedCancelDate && e.GetCancelDate() && (a += 1),
        t.bNeedPreviewDate && e.GetPreviewDate() && (a += 1),
        t.bNeedPermissionDate && e.GetPermissionDate() && (a += 1),
        t.bNeedWikiDocumentation && e.GetWikiDocURL() && (a += 1),
        t.bNeedSurveyLink && e.GetSurveyLinkURL() && (a += 1),
        { cNeeded: n, cCompleted: a }
      );
    }
    const ES = (e) => {
        const { emailDef: t } = e,
          n = t.BIsReadOnly(),
          a = i.a.createRef(),
          r = [
            { label: "User who Registered the App for this Opt-In", data: 1 },
            { label: "Partner who are explicitly Invited", data: 8 },
          ];
        (t.GetType() != hf.k_Invite && t.GetType() != hf.k_InviteReminder) ||
          r.push(
            {
              label: "Eligible Games that are not already opted in/out",
              data: 32,
            },
            {
              label:
                "Apps who were explicitly Invited, that have not already opted in/out",
              data: 16,
            },
          );
        return i.a.createElement(
          "div",
          null,
          t.BIsReadOnly() && i.a.createElement("h2", null, "Read Only"),
          i.a.createElement(
            "div",
            { className: cS.ConfTitle },
            "Email Targetting",
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              "p",
              null,
              "This defines both which opt-in games and who from the opt-in game teams are eligible to receive this email. We will fire an email per game that qualifies which may mean some users may receive more than one email, as they did the opt-in registration for more than one game",
            ),
          ),
          i.a.createElement(te.m, {
            label: "Who should receive this email?",
            dropDownControlRef: a,
            disabled: n,
            strDropDownClassName: Fe.a.DropDownScroll,
            rgOptions: r,
            selectedOption: t.GetEmailTargeting(),
            onChange: (e) => {
              Boolean(t.GetServerEmailDefID())
                ? Object(ze.d)(
                    i.a.createElement(xe.e, {
                      strTitle: "Update Targeting",
                      strDescription:
                        "Since this email is already staged. Updating the email targeting requires changing the email configuration. The target setting will be applied immediately. Proceed with the update?",
                      onOK: () => {
                        Object(L.G)(() => {
                          t.SetEmailTargeting(e.data),
                            nS.Get().UpdateOptInEmailMetaData(t);
                        });
                      },
                      onCancel: () => {
                        var e;
                        null === (e = null == a ? void 0 : a.current) ||
                          void 0 === e ||
                          e.SetSelectedOption(t.GetEmailTargeting());
                      },
                    }),
                    window,
                  )
                : t.SetEmailTargeting(e.data);
            },
            contextMenuPositionOptions: { bDisablePopTop: !0 },
          }),
        );
      },
      CS = (e) => {
        const { closeModal: t, emailDef: n } = e,
          [a, r] = i.a.useState(wS(n, "creating")),
          [s, o] = i.a.useState(!1),
          [l, c] = i.a.useState(!1);
        return i.a.createElement(
          xe.f,
          { bAllowFullSize: !0, onCancel: t, closeModal: t },
          i.a.createElement(te.y, null, "Create Email On Steam Server"),
          i.a.createElement(
            te.c,
            null,
            i.a.createElement(
              "div",
              null,
              "Creating the email registers it with the Steam server which is then able to fire the email.",
            ),
            Boolean(a.length > 0) &&
              i.a.createElement(
                "div",
                { className: Ol.ErrorStylesBackground },
                a.map((e) =>
                  i.a.createElement("span", { key: "" + e.length }, e),
                ),
              ),
            s &&
              i.a.createElement(ee.a, {
                size: "medium",
                position: "center",
                string: Object($.f)("#Saving"),
              }),
            l &&
              i.a.createElement(
                "div",
                null,
                i.a.createElement("br", null),
                "Create Email and Opt-In Save Complete. You can close this dialog",
              ),
          ),
          i.a.createElement(
            te.p,
            null,
            i.a.createElement(te.D, {
              onCancel: t,
              bOKDisabled: 0 != a.length || l || s,
              onOK: () => {
                o(!0),
                  nS
                    .Get()
                    .CreateOptInEmail(n)
                    .then((e) => {
                      if (1 != e) {
                        const t = new Array();
                        t.push(
                          "Error: Failed to create the email on the steam server: Eresult: " +
                            e,
                        ),
                          r(t);
                      } else {
                        const e = F.a.CancelToken.source();
                        zb.Get()
                          .Save(e.token)
                          .then((e) => {
                            if (e) {
                              const t = new Array();
                              t.push(
                                "NOTE: Email was created on the Server; saving the opt-in metadata failed. Please save again immediately or we will require to manually update the email_def_id.",
                              ),
                                t.push(e),
                                r(t);
                            } else
                              nS
                                .Get()
                                .LoadEmailDefAndStats(zb.Get().GetFullName()),
                                c(!0);
                          });
                      }
                    })
                    .finally(() => o(!1));
              },
              strCancelText: l ? "OK" : void 0,
            }),
          ),
        );
      };
    function wS(e, t) {
      var n, a;
      const r = new Array();
      zb.Get().BIsDirty() &&
        r.push("Error: Must save opt-in before " + t + " email"),
        Gb.Get().BHasUnpublishedChagnes(zb.Get().GetFullName()) &&
          r.push(
            "Error: Opt-in has unpublished changes. Go publish and reload the email editor afterwards to reflect the publishing state",
          );
      const i = yS(e);
      return (
        i.cCompleted != i.cNeeded &&
          r.push(
            "Error: Not all metadata for the email is provided for the non-custom email sections",
          ),
        0 ==
          (null === (n = zb.Get().GetEventTitle(0)) || void 0 === n
            ? void 0
            : n.trim().length) &&
          r.push(
            "Error: Requires at least an English Event Title as it will be prominently displayed in the email",
          ),
        (!zb.Get().GetEventStartTime() ||
          zb.Get().GetEventStartTime() > zb.Get().GetEventEndTime()) &&
          r.push(
            "Error: Event needs an event start time set and it must be less than the end time.",
          ),
        zb.Get().GetEventEndTime() ||
          r.push("Error: Event needs an event end time to be set."),
        0 ==
          (null === (a = e.GetSubject(0)) || void 0 === a
            ? void 0
            : a.trim().length) &&
          r.push("Error: Email requires a subject at least in English."),
        r
      );
    }
    var BS = n("PHMo");
    const OS = (e) => {
      const { closeModal: t, emailDef: n } = e,
        [a, r] = i.a.useState(
          (function (e) {
            return wS(e, "sending");
          })(n),
        ),
        [s, o] = i.a.useState(!1),
        [l, c] = i.a.useState(void 0);
      return i.a.createElement(
        xe.f,
        { bAllowFullSize: !0, onCancel: t, closeModal: t },
        i.a.createElement(
          te.y,
          null,
          Boolean(l) ? "Send Complete" : "Send Manual OptIn Email Now?",
        ),
        i.a.createElement(
          te.c,
          null,
          i.a.createElement(
            "div",
            null,
            "With a saved and published OptIn state, we can manually fire the email to the recipients. Once you click send, it may take a little while to process, so be patient.",
          ),
          Boolean(a.length > 0) &&
            i.a.createElement(
              "div",
              { className: Ol.ErrorStylesBackground },
              a.map((e) =>
                i.a.createElement("span", { key: "" + e.length }, e),
              ),
            ),
          s &&
            i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Sending"),
            }),
          Boolean(l) &&
            i.a.createElement(
              "div",
              null,
              i.a.createElement("br", null),
              "Send Completed. You can close this dialog",
              i.a.createElement("br", null),
              i.a.createElement("br", null),
              i.a.createElement(
                "div",
                null,
                "Accounts Examined: ",
                (null == l ? void 0 : l.accounts_examined) || 0,
              ),
              i.a.createElement(
                "div",
                null,
                "Emails Sent: ",
                (null == l ? void 0 : l.accounts_emailed) || 0,
              ),
              i.a.createElement(
                "div",
                null,
                "Why is email sent higher than account examined?  Some users may be associated with more than one app and will receive more than one email",
              ),
              i.a.createElement(
                "div",
                null,
                "Emails Skipped (user opted out): ",
                (null == l ? void 0 : l.accounts_not_emailed_opted_out) || 0,
              ),
              i.a.createElement(
                "div",
                null,
                "Emails Failed to Send: ",
                (null == l ? void 0 : l.accounts_email_failed) || 0,
              ),
            ),
        ),
        i.a.createElement(
          te.p,
          null,
          i.a.createElement(te.D, {
            onCancel: t,
            bOKDisabled: 0 != a.length || Boolean(l) || s,
            onOK: () => {
              o(!0),
                nS
                  .Get()
                  .SendManualEmail(n)
                  .then((e) => {
                    if (1 != e.eResult) {
                      const t = new Array();
                      t.push(
                        "Send Error: Failed to send the email from the Steam server: Eresult: " +
                          e.eResult,
                      ),
                        r(t);
                    } else
                      nS.Get().LoadEmailDefAndStats(zb.Get().GetFullName()),
                        c(e.stats || {});
                  })
                  .finally(() => o(!1));
            },
            strOKText: "Send Now",
            strCancelText: Boolean(l) ? "OK" : void 0,
          }),
        ),
      );
    };
    const DS = (e) => {
      const { closeModal: t, emailDef: n } = e,
        [a, r] = i.a.useState(
          (function (e) {
            return wS(e, "testing");
          })(n),
        ),
        [s, o] = i.a.useState(!1),
        [l, c] = i.a.useState(!1);
      return i.a.createElement(
        xe.f,
        { bAllowFullSize: !0, onCancel: t, closeModal: t },
        i.a.createElement(
          te.y,
          null,
          l ? "Test Fire Complete" : "Test Email Fire to yourself?",
        ),
        i.a.createElement(
          te.c,
          null,
          i.a.createElement(
            "div",
            null,
            "With a saved and published OptIn state, we can manually test fire this to myself, as verification of the final emails look and feel and content.\tOnce you click send, it may take a little while to process, so be patient.",
          ),
          Boolean(a.length > 0) &&
            i.a.createElement(
              "div",
              { className: Ol.ErrorStylesBackground },
              a.map((e) =>
                i.a.createElement("span", { key: "" + e.length }, e),
              ),
            ),
          s &&
            i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Sending"),
            }),
          l &&
            i.a.createElement(
              "div",
              null,
              i.a.createElement("br", null),
              "Test Email Completed. Check your inbox. You can close this dialog",
              i.a.createElement("br", null),
            ),
        ),
        i.a.createElement(
          te.p,
          null,
          i.a.createElement(te.D, {
            onCancel: t,
            bOKDisabled: 0 != a.length || l || s,
            onOK: () => {
              o(!0),
                nS
                  .Get()
                  .TestFireEmailToSelf(n)
                  .then((e) => {
                    if (1 != e) {
                      const t = new Array();
                      t.push(
                        "Send Error: Failed to test the email from the Steam server: Eresult: " +
                          e,
                      ),
                        r(t);
                    } else c(!0);
                  })
                  .finally(() => o(!1));
            },
            strOKText: "Test Email Now",
            strCancelText: Boolean(l) ? "OK" : void 0,
          }),
        ),
      );
    };
    const IS = Object(fa.k)(
        Object(m.a)((e) => {
          const t = zb.Get(),
            n = t.GetFullName(),
            [a, s] = (function (e) {
              const [t, n] = i.a.useState(!nS.Get().BHasDefsAndStatsLoaded(e));
              return (
                Object(r.useEffect)(() => {
                  nS.Get().BHasDefsAndStatsLoaded(e)
                    ? n(!1)
                    : nS
                        .Get()
                        .LoadEmailDefAndStats(e)
                        .finally(() => n(!1));
                }, [e]),
                [t, nS.Get().GetDefAndStats(e)]
              );
            })(n);
          Object(r.useEffect)(
            () => (
              NS.Get().SetSelectionFromQueryParams(e.history),
              () => NS.Get().SetSelection(void 0, void 0, e.history)
            ),
            [n, e.history],
          );
          const o = new Map();
          let l = null;
          if (a)
            return i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Loading"),
            });
          s
            ? s.forEach((e) => o.set(e.email_def_id, e))
            : (l = t.BIsOptInEnabled()
                ? i.a.createElement(
                    "div",
                    { className: Ol.WarningStylesWithIcon },
                    "Warning: We failed to load Email Definitions and Stats from the server. This means we cannot determine which emalis have already been sent and thus we cannot fire an email in this state. However emails can be created, edited and localized.",
                  )
                : i.a.createElement(
                    "div",
                    { className: Ol.WarningStylesWithIcon },
                    "Opt-in isn't enabled. You can create, edit and localized emalis. You canont stage or send emails on an inactive opt-in.",
                  ));
          const c = new Array(),
            d = new Array(),
            u = new Array();
          let m = null;
          return (
            (t.GetEmailDefinitions() || []).forEach((t) => {
              const n = t === NS.Get().GetSelection();
              if (t.BIsDraftEmail())
                u.push(
                  i.a.createElement(
                    MS,
                    {
                      key: "draft" + t.GetUniqueID(),
                      emailEditModel: t,
                      bSelected: n,
                      history: e.history,
                    },
                    i.a.createElement(jS, { emailEditModel: t }),
                  ),
                );
              else {
                const a = t.GetServerEmailDefID(),
                  r = o.get(a);
                r
                  ? r.stats && r.stats.completed
                    ? c.push(
                        i.a.createElement(
                          MS,
                          {
                            key: "sent" + t.GetUniqueID(),
                            emailEditModel: t,
                            bSelected: n,
                            serverDef: r,
                            history: e.history,
                          },
                          i.a.createElement(AS, {
                            emailEditModel: t,
                            serverDef: r,
                          }),
                        ),
                      )
                    : d.push(
                        i.a.createElement(
                          MS,
                          {
                            key: "staged" + t.GetUniqueID(),
                            emailEditModel: t,
                            bSelected: n,
                            serverDef: r,
                            history: e.history,
                          },
                          i.a.createElement(kS, {
                            emailEditModel: t,
                            serverDef: r,
                          }),
                        ),
                      )
                  : (m || console.log(o), (m = t));
              }
            }),
            m
              ? i.a.createElement(
                  "div",
                  null,
                  "Error: Server has a different mapping for stage/sent email: ",
                  m.GetServerEmailDefID(),
                  " - ",
                  m.GetUniqueID(),
                  " - ",
                  typeof m.GetServerEmailDefID(),
                  ". Reach out to steam-events to investigate",
                )
              : i.a.createElement(
                  "div",
                  null,
                  l,
                  i.a.createElement("h1", null, "Email Dashboard"),
                  i.a.createElement(
                    "div",
                    null,
                    "This tool lets you create, send or schedule to send one or more emails to users who have opted-in to this specific event. This is useful for setting up reminders to take action or links to help them fully participate in an event.",
                  ),
                  c.length > 0 &&
                    i.a.createElement(
                      "div",
                      null,
                      i.a.createElement("h2", null, "Sent Emails"),
                      i.a.createElement(
                        "div",
                        { className: BS.EmailsCtn },
                        c.length > 0
                          ? c
                          : i.a.createElement("span", null, "No sent email"),
                      ),
                    ),
                  d.length > 0 &&
                    i.a.createElement(
                      "div",
                      null,
                      i.a.createElement("h2", null, "Staged/Scheduled Emails"),
                      i.a.createElement(
                        "div",
                        { className: BS.EmailsCtn },
                        d.length > 0
                          ? d
                          : i.a.createElement("span", null, "No staged Emails"),
                      ),
                    ),
                  i.a.createElement(
                    "div",
                    { className: BS.EmailTypesCtn },
                    i.a.createElement("h2", null, "Staged Emails"),
                    i.a.createElement(
                      "div",
                      { className: BS.EmailsCtn },
                      Boolean(u.length > 0)
                        ? u
                        : i.a.createElement("div", null, "No Drafts"),
                    ),
                    i.a.createElement(
                      te.e,
                      {
                        className: zf.a.BasicButtonSize,
                        onClick: (t) =>
                          Object(ze.d)(
                            i.a.createElement(TS, { history: e.history }),
                            Object(v.o)(t),
                          ),
                      },
                      "Create New Email Draft",
                    ),
                  ),
                  i.a.createElement("hr", null),
                  Boolean(NS.Get().BHasSelection())
                    ? i.a.createElement(fS, {
                        emailDef: NS.Get().GetSelection(),
                        appid: 220,
                      })
                    : i.a.createElement(
                        "div",
                        null,
                        "No email selected for edit/viewing. Create or select an existing email",
                      ),
                )
          );
        }),
      ),
      TS = (e) => {
        const { closeModal: t } = e,
          [n, a] = i.a.useState(""),
          [r, s] = i.a.useState(hf.k_RegistrationConfirmation);
        return i.a.createElement(
          xe.f,
          { bAllowFullSize: !0, onCancel: t, closeModal: t },
          i.a.createElement(te.y, null, "Create New Email Draft"),
          i.a.createElement(
            te.c,
            null,
            i.a.createElement(
              "div",
              null,
              "Enter an internal name for the email. This is only for us to see and differentiate emails.",
            ),
            i.a.createElement("input", {
              type: "text",
              value: n,
              placeholder: "Enter Internal Name",
              onFocus: (e) => e.target.select(),
              onChange: (e) => a(e.currentTarget.value),
              maxLength: 240,
            }),
            i.a.createElement(RS, { curValue: r, fnOnChange: s }),
          ),
          i.a.createElement(
            te.p,
            null,
            i.a.createElement(te.D, {
              bOKDisabled: 0 == n.trim().length,
              onCancel: t,
              onOK: () => {
                const a = {
                    unique_id: PS(),
                    type: r,
                    internal_name: n,
                    sections: [],
                  },
                  i = zb.Get().AddEmailDraft(a);
                NS.Get().SetSelection(i, void 0, e.history), t();
              },
            }),
          ),
        );
      },
      RS = (e) => {
        const { curValue: t, fnOnChange: n } = e,
          a = _f.map((e) => ({ label: gf(e), data: e }));
        return i.a.createElement(te.m, {
          label: "Email Type",
          strDropDownClassName: Fe.a.DropDownScroll,
          rgOptions: a,
          selectedOption: t,
          onChange: (e) => n(e.data),
          contextMenuPositionOptions: { bDisablePopTop: !0 },
        });
      },
      jS = (e) => {
        const { emailEditModel: t } = e,
          n = zb.Get();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "div",
            { className: BS.EmailTitle },
            t.GetInternalName(),
          ),
          i.a.createElement("div", null, "Type: ", gf(t.GetType())),
          i.a.createElement(
            "div",
            null,
            "Sections: ",
            t.GetNumberSections().toLocaleString(),
          ),
          i.a.createElement(
            "div",
            { className: BS.EmailStatusTodo },
            "TODO: Show Targeting ",
            t.GetEmailTargeting(),
          ),
          i.a.createElement(
            te.e,
            {
              className: zf.a.BasicButtonSize,
              disabled: nS.Get().BHasEmailDefLoadFailure(n.GetFullName()),
              onClick: (e) =>
                Object(ze.d)(
                  i.a.createElement(CS, { emailDef: t }),
                  Object(v.o)(e),
                ),
            },
            "Stage Email For Sending",
          ),
        );
      },
      AS = (e) => {
        var t, n, a, s;
        const { emailEditModel: o, serverDef: l } = e;
        return (
          Object(r.useEffect)(() => {
            o.SetReadOnly(!0);
          }, [o]),
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "div",
              { className: BS.EmailTitle },
              o.GetInternalName(),
            ),
            i.a.createElement(
              "div",
              { className: BS.EmailType },
              "Type: ",
              gf(o.GetType()),
            ),
            i.a.createElement(
              Qe.a,
              {
                toolTipContent:
                  "This is the number of unique accounts encountered; this can be less than email to send/sent as an account registering multiple opt-ins, will get separate emails for each app opted in.",
              },
              i.a.createElement(
                "div",
                { className: Fe.a.FlexRowWrapSpaceBetweenContainer },
                "User Accounts Examined (?): ",
                i.a.createElement(
                  "span",
                  null,
                  (null === (t = null == l ? void 0 : l.stats) || void 0 === t
                    ? void 0
                    : t.accounts_examined) || 0,
                ),
              ),
            ),
            i.a.createElement(
              Qe.a,
              {
                toolTipContent:
                  "Email sent can be higher than account examined if a user registered more than one app",
              },
              i.a.createElement(
                "div",
                { className: Fe.a.FlexRowWrapSpaceBetweenContainer },
                "Emails Sent: ",
                i.a.createElement(
                  "span",
                  null,
                  (null === (n = null == l ? void 0 : l.stats) || void 0 === n
                    ? void 0
                    : n.accounts_emailed) || 0,
                ),
              ),
            ),
            i.a.createElement(
              "div",
              { className: Fe.a.FlexRowWrapSpaceBetweenContainer },
              "Emails Skipped (user opted out): ",
              i.a.createElement(
                "span",
                null,
                (null === (a = null == l ? void 0 : l.stats) || void 0 === a
                  ? void 0
                  : a.accounts_not_emailed_opted_out) || 0,
              ),
            ),
            i.a.createElement(
              "div",
              { className: Fe.a.FlexRowWrapSpaceBetweenContainer },
              "Emails Failed to Send: ",
              i.a.createElement(
                "span",
                null,
                (null === (s = null == l ? void 0 : l.stats) || void 0 === s
                  ? void 0
                  : s.accounts_email_failed) || 0,
              ),
            ),
            i.a.createElement(
              te.e,
              {
                className: Object(h.a)(zf.a.BasicButtonSize, BS.CloneBtn),
                onClick: () => LS(o),
              },
              "Clone Email",
            ),
          )
        );
      },
      kS = (e) => {
        const { emailEditModel: t, serverDef: n } = e,
          [a, s] = (function (e) {
            const [t, n] = i.a.useState(!nS.Get().BHasReachEstimateLoaded(e));
            return (
              Object(r.useEffect)(() => {
                nS.Get().BHasReachEstimateLoaded(e)
                  ? n(!1)
                  : nS
                      .Get()
                      .LoadEstimateEmailReach(e)
                      .finally(() => n(!1));
              }, [e]),
              [t, nS.Get().GetReachEstimate(e)]
            );
          })(n.email_def_id);
        if (a)
          return i.a.createElement(ee.a, {
            size: "small",
            string: Object($.f)("#Loading"),
          });
        let l = o.c.STORE_BASE_URL + "email/PartnerAppOptIn/?";
        return (
          t.GetType() == hf.k_Invite
            ? (l += "partner_name=Valve%20Games&")
            : (l += "appid=220&"),
          (l += "optouttoken=aa&settingflag=0"),
          (l += "&optinname=" + zb.Get().GetFullName()),
          (l += "&emailtemplateid=" + t.GetUniqueID()),
          (l += "&force_text_view=0"),
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "div",
              { className: BS.EmailTitle },
              t.GetInternalName(),
            ),
            i.a.createElement(
              "div",
              { className: BS.EmailType },
              "Type: ",
              gf(t.GetType()),
            ),
            i.a.createElement(
              "div",
              null,
              n.start_rtime ? Object($.k)(n.start_rtime) : "Manual Email",
              n.start_rtime
                ? Object(Tc.g)(n.start_rtime, { bForce24HourClock: !1 })
                : "",
            ),
            i.a.createElement(
              "div",
              { className: Fe.a.FlexRowWrapSpaceBetweenContainer },
              "Estimated Email to Send: ",
              i.a.createElement(
                "span",
                null,
                s ? s.accounts_emailed : "error loading estimate",
              ),
            ),
            i.a.createElement(
              "div",
              { className: Fe.a.FlexRowWrapSpaceBetweenContainer },
              "Estimated Emails to Drop (user opt out): ",
              i.a.createElement(
                "span",
                null,
                s ? s.accounts_not_emailed_opted_out : "error loading estimate",
              ),
            ),
            i.a.createElement(
              te.e,
              {
                className: zf.a.BasicButtonSize,
                onClick: (e) =>
                  Object(ze.d)(
                    i.a.createElement(OS, { emailDef: t }),
                    Object(v.o)(e),
                  ),
              },
              "Send ACTUAL Email Now",
            ),
            i.a.createElement("br", null),
            "Preview options:",
            i.a.createElement(
              te.e,
              {
                className: zf.a.BasicButtonSize,
                onClick: (e) =>
                  Object(ze.d)(
                    i.a.createElement(DS, { emailDef: t }),
                    Object(v.o)(e),
                  ),
              },
              "Test Email fired To Myself",
            ),
            i.a.createElement(
              te.e,
              {
                className: zf.a.BasicButtonSize,
                onClick: (e) => Object(E.e)(e, l),
              },
              "Web Preview Email",
            ),
            i.a.createElement(
              te.e,
              { className: zf.a.BasicButtonSize, onClick: () => LS(t) },
              "Clone Email",
            ),
          )
        );
      },
      MS = Object(m.a)((e) => {
        const { emailEditModel: t, bSelected: n, serverDef: a } = e;
        return i.a.createElement(
          "div",
          {
            onClick: () => NS.Get().SetSelection(t, a, e.history),
            className: Object(h.a)({
              [BS.TileContainer]: !0,
              [BS.Selected]: n,
            }),
          },
          e.children,
        );
      });
    function PS() {
      const e = zb.Get();
      let t = Math.floor(1 + 1e5 * Math.random());
      for (; e.GetEmailDefinitionByID(mf + t); )
        t = Math.floor(1 + 1e5 * Math.random());
      return mf + t;
    }
    function LS(e) {
      const t = Object.assign(Object.assign({}, e.GetModel()), {
        unique_id: PS(),
        email_def_id: void 0,
        internal_name: "Clone Of: " + e.GetInternalName(),
        sections: e.GetSections().map((e) => Object.assign({}, e.GetModel())),
      });
      zb.Get().AddEmailDraft(t);
    }
    const GS = "edit_email";
    class NS {
      constructor() {
        this.m_curSelection = void 0;
      }
      SetSelectionFromQueryParams(e) {
        const t = Dr(e, GS);
        (null == t ? void 0 : t.trim().length) > 0 &&
          zb
            .Get()
            .GetEmailDefinitions()
            .forEach((e) => {
              e.GetUniqueID() === t &&
                this.m_curSelection !== e &&
                (this.m_curSelection = e);
            });
      }
      BHasSelection() {
        return Boolean(this.m_curSelection);
      }
      GetSelection() {
        return this.m_curSelection;
      }
      SetSelection(e, t, n) {
        var a;
        e != this.m_curSelection &&
          ((this.m_curSelection = e),
          e &&
            t &&
            (null === (a = null == t ? void 0 : t.stats) || void 0 === a
              ? void 0
              : a.completed) &&
            e.SetReadOnly(!0),
          Tr(n, GS, null == e ? void 0 : e.GetUniqueID()));
      }
      static Get() {
        return NS.s_Singleton || (NS.s_Singleton = new NS()), NS.s_Singleton;
      }
    }
    Object(a.b)([L.C], NS.prototype, "m_curSelection", void 0);
    n("vBpD");
    function FS(e) {
      return i.a.createElement(
        "div",
        {
          className: Fe.a.EditPreviewButton,
          onClick: (e) => {
            Object(ze.d)(i.a.createElement(xS, null), Object(v.o)(e));
          },
        },
        "Export Localization",
      );
    }
    function xS(e) {
      var t;
      const { closeModal: n } = e,
        a = zb.Get().GetModel(),
        [r, s] = i.a.useState(!0),
        [o, l] = i.a.useState(new Array());
      return i.a.createElement(
        xe.e,
        {
          strTitle: "Export Localizations",
          bAlertDialog: !0,
          onCancel: n,
          closeModal: n,
        },
        i.a.createElement(
          te.d,
          null,
          i.a.createElement(
            "p",
            null,
            "Choose sections of the opt-in to export for localization",
          ),
          i.a.createElement(te.f, {
            label: "Export Event Body",
            onChange: s,
            checked: r,
          }),
          Boolean(
            (null === (t = a.emails) || void 0 === t ? void 0 : t.length) > 0,
          ) &&
            i.a.createElement(
              "div",
              null,
              i.a.createElement("p", null, "Choose from the emails to export:"),
              a.emails.map((e) =>
                i.a.createElement(te.f, {
                  label: e.internal_name + " (" + e.unique_id + ")",
                  key: "ckhbox" + e.unique_id,
                  onChange: (t) => {
                    const n = JSON.parse(JSON.stringify(o));
                    t
                      ? n.push(e.unique_id)
                      : n.splice(n.indexOf(e.unique_id), 1),
                      l(n);
                  },
                  checked: o.indexOf(e.unique_id) >= 0,
                }),
              ),
            ),
        ),
        i.a.createElement(
          te.p,
          null,
          i.a.createElement(D_, {
            fnGetLocData: () =>
              (function (e, t, n) {
                var a;
                let r = new w_();
                console.log("test", t, n);
                for (let i = 0; i < 30; ++i)
                  t && sy(e, r, i),
                    null === (a = e.emails) ||
                      void 0 === a ||
                      a
                        .filter((e) => n.indexOf(e.unique_id) >= 0)
                        .forEach((e) => iy(e, r, i));
                return r;
              })(a, r, o),
            bShowXML: !0,
            bShowCSV: !0,
            strFileNamePrefix: "optin",
            lang: Wl.Get().GetCurEditLanguage(),
          }),
        ),
      );
    }
    function zS(e) {
      const t = zb.Get();
      return i.a.createElement(I_, {
        fnOnImportLocData: (e, n) => {
          let a = (function (e, t, n) {
            let a = new Array();
            const r = t.GetSortedTokenList(),
              i = !0;
            return (
              Object(L.G)(() => {
                n.forEach((n) => {
                  let s = !1,
                    o = Object(le.d)(n);
                  r.forEach((r) => {
                    const l = t.GetLocalization(r, n) || "";
                    if (
                      (r === US &&
                        (l ||
                          (e.event_title[o] && e.event_title[o].length > 0)) &&
                        (e.event_title || (e.event_title = {}),
                        e.event_title[o] != l &&
                          ((e.event_title[o] = l), (s = !0))),
                      r === WS &&
                        (l ||
                          (e.description[o] && e.description[o].length > 0)) &&
                        (e.description || (e.description = {}),
                        e.description[o] != l &&
                          ((e.description[o] = l), (s = !0))),
                      r === HS &&
                        (l || (e.help_text[o] && e.help_text[o].length > 0)) &&
                        (e.help_text || (e.help_text = {}),
                        e.help_text[o] != l &&
                          ((e.help_text[o] = l), (s = !0))),
                      r === KS &&
                        (l ||
                          (e.special_event_name[o] &&
                            e.special_event_name[o].length > 0)) &&
                        (e.special_event_name || (e.special_event_name = {}),
                        e.special_event_name[o] != l &&
                          ((e.special_event_name[o] = l), (s = !0))),
                      r === QS &&
                        (l ||
                          (e.special_event_description[o] &&
                            e.special_event_description[o].length > 0)) &&
                        (e.special_event_description ||
                          (e.special_event_description = {}),
                        e.special_event_description[o] != l &&
                          ((e.special_event_description[o] = l), (s = !0))),
                      r === VS &&
                        (l ||
                          (e.artist_statement &&
                            e.artist_statement.description &&
                            e.artist_statement.description[o] &&
                            e.artist_statement.description[o].length > 0)) &&
                        (e.artist_statement
                          ? e.artist_statement.description ||
                            (e.artist_statement.description = {})
                          : (e.artist_statement = { description: {} }),
                        e.artist_statement.description[o] != l &&
                          ((e.artist_statement.description[o] = l), (s = !0))),
                      r === qS &&
                        (l ||
                          (e.build_store_page &&
                            e.build_store_page.description &&
                            e.build_store_page.description[o] &&
                            e.build_store_page.description[o].length > 0)) &&
                        (e.build_store_page
                          ? e.build_store_page.description ||
                            (e.build_store_page.description = {})
                          : (e.build_store_page = { description: {} }),
                        e.build_store_page.description[o] != l &&
                          ((e.build_store_page.description[o] = l), (s = !0))),
                      r.startsWith(YS))
                    ) {
                      let t = !1;
                      if (
                        (e.dynamic_sections || (e.dynamic_sections = []),
                        e.dynamic_sections.forEach((e) => {
                          r === ZS + e.unique_id &&
                            ((l ||
                              (e.name && e.name[o] && e.name[o].length > 0)) &&
                              (e.name || (e.name = {}),
                              e.name[o] != l && ((e.name[o] = l), (s = !0))),
                            (t = !0)),
                            r === JS + e.unique_id &&
                              ((l ||
                                (e.description &&
                                  e.description[o] &&
                                  e.description[o].length > 0)) &&
                                (e.description || (e.description = {}),
                                e.description[o] != l &&
                                  ((e.description[o] = l), (s = !0))),
                              (t = !0)),
                            e.lists
                              ? e.lists.forEach((n) => {
                                  r == XS + e.unique_id + n.unique_id &&
                                    ((l ||
                                      (n.option_title &&
                                        n.option_title[o] &&
                                        n.option_title[o].length > 0)) &&
                                      (n.option_title || (n.option_title = {}),
                                      n.option_title[o] != l &&
                                        ((n.option_title[o] = l), (s = !0))),
                                    (t = !0)),
                                    n.options
                                      ? n.options.forEach((a) => {
                                          r ==
                                            $S +
                                              e.unique_id +
                                              n.unique_id +
                                              a.unique_id &&
                                            ((l ||
                                              (a.text &&
                                                a.text[o] &&
                                                a.text[o].length > 0)) &&
                                              (a.text || (a.text = {}),
                                              a.text[o] != l &&
                                                ((a.text[o] = l), (s = !0))),
                                            (t = !0)),
                                            r ==
                                              ey +
                                                e.unique_id +
                                                n.unique_id +
                                                a.unique_id &&
                                              ((l ||
                                                (a.tooltip &&
                                                  a.tooltip[o] &&
                                                  a.tooltip[o].length > 0)) &&
                                                (a.tooltip || (a.tooltip = {}),
                                                a.tooltip[o] != l &&
                                                  ((a.tooltip[o] = l),
                                                  (s = !0))),
                                              (t = !0));
                                        })
                                      : (n.options = []);
                                })
                              : (e.lists = []);
                        }),
                        !t && i)
                      ) {
                        const n = r.startsWith(ZS),
                          a = r.startsWith(JS),
                          i = r.startsWith($S),
                          s = r.startsWith(ey);
                        if (n || a) {
                          let a = n ? r.substr(ZS.length) : r.substr(JS.length),
                            i = zb.CreateDefaultDynamicSection();
                          (i.lists = []),
                            (i.unique_id = a),
                            n
                              ? ((i.name = {}), (i.name[o] = l))
                              : ((i.description = {}), (i.description[o] = l)),
                            (t = !0),
                            e.dynamic_sections.push(i);
                        } else if (r.startsWith(XS)) {
                          let n = r.substr(XS.length),
                            a = n.indexOf(Fb),
                            i = n.substr(0, a),
                            s = n.substr(a),
                            c = e.dynamic_sections.findIndex(
                              (e) => e.unique_id == i,
                            );
                          if (-1 != c) {
                            let n = {
                              unique_id: s,
                              options: [],
                              option_title: {},
                            };
                            (n.option_title[o] = l),
                              e.dynamic_sections[c].lists.push(n),
                              (t = !0);
                          } else
                            console.log(
                              "Localization: Add missing: Could not find section: " +
                                i,
                            );
                        } else if (i || s) {
                          let n = i ? r.substr($S.length) : r.substr(ey.length),
                            a = n.indexOf(Fb),
                            s = n.substr(0, a),
                            c = n.substr(a),
                            d = c.indexOf(xb),
                            u = c.substr(0, d),
                            m = c.substr(d),
                            p = e.dynamic_sections.findIndex(
                              (e) => e.unique_id == s,
                            );
                          if (-1 != p) {
                            let n = e.dynamic_sections[p].lists.findIndex(
                              (e) => e.unique_id == u,
                            );
                            if (-1 != n) {
                              let a = { unique_id: m, text: {} };
                              i
                                ? (a.text[o] = l)
                                : ((a.tooltip = {}), (a.tooltip[o] = l)),
                                e.dynamic_sections[p].lists[n].options.push(a),
                                (t = !0);
                            } else
                              console.log(
                                "Localization: Add missing: Could not find list under section " +
                                  s +
                                  ":" +
                                  u,
                                m,
                              );
                          } else
                            console.log(
                              "Localization: Add missing: Could not find section: " +
                                s,
                              u,
                              m,
                            );
                        }
                      }
                    }
                    r.startsWith(ty) &&
                      (e.emails || (e.emails = []),
                      e.emails.forEach((e) => {
                        r === ny + e.unique_id &&
                          (l ||
                            (e.subject &&
                              e.subject[o] &&
                              e.subject[o].length > 0)) &&
                          (e.subject || (e.subject = {}),
                          e.subject[o] != l && ((e.subject[o] = l), (s = !0))),
                          (r.startsWith(ay + e.unique_id) ||
                            r.startsWith(ry + e.unique_id)) &&
                            e.sections.forEach((t) => {
                              t.type == bf.k_Custom &&
                                (r === ay + e.unique_id + t.unique_id &&
                                  (l ||
                                    (t.title &&
                                      t.title[o] &&
                                      t.title[o].length > 0)) &&
                                  (t.title || (t.title = {}),
                                  t.title[o] != l &&
                                    ((t.title[o] = l), (s = !0))),
                                r === ry + e.unique_id + t.unique_id &&
                                  (l ||
                                    (t.description &&
                                      t.description[o] &&
                                      t.description[o].length > 0)) &&
                                  (t.description || (t.description = {}),
                                  t.description[o] != l &&
                                    ((t.description[o] = l), (s = !0))));
                            });
                      })),
                      s && -1 == a.findIndex((e) => e == n) && a.push(n);
                  });
                });
              }),
              a
            );
          })(t.GetModel(), e, n);
          return a && t.SetDirty(!0), a;
        },
      });
    }
    const US = "event_title",
      WS = "event_description",
      HS = "help_text",
      VS = "artist_statement_desc",
      qS = "store_page_desc",
      KS = "special_event_name",
      QS = "special_event_desc",
      YS = "dynamic_section_",
      ZS = "dynamic_section_name_",
      JS = "dynamic_section_desc_",
      XS = "dynamic_section_list_name_",
      $S = "dynamic_section_option_",
      ey = "dynamic_section_tooltip_",
      ty = "email_",
      ny = "email_subject_",
      ay = "email_title_",
      ry = "email_desc_";
    function iy(e, t, n) {
      var a;
      let r = Object(le.d)(n);
      const i = e.subject && e.subject[r] && e.subject[r].length > 0;
      (i || 0 == n) &&
        t.SetLocalization(ny + e.unique_id, n, i ? e.subject[r] : ""),
        null === (a = e.sections) ||
          void 0 === a ||
          a.forEach((a) => {
            if (a.type == bf.k_Custom) {
              const i = a.title && a.title[r] && a.title[r].length > 0;
              (i || 0 == n) &&
                t.SetLocalization(
                  ay + e.unique_id + a.unique_id,
                  n,
                  i ? a.title[r] : "",
                );
              const s =
                a.description &&
                a.description[r] &&
                a.description[r].length > 0;
              (s || 0 == n) &&
                t.SetLocalization(
                  ry + e.unique_id + a.unique_id,
                  n,
                  s ? a.description[r] : "",
                );
            }
          });
    }
    function sy(e, t, n) {
      let a = Object(le.d)(n);
      const r =
        e.event_title && e.event_title[a] && e.event_title[a].length > 0;
      (r || 0 == n) && t.SetLocalization(US, n, r ? e.event_title[a] : "");
      const i =
        e.description && e.description[a] && e.description[a].length > 0;
      (i || 0 == n) && t.SetLocalization(WS, n, i ? e.description[a] : "");
      const s = e.help_text && e.help_text[a] && e.help_text[a].length > 0;
      (s || 0 == n) && t.SetLocalization(HS, n, s ? e.help_text[a] : "");
      const o =
        e.special_event_name &&
        e.special_event_name[a] &&
        e.special_event_name[a].length > 0;
      (o || 0 == n) &&
        t.SetLocalization(KS, n, o ? e.special_event_name[a] : "");
      const l =
        e.special_event_description &&
        e.special_event_description[a] &&
        e.special_event_description[a].length > 0;
      (l || 0 == n) &&
        t.SetLocalization(QS, n, l ? e.special_event_description[a] : "");
      const c =
        e.artist_statement &&
        e.artist_statement.description &&
        e.artist_statement.description[a] &&
        e.artist_statement.description[a].length > 0;
      (c || 0 == n) &&
        t.SetLocalization(VS, n, c ? e.artist_statement.description[a] : "");
      const d =
        e.build_store_page &&
        e.build_store_page.description &&
        e.build_store_page.description[a] &&
        e.build_store_page.description[a].length > 0;
      (d || 0 == n) &&
        t.SetLocalization(qS, n, d ? e.build_store_page.description[a] : ""),
        e.dynamic_sections &&
          e.dynamic_sections.forEach((e) => {
            const r = e.name && e.name[a] && e.name[a].length > 0;
            (r || 0 == n) &&
              t.SetLocalization(ZS + e.unique_id, n, r ? e.name[a] : "");
            const i =
              e.description && e.description[a] && e.description[a].length > 0;
            (i || 0 == n) &&
              t.SetLocalization(JS + e.unique_id, n, i ? e.description[a] : ""),
              e.lists &&
                e.lists.forEach((r) => {
                  const i =
                    r.option_title &&
                    r.option_title[a] &&
                    r.option_title[a].length > 0;
                  (i || 0 == n) &&
                    t.SetLocalization(
                      XS + e.unique_id + r.unique_id,
                      n,
                      i ? r.option_title[a] : "",
                    ),
                    r.options &&
                      r.options.forEach((i) => {
                        const s = i.text && i.text[a] && i.text[a].length > 0;
                        s &&
                          t.SetLocalization(
                            $S + e.unique_id + r.unique_id + i.unique_id,
                            n,
                            s ? i.text[a] : "",
                          );
                        const o =
                          i.tooltip && i.tooltip[a] && i.tooltip[a].length > 0;
                        s &&
                          t.SetLocalization(
                            ey + e.unique_id + r.unique_id + i.unique_id,
                            n,
                            o ? i.tooltip[a] : "",
                          );
                      });
                });
          });
    }
    const oy = Object(m.a)((e) => {
        const [t, n] = i.a.useState(null);
        if (
          (Object(r.useEffect)(() => {
            let t = Gb.Get().GetDefinition(e.pageid),
              a = Gb.Get().GetOptInStats()[e.pageid];
            zb.Get().Reset(t, a), n(zb.Get());
          }, [e.pageid]),
          !t || !t.BInitialized())
        )
          return i.a.createElement(ee.a, null);
        const a = (e) =>
            window.sessionStorage.setItem("editorCurrentTab", `?tab=${e.key}`),
          s = o.c.PARTNER_BASE_URL + "optin/salepreview/" + t.GetName() + "/20",
          l = (t.GetEmailDefinitions() || [])
            .filter((e) => e.BIsDraftEmail())
            .filter((e) => {
              const t = yS(e);
              return t.cNeeded != t.cCompleted;
            }),
          c = t.BIsReleaseGamesEligible() || t.BIsUnreleaseGamesEligible(),
          d = [
            {
              name: "Editor",
              key: "editor",
              status: c
                ? ""
                : i.a.createElement(
                    Qe.a,
                    {
                      toolTipContent:
                        "Must choose release or unrelease games in the requirement section",
                    },
                    "'Incomplete (0/1)'",
                  ),
              statusType: c ? "success" : "danger",
              contents: i.a.createElement(
                nt.a,
                null,
                i.a.createElement(jv, null),
              ),
              onClick: a,
            },
            {
              name: "Preview",
              key: "preview",
              status: "",
              statusType: "success",
              contents: i.a.createElement("iframe", {
                width: "100%",
                height: "1200px",
                style: { border: "none", paddingBottom: "20px" },
                src: s,
              }),
              onClick: a,
            },
            {
              name: "Email",
              key: "email",
              status: l.length ? "Draft Incomplete" : "",
              statusType: l.length ? "danger" : "success",
              contents: i.a.createElement(
                nt.a,
                null,
                i.a.createElement(IS, null),
              ),
              onClick: a,
            },
            {
              name: "Debug",
              key: "debug",
              status: "",
              statusType: "success",
              contents: i.a.createElement(
                nt.a,
                null,
                i.a.createElement($f, null),
              ),
              onClick: a,
            },
            {
              name: "Manage",
              key: "manage",
              status: "",
              statusType: "success",
              contents: i.a.createElement(
                nt.a,
                null,
                i.a.createElement(Yv, null),
                i.a.createElement(Iv, { editModel: t }),
              ),
              onClick: a,
            },
          ];
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            "div",
            null,
            i.a.createElement(ly, null),
            i.a.createElement(
              "div",
              { className: zf.a.EditorInputPaneContents },
              Gb.Get().BHasUnpublishedChagnes(zb.Get().GetFullName()) &&
                i.a.createElement(
                  "div",
                  { className: Ol.WarningStylesBackground },
                  "This Opt-In has unpublished changes",
                ),
              i.a.createElement(Pf, { tabs: d }),
              i.a.createElement("div", { className: Fe.a.ClearThings }),
            ),
            i.a.createElement(cy, null),
          ),
        );
      }),
      ly = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          "div",
          { className: Object(h.a)(zf.a.TopBarContainer) },
          i.a.createElement(
            te.e,
            { className: zf.a.BasicButtonSize },
            i.a.createElement(
              In.b,
              { to: Gy.OptinAdminDashboard() },
              "Dashboard",
            ),
          ),
          i.a.createElement(FS, null),
          i.a.createElement(zS, null),
          i.a.createElement(S_, {
            selectedLang: Wl.Get().GetCurEditLanguage(),
            fnLangHasData: t.BHasLanguageData,
            fnOnLanguageChanged: Wl.Get().SetCurEditLanguage,
          }),
        );
      }),
      cy = Object(m.a)((e) => {
        const t = zb.Get();
        return i.a.createElement(
          "div",
          {
            className: Object(h.a)(
              zf.a.FlexRowWrapFlexStartContainer,
              zf.a.BottomBar,
            ),
          },
          i.a.createElement(
            te.F,
            {
              className: zf.a.BasicButtonSize,
              onClick: (e) =>
                Object(ze.d)(i.a.createElement(dy, null), Object(v.o)(e)),
            },
            t.BIsDirty() ? "Save" : "Saved",
          ),
          i.a.createElement(
            te.e,
            { className: zf.a.BasicButtonSize, onClick: Yf },
            "Re-order Dynamic Sections",
          ),
          i.a.createElement(
            "div",
            { className: zf.a.EligibleGames },
            t.BHasInProgressStats() ? "You have unpublished changes" : "",
            i.a.createElement("br", null),
            t.BHasInProgressStats()
              ? t.GetInProgressEligible() +
                  " games will be eligible using the unpublished settings"
              : "",
          ),
        );
      }),
      dy = (e) => {
        const { closeModal: t } = e,
          [n, a] = i.a.useState(!0),
          [s, o] = i.a.useState(new Array());
        return (
          Object(r.useEffect)(() => {
            const e = zb.Get(),
              t = F.a.CancelToken.source();
            return (
              e
                .Save(t.token)
                .then((e) => {
                  if (e) {
                    const t = new Array();
                    t.push(e), o(t);
                  }
                })
                .finally(() => a(!1)),
              () => t.cancel("OptInEditorSaveDialog unmounting")
            );
          }, []),
          i.a.createElement(
            xe.f,
            { bAllowFullSize: !0, onCancel: t, closeModal: t },
            i.a.createElement(te.y, null, "Saving Opt-In Data"),
            i.a.createElement(
              te.c,
              null,
              i.a.createElement(
                "div",
                null,
                "We are saving the Opt-In Data, please be patient.\t",
              ),
              Boolean(s.length > 0) &&
                i.a.createElement(
                  "div",
                  { className: Ol.ErrorStylesBackground },
                  s.map((e) =>
                    i.a.createElement("span", { key: "" + e.length }, e),
                  ),
                ),
              n &&
                i.a.createElement(ee.a, {
                  size: "medium",
                  position: "center",
                  string: Object($.f)("#Saving"),
                }),
              Boolean(!n && 0 == s.length) &&
                i.a.createElement("div", null, "Save Successful."),
            ),
            i.a.createElement(
              te.p,
              null,
              i.a.createElement(
                te.F,
                { onClick: t, disabled: n },
                Object($.f)("#Button_Close"),
              ),
            ),
          )
        );
      };
    var uy = n("cFdX"),
      my = n.n(uy);
    function py(e) {
      const { appid: t } = e,
        [n, a] = i.a.useState(!0);
      i.a.useEffect(() => {
        const e = Gb.Get()
          .GetActiveOptIn()
          .map((e) => Fv.Get().LoadOptInRegistration(e.pageid, t));
        Promise.all(e).finally(() => a(!1));
      }, [t]);
      const [r] = Object(Wn.b)(t, {
        include_assets: !0,
        include_basic_info: !0,
      });
      return i.a.createElement(
        nt.a,
        null,
        i.a.createElement(
          "div",
          { className: my.a.AdminPageCtn },
          i.a.createElement(
            "div",
            { className: my.a.PageTitle },
            "Opt-In Game Support Page: ",
            r ? r.GetName() : "Unknown",
            " (",
            t,
            ") ",
            i.a.createElement(
              "span",
              { className: my.a.ValveOnlyTitle },
              "Valve Only Page",
            ),
          ),
          i.a.createElement("hr", null),
          i.a.createElement(
            "p",
            null,
            "Valve-only - go to the event registration page for this game within any upcoming or active events.",
          ),
          i.a.createElement(
            "p",
            null,
            "Allows you to invite the game even if otherwise not eligible.",
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              "ol",
              null,
              Gb.Get()
                .GetActiveOptIn()
                .map((e) => {
                  if (!e.sale_optin_enabled) return null;
                  const n = Fv.Get().GetRegistration(t, e.pageid);
                  return i.a.createElement(
                    "li",
                    { key: e.pageid },
                    i.a.createElement(
                      "a",
                      {
                        href:
                          o.c.PARTNER_BASE_URL +
                          "optin/sale/" +
                          e.pageid +
                          "/" +
                          t,
                      },
                      e.event_title.english,
                      " ",
                      (null == n ? void 0 : n.opt_in) ? " - OptIn" : "",
                    ),
                  );
                }),
            ),
          ),
          n &&
            i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Loading"),
            }),
        ),
      );
    }
    class hy {
      constructor() {
        this.m_bDirty = !1;
      }
      static Get() {
        return (
          hy.s_OptInRegs ||
            ((hy.s_OptInRegs = new hy()),
            (window.COptInRegstationEditStore = hy.s_OptInRegs)),
          hy.s_OptInRegs
        );
      }
      GetModel() {
        return this.m_registration;
      }
      GetFirstSelectedItem(e, t) {
        let n = this.GetSelectedItems(e, t);
        return n && n.length > 0 && null != n[0] ? n[0] : null;
      }
      GetSelectedItems(e, t) {
        if (
          this.m_registration &&
          this.m_registration.jsondata &&
          this.m_registration.jsondata.dynamic_selection
        ) {
          let n = this.m_registration.jsondata.dynamic_selection.findIndex(
            (t) => t.section_id == e,
          );
          if (
            -1 !== n &&
            this.m_registration.jsondata.dynamic_selection[n].list_selection &&
            this.m_registration.jsondata.dynamic_selection[n].list_selection
              .findIndex
          ) {
            let e = this.m_registration.jsondata.dynamic_selection[
              n
            ].list_selection.findIndex((e) => e.list_id == t);
            if (-1 !== e) {
              let t =
                this.m_registration.jsondata.dynamic_selection[n]
                  .list_selection[e].selected_item_id;
              if (t && t.length > 0 && null != t[0]) return t;
            }
          }
        } else
          console.log(
            "COptInRegstationEditStore: failed to find selected values for:",
            e,
            t,
          );
        return [];
      }
      Reset(e) {
        (this.m_registration = JSON.parse(JSON.stringify(e))),
          (this.m_bDirty = !1);
      }
      SetDirty(e) {
        this.m_bDirty != e && (this.m_bDirty = e);
      }
      BIsDirty() {
        return this.m_bDirty;
      }
    }
    Object(a.b)([L.C], hy.prototype, "m_registration", void 0),
      Object(a.b)([L.C], hy.prototype, "m_bDirty", void 0);
    var _y = n("Ur6+");
    const gy = Object(m.a)((e) =>
        e.sections && 0 != e.sections.length
          ? i.a.createElement(
              "div",
              null,
              i.a.createElement(
                nt.a,
                null,
                e.sections.map((e, t) =>
                  !e.valve_only || o.j.is_support
                    ? i.a.createElement(by, {
                        key: e.unique_id,
                        section: e,
                        sectionIndex: t,
                      })
                    : null,
                ),
              ),
            )
          : null,
      ),
      by = Object(m.a)((e) => {
        const { section: t, sectionIndex: n } = e,
          a = Object(le.g)(o.c.LANGUAGE),
          r = wf(t.name, a, Object($.f)("#OptIn_Registration_Title", n)),
          s = wf(t.description, a, ""),
          l = t.valve_only;
        return i.a.createElement(
          "div",
          {
            id: e.section.unique_id,
            className: Object(h.a)({
              [_y.DynamicSection]: !0,
              [Fe.a.ValveOnlyBackground]: l,
            }),
          },
          i.a.createElement("h3", null, l && "(VO) ", r),
          i.a.createElement("div", null, i.a.createElement(dh, { text: s })),
          i.a.createElement(fy, { section: t, sectionIndex: n }),
        );
      }),
      fy = Object(m.a)((e) => {
        const { section: t, sectionIndex: n } = e;
        if ("text_input" === t.input_style)
          return i.a.createElement(
            vy,
            Object.assign({}, e, { list: t.lists[0], listIndex: 0 }),
          );
        {
          const n = Boolean(
            "radio" == t.input_style || "checkbox" == t.input_style,
          );
          return i.a.createElement(
            "div",
            { className: n ? _y.ListContainer : void 0 },
            t.lists.map((t, a) =>
              n
                ? i.a.createElement(
                    Sy,
                    Object.assign({ key: t.unique_id }, e, {
                      list: t,
                      listIndex: a,
                    }),
                  )
                : i.a.createElement(
                    yy,
                    Object.assign({ key: t.unique_id }, e, {
                      list: t,
                      listIndex: a,
                    }),
                  ),
            ),
          );
        }
      }),
      vy = Object(m.a)((e) => {
        const { section: t, list: n, listIndex: a } = e,
          s = hy.Get().GetSelectedItems(t.unique_id, n.unique_id),
          [o, c] = Object(r.useState)(
            (null == s ? void 0 : s.length) > 0 ? s[0] : "",
          );
        return (
          Object(l.a)(0 == a, "expected list index to be zero"),
          i.a.createElement(
            "div",
            null,
            i.a.createElement("textarea", {
              className: _y.TextArea,
              value: o,
              onChange: (e) => c(e.currentTarget.value || ""),
            }),
            i.a.createElement(
              Ey,
              Object.assign({}, e, {
                list: n,
                listIndex: a,
                item_unique_ids: [o],
              }),
            ),
          )
        );
      }),
      Sy = Object(m.a)((e) => {
        const { section: t, list: n } = e,
          [a, s] = Object(r.useState)(
            hy.Get().GetSelectedItems(t.unique_id, n.unique_id),
          ),
          l = Object(le.g)(o.c.LANGUAGE),
          c = wf(n.option_title, l),
          d = new Array(),
          u = Ps.a(t.columns, 1, 3);
        for (let e = 0; e < u; ++e)
          d.push(
            i.a.createElement(
              "div",
              { key: "column" + e, className: _y.Column },
              n.options
                .filter((t, n) => n % u == e)
                .map((e) => {
                  const n = wf(e.text, l),
                    r = wf(e.tooltip, l, void 0);
                  return "radio" == t.input_style
                    ? i.a.createElement(
                        te.G,
                        { key: e.unique_id, value: e.unique_id },
                        i.a.createElement(
                          Qe.a,
                          { toolTipContent: r, bDisabled: !r },
                          n,
                          " ",
                          Boolean(r) && "(?)",
                        ),
                      )
                    : i.a.createElement(te.f, {
                        key: e.unique_id,
                        label: n,
                        tooltip: r,
                        checked: -1 !== a.findIndex((t) => t == e.unique_id),
                        onChange: (t) => {
                          let n = a.findIndex((t) => t == e.unique_id);
                          if (t && -1 == n) {
                            let t = JSON.parse(JSON.stringify(a));
                            t.push(e.unique_id), s(t);
                          } else if (!t && -1 != n) {
                            let e = JSON.parse(JSON.stringify(a));
                            e.splice(n, 1), s(e);
                          }
                        },
                      });
                }),
            ),
          );
        return i.a.createElement(
          "div",
          null,
          Boolean(c) &&
            i.a.createElement("div", { className: _y.ListTitle }, c),
          i.a.createElement(
            te.H,
            { value: a.length > 0 ? a[0] : null, onChange: (e) => s([e]) },
            d,
          ),
          i.a.createElement(Ey, Object.assign({}, e, { item_unique_ids: a })),
        );
      }),
      yy = Object(m.a)((e) => {
        const { section: t, list: n } = e,
          [a, s] = Object(r.useState)(
            hy.Get().GetSelectedItems(t.unique_id, n.unique_id),
          ),
          l = Object(le.g)(o.c.LANGUAGE),
          c = wf(n.option_title, l),
          d = [],
          u = n.options.map((e) => {
            const t = wf(e.text, l);
            let n = { value: e.unique_id, label: t };
            return -1 != a.findIndex((t) => t == e.unique_id) && d.push(n), n;
          });
        return i.a.createElement(
          "div",
          { className: _y.SelectContianer },
          Boolean(c) &&
            i.a.createElement("div", { className: _y.ListTitle }, c),
          i.a.createElement(ev.a, {
            name: "searchField",
            backspaceRemovesValue: !0,
            isSearchable: !0,
            multi: Boolean("multi_select" == t.input_style),
            isMulti: Boolean("multi_select" == t.input_style),
            defaultMenuIsOpen: !1,
            isClearable: !0,
            placeholder: Boolean("multi_select" == t.input_style)
              ? Object($.f)("#OptIn_Registration_Select_Placeholder_Plural")
              : Object($.f)("#OptIn_Registration_Select_Placeholder"),
            value: d,
            options: u,
            getOptionLabel: (e) => e.label,
            getOptionValue: (e) => e.value,
            onChange: (e, { action: t }) => {
              s(e ? e.map((e) => e.value) : []);
            },
          }),
          i.a.createElement(Ey, Object.assign({}, e, { item_unique_ids: a })),
        );
      }),
      Ey = Object(m.a)((e) => {
        const {
          section: t,
          list: n,
          sectionIndex: a,
          listIndex: r,
          item_unique_ids: s,
        } = e;
        return !s || 0 == s.length || (1 == s.length && null == s[0])
          ? i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("input", {
                type: "hidden",
                name: `dynamic_selection[${a}][section_id]`,
                value: t.unique_id,
              }),
              i.a.createElement("input", {
                type: "hidden",
                name: `dynamic_selection[${a}][list_selection][${r}][list_id]`,
                value: n.unique_id,
              }),
            )
          : i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("input", {
                type: "hidden",
                name: `dynamic_selection[${a}][section_id]`,
                value: t.unique_id,
              }),
              i.a.createElement("input", {
                type: "hidden",
                name: `dynamic_selection[${a}][list_selection][${r}][list_id]`,
                value: n.unique_id,
              }),
              Boolean(s) &&
                s.map((e, t) =>
                  i.a.createElement("input", {
                    key: "selected_" + e,
                    type: "hidden",
                    name: `dynamic_selection[${a}][list_selection][${r}][selected_item_id][${t}]`,
                    value: e,
                  }),
                ),
            );
      }),
      Cy = Object(m.a)((e) => {
        if (!e.eventdata) return null;
        const { appid: t, eventdata: n } = e,
          a = Object($.f)("#OptIn_GameListing_Title");
        let r = (function (e, t) {
          var n, a, r;
          const s = Number.parseInt(e),
            l = Object(le.g)(o.c.LANGUAGE),
            c = [];
          let d = null,
            u = [];
          for (const e of t.sale_sections)
            if (
              "tabs" === e.section_type &&
              (null === (n = e.tabs) || void 0 === n ? void 0 : n.length)
            ) {
              d = [];
              for (const t of e.tabs)
                d.push({ id: t.unique_id, label: Qs(t, l) }),
                  ((null === (a = t.capsules) || void 0 === a
                    ? void 0
                    : a.length) &&
                    !t.capsules.some((e) => e.id === s)) ||
                    u.push(t.unique_id);
            }
          let m = !1;
          for (const e of t.sale_sections)
            if ("tabs" === e.section_type && e.tabs) m = !0;
            else if ("items" === e.section_type && e.capsules) {
              let t = e.capsules.some((e) => e.id === s);
              if (
                (e.smart_section && e.enable_faceted_browsing && (t = !0), !t)
              )
                continue;
              const n = Ys(e, l, 0, !0);
              if (null === d)
                c.push(i.a.createElement(wy, { key: n, section: n, tab: "" }));
              else {
                let t = (
                  null === (r = e.show_on_tabs) || void 0 === r
                    ? void 0
                    : r.length
                )
                  ? e.show_on_tabs
                  : d.map((e) => e.id);
                m &&
                  !e.diable_tab_id_filtering &&
                  (t = t.filter((e) => u.includes(e)));
                for (const e of t) {
                  const t = d.find((t) => t.id === e);
                  t &&
                    c.push(
                      i.a.createElement(wy, {
                        key: n + e,
                        section: n,
                        tab: t.label,
                      }),
                    );
                }
              }
            }
          return c;
        })(t, n.jsondata);
        return r.length > 0
          ? i.a.createElement(
              nt.a,
              null,
              i.a.createElement(
                "h1",
                null,
                Object($.f)("#OptIn_OptInOut_CategorizationTitle"),
              ),
              i.a.createElement(
                "div",
                {
                  className: Object(h.a)(_y.DynamicSection, _y.Categorization),
                },
                i.a.createElement("h3", null, a),
                Object($.f)("#OptIn_GameListing_Detail"),
                i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      _y.DynamicSection,
                      _y.VisibilityTable,
                    ),
                  },
                  i.a.createElement(
                    "div",
                    { className: "landingTable blueish" },
                    i.a.createElement(
                      "div",
                      { className: "tr heading" },
                      i.a.createElement("div", { className: "th" }, "Tab"),
                      i.a.createElement("div", { className: "th" }, "Section"),
                    ),
                    r,
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: _y.DynamicSection },
                  i.a.createElement(
                    kt.c,
                    {
                      eventModel: e.eventdata,
                      route: kt.a.k_eStoreSalePage,
                      className: Object(h.a)(Ne.Button, Ne.Primary),
                    },
                    Object($.f)("#Sale_Link_PreviewEvent"),
                  ),
                ),
              ),
            )
          : i.a.createElement(
              nt.a,
              null,
              i.a.createElement(
                "div",
                { className: _y.DynamicSection },
                i.a.createElement("h3", null, a),
                i.a.createElement(
                  "p",
                  null,
                  Object($.f)("#OptIn_GameListing_Detail_Empty"),
                ),
              ),
            );
      });
    const wy = (e) =>
        i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            "div",
            { className: Object(h.a)("tr", "highlightHover") },
            i.a.createElement("a", { className: "td" }, e.tab),
            i.a.createElement("a", { className: "td" }, e.section),
          ),
        ),
      By = (e) => {
        let { pageid: t, appid: n } = e;
        t.startsWith("sale_sale_") && (t = t.substr("sale_".length));
        const s = Gb.Get().GetDefinition(t),
          [l, c] = Object(r.useState)(!1),
          [d, u] = Object(r.useState)(null);
        if (
          (Object(r.useEffect)(() => {
            c(!1);
            const e = Fv.Get().CreateOrGetRegistration(Number.parseInt(n), t);
            hy.Get().Reset(e),
              Object(a.a)(void 0, void 0, void 0, function* () {
                if (s.public_event_id && s.public_event_clan_id)
                  try {
                    const e = de.a.InitFromClanID(
                        Number.parseInt(s.public_event_clan_id),
                      ),
                      t =
                        yield St.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
                          e,
                          s.public_event_id,
                          0,
                        );
                    u(t);
                  } catch (e) {
                    const t = Object(me.a)(e);
                    console.error(
                      "LoadPartnerEvent : failed with " + t.strErrorMsg,
                      t,
                    );
                  }
                c(!0);
              });
          }, [t, n, s.public_event_id, s.public_event_clan_id]),
          !s)
        )
          return (
            console.error("Definition is missing: " + n + " - " + t, s), null
          );
        if (!l)
          return i.a.createElement(ee.a, {
            size: "medium",
            string: Object($.f)("#Loading"),
          });
        return i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            { className: "indent_section" },
            i.a.createElement("a", { id: "GameListing" }),
            i.a.createElement(Cy, { appid: n, eventdata: d }),
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            i.a.createElement("h1", null, Object($.f)("#OptIn_OptInOut_Title")),
            Object($.f)("#OptIn_OptInOut_Desc"),
            i.a.createElement(gy, { sections: s.dynamic_sections }),
            Boolean(o.j.is_support) &&
              i.a.createElement(
                "div",
                { className: Fe.a.ValveOnlyBackground },
                i.a.createElement(
                  te.e,
                  {
                    onClick: () => {
                      const e = hy.Get().GetModel();
                      Object(ze.d)(
                        i.a.createElement(
                          xe.e,
                          {
                            strTitle: Object($.f)("#OptIn_Debug"),
                            bAlertDialog: !0,
                          },
                          i.a.createElement(Xf, { data: e }),
                        ),
                        window,
                      );
                    },
                  },
                  "(VO) " + Object($.f)("#OptIn_Debug"),
                ),
              ),
          ),
        );
      },
      Oy = (e) =>
        r.createElement(fa.a, {
          message: (e) =>
            !zb.Get().BIsDirty() ||
            e.pathname != Gy.OptinAdminDashboard() ||
            "Do you want to discard unsaved changes?",
        });
    class Dy {
      constructor() {
        (this.m_nInvitedAppIDs = []),
          (this.m_nPrunedAppIDs = []),
          (this.m_listCallback = new g.a());
        let e = JSON.parse(
          JSON.stringify(
            Object(o.g)("optin_invite_prune_list", "application_config"),
          ),
        );
        this.ValidateStoreDefault(e) &&
          ((this.m_nInvitedAppIDs = e.invited_appids || []),
          (this.m_nPrunedAppIDs = e.pruned_appids || []));
      }
      GetAsConsolidatedList() {
        return {
          invited_appids: this.m_nInvitedAppIDs,
          pruned_appids: this.m_nPrunedAppIDs,
        };
      }
      GetConsolidatedListCallback() {
        return this.m_listCallback;
      }
      ChangeAppPruneState(e, t, n) {
        var r;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const i = new FormData();
            i.append("sessionid", o.c.SESSIONID),
              i.append("appids", JSON.stringify(t)),
              i.append("opt_in_name", e),
              i.append("prune", n ? "0" : "1");
            const s = o.c.PARTNER_BASE_URL + "optin/ajaxpruneapp",
              l = yield F.a.post(s, i, { withCredentials: !0 });
            if (
              200 == (null == l ? void 0 : l.status) &&
              1 == (null === (r = l.data) || void 0 === r ? void 0 : r.success)
            )
              return (
                t.forEach((e) => {
                  if (n) {
                    const t = this.m_nInvitedAppIDs.findIndex((t) => t == e);
                    this.m_nInvitedAppIDs.splice(t, 1),
                      this.m_nPrunedAppIDs.unshift(e);
                  } else {
                    const t = this.m_nPrunedAppIDs.findIndex((t) => t == e);
                    this.m_nPrunedAppIDs.splice(t, 1),
                      this.m_nInvitedAppIDs.unshift(e);
                  }
                }),
                this.m_listCallback.Dispatch({
                  invited_appids: this.m_nInvitedAppIDs,
                  pruned_appids: this.m_nPrunedAppIDs,
                }),
                !0
              );
            a = Object(me.a)(l);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "COptInAppReviewStore.ChangeAppPruneState failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          Dy.s_Singleton ||
            ((Dy.s_Singleton = new Dy()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInDemoAppStores = Dy.s_Singleton)),
          Dy.s_Singleton
        );
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          t &&
          "object" == typeof t &&
          (Array.isArray(t.invited_appids) || Array.isArray(t.pruned_appids))
        );
      }
    }
    Object(a.b)([Ul.a], Dy.prototype, "ChangeAppPruneState", null);
    var Iy = n("GP6Z");
    const Ty = {
      include_basic_info: !0,
      include_assets: !0,
      include_tag_count: 20,
    };
    function Ry(e) {
      const { pageid: t } = e,
        n = Object(o.g)("optin_title", "application_config"),
        { rgInvitedAppIDs: a, rgPrunedAppIDs: s } = (function () {
          const [e, t] = i.a.useState(Dy.Get().GetAsConsolidatedList());
          return (
            Object(u.e)(Dy.Get().GetConsolidatedListCallback(), t),
            {
              rgInvitedAppIDs: e.invited_appids,
              rgPrunedAppIDs: e.pruned_appids,
            }
          );
        })();
      r.useEffect(() => {
        const e = Object(o.g)("optin_webapi_token", "application_config");
        e
          ? (Object(om.b)(e), Object(om.a)(!0))
          : console.error("OptInAppReviewLanding missing API token");
      }, []);
      const l = (e) =>
          window.sessionStorage.setItem("appreviewtab", `?tab=${e.key}`),
        c = [
          {
            name: Object($.f)(
              "#OptIn_AppReview_InvitedApps",
              (null == a ? void 0 : a.length) || 0,
            ),
            key: "invited",
            contents: r.createElement(
              nt.a,
              null,
              r.createElement(jy, { rgAppIDs: a, pageid: t, bPruned: !1 }),
            ),
            onClick: l,
          },
          {
            name: Object($.f)(
              "#OptIn_AppReview_PrunedApps",
              (null == s ? void 0 : s.length) || 0,
            ),
            key: "pruned",
            contents: r.createElement(
              nt.a,
              null,
              r.createElement(jy, { rgAppIDs: s, pageid: t, bPruned: !0 }),
            ),
            onClick: l,
          },
        ];
      return r.createElement(
        "div",
        { className: my.a.AdminPageCtn },
        r.createElement(
          "div",
          { className: my.a.PageTitle },
          Object($.f)("#OptIn_AppReview", n),
        ),
        r.createElement(
          "div",
          { className: my.a.PageSubTitle },
          "Use the 'Prune' option to remove eligibility for that game. Pruned titles will not be eligible, invited, or receive any communication about this event.",
        ),
        r.createElement(Pf, { tabs: c }),
      );
    }
    function jy(e) {
      const { rgAppIDs: t, pageid: n, bPruned: a } = e,
        [i, s] = r.useState(new Set()),
        [o, l] = r.useState(""),
        { fnQueueMultipleTagLoads: c } = Object(Oc.d)(),
        [d, u] = r.useState(!0);
      if (
        (r.useEffect(() => {
          Dt.a
            .Get()
            .QueueMultipleAppRequests(
              (null == t ? void 0 : t.slice(0, 100)) || [],
              Ty,
            )
            .then(() => {
              Dt.a
                .Get()
                .QueueMultipleAppRequests(t || [], Ty)
                .then(() => {
                  const e = Py(t).map((e) => e.tagid);
                  c(e).then(() => u(!1));
                });
            });
        }, [c, n, t]),
        (null == t ? void 0 : t.length) > 0)
      ) {
        const e = (null == o ? void 0 : o.trim().length) > 2,
          c = null == o ? void 0 : o.toLocaleLowerCase(),
          u = Array.from(i);
        return r.createElement(
          "div",
          null,
          d
            ? r.createElement(
                r.Fragment,
                null,
                r.createElement(
                  te.C,
                  null,
                  Object($.f)("#EventCalendar_UniversalSearch"),
                ),
                r.createElement(ee.a, {
                  size: "small",
                  string: `Loading ${(null == t ? void 0 : t.length) || 0} Apps`,
                }),
              )
            : r.createElement(te.z, {
                type: "text",
                label: Object($.f)("#EventCalendar_UniversalSearch"),
                placeholder: "search by app name, description",
                value: o,
                onChange: (e) => l(e.target.value),
              }),
          r.createElement(Ly, {
            setFilterTagIDs: i,
            fnUpdateSetFilterTagIDs: s,
            rgAppIDs: t,
            bLoading: d,
          }),
          t
            .filter((t) => {
              var n, a, r, i, s;
              if (e) {
                const e = Dt.a.Get().GetApp(t);
                return (
                  (null === (n = null == e ? void 0 : e.GetName()) ||
                  void 0 === n
                    ? void 0
                    : n.toLocaleLowerCase().indexOf(c)) >= 0 ||
                  (null === (a = null == e ? void 0 : e.GetDeveloperNames()) ||
                  void 0 === a
                    ? void 0
                    : a.some((e) => e.toLocaleLowerCase().indexOf(c) >= 0)) ||
                  (null === (r = null == e ? void 0 : e.GetPublisherNames()) ||
                  void 0 === r
                    ? void 0
                    : r.some((e) => e.toLocaleLowerCase().indexOf(c) >= 0)) ||
                  (null === (i = null == e ? void 0 : e.GetFranchiseNames()) ||
                  void 0 === i
                    ? void 0
                    : i.some((e) => e.toLocaleLowerCase().indexOf(c) >= 0)) ||
                  (null ===
                    (s = null == e ? void 0 : e.GetShortDescription()) ||
                  void 0 === s
                    ? void 0
                    : s.toLocaleLowerCase().indexOf(c)) >= 0
                );
              }
              return !0;
            })
            .filter((e) => {
              if (u.length > 0) {
                const t = Dt.a.Get().GetApp(e);
                return u.every((e) =>
                  null == t ? void 0 : t.GetTagIDs().includes(e),
                );
              }
              return !0;
            })
            .map((e, t) =>
              r.createElement(Ay, {
                key: (a ? "prune" : "invited") + e,
                pageid: n,
                appid: e,
                bInvited: !a,
                index: t,
              }),
            ),
        );
      }
      return r.createElement(
        "span",
        null,
        Object($.f)("#OptIn_AppReview_EmptyList"),
      );
    }
    function Ay(e) {
      return r.createElement(
        er.a,
        { placeholderHeight: "160px", rootMargin: "0px 0px 200px 0px" },
        r.createElement(ky, Object.assign({}, e)),
      );
    }
    function ky(e) {
      const { appid: t, bInvited: n, pageid: a, index: i } = e,
        [s, o] = Object(Wn.b)(t, Ty),
        { fnChangeAppPruneState: l } = {
          fnChangeAppPruneState: Dy.Get().ChangeAppPruneState,
        },
        c = r.useMemo(() => ({ type: "game", id: t }), [t]);
      switch (o) {
        case 1:
          return r.createElement(
            "div",
            null,
            r.createElement(ee.a, {
              position: "center",
              size: "small",
              string: Object($.f)("#OptIn_AppReview_LoadingApp", t),
            }),
          );
        case 2:
          return r.createElement(
            "div",
            null,
            Object($.f)("#OptIn_AppReview_FailedToLoadApp", t),
          );
      }
      return r.createElement(
        "div",
        { className: Object(h.a)(Iy.Row, n ? Iy.Invited : Iy.Pruned) },
        r.createElement(
          Pt.e,
          { item: c },
          r.createElement("img", {
            className: Iy.CapsuleImg,
            src: s.GetAssets().GetMainCapsuleURL(),
          }),
        ),
        r.createElement(
          "div",
          { className: Iy.GameInfo },
          r.createElement("div", { className: Iy.Title }, s.GetName()),
          r.createElement(
            "div",
            null,
            Object($.f)(
              "#OptIn_AppReview_Developers",
              s.GetDeveloperNames().join(","),
            ),
          ),
          r.createElement(
            "div",
            null,
            Object($.f)(
              "#OptIn_AppReview_Publishers",
              s.GetPublisherNames().join(","),
            ),
          ),
          r.createElement(
            "div",
            { className: Iy.Desc },
            s.GetShortDescription(),
          ),
          r.createElement(My, { storeItem: s }),
        ),
        r.createElement(
          "div",
          { className: Iy.ActionsCtn },
          r.createElement(
            te.e,
            { onClick: () => l(a, [t], n) },
            Object($.f)(
              n ? "#OptIn_AppReview_Prune" : "#OptIn_AppReview_Unprune",
            ),
          ),
        ),
        r.createElement(
          "div",
          { className: Iy.RowNumber },
          (i + 1).toLocaleString(),
        ),
      );
    }
    function My(e) {
      const { storeItem: t } = e,
        n = r.useMemo(
          () => (null == t ? void 0 : t.GetTags().map((e) => e.tagid)),
          [t],
        ),
        a = Object(Oc.c)(n);
      return r.createElement(
        "div",
        { className: Iy.StoreTags },
        Object($.o)(
          "#OptIn_AppReview_Tags",
          r.createElement(
            r.Fragment,
            null,
            a.map((e) =>
              r.createElement("span", { key: "tag" + e.tagid }, e.name),
            ),
          ),
        ),
      );
    }
    function Py(e) {
      const t = new Map();
      return (
        e.forEach((e) => {
          const n = Dt.a.Get().GetApp(e);
          null == n ||
            n.GetTagIDs().forEach((e) => {
              t.has(e)
                ? (t.get(e).count += 1)
                : t.set(e, { tagid: e, count: 1 });
            });
        }),
        Array.from(t.values())
      );
    }
    function Ly(e) {
      const {
          setFilterTagIDs: t,
          fnUpdateSetFilterTagIDs: n,
          rgAppIDs: a,
          bLoading: i,
        } = e,
        { fnGetTagID: s } = Object(Oc.b)(),
        o = r.useMemo(
          () => (i ? [] : Py(a).sort((e, t) => (e.count < t.count ? 1 : -1))),
          [a, i],
        ),
        l = r.useMemo(
          () =>
            o.map((e) => {
              var t;
              return {
                label:
                  ((null === (t = s(e.tagid)) || void 0 === t
                    ? void 0
                    : t.name) || "tagid: " + e.tagid) +
                  " (count: " +
                  e.count +
                  ")",
                value: e.tagid,
              };
            }),
          [s, o],
        ),
        c = {
          option: (e) =>
            Object.assign(Object.assign({}, e), { color: "#444444" }),
        };
      return r.createElement(
        "div",
        { className: Iy.TagFilterBar },
        r.createElement(te.C, null, "Filter by Tag:"),
        r.createElement(ev.a, {
          isSearchable: !0,
          isLoading: i,
          isMulti: !0,
          isClearable: !0,
          value: l.filter((e) => t.has(e.value)),
          options: l,
          styles: c,
          onChange: (e) => {
            const t = new Set();
            null == e || e.forEach((e) => t.add(e.value)), n(t);
          },
        }),
      );
    }
    const Gy = {
        OptinAdminDashboard: () => "/admin/",
        OptinAdminEdit: (e) => `/admin/edit/${e}`,
        OptinAdminSupport: (e) => `/admin/support/${e}`,
        OptInApp: (e, t) => `/sale*/${e}/${t}`,
        OptInAppReview: (e) => `/appreview/${e}`,
      },
      Ny = (e) =>
        i.a.createElement(
          In.a,
          { basename: Object(ie.a)() + "optin/" },
          i.a.createElement(Oy, null),
          i.a.createElement(
            fa.e,
            null,
            i.a.createElement(fa.c, {
              exact: !0,
              path: ie.b.DiagData(),
              render: (e) =>
                i.a.createElement(
                  Jf,
                  Object.assign({}, e, { strConfigID: "application_config" }),
                ),
            }),
            i.a.createElement(fa.c, {
              exact: !0,
              path: Gy.OptinAdminDashboard(),
              component: Gf,
            }),
            i.a.createElement(fa.c, {
              exact: !0,
              path: Gy.OptinAdminEdit(":pageid"),
              render: (e) =>
                i.a.createElement(oy, { pageid: e.match.params.pageid }),
            }),
            i.a.createElement(fa.c, {
              exact: !0,
              path: Gy.OptinAdminSupport(":appid"),
              render: (e) =>
                i.a.createElement(py, {
                  appid: Number.parseInt(e.match.params.appid),
                }),
            }),
            i.a.createElement(fa.c, {
              path: Gy.OptInApp(":partialpageid", ":appid"),
              render: (e) =>
                i.a.createElement(By, {
                  appid: e.match.params.appid,
                  pageid: "sale_" + e.match.params.partialpageid,
                }),
            }),
            i.a.createElement(fa.c, {
              path: Gy.OptInAppReview(":pageid"),
              render: (e) =>
                i.a.createElement(Ry, { pageid: e.match.params.pageid }),
            }),
            i.a.createElement(fa.c, { component: SA }),
          ),
        );
    var Fy = n("kBjc"),
      xy = n.n(Fy);
    const zy = "pn";
    class Uy {
      constructor() {
        (this.m_rgVisiblePackageIDs = []),
          (this.m_visiblePackageIDsCallbackList = new g.a()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_PackageGridStore = this);
      }
      static Get() {
        return (
          Uy.s_Singleton ||
            ((Uy.s_Singleton = new Uy()), Uy.s_Singleton.Init()),
          Uy.s_Singleton
        );
      }
      Init() {
        let e = Object(o.g)("package_data", "application_config");
        e
          ? ((this.m_rgPackageIDs = e.map((e) => e.packageid)),
            (this.m_rgPackageData = e),
            (this.m_mapPackageData = new Map(e.map((e) => [e.packageid, e]))))
          : ((this.m_rgPackageIDs = Object(o.g)(
              "package_ids",
              "application_config",
            )),
            (this.m_mapPackageData = new Map())),
          ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackageGridStore loading payload: ",
              this.m_rgPackageIDs,
            ),
          "dev" != o.c.WEB_UNIVERSE ||
            Array.isArray(this.m_rgPackageIDs) ||
            console.error("CPackageGridStore Invalid payload");
      }
      UpdatePackageNameSearchState(e) {
        const t = e.getHeaderFilterValue("packageName"),
          n = new URL(window.location.href);
        t != decodeURIComponent(n.searchParams.get(zy)) &&
          (t
            ? n.searchParams.set(zy, encodeURIComponent(t))
            : n.searchParams.delete(zy),
          window.history.replaceState({}, "", n.toString()));
      }
      UpdateVisiblePackageList(e) {
        const t = e.getGroups("visible").filter((e) => e.isVisible());
        (this.m_rgVisiblePackageIDs = []),
          t.forEach((e) =>
            e
              .getRows()
              .forEach((e) =>
                this.m_rgVisiblePackageIDs.push(e.getData().packageID),
              ),
          ),
          this.m_visiblePackageIDsCallbackList.Dispatch(
            this.m_rgVisiblePackageIDs,
          ),
          this.UpdatePackageNameSearchState(e);
      }
    }
    function Wy() {
      return Uy.Get().m_rgPackageIDs;
    }
    function Hy() {
      return Uy.Get().m_rgPackageIDs;
    }
    function Vy(e) {
      let t = Uy.Get().m_mapPackageData.get(e);
      return t ? t.package_name : e.toString();
    }
    function qy() {
      return i.a.useCallback((e) => Uy.Get().UpdateVisiblePackageList(e), []);
    }
    function Ky() {
      const [e, t] = i.a.useState(Uy.Get().m_rgVisiblePackageIDs);
      return Object(u.e)(Uy.Get().m_visiblePackageIDsCallbackList, t), e;
    }
    function Qy() {
      return i.a.useMemo(
        () => Object(o.g)("publisherid", "application_config"),
        [],
      );
    }
    class Yy {
      constructor() {
        (this.m_mapPackagePrice = new Map()),
          (this.m_setRecurringSubscriptions = new Set()),
          (this.m_mapPriceProposals = new Map()),
          (this.m_mapLocalPackagePriceOverrides = new Map()),
          (this.m_mapPriceGridCellCallbackList = new Map()),
          (this.m_allPriceOverridesCallbackList = new g.a()),
          (this.m_mapOverridesPerPriceKey = new Map()),
          (this.m_mapCurrencyData = new Map()),
          (this.m_mapPriceKeyDescriptions = new Map()),
          (this.m_mapPriceGuidelines = new Map()),
          (this.m_rgPriceLevels = []),
          (this.m_mapMinPrices = new Map()),
          (this.m_mapMinDiscountedPrices = new Map()),
          (this.m_strDisplayPriceKey = "USD"),
          (this.m_displayPriceKeyCallbackList = new g.a()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_PackagePricingStore = this);
      }
      static Get() {
        return (
          Yy.s_Singleton ||
            ((Yy.s_Singleton = new Yy()), Yy.s_Singleton.Init()),
          Yy.s_Singleton
        );
      }
      Init() {
        var e, t, n, a, r, i, s, l, c, d;
        const u = new Set(),
          m = Object(o.g)("base_prices", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackagePricingStore loading base price payload: ",
              m,
            ),
          m)
        )
          if (this.BIsPricePayloadValid(m))
            for (let e in m) {
              const t = m[e],
                n = parseInt(e),
                a = new Map();
              this.m_mapPackagePrice.set(n, a);
              for (let e in t) u.add(e), a.set(e, t[e]);
            }
          else
            "dev" == o.c.WEB_UNIVERSE &&
              console.error("Invalid base price payload");
        const p = Object(o.g)("recurring_subs", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackagePricingStore loading recurring subscriptions payload: ",
              p,
            ),
          p)
        )
          if (Array.isArray(p))
            for (const e of p) this.m_setRecurringSubscriptions.add(e);
          else
            "dev" == o.c.WEB_UNIVERSE &&
              console.error("Invalid recurring subscriptions payload");
        const h = Object(o.g)("pending_proposals", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackagePricingStore loading pending price proposal payload: ",
              h,
            ),
          h)
        )
          if (this.BIsPendingPricePayloadValid(h))
            for (let e in h) {
              const t = h[e],
                n = parseInt(e);
              this.m_mapPriceProposals.set(n, t);
            }
          else
            "dev" == o.c.WEB_UNIVERSE &&
              console.error("Invalid pending price proposal payload");
        const _ = Object(o.g)("pricing_guidelines", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackagePricingStore loading pricing guidelines payload: ",
              _,
            ),
          _)
        )
          if (this.BIsGuidelinesPayloadValid(_)) {
            for (let e in _) {
              const t = _[e],
                n = new Map(),
                a = 100 * parseInt(e.substring(3));
              this.m_rgPriceLevels.push(a), this.m_mapPriceGuidelines.set(a, n);
              for (let e in t) n.set(e.toUpperCase(), parseInt(t[e]));
            }
            this.m_rgPriceLevels.sort((e, t) => e - t);
          } else
            "dev" == o.c.WEB_UNIVERSE &&
              console.error("Invalid pricing guidelines payload");
        this.m_rgKnownPriceKeys = Array.from(u).sort((e, t) =>
          Object(Mn.e)(eE(e), eE(t)),
        );
        for (const o of this.m_rgKnownPriceKeys) {
          const u =
              null !==
                (t =
                  null === (e = this.m_mapPriceGuidelines.get(100)) ||
                  void 0 === e
                    ? void 0
                    : e.get(o)) && void 0 !== t
                ? t
                : 0,
            m =
              null !==
                (a =
                  null === (n = this.m_mapPriceGuidelines.get(200)) ||
                  void 0 === n
                    ? void 0
                    : n.get(o)) && void 0 !== a
                ? a
                : 0,
            p =
              null !==
                (i =
                  null === (r = this.m_mapPriceGuidelines.get(300)) ||
                  void 0 === r
                    ? void 0
                    : r.get(o)) && void 0 !== i
                ? i
                : 0,
            h =
              null !==
                (l =
                  null === (s = this.m_mapPriceGuidelines.get(400)) ||
                  void 0 === s
                    ? void 0
                    : s.get(o)) && void 0 !== l
                ? l
                : 0,
            _ =
              null !==
                (d =
                  null === (c = this.m_mapPriceGuidelines.get(500)) ||
                  void 0 === c
                    ? void 0
                    : c.get(o)) && void 0 !== d
                ? d
                : 0;
          this.m_mapMinPrices.set(o, Math.ceil(0.9 * u));
          const g = Math.floor(Math.min(u / 2, m / 4, p / 6, h / 8, _ / 10));
          this.m_mapMinDiscountedPrices.set(o, g);
        }
        const g = Object(o.g)("currency_data", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackagePricingStore loading currency payload: ",
              g,
            ),
          g)
        )
          if (this.BIsCurrencyPayloadValid(g))
            for (let e in g) {
              const t = g[e];
              this.m_mapCurrencyData.set(e, t);
            }
          else
            "dev" == o.c.WEB_UNIVERSE &&
              console.error("Invalid currency payload");
        const b = Object(o.g)("currency_descriptions", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CPackagePricingStore loading currency descriptions: ",
              g,
            ),
          b)
        )
          if (this.BIsCurrencyDescriptionPayloadValid(b))
            for (let e in b) {
              const t = b[e];
              this.m_mapPriceKeyDescriptions.set(e, t);
            }
          else
            "dev" == o.c.WEB_UNIVERSE &&
              console.error("Invalid currency description payload");
      }
      BIsPricePayloadValid(e) {
        const t = e;
        if (!t || "object" != typeof t) return !1;
        for (let e in t) {
          if (isNaN(parseInt(e))) return !1;
          const n = t[e];
          if (!n || "object" != typeof n) return !1;
          for (let e in n)
            if ("string" != typeof e || "number" != typeof n[e]) return !1;
        }
        return !0;
      }
      BIsPendingPricePayloadValid(e) {
        const t = e;
        if (!t || "object" != typeof t) return !1;
        for (let e in t) {
          if (isNaN(parseInt(e))) return !1;
          const n = t[e];
          if (
            !n ||
            "object" != typeof n ||
            n.packageID !== parseInt(e) ||
            "object" != typeof n.prices
          )
            return !1;
        }
        return !0;
      }
      BIsGuidelinesPayloadValid(e) {
        const t = e;
        if (!t || "object" != typeof t) return !1;
        for (let e in t) {
          const n = t[e];
          if (!n || "object" != typeof n) return !1;
          for (let e in n)
            if ("string" != typeof e || isNaN(parseInt(n[e]))) return !1;
        }
        return !0;
      }
      BIsCurrencyPayloadValid(e) {
        const t = e;
        if (!t || "object" != typeof t) return !1;
        for (let e in t) {
          const n = t[e];
          if (!n || "object" != typeof n || n.strCode != e) return !1;
        }
        return !0;
      }
      BIsCurrencyDescriptionPayloadValid(e) {
        const t = e;
        if (!t || "object" != typeof t) return !1;
        for (let e in t) {
          const n = t[e];
          if (!n || "string" != typeof n) return !1;
        }
        return !0;
      }
      GetPublishedPrice(e, t) {
        var n;
        return null === (n = this.m_mapPackagePrice.get(e)) || void 0 === n
          ? void 0
          : n.get(t);
      }
      GetProposedPrice(e, t) {
        var n;
        return null === (n = this.m_mapPriceProposals.get(e)) || void 0 === n
          ? void 0
          : n.prices[t];
      }
      GetSavedPrice(e, t) {
        var n;
        return null !== (n = this.GetProposedPrice(e, t)) && void 0 !== n
          ? n
          : this.GetPublishedPrice(e, t);
      }
      GetPrice(e, t) {
        var n, a;
        return null !==
          (a =
            null === (n = this.m_mapLocalPackagePriceOverrides.get(e)) ||
            void 0 === n
              ? void 0
              : n.get(t)) && void 0 !== a
          ? a
          : this.GetSavedPrice(e, t);
      }
      GetPriceGridCellCallbackList(e, t) {
        if (!e || !t) return null;
        this.m_mapPriceGridCellCallbackList.has(e) ||
          this.m_mapPriceGridCellCallbackList.set(e, new Map());
        const n = this.m_mapPriceGridCellCallbackList.get(e);
        return n.has(t) || n.set(t, new g.a()), n.get(t);
      }
      OverridePrice(e, t, n) {
        n != this.GetPrice(e, t) &&
          (this.m_mapLocalPackagePriceOverrides.has(e) ||
            this.m_mapLocalPackagePriceOverrides.set(e, new Map()),
          n == this.GetSavedPrice(e, t)
            ? this.m_mapLocalPackagePriceOverrides.get(e).delete(t)
            : this.m_mapLocalPackagePriceOverrides.get(e).set(t, n),
          this.GetPriceGridCellCallbackList(e, t).Dispatch(n),
          this.DispatchPriceOverridesCallbacks());
      }
      DispatchPriceOverridesCallbacks() {
        this.m_allPriceOverridesCallbackList.Dispatch(
          this.GetAllLocalPriceOverrides(),
        ),
          this.UpdateOverridesPerPriceKey();
      }
      BHasLocalPriceOverrides(e) {
        var t;
        return (
          (null === (t = this.m_mapLocalPackagePriceOverrides.get(e)) ||
          void 0 === t
            ? void 0
            : t.size) > 0
        );
      }
      GetAllLocalPriceOverrides() {
        const e = [];
        return (
          this.m_mapLocalPackagePriceOverrides.forEach((t, n) =>
            t.forEach((t, a) => {
              const r = this.GetSavedPrice(n, a);
              e.push({
                packageID: n,
                strPriceKey: a,
                nPriceInCents: t,
                nOldPriceInCents: r,
              });
            }),
          ),
          e.sort(Zy),
          e
        );
      }
      UpdateOverridesPerPriceKey() {
        this.m_mapOverridesPerPriceKey.clear(),
          this.m_mapLocalPackagePriceOverrides.forEach((e, t) => {
            e.forEach((e, t) => {
              let n = this.m_mapOverridesPerPriceKey.get(t);
              n || (n = 0), n++, this.m_mapOverridesPerPriceKey.set(t, n);
            });
          });
      }
      DiscardAllLocalPriceOverrides() {
        const e = this.GetAllLocalPriceOverrides();
        this.m_mapLocalPackagePriceOverrides.clear();
        for (const t of e) {
          const { packageID: e, strPriceKey: n } = t;
          this.GetPriceGridCellCallbackList(e, n).Dispatch(this.GetPrice(e, n));
        }
        this.DispatchPriceOverridesCallbacks();
      }
      DiscardAllLocalPriceOverridesForKey(e) {
        let t = !1;
        this.m_mapLocalPackagePriceOverrides.forEach((n, a) => {
          this.m_mapPriceKeyDescriptions.has(e) &&
            ((t = !0),
            this.m_mapLocalPackagePriceOverrides.get(a).delete(e),
            this.GetPriceGridCellCallbackList(a, e).Dispatch(
              this.GetPrice(a, e),
            ));
        }),
          t && this.DispatchPriceOverridesCallbacks();
      }
      DiscardLocalPriceOverridesForPackage(e) {
        var t;
        null === (t = this.m_mapLocalPackagePriceOverrides.get(e)) ||
          void 0 === t ||
          t.forEach((t, n) => {
            this.GetPriceGridCellCallbackList(e, n).Dispatch(
              this.GetSavedPrice(e, n),
            );
          }),
          this.m_mapLocalPackagePriceOverrides.delete(e),
          this.DispatchPriceOverridesCallbacks();
      }
      BuildNewPricingProposal(e, t) {
        const n = {
          packageID: e,
          rtSubmitted: Math.floor(Date.now() / 1e3),
          submitterID: o.j.accountid,
          prices: {},
          eState: 1,
          bPartnerWillPublish: t,
        };
        for (const t of this.m_rgKnownPriceKeys)
          n.prices[t] = this.GetPrice(e, t);
        return n;
      }
      SubmitProposalToServer(e, t, n) {
        var r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.BuildNewPricingProposal(e, t),
            l = JSON.stringify(a.prices),
            c = Object(o.g)("publisherid", "application_config"),
            d =
              o.c.PARTNER_BASE_URL +
              "pricing/ajaxsubmitproposal/" +
              c +
              "/" +
              e,
            u = new FormData();
          u.append("sessionid", o.c.SESSIONID),
            u.append("partner_will_publish", t ? "1" : "0"),
            u.append("prices", l);
          let m = null;
          try {
            const t = yield F.a.post(d, u, {
              withCredentials: !0,
              cancelToken: null == n ? void 0 : n.token,
            });
            if (
              200 == (null == t ? void 0 : t.status) &&
              1 ==
                (null === (r = t.data) || void 0 === r ? void 0 : r.success) &&
              0 != t.data.eState
            ) {
              if (3 == t.data.eState) {
                this.m_mapPriceProposals.delete(e);
                for (const t of this.m_rgKnownPriceKeys)
                  this.m_mapPackagePrice.get(e).set(t, a.prices[t]);
              } else
                (a.eState = t.data.eState),
                  (a.proposalKey = t.data.proposalKey),
                  this.m_mapPriceProposals.set(e, a);
              return this.DiscardLocalPriceOverridesForPackage(e), t.data;
            }
          } catch (e) {
            m = e;
          }
          const p = Object(me.a)(m);
          return (
            console.error(
              "CPackagePricingStore.SubmitProposalToServer: failed",
              p.strErrorMsg,
              p,
            ),
            null !==
              (s =
                null === (i = null == m ? void 0 : m.response) || void 0 === i
                  ? void 0
                  : i.data) && void 0 !== s
              ? s
              : { success: 2 }
          );
        });
      }
      PublishApprovedProposal(e, t, n = 0) {
        var r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.m_mapPriceProposals.get(e);
          if (
            4 != (null == a ? void 0 : a.eState) ||
            !(null == a ? void 0 : a.proposalKey)
          )
            return { success: 8 };
          const l = Object(o.g)("publisherid", "application_config"),
            c =
              o.c.PARTNER_BASE_URL +
              "pricing/ajaxpublishproposal/" +
              l +
              "/" +
              e,
            d = new FormData();
          d.append("sessionid", o.c.SESSIONID),
            d.append("proposal_key", a.proposalKey);
          let u = null;
          try {
            const i = yield F.a.post(c, d, {
              withCredentials: !0,
              cancelToken: null == t ? void 0 : t.token,
              timeout: n,
            });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 == (null === (r = i.data) || void 0 === r ? void 0 : r.success)
            ) {
              this.m_mapPriceProposals.delete(e);
              for (const t of this.m_rgKnownPriceKeys)
                this.m_mapPackagePrice.get(e).set(t, a.prices[t]),
                  this.GetPriceGridCellCallbackList(e, t).Dispatch(
                    this.GetSavedPrice(e, t),
                  );
              return this.DispatchPriceOverridesCallbacks(), i.data;
            }
          } catch (e) {
            u = e;
          }
          const m = Object(me.a)(u);
          return (
            console.error(
              "CPackagePricingStore.PublishApprovedProposal: failed",
              m.strErrorMsg,
              m,
            ),
            null !==
              (s =
                null === (i = null == u ? void 0 : u.response) || void 0 === i
                  ? void 0
                  : i.data) && void 0 !== s
              ? s
              : { success: 2 }
          );
        });
      }
      CancelProposal(e, t) {
        var n, r, i;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.m_mapPriceProposals.get(e);
          if (!(null == a ? void 0 : a.proposalKey)) return { success: 8 };
          const s = Object(o.g)("publisherid", "application_config"),
            l =
              o.c.PARTNER_BASE_URL +
              "pricing/ajaxcancelproposal/" +
              s +
              "/" +
              e,
            c = new FormData();
          c.append("sessionid", o.c.SESSIONID),
            c.append("proposal_key", a.proposalKey);
          let d = null;
          try {
            const a = yield F.a.post(l, c, {
              withCredentials: !0,
              cancelToken: null == t ? void 0 : t.token,
            });
            if (
              200 == (null == a ? void 0 : a.status) &&
              1 == (null === (n = a.data) || void 0 === n ? void 0 : n.success)
            ) {
              this.m_mapPriceProposals.delete(e);
              for (const t of this.m_rgKnownPriceKeys)
                this.GetPriceGridCellCallbackList(e, t).Dispatch(
                  this.GetSavedPrice(e, t),
                );
              return this.DispatchPriceOverridesCallbacks(), a.data;
            }
          } catch (e) {
            d = e;
          }
          const u = Object(me.a)(d);
          return (
            console.error(
              "CPackagePricingStore.CancelProposal: failed",
              u.strErrorMsg,
              u,
            ),
            null !==
              (i =
                null === (r = null == d ? void 0 : d.response) || void 0 === r
                  ? void 0
                  : r.data) && void 0 !== i
              ? i
              : { success: 2 }
          );
        });
      }
      GetLocalOverrideCountForPriceKey(e) {
        var t;
        return null !== (t = this.m_mapOverridesPerPriceKey.get(e)) &&
          void 0 !== t
          ? t
          : 0;
      }
    }
    function Zy(e, t) {
      if (e.strPriceKey == t.strPriceKey) {
        const n = Vy(e.packageID),
          a = Vy(t.packageID);
        return Object(Mn.e)(n, a);
      }
      return Object(Mn.e)(eE(e.strPriceKey), eE(t.strPriceKey));
    }
    function Jy(e) {
      const t = e.split("_")[0];
      return Yy.Get().m_mapCurrencyData.get(t);
    }
    function Xy(e, t) {
      var n;
      if (void 0 === t) return ["", "", ""];
      const a = null !== (n = Jy(t)) && void 0 !== n ? n : Jy("USD");
      let r = "";
      if ("number" == typeof e) {
        let t = e.toString();
        t.length < 3 && (t = (1 == t.length ? "0" : "") + "0" + t);
        const n = t.length - 2;
        for (let e = 0; e < n; e++) {
          const i = t.charAt(e);
          (r += i),
            e < n - 1 &&
              (n - e - 1) % 3 == 0 &&
              "-" != i &&
              (r += a.strThousandsSeparator);
        }
        a.bWholeUnitsOnly ||
          ((r += a.strDecimalSymbol), (r += t.substr(t.length - 2)));
      }
      return a.bSymbolIsPrefix
        ? [a.strSymbol + a.strSymbolAndNumberSeparator, r, ""]
        : ["", r, a.strSymbolAndNumberSeparator + a.strSymbol];
    }
    Object(a.b)([L.C], Yy.prototype, "m_mapOverridesPerPriceKey", void 0),
      Object(a.b)([L.k], Yy.prototype, "UpdateOverridesPerPriceKey", null);
    const $y = new Map([
      ["USD", "@1"],
      ["CNY", "@2"],
      ["EUR", "@3"],
      ["GBP", "@4"],
      ["CAD", "@5"],
      ["AUD", "@6"],
      ["JPY", "@7"],
      ["KRW", "@8"],
      ["RUB", "@9"],
    ]);
    function eE(e) {
      return $y.has(e) ? $y.get(e) : e.indexOf("_") > 0 ? "ZZZ" + e : e;
    }
    function tE(e, t) {
      return Yy.Get().GetPrice(e, t);
    }
    function nE(e) {
      const t = Yy.Get().m_strDisplayPriceKey;
      return Xy(Yy.Get().GetPrice(e, t), t).join("");
    }
    function aE(e) {
      const [t, n] = i.a.useState(Yy.Get().m_strDisplayPriceKey);
      return (
        Object(u.e)(Yy.Get().m_displayPriceKeyCallbackList, n),
        (function (e, t) {
          const [n, a] = i.a.useState(Yy.Get().GetPrice(e, t));
          return (
            Object(u.e)(Yy.Get().GetPriceGridCellCallbackList(e, t), a),
            i.a.useEffect(() => a(Yy.Get().GetPrice(e, t)), [e, t]),
            Xy(n, t).join("")
          );
        })(e, t)
      );
    }
    function rE(e, t) {
      const n = Yy.Get().GetPrice(e, "USD");
      let a = null;
      for (let e of Yy.Get().m_rgPriceLevels)
        if (e > n) {
          a = e;
          break;
        }
      if ("USD" == t || !a)
        return { nSuggestedPriceInCents: null, nGuidelinesLevel: null };
      let r = Yy.Get().m_mapPriceGuidelines.get(a).get(t);
      const i = Yy.Get().m_mapPriceGuidelines.get(a).get("USD");
      if (i != n) {
        const e = n / i;
        (a *= e), (r = Math.ceil(r * e));
      }
      return { nSuggestedPriceInCents: r, nGuidelinesLevel: a };
    }
    function iE() {
      const e = Ky();
      return i.a.useCallback(
        () =>
          (function (e) {
            for (const t of e)
              for (const e of Yy.Get().m_rgKnownPriceKeys) {
                if ("USD" == e) continue;
                const { nSuggestedPriceInCents: n, nGuidelinesLevel: a } = rE(
                  t,
                  e,
                );
                Yy.Get().OverridePrice(t, e, n);
              }
          })(e),
        [e],
      );
    }
    function sE(e, t) {
      var n;
      const a = Object(u.f)();
      Object(u.e)(Yy.Get().GetPriceGridCellCallbackList(e, t), a);
      const r = Yy.Get().GetPrice(e, t);
      Object(u.e)(Yy.Get().GetPriceGridCellCallbackList(e, "USD"), a);
      const { nSuggestedPriceInCents: s, nGuidelinesLevel: o } = rE(e, t),
        l = i.a.useCallback((n) => Yy.Get().OverridePrice(e, t, n), [e, t]),
        c = Yy.Get().GetPublishedPrice(e, t),
        d = Yy.Get().GetProposedPrice(e, t),
        { nMinPriceInCents: m, nMaxPriceInCents: p } = oE(e, t),
        h =
          null !== (n = Yy.Get().m_mapMinDiscountedPrices.get(t)) &&
          void 0 !== n
            ? n
            : 0,
        _ = r ? Math.floor((100 * (r - h)) / r) : 90,
        g = _ < Math.min(90, Math.floor((100 * (o - 50)) / o)) ? _ : null;
      return i.a.useMemo(
        () => ({
          nPriceInCents: r,
          nProposedPriceInCents: d,
          nPublishedPriceInCents: c,
          nMinPriceInCents: m,
          nMaxPriceInCents: p,
          nMaxDiscountPercentage: g,
          nSuggestedPriceInCents: s,
          fnSetPrice: l,
        }),
        [r, d, c, m, p, g, s, l],
      );
    }
    function oE(e, t) {
      var n;
      return {
        nMinPriceInCents:
          null !== (n = Yy.Get().m_mapMinPrices.get(t)) && void 0 !== n ? n : 0,
        nMaxPriceInCents: Yy.Get().m_setRecurringSubscriptions.has(e)
          ? Yy.Get().GetPublishedPrice(e, t)
          : null,
      };
    }
    function lE(e) {
      return Yy.Get().m_mapPriceProposals.get(e);
    }
    function cE() {
      return Yy.Get().m_rgKnownPriceKeys;
    }
    function dE(e) {
      return Yy.Get().m_mapPriceKeyDescriptions.get(e);
    }
    function uE() {
      const [e, t] = i.a.useState(Yy.Get().m_strDisplayPriceKey),
        n = Yy.Get().m_rgKnownPriceKeys,
        a = i.a.useCallback((e) => {
          t(e),
            (Yy.Get().m_strDisplayPriceKey = e),
            Yy.Get().m_displayPriceKeyCallbackList.Dispatch(e);
        }, []);
      return { strPriceKey: e, rgSupportedPriceKeys: n, fnSetPriceKey: a };
    }
    function mE(e) {
      const t = Object(u.f)();
      return (
        Object(u.e)(Yy.Get().m_allPriceOverridesCallbackList, t),
        Yy.Get().BHasLocalPriceOverrides(e)
      );
    }
    function pE() {
      const [e, t] = i.a.useState(() => Yy.Get().GetAllLocalPriceOverrides());
      return Object(u.e)(Yy.Get().m_allPriceOverridesCallbackList, t), e;
    }
    function hE() {
      return i.a.useCallback(() => {
        var e;
        return (
          (null === (e = Yy.Get().GetAllLocalPriceOverrides()) || void 0 === e
            ? void 0
            : e.length) > 0
        );
      }, []);
    }
    function _E() {
      return i.a.useCallback(
        () => Yy.Get().DiscardAllLocalPriceOverrides(),
        [],
      );
    }
    function gE(e) {
      const t = i.a.useCallback(
        (t) => {
          if (e())
            return (
              t.preventDefault(),
              (t.returnValue = Object($.f)(
                "#PackageGrid_NavigationWarning_Title",
              )),
              t.returnValue
            );
        },
        [e],
      );
      i.a.useEffect(
        () => (
          window.addEventListener("beforeunload", t),
          () => window.removeEventListener("beforeunload", t)
        ),
        [t],
      );
    }
    var bE = n("DukG"),
      fE = n.n(bE),
      vE = n("M4uF"),
      SE = n.n(vE);
    const yE = new Set([0, 2, 6, 13]),
      EE = new Set([4, 7, 11]);
    function CE(e) {
      var t, n;
      let a,
        r = !1,
        i = !1;
      const s = new Set();
      for (const n of null !==
        (t = null == e ? void 0 : e.GetIncludedAppIDs()) && void 0 !== t
        ? t
        : []) {
        const e = Dt.a.Get().GetApp(n);
        if (e && yE.has(e.GetAppType())) (r = !0), s.add(e.GetID());
        else if (e && EE.has(e.GetAppType())) {
          i = !0;
          const t = e.GetParentAppID();
          t && s.add(t);
        }
      }
      let o = null;
      1 == s.size
        ? ((a = Array.from(s)[0]),
          (o =
            null === (n = Dt.a.Get().GetApp(a)) || void 0 === n
              ? void 0
              : n.GetName()))
        : s.size > 1 &&
          (o = Object($.f)("#PackageGrid_MultipleBaseGamesFoundForPackage")),
        o || (o = Object($.f)("#PackageGrid_NoBaseGameFoundForPackage"));
      return {
        baseAppName: o,
        contents: r && i ? "BOTH" : r ? "GAME" : i ? "DLC" : null,
        nBaseAppID: a,
      };
    }
    const wE = { include_release: !0 };
    var BE = n("C7Jp"),
      OE = n("83ty"),
      DE = n.n(OE);
    function IE(e, t, n, a) {
      const r = Object($.f)("#PackageGrid_MultipleBaseGamesFoundForPackage"),
        i = Object($.f)("#PackageGrid_NoBaseGameFoundForPackage"),
        s = e == r,
        o = e == i,
        l = !s && !o,
        c = t == r,
        d = t == i,
        u = !c && !d;
      if (l && u) return e.localeCompare(t);
      if (l || u) return l ? -1 : 1;
      if (s == c && o == d) {
        const e = n.getData().packageName,
          t = a.getData().packageName;
        return e && t
          ? e.localeCompare(t)
          : e || t
            ? e
              ? -1
              : 1
            : n.getData().packageID - a.getData().packageID;
      }
      return s ? -1 : 1;
    }
    const TE = (e) => e.nextElementSibling,
      RE = (e) => e.previousElementSibling,
      jE = (e, t) => {
        const n = e.getAttribute("tabulator-field"),
          a = e.parentElement;
        let r = a && t(a);
        for (; n && r; ) {
          for (const e of Array.from(r.children))
            if (n == e.getAttribute("tabulator-field")) return e;
          r = t(r);
        }
        return null;
      },
      AE = new Map([
        [38, (e) => jE(e, RE)],
        [39, TE],
        [40, (e) => jE(e, TE)],
        [37, RE],
        [9, (e) => jE(e, TE)],
        [13, (e) => jE(e, TE)],
      ]);
    function kE(e) {
      return Object(v.l)(e, (e) => e.classList.contains("tabulator-cell"));
    }
    function ME(e) {
      const t = Array.prototype.slice.call(e.children).reverse();
      for (; t.length > 0; ) {
        const e = t.pop();
        if ("input" === e.tagName.toLowerCase()) return e;
        t.push(...Array.prototype.slice.call(e.children).reverse());
      }
      return null;
    }
    function PE(e, t) {
      var n;
      const a = AE.get(e.keyCode);
      if (!a) return;
      let r = a(kE(e.currentTarget));
      for (; r; ) {
        if (
          "none" !=
            (null === (n = r.style) || void 0 === n ? void 0 : n.display) &&
          !r.classList.contains("tabulator-frozen")
        ) {
          const n = ME(r);
          if (n) {
            return LE(t, kE(n)), n.focus(), void e.preventDefault();
          }
        }
        r = a(r);
      }
    }
    function LE(e, t) {
      const n = e.columnManager.scrollLeft,
        a = t.offsetWidth,
        r = t.offsetLeft,
        i = r + a,
        s = e.columnManager.element.clientWidth,
        o = e.columnManager.headersElement.clientWidth,
        l = n + s;
      if (r >= l - o && i <= l) return;
      const c = (r + i) / 2 - (s - o / 2),
        d = (o - a) / 4,
        u = c + (c > n ? d : -1 * d);
      e.columnManager.scrollHorizontal(u), e.rowManager.scrollHorizontal(u);
    }
    function GE(e) {
      var t;
      const { fnBLocalChangesExist: n, fnWarnUser: a, cell: r } = e,
        s = r.getRow().getData().packageID,
        l =
          null !== (t = r.getValue()) && void 0 !== t
            ? t
            : i.a.createElement(
                "span",
                { className: DE.a.UnknownValue },
                Object($.f)("#PackageGrid_PackageID", s),
              );
      return i.a.createElement(
        qE,
        {
          fnBLocalChangesExist: n,
          fnWarnUser: a,
          href: `${o.c.PARTNER_BASE_URL}store/packagelanding/${s}`,
          strToolTip: Object($.f)("#PackageGrid_VisitPackagePricing_Tooltip"),
        },
        l,
      );
    }
    function NE(e) {
      return i.a.useMemo(
        () => ({
          visible: !1,
          title: Object($.f)("#PackageGrid_Column_PackageID"),
          field: "packageID",
          headerSort: !1,
          formatter: Object(Wv.reactFormatter)(
            i.a.createElement(GE, Object.assign({}, e)),
          ),
          cssClass: DE.a.PackageID,
          hozAlign: "right",
          frozen: !0,
          headerTooltip: Object($.f)("#PackageGrid_Column_PackageID_ttip"),
        }),
        [e],
      );
    }
    function FE(e) {
      return i.a.useMemo(
        () => ({
          title: Object($.f)("#PackageGrid_Column_PackageName"),
          field: "packageName",
          headerSort: !1,
          formatter: Object(Wv.reactFormatter)(
            i.a.createElement(GE, Object.assign({}, e)),
          ),
          cssClass: DE.a.PackageName,
          width: 300,
          frozen: !0,
          variableHeight: !0,
          headerTooltip: Object($.f)("#PackageGrid_Column_PackageName_ttip"),
          headerFilter: "input",
          headerFilterPlaceholder: Object($.f)(
            "#PackageGrid_PackageNameFilterInputPrompt",
          ),
        }),
        [e],
      );
    }
    function xE(e) {
      return i.a.useMemo(
        () => ({
          visible: !1,
          title: "App IDs - hidden column",
          field: "appids",
          headerSort: !1,
          frozen: !0,
        }),
        [],
      );
    }
    function zE(e) {
      return i.a.useMemo(
        () => ({
          visible: !1,
          title: Object($.f)("#PackageGrid_Column_PackageType"),
          field: "packageType",
          headerSort: !1,
          cssClass: DE.a.PackageType,
          headerTooltip: Object($.f)("#PackageGrid_Column_PackageType_ttip"),
          frozen: !0,
        }),
        [],
      );
    }
    function UE(e) {
      const t = e.getCell("packageType"),
        n = t && "function" == typeof t.getValue && t.getValue();
      n && e.getElement().classList.add(n);
    }
    function WE(e) {
      var t;
      const { fnBLocalChangesExist: n, fnWarnUser: a, cell: r } = e,
        s = r.getRow().getData().appids,
        l =
          null !== (t = null == s ? void 0 : s.length) && void 0 !== t ? t : 0,
        c = r.getRow().getData().packageID;
      return i.a.createElement(
        qE,
        {
          fnBLocalChangesExist: n,
          fnWarnUser: a,
          href: `${o.c.PARTNER_BASE_URL}store/packagelanding/${c}`,
          strToolTip: Object($.f)("#PackageGrid_VisitPackagePricing_Tooltip"),
        },
        1 == l ? "1 appid" : l + " appids",
      );
    }
    function HE(e) {
      return i.a.useMemo(
        () => ({
          title: Object($.f)("#PackageGrid_Column_AppName"),
          field: "appName",
          sorter: IE,
          headerSort: !1,
          formatter: Object(Wv.reactFormatter)(
            i.a.createElement(WE, Object.assign({}, e)),
          ),
          cssClass: DE.a.AppCount,
          width: 80,
          frozen: !0,
          headerTooltip: Object($.f)("#PackageGrid_Column_AppName_ttip"),
        }),
        [e],
      );
    }
    function VE(e, t, n, a) {
      return e == Object($.f)("#PackageGrid_NoBaseGameFoundForPackage")
        ? `<div title='${Object($.f)("#PackageGrid_NoBaseGameExplanation")}' >${e} (?) <span>(${Object($.n)("#PackageGrid_PackageCount", t)})</span></div>`
        : `<div>${e} <span>(${Object($.n)("#PackageGrid_PackageCount", t)})</span></div>`;
    }
    function qE(e) {
      const {
        fnBLocalChangesExist: t,
        fnWarnUser: n,
        href: a,
        children: r,
        strToolTip: s,
        strClassName: o,
      } = e;
      return i.a.createElement(
        Qe.a,
        { toolTipContent: s, className: o },
        i.a.createElement(
          "a",
          {
            onClick: (e) => {
              t() && (e.preventDefault(), n(e, a));
            },
            href: a,
          },
          r,
        ),
      );
    }
    var KE = n("eV45"),
      QE = n("OeiR"),
      YE = n("6f0C"),
      ZE = n.n(YE),
      JE = n("a2VJ"),
      XE = n.n(JE);
    function $E(e) {
      const { packageID: t } = e,
        n = i.a.useRef();
      return i.a.createElement(
        "div",
        {
          className: XE.a.PriceGuidelinesPicker,
          onClick: (e) => {
            const a = {
              bOverlapHorizontal: !0,
              strClassName: Object(h.a)(ZE.a.contextMenu, XE.a.DropDown),
            };
            n.current = Object(_e.a)(
              i.a.createElement(eC, {
                packageID: t,
                fnOnClick: () => n.current.Hide(),
              }),
              e.currentTarget,
              a,
            );
          },
        },
        i.a.createElement(H.u, null),
      );
    }
    function eC(e) {
      const { packageID: t, fnOnClick: n } = e,
        { rgUSDPricesInCents: a, fnApplyGuidelines: r } = (function () {
          const e = [],
            t = i.a.useRef(new Map());
          Yy.Get().m_mapPriceGuidelines.forEach((n, a) => {
            const r = n.get("USD");
            e.push(r), t.current.set(r, a);
          }),
            e.sort((e, t) => e - t);
          const n = i.a.useCallback((e, n) => {
            const a = t.current.get(n);
            Yy.Get()
              .m_mapPriceGuidelines.get(a)
              .forEach((t, n) => Yy.Get().OverridePrice(e, n, t));
          }, []);
          return { rgUSDPricesInCents: e, fnApplyGuidelines: n };
        })(),
        { nPriceInCents: s } = sE(t, "USD");
      return i.a.createElement(
        "div",
        { className: XE.a.GuidelinesPanel },
        i.a.createElement(
          "div",
          { className: XE.a.GuidelinesDescription },
          Object($.f)("#PricingDashboard_GuidelinesPickerDescription"),
        ),
        i.a.createElement(
          "div",
          { className: XE.a.GuidelinesGrid },
          a.map((e) =>
            i.a.createElement(
              "div",
              {
                key: e,
                onClick: () =>
                  ((e) => {
                    r(t, e), n();
                  })(e),
                className: Object(h.a)(
                  XE.a.GridElement,
                  s == e && XE.a.CurrentPrice,
                ),
              },
              Xy(e, "USD"),
            ),
          ),
        ),
      );
    }
    var tC = n("1uBP"),
      nC = n.n(tC);
    const aC = new KE.a("price-grid-cell-popout-elements");
    function rC(e) {
      let { hoverKey: t, className: n, renderHover: a } = e,
        r = Object(h.a)(nC.a.MoreDots, n),
        s = i.a.useRef(),
        o = i.a.useCallback(() => {
          aC.HideElement(s.current.ownerDocument, t);
        }, [t]);
      return i.a.createElement(
        "div",
        {
          ref: s,
          tabIndex: -1,
          className: r,
          onFocus: (e) => {
            e.target.focus();
            let n = i.a.createElement(
              QE.a,
              {
                target: s.current,
                direction: "top",
                bEnablePointerEvents: !0,
                nBodyDistance: 0,
                onClick: o,
              },
              a(),
            );
            aC.ShowElement(s.current.ownerDocument, n, t);
          },
          onBlur: () => {
            aC.HideElement(s.current.ownerDocument, t, 100);
          },
        },
        i.a.createElement(H.P, null),
      );
    }
    function iC(e) {
      const { cell: t } = e,
        n = t.getRow().getData().packageID,
        a = t.getValue(),
        {
          nPriceInCents: r,
          nPublishedPriceInCents: s,
          nProposedPriceInCents: o,
          fnSetPrice: l,
        } = sE(n, a),
        [c, d, u] = Xy(r, a),
        m = Jy(a),
        p = i.a.useRef(),
        h = n + a,
        { strClassName: _ } = oC(n, a),
        g = "USD" == a,
        b = null != o ? o : s,
        f = r != b;
      return i.a.createElement(
        "div",
        { ref: p, onKeyDown: (e) => PE(e, t.getTable()), className: _ },
        f && i.a.createElement(lC, { nPriceInCents: r, nSavedPriceInCents: b }),
        c && i.a.createElement("div", { className: SE.a.PricePrefix }, c),
        i.a.createElement(
          "div",
          { className: SE.a.EditablePrice },
          i.a.createElement(te.z, {
            value: d,
            className: SE.a.PriceInput,
            onChange: (e) => {
              const t = e.target.value.replace(/[^0-9]/g, "");
              let n = Number(t || 0);
              Number.isNaN(n) || (m.bWholeUnitsOnly && (n *= 100), l(n));
            },
            onFocus: (e) => {
              e.target.select(),
                aC.ShowElement(
                  p.current.ownerDocument,
                  i.a.createElement(
                    QE.a,
                    {
                      target: p.current,
                      direction: "top",
                      bEnablePointerEvents: !0,
                      nBodyDistance: 0,
                    },
                    i.a.createElement(dC, {
                      key: h,
                      packageID: n,
                      strPriceKey: a,
                    }),
                  ),
                  h,
                );
            },
            onBlur: () => {
              window.setTimeout(
                () => aC.HideElement(p.current.ownerDocument, h),
                500,
              );
            },
          }),
        ),
        u && i.a.createElement("div", { className: SE.a.PriceSuffix }, u),
        g && i.a.createElement($E, { packageID: n }),
        i.a.createElement(sC, { packageID: n, strPriceKey: a }),
      );
    }
    function sC(e) {
      const { packageID: t, strPriceKey: n } = e,
        { strPriceWarning: a, bBadPrice: r, bShowWarningIcon: s } = oC(t, n);
      return s
        ? i.a.createElement(
            Qe.a,
            {
              className: SE.a.PriceAlert,
              strTooltipClassname: SE.a.HoverToolTip,
              toolTipContent: a,
              direction: "top",
            },
            i.a.createElement(H.k, {
              color: r ? "rgb(194, 45, 0)" : "#e5af37",
            }),
          )
        : null;
    }
    function oC(e, t) {
      const {
          nPriceInCents: n,
          nPublishedPriceInCents: a,
          nProposedPriceInCents: r,
          nMinPriceInCents: s,
          nMaxPriceInCents: o,
          nMaxDiscountPercentage: l,
          nSuggestedPriceInCents: c,
        } = sE(e, t),
        d = lE(e),
        u = "USD" == t,
        m = n != (null != r ? r : a),
        p = m && n < s,
        _ = !!o && n > o,
        g = !!c && n > 2 * c,
        b = !!c && n < c / 2,
        f = !!c && n < c && !!l,
        v =
          (_ && Object($.f)("#PricingDashboard_PriceIncreaseDisallowed")) ||
          (p &&
            Object($.f)("#PricingDashboard_PriceTooLow", Xy(s, t).join(""))) ||
          (g &&
            Object($.f)(
              "#PricingDashboard_PriceMuchHigherThanGuidelines",
              Xy(c, t).join(""),
            )) ||
          (b &&
            Object($.f)(
              "#PricingDashboard_PriceMuchLowerThanGuidelines",
              Xy(c, t).join(""),
            )) ||
          (f &&
            Object($.f)(
              "#PricingDashboard_PriceCheapAndLowerThanGuidelines",
              l,
            )),
        S = _ || p,
        y = g || b,
        E = S || y || f,
        C = !(m || !r || (a && r == a)),
        w = 4 == (null == d ? void 0 : d.eState),
        B = Object(h.a)(
          SE.a.PriceCell,
          u && SE.a.USD,
          m && SE.a.ChangedLocally,
          C && SE.a.ProposedPrice,
          w && SE.a.ApprovedCanPublish,
          E && SE.a.WarningPrice,
          y && SE.a.SevereWarningPrice,
          S && SE.a.BadPrice,
        );
      return i.a.useMemo(
        () => ({
          strPriceWarning: v,
          strClassName: B,
          bBadPrice: S,
          bShowSevereWarning: y,
          bShowWarningIcon: E,
        }),
        [v, B, S, y, E],
      );
    }
    function lC(e) {
      const { nPriceInCents: t, nSavedPriceInCents: n } = e;
      let a = null,
        r = null,
        s = null,
        o = null;
      if (n) {
        const e = Math.ceil((100 * (t - n)) / n),
          l = t > n;
        (s = l
          ? Object($.f)("#PricingDashboard_PriceIncreaseBy", e + "%")
          : Object($.f)("#PricingDashboard_PriceLowerBy", e + "%")),
          (o = Object(h.a)(SE.a.PriceChange, l && SE.a.PriceIncrease)),
          (r = i.a.createElement(
            "div",
            { className: SE.a.PriceChangeArrow },
            i.a.createElement(H.c, { angle: l ? 0 : 180 }),
          )),
          (a = e + "%");
      } else a = Object($.f)("#PricingDashboard_PriceIsNew_Short");
      return i.a.createElement(
        Qe.a,
        {
          className: o,
          strTooltipClassname: SE.a.HoverToolTip,
          toolTipContent: s,
          direction: "top",
        },
        r,
        a,
      );
    }
    function cC(e) {
      return new Date(1e3 * e).toLocaleString($.e.GetPreferredLocales(), {
        weekday: "long",
        month: "long",
        day: "numeric",
        hour: "numeric",
        minute: "2-digit",
      });
    }
    function dC(e) {
      const { packageID: t, strPriceKey: n } = e,
        {
          nPriceInCents: a,
          nPublishedPriceInCents: r,
          nProposedPriceInCents: s,
          nSuggestedPriceInCents: o,
          fnSetPrice: l,
        } = sE(t, n),
        { nPriceInCents: c } = sE(t, "USD"),
        d = !(!s || (r && s == r)),
        u = lE(t),
        m = u && cC(u.rtSubmitted),
        [p, _] = Ce(null == u ? void 0 : u.submitterID),
        g = _ ? _.persona_name : null == u ? void 0 : u.submitterID;
      return i.a.createElement(
        "div",
        { className: SE.a.PricePopout },
        !!r &&
          i.a.createElement(
            Qe.a,
            {
              className: SE.a.DetailRow,
              direction: "left",
              toolTipContent: Object($.f)(
                "#PricingDashboard_CurrentPriceOnStore_ttip",
              ),
            },
            i.a.createElement(
              "div",
              { className: SE.a.DetailLabel },
              Object($.f)("#PricingDashboard_CurrentPriceOnStore"),
            ),
            i.a.createElement(
              "div",
              { className: SE.a.DetailPrice },
              Xy(r, n).join(""),
            ),
            i.a.createElement(
              Qe.a,
              {
                className: Object(h.a)(
                  SE.a.DetailButton,
                  r == a && SE.a.Disabled,
                ),
                onClick: () => l(r),
                bDisabled: r == a,
                toolTipContent: Object($.f)(
                  "#PricingDashboard_UseThisOldPrice_ttip",
                ),
              },
              Object($.f)("#PricingDashboard_UseThisPrice_Button"),
            ),
          ),
        d &&
          i.a.createElement(
            Qe.a,
            {
              className: SE.a.DetailRow,
              direction: "left",
              toolTipContent: Object($.f)(
                "#PricingDashboard_ProposedPrice_ttip",
                g,
                m,
              ),
            },
            i.a.createElement(
              "div",
              { className: SE.a.DetailLabel },
              Object($.f)("#PricingDashboard_ProposedPrice"),
            ),
            i.a.createElement(
              "div",
              { className: SE.a.DetailPrice },
              Xy(s, n).join(""),
            ),
            i.a.createElement(
              Qe.a,
              {
                className: Object(h.a)(
                  SE.a.DetailButton,
                  s == a && SE.a.Disabled,
                ),
                onClick: () => l(s),
                bDisabled: s == a,
                toolTipContent: Object($.f)(
                  "#PricingDashboard_UseThisNewPrice_ttip",
                ),
              },
              Object($.f)("#PricingDashboard_UseThisPrice_Button"),
            ),
          ),
        !!o &&
          i.a.createElement(
            Qe.a,
            {
              className: SE.a.DetailRow,
              direction: "left",
              toolTipContent: Object($.f)(
                "#PricingDashboard_SuggestedPrice_ttip",
                Xy(c, "USD").join(""),
              ),
            },
            i.a.createElement(
              "div",
              { className: SE.a.DetailLabel },
              Object($.f)("#PricingDashboard_SuggestedPrice"),
            ),
            i.a.createElement(
              "div",
              { className: SE.a.DetailPrice },
              Xy(o, n).join(""),
            ),
            i.a.createElement(
              Qe.a,
              {
                className: Object(h.a)(
                  SE.a.DetailButton,
                  o == a && SE.a.Disabled,
                ),
                onClick: () => l(o),
                bDisabled: o == a,
                toolTipContent: Object($.f)(
                  "#PricingDashboard_UseThisNewPrice_ttip",
                ),
              },
              Object($.f)("#PricingDashboard_UseThisPrice_Button"),
            ),
          ),
      );
    }
    var uC = n("7U+2"),
      mC = n.n(uC);
    class pC {
      constructor() {
        (this.m_mapPackageDiscountsById = new Map()),
          (this.m_mapDiscountCallbackList = new Map()),
          (this.m_mapPackageDiscountsByPackageId = new Map()),
          (this.m_mapPackageCallbackList = new Map()),
          (this.m_mapPackageDiscountsByDiscountEventId = new Map()),
          (this.m_mapDiscountEventCallbackList = new Map()),
          (this.m_allDiscountCallbackList = new g.a()),
          (this.m_mapMaxDiscountPercentageByPackageId = new Map()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_PackageDiscountStore = this);
      }
      static Get() {
        return (
          pC.s_Singleton ||
            ((pC.s_Singleton = new pC()), pC.s_Singleton.Init()),
          pC.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)("package_discounts", "application_config");
        ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
          console.log(
            "DEV_DEBUG: CPackageDiscountStore loading discount payload: ",
            e,
          ),
          this.BIsDiscountPayloadValid(e)
            ? this.InternalAddDiscounts(e)
            : "dev" == o.c.WEB_UNIVERSE &&
              e &&
              console.error("Invalid discount payload");
        const t = Object(o.g)("max_discount_percentages", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: CDiscountGridStore loading max-discount-% payload: ",
              t,
            ),
          this.BIsMaxDiscountPayloadValid(t))
        )
          for (let e in t)
            this.m_mapMaxDiscountPercentageByPackageId.set(Number(e), t[e]);
        else
          "dev" == o.c.WEB_UNIVERSE &&
            t &&
            console.error("Invalid max-discount-% payload");
      }
      InternalAddDiscounts(e, t) {
        var n;
        const a = new Set(),
          r = new Set();
        for (const t of e)
          (null === (n = t.discountEventID) || void 0 === n
            ? void 0
            : n.length) || (t.discountEventID = hC(t)),
            this.m_mapPackageDiscountsById.set(t.nDiscountID, t),
            this.GetCallbackListForDiscount(t.nDiscountID).Dispatch(t),
            this.m_mapPackageDiscountsByPackageId.has(t.packageID) ||
              this.m_mapPackageDiscountsByPackageId.set(t.packageID, new Map()),
            this.m_mapPackageDiscountsByPackageId
              .get(t.packageID)
              .set(t.nDiscountID, t),
            a.add(t.packageID),
            this.m_mapPackageDiscountsByDiscountEventId.has(
              t.discountEventID,
            ) ||
              this.m_mapPackageDiscountsByDiscountEventId.set(
                t.discountEventID,
                new Map(),
              ),
            this.m_mapPackageDiscountsByDiscountEventId
              .get(t.discountEventID)
              .set(t.nDiscountID, t),
            r.add(t.discountEventID);
        for (const e of null != t ? t : [])
          this.m_mapPackageDiscountsByPackageId.has(e) ||
            this.m_mapPackageDiscountsByPackageId.set(e, new Map()),
            a.add(e);
        a.forEach((e) =>
          this.GetCallbackListForPackage(e).Dispatch(
            this.GetAllDiscountsForPackage(e),
          ),
        ),
          r.forEach((e) =>
            this.GetCallbackListForDiscountEvent(e).Dispatch(
              this.GetAllDiscountsForDiscountEvent(e),
            ),
          ),
          this.GetGlobalCallbackList().Dispatch(
            this.GetAllDiscountsForAllPackages(),
          );
      }
      InternalDeleteDiscount(e, t, n) {
        var a, r;
        this.m_mapPackageDiscountsById.delete(e),
          null === (a = this.m_mapPackageDiscountsByPackageId.get(t)) ||
            void 0 === a ||
            a.delete(e),
          null === (r = this.m_mapPackageDiscountsByDiscountEventId.get(n)) ||
            void 0 === r ||
            r.delete(e),
          this.GetCallbackListForDiscount(e).Dispatch(null),
          this.GetCallbackListForPackage(t).Dispatch(
            this.GetAllDiscountsForPackage(t),
          ),
          this.GetCallbackListForDiscountEvent(n).Dispatch(
            this.GetAllDiscountsForDiscountEvent(n),
          ),
          this.GetGlobalCallbackList().Dispatch(
            this.GetAllDiscountsForAllPackages(),
          );
      }
      BIsDiscountPayloadValid(e) {
        const t = e;
        if (t && Array.isArray(t)) {
          if (0 == t.length) return !0;
          const e = t[0];
          if (
            e.nDiscountID &&
            "number" == typeof e.nDiscountID &&
            e.packageID &&
            "number" == typeof e.packageID
          )
            return !0;
        }
        return !1;
      }
      BIsMaxDiscountPayloadValid(e) {
        const t = e;
        if (t && "object" == typeof t) {
          for (let e in t)
            if (
              isNaN(parseInt(e)) ||
              (null !== t[e] && "number" != typeof t[e])
            )
              return !1;
          return !0;
        }
        return !1;
      }
      LoadPackageDiscounts(e, t, n = 0) {
        var r, i, s, l;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          const c = new Promise((e, t) => {
              a = e;
            }),
            d = new Set();
          for (const t of e)
            this.m_mapPackageDiscountsByPackageId.has(t) || d.add(t);
          const u = Array.from(d).sort();
          if (0 == u.length) return 1;
          const m = Object(o.g)("publisherid", "application_config"),
            p =
              o.c.PARTNER_BASE_URL +
              "promotion/discounts/ajaxgetpackagediscounts/" +
              m;
          let h = null,
            _ = null;
          try {
            const e = [],
              a = new Array();
            for (; u.length > 0; ) {
              const r = u.splice(0, 50);
              a.push(r);
              const i = { packageids: r.join(","), origin: self.origin };
              e.push(
                F.a.get(p, {
                  params: i,
                  withCredentials: !0,
                  cancelToken: null == t ? void 0 : t.token,
                  timeout: n,
                }),
              );
            }
            const i = yield Promise.all(e),
              s = [];
            for (const e of i) {
              if (
                ((_ = a.unshift()),
                200 != (null == e ? void 0 : e.status) ||
                  1 !=
                    (null === (r = e.data) || void 0 === r
                      ? void 0
                      : r.success) ||
                  !e.data.discounts)
              ) {
                h = { response: e };
                break;
              }
              e.data.discounts.forEach((e) => s.push(e));
            }
            null == h && this.InternalAddDiscounts(s, Array.from(d));
          } catch (e) {
            h = e;
          }
          if (null == h) a(1);
          else {
            const e = Object(me.a)(h);
            console.error(
              "Could not load Discounts for packages",
              _,
              e.strErrorMsg,
              e,
            ),
              a(
                null !==
                  (l =
                    null ===
                      (s =
                        null === (i = null == h ? void 0 : h.response) ||
                        void 0 === i
                          ? void 0
                          : i.data) || void 0 === s
                      ? void 0
                      : s.success) && void 0 !== l
                  ? l
                  : 2,
              );
          }
          return c;
        });
      }
      SaveDiscountToServer(e, t) {
        var n, r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a =
              o.c.PARTNER_BASE_URL +
              "packages/createoreditdiscount/" +
              e.packageID,
            l = new FormData();
          l.append("sessionid", o.c.SESSIONID),
            e.nDiscountID && l.append("id", e.nDiscountID.toString()),
            l.append("name", e.strDiscountName),
            l.append("description", e.strDiscountDescription),
            e.discountEventID &&
              !_C(e.discountEventID) &&
              l.append("type", e.discountEventID),
            l.append("percent", e.nDiscountPct.toString()),
            l.append("start_date", new Date(1e3 * e.rtStartDate).toISOString()),
            l.append("end_date", new Date(1e3 * e.rtEndDate).toISOString());
          let c = null;
          try {
            const i = yield F.a.post(a, l, {
              withCredentials: !0,
              cancelToken: null == t ? void 0 : t.token,
            });
            if (
              ((i.data.msg =
                null !== (n = i.data.msg) && void 0 !== n ? n : i.data.message),
              200 == (null == i ? void 0 : i.status) &&
                1 ==
                  (null === (r = i.data) || void 0 === r
                    ? void 0
                    : r.success) &&
                i.data.discountid)
            )
              return (
                (e.bChangedLocally = !1),
                (e.nDiscountID = i.data.discountid),
                (e.nDiscountPct = i.data.percentage),
                this.InternalAddDiscounts([e]),
                i.data
              );
            c = { response: i };
          } catch (e) {
            c = e;
          }
          const d = Object(me.a)(c);
          return (
            console.error(
              "CPackageDiscountStore.SaveDiscountToServer: failed",
              d.strErrorMsg,
              d,
            ),
            null !==
              (s =
                null === (i = null == c ? void 0 : c.response) || void 0 === i
                  ? void 0
                  : i.data) && void 0 !== s
              ? s
              : { success: 2 }
          );
        });
      }
      DeleteDiscountOnServer(e, t, n, r) {
        var i, s, l;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a =
              o.c.PARTNER_BASE_URL + "packages/removepackagediscount/" + t,
            c = new FormData();
          c.append("sessionid", o.c.SESSIONID),
            c.append("discountid", e.toString());
          let d = null;
          try {
            const s = yield F.a.post(a, c, {
              withCredentials: !0,
              cancelToken: null == r ? void 0 : r.token,
            });
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 == (null === (i = s.data) || void 0 === i ? void 0 : i.success)
            )
              return this.InternalDeleteDiscount(e, t, n), s.data;
            d = { response: s };
          } catch (e) {
            d = e;
          }
          const u = Object(me.a)(d);
          return (
            console.error(
              "CPackageDiscountStore.DeleteDiscountOnServer: failed",
              u.strErrorMsg,
              u,
            ),
            null !==
              (l =
                null === (s = null == d ? void 0 : d.response) || void 0 === s
                  ? void 0
                  : s.data) && void 0 !== l
              ? l
              : { success: 2 }
          );
        });
      }
      GetCallbackListForDiscount(e) {
        return (
          this.m_mapDiscountCallbackList.has(e) ||
            this.m_mapDiscountCallbackList.set(e, new g.a()),
          this.m_mapDiscountCallbackList.get(e)
        );
      }
      GetCallbackListForPackage(e) {
        return (
          this.m_mapPackageCallbackList.has(e) ||
            this.m_mapPackageCallbackList.set(e, new g.a()),
          this.m_mapPackageCallbackList.get(e)
        );
      }
      GetCallbackListForDiscountEvent(e) {
        return (
          this.m_mapDiscountEventCallbackList.has(e) ||
            this.m_mapDiscountEventCallbackList.set(e, new g.a()),
          this.m_mapDiscountEventCallbackList.get(e)
        );
      }
      GetGlobalCallbackList() {
        return this.m_allDiscountCallbackList;
      }
      GetDiscountByID(e) {
        return this.m_mapPackageDiscountsById.get(e);
      }
      GetAllDiscountsForPackage(e) {
        var t, n;
        return this.m_mapPackageDiscountsByPackageId.has(e)
          ? Array.from(
              null !==
                (n =
                  null === (t = this.m_mapPackageDiscountsByPackageId.get(e)) ||
                  void 0 === t
                    ? void 0
                    : t.values()) && void 0 !== n
                ? n
                : [],
            )
          : null;
      }
      GetAllDiscountsForAllPackages() {
        return Array.from(this.m_mapPackageDiscountsById.values());
      }
      GetAllDiscountsForDiscountEvent(e) {
        var t, n;
        return Array.from(
          null !==
            (n =
              null ===
                (t = this.m_mapPackageDiscountsByDiscountEventId.get(e)) ||
              void 0 === t
                ? void 0
                : t.values()) && void 0 !== n
            ? n
            : [],
        );
      }
      GetMaxDiscountPercentage(e) {
        var t;
        return null !==
          (t = this.m_mapMaxDiscountPercentageByPackageId.get(e)) &&
          void 0 !== t
          ? t
          : 90;
      }
      GetMaxDiscountPercentageForGroup(e) {
        const t = e.map((e) => this.GetMaxDiscountPercentage(e));
        return Math.min(...t);
      }
    }
    function hC(e) {
      return `custom-event-${e.rtStartDate}-${e.rtEndDate}-${Object(Mn.a)(e.strDiscountName)}`;
    }
    function _C(e) {
      return e.startsWith("custom-event-");
    }
    function gC(e) {
      return pC.Get().GetAllDiscountsForDiscountEvent(e);
    }
    function bC(e) {
      return pC.Get().GetAllDiscountsForPackage(e);
    }
    function fC(e) {
      return pC.Get().GetCallbackListForPackage(e);
    }
    function vC() {
      return i.a.useCallback(
        (e, t, n) => pC.Get().LoadPackageDiscounts(e, t, n),
        [],
      );
    }
    function SC() {
      const e = (e) => pC.Get().SaveDiscountToServer(e),
        t = (e, t, n) => pC.Get().DeleteDiscountOnServer(e, t, n);
      return i.a.useMemo(
        () => ({ fnSaveDiscount: e, fnDeleteDiscount: t }),
        [],
      );
    }
    function yC(e) {
      const t = Object(Bt.c)(),
        [n, a] = i.a.useState(pC.Get().GetAllDiscountsForPackage(e));
      return (
        Object(u.e)(pC.Get().GetCallbackListForPackage(e), a),
        i.a.useMemo(() => {
          let e = null;
          if (null == n) return { deepestDiscount: e, bLoading: !0 };
          if ((null == n ? void 0 : n.length) > 0)
            for (const a of n)
              a.rtEndDate > t ||
                a.nDiscountPct <= 0 ||
                ((null == e ||
                  a.nDiscountPct > e.nDiscountPct ||
                  (a.nDiscountPct == e.nDiscountPct &&
                    a.rtEndDate > e.rtEndDate)) &&
                  (e = a));
          return { deepestDiscount: e, bLoading: !1 };
        }, [e, t, n])
      );
    }
    function EC(e) {
      const t = Object(Bt.c)(),
        [n, a] = i.a.useState(pC.Get().GetAllDiscountsForAllPackages());
      return (
        Object(u.e)(pC.Get().GetGlobalCallbackList(), a),
        i.a.useMemo(() => {
          var a;
          let r = null;
          if (null == n) return { mostRecentDiscount: r, bLoading: !0 };
          for (const n of e) {
            const e =
              null !== (a = pC.Get().GetAllDiscountsForPackage(n)) &&
              void 0 !== a
                ? a
                : [];
            for (const n of e)
              n.rtEndDate < t && (!r || r.rtEndDate < n.rtEndDate) && (r = n);
          }
          return { mostRecentDiscount: r, bLoading: !1 };
        }, [t, e, n])
      );
    }
    function CC(e) {
      const [t, n] = i.a.useState(pC.Get().GetAllDiscountsForDiscountEvent(e));
      return Object(u.e)(pC.Get().GetCallbackListForDiscountEvent(e), n), t;
    }
    function wC(e) {
      return pC.Get().GetMaxDiscountPercentage(e);
    }
    const BC = "SaleEvent_DurationDiscount_Tooltip",
      OC = "discount";
    class DC {
      constructor() {
        (this.m_mapDiscountEvents = new Map()),
          (this.m_discountEventsListCallback = new g.a()),
          (this.m_bLoadedViaInitOrFullLoad = !1),
          (this.m_bLoadEventsRequestInFlight = !1),
          (this.m_mapInflightDiscountLoadRequest = new Map()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_DiscountEventStore = this);
      }
      GetFutureDiscountEvents() {
        const e = Object(Bt.a)();
        return Array.from(DC.Get().m_mapDiscountEvents.values()).filter(
          (t) => t.end_date > e,
        );
      }
      GetFutureDiscountEventListCallback() {
        return this.m_discountEventsListCallback;
      }
      BLoadedViaInitOrFullLoad() {
        return this.m_bLoadedViaInitOrFullLoad;
      }
      static Get() {
        return (
          DC.s_Singleton ||
            ((DC.s_Singleton = new DC()), DC.s_Singleton.Init()),
          DC.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)("discount_events", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log("DEV_DEBUG: CDiscountEventStore loading payload: ", e),
          this.BIsConfigValid(e))
        ) {
          for (const t of e) this.m_mapDiscountEvents.set(t.id, t);
          this.m_bLoadedViaInitOrFullLoad = !0;
        } else
          "dev" == o.c.WEB_UNIVERSE &&
            e &&
            console.error("CDiscountEventStore Invalid payload");
      }
      BIsConfigValid(e) {
        const t = e;
        return !(!t || !Array.isArray(t));
      }
      GetDiscountEvent(e) {
        return this.m_mapDiscountEvents.get(e);
      }
      LoadAllDiscountEvents(e, t) {
        var n, r, i, s;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.m_bLoadEventsRequestInFlight) return 29;
          const a =
              o.c.PARTNER_BASE_URL +
              "promotion/discounts/ajaxgetalldiscountevents/" +
              e,
            l = {};
          let c = null;
          try {
            this.m_bLoadEventsRequestInFlight = !0;
            const e = yield F.a.get(a, {
              params: l,
              cancelToken: null == t ? void 0 : t.token,
            });
            if (
              ((this.m_bLoadEventsRequestInFlight = !1),
              200 == (null == e ? void 0 : e.status) &&
                1 ==
                  (null === (n = e.data) || void 0 === n
                    ? void 0
                    : n.success) &&
                e.data.events)
            ) {
              for (const t of e.data.events)
                this.m_mapDiscountEvents.set(t.id, t);
              return (
                (this.m_bLoadedViaInitOrFullLoad = !0),
                this.m_discountEventsListCallback.Dispatch(
                  this.GetFutureDiscountEvents(),
                ),
                1
              );
            }
            c = { response: e };
          } catch (e) {
            c = e;
          }
          const d = Object(me.a)(c);
          return (
            console.error("Could not load Discount Events", d.strErrorMsg, d),
            null !==
              (s =
                null ===
                  (i =
                    null === (r = null == c ? void 0 : c.response) ||
                    void 0 === r
                      ? void 0
                      : r.data) || void 0 === i
                  ? void 0
                  : i.success) && void 0 !== s
              ? s
              : 2
          );
        });
      }
      CreateDiscountEvent(e, t, n, r, i, s, l, c) {
        var d;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a =
              o.c.PARTNER_BASE_URL +
              "promotion/discounts/ajaxupdatediscountevent",
            u = new FormData();
          u.append("sessionid", o.c.SESSIONID),
            u.append("name", n),
            u.append("start_time", e.toString()),
            u.append("end_time", t.toString()),
            u.append("allowed_appids", l.join(",")),
            u.append("allowed_publisherids", s.join(",")),
            u.append("description", i),
            u.append("collision_type", "proximity"),
            u.append("event", "1"),
            u.append("header", r),
            u.append("tooltip", BC),
            u.append("type", OC),
            u.append("prevent_weeklong", "");
          let m = null;
          try {
            const o = yield F.a.post(a, u, {
              withCredentials: !0,
              cancelToken: null == c ? void 0 : c.token,
            });
            if (
              200 == (null == o ? void 0 : o.status) &&
              1 ==
                (null === (d = o.data) || void 0 === d ? void 0 : d.success) &&
              o.data.eventid
            ) {
              const a = {
                id: o.data.eventid,
                name: n,
                start_date: e,
                end_date: t,
                appids: l,
                publisherids: s,
                description: i,
                collision_type: "proximity",
                event: "1",
                header: r,
                tooltip: BC,
                type: OC,
                prevent_weeklong: "",
              };
              return (
                this.m_mapDiscountEvents.set(a.id, a),
                this.m_discountEventsListCallback.Dispatch(
                  this.GetFutureDiscountEvents(),
                ),
                a
              );
            }
            m = { response: o };
          } catch (e) {
            m = e;
          }
          const p = Object(me.a)(m);
          return (
            console.error(
              "CDiscountEventStore.CreateDiscountEvent: failed",
              p.strErrorMsg,
              p,
            ),
            null
          );
        });
      }
      UpdateDiscountEventPublisherAndAppList(e, t, n, r) {
        var i;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.m_mapDiscountEvents.get(e);
          if (!a)
            return (
              console.error(
                "UpdateDiscountEventPublisherAndAppList: updating discount event that we have not loaded",
                e,
              ),
              null
            );
          const s =
              o.c.PARTNER_BASE_URL +
              "promotion/discounts/ajaxupdatediscountevent",
            l = new FormData();
          l.append("sessionid", o.c.SESSIONID),
            l.append("eventid", e),
            l.append("name", a.name),
            l.append("start_time", a.start_date.toString()),
            l.append("end_time", a.end_date.toString()),
            l.append("allowed_appids", n.join(",")),
            l.append("allowed_publisherids", t.join(",")),
            l.append("description", a.description),
            l.append("collision_type", a.collision_type),
            l.append("event", a.event),
            l.append("header", a.header),
            l.append("tooltip", a.tooltip),
            l.append("type", a.type),
            l.append("prevent_weeklong", a.prevent_weeklong);
          let c = null;
          try {
            const e = yield F.a.post(s, l, {
              withCredentials: !0,
              cancelToken: null == r ? void 0 : r.token,
            });
            if (
              200 == (null == e ? void 0 : e.status) &&
              1 ==
                (null === (i = e.data) || void 0 === i ? void 0 : i.success) &&
              e.data.eventid
            ) {
              const e = Object.assign(Object.assign({}, a), {
                appids: n,
                publisherids: t,
              });
              return (
                this.m_mapDiscountEvents.set(e.id, e),
                this.m_discountEventsListCallback.Dispatch(
                  this.GetFutureDiscountEvents(),
                ),
                e
              );
            }
            c = { response: e };
          } catch (e) {
            c = e;
          }
          const d = Object(me.a)(c);
          return (
            console.error(
              "CDiscountEventStore.UpdateDiscountEventPublisherAndAppList: failed",
              d.strErrorMsg,
              d,
            ),
            null
          );
        });
      }
      LoadSingleDiscountEvent(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.m_mapDiscountEvents.has(e)
            ? this.m_mapDiscountEvents.get(e)
            : (this.m_mapInflightDiscountLoadRequest.has(e) ||
                this.m_mapInflightDiscountLoadRequest.set(
                  e,
                  this.InternalLoadSingleDiscountEvent(e),
                ),
              this.m_mapInflightDiscountLoadRequest.get(e));
        });
      }
      InternalLoadSingleDiscountEvent(e) {
        var t, n;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const r =
                o.c.PARTNER_BASE_URL +
                "promotion/discounts/ajaxgetdiscounteventbyid",
              i = { sessionid: o.c.SESSIONID, discountid: e },
              s = yield F.a.get(r, { params: i, withCredentials: !0 });
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 ==
                (null === (t = null == s ? void 0 : s.data) || void 0 === t
                  ? void 0
                  : t.success) &&
              (null === (n = null == s ? void 0 : s.data) || void 0 === n
                ? void 0
                : n.discount_event)
            )
              return (
                this.m_mapDiscountEvents.set(e, s.data.discount_event),
                s.data.discount_event
              );
            a = Object(me.a)(s);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionInviteStore.InternalLoadSingleDiscountEvent failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            null
          );
        });
      }
    }
    function IC(e) {
      const t = DC.Get().BLoadedViaInitOrFullLoad(),
        [n, a] = i.a.useState(t ? DC.Get().GetFutureDiscountEvents() : null),
        [r, s] = i.a.useState(null),
        l =
          e ||
          Number.parseInt(Object(o.g)("publisherid", "application_config"));
      Object(u.e)(DC.Get().GetFutureDiscountEventListCallback(), a),
        i.a.useEffect(() => {
          DC.Get().BLoadedViaInitOrFullLoad() ||
            DC.Get().LoadAllDiscountEvents(l).then(s);
        }, [n, l]);
      const c = null != r ? r : (null == n ? void 0 : n.length) ? 1 : null;
      return i.a.useMemo(() => ({ rgDiscountEvents: n, eResult: c }), [n, c]);
    }
    function TC(e) {
      return DC.Get().GetDiscountEvent(e);
    }
    function RC(e) {
      const [t, n] = i.a.useState(DC.Get().GetDiscountEvent(e));
      return (
        i.a.useEffect(() => {
          ((!t && e) || (null == t ? void 0 : t.id) != e) &&
            DC.Get()
              .LoadSingleDiscountEvent(e)
              .then((e) => {
                e && n(e);
              });
        }, [e, t]),
        t
      );
    }
    function jC() {
      return { fnCreateDiscountEvent: DC.Get().CreateDiscountEvent };
    }
    Object(a.b)([Ul.a], DC.prototype, "GetDiscountEvent", null),
      Object(a.b)([Ul.a], DC.prototype, "CreateDiscountEvent", null),
      Object(a.b)(
        [Ul.a],
        DC.prototype,
        "UpdateDiscountEventPublisherAndAppList",
        null,
      );
    const AC = "America/Los_Angeles";
    function kC(e) {
      const t = n("f0Wu").unix(e).tz(AC);
      return (
        t.seconds(0),
        t.minutes(0),
        t.hours(10),
        t.unix() < e && t.hours(34),
        t.unix()
      );
    }
    const MC = "related-discount-view";
    class PC {
      constructor() {
        (this.m_mapDiscountEventsByID = new Map()),
          (this.m_discountEventsCallbackList = new g.a()),
          (this.m_mapLastTimeRaisedPrices = new Map()),
          (this.m_strSelectedDiscountEventID = null),
          (this.m_bIncludeWeeklongEvents = !1),
          (this.m_bIncludeCustomEvents = !0),
          (this.m_bIncludeIneligibleEvents = !1),
          (this.m_bIncludeConflictsInSingleEventView = !0),
          (this.m_eRelatedDiscountView = "deepest-past"),
          (this.m_RelatedDiscountViewCallbackList = new g.a()),
          (this.m_gridEventSelectionParametersCallbackList = new g.a()),
          (this.m_setVisibleDiscountEventIDs = new Set()),
          (this.m_visibleDiscountEventIDsCallbackList = new g.a()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_DiscountGridStore = this);
      }
      static Get() {
        return (
          PC.s_Singleton ||
            ((PC.s_Singleton = new PC()), PC.s_Singleton.Init()),
          PC.s_Singleton
        );
      }
      Init() {
        var e;
        const t = Object(o.g)("price_increase_times", "application_config");
        if (
          (("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log("DEV_DEBUG: CDiscountGridStore loading payload: ", t),
          this.BIsPriceIncreasePayloadValid(t))
        )
          for (let e in t) this.m_mapLastTimeRaisedPrices.set(Number(e), t[e]);
        else
          "dev" == o.c.WEB_UNIVERSE &&
            console.error("CDiscountGridStore Invalid payload");
        (this.m_eRelatedDiscountView =
          null !== (e = window.localStorage.getItem(MC)) && void 0 !== e
            ? e
            : "deepest-past"),
          this.UpdateDiscountEventsForGrid(),
          DC.Get()
            .GetFutureDiscountEventListCallback()
            .Register(() => this.UpdateDiscountEventsForGrid()),
          pC
            .Get()
            .GetGlobalCallbackList()
            .Register(() => this.UpdateDiscountEventsForGrid()),
          this.SetEventSelectionParametersFromURL(),
          this.UpdateVisibleDiscountEventIDs();
      }
      UpdateDiscountEventsForGrid() {
        const e = DC.Get().GetFutureDiscountEvents(),
          t = pC.Get().GetAllDiscountsForAllPackages(),
          n = new Set(e.map((e) => e.id)),
          a = [],
          r = Object(Bt.a)();
        for (const e of t)
          e.rtEndDate > r &&
            (n.has(e.discountEventID) ||
              (a.push({
                id: e.discountEventID,
                name: e.strDiscountName,
                start_date: e.rtStartDate,
                end_date: e.rtEndDate,
                description: e.strDiscountDescription,
              }),
              n.add(e.discountEventID)));
        (this.m_rgDiscountEvents &&
          n.size == this.m_rgDiscountEvents.length &&
          !this.m_rgDiscountEvents.some((e) => !n.has(e.id))) ||
          ((this.m_rgDiscountEvents = a.concat(e)),
          this.m_rgDiscountEvents.sort((e, t) =>
            e.start_date == t.start_date
              ? e.end_date - t.end_date
              : e.start_date - t.start_date,
          ),
          (this.m_mapDiscountEventsByID = new Map(
            this.m_rgDiscountEvents.map((e) => [e.id, e]),
          )),
          this.UpdateVisibleDiscountEventIDs(),
          this.m_discountEventsCallbackList.Dispatch(this.m_rgDiscountEvents));
      }
      UpdateVisibleDiscountEventIDs() {
        this.SetEventSelectionParametersFromURL(),
          (this.m_setVisibleDiscountEventIDs = new Set());
        for (const e of this.m_rgDiscountEvents) {
          let t = null == this.m_strSelectedDiscountEventID;
          t && !this.m_bIncludeCustomEvents && _C(e.id) && (t = !1),
            t &&
              !this.m_bIncludeWeeklongEvents &&
              e.id.startsWith("weeklongdeal_") &&
              !ow(e.id) &&
              (t = !1),
            !t || this.m_bIncludeIneligibleEvents || lw(e.id) || (t = !1),
            this.m_strSelectedDiscountEventID == e.id && (t = !0),
            t && this.m_setVisibleDiscountEventIDs.add(e.id);
        }
        this.m_visibleDiscountEventIDsCallbackList.Dispatch(
          this.m_setVisibleDiscountEventIDs,
        );
      }
      BIsPriceIncreasePayloadValid(e) {
        const t = e;
        if (t && "object" == typeof t) {
          for (let e in t)
            if (isNaN(parseInt(e)) || "number" != typeof t[e]) return !1;
          return !0;
        }
        return !1;
      }
      SetEventSelectionParametersFromURL() {
        const e = new URLSearchParams(window.location.search);
        if (e.has("de")) {
          const t = decodeURIComponent(e.get("de"));
          this.m_mapDiscountEventsByID.has(t) &&
            (this.m_strSelectedDiscountEventID = t);
        }
        if (e.has("wd")) {
          const t = e.get("wd");
          this.m_bIncludeWeeklongEvents = "0" != t;
        }
        if (e.has("cd")) {
          const t = e.get("cd");
          this.m_bIncludeCustomEvents = "0" != t;
        }
        if (e.has("cf")) {
          const t = e.get("cf");
          this.m_bIncludeConflictsInSingleEventView = "0" != t;
        }
      }
      HandleEventSelectionChangeAndNotifyListeners() {
        const e = new URL(window.location.href);
        this.m_strSelectedDiscountEventID
          ? e.searchParams.set(
              "de",
              encodeURIComponent(this.m_strSelectedDiscountEventID),
            )
          : e.searchParams.delete("de"),
          this.m_bIncludeWeeklongEvents
            ? e.searchParams.set("wd", "1")
            : e.searchParams.delete("wd"),
          this.m_bIncludeCustomEvents
            ? e.searchParams.delete("cd")
            : e.searchParams.set("cd", "0"),
          this.m_bIncludeConflictsInSingleEventView
            ? e.searchParams.delete("cf")
            : e.searchParams.set("cf", "0"),
          window.history.replaceState({}, "", e.toString()),
          this.UpdateVisibleDiscountEventIDs(),
          this.m_gridEventSelectionParametersCallbackList.Dispatch(
            this.GetEventSelectionParameters(),
          );
      }
      GetEventSelectionParameters() {
        return {
          bSingleDiscountEventView: null != this.m_strSelectedDiscountEventID,
          strSelectedEvent: this.m_strSelectedDiscountEventID,
          fnSelectEvent: (e) => {
            (this.m_strSelectedDiscountEventID = e),
              this.HandleEventSelectionChangeAndNotifyListeners();
          },
          bIncludeWeeklongEvents: this.m_bIncludeWeeklongEvents,
          fnSetIncludeWeeklongEvents: (e) => {
            (this.m_bIncludeWeeklongEvents = e),
              this.HandleEventSelectionChangeAndNotifyListeners();
          },
          bIncludeCustomEvents: this.m_bIncludeCustomEvents,
          fnSetIncludeCustomEvents: (e) => {
            (this.m_bIncludeCustomEvents = e),
              this.HandleEventSelectionChangeAndNotifyListeners();
          },
          bIncludeConflictsInSingleEventView:
            this.m_bIncludeConflictsInSingleEventView,
          fnSetIncludeConflictsInSingleEventView: (e) => {
            (this.m_bIncludeConflictsInSingleEventView = e),
              this.HandleEventSelectionChangeAndNotifyListeners();
          },
        };
      }
    }
    function LC(e) {
      var t;
      return null !== (t = PC.Get().m_mapLastTimeRaisedPrices.get(e)) &&
        void 0 !== t
        ? t
        : 0;
    }
    function GC() {
      return PC.Get().m_rgDiscountEvents;
    }
    function NC(e) {
      return PC.Get().m_mapDiscountEventsByID.get(e);
    }
    function FC() {
      const [e, t] = i.a.useState(PC.Get().m_rgDiscountEvents);
      return Object(u.e)(PC.Get().m_discountEventsCallbackList, t), e;
    }
    function xC() {
      const [e, t] = i.a.useState(PC.Get().m_setVisibleDiscountEventIDs);
      return Object(u.e)(PC.Get().m_visibleDiscountEventIDsCallbackList, t), e;
    }
    function zC(e) {
      const [t, n] = i.a.useState(PC.Get().m_mapDiscountEventsByID.get(e)),
        a = i.a.useCallback(
          () => n(PC.Get().m_mapDiscountEventsByID.get(e)),
          [e],
        );
      return (
        Object(u.e)(PC.Get().m_discountEventsCallbackList, a),
        i.a.useEffect(a, [e, a]),
        t
      );
    }
    function UC(e = !0) {
      const [t, n] = i.a.useState(PC.Get().GetEventSelectionParameters()),
        a = e ? PC.Get().m_gridEventSelectionParametersCallbackList : null;
      return Object(u.e)(a, n), t;
    }
    function WC() {
      const [e, t] = i.a.useState(PC.Get().m_eRelatedDiscountView);
      Object(u.e)(PC.Get().m_RelatedDiscountViewCallbackList, t);
      return [
        e,
        i.a.useCallback((e) => {
          (PC.Get().m_eRelatedDiscountView = e),
            window.localStorage.setItem(MC, e),
            PC.Get().m_RelatedDiscountViewCallbackList.Dispatch(e);
        }, []),
      ];
    }
    function HC(e, t) {
      var n, a;
      return (
        !!e == !!t &&
        (null == e ? void 0 : e.packageID) ==
          (null == t ? void 0 : t.packageID) &&
        (null == e ? void 0 : e.discountEventID) ==
          (null == t ? void 0 : t.discountEventID) &&
        (null == e ? void 0 : e.eState) == (null == t ? void 0 : t.eState) &&
        (null === (n = null == e ? void 0 : e.rgConflictDetails) || void 0 === n
          ? void 0
          : n.length) ==
          (null === (a = null == t ? void 0 : t.rgConflictDetails) ||
          void 0 === a
            ? void 0
            : a.length) &&
        (null == e ? void 0 : e.optInReg) ==
          (null == t ? void 0 : t.optInReg) &&
        VC(null == e ? void 0 : e.discount, null == t ? void 0 : t.discount) &&
        (null == e ? void 0 : e.nBaseAppID) ==
          (null == t ? void 0 : t.nBaseAppID) &&
        (null == e ? void 0 : e.bChangedLocally) ==
          (null == t ? void 0 : t.bChangedLocally)
      );
    }
    function VC(e, t) {
      var n;
      return (
        (!t &&
          0 ==
            (null !== (n = null == e ? void 0 : e.nDiscountPct) && void 0 !== n
              ? n
              : 0)) ||
        (!!t && t.nDiscountPct == (null == e ? void 0 : e.nDiscountPct))
      );
    }
    const qC = 28 * Rc.g.PerDay - 1.5 * Rc.g.PerHour,
      KC = 10 * Rc.g.PerMinute;
    class QC {
      constructor() {
        (this.m_mapPackageStateForDiscountEvents = new Map()),
          (this.m_mapLocalPackageDiscountOverrides = new Map()),
          (this.m_mapDiscountGridCellCallbackList = new Map()),
          (this.m_mapDiscountEventColumnCallbackList = new Map()),
          (this.m_localPackageDiscountOverrideCallbackList = new g.a()),
          "dev" == o.c.WEB_UNIVERSE && (window.g_DiscountGridEditStore = this);
      }
      static Get() {
        return (
          QC.s_Singleton ||
            ((QC.s_Singleton = new QC()), QC.s_Singleton.Init()),
          QC.s_Singleton
        );
      }
      static IsInitialized() {
        return !!QC.s_Singleton;
      }
      Init() {
        for (const e of Wy())
          QC.Get().ComputePackageState(e),
            fC(e).Register(() => {
              QC.Get().ComputePackageState(e);
            });
        PC.Get().m_discountEventsCallbackList.Register(() => {
          for (const e of Wy()) QC.Get().ComputePackageState(e, !0);
        }),
          QC.s_initializationCallbackList.Dispatch(!0);
      }
      OverridePackageDiscountPct(e, t, n) {
        var a;
        const r =
          null === (a = QC.Get().m_mapPackageStateForDiscountEvents.get(e)) ||
          void 0 === a
            ? void 0
            : a.get(t);
        if (1 != (null == r ? void 0 : r.eState))
          return (
            console.error("Cannot change discount in current state:", r.eState),
            null
          );
        const i = r.discount,
          s = NC(t),
          o = {
            nDiscountID: null == i ? void 0 : i.nDiscountID,
            packageID: e,
            nDiscountPct: n,
            strDiscountName: s.name,
            strDiscountDescription: s.description,
            rtStartDate: s.start_date,
            rtEndDate: s.end_date,
            discountEventID: s.id,
            bChangedLocally: !0,
          };
        return VC(o, i)
          ? null
          : (this.m_mapLocalPackageDiscountOverrides.has(e) ||
              this.m_mapLocalPackageDiscountOverrides.set(e, new Map()),
            this.m_mapLocalPackageDiscountOverrides.get(e).set(t, o),
            this.ComputePackageState(e),
            this.GetLocalPackageDiscountOverrideCallbackList().Dispatch(
              this.GetLocalPackageDiscountOverrides(),
            ),
            o);
      }
      GetLocalPackageDiscountOverrides() {
        const e = [];
        return (
          this.m_mapLocalPackageDiscountOverrides.forEach((t) =>
            t.forEach((t) => {
              var n;
              VC(
                t,
                t.nDiscountID &&
                  ((n = t.nDiscountID), pC.Get().GetDiscountByID(n)),
              ) || e.push(t);
            }),
          ),
          e.sort(XC),
          e
        );
      }
      DiscardAllLocalPackageDiscountOverrides(e) {
        this.m_mapLocalPackageDiscountOverrides.clear();
        for (const t of e) this.ComputePackageState(t);
        this.GetLocalPackageDiscountOverrideCallbackList().Dispatch([]);
      }
      DiscardLocalPackageDiscountOverride(e, t) {
        var n;
        null === (n = this.m_mapLocalPackageDiscountOverrides.get(e)) ||
          void 0 === n ||
          n.delete(t),
          this.ComputePackageState(e),
          this.GetLocalPackageDiscountOverrideCallbackList().Dispatch(
            this.GetLocalPackageDiscountOverrides(),
          );
      }
      OptInRegistrationUpdatedForApp(e, t) {
        const n = Array.from(this.m_mapPackageStateForDiscountEvents.values())
          .map((e) => e.get(t))
          .filter((t) => (null == t ? void 0 : t.nBaseAppID) == e)
          .map((e) => e.packageID);
        null == n || n.forEach((e) => this.ComputePackageState(e));
      }
      GetPackageDiscountsIncludingOverrides(e) {
        var t;
        const n = Object(Bt.a)() - qC,
          a = bC(e);
        if (!a) return null;
        const r = new Map(
          a.filter((e) => e.rtEndDate > n).map((e) => [e.discountEventID, e]),
        );
        return (
          null === (t = this.m_mapLocalPackageDiscountOverrides.get(e)) ||
            void 0 === t ||
            t.forEach((e, t) => {
              VC(e, r.get(t)) || r.set(t, e);
            }),
          r
        );
      }
      GetDiscountGridCellCallbackList(e, t) {
        if (!e || !t) return null;
        this.m_mapDiscountGridCellCallbackList.has(e) ||
          this.m_mapDiscountGridCellCallbackList.set(e, new Map());
        const n = this.m_mapDiscountGridCellCallbackList.get(e);
        return n.has(t) || n.set(t, new g.a()), n.get(t);
      }
      GetDiscountEventColumnCallbackList(e) {
        return e
          ? (this.m_mapDiscountEventColumnCallbackList.has(e) ||
              this.m_mapDiscountEventColumnCallbackList.set(e, new g.a()),
            this.m_mapDiscountEventColumnCallbackList.get(e))
          : null;
      }
      GetLocalPackageDiscountOverrideCallbackList() {
        return this.m_localPackageDiscountOverrideCallbackList;
      }
      GetAllPackageStatesForDiscountEvent(e) {
        const t = [];
        return (
          QC.Get().m_mapPackageStateForDiscountEvents.forEach((n, a) =>
            t.push(n.get(e)),
          ),
          t
        );
      }
      ComputePackageState(e, t) {
        var n, a;
        const r = Dt.a.Get().GetPackage(e);
        if (!r) return;
        const i = GC(),
          s = CE(r).nBaseAppID,
          o = s && Fv.Get().GetOptInRegistrationAndEligibilityForApp(s),
          l = this.GetPackageDiscountsIncludingOverrides(e),
          c = !l,
          d = c
            ? null
            : Array.from(l.values()).sort(
                (e, t) => e.rtStartDate - t.rtStartDate,
              );
        this.m_mapPackageStateForDiscountEvents.has(e) ||
          this.m_mapPackageStateForDiscountEvents.set(e, new Map());
        const u = this.m_mapPackageStateForDiscountEvents.get(e);
        for (const m of i) {
          if (t && u.has(m.id)) continue;
          const i = { packageID: e, discountEventID: m.id, nBaseAppID: s };
          if (
            ((i.discount = null == l ? void 0 : l.get(m.id)),
            (i.bChangedLocally = !!(null === (n = i.discount) || void 0 === n
              ? void 0
              : n.bChangedLocally)),
            c)
          )
            i.eState = 0;
          else if (
            (null === (a = i.discount) || void 0 === a
              ? void 0
              : a.nDiscountPct) > 0
          ) {
            i.eState = 1;
            const e =
              m.opt_in_name && (null == o ? void 0 : o.get(m.opt_in_name));
            e && (i.optInReg = e);
          } else {
            if (((i.eState = 1), JC(m, r))) i.eState = 10;
            else if (m.opt_in_name) {
              const { ePackageDiscountState: e, optInRegistration: t } = ZC(
                m.opt_in_name,
                o,
              );
              (i.eState = e), (i.optInReg = t);
            }
            if (10 != i.eState && 4 != i.eState && 5 != i.eState) {
              const t = YC(e, m, d);
              1 != t.ePackageDiscountState &&
                ((i.eState = t.ePackageDiscountState),
                (i.rgConflictDetails = t.rgConflictingDiscounts.map((e) => {
                  var t, n;
                  return null !==
                    (n =
                      null === (t = TC(e.discountEventID)) || void 0 === t
                        ? void 0
                        : t.name) && void 0 !== n
                    ? n
                    : e.strDiscountName;
                })));
            }
          }
          HC(i, u.get(m.id)) ||
            (u.set(m.id, i),
            this.GetDiscountGridCellCallbackList(e, m.id).Dispatch(i),
            this.GetDiscountEventColumnCallbackList(m.id).Dispatch(
              this.GetAllPackageStatesForDiscountEvent(m.id),
            ));
        }
      }
      GetAvailableDiscountEventsInRange(e, t, n) {
        const a = this.m_mapPackageStateForDiscountEvents.get(e),
          r = new Set([1, 2, 3]);
        return GC()
          .filter(
            (e) =>
              t <= e.start_date && e.end_date <= n && r.has(a.get(e.id).eState),
          )
          .map((e) => e.id);
      }
      GetFutureDiscountRanges(e) {
        const t = Dt.a.Get().GetPackage(e),
          n = this.GetPackageDiscountsIncludingOverrides(e);
        if (!t || !n) return [];
        const a = Array.from(n.values()).sort(
            (e, t) => e.rtStartDate - t.rtStartDate,
          ),
          r = Object(Bt.a)(),
          i = Math.max(r, t.GetReleaseDateRTime() + qC, LC(e) + qC),
          s = [],
          o = new Set();
        let l = i;
        for (let t = 0; t < a.length; t++) {
          const n = a[t];
          if (0 == n.nDiscountPct) continue;
          const r = TC(n.discountEventID);
          let i = n.rtStartDate - qC;
          const c = "unique" == (null == r ? void 0 : r.collision_type);
          if (c && ((i = n.rtStartDate + KC), t + 1 < a.length)) {
            const e = a[t + 1],
              n = NC(e.discountEventID);
            "unique" != (null == n ? void 0 : n.collision_type) &&
              (i = Math.min(i, e.rtStartDate - qC));
          }
          if (l + Rc.g.PerDay < i) {
            const t = {
              bIsAvailable: !0,
              rtStartDate: l,
              rtEndDate: i,
              rgDiscountEventIDs: this.GetAvailableDiscountEventsInRange(
                e,
                l,
                i,
              ),
            };
            s.push(t), t.rgDiscountEventIDs.forEach((e) => o.add(e));
          }
          const d = {
            bIsAvailable: !1,
            rtStartDate: n.rtStartDate,
            rtEndDate: n.rtEndDate,
            discount: n,
            rgDiscountEventIDs: [n.discountEventID],
          };
          if (
            (s.push(d),
            o.add(n.discountEventID),
            (l = n.rtEndDate + qC),
            c && ((l = n.rtEndDate - KC), t - 1 >= 0))
          ) {
            const e = a[t - 1],
              n = NC(e.discountEventID);
            "unique" != (null == n ? void 0 : n.collision_type) &&
              (l = Math.max(l, e.rtEndDate + qC));
          }
          const u = kC(l);
          u - l <= 2 * Rc.g.PerHour && (l = u);
        }
        const c = kC(r + Rc.g.PerYear / 2);
        if (l + Rc.g.PerDay < c) {
          const t = {
            bIsAvailable: !0,
            rtStartDate: l,
            rtEndDate: c,
            rgDiscountEventIDs: this.GetAvailableDiscountEventsInRange(e, l, c),
          };
          s.push(t), t.rgDiscountEventIDs.forEach((e) => o.add(e));
        }
        const d = GC().filter(
          (t) =>
            "unique" == t.collision_type &&
            !o.has(t.id) &&
            1 ==
              this.m_mapPackageStateForDiscountEvents.get(e).get(t.id).eState,
        );
        for (const e of d)
          for (let t = 0; t < s.length; t++)
            if (
              s[t].rtStartDate <= e.start_date &&
              (t == s.length - 1 || e.start_date < s[t + 1].rtStartDate)
            ) {
              const n = {
                bIsAvailable: !0,
                bMajorSaleOnly: !0,
                rtStartDate: e.start_date,
                rtEndDate: e.end_date,
                rgDiscountEventIDs: [e.id],
              };
              s.splice(t + 1, 0, n);
              break;
            }
        return s;
      }
    }
    function YC(e, t, n) {
      let a = 1;
      const r = [];
      let i = !1;
      const s = Dt.a.Get().GetPackage(e);
      if ((null == s ? void 0 : s.GetReleaseDateRTime()) > t.start_date - qC)
        return (
          (a = 6),
          {
            ePackageDiscountState: a,
            rgConflictingDiscounts: r,
            bChangedLocally: i,
          }
        );
      if (LC(e) > t.start_date - qC)
        return (
          (a = 7),
          {
            ePackageDiscountState: a,
            rgConflictingDiscounts: r,
            bChangedLocally: i,
          }
        );
      for (const e of n) {
        if (t.id == e.discountEventID) continue;
        const n = TC(e.discountEventID),
          s =
            "unique" == t.collision_type ||
            "unique" == (null == n ? void 0 : n.collision_type),
          o = s ? t.start_date + KC : t.start_date - qC,
          l = s ? t.end_date - KC : t.end_date + qC;
        if (e.rtEndDate > o && l > e.rtStartDate) {
          if (((i = i || e.bChangedLocally), 0 == e.nDiscountPct)) continue;
          r.push(e), (a = s ? 9 : 8);
        }
      }
      return {
        ePackageDiscountState: a,
        rgConflictingDiscounts: r,
        bChangedLocally: i,
      };
    }
    function ZC(e, t) {
      let n,
        a = 5;
      return (
        t &&
          ((n = t.get(e)),
          !n || n.restricted || n.pruned
            ? ((a = 4), (n = { restricted: !0 }))
            : (a = n.opt_in ? 1 : n.invited || !n.time_opted_in ? 2 : 3)),
        { ePackageDiscountState: a, optInRegistration: n }
      );
    }
    function JC(e, t) {
      var n, a, r;
      if ((null === (n = e.appids) || void 0 === n ? void 0 : n.length) > 0) {
        if (
          null === (a = null == t ? void 0 : t.GetIncludedAppIDs()) ||
          void 0 === a
            ? void 0
            : a.length
        ) {
          const n = new Set(e.appids);
          for (const e of t.GetIncludedAppIDs()) {
            if (n.has(e)) return !1;
            const t =
              null === (r = Dt.a.Get().GetApp(e)) || void 0 === r
                ? void 0
                : r.GetParentAppID();
            if (t && n.has(t)) return !1;
          }
        }
        return !0;
      }
      return !1;
    }
    function XC(e, t) {
      var n, a;
      if (e.packageID != t.packageID) {
        const r =
            null === (n = Dt.a.Get().GetPackage(e.packageID)) || void 0 === n
              ? void 0
              : n.GetName(),
          i =
            null === (a = Dt.a.Get().GetPackage(t.packageID)) || void 0 === a
              ? void 0
              : a.GetName();
        return Object(Mn.e)(r, i);
      }
      {
        const n = 0 == e.nDiscountPct;
        return n != (0 == t.nDiscountPct)
          ? n
            ? -1
            : 1
          : e.rtStartDate - t.rtStartDate;
      }
    }
    function $C() {
      const [e, t] = i.a.useState(QC.Get().GetLocalPackageDiscountOverrides());
      return (
        Object(u.e)(QC.Get().GetLocalPackageDiscountOverrideCallbackList(), t),
        e
      );
    }
    function ew() {
      return i.a.useCallback(() => {
        var e;
        return (
          (null === (e = QC.Get().GetLocalPackageDiscountOverrides()) ||
          void 0 === e
            ? void 0
            : e.length) > 0
        );
      }, []);
    }
    function tw() {
      return i.a.useCallback(
        (e) => QC.Get().DiscardAllLocalPackageDiscountOverrides(e),
        [],
      );
    }
    function nw() {
      return i.a.useCallback(
        (e, t) => QC.Get().DiscardLocalPackageDiscountOverride(e, t),
        [],
      );
    }
    function aw(e, t) {
      var n, a, r;
      const i =
        null === (n = QC.Get().m_mapPackageStateForDiscountEvents.get(e)) ||
        void 0 === n
          ? void 0
          : n.get(t);
      return 1 == (null == i ? void 0 : i.eState)
        ? null !==
            (r =
              null === (a = null == i ? void 0 : i.discount) || void 0 === a
                ? void 0
                : a.nDiscountPct) && void 0 !== r
          ? r
          : 0
        : null;
    }
    function rw() {
      return i.a.useCallback((e, t, n) => {
        const a = [];
        for (const r of n) {
          const n = QC.Get().OverridePackageDiscountPct(r, t, e);
          n && a.push(n);
        }
        return a;
      }, []);
    }
    function iw(e) {
      const [t, n] = i.a.useState(() => sw(e)),
        a = i.a.useCallback(() => {
          n(sw(e));
        }, [e]);
      return (
        i.a.useEffect(a, [e, a]),
        Object(u.e)(QC.Get().GetDiscountEventColumnCallbackList(e), a),
        t
      );
    }
    function sw(e) {
      var t, n;
      const a = QC.Get().GetAllPackageStatesForDiscountEvent(e),
        r = {
          alreadySet: new Set(),
          available: new Set(),
          conflicts: new Set(),
          needRegistration: new Set(),
          ineligibile: new Set(),
        };
      for (const e of a)
        switch (null == e ? void 0 : e.eState) {
          case 0:
            break;
          case 1:
            (null !==
              (n =
                null === (t = e.discount) || void 0 === t
                  ? void 0
                  : t.nDiscountPct) && void 0 !== n
              ? n
              : 0) > 0
              ? r.alreadySet.add(e.packageID)
              : r.available.add(e.packageID);
            break;
          case 6:
          case 7:
          case 8:
          case 9:
            r.conflicts.add(e.packageID);
            break;
          case 2:
          case 3:
            r.needRegistration.add(e.packageID);
            break;
          case 4:
          case 5:
          case 10:
            r.ineligibile.add(e.packageID);
        }
      return r;
    }
    function ow(e) {
      return (
        !!gC(e).some((e) => e.nDiscountPct > 0) ||
        !(
          !QC.IsInitialized() ||
          !QC.Get()
            .GetAllPackageStatesForDiscountEvent(e)
            .some((e) => {
              var t, n;
              return (
                (null !==
                  (n =
                    null === (t = e.discount) || void 0 === t
                      ? void 0
                      : t.nDiscountPct) && void 0 !== n
                  ? n
                  : 0) > 0
              );
            })
        )
      );
    }
    function lw(e) {
      if (_C(e)) return !0;
      const t = TC(e);
      if (!(null == t ? void 0 : t.opt_in_name)) return !0;
      const n = Fv.Get().GetAllOptInRegistrations(t.opt_in_name);
      return (
        !!(null == n ? void 0 : n.length) &&
        n.some((e) => !e.restricted && !e.pruned)
      );
    }
    function cw(e) {
      const t = (function () {
          const [e, t] = i.a.useState(QC.IsInitialized());
          return Object(u.e)(QC.s_initializationCallbackList, t), e;
        })(),
        [n, a] = i.a.useState(t ? QC.Get().GetFutureDiscountRanges(e) : []),
        r = i.a.useCallback(
          () => a(t ? QC.Get().GetFutureDiscountRanges(e) : []),
          [e, t],
        );
      return (
        Object(u.e)(
          t && QC.Get().GetLocalPackageDiscountOverrideCallbackList(),
          r,
        ),
        Object(u.e)(t && fC(e), r),
        i.a.useEffect(r, [e, t, r]),
        n
      );
    }
    function dw(e) {
      var t;
      const n = pE(),
        a =
          null !== (t = null == n ? void 0 : n.length) && void 0 !== t ? t : 0;
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement("div", {
          className: Object(h.a)(
            mC.a.ToolbarPlaceHolder,
            a > 0 && mC.a.Visible,
          ),
        }),
        i.a.createElement(
          "div",
          { className: Object(h.a)(mC.a.ToolbarCtn, a > 0 && mC.a.Visible) },
          i.a.createElement(
            "div",
            { className: mC.a.ToolbarInfo },
            i.a.createElement(
              "div",
              { className: mC.a.ChangeCount },
              Object($.n)("#PackageGrid_PendingChangeCount", a),
            ),
            i.a.createElement(
              "div",
              { className: mC.a.Buttons },
              i.a.createElement(
                te.e,
                {
                  onClick: (e) =>
                    Object(ze.d)(i.a.createElement(pw, null), Object(v.o)(e)),
                  disabled: 0 == a,
                  className: Object(h.a)(mC.a.Button, mC.a.SaveButton),
                },
                Object($.f)("#PackageGrid_SaveChangesDialogButton"),
              ),
              i.a.createElement(
                te.e,
                {
                  className: mC.a.Button,
                  onClick: (e) =>
                    Object(ze.d)(i.a.createElement(bw, null), Object(v.o)(e)),
                },
                Object($.f)("#PackageGrid_DiscardChangesDialogButton"),
              ),
            ),
          ),
        ),
      );
    }
    function uw(e) {
      const { rgLocalPriceOverrides: t } = e,
        [n, a] = i.a.useState(t.length < 9);
      return i.a.createElement(
        "div",
        { className: mC.a.SeeDetailsSection },
        n
          ? i.a.createElement(
              "div",
              { className: mC.a.PriceOverrideSummaryList },
              t.map((e) =>
                i.a.createElement(mw, {
                  key: `${e.packageID}_${e.strPriceKey}`,
                  override: e,
                }),
              ),
            )
          : i.a.createElement(
              te.e,
              { onClick: () => a(!0), className: mC.a.SeeDetailsButton },
              Object($.f)("#PackageGrid_SeePendingChanges"),
            ),
      );
    }
    function mw(e) {
      const { override: t } = e,
        {
          packageID: n,
          strPriceKey: a,
          nPriceInCents: r,
          nOldPriceInCents: s,
        } = t,
        o = Vy(n),
        [l, c, d] = Xy(s, a),
        [u, m, p] = Xy(r, a),
        _ = dE(a),
        { nMinPriceInCents: g, nMaxPriceInCents: b } = oE(n, a),
        f = r < g || (!!b && r > b);
      return i.a.createElement(
        "div",
        { className: Object(h.a)(mC.a.PriceOverrideSummary) },
        i.a.createElement(
          Qe.a,
          {
            toolTipContent: _,
            direction: "top",
            className: mC.a.Currency,
            strTooltipClassname: mC.a.HoverToolTip,
          },
          a,
        ),
        i.a.createElement(
          Qe.a,
          {
            toolTipContent: `${n}: ${o}`,
            direction: "overlay",
            className: mC.a.PackageName,
            strTooltipClassname: mC.a.HoverToolTip,
          },
          o,
        ),
        f
          ? i.a.createElement(sC, { packageID: n, strPriceKey: a })
          : i.a.createElement(lC, { nPriceInCents: r, nSavedPriceInCents: s }),
        i.a.createElement(
          "div",
          { className: mC.a.OldPriceCtn },
          i.a.createElement("div", { className: mC.a.PricePrefix }, l),
          i.a.createElement("span", { className: mC.a.OldPrice }, c),
          i.a.createElement("div", { className: mC.a.PriceSuffix }, d),
        ),
        i.a.createElement(
          "span",
          { className: mC.a.ChangeArrow },
          i.a.createElement(H.c, { angle: 90 }),
        ),
        i.a.createElement(
          "div",
          { className: mC.a.NewPriceCtn },
          i.a.createElement("div", { className: mC.a.PricePrefix }, l),
          i.a.createElement("span", { className: mC.a.NewPrice }, m),
          i.a.createElement("div", { className: mC.a.PriceSuffix }, d),
        ),
      );
    }
    function pw(e) {
      const { closeModal: t, strContinueUrl: n } = e,
        a = pE(),
        r = _E(),
        [s, o] = i.a.useState(void 0),
        l = !!n,
        c = Object($.f)(
          l
            ? "#PackageGrid_NavigationWarning_Title"
            : "#PricingDashboard_SavePricesTitle",
        ),
        d = Object($.n)("#PricingDashboard_SavePricesExplanation", a.length);
      let u = !1,
        m = !1,
        p = !1;
      for (const e of a) {
        const { nMinPriceInCents: t, nMaxPriceInCents: n } = oE(
          e.packageID,
          e.strPriceKey,
        );
        (u = u || e.nPriceInCents < t),
          (m = m || (!!n && e.nPriceInCents > n)),
          (p = p || e.nPriceInCents > e.nOldPriceInCents);
      }
      const h = u || m,
        _ = h || void 0 === s,
        g = () => {
          n && (window.location.href = n);
        },
        b = () => {
          void 0 !== s &&
            (e.closeModal(),
            Object(ze.d)(
              i.a.createElement(gw, { bAutoPublish: s, fnOnSuccess: g }),
              window,
            ));
        };
      return i.a.createElement(
        xe.f,
        {
          onOK: b,
          onCancel: e.closeModal,
          bDestructiveWarning: l,
          closeModal: t,
        },
        i.a.createElement(te.y, null, " ", c, " "),
        i.a.createElement(
          te.c,
          { className: mC.a.SaveDialogBody },
          i.a.createElement(
            te.d,
            { className: mC.a.SaveDialogBodyText },
            l &&
              i.a.createElement(
                "div",
                { className: mC.a.NavigationWarning },
                Object($.f)("#PackageGrid_NavigationWarning"),
              ),
            d,
            h &&
              i.a.createElement(
                "div",
                { className: mC.a.PricePreviewWarning },
                " ",
                Object($.f)("#PricingDashboard_PreviewWarning"),
                " ",
              ),
            i.a.createElement(uw, { rgLocalPriceOverrides: a }),
            p && i.a.createElement(hw, null),
            i.a.createElement(_w, { value: s, onChange: o }),
          ),
          i.a.createElement(
            te.p,
            null,
            l
              ? i.a.createElement(te.E, {
                  strOKText: Object($.f)("#Button_Save"),
                  onOK: b,
                  bOKDisabled: _,
                  strUpdateText: Object($.f)(
                    "#PackageGrid_NavigateWithoutSavingButton",
                  ),
                  onUpdate: () => {
                    r(), e.closeModal(), g();
                  },
                  onCancel: e.closeModal,
                })
              : i.a.createElement(te.D, {
                  strOKText: Object($.f)("#Button_Save"),
                  onOK: b,
                  bOKDisabled: _,
                  onCancel: e.closeModal,
                }),
          ),
        ),
      );
    }
    function hw(e) {
      return i.a.createElement(
        "div",
        { className: mC.a.PriceChangeSaveWarning },
        i.a.createElement(
          "div",
          { className: mC.a.PriceChangeSaveWarningArrow },
          i.a.createElement(H.c, { angle: 0 }),
        ),
        i.a.createElement(
          "div",
          { className: mC.a.HigherPriceWarning },
          " ",
          Object($.f)("#PricingDashboard_SavePrice_CooldownWarning"),
          " ",
        ),
      );
    }
    function _w(e) {
      let { value: t, onChange: n } = e;
      return i.a.createElement(
        "div",
        { className: mC.a.AutoPublishCheckBox },
        i.a.createElement(te.I, {
          className: mC.a.RadioButtons,
          checked: !1 === t,
          onChange: () => n(!1),
          label: Object($.f)("#PricingDashboard_AutoPublish_Disabled"),
        }),
        i.a.createElement(te.I, {
          className: mC.a.RadioButtons,
          checked: !0 === t,
          onChange: () => n(!0),
          label: Object($.f)("#PricingDashboard_AutoPublish_Enabled"),
        }),
      );
    }
    function gw(e) {
      const { closeModal: t, bAutoPublish: n, fnOnSuccess: r } = e,
        s = pE(),
        o = i.a.useCallback(
          (e, t, n) => Yy.Get().SubmitProposalToServer(e, t, n),
          [],
        ),
        l = Object(Tt.a)("SaveProgressDialog"),
        [c, d] = i.a.useState(0),
        [u, m] = i.a.useState(null),
        p = !n;
      return (
        i.a.useEffect(() => {
          (() => {
            Object(a.a)(this, void 0, void 0, function* () {
              var e;
              const n = Array.from(new Set(s.map((e) => e.packageID)));
              for (let t = 0; t < n.length; t++) {
                d(t);
                const a = n[t],
                  r = yield o(a, p, l);
                if (l.token.reason) return;
                if (1 != r.success)
                  return void m(
                    null !== (e = r.msg) && void 0 !== e
                      ? e
                      : Object($.f)("#PricingDashboard_SavePricesError"),
                  );
              }
              d(n.length), t();
            });
          })();
        }, []),
        i.a.createElement(
          xe.e,
          {
            strTitle: Object($.f)("#PackageGrid_SaveInProgress"),
            bAlertDialog: !!u,
            strOKButtonText: u
              ? Object($.f)("#Button_Close")
              : Object($.f)("#Button_OK"),
            onOK: u ? t : r,
            onCancel: () => l.cancel("cancelled by user"),
            bDestructiveWarning: !0,
            closeModal: t,
          },
          null != u ? u : i.a.createElement(ee.a, { position: "center" }),
        )
      );
    }
    function bw(e) {
      const { closeModal: t } = e,
        n = pE(),
        a = _E();
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#PackageGrid_DiscardChangesTitle"),
          strOKButtonText: Object($.f)("#PackageGrid_DiscardChangesButton"),
          onOK: a,
          bDestructiveWarning: !0,
          closeModal: t,
        },
        Object($.n)("#PricingDashboard_DiscardChangesExplanation", n.length),
        i.a.createElement(uw, { rgLocalPriceOverrides: n }),
      );
    }
    var fw, vw;
    function Sw(e) {
      const t = i.a.useCallback(
          (e, t) => Yy.Get().PublishApprovedProposal(e, t, 6e4),
          [],
        ),
        [n, r] = i.a.useState(vw.Idle);
      return {
        fnPublish: i.a.useCallback(
          () =>
            Object(a.a)(this, void 0, void 0, function* () {
              r(vw.Loading);
              1 == (yield t(e)).success ? r(vw.OK) : r(vw.Failed);
            }),
          [r, t, e],
        ),
        ePublishState: n,
      };
    }
    function yw(e) {
      const { closeModal: t, packageID: n } = e,
        r = (function (e) {
          const t = lE(e),
            n = [];
          for (const a of Yy.Get().m_rgKnownPriceKeys) {
            const r = t.prices[a],
              i = Yy.Get().GetPublishedPrice(e, a);
            r != i &&
              n.push({
                packageID: e,
                strPriceKey: a,
                nPriceInCents: r,
                nOldPriceInCents: i,
              });
          }
          return n;
        })(n),
        s = r.some((e) => e.nPriceInCents > e.nOldPriceInCents),
        o = (function (e, t) {
          let [n, r] = i.a.useState(void 0);
          const s = vC(),
            o = Object(Bt.d)(60);
          return (
            i.a.useEffect(() => {
              t &&
                (r(void 0),
                s([e], void 0, 6e4).then((e) =>
                  Object(a.a)(this, void 0, void 0, function* () {
                    r(e);
                  }),
                ));
            }, [t, e, r, s]),
            t
              ? null == n
                ? fw.Loading
                : 1 != n
                  ? fw.FailedToLoad
                  : bC(e).every(
                        (e) => e.rtStartDate > o + qC || e.rtEndDate < o,
                      )
                    ? fw.OK
                    : fw.RequiresCooldown
              : fw.OK
          );
        })(n, s),
        { fnPublish: l, ePublishState: c } = Sw(n);
      let d;
      if (o == fw.FailedToLoad)
        d = Object($.l)(
          "#PricingDashboard_PriceProposal_Publish_FailedToLoad",
          i.a.createElement("div", null),
          i.a.createElement("div", null),
        );
      else if (o == fw.RequiresCooldown) {
        let e = i.a.createElement(E.c, {
          href: "https://partner.steamgames.com/doc/store/pricing",
        });
        d = i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              "#PricingDashboard_PriceProposal_Publish_CooldownError1",
            ),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.l)(
              "#PricingDashboard_PriceProposal_Publish_CooldownError2",
              e,
            ),
          ),
        );
      } else
        c == vw.Failed &&
          (d = Object($.l)(
            "#PricingDashboard_PriceProposal_Publish_FailedToPublish",
            i.a.createElement("div", null),
            i.a.createElement("div", null),
          ));
      if (d) {
        let e = Object($.f)("#PricingDashboard_PriceProposal_Publish_Title");
        return (
          o == fw.RequiresCooldown &&
            (e = Object($.f)(
              "#PricingDashboard_PriceProposal_Publish_CantPublishTitle",
            )),
          i.a.createElement(
            xe.e,
            {
              strTitle: e,
              bAlertDialog: !0,
              onOK: t,
              onCancel: t,
              closeModal: t,
            },
            i.a.createElement("div", { className: mC.a.PublishErrorDialog }, d),
          )
        );
      }
      let u = o == fw.Loading || c == vw.Loading;
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)(
            "#PricingDashboard_PriceProposal_Publish_Title",
          ),
          bAlertDialog: !1,
          strOKButtonText: Object($.f)(
            "#PricingDashboard_PriceProposal_Publish_Button",
          ),
          bOKDisabled: u,
          bCancelDisabled: u,
          bDestructiveWarning: !0,
          onOK: l,
          onCancel: t,
          closeModal: t,
        },
        u && i.a.createElement(ee.a, { position: "center" }),
        !u &&
          i.a.createElement(
            i.a.Fragment,
            null,
            Object($.n)(
              "#PricingDashboard_PriceProposal_Publish_Explanation",
              r.length,
            ),
            s &&
              i.a.createElement(
                "div",
                { className: mC.a.PublishWarning },
                Object($.f)(
                  "#PricingDashboard_PriceProposal_Publish_CooldownWarning",
                ),
              ),
            i.a.createElement(uw, { rgLocalPriceOverrides: r }),
          ),
      );
    }
    function Ew(e) {
      return e.contains_game && e.contains_dlc
        ? "BOTH"
        : e.contains_game
          ? "GAME"
          : e.contains_dlc
            ? "DLC"
            : null;
    }
    function Cw(e) {
      const { cell: t } = e,
        n = t.getValue(),
        a = dE(n),
        r = (function (e) {
          return Object(zt.d)(() =>
            Yy.Get().GetLocalOverrideCountForPriceKey(e),
          );
        })(n);
      return i.a.createElement(
        "div",
        { className: fE.a.CurrencyHeader },
        i.a.createElement(
          Qe.a,
          {
            toolTipContent: a,
            direction: "top",
            className: fE.a.CurrencyAbbreviation,
            strTooltipClassname: fE.a.HoverToolTip,
          },
          i.a.createElement(
            "div",
            { className: fE.a.CurrencyNameCtn },
            n,
            i.a.createElement("span", { className: fE.a.CurrencyName }, a),
          ),
        ),
        r > 0 &&
          i.a.createElement(rC, {
            hoverKey: n,
            className: fE.a.CurrencyMore,
            renderHover: () => i.a.createElement(Dw, { priceKey: n }),
          }),
      );
    }
    function ww(e) {
      const { fnBLocalChangesExist: t, fnWarnUser: n, cell: a } = e,
        r = a.getRow().getData().packageID,
        s = mE(r),
        o = lE(r),
        l = o && cC(o.rtSubmitted),
        [c, d] = Ce(null == o ? void 0 : o.submitterID),
        u = d ? d.persona_name : null == o ? void 0 : o.submitterID;
      let m = "PackageMore_" + r,
        p = null,
        _ = null,
        g = null;
      s
        ? ((p = fE.a.NeedsReview),
          (g = Object($.f)("#PricingDashboard_PriceProposal_NeedsReview_ttip")),
          (_ = Object($.f)("#PricingDashboard_PriceProposal_NeedsReview")))
        : 1 == (null == o ? void 0 : o.eState) && o.bPartnerWillPublish
          ? ((p = fE.a.PartnerWillPublish),
            (g = Object($.f)(
              "#PricingDashboard_PriceProposal_WaitingForReview_PartnerWillPublish_ttip",
              u,
              l,
            )),
            (_ = Object($.f)(
              "#PricingDashboard_PriceProposal_WaitingForReview_PartnerWillPublish",
            )))
          : 1 != (null == o ? void 0 : o.eState) || o.bPartnerWillPublish
            ? 4 == (null == o ? void 0 : o.eState)
              ? ((p = fE.a.ApprovedCanPublish),
                (g = Object($.f)(
                  "#PricingDashboard_PriceProposal_Approved_ttip",
                )),
                (_ = i.a.createElement(
                  te.F,
                  {
                    onClick: (e) =>
                      Object(ze.d)(
                        i.a.createElement(yw, { packageID: r }),
                        Object(v.o)(e),
                      ),
                  },
                  Object($.f)(
                    "#PricingDashboard_PriceProposal_PublishDialog_Button",
                  ),
                )))
              : ((p = fE.a.NoProposalsInFlight),
                (g = Object($.f)(
                  "#PricingDashboard_PriceProposal_NoneInFlight_ttip",
                )),
                (_ = Object($.f)(
                  "#PricingDashboard_PriceProposal_NoneInFlight",
                )))
            : ((p = fE.a.AutoPublish),
              (g = Object($.f)(
                "#PricingDashboard_PriceProposal_WaitingForReview_AutoPublish_ttip",
                u,
                l,
              )),
              (_ = i.a.createElement(
                "div",
                null,
                Object($.f)("#PricingDashboard_PriceProposal_WaitingForReview"),
                i.a.createElement("br", null),
                i.a.createElement(
                  "span",
                  null,
                  Object($.f)(
                    "#PricingDashboard_PriceProposal_WaitingForReview_AutoPublish",
                  ),
                ),
              )));
      let b = s || !!o;
      return i.a.createElement(
        Qe.a,
        { className: Object(h.a)(fE.a.ProposalState, p), toolTipContent: g },
        i.a.createElement("div", { className: fE.a.ProposalStateKey }),
        _,
        b &&
          i.a.createElement(rC, {
            hoverKey: m,
            className: fE.a.PackageMore,
            renderHover: () => i.a.createElement(Iw, { packageID: r }),
          }),
      );
    }
    function Bw(e) {
      const t = hE(),
        n = i.a.useCallback(
          (e, t) =>
            Object(ze.d)(
              i.a.createElement(pw, { strContinueUrl: t }),
              Object(v.o)(e),
            ),
          [],
        ),
        a = i.a.useMemo(
          () => ({ fnBLocalChangesExist: t, fnWarnUser: n }),
          [t, n],
        ),
        r = xE(),
        s = NE(a),
        o = zE(),
        l = HE(a),
        c = FE(a),
        d =
          ((u = a),
          i.a.useMemo(
            () => ({
              title: Object($.f)("#PricingDashboard_Column_PriceProposalState"),
              field: "proposalState",
              headerSort: !1,
              formatter: Object(BE.reactFormatter)(
                i.a.createElement(ww, Object.assign({}, u)),
              ),
              cssClass: fE.a.PriceProposalState,
              width: 150,
              frozen: !0,
              headerTooltip: Object($.f)(
                "#PricingDashboard_Column_PriceProposalState_ttip",
              ),
            }),
            [u],
          ));
      var u;
      const { rgSupportedPriceKeys: m } = uE();
      return i.a.useMemo(() => {
        const t = [r, s, o, l, c, d];
        for (const n of m)
          t.push({
            field: n,
            title: n,
            frozen: "USD" == n,
            width: e ? 72 : 200,
            headerSort: !1,
            titleFormatter: Object(BE.reactFormatter)(
              i.a.createElement(Cw, null),
            ),
            formatter: Object(BE.reactFormatter)(i.a.createElement(iC, null)),
            cssClass: fE.a.PricingGridDataColumn,
          });
        return t;
      }, [r, s, o, l, c, d, m, e]);
    }
    function Ow(e) {
      const { packageData: t } = e,
        [n, a] = i.a.useState(!1),
        r = i.a.useRef(null);
      "dev" == o.c.WEB_UNIVERSE && (window.g_PricingGridTableRef = r);
      const s = Bw(n),
        l = (function (e) {
          const { rgSupportedPriceKeys: t } = uE();
          return i.a.useMemo(() => {
            const n = [];
            for (const a of e) {
              let e = a.grouped_app_name;
              e ||
                (e =
                  a.appids.length > 1
                    ? Object($.f)(
                        "#PackageGrid_MultipleBaseGamesFoundForPackage",
                      )
                    : Object($.f)("#PackageGrid_NoBaseGameFoundForPackage"));
              const r = {
                appids: a.appids.sort(),
                appName: e,
                packageID: a.packageid,
                packageName: a.package_name || "",
                packageType: Ew(a),
              };
              for (const e of t) r[e] = e;
              n.push(r);
            }
            return n;
          }, [e, t]);
        })(t),
        c = qy(),
        d = () => c(r.current.table),
        u = new URLSearchParams(window.location.search),
        m = {
          index: "packageID",
          layout: "fitData",
          groupBy: "appName",
          initialSort: [{ column: "appName", dir: "asc" }],
          initialHeaderFilter: [
            {
              field: "packageName",
              value: u.has(zy) ? decodeURIComponent(u.get(zy)) : "",
            },
          ],
          movableColumns: !0,
          groupToggleElement: "header",
          rowFormatter: UE,
          groupVisibilityChanged: d,
          renderComplete: d,
        };
      return (
        ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
          console.log("Rendering grid", s, m),
        i.a.createElement(
          "div",
          { className: fE.a.PricingGridCtn },
          i.a.createElement(te.f, {
            className: fE.a.CompactOption,
            checked: n,
            onChange: a,
            label: Object($.f)(
              "#PricingDashboard_ShowCompactModeCheckBoxLabel",
            ),
          }),
          i.a.createElement(
            "div",
            { className: Object(h.a)(fE.a.PricingGrid, n && "CompactMode") },
            i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: r,
                columns: s,
                data: l,
                options: m,
              }),
              i.a.createElement("br", null),
            ),
          ),
        )
      );
    }
    function Dw(e) {
      const { priceKey: t } = e,
        n = dE(t);
      let a =
        ((r = t),
        i.a.useCallback(() => {
          Yy.Get().DiscardAllLocalPriceOverridesForKey(r);
        }, [r]));
      var r;
      return i.a.createElement(
        "div",
        { className: SE.a.PricePopout },
        i.a.createElement(
          "div",
          { className: SE.a.DetailRow },
          i.a.createElement(
            "div",
            { className: SE.a.DetailLabel, onClick: a },
            Object($.f)("#PricingDashboard_RevertAllCurrency", n),
          ),
        ),
      );
    }
    function Iw(e) {
      const { packageID: t } = e,
        n = mE(t);
      let a =
        ((r = t),
        i.a.useCallback(() => {
          Yy.Get().DiscardLocalPriceOverridesForPackage(r);
        }, [r]));
      var r;
      const s = lE(t);
      let o = (function (e) {
        return i.a.useCallback(() => {
          Yy.Get().CancelProposal(e);
        }, [e]);
      })(t);
      return i.a.createElement(
        "div",
        { className: SE.a.PricePopout },
        i.a.createElement(
          "div",
          { className: SE.a.DetailRow },
          n &&
            i.a.createElement(
              "div",
              { className: SE.a.DetailLabel, onClick: a },
              Object($.f)("#PricingDashboard_RevertAllPackage"),
            ),
          !!s &&
            i.a.createElement(
              "div",
              { className: SE.a.DetailLabel, onClick: o },
              Object($.f)("#PricingDashboard_CancelPriceProposal"),
            ),
        ),
      );
    }
    (QC.s_initializationCallbackList = new g.a()),
      (function (e) {
        (e[(e.Idle = 0)] = "Idle"),
          (e[(e.Loading = 1)] = "Loading"),
          (e[(e.OK = 2)] = "OK"),
          (e[(e.FailedToLoad = 3)] = "FailedToLoad"),
          (e[(e.RequiresCooldown = 4)] = "RequiresCooldown");
      })(fw || (fw = {})),
      (function (e) {
        (e[(e.Idle = 0)] = "Idle"),
          (e[(e.Loading = 1)] = "Loading"),
          (e[(e.OK = 2)] = "OK"),
          (e[(e.Failed = 3)] = "Failed");
      })(vw || (vw = {}));
    var Tw = n("sNIa"),
      Rw = n.n(Tw);
    function jw(e) {
      const { closeModal: t } = e,
        n = Qy(),
        r = ei()().format("YYYY-MM-DDTHH-mm-ss"),
        s = Hy(),
        l = Ky(),
        c = `prices_all_${n}_${r}.csv`,
        d = `prices_${n}_${r}.csv`,
        u = 0 == l.length;
      return i.a.createElement(
        xe.e,
        {
          bAllowFullSize: !1,
          closeModal: t,
          bAlertDialog: !0,
          strTitle: Object($.f)("#PricingDashboard_ImportExportHeader"),
        },
        Object($.f)("#PricingDashboard_ImportExport_GeneralInstructions"),
        i.a.createElement("br", null),
        i.a.createElement(
          "a",
          {
            href: o.c.PARTNER_BASE_URL + "doc/store/pricing/csv",
            target: "_blank",
          },
          Object($.f)("#PricingDashboard_ImportExport_DocLink"),
        ),
        i.a.createElement("br", null),
        i.a.createElement("br", null),
        i.a.createElement(
          "h3",
          null,
          Object($.f)("#PricingDashboard_SubtitleExport"),
        ),
        i.a.createElement(
          "div",
          { className: Rw.a.Instructions },
          Object($.f)("#PricingDashboard_ImportExport_DownloadInstructions"),
        ),
        i.a.createElement(
          "div",
          { className: Rw.a.ButtonRows },
          l.length != s.length &&
            i.a.createElement(
              "div",
              { className: Rw.a.OptionCtn },
              i.a.createElement(
                "span",
                { className: Rw.a.OptionDesc },
                Object($.f)(
                  "#PricingDashboard_ImportExport_DownloadVisible_Desc",
                ),
              ),
              i.a.createElement(
                te.e,
                {
                  className: Rw.a.Button,
                  disabled: u,
                  onClick: () => Aw(l, d),
                },
                Object($.f)(
                  "#PricingDashboard_ImportExport_DownloadVisible_Button",
                ),
                i.a.createElement(
                  "span",
                  null,
                  Object($.f)("#PricingDashboard_PackageCount", l.length),
                ),
              ),
            ),
          i.a.createElement(
            "div",
            { className: Rw.a.OptionCtn },
            i.a.createElement(
              "span",
              { className: Rw.a.OptionDesc },
              Object($.f)("#PricingDashboard_ImportExport_DownloadAll_Desc"),
            ),
            i.a.createElement(
              te.e,
              { className: Rw.a.Button, disabled: u, onClick: () => Aw(s, c) },
              Object($.f)("#PricingDashboard_ImportExport_DownloadAll_Button"),
              i.a.createElement(
                "span",
                null,
                Object($.f)("#PricingDashboard_PackageCount", s.length),
              ),
            ),
          ),
        ),
        i.a.createElement("br", null),
        i.a.createElement("br", null),
        i.a.createElement(
          "h3",
          null,
          Object($.f)("#PricingDashboard_SubtitleImport"),
        ),
        i.a.createElement(
          "div",
          { className: Rw.a.Instructions },
          Object($.f)("#PricingDashboard_ImportExport_UploadInstructions"),
        ),
        i.a.createElement(
          "div",
          { className: Rw.a.ButtonRows },
          i.a.createElement(
            "div",
            { className: Rw.a.OptionCtn },
            i.a.createElement(
              "span",
              { className: Rw.a.OptionDesc },
              Object($.f)("#PricingDashboard_ImportExport_Upload_Desc"),
            ),
            i.a.createElement(
              te.e,
              { className: Rw.a.Button, disabled: u },
              i.a.createElement(
                "label",
                {
                  className: Rw.a.ImportButtonLabel,
                  htmlFor: "import-price-input",
                },
                Object($.f)("#PricingDashboard_ImportExport_Upload_Button"),
                i.a.createElement("input", {
                  id: "import-price-input",
                  type: "file",
                  style: { display: "none" },
                  onChange: (e) =>
                    (function (e, t) {
                      return Object(a.a)(this, void 0, void 0, function* () {
                        if (e.target.files.length >= 1) {
                          const n = Object(v.o)(e),
                            a = e.target.files[0],
                            r = yield C_.ParseCSVFile(a);
                          Object(ze.b)(
                            i.a.createElement(Mw, {
                              strFilename: a.name,
                              parseResult: r,
                            }),
                            n,
                          ),
                            t();
                        }
                      });
                    })(e, t),
                }),
              ),
            ),
          ),
        ),
      );
    }
    function Aw(e, t) {
      const n = [],
        a = cE(),
        r = [Object($.f)("#PackageGrid_Column_PackageName"), "ID"];
      for (const e of a) r.push(e);
      n.push(r);
      for (const t of e) {
        const e = [Vy(t), t.toString()];
        for (const n of a) {
          const a = tE(t, n),
            r = a ? (a / 100).toString() : "";
          e.push(r);
        }
        n.push(e);
      }
      C_.WriteCSVToFile(n, t);
    }
    function kw(e, t) {
      let n = Number(e);
      return Number.isNaN(n) ? null : Math.round(100 * n);
    }
    function Mw(e) {
      var t, n;
      const { closeModal: a, strFilename: r, parseResult: s } = e,
        o = Hy(),
        l = cE(),
        c = i.a.useCallback((e, t, n) => {
          const a = Yy.Get().GetPrice(e, t);
          return (
            Yy.Get().OverridePrice(e, t, n),
            a == n
              ? null
              : {
                  packageID: e,
                  strPriceKey: t,
                  nPriceInCents: n,
                  nOldPriceInCents: a,
                }
          );
        }, []),
        [d, u] = i.a.useState(null),
        [m, p] = i.a.useState();
      if (
        (i.a.useEffect(() => {
          const { rgPriceChanges: e, nPackagesImported: t } = (function (
            e,
            t,
            n,
            a,
          ) {
            var r;
            const i = [],
              s = new Set(t),
              o = [];
            for (const t of null !== (r = e.data) && void 0 !== r ? r : []) {
              const e = Number(t.ID);
              if (s.has(e)) {
                i.push(e);
                for (const r of n) {
                  const n = t[r],
                    i = !!(null == n ? void 0 : n.length) && kw(n);
                  if (!(null == n ? void 0 : n.length) || Number.isNaN(i))
                    continue;
                  const s = a(e, r, i);
                  s && o.push(s);
                }
              }
            }
            return { rgPriceChanges: o, nPackagesImported: i.length };
          })(s, o, l, c);
          u(e), p(t);
        }, [s, o, l, c]),
        null === d)
      )
        return i.a.createElement(ee.a, { position: "center" });
      const h = d.length > 0,
        _ = h
          ? Object($.f)("#PackageGrid_SaveChangesDialogButton")
          : Object($.f)("#Button_Close");
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)(
            "#PricingDashboard_ImportExport_UploadProgressTitle",
          ),
          strDescription: Object($.f)(
            "#PricingDashboard_ImportExport_UploadProgressDetails",
            m,
          ),
          bAlertDialog: !h,
          strOKButtonText: _,
          onOK: () => {
            h && Object(ze.d)(i.a.createElement(pw, null), window);
          },
          strCancelButtonText: Object($.f)("#Button_OK"),
          closeModal: a,
        },
        i.a.createElement(
          "div",
          { className: Rw.a.ParseResultCount },
          Object($.f)("#PricingDashboard_ImportExport_UploadResults", d.length),
        ),
        h &&
          Object($.f)(
            "#PricingDashboard_ImportExport_UploadNextStepInstructions",
          ),
        !!(null === (t = s.errors) || void 0 === t ? void 0 : t.length) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "div",
              { className: Rw.a.ErrorHeader },
              Object($.f)(
                "#PricingDashboard_ImportExport_UploadErrorsHeader",
                null === (n = s.errors) || void 0 === n ? void 0 : n.length,
              ),
            ),
            i.a.createElement(
              "div",
              { className: Rw.a.ParseErrors },
              s.errors.map((e, t) => {
                var n;
                return i.a.createElement(
                  "div",
                  { key: `${e.message}-${t}`, className: Rw.a.Error },
                  `${null !== (n = e.row) && void 0 !== n ? n : "-"} ${e.message}`,
                );
              }),
            ),
          ),
      );
    }
    function Pw(e) {
      gE(hE());
      const t = Uy.Get().m_rgPackageData,
        n = o.c.PARTNER_BASE_URL + "doc/store/pricing",
        a = o.c.HELP_BASE_URL + "wizard/HelpWithPublishing?issueid=920";
      return i.a.createElement(
        "div",
        { className: xy.a.DashboardPage },
        i.a.createElement(
          "div",
          { className: xy.a.DashTitle },
          Object($.f)("#PricingDashboard_Title"),
          i.a.createElement(
            "div",
            { className: xy.a.BetaTag },
            Object($.f)("#NewToolTitleSuffix_Beta"),
          ),
          i.a.createElement(
            "div",
            { className: xy.a.FeedbackLinkCtn },
            i.a.createElement(
              "a",
              {
                href: "https://steamcommunity.com/groups/steamworks/discussions/29/",
                className: xy.a.FeedbackLink,
                target: "_blank",
              },
              Object($.f)("#NewToolTitle_FeedbackLink"),
            ),
          ),
          i.a.createElement(
            "div",
            { className: xy.a.ButtonGroup },
            i.a.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(i.a.createElement(Lw, null), Object(v.o)(e)),
              },
              Object($.f)("#PricingDashboard_ApplyGuidelinesDialog_Button"),
            ),
            i.a.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(i.a.createElement(jw, null), Object(v.o)(e)),
              },
              Object($.f)("#PricingDashboard_ImportExportButton"),
            ),
            i.a.createElement(
              te.e,
              { onClick: (e) => Object(E.d)(e, n) },
              Object($.f)("#PricingDashboard_DocumentationButton"),
            ),
            i.a.createElement(
              te.e,
              { onClick: (e) => Object(E.d)(e, a) },
              Object($.f)("#PricingDashboard_ContactUsButton"),
            ),
          ),
        ),
        0 == t.length &&
          i.a.createElement(
            "div",
            { className: xy.a.ErrorMessage },
            Object($.f)("#PricingDashboard_Error_NoPackages"),
          ),
        t.length > 0 &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(Ow, { packageData: t }),
            i.a.createElement(dw, null),
          ),
      );
    }
    function Lw(e) {
      const { closeModal: t } = e,
        n = iE();
      return i.a.createElement(
        xe.e,
        {
          closeModal: t,
          bAlertDialog: !0,
          strTitle: Object($.f)("#PricingDashboard_ApplyGuidelines_Header"),
          onOK: n,
          strOKButtonText: Object($.f)(
            "#PricingDashboard_ApplyGuidelines_Button",
          ),
        },
        i.a.createElement(
          "div",
          { className: xy.a.Instructions },
          Object($.f)("#PricingDashboard_ApplyGuidelines_Instructions"),
        ),
        i.a.createElement(
          "div",
          { className: xy.a.Instructions },
          Object($.f)("#PricingDashboard_ApplyGuidelines_Instructions2"),
        ),
        i.a.createElement("br", null),
        i.a.createElement("br", null),
        i.a.createElement(
          "a",
          {
            href: o.c.PARTNER_BASE_URL + "doc/store/pricing#5",
            target: "_blank",
          },
          Object($.f)("#PricingDashboard_ApplyGuidelines_Link"),
        ),
        i.a.createElement(
          "div",
          { className: xy.a.Instructions },
          Object($.f)("#PricingDashboard_ApplyGuidelines_Assurance"),
        ),
      );
    }
    const Gw = () => "/dashboard/:publisherid(\\d*)",
      Nw = (e) =>
        Object(om.c)()
          ? i.a.createElement(
              In.a,
              { basename: Object(ie.a)() + "pricing/" },
              i.a.createElement(
                fa.e,
                null,
                i.a.createElement(fa.c, {
                  exact: !0,
                  path: ie.b.DiagData(),
                  render: (e) =>
                    i.a.createElement(
                      Jf,
                      Object.assign({}, e, {
                        strConfigID: "application_config",
                      }),
                    ),
                }),
                i.a.createElement(fa.c, {
                  path: Gw(),
                  render: (e) => i.a.createElement(Pw, null),
                }),
                i.a.createElement(fa.c, { component: SA }),
              ),
            )
          : null;
    var Fw = n("xuO9"),
      xw = n.n(Fw);
    const zw = "packageid";
    function Uw(e) {
      const { closeModal: t } = e,
        [n, a] = i.a.useState(null),
        [r, s] = i.a.useState(""),
        [o, l] = i.a.useState(7),
        [c, d] = Rr(zw, 0),
        [u, m] = i.a.useState(c),
        { deepestDiscount: p } = yC(u),
        { mostRecentDiscount: _ } = EC(i.a.useMemo(() => [u], [u])),
        g = wC(u),
        [b, f] = i.a.useState(0),
        v = cw(u),
        [S, y] = i.a.useState(null),
        [E, C] = i.a.useState(null),
        w = zC(E),
        B = !!S,
        O = !w,
        D = () => {
          d(null), t();
        },
        I = (e, t) => {
          const n = Math.max(e, t.rtStartDate);
          a(n);
          const r = Math.floor((t.rtEndDate - n) / Rc.g.PerDay);
          o > r && l(r);
        },
        T = (e, t) => {
          if ((y(e), C(t), t)) {
            const n = NC(t);
            s(n.name),
              l(Math.floor((n.end_date - n.start_date) / Rc.g.PerDay)),
              I(n.start_date, e);
          } else e && (s(""), l(7), I(kC(e.rtStartDate), e));
        },
        R = r.trim().length && u > 0 && b >= 10 && b <= 90;
      return i.a.createElement(
        xe.f,
        { bAllowFullSize: !1, onCancel: D, closeModal: D },
        i.a.createElement(
          te.y,
          null,
          Object($.f)("#DiscountDashboard_Create_Title"),
        ),
        i.a.createElement(
          te.c,
          null,
          i.a.createElement(
            "div",
            { className: xw.a.CreateCustomDiscountCtn },
            i.a.createElement(
              "div",
              null,
              Object($.f)("#DiscountDashboard_Create_Instructions"),
            ),
            i.a.createElement(
              "div",
              { className: xw.a.Section },
              !u && i.a.createElement(qw, null),
              i.a.createElement(Kw, {
                selectedPackageID: u,
                onSelect: (e) => {
                  m(e), T(null, null);
                },
              }),
            ),
            i.a.createElement(Vw, {
              packageID: u,
              rgScheduleRanges: v,
              selectedRange: S,
              selectedDiscountEventID: E,
              fnSelectRangeAndEvent: T,
            }),
            B &&
              i.a.createElement(
                i.a.Fragment,
                null,
                O &&
                  i.a.createElement(
                    i.a.Fragment,
                    null,
                    i.a.createElement(
                      "div",
                      { className: xw.a.CustomInstructionsCtn },
                      Object($.f)(
                        "#DiscountDashboard_Create_Instructions_CustomEvent",
                      ),
                      i.a.createElement("br", null),
                      Object($.f)("#DiscountDashboard_Create_CustomEventNotes"),
                    ),
                    i.a.createElement(
                      "div",
                      { className: xw.a.Section },
                      !r.trim().length && i.a.createElement(qw, null),
                      i.a.createElement(te.z, {
                        type: "text",
                        label: Object($.f)(
                          "#DiscountDashboard_Create_DiscountNameInternal",
                        ),
                        placeholder: Object($.f)(
                          "#DiscountDashboard_Create_PlaceholderName",
                        ),
                        value: r,
                        onChange: (e) => s(e.target.value),
                      }),
                    ),
                  ),
                i.a.createElement(
                  "div",
                  { className: Object(h.a)(xw.a.Section, xw.a.DateCtn) },
                  i.a.createElement(sv, {
                    strDescription: Object($.f)(
                      "#DiscountDashboard_Create_DiscountStartDate",
                    ),
                    disabled: !O,
                    nEarliestTime: S.rtStartDate,
                    nLatestTime: S.rtEndDate - Rc.g.PerDay,
                    fnGetTimeToUpdate: () => n,
                    fnSetTimeToUpdate: (e) => I(e, S),
                    className: xw.a.DatePicker,
                    bShowTimeZone: !0,
                    strAlsoShowTimeZone: AC,
                  }),
                  i.a.createElement(
                    "div",
                    { className: xw.a.DiscountLengthCtn },
                    i.a.createElement(te.z, {
                      type: "number",
                      label: Object($.f)(
                        "#DiscountDashboard_Create_DiscountLength",
                      ),
                      value: o,
                      onChange: (e) => {
                        const t = e.target.value,
                          a = Number(t || 0),
                          r = Math.floor(
                            ((null == S ? void 0 : S.rtEndDate) - n) /
                              Rc.g.PerDay,
                          ),
                          i = Math.min(Math.min(14, r), Math.max(1, a));
                        l(i);
                      },
                      disabled: !O,
                      min: 1,
                      max: 14,
                    }),
                  ),
                ),
                i.a.createElement(
                  "div",
                  { className: xw.a.DiscountCtn },
                  i.a.createElement(
                    "div",
                    {
                      className: Object(h.a)(
                        xw.a.Section,
                        xw.a.DiscountPercentCtn,
                      ),
                    },
                    (b < 10 || b > 90) && i.a.createElement(qw, null),
                    i.a.createElement(te.z, {
                      type: "number",
                      label: Object($.f)(
                        "#DiscountDashboard_Create_DiscountPct",
                      ),
                      value: b,
                      onChange: (e) => {
                        const t = e.target.value,
                          n = Number(t || 0);
                        0 <= n && n <= 90 && f(n);
                      },
                      min: 10,
                      step: 5,
                      max: g,
                    }),
                  ),
                  i.a.createElement(
                    "div",
                    { className: xw.a.DiscountHelperCtn },
                    i.a.createElement(
                      "div",
                      { className: xw.a.HistoryLine },
                      Object($.f)(
                        "#DiscountDashboard_Create_Instructions_DiscountPercentage",
                        g,
                      ),
                    ),
                    p &&
                      i.a.createElement(
                        "div",
                        { className: xw.a.HistoryLine },
                        Object($.f)(
                          "#DiscountDashboard_Create_DeepestPastDiscount",
                          p.nDiscountPct,
                        ),
                      ),
                    _ &&
                      i.a.createElement(
                        "div",
                        { className: xw.a.HistoryLine },
                        Object($.f)(
                          "#DiscountDashboard_Create_MostRecentDiscount",
                          _.nDiscountPct,
                        ),
                      ),
                  ),
                ),
                i.a.createElement("br", null),
                i.a.createElement(
                  "div",
                  { className: xw.a.Instructions },
                  Object($.f)("#DiscountDashboard_Create_TimingWarning"),
                ),
              ),
          ),
        ),
        i.a.createElement(
          te.p,
          null,
          i.a.createElement(te.D, {
            onCancel: D,
            bOKDisabled: !R,
            onOK: () => {
              const e = {
                packageID: u,
                nDiscountPct: b,
                strDiscountName: r,
                strDiscountDescription: "#discount_desc_preset_special",
                rtStartDate: n,
                rtEndDate: n + o * Rc.g.PerDay,
                discountEventID: E,
              };
              Object(ze.d)(
                i.a.createElement(Zw, { discount: e, fnOnSuccess: D }),
                window,
              );
            },
            strOKText: Object($.f)("#DiscountDashboard_Create_BtnCreate"),
            strCancelText: Object($.f)("#DiscountDashboard_Create_BtnCancel"),
          }),
        ),
      );
    }
    function Ww(e) {
      var t, n;
      const { range: a, fnSelectRangeAndEvent: r } = e;
      if (!a.bIsAvailable)
        return i.a.createElement(
          "div",
          { className: xw.a.DiscountedRange },
          i.a.createElement(Ra.c, {
            className: xw.a.Dates,
            rtStartDate: a.rtStartDate,
            rtEndDate: a.rtEndDate,
          }),
          i.a.createElement(
            "div",
            { className: xw.a.DiscountName },
            null === (t = a.discount) || void 0 === t
              ? void 0
              : t.strDiscountName,
          ),
          i.a.createElement(
            "div",
            { className: xw.a.DiscountPercentage },
            Object($.f)(
              "#DiscountDashboard_Create_DiscountedPercentage",
              null === (n = a.discount) || void 0 === n
                ? void 0
                : n.nDiscountPct,
            ),
          ),
        );
      const s = "new-custom-event",
        o = [];
      a.bMajorSaleOnly ||
        o.push({
          label: Object($.f)("#DiscountDashboard_Create_CustomDiscount"),
          data: s,
        });
      for (const e of a.rgDiscountEventIDs) {
        const t = NC(e);
        o.push({ label: t.name, data: t.id });
      }
      return i.a.createElement(
        "div",
        { className: xw.a.AvailableRange },
        i.a.createElement(Ra.c, {
          className: xw.a.Dates,
          rtStartDate: a.rtStartDate,
          rtEndDate: a.rtEndDate,
        }),
        i.a.createElement(
          "div",
          { className: xw.a.AvailableLabel },
          Object($.f)("#DiscountDashboard_Create_AvailableTimeRange"),
        ),
        i.a.createElement(
          "div",
          { className: xw.a.DiscountEventSelectDropDown },
          i.a.createElement(te.m, {
            strDropDownClassName: xw.a.DropDownScroll,
            strDefaultLabel: Object($.f)(
              "#DiscountDashboard_Create_SelectDiscountEventLabel",
            ),
            rgOptions: o,
            onChange: (e) => {
              r(a, e.data == s ? null : e.data);
            },
          }),
        ),
      );
    }
    function Hw(e) {
      const { range: t, strDiscountEventID: n, fnClearEvent: a } = e,
        r = zC(n);
      return i.a.createElement(
        "div",
        { className: Object(h.a)(xw.a.SelectedEvent, "landingTable") },
        i.a.createElement(
          "div",
          { className: "tr" },
          i.a.createElement(
            "div",
            { className: "th" },
            Object($.f)("#DiscountDashboard_Create_SelectedDiscountEventLabel"),
          ),
          i.a.createElement(
            "div",
            { className: "th" },
            Object($.f)("#DiscountDashboard_Create_AvailableRange"),
          ),
          i.a.createElement("div", { className: "th" }),
        ),
        i.a.createElement(
          "div",
          { className: "tr" },
          i.a.createElement(
            "div",
            { className: Object(h.a)(xw.a.DiscountName, "td") },
            r
              ? r.name
              : Object($.f)("#DiscountDashboard_Create_CustomDiscount"),
          ),
          i.a.createElement(Ra.c, {
            className: Object(h.a)("td", xw.a.Dates),
            rtStartDate: t.rtStartDate,
            rtEndDate: t.rtEndDate,
          }),
          i.a.createElement(
            "div",
            {
              className: Object(h.a)("td", xw.a.ClearSelectedPackage),
              onClick: a,
            },
            i.a.createElement(H.zb, null),
          ),
        ),
      );
    }
    function Vw(e) {
      const {
          packageID: t,
          rgScheduleRanges: n,
          selectedRange: a,
          selectedDiscountEventID: r,
          fnSelectRangeAndEvent: s,
        } = e,
        o = !t,
        l = !o && !!a,
        c = !o && !l && !(null == n ? void 0 : n.length),
        d = !o && !l && !c,
        u = d && !(null == n ? void 0 : n.some((e) => e.bIsAvailable));
      return i.a.createElement(
        "div",
        { className: xw.a.Section },
        !a &&
          i.a.createElement(
            "div",
            { className: "DialogLabel" },
            Object($.f)("#DiscountDashboard_Create_ScheduleSectionLabel"),
          ),
        o &&
          i.a.createElement(
            "div",
            { className: xw.a.InstructionsCtn },
            Object($.f)("#DiscountDashboard_Create_Instructions_ChoosePackage"),
          ),
        l &&
          i.a.createElement(Hw, {
            range: a,
            strDiscountEventID: r,
            fnClearEvent: () => s(null, null),
          }),
        c && i.a.createElement(ee.a, { position: "center" }),
        d &&
          n.map((e, t) =>
            i.a.createElement(Ww, {
              key: t + e.rtStartDate,
              range: e,
              fnSelectRangeAndEvent: s,
            }),
          ),
        u &&
          i.a.createElement(
            "div",
            { className: xw.a.Warning },
            Object($.f)("#DiscountDashboard_Create_NoAvailabilityWarning"),
          ),
      );
    }
    function qw(e) {
      return i.a.createElement(
        "div",
        { className: xw.a.RequiredFieldWarning },
        Object($.f)("#DiscountDashboard_Create_RequiredFieldWarning"),
      );
    }
    function Kw(e) {
      const { selectedPackageID: t, onSelect: n } = e,
        [a, r] = i.a.useState(""),
        [s, o] = i.a.useState(),
        l = (function () {
          const e = Hy(),
            t = Object(Wn.g)(e, {});
          return i.a.useMemo(() => {
            var n;
            const a = new Map();
            if (1 == t) return a;
            const r = (e, t) => {
              const n = null == e ? void 0 : e.toLocaleLowerCase().trim();
              n && (a.has(n) || a.set(n, []), a.get(n).push(t));
            };
            for (const t of e) {
              const e = Dt.a.Get().GetPackage(t);
              e &&
                e.BIsVisible() &&
                (r(e.GetName(), e),
                r(e.GetID().toString(), e),
                null === (n = e.GetIncludedAppIDs()) ||
                  void 0 === n ||
                  n.forEach((t) => {
                    const n = Dt.a.Get().GetApp(t);
                    r(null == n ? void 0 : n.GetName(), e), r(t.toString(), e);
                  }));
            }
            return a;
          }, [e, t]);
        })();
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(
          "div",
          { className: "DialogLabel" },
          Object($.f)("#DiscountDashboard_Create_PackageSearchLabel"),
        ),
        t
          ? i.a.createElement(
              "div",
              { className: xw.a.SelectedPackage },
              i.a.createElement(Yw, { packageID: t }),
              i.a.createElement(
                "div",
                {
                  className: xw.a.ClearSelectedPackage,
                  onClick: () => n(null),
                },
                i.a.createElement(H.zb, null),
              ),
            )
          : i.a.createElement(
              "div",
              { className: xw.a.PackageSelector },
              i.a.createElement(te.z, {
                type: "text",
                placeholder: Object($.f)(
                  "#DiscountDashboard_Create_PackageSearchPlaceholder",
                ),
                value: a,
                onChange: (e) => {
                  r(e.target.value);
                  const t = e.target.value.toLocaleLowerCase().trim();
                  if (!t) return void o(null);
                  const n = new Set();
                  l.forEach((e, a) => {
                    a.indexOf(t) >= 0 && e.forEach((e) => n.add(e));
                  });
                  const a = Array.from(n).sort((e, t) =>
                    Object(Mn.f)(e.GetName(), t.GetName()),
                  );
                  o(a);
                },
                bShowClearAction: !0,
              }),
              i.a.createElement(Qw, {
                strSearchKey: a,
                rgSearchResults: s,
                onSelect: (e) => {
                  r(""), o(null), n(e);
                },
              }),
            ),
      );
    }
    function Qw(e) {
      var t;
      const { strSearchKey: n, rgSearchResults: a, onSelect: r } = e;
      if (!n) return null;
      const s =
        null !== (t = null == a ? void 0 : a.length) && void 0 !== t ? t : 0;
      let o;
      return (
        (o =
          0 == s
            ? Object($.f)("#DiscountDashboard_Create_SearchResultsEmpty")
            : 1 == s
              ? Object($.f)("#DiscountDashboard_Create_SearchResultsOne")
              : s <= 20
                ? Object($.f)("#DiscountDashboard_Create_SearchResultCount", s)
                : Object($.f)(
                    "#DiscountDashboard_Create_SearchResultCountWithLimit",
                    s,
                    20,
                  )),
        i.a.createElement(
          "div",
          { className: xw.a.SearchResults },
          i.a.createElement("div", { className: xw.a.SummaryLine }, o),
          i.a.createElement(
            "div",
            { className: xw.a.PackageList },
            null == a
              ? void 0
              : a
                  .slice(0, 20)
                  .map((e) =>
                    i.a.createElement(Yw, {
                      key: e.GetID(),
                      packageID: e.GetID(),
                      onSelect: r,
                    }),
                  ),
          ),
        )
      );
    }
    function Yw(e) {
      const { packageID: t, onSelect: n } = e,
        [a, r] = Object(Wn.e)(t, {});
      return i.a.createElement(
        "div",
        {
          className: xw.a.OnePackageResult,
          onClick: () =>
            null == n ? void 0 : n(null == a ? void 0 : a.GetID()),
        },
        i.a.createElement(
          "div",
          { className: xw.a.PackageName },
          " ",
          null == a ? void 0 : a.GetName(),
          " ",
        ),
      );
    }
    function Zw(e) {
      const { closeModal: t, discount: n, fnOnSuccess: r } = e,
        { fnSaveDiscount: s } = SC(),
        [o, l] = i.a.useState(null),
        c = Object(Tt.a)("SaveProgressDialog");
      return (
        i.a.useEffect(() => {
          (() => {
            Object(a.a)(this, void 0, void 0, function* () {
              var e;
              const a = yield s(n);
              c.token.reason ||
                (1 == a.success
                  ? (r(), t())
                  : l(
                      null !== (e = a.msg) && void 0 !== e
                        ? e
                        : Object($.f)("#DiscountDashboard_SaveDiscountsError"),
                    ));
            });
          })();
        }, []),
        i.a.createElement(
          xe.e,
          {
            strTitle: Object($.f)("#DiscountDashboard_Create_SaveDialogTitle"),
            bAlertDialog: !!o,
            bOKDisabled: !o,
            strOKButtonText: o
              ? Object($.f)("#Button_Close")
              : Object($.f)("#Button_OK"),
            bDestructiveWarning: !0,
            closeModal: t,
          },
          null != o ? o : i.a.createElement(ee.a, { position: "center" }),
        )
      );
    }
    var Jw = n("1zEj"),
      Xw = n.n(Jw),
      $w = n("P3Li"),
      eB = n.n($w);
    class tB {
      constructor() {
        (this.m_mapOptInDefs = new Map()),
          (this.m_mapInflightRequests = new Map());
      }
      GetOptInPublicDefinition(e) {
        return this.m_mapOptInDefs.get(e);
      }
      LoadOptInPublicDefinition(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_mapInflightRequests.has(e) ||
              this.m_mapInflightRequests.set(
                e,
                this.InternalLoadOptInPublicDefinition(e),
              ),
            this.m_mapInflightRequests.get(e)
          );
        });
      }
      InternalLoadOptInPublicDefinition(e) {
        var t, n;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a;
          try {
            const a =
                o.c.PARTNER_BASE_URL + "optin/ajaxgetoptinpublicdefinition",
              r = { opt_in_name: e },
              i = yield F.a.get(a, { params: r });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 ==
                (null === (t = null == i ? void 0 : i.data) || void 0 === t
                  ? void 0
                  : t.success) &&
              (null === (n = null == i ? void 0 : i.data) || void 0 === n
                ? void 0
                : n.data)
            ) {
              const t = i.data.data;
              return (
                Of(t),
                e.startsWith("sale_")
                  ? (this.m_mapOptInDefs.set(e, t),
                    this.m_mapOptInDefs.set(e.replace("sale_", ""), t))
                  : (this.m_mapOptInDefs.set(e, t),
                    this.m_mapOptInDefs.set("sale_" + e, t)),
                i.data.data
              );
            }
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "COptInAdmin::LoadOptInPublicDefinition Error loading: " +
                a.strErrorMsg,
              a,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          tB.s_Singleton ||
            ((tB.s_Singleton = new tB()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_OptInDefinitionStore = tB.s_Singleton)),
          tB.s_Singleton
        );
      }
    }
    function nB(e) {
      const [t, n] = Object(r.useState)(tB.Get().GetOptInPublicDefinition(e));
      return (
        Object(r.useEffect)(() => {
          let a = F.a.CancelToken.source();
          return (
            (t && t.pageid.replace("sale_", "") == e.replace("sale_", "")) ||
              tB
                .Get()
                .LoadOptInPublicDefinition(e)
                .then((e) => {
                  e && !a.token.reason && n(e);
                }),
            () => a.cancel("useActiveOptInDefinition unmouted")
          );
        }, [t, e]),
        t
      );
    }
    var aB = n("f86N"),
      rB = n.n(aB);
    function iB(e) {
      var t;
      const n = $C(),
        a =
          null !== (t = null == n ? void 0 : n.length) && void 0 !== t ? t : 0;
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement("div", {
          className: Object(h.a)(
            rB.a.ToolbarPlaceHolder,
            a > 0 && rB.a.Visible,
          ),
        }),
        i.a.createElement(
          "div",
          { className: Object(h.a)(rB.a.ToolbarCtn, a > 0 && rB.a.Visible) },
          i.a.createElement(
            "div",
            { className: rB.a.ToolbarInfo },
            i.a.createElement(
              "div",
              { className: rB.a.ChangeCount },
              Object($.n)("#PackageGrid_PendingChangeCount", a),
            ),
            i.a.createElement(
              "div",
              { className: rB.a.Buttons },
              i.a.createElement(
                te.e,
                {
                  onClick: (e) =>
                    Object(ze.d)(i.a.createElement(oB, null), Object(v.o)(e)),
                  disabled: 0 == a,
                  className: Object(h.a)(rB.a.Button, rB.a.SaveButton),
                },
                Object($.f)("#PackageGrid_SaveChangesDialogButton"),
              ),
              i.a.createElement(
                te.e,
                {
                  className: rB.a.Button,
                  onClick: (e) =>
                    Object(ze.d)(i.a.createElement(mB, null), Object(v.o)(e)),
                },
                Object($.f)("#PackageGrid_DiscardChangesDialogButton"),
              ),
            ),
          ),
        ),
      );
    }
    function sB() {
      return i.a.useCallback(
        (e, t) =>
          Object(ze.d)(
            i.a.createElement(oB, { strContinueUrl: t }),
            Object(v.o)(e),
          ),
        [],
      );
    }
    function oB(e) {
      const { closeModal: t, strContinueUrl: n } = e,
        a = $C(),
        r = tw(),
        s = !!n,
        o = Object($.f)(
          s
            ? "#PackageGrid_NavigationWarning_Title"
            : "#DiscountDashboard_SaveDiscountsTitle",
        ),
        l = a.filter((e) => !!e.nDiscountID).length,
        c = a.filter((e) => !e.nDiscountID).length,
        d =
          c > 0 && l > 0
            ? Object($.f)("#DiscountDashboard_SaveDiscountsExplanation", l, c)
            : l > 0
              ? Object($.n)(
                  "#DiscountDashboard_SaveDiscountsExplanation_UpdateOnly",
                  l,
                )
              : Object($.n)(
                  "#DiscountDashboard_SaveDiscountsExplanation_CreateOnly",
                  c,
                ),
        u = a.some((e) => e.nDiscountPct > 0 && e.nDiscountPct < 10),
        m = a.some(
          (e) =>
            e.nDiscountPct > pC.Get().GetMaxDiscountPercentage(e.packageID),
        );
      const p = () => {
          n && (window.location.href = n);
        },
        h = () => {
          e.closeModal(),
            Object(ze.d)(
              i.a.createElement(cB, {
                rgLocalPackageDiscountOverrides: a,
                fnOnSuccess: p,
              }),
              window,
            );
        };
      return i.a.createElement(
        xe.f,
        {
          onOK: h,
          onCancel: e.closeModal,
          bDestructiveWarning: s,
          closeModal: t,
        },
        i.a.createElement(te.y, null, " ", o, " "),
        i.a.createElement(
          te.c,
          null,
          i.a.createElement(
            te.d,
            null,
            s &&
              i.a.createElement(
                "div",
                { className: rB.a.NavigationWarning },
                Object($.f)("#PackageGrid_NavigationWarning"),
              ),
            d,
            u &&
              i.a.createElement(
                "div",
                { className: rB.a.DiscountTooLowWarning },
                Object($.f)(
                  "#DiscountDashboard_SaveDiscountsWarning_DiscountTooLow",
                ),
              ),
            m &&
              i.a.createElement(
                "div",
                { className: rB.a.DiscountTooHighWarning },
                Object($.f)(
                  "#DiscountDashboard_SaveDiscountsWarning_SomeDiscountTooHigh",
                ),
              ),
            i.a.createElement(dB, { rgLocalPackageDiscountOverrides: a }),
          ),
          i.a.createElement(
            te.p,
            null,
            s
              ? i.a.createElement(te.E, {
                  strOKText: Object($.f)("#Button_Save"),
                  onOK: h,
                  bOKDisabled: u || m,
                  strUpdateText: Object($.f)(
                    "#PackageGrid_NavigateWithoutSavingButton",
                  ),
                  onUpdate: () => {
                    r([]), e.closeModal(), p();
                  },
                  onCancel: e.closeModal,
                })
              : i.a.createElement(te.D, {
                  strOKText: Object($.f)("#Button_Save"),
                  onOK: h,
                  bOKDisabled: u || m,
                  onCancel: e.closeModal,
                }),
          ),
        ),
      );
    }
    function lB(e) {
      const t = (function (e) {
        return new Map(
          Array.from(e.map((e) => [e, pC.Get().GetDiscountByID(e)])),
        );
      })(e.map((e) => e.nDiscountID).filter((e) => !!e));
      return i.a.useMemo(() => {
        var n, a;
        const r = new Map();
        for (const i of e)
          if (i.nDiscountID) {
            const e =
              null !==
                (a =
                  null === (n = t.get(i.nDiscountID)) || void 0 === n
                    ? void 0
                    : n.nDiscountPct) && void 0 !== a
                ? a
                : 0;
            r.set(i.nDiscountID, e);
          }
        return r;
      }, [e]);
    }
    function cB(e) {
      const {
          closeModal: t,
          rgLocalPackageDiscountOverrides: n,
          fnOnSuccess: r,
        } = e,
        s = nw(),
        { fnSaveDiscount: o, fnDeleteDiscount: l } = SC(),
        [c, d] = i.a.useState(0),
        [u, m] = i.a.useState(null),
        p = Object(Tt.a)("SaveProgressDialog"),
        h = lB(n),
        _ = i.a.useRef(new Map());
      i.a.useEffect(() => {
        (() => {
          Object(a.a)(this, void 0, void 0, function* () {
            var e;
            for (let t = 0; t < n.length; t++) {
              d(t);
              const a = n[t],
                r = yield a.nDiscountPct > 0
                  ? o(a)
                  : l(a.nDiscountID, a.packageID, a.discountEventID);
              if (
                (1 == r.success && s(a.packageID, a.discountEventID),
                p.token.reason)
              )
                return;
              if (1 != r.success)
                return void m(
                  null !== (e = r.msg) && void 0 !== e
                    ? e
                    : Object($.f)("#DiscountDashboard_SaveDiscountsError"),
                );
              r.msg && _.current.set(t, r.msg);
            }
            d(n.length);
          });
        })();
      }, []);
      const g = (e) =>
          e != c || u
            ? e == c
              ? i.a.createElement(
                  "div",
                  { className: rB.a.ProgressIconError },
                  i.a.createElement(H.zb, null),
                )
              : e < c && _.current.has(e)
                ? i.a.createElement(
                    Qe.a,
                    {
                      toolTipContent: _.current.get(e),
                      direction: "overlay",
                      className: rB.a.ProgressIconWarning,
                      strTooltipClassname: rB.a.HoverToolTip,
                    },
                    i.a.createElement(H.k, { color: "#e5af37" }),
                  )
                : e < c
                  ? i.a.createElement(
                      "div",
                      { className: rB.a.ProgressIconCheck },
                      i.a.createElement(H.m, null),
                    )
                  : i.a.createElement("div", {
                      className: rB.a.ProgressIconBlank,
                    })
            : i.a.createElement(ee.a, { className: rB.a.ProgressIconThrobber }),
        b = !u && c < n.length;
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#PackageGrid_SaveInProgress"),
          bAlertDialog: !!u,
          bOKDisabled: b,
          strOKButtonText: u
            ? Object($.f)("#Button_Close")
            : Object($.f)("#Button_OK"),
          onOK: u ? t : r,
          onCancel: () => p.cancel("cancelled by user"),
          bDestructiveWarning: !0,
          closeModal: t,
        },
        u,
        i.a.createElement(
          "div",
          { className: rB.a.SeeDetailsSection },
          i.a.createElement(
            "div",
            { className: rB.a.DiscountSummaryList },
            n.map((e, t) => {
              var n;
              return i.a.createElement(
                "div",
                {
                  className: rB.a.ProgressRow,
                  key: e.packageID + "-" + e.discountEventID,
                },
                i.a.createElement(uB, {
                  icon: g(t),
                  discount: e,
                  nPreviousDiscountPct:
                    null !== (n = h.get(e.nDiscountID)) && void 0 !== n ? n : 0,
                }),
              );
            }),
          ),
        ),
      );
    }
    function dB(e) {
      const { rgLocalPackageDiscountOverrides: t } = e,
        [n, a] = i.a.useState(t.length < 9),
        r = lB(t);
      return i.a.createElement(
        "div",
        { className: rB.a.SeeDetailsSection },
        n
          ? i.a.createElement(
              "div",
              { className: rB.a.DiscountSummaryList },
              t.map((e) => {
                var t;
                return i.a.createElement(uB, {
                  discount: e,
                  key: e.packageID + "-" + e.discountEventID,
                  nPreviousDiscountPct:
                    null !== (t = r.get(e.nDiscountID)) && void 0 !== t ? t : 0,
                });
              }),
            )
          : i.a.createElement(
              te.e,
              { onClick: () => a(!0), className: rB.a.SeeDetailsButton },
              Object($.f)("#PackageGrid_SeePendingChanges"),
            ),
      );
    }
    function uB(e) {
      var t, n, a;
      const { discount: r, nPreviousDiscountPct: s, icon: o } = e,
        l = RC(r.discountEventID),
        c = wC(r.packageID),
        d =
          null !==
            (n =
              null === (t = Dt.a.Get().GetPackage(r.packageID)) || void 0 === t
                ? void 0
                : t.GetName()) && void 0 !== n
            ? n
            : r.packageID,
        u =
          null !== (a = null == l ? void 0 : l.name) && void 0 !== a
            ? a
            : r.strDiscountName,
        m = Object(Ra.g)(r.rtStartDate, r.rtEndDate),
        p = r.nDiscountPct > 0 && r.nDiscountPct < 10,
        _ = r.nDiscountPct > c,
        g =
          (p &&
            Object($.f)(
              "#DiscountDashboard_SaveDiscountsWarning_DiscountTooLow",
            )) ||
          (_ &&
            Object($.f)(
              "#DiscountDashboard_SaveDiscountsWarning_DiscountTooHigh",
              c,
            ));
      return i.a.createElement(
        "div",
        {
          className: Object(h.a)(
            rB.a.DiscountSummary,
            p && rB.a.DiscountTooLow,
            _ && rB.a.DiscountTooHigh,
          ),
        },
        i.a.createElement("div", { className: rB.a.ProgressIcon }, o),
        i.a.createElement(
          Qe.a,
          {
            toolTipContent: `${r.packageID}: ${d}`,
            direction: "overlay",
            className: rB.a.PackageName,
            strTooltipClassname: rB.a.HoverToolTip,
          },
          d,
        ),
        i.a.createElement(
          Qe.a,
          {
            bDisabled: !g,
            toolTipContent: g,
            direction: "left",
            className: rB.a.DiscountDelta,
            strTooltipClassname: rB.a.HoverToolTip,
          },
          i.a.createElement(
            "span",
            { className: rB.a.PreviousDiscount },
            s + "%",
          ),
          i.a.createElement(
            "span",
            { className: rB.a.DiscountArrow },
            i.a.createElement(H.c, { angle: 90 }),
          ),
          i.a.createElement(
            "span",
            { className: rB.a.NewDiscount },
            r.nDiscountPct + "%",
          ),
          _ &&
            i.a.createElement(
              "span",
              { className: rB.a.MaxDiscount },
              "(" + c + "%)",
            ),
        ),
        i.a.createElement(
          Qe.a,
          {
            toolTipContent: `${u}: ${m}`,
            direction: "left",
            className: rB.a.DiscountEventName,
            strTooltipClassname: rB.a.HoverToolTip,
          },
          u,
        ),
      );
    }
    function mB(e) {
      const { closeModal: t } = e,
        n = $C(),
        a = tw(),
        r = Object($.n)(
          "#DiscountDashboard_DiscardChangesExplanation",
          n.length,
        );
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#PackageGrid_DiscardChangesTitle"),
          strOKButtonText: Object($.f)("#PackageGrid_DiscardChangesButton"),
          onOK: () => {
            const e = new Set(n.map((e) => e.packageID));
            a(Array.from(e));
          },
          bDestructiveWarning: !0,
          closeModal: t,
        },
        r,
        i.a.createElement(dB, { rgLocalPackageDiscountOverrides: n }),
      );
    }
    function pB(e) {
      const { packageState: t, strMessage: n } = e,
        a = ew(),
        r = sB(),
        s = t.optInReg.opt_in_name.replace("sale_", ""),
        l = o.c.PARTNER_BASE_URL + "optin/sale/" + s + "/" + t.nBaseAppID;
      return i.a.createElement(
        qE,
        {
          href: l,
          strClassName: eB.a.RegistrationLink,
          fnBLocalChangesExist: a,
          fnWarnUser: r,
        },
        n,
      );
    }
    function hB(e) {
      const { packageState: t, strMessage: n } = e,
        a = t.optInReg.opt_in_name.replace("sale_", ""),
        r = nB(a);
      return !r ||
        (function (e) {
          var t, n, a, r, i;
          return (
            e &&
            Boolean(
              (null === (t = e.categories) || void 0 === t
                ? void 0
                : t.enabled) ||
                (null === (n = e.artist_statement) || void 0 === n
                  ? void 0
                  : n.enabled) ||
                (null === (a = e.primary_country) || void 0 === a
                  ? void 0
                  : a.enabled) ||
                (null === (r = e.press_contact) || void 0 === r
                  ? void 0
                  : r.enabled) ||
                (null === (i = e.dynamic_sections) || void 0 === i
                  ? void 0
                  : i.length) > 0,
            )
          );
        })(r)
        ? i.a.createElement(pB, Object.assign({}, e))
        : i.a.createElement(
            "div",
            {
              className: Object(h.a)(eB.a.RegistrationLink, eB.a.TheLinkItself),
              onClick: (e) =>
                Object(ze.d)(
                  i.a.createElement(_B, { packageState: t, strOptInName: a }),
                  Object(v.o)(e),
                ),
            },
            n,
          );
    }
    function _B(e) {
      const { strOptInName: t, closeModal: n, packageState: a } = e,
        s = nB(t),
        l = i.a.useCallback(
          (e, t) => QC.Get().OptInRegistrationUpdatedForApp(e, t),
          [],
        ),
        [c, d] = Object(r.useState)(null),
        [u, m] = Object(r.useState)(!1);
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)(
            "#DiscountDashboard_OptIn_QuickRegistration_Title",
          ),
          strOKButtonText: Object($.f)(
            "#DiscountDashboard_OptIn_QuickRegistration_Title",
          ),
          onOK: () => {
            m(!0),
              Fv.Get()
                .RegisterAppForOptIn(a.nBaseAppID, t)
                .then((e) => {
                  e
                    ? d(e)
                    : (l(a.nBaseAppID, a.discountEventID),
                      Object(ze.d)(
                        i.a.createElement(xe.e, {
                          strTitle: Object($.f)("#Button_Done"),
                          strDescription: Object($.f)(
                            "#EventDisplay_Share_Success",
                          ),
                          closeModal: n,
                          bAlertDialog: !0,
                        }),
                        window,
                      ));
                });
          },
          onCancel: n,
          bOKDisabled: Boolean(c),
        },
        i.a.createElement(
          "div",
          { className: eB.a.EventTitle },
          s.event_title[o.c.LANGUAGE] || s.event_title.english,
        ),
        i.a.createElement(
          "div",
          { className: eB.a.EventDates },
          Object($.k)(s.event_start_date),
          " - ",
          Object($.k)(s.event_end_date),
        ),
        i.a.createElement("br", null),
        i.a.createElement(
          "div",
          { className: eB.a.RegistrationDesc },
          Object($.f)("#DiscountDashboard_OptIn_QuickRegistration_Desc"),
        ),
        Boolean(c) &&
          i.a.createElement(
            "div",
            { className: Ol.ErrorStylesWithIcon },
            c,
            " ",
          ),
        Boolean(u && !c) &&
          i.a.createElement(ee.a, {
            string: Object($.f)("#Saving"),
            position: "center",
            size: "small",
          }),
      );
    }
    function gB(e) {
      var t, n, a, r, s;
      const { cell: o } = e,
        l = null == o ? void 0 : o.getValue(),
        { packageState: c, fnSetDiscountPct: d } = (function (e, t) {
          const [n, a] = i.a.useState(() => {
            var n;
            return null ===
              (n = QC.Get().m_mapPackageStateForDiscountEvents.get(e)) ||
              void 0 === n
              ? void 0
              : n.get(t);
          });
          return (
            Object(u.e)(QC.Get().GetDiscountGridCellCallbackList(e, t), a),
            {
              packageState: n,
              fnSetDiscountPct: i.a.useCallback(
                (n) => {
                  QC.Get().OverridePackageDiscountPct(e, t, n);
                },
                [e, t],
              ),
            }
          );
        })(
          null == l ? void 0 : l.packageID,
          null == l ? void 0 : l.discountEventID,
        ),
        m =
          null ===
            (n =
              null === (t = o.getColumn()) || void 0 === t
                ? void 0
                : t.getDefinition()) || void 0 === n
            ? void 0
            : n.title,
        p = Object(Bt.c)(),
        _ = wC(null == l ? void 0 : l.packageID),
        g = (null == m ? void 0 : m.start_date) < p;
      if (!c) return null;
      const b = [eB.a.DataCell];
      c.bChangedLocally && b.push(eB.a.ChangedLocally),
        g && b.push(eB.a.LiveEvent);
      let f = null;
      switch (c.eState) {
        case 0:
          b.push(eB.a.DataLoading), (f = null);
          break;
        case 1:
          b.push(eB.a.NoConflict);
          let e = null;
          (null === (a = null == c ? void 0 : c.discount) || void 0 === a
            ? void 0
            : a.nDiscountPct) > 0
            ? (b.push(eB.a.HasDiscount),
              (null === (r = null == c ? void 0 : c.discount) || void 0 === r
                ? void 0
                : r.nDiscountPct) < 10
                ? (b.push(eB.a.DiscountTooLow),
                  (e = Object($.f)(
                    "#DiscountDashboard_SaveDiscountsWarning_DiscountTooLow",
                  )))
                : (null === (s = null == c ? void 0 : c.discount) ||
                  void 0 === s
                    ? void 0
                    : s.nDiscountPct) > _ &&
                  (b.push(eB.a.DiscountTooHigh),
                  (e = Object($.f)(
                    "#DiscountDashboard_SaveDiscountsWarning_DiscountTooHigh",
                    _,
                  ))))
            : b.push(eB.a.NoDiscount),
            (f = g
              ? i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(vB, { packageState: c }),
                  !!c.optInReg &&
                    i.a.createElement(pB, {
                      packageState: c,
                      strMessage: Object($.f)(
                        "#DiscountDashboard_OptIn_Grid_ViewOptInLink",
                      ),
                    }),
                )
              : i.a.createElement(
                  i.a.Fragment,
                  null,
                  !!e && i.a.createElement(bB, { strToolTip: e }),
                  i.a.createElement(fB, {
                    packageState: c,
                    fnSetDiscountPct: d,
                  }),
                  !!c.optInReg &&
                    i.a.createElement(pB, {
                      packageState: c,
                      strMessage: Object($.f)(
                        "#DiscountDashboard_OptIn_Grid_OptInLink",
                      ),
                    }),
                ));
          break;
        case 2:
          b.push(eB.a.NeedsOptIn),
            (f = i.a.createElement(hB, {
              packageState: c,
              strMessage: Object($.f)(
                "#DiscountDashboard_OptIn_Grid_OptInRequired",
              ),
            }));
          break;
        case 3:
          b.push(eB.a.OptInOptedOut),
            (f = i.a.createElement(pB, {
              packageState: c,
              strMessage: Object($.f)("#DiscountDashboard_OptIn_Grid_OptedOut"),
            }));
          break;
        case 4:
        case 10:
          b.push(eB.a.OptInRestricted),
            (f = i.a.createElement(
              Qe.a,
              {
                className: eB.a.TextCell,
                toolTipContent: Object($.f)(
                  "#DiscountDashboard_OptIn_Grid_Ineligible_NA_tooltip",
                ),
              },
              Object($.f)("#DiscountDashboard_OptIn_Grid_Ineligible_NA"),
            ));
          break;
        case 5:
          b.push(eB.a.OptInNoBaseAppToRegister),
            (f = i.a.createElement(
              "div",
              { className: eB.a.TextCell },
              Object($.f)(
                "#DiscountDashboard_OptIn_Grid_Ineligible_NoBaseGame",
              ),
            ));
          break;
        case 6:
          b.push(eB.a.JustReleased),
            (f = i.a.createElement(SB, { packageState: c }));
          break;
        case 7:
          b.push(eB.a.PriceIncreased),
            (f = i.a.createElement(SB, { packageState: c }));
          break;
        case 8:
        case 9:
          b.push(eB.a.CooldownWindow),
            (f = i.a.createElement(SB, { packageState: c }));
      }
      return i.a.createElement(
        "div",
        { className: Object(h.a)(...b), onKeyDown: (e) => PE(e, o.getTable()) },
        f,
      );
    }
    function bB(e) {
      const { strToolTip: t } = e;
      return i.a.createElement(
        Qe.a,
        {
          className: eB.a.DiscountRangeWarning,
          toolTipContent: t,
          direction: "left",
        },
        i.a.createElement(H.k, { color: "#ff5b29" }),
      );
    }
    function fB(e) {
      var t, n, a;
      const { packageState: r, fnSetDiscountPct: s } = e,
        o = nw(),
        l =
          null !==
            (a =
              null ===
                (n =
                  null === (t = null == r ? void 0 : r.discount) || void 0 === t
                    ? void 0
                    : t.nDiscountPct) || void 0 === n
                ? void 0
                : n.toString()) && void 0 !== a
            ? a
            : "0";
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(te.z, {
          value: l,
          className: eB.a.DiscountInput,
          onChange: (e) => {
            var t, n;
            const a = e.target.value,
              i = Number(a || 0);
            if (0 <= i && i <= 90) {
              i !=
                (null !==
                  (n =
                    null === (t = r.discount) || void 0 === t
                      ? void 0
                      : t.nDiscountPct) && void 0 !== n
                  ? n
                  : 0) && s(i);
            }
          },
          onFocus: (e) => {
            e.target.select();
          },
        }),
        i.a.createElement("div", { className: eB.a.CellPct }, "%"),
        r.bChangedLocally &&
          i.a.createElement(
            Qe.a,
            {
              className: eB.a.ResetButtonCtn,
              toolTipContent: Object($.f)("#PackageGrid_ResetButton_Tooltip"),
            },
            i.a.createElement(
              "div",
              {
                className: eB.a.ResetButton,
                onClick: () => {
                  o(r.packageID, r.discountEventID);
                },
              },
              i.a.createElement(H.sb, null),
            ),
          ),
      );
    }
    function vB(e) {
      var t, n, a;
      const { packageState: r } = e,
        s =
          null !==
            (a =
              null ===
                (n =
                  null === (t = null == r ? void 0 : r.discount) || void 0 === t
                    ? void 0
                    : t.nDiscountPct) || void 0 === n
                ? void 0
                : n.toString()) && void 0 !== a
            ? a
            : "0";
      return i.a.createElement(
        "div",
        { className: eB.a.DiscountValueCtn },
        i.a.createElement("div", { className: eB.a.DiscountInput }, s),
        i.a.createElement("div", { className: eB.a.CellPct }, "%"),
      );
    }
    function SB(e) {
      const { packageState: t } = e;
      return i.a.createElement(
        Qe.a,
        {
          className: eB.a.ConflictWarning,
          toolTipContent: i.a.createElement(yB, { packageState: t }),
        },
        i.a.createElement(
          "div",
          null,
          Object($.f)("#DiscountDashboard_ConflictWarning"),
        ),
        i.a.createElement(H.F, null),
      );
    }
    function yB(e) {
      var t;
      const { packageState: n } = e,
        a = zC(n.discountEventID);
      null == a || a.start_date;
      let r = null;
      switch (n.eState) {
        case 6:
          r = Object($.f)("#DiscountDashboard_Conflict_JustReleased", 28);
          break;
        case 7:
          r = Object($.f)("#DiscountDashboard_Conflict_PriceIncreased", 28);
          break;
        case 8:
          r = Object($.f)("#DiscountDashboard_Conflict_PreviousDiscount", 28);
          break;
        case 9:
          r = Object($.f)("#DiscountDashboard_Conflict_OverlappingDiscount");
      }
      return i.a.createElement(
        "div",
        { className: eB.a.ConflictToolTip },
        i.a.createElement(H.n, null),
        i.a.createElement(
          "div",
          { className: eB.a.ConflictText },
          i.a.createElement(
            "div",
            { className: eB.a.ConflictExplanationText },
            r,
          ),
          null === (t = n.rgConflictDetails) || void 0 === t
            ? void 0
            : t.map((e, t) =>
                i.a.createElement(
                  "div",
                  { key: t, className: eB.a.ConflictDetailText },
                  e,
                ),
              ),
        ),
      );
    }
    var EB = n("GKCI"),
      CB = n.n(EB);
    function wB(e) {
      var t;
      return null === (t = e.getValue()) || void 0 === t ? void 0 : t.ttip;
    }
    function BB(e) {
      const { cell: t } = e,
        n = t.getRow().getData().packageID,
        [a, r] = WC();
      switch (a) {
        case "most-recent":
          return i.a.createElement(DB, { packageID: n });
        case "next-available":
          return i.a.createElement(IB, { packageID: n });
        default:
          return i.a.createElement(OB, { packageID: n });
      }
    }
    function OB(e) {
      var t;
      const { packageID: n } = e,
        { deepestDiscount: a, bLoading: r } = yC(n);
      if (r)
        return i.a.createElement(ee.a, {
          className: CB.a.GridRowLoadingThrobber,
        });
      const s =
          null !== (t = null == a ? void 0 : a.nDiscountPct) && void 0 !== t
            ? t
            : 0,
        o = a
          ? Object($.f)(
              "#DiscountDashboard_DeepestPastDiscount_Details",
              a.nDiscountPct,
              a.strDiscountName,
              Object($.p)(a.rtStartDate),
            )
          : Object($.f)("#DiscountDashboard_NeverDiscounted");
      return i.a.createElement(Qe.a, { toolTipContent: o }, s + "%");
    }
    function DB(e) {
      var t;
      const { packageID: n } = e,
        { mostRecentDiscount: a, bLoading: r } = EC([n]);
      if (r)
        return i.a.createElement(ee.a, {
          className: CB.a.GridRowLoadingThrobber,
        });
      const s =
          null !== (t = null == a ? void 0 : a.nDiscountPct) && void 0 !== t
            ? t
            : 0,
        o = a
          ? Object($.f)(
              "#DiscountDashboard_LastPastDiscount_Details",
              a.nDiscountPct,
              a.strDiscountName,
              Object($.p)(a.rtStartDate),
            )
          : Object($.f)("#DiscountDashboard_NeverDiscounted");
      return i.a.createElement(Qe.a, { toolTipContent: o }, s + "%");
    }
    function IB(e) {
      const { packageID: t } = e,
        n = cw(t),
        a = Object(Bt.c)();
      let r = Object($.f)(
        "#DiscountDashboard_GridColumn_NextAvailableDiscount_Never",
      );
      for (const e of n)
        if (e.bIsAvailable) {
          r =
            e.rtStartDate <= a
              ? Object($.f)(
                  "#DiscountDashboard_GridColumn_NextAvailableDiscount_Now",
                )
              : Object($.q)(e.rtStartDate);
          break;
        }
      return i.a.createElement(Qe.a, { toolTipContent: "NOPE" }, r);
    }
    function TB(e) {
      const [t, n] = WC(),
        a = [
          {
            label: Object($.f)(
              "#DiscountDashboard_GridColumn_DeepestPastDiscount",
            ),
            data: "deepest-past",
          },
          {
            label: Object($.f)(
              "#DiscountDashboard_GridColumn_MostRecentDiscount",
            ),
            data: "most-recent",
          },
          {
            label: Object($.f)(
              "#DiscountDashboard_GridColumn_NextAvailableDiscount",
            ),
            data: "next-available",
          },
        ];
      return i.a.createElement(
        Qe.a,
        {
          toolTipContent: Object($.f)(
            "#DiscountDashboard_GridColumn_RelatedDiscount_ttip",
          ),
          className: CB.a.RelatedInfoPickerCtn,
        },
        i.a.createElement(
          "div",
          { className: CB.a.RelatedInfoPicker },
          i.a.createElement(te.m, {
            strDropDownClassName: CB.a.RelatedInfoDropDown,
            strDropDownItemClassName: CB.a.RelatedInfoDropDownItem,
            contextMenuPositionOptions: { bOverlapHorizontal: !0 },
            rgOptions: a,
            selectedOption: t,
            onChange: (e) => n(e.data),
          }),
        ),
      );
    }
    function RB(e) {
      const {
          strPriceKey: t,
          rgSupportedPriceKeys: n,
          fnSetPriceKey: a,
        } = uE(),
        r = n.map((e) => ({ label: e, data: e }));
      return i.a.createElement(
        Qe.a,
        {
          toolTipContent: Object($.f)(
            "#DiscountDashboard_GridColumn_BasePrice_ttip",
          ),
        },
        i.a.createElement(
          "div",
          { className: CB.a.BasePriceTitle },
          Object($.f)("#DiscountDashboard_GridColumn_BasePrice"),
        ),
        i.a.createElement(
          "div",
          { className: CB.a.CurrencyPicker },
          i.a.createElement(te.m, {
            strDropDownClassName: CB.a.CurrencyDropDown,
            strDropDownItemClassName: CB.a.CurrencyDropDownItem,
            contextMenuPositionOptions: { bOverlapHorizontal: !0 },
            rgOptions: r,
            selectedOption: t,
            onChange: (e) => a(e.data),
          }),
        ),
      );
    }
    function jB(e) {
      const { cell: t } = e,
        n = aE(t.getRow().getData().packageID);
      return i.a.createElement(
        "div",
        { className: CB.a.BasePriceDisplay },
        null != n ? n : "--",
      );
    }
    function AB(e) {
      return e + "-event-column";
    }
    function kB(e) {
      const t = ew(),
        n = sB(),
        a = i.a.useMemo(
          () => ({ fnBLocalChangesExist: t, fnWarnUser: n }),
          [t, n],
        ),
        r = xE(),
        s = NE(a),
        o = zE(),
        l = HE(a),
        c = FE(a),
        d = PC.Get().m_setVisibleDiscountEventIDs;
      return i.a.useMemo(() => {
        const t = {
            field: "basePrice",
            headerSort: !1,
            titleFormatter: Object(BE.reactFormatter)(
              i.a.createElement(RB, null),
            ),
            formatter: Object(BE.reactFormatter)(i.a.createElement(jB, null)),
            cssClass: CB.a.BasePrice,
            width: 120,
            frozen: !0,
          },
          n = {
            titleFormatter: Object(BE.reactFormatter)(
              i.a.createElement(TB, null),
            ),
            field: "relatedDiscount",
            headerSort: !1,
            formatter: Object(BE.reactFormatter)(i.a.createElement(BB, null)),
            cssClass: CB.a.RelatedDiscount,
            width: 120,
            frozen: !0,
            tooltip: wB,
          },
          u = [r, s, o, l, c, t, n];
        for (const t of e) {
          const e = "unique" == t.collision_type;
          u.push({
            field: AB(t.id),
            title: t,
            width: 200,
            headerSort: !1,
            titleFormatter: Object(BE.reactFormatter)(
              i.a.createElement(MB, Object.assign({}, a)),
            ),
            formatter: Object(BE.reactFormatter)(i.a.createElement(gB, null)),
            cssClass: Object(h.a)(
              CB.a.DiscountGridDataColumn,
              e && CB.a.CollisionFreeDiscountEvent,
            ),
            visible: d.has(t.id),
          });
        }
        return u;
      }, [e, d, a, r, s, o, l, c]);
    }
    function MB(e) {
      const { fnBLocalChangesExist: t, fnWarnUser: n, cell: a } = e,
        r = Object(Bt.c)(),
        { strSelectedEvent: s, fnSelectEvent: l } = UC(),
        c = null == a ? void 0 : a.getValue(),
        d = c.start_date <= r && r <= c.end_date,
        u = s == (null == c ? void 0 : c.id),
        m = Math.ceil(
          (c.end_date - 1.5 * Rc.g.PerHour - c.start_date) / Rc.g.PerDay,
        ),
        p =
          o.j.is_support && !isNaN(Number(c.id))
            ? `${o.c.PARTNER_BASE_URL}admin/editdiscountevent/${c.id}`
            : null;
      return i.a.createElement(
        Qe.a,
        {
          className: Object(h.a)(
            CB.a.EventDetails,
            d && CB.a.Active,
            u && CB.a.Selected,
            !!p && CB.a.RestrictedEligibility,
          ),
          onClick: () => l(u ? null : c.id),
          toolTipContent: Object($.f)("#DiscountDashboard_ColumnHeader_ttip"),
        },
        i.a.createElement(
          "div",
          { className: CB.a.EventName },
          c.name,
          !!p &&
            i.a.createElement(
              qE,
              {
                fnBLocalChangesExist: t,
                fnWarnUser: n,
                href: p,
                strClassName: CB.a.EditEventLink,
                strToolTip: Object($.f)(
                  "#DiscountDashboard_LinkToEditEventPage_ttip",
                ),
              },
              Object($.f)("#DiscountDashboard_LinkToEditEventPage"),
            ),
        ),
        i.a.createElement(
          "div",
          { className: CB.a.EventDates },
          i.a.createElement(Ra.c, {
            className: CB.a.EventDateRange,
            strMonthFormat: "short",
            rtStartDate: c.start_date,
            rtEndDate: c.end_date,
          }),
          i.a.createElement(
            "div",
            { className: CB.a.EventNumDays },
            Object($.n)("#DiscountDashboard_NumberOfDays", m),
          ),
        ),
        i.a.createElement(
          "div",
          { className: CB.a.EventParticipationCtn },
          i.a.createElement(GB, { discountEvent: c }),
          i.a.createElement(PB, { discountEvent: c }),
        ),
      );
    }
    function PB(e) {
      const t = (function (e) {
          const t = iw(e);
          return i.a.useMemo(
            () => ({
              nAlreadySet: t.alreadySet.size,
              nAvailable: t.available.size,
              nConflicts: t.conflicts.size,
              nNeedRegistration: t.needRegistration.size,
              nIneligibile: t.ineligibile.size,
            }),
            [t],
          );
        })(e.discountEvent.id),
        n = t.nAlreadySet + t.nAvailable + t.nConflicts + t.nNeedRegistration;
      return i.a.createElement(
        Qe.a,
        {
          className: CB.a.ParticipationDetails,
          toolTipContent: i.a.createElement(LB, { counts: t }),
        },
        i.a.createElement(
          "div",
          { className: CB.a.Title },
          Object($.f)("#DiscountDashboard_PackagesDiscounted"),
        ),
        i.a.createElement(
          "div",
          { className: CB.a.Count },
          t.nAlreadySet + " / " + n,
        ),
      );
    }
    function LB(e) {
      const { counts: t } = e;
      return i.a.createElement(
        "div",
        { className: CB.a.ParticipationToolTip },
        i.a.createElement(
          "div",
          null,
          Object($.f)("#DiscountDashboard_SetDiscountsCount", t.nAlreadySet),
        ),
        t.nAvailable > 0 &&
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              "#DiscountDashboard_AvailableDiscountsCount",
              t.nAvailable,
            ),
          ),
        t.nConflicts > 0 &&
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              "#DiscountDashboard_CooldownConflictsCount",
              t.nConflicts,
            ),
          ),
        t.nNeedRegistration > 0 &&
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              "#DiscountDashboard_BlockedDiscountsCount",
              t.nNeedRegistration,
            ),
          ),
        t.nIneligibile > 0 &&
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              "#DiscountDashboard_IneligibleDiscountsCount",
              t.nIneligibile,
            ),
          ),
      );
    }
    function GB(e) {
      const { discountEvent: t } = e,
        n = xv(t.opt_in_name),
        a = (function (e) {
          const t = xv(e),
            [n, a] = i.a.useState({
              nAppOptedIn: 0,
              nAppEligible: 0,
              nAppOptedOut: 0,
              nAppIneligible: 0,
            });
          return (
            i.a.useEffect(() => {
              if ((null == t ? void 0 : t.length) > 0) {
                const e = {
                  nAppOptedIn: 0,
                  nAppEligible: 0,
                  nAppOptedOut: 0,
                  nAppIneligible: 0,
                };
                t.forEach((t) => {
                  t.restricted || t.pruned
                    ? (e.nAppIneligible += 1)
                    : t.opt_in
                      ? ((e.nAppOptedIn += 1), (e.nAppEligible += 1))
                      : !t.time_opted_in || t.invited
                        ? (e.nAppEligible += 1)
                        : (e.nAppOptedOut += 1);
                }),
                  JSON.stringify(e) != JSON.stringify(n) && a(e);
              }
            }, [t, n]),
            n
          );
        })(t.opt_in_name);
      return 0 == n.length
        ? null
        : i.a.createElement(
            Qe.a,
            {
              className: CB.a.ParticipationDetails,
              toolTipContent: i.a.createElement(NB, Object.assign({}, a)),
            },
            i.a.createElement(
              "div",
              { className: CB.a.Title },
              Object($.f)("#DiscountDashboard_AppRegistered"),
            ),
            i.a.createElement(
              "div",
              { className: CB.a.Count },
              a.nAppOptedIn,
              " / ",
              a.nAppEligible,
            ),
          );
    }
    function NB(e) {
      return i.a.createElement(
        "div",
        { className: CB.a.ParticipationToolTip },
        i.a.createElement(
          "div",
          null,
          Object($.f)("#DiscountDashboard_AppOptIn", e.nAppOptedIn),
        ),
        e.nAppOptedOut > 0 &&
          i.a.createElement(
            "div",
            null,
            Object($.f)("#DiscountDashboard_AppOptedOut", e.nAppOptedOut),
          ),
        i.a.createElement(
          "div",
          null,
          Object($.f)("#DiscountDashboard_AppEligible", e.nAppEligible),
        ),
      );
    }
    var FB = n("L3yR"),
      xB = n.n(FB);
    function zB(e) {
      const t = "America/Los_Angeles",
        n = {
          weekday: "long",
          month: "long",
          day: "numeric",
          hour: "numeric",
          timeZoneName: "short",
          timeZone: t,
        },
        a = { hour: "numeric", timeZoneName: "short" },
        r = t != Intl.DateTimeFormat().resolvedOptions().timeZone,
        i = new Date(1e3 * e),
        s = i.getMinutes();
      s <= 10
        ? i.setMinutes(0)
        : s >= 50
          ? i.setMinutes(60)
          : ((n.minute = "2-digit"), (a.minute = "2-digit"));
      const o = i.toLocaleString($.e.GetPreferredLocales(), n);
      if (!r) return o;
      return `${o} (${i.toLocaleString($.e.GetPreferredLocales(), a)})`;
    }
    function UB(e) {
      var t;
      const [n, a] = i.a.useState(0),
        {
          bSingleDiscountEventView: r,
          strSelectedEvent: s,
          fnSelectEvent: l,
          bIncludeConflictsInSingleEventView: c,
          fnSetIncludeConflictsInSingleEventView: d,
        } = UC(),
        m = rw(),
        p = zC(s),
        _ = iw(s),
        g =
          _.alreadySet.size +
          _.available.size +
          _.needRegistration.size +
          _.conflicts.size,
        b = _.conflicts.size,
        f = Ky(),
        v = f.length,
        S =
          null == f
            ? void 0
            : f.filter((e) => _.alreadySet.has(e) || _.available.has(e)),
        y = S.length,
        E = document.getElementsByClassName("tabulator-table"),
        C = 1 == E.length ? E[0] : null,
        w =
          null !== (t = null == C ? void 0 : C.getBoundingClientRect().width) &&
          void 0 !== t
            ? t
            : 740,
        B = Object(u.f)(),
        O = i.a.useRef(new ResizeObserver(B));
      i.a.useEffect(() => {
        if (!C) return;
        const e = O.current;
        return e.observe(C), () => e.unobserve(C);
      }, [C]);
      const D = o.c.PARTNER_BASE_URL + "doc/marketing/discounts#limits",
        I = ((T = S), pC.Get().GetMaxDiscountPercentageForGroup(T));
      var T;
      return i.a.createElement(
        "div",
        {
          style: { left: w + "px" },
          className: Object(h.a)(xB.a.SingleEventDetailsCtn, r && xB.a.Visible),
        },
        i.a.createElement(
          "div",
          { className: xB.a.Section },
          i.a.createElement(
            "div",
            { className: xB.a.SectionDate },
            Object($.f)("#DiscountDashboard_DetailView_StartTimeLabel") +
              " " +
              zB(null == p ? void 0 : p.start_date),
          ),
          i.a.createElement(
            "div",
            { className: xB.a.SectionDate },
            Object($.f)("#DiscountDashboard_DetailView_EndTimeLabel") +
              " " +
              zB(null == p ? void 0 : p.end_date),
          ),
          i.a.createElement(
            "div",
            { className: xB.a.SectionLabel },
            Object($.f)("#DiscountDashboard_DetailView_YourViewTitle"),
          ),
          i.a.createElement(
            "div",
            { className: xB.a.ViewSummary },
            Object($.f)(
              "#DiscountDashboard_DetailView_ViewSectionWithCount",
              v,
              g,
            ),
          ),
          i.a.createElement(
            "div",
            { className: xB.a.SectionText },
            Object($.f)(
              "#DiscountDashboard_DetailView_ViewSectionInstructions",
            ),
          ),
          b > 0 &&
            i.a.createElement(te.f, {
              className: xB.a.HideConflicts,
              label: Object($.f)("#DiscountDashboard_DetailView_HideConflicts"),
              checked: !c,
              disabled: 0 == b,
              onChange: (e) => d(!e),
            }),
        ),
        i.a.createElement(
          "div",
          { className: xB.a.Section },
          i.a.createElement(
            "div",
            { className: xB.a.SectionLabel },
            Object($.f)(
              "#DiscountDashboard_DetailView_DiscountAllVisibleTitle",
            ),
            i.a.createElement(
              Qe.a,
              {
                toolTipContent: Object($.f)(
                  "#DiscountDashboard_DetailView_BatchDiscountInstructions_ttip",
                ),
                className: xB.a.helpCtn,
              },
              i.a.createElement(H.F, null),
            ),
          ),
          i.a.createElement(
            "div",
            { className: xB.a.SectionText },
            Object($.f)(
              "#DiscountDashboard_DetailView_BatchDiscountInstructions",
            ),
          ),
          i.a.createElement(
            "div",
            { className: xB.a.SectionText },
            Object($.f)(
              "#DiscountDashboard_DetailView_BatchDiscountInstructions_ProTip",
            ),
          ),
          i.a.createElement(
            "div",
            {
              className: Object(h.a)(
                xB.a.BatchDiscountLine,
                0 == y && xB.a.Disabled,
              ),
            },
            i.a.createElement(te.z, {
              value: n,
              className: xB.a.BatchDiscountInput,
              onChange: (e) => {
                const t = e.target.value,
                  n = Number(t || 0);
                0 <= n && n <= 90 && a(n);
              },
              onFocus: (e) => e.target.select(),
            }),
            i.a.createElement("div", { className: xB.a.CellPct }, "%"),
            i.a.createElement(
              te.e,
              {
                className: xB.a.BatchDiscountButton,
                onClick: () => m(n, s, S),
                disabled: 0 == y,
              },
              Object($.n)(
                "#DiscountDashboard_DetailView_BatchDiscountButton",
                y,
              ),
            ),
          ),
          n > I &&
            i.a.createElement(
              "div",
              { className: xB.a.WarningText },
              i.a.createElement(
                "span",
                { className: xB.a.SectionText },
                Object($.f)(
                  "#DiscountDashboard_DetailView_BatchDiscount_MaxDiscountWarning",
                  I,
                ),
              ),
              i.a.createElement(
                "a",
                { href: D, target: "_blank", className: xB.a.SectionText },
                Object($.f)(
                  "#DiscountDashboard_DetailView_BatchDiscount_MaxDiscountDocumentationLink",
                ),
              ),
            ),
        ),
        i.a.createElement(
          "div",
          { className: xB.a.Section },
          i.a.createElement(
            te.e,
            { onClick: (e) => l(null) },
            Object($.f)("#DiscountDashboard_DetailView_ShowAllEvents"),
          ),
        ),
      );
    }
    const WB = "all-events";
    function HB(e, t) {
      return e.size == t.size && Array.from(e).every((e) => t.has(e));
    }
    function VB(e) {
      const { rgDiscountEvents: t, refTable: n } = e,
        {
          bSingleDiscountEventView: a,
          strSelectedEvent: r,
          fnSelectEvent: s,
          bIncludeWeeklongEvents: o,
          fnSetIncludeWeeklongEvents: l,
          bIncludeCustomEvents: c,
          fnSetIncludeCustomEvents: d,
        } = UC(),
        u = (function (e) {
          return i.a.useMemo(() => {
            const t = [
              {
                label: Object($.f)("#DiscountDashboard_DiscountFilterAll"),
                data: WB,
              },
            ];
            for (const n of e)
              lw(n.id) && t.push({ label: n.name, data: n.id });
            return t;
          }, [e]);
        })(t),
        m = (function (e) {
          const {
              bSingleDiscountEventView: t,
              strSelectedEvent: n,
              bIncludeConflictsInSingleEventView: a,
            } = UC(),
            r = xC(),
            s = iw(n),
            o = i.a.useRef(s),
            l = i.a.useRef(a),
            [c, d] = i.a.useState(!1);
          return (
            i.a.useEffect(() => d(!0), [n, a, r, s]),
            i.a.useEffect(() => {
              var n, i, u, m, p, h, _, g, b, f, v, S;
              if (!c) return;
              const y = [];
              if (
                (null ===
                  (u =
                    null ===
                      (i =
                        null === (n = e.current) || void 0 === n
                          ? void 0
                          : n.table) || void 0 === i
                      ? void 0
                      : i.getColumns()) ||
                  void 0 === u ||
                  u.forEach((e) => {
                    const t = e.getDefinition();
                    if (t.frozen) return;
                    const n = t.title,
                      a = r.has(n.id),
                      i = e.isVisible();
                    i != a ? e.toggle() : i && a && y.push(e);
                  }),
                t ||
                  1 != y.length ||
                  null ===
                    (p =
                      null === (m = e.current) || void 0 === m
                        ? void 0
                        : m.table) ||
                  void 0 === p ||
                  p.scrollToColumn(y[0].getField(), "middle", !1),
                t)
              ) {
                const { ineligibile: t, conflicts: n } = s,
                  r = o.current;
                ((null ===
                  (g =
                    null ===
                      (_ =
                        null === (h = e.current) || void 0 === h
                          ? void 0
                          : h.table) || void 0 === _
                      ? void 0
                      : _.getFilters()) || void 0 === g
                  ? void 0
                  : g.length) &&
                  HB(t, r.ineligibile) &&
                  HB(n, r.conflicts) &&
                  a == l.current) ||
                  null ===
                    (f =
                      null === (b = e.current) || void 0 === b
                        ? void 0
                        : b.table) ||
                  void 0 === f ||
                  f.setFilter(
                    (e) => !t.has(e.packageID) && (a || !n.has(e.packageID)),
                  );
              } else
                null ===
                  (S =
                    null === (v = e.current) || void 0 === v
                      ? void 0
                      : v.table) ||
                  void 0 === S ||
                  S.clearFilter();
              (o.current = s), (l.current = a), d(!1);
            }, [c]),
            c
          );
        })(n),
        p = t.some((e) => _C(e.id));
      return i.a.createElement(
        "div",
        { className: eB.a.DiscountsFilterBar },
        i.a.createElement(
          "div",
          { className: eB.a.DiscountSelectDropDown },
          i.a.createElement(te.m, {
            strDropDownClassName: Fe.a.DropDownScroll,
            rgOptions: u,
            selectedOption: null != r ? r : WB,
            label: Object($.f)(
              "#DiscountDashboard_DiscountFilterByEventButton",
            ),
            onChange: (e) => s(e.data == WB ? null : e.data),
          }),
        ),
        !a &&
          i.a.createElement(te.f, {
            className: eB.a.DiscountFilterCheckbox,
            label: Object($.f)(
              "#DiscountDashboard_ShowCustomDiscountsCheckBoxLabel",
            ),
            checked: c,
            disabled: a || !p,
            onChange: d,
          }),
        !a &&
          i.a.createElement(te.f, {
            className: eB.a.DiscountFilterCheckbox,
            label: Object($.f)(
              "#DiscountDashboard_ShowWeeklongDiscountsCheckBoxLabel",
            ),
            checked: o,
            disabled: a,
            onChange: l,
          }),
        m &&
          i.a.createElement(
            "div",
            { className: eB.a.UpdatingMessage },
            Object($.f)("#DiscountDashboard_UpdatingStatusMessage"),
          ),
        i.a.createElement(UB, null),
      );
    }
    function qB(e) {
      const t = i.a.useRef(null);
      "dev" == o.c.WEB_UNIVERSE && (window.g_DiscountGridTableRef = t);
      const n = FC(),
        a = kB(n),
        r = (function (e) {
          const t = Hy();
          return i.a.useMemo(() => {
            var n, a;
            const r = [];
            for (const i of t) {
              const t = Dt.a.Get().GetPackage(i);
              if (!t || !t.BIsVisible()) continue;
              const s = CE(t),
                o = {
                  appids:
                    null !==
                      (a =
                        null ===
                          (n = null == t ? void 0 : t.GetIncludedAppIDs()) ||
                        void 0 === n
                          ? void 0
                          : n.sort()) && void 0 !== a
                      ? a
                      : [],
                  appName: s.baseAppName,
                  packageID: i,
                  packageName: null == t ? void 0 : t.GetName(),
                  packageType: s.contents,
                  basePrice: null,
                  relatedDiscount: null,
                };
              for (const t of e)
                o[AB(t.id)] = { packageID: i, discountEventID: t.id };
              r.push(o);
            }
            return r;
          }, [t, e]);
        })(n),
        s = qy(),
        l = () => s(t.current.table),
        c = new URLSearchParams(window.location.search),
        d = {
          index: "packageID",
          layout: "fitData",
          initialSort: [{ column: "appName", dir: "asc" }],
          initialHeaderFilter: [
            {
              field: "packageName",
              value: c.has(zy) ? decodeURIComponent(c.get(zy)) : "",
            },
          ],
          groupBy: "appName",
          groupHeader: VE,
          groupToggleElement: "header",
          rowFormatter: UE,
          groupVisibilityChanged: l,
          renderComplete: l,
        };
      return (
        ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
          console.log("Rendering grid", a, d),
        i.a.createElement(
          "div",
          { className: eB.a.DiscountGridCtn },
          i.a.createElement(VB, { rgDiscountEvents: n, refTable: t }),
          i.a.createElement(
            "div",
            { className: eB.a.DiscountGrid },
            i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: t,
                columns: a,
                data: r,
                options: d,
              }),
              i.a.createElement("br", null),
            ),
          ),
        )
      );
    }
    var KB = n("YYBh"),
      QB = n.n(KB);
    function YB(e) {
      const { closeModal: t } = e,
        n = Qy(),
        r = ei()().format("YYYY-MM-DDTHH-mm-ss"),
        s = Hy(),
        l = Ky(),
        c = FC(),
        d = xC(),
        u = c.filter((e) => d.has(e.id)),
        m = `discounts_all_${n}_${r}.csv`,
        p = `discounts_${n}_${r}.csv`,
        h = 0 == l.length || 0 == u.length;
      return i.a.createElement(
        xe.e,
        {
          bAllowFullSize: !1,
          closeModal: t,
          bAlertDialog: !0,
          strTitle: Object($.f)("#DiscountDashboard_ImportExportHeader"),
        },
        Object($.f)("#DiscountDashboard_ImportExport_GeneralInstructions"),
        i.a.createElement("br", null),
        i.a.createElement(
          "a",
          {
            href: o.c.PARTNER_BASE_URL + "doc/store/discounting/csv",
            target: "_blank",
          },
          Object($.f)("#PricingDashboard_ImportExport_DocLink"),
        ),
        i.a.createElement("br", null),
        i.a.createElement("br", null),
        i.a.createElement(
          "h3",
          null,
          Object($.f)("#PricingDashboard_SubtitleExport"),
        ),
        i.a.createElement(
          "div",
          { className: QB.a.Instructions },
          Object($.f)("#DiscountDashboard_ImportExport_DownloadInstructions"),
        ),
        i.a.createElement(
          "div",
          { className: QB.a.ButtonRows },
          l.length != s.length &&
            i.a.createElement(
              "div",
              { className: QB.a.OptionCtn },
              i.a.createElement(
                "span",
                { className: QB.a.OptionDesc },
                Object($.f)(
                  "#DiscountDashboard_ImportExport_DownloadVisible_Desc",
                ),
              ),
              i.a.createElement(
                te.e,
                {
                  className: QB.a.Button,
                  disabled: h,
                  onClick: () => JB(l, u, p),
                },
                Object($.f)(
                  "#DiscountDashboard_ImportExport_DownloadVisible_Button",
                ),
                i.a.createElement(
                  "span",
                  null,
                  Object($.f)("#PricingDashboard_PackageCount", l.length),
                ),
              ),
            ),
          i.a.createElement(
            "div",
            { className: QB.a.OptionCtn },
            i.a.createElement(
              "span",
              { className: QB.a.OptionDesc },
              Object($.f)("#DiscountDashboard_ImportExport_DownloadAll_Desc"),
            ),
            i.a.createElement(
              te.e,
              {
                className: QB.a.Button,
                disabled: h,
                onClick: () => JB(s, c, m),
              },
              Object($.f)("#DiscountDashboard_ImportExport_DownloadAll_Button"),
              i.a.createElement(
                "span",
                null,
                Object($.f)("#PricingDashboard_PackageCount", s.length),
              ),
            ),
          ),
        ),
        i.a.createElement("br", null),
        i.a.createElement("br", null),
        i.a.createElement(
          "h3",
          null,
          Object($.f)("#PricingDashboard_SubtitleImport"),
        ),
        i.a.createElement(
          "div",
          { className: QB.a.Instructions },
          Object($.f)("#DiscountDashboard_ImportExport_UploadInstructions"),
        ),
        i.a.createElement(
          "div",
          { className: QB.a.ButtonRows },
          i.a.createElement(
            "div",
            { className: QB.a.OptionCtn },
            i.a.createElement(
              "span",
              { className: QB.a.OptionDesc },
              Object($.f)("#DiscountDashboard_ImportExport_Upload_Desc"),
            ),
            i.a.createElement(
              te.e,
              { className: QB.a.Button, disabled: h },
              i.a.createElement(
                "label",
                {
                  className: QB.a.ImportButtonLabel,
                  htmlFor: "import-discount-input",
                },
                Object($.f)("#DiscountDashboard_ImportExport_Upload_Button"),
                i.a.createElement("input", {
                  id: "import-discount-input",
                  type: "file",
                  style: { display: "none" },
                  onChange: (e) =>
                    (function (e, t) {
                      return Object(a.a)(this, void 0, void 0, function* () {
                        if (e.target.files.length >= 1) {
                          const n = Object(v.o)(e),
                            a = e.target.files[0],
                            r = yield C_.ParseCSVFile(a);
                          Object(ze.b)(
                            i.a.createElement(XB, {
                              strFilename: a.name,
                              parseResult: r,
                            }),
                            n,
                          ),
                            t();
                        }
                      });
                    })(e, t),
                }),
              ),
            ),
          ),
        ),
      );
    }
    function ZB(e) {
      var t, n, a, r;
      return (null ===
        (n = null === (t = e.header) || void 0 === t ? void 0 : t.trim()) ||
      void 0 === n
        ? void 0
        : n.length) > 0
        ? e.header.trim()
        : (null ===
              (r = null === (a = e.name) || void 0 === a ? void 0 : a.trim()) ||
            void 0 === r
              ? void 0
              : r.length) > 0
          ? e.name.trim()
          : e.id;
    }
    function JB(e, t, n) {
      var a;
      const r = [],
        i = [
          Object($.f)("#PackageGrid_Column_PackageName"),
          "ID",
          Object($.f)("#DiscountDashboard_GridColumn_BasePrice"),
        ],
        s = new Set();
      for (const e of t) {
        let t = ZB(e);
        s.has(t) && (t = t + "/" + e.id), s.add(t), i.push(t);
      }
      r.push(i);
      for (const n of e) {
        const e = Dt.a.Get().GetPackage(n);
        if (!e || !e.BIsVisible()) continue;
        const i = nE(n),
          s = [e.GetName(), n.toString(), null != i ? i : "--"];
        for (const e of t) {
          const t = aw(n, e.id);
          s.push(
            null !== (a = null == t ? void 0 : t.toString()) && void 0 !== a
              ? a
              : Object($.f)("#DiscountDashboard_OptIn_Grid_Ineligible_NA"),
          );
        }
        r.push(s);
      }
      C_.WriteCSVToFile(r, n);
    }
    function XB(e) {
      var t, n;
      const { closeModal: a, strFilename: r, parseResult: s } = e,
        o = Object(Bt.c)(),
        l = Hy(),
        c = FC(),
        d = rw(),
        [u, m] = i.a.useState(null),
        [p, h] = i.a.useState(),
        [_, g] = i.a.useState();
      if (
        (i.a.useEffect(() => {
          const {
            rgDiscountOverrides: e,
            nPackagesImported: t,
            nDiscountEventsImported: n,
          } = (function (e, t, n, a, r) {
            var i, s, o;
            const l = new Map(),
              c = new Set(
                null !==
                  (s =
                    null === (i = e.meta) || void 0 === i
                      ? void 0
                      : i.fields) && void 0 !== s
                  ? s
                  : [],
              );
            for (const e of a) {
              if (t > e.start_date) continue;
              const n = ZB(e),
                a = n + "/" + e.id;
              c.has(a) ? l.set(a, e.id) : c.has(n) && l.set(n, e.id);
            }
            const d = Array.from(l.keys()),
              u = [],
              m = new Set(n),
              p = [];
            for (const t of null !== (o = e.data) && void 0 !== o ? o : []) {
              const e = Number(t.ID);
              if (m.has(e)) {
                u.push(e);
                for (const n of d) {
                  const a = l.get(n),
                    i = t[n],
                    s = !!(null == i ? void 0 : i.length) && parseInt(i);
                  if (!(null == i ? void 0 : i.length) || Number.isNaN(s))
                    continue;
                  const o = r(s, a, [e]);
                  1 == (null == o ? void 0 : o.length) && p.push(o[0]);
                }
              }
            }
            return {
              rgDiscountOverrides: p,
              nPackagesImported: u.length,
              nDiscountEventsImported: d.length,
            };
          })(s, o, l, c, d);
          m(e), h(t), g(n);
        }, [s, o, l, c, d]),
        null === u)
      )
        return i.a.createElement(ee.a, { position: "center" });
      const b = u.length > 0,
        f = b
          ? Object($.f)("#PackageGrid_SaveChangesDialogButton")
          : Object($.f)("#Button_Close");
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)(
            "#DiscountDashboard_ImportExport_UploadProgressTitle",
          ),
          strDescription: Object($.f)(
            "#DiscountDashboard_ImportExport_UploadProgressDetails",
            p,
            _,
          ),
          bAlertDialog: !b,
          strOKButtonText: f,
          onOK: () => {
            b && Object(ze.d)(i.a.createElement(oB, null), window);
          },
          strCancelButtonText: Object($.f)("#Button_OK"),
          closeModal: a,
        },
        i.a.createElement(
          "div",
          { className: QB.a.ParseResultCount },
          Object($.n)(
            "#DiscountDashboard_ImportExport_UploadResults",
            u.length,
          ),
        ),
        b &&
          Object($.f)(
            "#DiscountDashboard_ImportExport_UploadNextStepInstructions",
          ),
        !!(null === (t = s.errors) || void 0 === t ? void 0 : t.length) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "div",
              { className: QB.a.ErrorHeader },
              Object($.f)(
                "#DiscountDashboard_ImportExport_UploadErrorsHeader",
                null === (n = s.errors) || void 0 === n ? void 0 : n.length,
              ),
            ),
            i.a.createElement(
              "div",
              { className: QB.a.ParseErrors },
              s.errors.map((e, t) => {
                var n;
                return i.a.createElement(
                  "div",
                  { key: `${e.message}-${t}`, className: QB.a.Error },
                  `${null !== (n = e.row) && void 0 !== n ? n : "-"} ${e.message}`,
                );
              }),
            ),
          ),
      );
    }
    function $B(e) {
      gE(ew());
      const { rgDiscountEvents: t, eResult: n } = IC(),
        r = Hy(),
        s = Object(Tt.a)("DiscountDashboard"),
        l = vC(),
        { fnLoadMultiOptInRegistration: c } = i.a.useMemo(
          () => ({
            fnLoadMultiOptInRegistration: Fv.Get().LoadMultiOptInRegistration,
          }),
          [],
        ),
        d = i.a.useCallback(() => {
          PC.Get().UpdateVisibleDiscountEventIDs();
        }, []),
        u = i.a.useCallback(() => {
          QC.Get();
        }, []),
        [m, p] = Rr(zw, null);
      i.a.useEffect(() => {
        m && Object(ze.d)(i.a.createElement(Uw, null), window);
      }, [m]);
      const [h, _] = i.a.useState(),
        [g, b] = i.a.useState(),
        [f, S] = i.a.useState(),
        [y, C] = i.a.useState(!1),
        [w, B] = i.a.useState(!1),
        [O, D] = i.a.useState(!1),
        [I, T] = i.a.useState(!1);
      i.a.useEffect(() => {
        _(Object($.f)("#DiscountDashboard_LoadingPackagesWithCount", r.length)),
          (function (e, t) {
            return Object(a.a)(this, void 0, void 0, function* () {
              if (
                1 != (yield Dt.a.Get().HintLoadStorePackages(e, wE)) ||
                t.token.reason
              )
                return null;
              const n = [];
              e.map((e) => Dt.a.Get().GetPackage(e))
                .filter((e) => !!e)
                .forEach((e) => n.push(...e.GetIncludedAppIDs()));
              const a = Array.from(new Set(n));
              if (
                1 != (yield Dt.a.Get().HintLoadStoreApps(a, wE)) ||
                t.token.reason
              )
                return null;
              const r = a
                  .map((e) => Dt.a.Get().GetApp(e))
                  .filter((e) => !!(null == e ? void 0 : e.GetParentAppID()))
                  .map((e) => e.GetParentAppID()),
                i = Array.from(new Set(r));
              return 1 != (yield Dt.a.Get().HintLoadStoreApps(i, wE)) ||
                t.token.reason
                ? null
                : Array.from(new Set(a.concat(i)));
            });
          })(r, s).then((e) => {
            (null == e ? void 0 : e.length) > 0
              ? S(e)
              : b(Object($.f)("#DiscountDashboard_Error_CouldNotLoadPackages"));
          });
      }, [r, s]),
        i.a.useEffect(() => {
          l(r, s).then((e) => {
            1 == e
              ? B(!0)
              : b(
                  Object($.f)(
                    "#DiscountDashboard_Error_CouldNotLoadPackageDiscounts",
                  ),
                );
          });
        }, [r, s, l]),
        i.a.useEffect(() => {
          if (f)
            if (null === n)
              _(Object($.f)("#DiscountDashboard_LoadingDiscountEvents"));
            else if (1 != n)
              b(
                Object($.f)(
                  "#DiscountDashboard_Error_CouldNotLoadDiscountEvents",
                ),
              );
            else {
              const e = f.filter((e) => {
                  var t;
                  return yE.has(
                    null === (t = Dt.a.Get().GetApp(e)) || void 0 === t
                      ? void 0
                      : t.GetAppType(),
                  );
                }),
                n = t.map((e) => e.opt_in_name).filter(Boolean);
              n.length > 0 ? c(n, e, s).then(() => C(!0)) : C(!0);
            }
        }, [f, t, n, c, s]),
        i.a.useEffect(() => {
          f &&
            1 == n &&
            (y
              ? w
                ? (_(
                    Object($.f)(
                      "#DiscountDashboard_ComputingGridStateWithCounts",
                      r.length,
                      t.length,
                    ),
                  ),
                  D(!0))
                : _(
                    Object($.f)(
                      "#DiscountDashboard_LoadingPackageDiscounts",
                      r.length,
                    ),
                  )
              : _(
                  Object($.f)(
                    "#DiscountDashboard_LoadingRegistrationData",
                    f.length,
                  ),
                ));
        }, [f, n, r, t, y, w]),
        i.a.useEffect(() => {
          O &&
            window.setTimeout(() => {
              d(), u(), _(null), T(!0);
            }, 0);
        }, [O, d, u]);
      const R = o.c.PARTNER_BASE_URL + "doc/marketing/discounts",
        j = o.c.HELP_BASE_URL + "wizard/HelpWithPublishing?issueid=919",
        A = !!f;
      return i.a.createElement(
        "div",
        { className: Xw.a.DashboardPage },
        i.a.createElement(
          "div",
          { className: Xw.a.DashTitleBar },
          i.a.createElement(
            "div",
            { className: Xw.a.DashTitle },
            Object($.f)("#DiscountDashboard_Title"),
          ),
          i.a.createElement(
            "div",
            { className: Xw.a.ButtonGroup },
            i.a.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(i.a.createElement(Uw, null), Object(v.o)(e)),
                disabled: !A,
              },
              Object($.f)("#DiscountDashboard_CreateDiscountButton"),
            ),
            i.a.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(i.a.createElement(YB, null), Object(v.o)(e)),
              },
              Object($.f)("#DiscountDashboard_ImportExportButton"),
            ),
            i.a.createElement(
              te.e,
              { onClick: (e) => Object(E.d)(e, R) },
              Object($.f)("#DiscountDashboard_DocumentationButton"),
            ),
            i.a.createElement(
              te.e,
              { onClick: (e) => Object(E.d)(e, j) },
              Object($.f)("#DiscountDashboard_ContactUsButton"),
            ),
          ),
        ),
        i.a.createElement(
          "div",
          { className: Xw.a.ConfidentialBanner },
          Object($.f)("#DiscountDashboard_ConfidentialityBanner"),
        ),
        g && i.a.createElement("div", { className: Xw.a.ErrorMessage }, g),
        !g &&
          h &&
          i.a.createElement(ee.a, {
            position: "center",
            string: h,
            className: Xw.a.Throbber,
          }),
        I &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(qB, null),
            i.a.createElement(iB, null),
          ),
      );
    }
    const eO = () => "/dashboard/:publisherid(\\d*)",
      tO = (e) =>
        i.a.createElement(
          In.a,
          { basename: Object(ie.a)() + "promotion/discounts/" },
          i.a.createElement(
            fa.e,
            null,
            i.a.createElement(fa.c, {
              exact: !0,
              path: ie.b.DiagData(),
              render: (e) =>
                i.a.createElement(
                  Jf,
                  Object.assign({}, e, { strConfigID: "application_config" }),
                ),
            }),
            i.a.createElement(fa.c, {
              path: eO(),
              render: (e) => i.a.createElement($B, null),
            }),
            i.a.createElement(fa.c, { component: SA }),
          ),
        ),
      nO = new RegExp(
        /(?:steampowered\.com|valve\.org\/store)\/sale\/([a-zA-Z0-9\-_&]+)/i,
      ),
      aO = new RegExp(
        /(?:steampowered\.com|valve\.org\/store)\/(?:curator|dev|developer|franchise|pub|publisher)\/[a-zA-Z0-9\-_%]+\/sale\/([a-zA-Z0-9\-_&%]+)/i,
      );
    class rO {
      constructor() {
        (this.m_rgMapCluster = new Map()),
          (this.m_rgFeatureNames = new Array()),
          (this.m_rgActiveFeatureNames = new Array()),
          (this.m_rgSpotlights = null),
          (this.m_rgIM = null),
          (this.m_activeDeals = null),
          (this.m_mapSaleVanityTakeover = new Map()),
          (this.m_mapSaleVanitySpotlight = new Map()),
          (this.m_mapSaleVanityIM = new Map()),
          (this.m_mapSaleVanityDailyDeals = new Map());
      }
      BHasVanityFeaturing(e) {
        return this.m_mapSaleVanityTakeover.has(e.toLowerCase());
      }
      GetVanityFeaturing(e) {
        return this.m_mapSaleVanityTakeover.get(e.toLowerCase()) || [];
      }
      BHasVanitySpotlight(e) {
        return this.m_mapSaleVanitySpotlight.has(e.toLowerCase());
      }
      GetVanitySpotlight(e) {
        return this.m_mapSaleVanitySpotlight.get(e.toLowerCase());
      }
      BHasVanityIM(e) {
        return this.m_mapSaleVanityIM.has(e.toLowerCase());
      }
      GetVanityIM(e) {
        return this.m_mapSaleVanityIM.get(e.toLowerCase());
      }
      BHasVanityDailyDeal(e) {
        return this.m_mapSaleVanityDailyDeals.has(e.toLowerCase());
      }
      GetVanityDailyDeal(e) {
        return this.m_mapSaleVanityDailyDeals.get(e.toLowerCase());
      }
      static Get() {
        return (
          rO.s_FeatureStore ||
            ((rO.s_FeatureStore = new rO()), rO.s_FeatureStore.Init()),
          rO.s_FeatureStore
        );
      }
      ExtractMatchingVanityURL(e) {
        let t = null,
          n = nO.exec(e);
        n && n.length > 1 && (t = n);
        let a = aO.exec(e);
        return a && a.length > 1 && (t = a), t ? t[1].toLowerCase() : null;
      }
      InsertVanityToForceFeature(e, t, n) {
        e &&
          (this.m_mapSaleVanityTakeover.has(e) ||
            this.m_mapSaleVanityTakeover.set(e, new Array()),
          this.m_mapSaleVanityTakeover
            .get(e)
            .push({ cluster_name: t.cluster_name, clusters: [n] }));
      }
      InsertVanityToSpotlight(e, t) {
        e && this.m_mapSaleVanitySpotlight.set(e, t);
      }
      Init() {
        let e = Object(o.g)("steampagefeaturing", "application_config");
        this.ValidateStoreDefault(e) &&
          (e.forEach((e) => {
            this.m_rgMapCluster.set(e.cluster_name, e.clusters),
              this.m_rgFeatureNames.push(e.cluster_name),
              e.clusters &&
                e.clusters.length > 0 &&
                this.m_rgActiveFeatureNames.push(e.cluster_name),
              e.clusters.forEach((t) => {
                t.page_bg_url &&
                  this.InsertVanityToForceFeature(
                    this.ExtractMatchingVanityURL(t.page_bg_url),
                    e,
                    t,
                  ),
                  t.expanded_capsules &&
                    t.expanded_capsules.forEach((n) => {
                      n.website &&
                        "Advertising" == n.type &&
                        this.InsertVanityToForceFeature(
                          this.ExtractMatchingVanityURL(n.website),
                          e,
                          t,
                        );
                    });
              });
          }),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "CForceFeatureStore - Total Active Features: " +
                this.m_rgActiveFeatureNames.length +
                " Matching Vanity: " +
                this.m_mapSaleVanityTakeover.size,
              this.m_mapSaleVanityTakeover.keys(),
            ));
        let t = Object(o.g)("spotlightfeaturing", "application_config");
        this.ValidateSpotlightDefault(t) &&
          ((this.m_rgSpotlights = t),
          this.m_rgSpotlights &&
            this.m_rgSpotlights.forEach((e) => {
              e.associated_url &&
                this.InsertVanityToSpotlight(
                  this.ExtractMatchingVanityURL(e.associated_url),
                  e,
                ),
                e.associated_app &&
                  "Advertising" == e.associated_app.type &&
                  e.associated_app.website &&
                  this.InsertVanityToSpotlight(
                    this.ExtractMatchingVanityURL(e.associated_app.website),
                    e,
                  );
            }),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "CForceFeatureStore - Total Active Spotlight: " +
                this.m_rgSpotlights.length +
                " Matchign Vanity: " +
                this.m_mapSaleVanitySpotlight.size,
              this.m_mapSaleVanitySpotlight.keys(),
            ));
        let n = Object(o.g)("marketingmsg", "application_config");
        this.ValidateIMDefault(n) &&
          ((this.m_rgIM = n),
          n.forEach((e) => {
            if (e.template && e.template.linkurl) {
              let t = this.ExtractMatchingVanityURL(e.template.linkurl);
              this.m_mapSaleVanityIM.set(t, e);
            }
          }),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "CForceFeatureStore - Total Active Marketing MEssages (IM) : " +
                this.m_rgIM.length +
                " Matchign Vanity: " +
                this.m_mapSaleVanityIM.size,
              this.m_mapSaleVanityIM.keys(),
            ));
        let a = Object(o.g)("dailydeals", "application_config");
        this.ValidateDailyDealDefault(a) &&
          ((this.m_activeDeals = a),
          this.m_activeDeals.forEach((e) => {
            if (e.target_app) {
              let t = this.ExtractMatchingVanityURL(e.target_app.website);
              t && this.m_mapSaleVanityDailyDeals.set(t, e);
            }
          }),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "CForceFeatureStore - Total Active Daily Deals: " +
                this.m_activeDeals.length +
                " Matching Vanity: " +
                this.m_mapSaleVanityDailyDeals.size,
              this.m_mapSaleVanityDailyDeals.keys(),
            ));
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].cluster_name &&
          "object" == typeof t[0].clusters
        );
      }
      ValidateSpotlightDefault(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].id
        );
      }
      ValidateIMDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].gid &&
          "string" == typeof t[0].name
        );
      }
      ValidateDailyDealDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].name &&
          "object" == typeof t[0].target_app
        );
      }
    }
    Object(a.b)([L.k], rO.prototype, "Init", null);
    const iO = Object(r.createContext)(null),
      sO = () => Object(r.useContext)(iO);
    class oO {
      constructor() {
        (this.m_rgUpcoming = new Array()),
          (this.m_rgDraft = new Array()),
          (this.m_rgOldDraft = new Array()),
          (this.m_rgArchive = new Array()),
          (this.m_rgActive = new Array()),
          (this.m_rgSeasonFeatured = new Array()),
          (this.m_rgHiddenSeasonFeatured = new Array());
      }
      static Get() {
        return (
          oO.s_SaleEventStore ||
            ((oO.s_SaleEventStore = new oO()), oO.s_SaleEventStore.Init()),
          oO.s_SaleEventStore
        );
      }
      GetActiveEvents() {
        return this.m_rgActive;
      }
      GetUpcomingEvents() {
        return this.m_rgUpcoming;
      }
      GetArchiveEvents() {
        return this.m_rgArchive;
      }
      GetDraftEvents() {
        return this.m_rgDraft;
      }
      GetOldDraftEvents() {
        return this.m_rgOldDraft;
      }
      GetSeasonFeaturedEvents() {
        return this.m_rgSeasonFeatured;
      }
      GetSeasonFeaturedHiddenEvents() {
        return this.m_rgHiddenSeasonFeatured;
      }
      Init() {
        const e = Object(o.g)("saleeventstore", "application_config");
        if (this.ValidateStoreDefault(e)) {
          const t = Math.floor(Date.now() / 1e3),
            n = t - 2592e3;
          e.forEach((e) => {
            e.bVisible && e.rtEndTime && e.rtEndTime < t
              ? this.m_rgArchive.push(e)
              : e.bVisible && e.rtStartTime > t
                ? this.m_rgUpcoming.push(e)
                : e.bVisible
                  ? this.m_rgActive.push(e)
                  : e.rtLastModifiedTime > n && e.rtEndTime > t
                    ? this.m_rgDraft.push(e)
                    : this.m_rgOldDraft.push(e),
              e.bFeaturedNextSeasonalSale && this.m_rgSeasonFeatured.push(e);
          }),
            this.m_rgActive.sort((e, t) => e.rtStartTime - t.rtStartTime),
            this.m_rgDraft.sort((e, t) => e.rtStartTime - t.rtStartTime);
        }
        const t = Object(o.g)("hidden_featured_draft", "application_config");
        this.ValidateStoreDefault(t) &&
          t.forEach((e) => this.m_rgHiddenSeasonFeatured.push(e));
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "number" == typeof t[0].clanAccountID &&
          "string" == typeof t[0].clanEventGID
        );
      }
      CreateSalePartnerEvent(e, t, n, r, i, s) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = o.c.PARTNER_BASE_URL + "sales/ajaxcreatesalepartnerevent";
          const l = new FormData();
          l.append("sessionid", o.c.SESSIONID),
            l.append("clanAccountID", "" + e),
            l.append("eventName", t),
            l.append("vanity", n),
            l.append("rtStartTime", "" + r),
            l.append("rtEndTime", "" + i);
          try {
            let t = yield F.a.post(a, l, { cancelToken: s.token });
            if (
              t &&
              200 == t.status &&
              1 == t.data.success &&
              !s.token.reason
            ) {
              let n = de.a.InitFromClanID(e);
              return yield St.b.LoadHiddenPartnerEvent(n, t.data.eventEventGID);
            }
          } catch (e) {
            let t = Object(me.a)(e);
            console.log("CreateSalePartnerEvent Failed: " + t.strErrorMsg, t);
          }
          return null;
        });
      }
    }
    Object(a.b)([L.k], oO.prototype, "Init", null);
    const lO = "new_event_gid";
    class cO {
      constructor() {
        (this.m_mapOriginalJSON = new Map()),
          (this.m_mapPrivateData = new Map()),
          (this.m_mapPrivateDataCallback = new Map()),
          (this.m_inflightRequests = new Map()),
          (this.m_gidDirty = null),
          (this.m_clanAccountIDDirty = null);
      }
      GetPrivateData(e, t) {
        const n = this.HandleNewEventGID(t);
        return this.m_mapPrivateData.get(n) || { jsonData: {} };
      }
      GetPrivateDataCopy(e, t) {
        const n = this.HandleNewEventGID(t);
        return JSON.parse(JSON.stringify(this.GetPrivateData(e, n)));
      }
      GetPrivateDataChangeCallback(e, t) {
        const n = this.HandleNewEventGID(t);
        return (
          this.m_mapPrivateDataCallback.has(n) ||
            this.m_mapPrivateDataCallback.set(n, new g.a()),
          this.m_mapPrivateDataCallback.get(n)
        );
      }
      UpdatePrivateData(e, t, n) {
        const a = this.HandleNewEventGID(t),
          r = this.GetPrivateData(e, a);
        if (!this.BIsEqual(r.jsonData, n)) {
          if (null != this.m_gidDirty && a != this.m_gidDirty) {
            const e = this.m_mapPrivateData.get(this.m_gidDirty),
              t = this.m_mapOriginalJSON.get(this.m_gidDirty),
              n = Object.assign(Object.assign({}, e), { jsonData: t });
            this.m_mapPrivateData.set(this.m_gidDirty, n),
              this.DispatchUpdate(this.m_clanAccountIDDirty, this.m_gidDirty);
          }
          (r.jsonData = n),
            (this.m_gidDirty = a),
            (this.m_clanAccountIDDirty = e),
            this.DispatchUpdate(e, a);
        }
      }
      BIsEqual(e, t) {
        return JSON.stringify(e) === JSON.stringify(t);
      }
      BLoaded(e, t) {
        const n = this.HandleNewEventGID(t);
        return this.m_mapPrivateData.has(n);
      }
      BIsDirty() {
        return Boolean(this.m_gidDirty);
      }
      BIsEventDirty(e) {
        const t = this.HandleNewEventGID(e);
        return this.m_gidDirty == t;
      }
      DiscardChanges() {
        if (this.m_gidDirty) {
          const e = this.m_clanAccountIDDirty,
            t = this.m_gidDirty;
          (this.m_clanAccountIDDirty = null), (this.m_gidDirty = null);
          const n = this.m_mapPrivateData.get(t),
            a = this.m_mapOriginalJSON.get(t);
          this.m_mapPrivateData.set(
            t,
            Object.assign(Object.assign({}, n), { jsonData: a }),
          ),
            this.DispatchUpdate(e, t);
        }
      }
      DispatchUpdate(e, t) {
        const n = this.HandleNewEventGID(t),
          a = this.GetPrivateDataCopy(e, n);
        this.GetPrivateDataChangeCallback(e, n).Dispatch(a);
      }
      HandleNewEventGID(e) {
        return null == e || null == e || "" == e ? lO : e;
      }
      LoadPrivateData(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = this.HandleNewEventGID(t);
          return (
            this.m_inflightRequests.has(n) ||
              this.m_inflightRequests.set(
                n,
                this.InternalLoadPrivateData(e, n),
              ),
            yield this.m_inflightRequests.get(n)
          );
        });
      }
      InternalLoadPrivateData(e, t) {
        var n, r;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = this.HandleNewEventGID(t);
          if (this.m_mapPrivateData.has(a)) return this.m_mapPrivateData.get(a);
          if (a == lO) {
            const e = { jsonData: {} };
            return (
              this.m_mapPrivateData.set(a, e),
              this.m_mapOriginalJSON.set(a, {}),
              e
            );
          }
          try {
            const t =
                o.c.COMMUNITY_BASE_URL + "partnereventdata/ajaxgetprivatedata",
              i = { clanAccountID: e.GetAccountID(), gidClanEvent: a },
              s = yield F.a.get(t, { params: i, withCredentials: !0 });
            if (
              1 ===
                (null === (n = null == s ? void 0 : s.data) || void 0 === n
                  ? void 0
                  : n.success) &&
              s.data.data
            ) {
              const e = {
                rtLastUpdateTime: s.data.data.time_written,
                nAccountLastUpdate: s.data.data.account_writer,
                jsonData: s.data.data.json_data,
              };
              return (
                this.m_mapPrivateData.set(a, e),
                this.m_mapOriginalJSON.set(a, e.jsonData),
                e
              );
            }
            if (
              42 ===
              (null === (r = null == s ? void 0 : s.data) || void 0 === r
                ? void 0
                : r.success)
            ) {
              const e = { jsonData: {} };
              return (
                this.m_mapPrivateData.set(a, e),
                this.m_mapOriginalJSON.set(a, {}),
                e
              );
            }
            {
              const e = Object(me.a)(s);
              console.error(
                "CPartnerEventPrivateDataStore.InternalLoadPrivateData: response with " +
                  e.strErrorMsg,
                e,
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CPartnerEventPrivateDataStore.InternalLoadPrivateData: failed with " +
                t.strErrorMsg,
              t,
            );
          }
          return null;
        });
      }
      SaveDirtyChanges(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            (Object(l.a)(
              null != e && null != e && "" != e,
              "CPartnerEventPrivateDataStore: GID not supplied.",
            ),
            this.BIsDirty())
          ) {
            const t = de.a.InitFromClanID(this.m_clanAccountIDDirty),
              n = this.m_mapPrivateData.get(this.m_gidDirty).jsonData;
            if (this.m_gidDirty == e || this.m_gidDirty == lO)
              return (
                this.m_gidDirty == lO &&
                  (this.m_mapOriginalJSON.set(e, {}),
                  this.m_mapPrivateData.set(e, this.m_mapPrivateData.get(lO)),
                  this.m_mapPrivateData.delete(lO)),
                this.SavePrivateData(t, e, n)
              );
            console.warn(
              "CPartnerEventPrivateDataStore: Dirty not matching input GID:" +
                e +
                " " +
                this.m_gidDirty,
            );
          } else
            console.warn(
              "CPartnerEventPrivateDataStore: Attempting to save private when not dirty: " +
                e +
                " " +
                this.m_gidDirty,
            );
          return 1;
        });
      }
      SavePrivateData(e, t, n) {
        var r;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (
            (Object(l.a)(
              null != t && null != t && "" != t,
              "CPartnerEventPrivateDataStore: GID not supplied.",
            ),
            !this.m_mapPrivateData.has(t))
          )
            return 42;
          if (this.BIsEqual(n, this.m_mapOriginalJSON.get(t))) return 1;
          try {
            const a = new FormData();
            a.append("sessionid", o.c.SESSIONID),
              a.append("clanAccountID", "" + e.GetAccountID()),
              a.append("gidClanEvent", "" + t),
              a.append("jsonData", JSON.stringify(n));
            const i =
                o.c.COMMUNITY_BASE_URL + "partnereventdata/ajaxsetprivatedata",
              s = yield F.a.post(i, a, { withCredentials: !0 });
            if (
              1 ===
              (null === (r = null == s ? void 0 : s.data) || void 0 === r
                ? void 0
                : r.success)
            ) {
              const a = {
                nAccountLastUpdate: o.j.accountid,
                rtLastUpdateTime: Math.floor(Date.now() / 1e3),
                jsonData: n,
              };
              return (
                this.m_mapPrivateData.set(t, a),
                this.m_mapOriginalJSON.set(t, n),
                (this.m_clanAccountIDDirty = null),
                (this.m_gidDirty = null),
                this.DispatchUpdate(e.GetAccountID(), t),
                s.data.success
              );
            }
            {
              const e = Object(me.a)(s);
              console.error(
                "CPartnerEventPrivateDataStore.SavePrivateData: response with " +
                  e.strErrorMsg,
                e,
              );
            }
          } catch (e) {
            const t = Object(me.a)(e);
            console.error(
              "CPartnerEventPrivateDataStore.SavePrivateData: failed with " +
                t.strErrorMsg,
              t,
            );
          }
          return 2;
        });
      }
      static Get() {
        return (
          cO.s_Singleton ||
            ((cO.s_Singleton = new cO()),
            cO.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PartnerEventPrivateDataStore = cO.s_Singleton)),
          cO.s_Singleton
        );
      }
      Init() {
        let e = Object(o.g)("privatedata", "application_config");
        this.ValidateStoreDefault(e) &&
          e.forEach((e) => {
            const t = {
              rtLastUpdateTime: e.data.time_written,
              nAccountLastUpdate: e.data.account_writer,
              jsonData: e.data.json_data,
            };
            this.m_mapOriginalJSON.set(e.gid, t.jsonData),
              this.m_mapPrivateData.set(e.gid, t);
          });
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].gid &&
            "number" == typeof t[0].clanAccountID &&
          "object" == typeof t[0].data
        );
      }
    }
    function dO(e, t) {
      const n = cO.Get(),
        [a, i] = Object(r.useState)(n.GetPrivateDataCopy(e, t));
      Object(u.e)(n.GetPrivateDataChangeCallback(e, t), i);
      const [s, o] = Object(r.useState)(!n.BLoaded(e, t));
      Object(r.useEffect)(() => {
        if (!n.BLoaded(e, t)) {
          const a = de.a.InitFromClanID(e);
          n.LoadPrivateData(a, t).then((e) => {
            i(e), o(!1);
          });
        }
      }, [e, t, n]);
      return {
        oPrivateData: a,
        fnSetPrivateJon: (a) => {
          n.UpdatePrivateData(e, t, a);
        },
        bLoading: s,
      };
    }
    function uO() {
      const e = cO.Get();
      return [e.BIsEventDirty, e.DiscardChanges, e.SaveDirtyChanges];
    }
    function mO(e, t) {
      const { oPrivateData: n, fnSetPrivateJon: a, bLoading: r } = dO(e, t),
        i = cO.Get();
      return {
        bLoading: r,
        bPublishRequiresValveApproval:
          null == n ? void 0 : n.jsonData.bPublishRequiresValveApproval,
        nAccountApproved: null == n ? void 0 : n.jsonData.nAccountApproved,
        rtApprovalTime: null == n ? void 0 : n.jsonData.rtApprovalTime,
        fnSetStorePublishingRequiresValveApproval: (n) =>
          a(
            Object.assign(Object.assign({}, i.GetPrivateData(e, t).jsonData), {
              bPublishRequiresValveApproval: n,
            }),
          ),
        fnSetAccountApproved: (n) =>
          a(
            Object.assign(Object.assign({}, i.GetPrivateData(e, t).jsonData), {
              nAccountApproved: n,
              rtApprovalTime: Math.floor(Date.now() / 1e3),
            }),
          ),
      };
    }
    Object(a.b)([Ul.a], cO.prototype, "BIsEventDirty", null),
      Object(a.b)([Ul.a], cO.prototype, "DiscardChanges", null),
      Object(a.b)([Ul.a], cO.prototype, "SaveDirtyChanges", null);
    n("CKni");
    function pO(e) {
      const { clanSteamID: t, gidClanEvent: n } = e,
        { bLoading: a } = mO(t.GetAccountID(), n);
      return a
        ? i.a.createElement(ee.a, { string: Object($.f)("#Loading") })
        : i.a.createElement(hO, Object.assign({}, e));
    }
    function hO(e) {
      const { clanSteamID: t, gidClanEvent: n, fnOkCallbackList: a } = e,
        {
          bPublishRequiresValveApproval: s,
          fnSetStorePublishingRequiresValveApproval: o,
        } = mO(t.GetAccountID(), n),
        [l, c] = Object(r.useState)(s);
      return (
        Object(u.e)(a, () => o(l)),
        i.a.createElement(te.f, {
          checked: l,
          onChange: (e) => {
            c(e), a || o(e);
          },
          label:
            "Require Approval by Valve Admin in order to publish this sales events",
          tooltip:
            "They will see a warning indicating they cannot publish until Valve approves the page. Approval is done by Valve Admin in the same place.",
        })
      );
    }
    var _O = n("KeX3");
    const gO = (e) => {
        const {
            strLabel: t,
            strToolTip: n,
            fnSetCurator: s,
            bLimitToCreatorHome: o,
          } = e,
          l = Object(r.useRef)(null),
          c = Object(r.useRef)(null),
          d = Object(r.useRef)(0),
          u = Object(r.useRef)();
        Object(r.useEffect)(
          () => () => {
            window.clearTimeout(d.current),
              l.current && l.current("SearchForCurator: unmounting"),
              c.current && c.current.Hide();
          },
          [],
        );
        const m = Object(r.useCallback)(
          (e) =>
            Object(a.a)(void 0, void 0, void 0, function* () {
              const t = e.target.value;
              t &&
                0 != t.trim().length &&
                (window.clearTimeout(d.current),
                l.current && l.current("SearchForCurator: new request"),
                (d.current = window.setTimeout(
                  () =>
                    Object(a.a)(void 0, void 0, void 0, function* () {
                      const e = F.a.CancelToken.source();
                      l.current = e.cancel;
                      try {
                        const n = yield Un.a.SearchCreatorHomeStore(t, o, e);
                        if (e.token.reason) return;
                        c.current = Object(_e.a)(
                          i.a.createElement(bO, { list: n, fnSetCurator: s }),
                          u.current.element,
                          {
                            bOverlapHorizontal: !0,
                            bMatchWidth: !0,
                            bFitToWindow: !0,
                            bDisablePopTop: !0,
                          },
                        );
                      } catch (t) {
                        if (e.token.reason) return;
                        const n = Object(me.a)(t);
                        console.log(
                          "SearchForCurator.SearchCreatorHomeStore error " +
                            n.strErrorMsg,
                          n,
                        );
                      }
                    }),
                  300,
                )));
            }),
          [s, o],
        );
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(te.z, {
            type: "text",
            label: t,
            onChange: m,
            onBlur: () => {
              setTimeout(() => c.current && c.current.Hide(), 200);
            },
            ref: u,
            tooltip: n,
          }),
        );
      },
      bO = (e) => {
        const { list: t, fnSetCurator: n } = e;
        return i.a.createElement(
          qe.c,
          { className: _O.SearchResults },
          t.map((e) =>
            i.a.createElement(
              qe.d,
              {
                key: "curatorresult" + e.GetClanAccountID(),
                onSelected: () => n(e),
              },
              i.a.createElement(
                "div",
                { style: { display: "flex", alignItems: "center" } },
                i.a.createElement(
                  "div",
                  { className: la.GameImageContainer },
                  i.a.createElement("img", {
                    src: e.GetAvatarURLFullSize(),
                    className: la.AvatarImage,
                  }),
                ),
                Object(Mn.b)(e.GetName()),
              ),
            ),
          ),
        );
      };
    var fO = n("5Sr9");
    const vO = Object(m.a)((e) => {
        const t = () => e.closeModal && e.closeModal(),
          n = Object(r.useRef)(null),
          [s, l] = Object(r.useState)(null),
          [c, d] = Object(r.useState)(""),
          [u, m] = Object(r.useState)("");
        let p = new Date();
        p.setHours(10), p.setMinutes(0), p.setSeconds(0);
        const [h, _] = Object(r.useState)(Math.floor(p.getTime() / 1e3));
        let g = new Date();
        g.setDate(g.getDate() + 1),
          g.setHours(10),
          g.setMinutes(0),
          g.setSeconds(0);
        const [b, f] = Object(r.useState)(Math.floor(g.getTime() / 1e3)),
          [v, S] = Object(r.useState)(null),
          [y, E] = Object(r.useState)(null),
          [C, w, B] = uO();
        "dev" == o.c.WEB_UNIVERSE &&
          Object(r.useEffect)(() => {
            const e = window.location.search;
            if (e && e.length > 0) {
              const t = Qt.a.parse("?" == e[0] ? e.substring(1) : e);
              if (
                ("string" == typeof t.eventName &&
                  (d(t.eventName), console.log("banan", t.eventName)),
                "string" == typeof t.vanity && m(t.vanity),
                "string" == typeof t.startTime)
              ) {
                let e = /^\d+$/.test(t.startTime)
                  ? ei.a.unix(Number.parseInt(t.startTime))
                  : ei()(t.t);
                _(Math.floor(e.unix()));
              }
              if ("string" == typeof t.endTime) {
                let e = /^\d+$/.test(t.endTime)
                  ? ei.a.unix(Number.parseInt(t.endTime))
                  : ei()(t.t);
                f(Math.floor(e.unix()));
              }
              if ("string" == typeof t.clan_account_id) {
                const e = F.a.CancelToken.source();
                n.current = e.cancel;
                const r = de.a.InitFromClanID(
                  Number.parseInt(t.clan_account_id),
                );
                (() =>
                  Object(a.a)(void 0, void 0, void 0, function* () {
                    let t = yield Un.a.LoadCreatorHome(r, e);
                    e.token.reason || l(t);
                  }))();
              }
            }
            return () => {
              n.current &&
                n.current("NewPartnerEventSalePageDialog: unmounting");
            };
          }, []);
        let O = new Array(),
          D = !1;
        if (null == s)
          O.push(
            i.a.createElement(
              "div",
              { className: fO.MinWidthCtn },
              i.a.createElement(
                "div",
                { className: fO.StepOneTitle },
                Object($.f)("#Sale_New_ChooseCreator"),
              ),
              i.a.createElement(gO, {
                key: "SearchForCurator",
                strLabel: Object($.f)("#Sale_New_ChooseCreator_Label"),
                strToolTip: Object($.f)("#Sale_New_ChooseCreator_ttip"),
                bLimitToCreatorHome: !0,
                fnSetCurator: l,
              }),
            ),
          );
        else if (y)
          O.push(i.a.createElement("div", { key: "failedtocreatevent" }, y));
        else if (v) {
          let e =
            o.c.COMMUNITY_BASE_URL +
            "gid/" +
            v.clanSteamID.ConvertTo64BitString() +
            "/partnerevents/edit/" +
            v.GID +
            "?tab=sale";
          O.push(
            i.a.createElement(
              "div",
              { key: "eventcreatedsuccess" },
              i.a.createElement("p", null, Object($.f)("#Sale_New_Success")),
              i.a.createElement(
                "a",
                { href: e, target: o.c.IN_CLIENT ? void 0 : "_blank" },
                e,
              ),
            ),
          );
        } else if (
          (O.push(
            i.a.createElement(SO, {
              key: "DisplayCreator_" + s.GetClanAccountID(),
              creatorHome: s,
              fnSetCreatorHome: l,
            }),
          ),
          s.BIsPartnerEventEditorEnabled())
        ) {
          O.push(
            i.a.createElement(
              "div",
              { key: "Verified" },
              Object($.f)("#Sale_New_Verify_PE_Enabled"),
              i.a.createElement(
                "div",
                { className: fO.VerifyCtn },
                i.a.createElement(
                  "div",
                  { className: fO.VerifyCheck },
                  i.a.createElement(H.m, null),
                ),
              ),
            ),
          );
          const e = s.GetClanSteamID();
          O.push(
            i.a.createElement(EO, {
              key: "saleinput",
              strEventName: c,
              fnSetEventName: d,
              strVanity: u,
              fnSetVanity: m,
              rtStartTime: h,
              fnSetRTStartTime: _,
              rtEndTime: b,
              fnSetRTEndTime: f,
              clanSteamID: e,
            }),
          ),
            (D = c.trim().length > 0 && u.trim().length > 0 && h > 0 && b > h);
        } else
          O.push(
            i.a.createElement(yO, {
              key: "EnablePartnerInfo_" + s.GetClanAccountID(),
              creatorHome: s,
            }),
          );
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            xe.i,
            { onEscKeypress: t },
            i.a.createElement(
              te.g,
              null,
              i.a.createElement(te.y, null, Object($.f)("#Sale_New_Title")),
              i.a.createElement(te.c, null, i.a.createElement(te.d, null, O)),
              i.a.createElement(
                te.p,
                null,
                i.a.createElement(te.D, {
                  onCancel: t,
                  bOKDisabled: !D,
                  strOKText: Object($.f)("#Sale_New_CreateEvent"),
                  strCancelText: v ? Object($.f)("#Button_OK") : void 0,
                  onOK: () =>
                    Object(a.a)(void 0, void 0, void 0, function* () {
                      n.current && n.current();
                      const t = F.a.CancelToken.source();
                      n.current = t.cancel;
                      let a = yield oO
                        .Get()
                        .CreateSalePartnerEvent(
                          s.GetClanAccountID(),
                          c,
                          u,
                          h,
                          b,
                          t,
                        );
                      if (!t.token.reason)
                        if (a)
                          if (
                            (e.fnSetSalePageInfo &&
                              e.fnSetSalePageInfo(
                                a.GID,
                                a.clanSteamID.GetAccountID(),
                              ),
                            C(null))
                          ) {
                            1 == (yield B(a.GID))
                              ? S(a)
                              : E("Failed to Save Private Event Data");
                          } else S(a);
                        else E(Object($.f)("#Sale_New_Errors"));
                    }),
                }),
              ),
            ),
          ),
        );
      }),
      SO = (e) => {
        const { creatorHome: t, fnSetCreatorHome: n } = e;
        return i.a.createElement(
          "div",
          { className: fO.MinWidthCtn },
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Sale_New_ChosenCreator"),
          ),
          i.a.createElement(
            Qe.a,
            { toolTipContent: Object($.f)("#Sale_New_ClearCreator_ttip") },
            i.a.createElement(
              "div",
              { className: "DialogInput_ClearAction", onClick: () => n(null) },
              i.a.createElement(H.Ab, null),
            ),
          ),
          i.a.createElement(na, {
            creatorID: t.GetCreatorHomeIdentifier(),
            bHideCreatorType: !0,
          }),
        );
      },
      yO = (e) => {
        const { creatorHome: t } = e,
          [n, s] = Object(r.useState)(!1);
        return i.a.createElement(
          nt.a,
          null,
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Sale_New_Verify_PE_Enabled"),
            i.a.createElement(
              "div",
              { className: fO.FailCheck },
              i.a.createElement(H.Ab, null),
            ),
            i.a.createElement(
              "div",
              null,
              Object($.o)(
                "#Sale_New_Enable_PartnerEventBeta",
                i.a.createElement(
                  "a",
                  {
                    href: "https://confluence.valve.org/display/STEAM/Creator+home+and+Partner+Events+Beta",
                    target: "_blank",
                  },
                  Object($.f)("#EventEmail_Button_ClickForMoreDetails"),
                ),
              ),
            ),
            i.a.createElement(
              te.e,
              {
                onClick: () =>
                  Object(a.a)(void 0, void 0, void 0, function* () {
                    s(!0), yield t.EnablePartnerEventEditorFlag(), s(!1);
                  }),
              },
              Object($.f)("#Button_Accept"),
            ),
            n && i.a.createElement(ee.a, { size: "small" }),
          ),
        );
      },
      EO = (e) => {
        const {
          clanSteamID: t,
          strEventName: n,
          fnSetEventName: a,
          strVanity: r,
          fnSetVanity: s,
          rtStartTime: o,
          fnSetRTStartTime: l,
          rtEndTime: c,
          fnSetRTEndTime: d,
        } = e;
        return i.a.createElement(
          "div",
          null,
          i.a.createElement("div", null, Object($.f)("#Sale_New_SetupEvent")),
          i.a.createElement(
            "div",
            { className: fO.BasicInfoCtn },
            i.a.createElement(te.z, {
              type: "text",
              label: Object($.f)("#Sale_New_EnterEventName"),
              tooltip: Object($.f)("#Sale_New_EnterEventName_ttip"),
              value: n,
              onChange: (e) => a(e.target.value),
            }),
            i.a.createElement(te.z, {
              type: "text",
              label: Object($.f)("#Sale_New_EnterVanity"),
              tooltip: Object($.f)("#Sale_New_EnterVanity_ttip"),
              value: r,
              onChange: (e) => s(e.target.value),
            }),
            i.a.createElement(
              "div",
              { className: fO.DateCtn },
              i.a.createElement(sv, {
                strDescription: Object($.f)("#Sale_New_Start"),
                nEarliestTime: 0,
                fnGetTimeToUpdate: () => o,
                fnSetTimeToUpdate: l,
                fnIsValidDateTime: () => !0,
                bShowTimeZone: !0,
              }),
              i.a.createElement(sv, {
                strDescription: Object($.f)("#Sale_New_End"),
                nEarliestTime: 0,
                fnGetTimeToUpdate: () => c,
                fnSetTimeToUpdate: d,
                fnIsValidDateTime: () => !0,
                bShowTimeZone: !0,
              }),
            ),
            i.a.createElement(pO, { clanSteamID: t, gidClanEvent: null }),
          ),
        );
      };
    class CO {
      constructor() {
        this.m_mapAppIDs = new Map();
        let e = Object(o.g)("publisher_appids", "application_config");
        this.ValidateStoreDefault(e) &&
          (e.forEach((e) => this.m_mapAppIDs.set(e, !0)),
          ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
            console.log(
              `CPublisherAppStore received ${e.length} into map ${this.m_mapAppIDs.size}`,
              this.m_mapAppIDs,
            ));
      }
      bIsPublisherApp(e) {
        return this.m_mapAppIDs.has(e);
      }
      static Get() {
        return (
          CO.s_Singleton ||
            ((CO.s_Singleton = new CO()),
            ("dev" != o.c.WEB_UNIVERSE && "beta" != o.c.WEB_UNIVERSE) ||
              (window.g_CPublisherAppStore = CO.s_Singleton)),
          CO.s_Singleton
        );
      }
      ValidateStoreDefault(e) {
        const t = e;
        return t && Array.isArray(t) && t.length > 0 && "number" == typeof t[0];
      }
    }
    Object(a.b)([Ul.a], CO.prototype, "bIsPublisherApp", null);
    class wO {
      constructor(e) {
        (this.m_stats = Object.assign(
          {
            event_gid: "0",
            library_overview_shown: 0,
            library_overview_read: 0,
            app_details_spotlight_shown: 0,
            app_details_spotlight_read: 0,
            app_details_activity_shown: 0,
            app_details_activity_read: 0,
            store_app_page_shown: 0,
            store_app_page_read: 0,
            store_front_page_shown: 0,
            store_front_page_read: 0,
            community_hub_shown: 0,
            community_hub_read: 0,
            news_hub_shown: 0,
            news_hub_read: 0,
            event_scroller_read: 0,
          },
          e,
        )),
          (this.m_stats.total_showm =
            this.m_stats.library_overview_shown +
            this.m_stats.app_details_activity_shown +
            this.m_stats.app_details_spotlight_shown +
            this.m_stats.store_app_page_shown +
            this.m_stats.store_front_page_shown +
            this.m_stats.community_hub_shown +
            this.m_stats.news_hub_shown),
          (this.m_stats.total_read =
            this.m_stats.library_overview_read +
            this.m_stats.app_details_activity_read +
            this.m_stats.app_details_spotlight_read +
            this.m_stats.store_app_page_read +
            this.m_stats.store_front_page_read +
            this.m_stats.community_hub_read +
            this.m_stats.news_hub_read +
            this.m_stats.event_scroller_read),
          (this.m_lastUpdateTime = e ? Math.floor(Date.now() / 1e3) : 0);
      }
      reset(e) {
        (this.m_stats.library_overview_shown = e.library_overview_shown),
          (this.m_stats.library_overview_read = e.library_overview_read),
          (this.m_stats.app_details_spotlight_shown =
            e.app_details_spotlight_shown),
          (this.m_stats.app_details_spotlight_read =
            e.app_details_spotlight_read),
          (this.m_stats.app_details_activity_shown =
            e.app_details_activity_shown),
          (this.m_stats.app_details_activity_read =
            e.app_details_activity_read),
          (this.m_stats.store_app_page_shown = e.store_app_page_shown),
          (this.m_stats.store_app_page_read = e.store_app_page_read),
          (this.m_stats.store_front_page_shown = e.store_front_page_shown),
          (this.m_stats.store_front_page_read = e.store_front_page_read),
          (this.m_stats.community_hub_shown = e.community_hub_shown),
          (this.m_stats.community_hub_read = e.community_hub_read),
          (this.m_stats.news_hub_shown = e.news_hub_shown),
          (this.m_stats.news_hub_read = e.news_hub_read),
          (this.m_stats.event_scroller_read = e.event_scroller_read),
          (this.m_stats.total_showm =
            e.library_overview_shown +
            e.app_details_activity_shown +
            e.app_details_spotlight_shown +
            e.store_app_page_shown +
            e.store_front_page_shown +
            e.community_hub_shown +
            e.news_hub_shown),
          (this.m_stats.total_read =
            e.library_overview_read +
            e.app_details_activity_read +
            e.app_details_spotlight_read +
            e.store_app_page_read +
            e.store_front_page_read +
            e.community_hub_read +
            e.news_hub_read +
            e.event_scroller_read),
          (this.m_lastUpdateTime = Date.now() / 1e3);
      }
    }
    Object(a.b)([L.C], wO.prototype, "m_stats", void 0),
      Object(a.b)([L.C], wO.prototype, "m_lastUpdateTime", void 0);
    class BO {
      constructor() {
        (this.m_mapPerEventStats = new Map()),
          (this.m_mapSummaryStats = new Map()),
          (this.m_bLoadedFromConfig = !1);
      }
      LazyInit() {
        if (!this.m_bLoadedFromConfig) {
          let e = Object(o.g)("trackingdatasummary", "application_config");
          this.ValidateStoreDefault(e) &&
            this.m_mapSummaryStats.set(e.clan_account_id, new wO(e));
          let t = Object(o.g)("trackingdataevents", "application_config");
          this.ValidateStoreDefaultList(t) &&
            t.forEach((e) => {
              let t = de.a.InitFromClanID(e.clan_account_id),
                n = this.GetKey(t, e.event_gid);
              this.m_mapPerEventStats.set(n, new wO(e));
            }),
            (this.m_bLoadedFromConfig = !0);
        }
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !(!t || "object" != typeof t || !t.clan_account_id) &&
          "number" == typeof t.clan_account_id &&
          t.clan_account_id > 0
        );
      }
      ValidateStoreDefaultList(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
        );
      }
      GetStatsFor(e, t) {
        this.LazyInit();
        let n = this.GetKey(e, t);
        return (
          this.m_mapPerEventStats.has(n) ||
            this.m_mapPerEventStats.set(n, new wO(null)),
          this.m_mapPerEventStats.get(n)
        );
      }
      GetTotalStats(e) {
        return (
          this.LazyInit(),
          this.m_mapSummaryStats.has(e.GetAccountID()) ||
            this.m_mapSummaryStats.set(e.GetAccountID(), new wO(null)),
          this.m_mapSummaryStats.get(e.GetAccountID())
        );
      }
      GetKey(e, t) {
        return e.GetAccountID() + "_" + t;
      }
      LoadStatsForEvents(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.LazyInit();
          let a = Date.now() / 1e3,
            r = t.filter((t) => {
              let n = this.GetKey(e, t),
                r = this.m_mapPerEventStats.get(n);
              return !r || null == r.m_stats || r.m_lastUpdateTime < a - 3600;
            });
          if (!r || 0 == r.length) return !0;
          let i = Object(o.e)() + "actions/ajaxgetpartnereventsreport",
            s = {
              sessionid: o.c.SESSIONID,
              clan_account_id: e.GetAccountID(),
              gidlist: r.join(","),
            };
          try {
            let t = yield F.a.get(i, {
              params: s,
              withCredentials: !0,
              cancelToken: null == n ? void 0 : n.token,
            });
            return (
              Object(L.G)(() => {
                this.m_mapSummaryStats.set(
                  e.GetAccountID(),
                  new wO(t.data.summary),
                ),
                  t.data.events_detail.forEach((t) => {
                    let n = this.GetKey(e, t.event_gid);
                    if (this.m_mapPerEventStats.has(n)) {
                      this.m_mapPerEventStats.get(n).reset(t);
                    } else this.m_mapPerEventStats.set(n, new wO(t));
                  });
              }),
              !0
            );
          } catch (e) {
            let t = Object(me.a)(e);
            console.error("CPartnerEventReportingStore " + t.strErrorMsg, t);
          }
          return !1;
        });
      }
      BHasEventStats(e, t) {
        let n = de.a.InitFromClanID(e),
          a = this.GetKey(n, t),
          r = this.m_mapPerEventStats.get(a);
        return Boolean(r && r.m_stats);
      }
    }
    Object(a.b)([L.C], BO.prototype, "m_mapPerEventStats", void 0),
      Object(a.b)([L.C], BO.prototype, "m_mapSummaryStats", void 0),
      Object(a.b)([L.k], BO.prototype, "LazyInit", null);
    const OO = new BO();
    function DO(e, t) {
      return `${e}|${t}`;
    }
    class IO {
      constructor() {
        this.m_mapSaleDetails = new Map();
      }
      static Get() {
        return (
          IO.s_globalSingletonStore ||
            ((IO.s_globalSingletonStore = new IO()),
            IO.s_globalSingletonStore.Init()),
          IO.s_globalSingletonStore
        );
      }
      Init() {}
      BHasSaleDetails(e, t) {
        return this.m_mapSaleDetails.has(DO(e, t));
      }
      GetSaleDetails(e, t) {
        const n = DO(e, t);
        return (
          this.m_mapSaleDetails.has(n) || this.FetchSalePageDetails(e, t),
          this.m_mapSaleDetails.get(n)
        );
      }
      FetchSalePageDetails(e, t, n) {
        var r;
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = DO(e, t);
          if (this.m_mapSaleDetails.has(a)) return;
          this.m_mapSaleDetails.set(a, {});
          const i = { clanid: e, gid: t },
            s =
              o.c.PARTNER_BASE_URL + "actions/ajaxgetpartnereventssaledetails";
          let l = null;
          try {
            const e = yield F.a.get(s, {
              params: i,
              withCredentials: !0,
              cancelToken: null == n ? void 0 : n.token,
            });
            if (
              1 ==
                (null === (r = null == e ? void 0 : e.data) || void 0 === r
                  ? void 0
                  : r.success) &&
              e.data.details
            )
              return void this.m_mapSaleDetails.set(a, e.data.details);
            l = Object(me.a)(null == e ? void 0 : e.data);
          } catch (e) {
            l = Object(me.a)(e);
          }
          console.warn("ajax request for " + a + " failed with error", l);
        });
      }
    }
    Object(a.b)([L.C.shallow], IO.prototype, "m_mapSaleDetails", void 0);
    var TO = n("u4d8"),
      RO = n.n(TO);
    const jO = (e) => {
      const { event: t } = e;
      if (t.BHasSaleVanity()) {
        const e = new Array(),
          n = Math.floor(Date.now() / 1e3),
          a = rO.Get().GetVanityFeaturing(t.GetSaleVanity());
        a &&
          a.length > 0 &&
          a.forEach((a) => {
            const r = t.GetSaleVanity().toLowerCase(),
              s = a.clusters[0],
              l = s.page_bg_url && -1 != s.page_bg_url.indexOf(r);
            e.push(
              i.a.createElement(
                "div",
                { key: a.cluster_name },
                i.a.createElement(
                  "a",
                  {
                    className: l
                      ? RO.a.FeaturingActive
                      : RO.a.FeaturingMainCapsule,
                    target: "_blank",
                    href:
                      o.c.PARTNER_BASE_URL +
                      "admin/store/pageclusteredit/" +
                      a.cluster_name +
                      "/" +
                      a.clusters[0].id +
                      "?activetab=tab_capsules",
                  },
                  Boolean(!s.visible || n < s.startdate) &&
                    i.a.createElement(
                      "span",
                      { className: RO.a.FeaturingMissing },
                      Object($.f)("#Sale_FeaturingHidden"),
                    ),
                  (l ? "" : Object($.f)("#Sale_CapsuleFeaturing")) +
                    a.cluster_name,
                ),
              ),
            );
          });
        const r = rO.Get().GetVanitySpotlight(t.GetSaleVanity());
        r &&
          e.push(
            i.a.createElement(
              "div",
              { key: r.id },
              i.a.createElement(
                "a",
                {
                  className: Object(h.a)(RO.a.FeaturingSpotlight),
                  href: o.c.PARTNER_BASE_URL + "admin/store/spotlight/" + r.id,
                  target: "_blank",
                },
                Boolean(!r.visible || n < r.startdate) &&
                  i.a.createElement(
                    "span",
                    { className: RO.a.FeaturingMissing },
                    Object($.f)("#Sale_FeaturingHidden"),
                  ),
                Object($.f)("#Sale_HasSpotlight"),
              ),
            ),
          );
        const s = rO.Get().GetVanityIM(t.GetSaleVanity());
        s &&
          e.push(
            i.a.createElement(
              "div",
              { key: s.gid },
              i.a.createElement(
                "a",
                {
                  className: Object(h.a)(RO.a.FeaturingIM),
                  href: o.c.PARTNER_BASE_URL + "marketing/message/" + s.gid,
                  target: "_blank",
                },
                Boolean(n < s.startdate) &&
                  i.a.createElement(
                    "span",
                    { className: RO.a.FeaturingMissing },
                    Object($.f)("#Sale_FeaturingHidden"),
                  ),
                Object($.f)("#Sale_HasIM"),
              ),
            ),
          );
        const l = rO.Get().GetVanityDailyDeal(t.GetSaleVanity());
        if (
          (l &&
            e.push(
              i.a.createElement(
                "div",
                { key: l.id },
                i.a.createElement(
                  "a",
                  {
                    className: Object(h.a)(RO.a.FeaturingDailyDeal),
                    href:
                      o.c.PARTNER_BASE_URL + "admin/store/dailydeal/" + l.id,
                    target: "_blank",
                  },
                  Boolean(n < l.startdate) &&
                    i.a.createElement(
                      "span",
                      { className: RO.a.FeaturingMissing },
                      Object($.f)("#Sale_FeaturingHidden"),
                    ),
                  Object($.f)("#Sale_DailyDeal"),
                ),
              ),
            ),
          t.BHasSaleProductBanners())
        ) {
          const a = i.a.createElement(
              "div",
              { className: RO.a.BannerCtn },
              i.a.createElement(
                "span",
                null,
                Object($.f)("#Sale_HasProductBanner_ttip"),
              ),
              i.a.createElement("br", null),
              Boolean(t.GetImageURL("product_banner", 0)) &&
                i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(
                    "h2",
                    null,
                    Object($.f)("#Sale_ArtworkType_product_banner"),
                  ),
                  i.a.createElement("img", {
                    src: t.GetImageURL("product_banner", 0),
                  }),
                ),
              i.a.createElement("br", null),
              i.a.createElement("br", null),
              Boolean(t.GetImageURL("product_mobile_banner", 0)) &&
                i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(
                    "h2",
                    null,
                    Object($.f)("#Sale_ArtworkType_product_mobile_banner"),
                  ),
                  i.a.createElement("img", {
                    src: t.GetImageURL("product_mobile_banner", 0),
                  }),
                ),
            ),
            r = 604800;
          e.push(
            i.a.createElement(
              "div",
              { key: t.GID + "banner" },
              i.a.createElement(
                Qe.a,
                { toolTipContent: a },
                i.a.createElement(
                  "a",
                  {
                    className: RO.a.FeaturingProductBanner,
                    href:
                      o.c.COMMUNITY_BASE_URL +
                      "gid/" +
                      t.clanSteamID.ConvertTo64BitString() +
                      "/partnerevents/edit/" +
                      t.GID +
                      "?tab=sale#SalePageEdit_SaleBanner",
                  },
                  Boolean(
                    !t.BIsVisibleEvent() ||
                      n < t.startTime ||
                      t.endTime < n ||
                      t.startTime + r < n,
                  ) &&
                    i.a.createElement(
                      "span",
                      { className: RO.a.FeaturingMissing },
                      Object($.f)("#Sale_FeaturingHidden"),
                    ),
                  Object($.f)("#Sale_HasProductBanner"),
                ),
              ),
            ),
          );
        }
        return i.a.createElement(
          "div",
          { className: RO.a.Featuring },
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              t.BIsVisibleEvent()
                ? "#Sale_ActiveFeaturing"
                : "#Sale_UpcomingFeaturing",
            ),
          ),
          Boolean((null == e ? void 0 : e.length) > 0)
            ? e
            : Object($.f)("#Sale_NoFeaturing"),
        );
      }
      return i.a.createElement(
        Qe.a,
        { toolTipContent: Object($.f)("#Sale_NoVanity_ttip") },
        i.a.createElement(
          "div",
          { className: RO.a.Featuring },
          i.a.createElement(
            "span",
            { className: RO.a.FeaturingMissing },
            Object($.f)("#Sale_NoVanity"),
          ),
        ),
      );
    };
    var AO = n("I90/"),
      kO = n.n(AO);
    function MO(e) {
      const { eventModel: t, fnBIsPublisherApp: n } = e,
        [a, r] = i.a.useState(
          Array.from(t.GetSaleFeaturedApps(n)).map((e) => ({
            id: e,
            type: "game",
          })),
        );
      return i.a.createElement(
        "div",
        null,
        a.map((e) =>
          i.a.createElement(vs.e, {
            key: e.type + "_" + e.id,
            id: e.id,
            type: e.type || "game",
            bShowDemoButton: !1,
            bLoadShortDescription: !1,
          }),
        ),
      );
    }
    var PO = n("EGyX"),
      LO = n.n(PO);
    const GO = Object(m.a)((e) => {
        const { saleDesc: t, bDetailsAreVisible: n, fnToggleDetails: a } = e,
          [s, o] = Object(r.useState)(VO(t)),
          l = i.a.useRef(F.a.CancelToken.source());
        Object(r.useEffect)(() => {
          VO(t) &&
            IO.Get()
              .FetchSalePageDetails(t.clanAccountID, t.clanEventGID, l.current)
              .then(() => o(!1));
        }, [t]);
        const c = Date.now() / 1e3;
        if (!(t.bVisible && t.rtStartTime < c && !s)) return null;
        const d = IO.Get().GetSaleDetails(t.clanAccountID, t.clanEventGID),
          u = d && Number(d.grossSalesUSD),
          m = Number.isNaN(u) ? Object($.f)("#Sale_Stats_NoData") : ZO(u);
        return i.a.createElement(
          "div",
          { className: Object(h.a)(kO.a.SaleDetails) },
          i.a.createElement(
            "div",
            { className: Object(h.a)(Tf.a.BigNumber) },
            m,
          ),
          i.a.createElement(
            "span",
            {
              "data-tooltip-text": Object($.f)("#Sale_Stats_GrossSales_ttip"),
              className: Ne.HelperTooltip,
            },
            Object($.f)("#Sale_Stats_GrossSales"),
          ),
          !Number.isNaN(u) &&
            i.a.createElement(
              "div",
              { onClick: a, className: LO.a.DetailedStatsButton },
              Object($.f)(
                n
                  ? "#Sale_Stats_HideDetailedStatsButton"
                  : "#Sale_Stats_SeeDetailedStatsButton",
              ),
            ),
        );
      }),
      NO = Object(m.a)((e) => {
        const t = IO.Get().GetSaleDetails(
          e.saleDesc.clanAccountID,
          e.saleDesc.clanEventGID,
        );
        if (!t) return null;
        const n = [
            {
              title: "App ID",
              formatter: function (e, t, n) {
                return (
                  "<a style='font-weight:bold' target='_blank' href='" +
                  o.c.PARTNER_BASE_URL +
                  "apps/landing/" +
                  e.getValue() +
                  "'>" +
                  e.getValue() +
                  "</a>"
                );
              },
              field: "appid",
              width: 100,
            },
            {
              title: "Name",
              formatter: function (e, t, n) {
                return (
                  "<a style='font-weight:bold' target='_blank' href='" +
                  o.c.STORE_BASE_URL +
                  "app/" +
                  e.getRow().getCells()[0].getValue() +
                  "'>" +
                  e.getValue() +
                  "</a>"
                );
              },
              field: "name",
              width: 300,
            },
            {
              title: "Total US$",
              formatter: JO,
              field: "gross_sales_usd",
              width: 120,
            },
            {
              title: "Total Units",
              formatter: YO,
              field: "gross_units_sold",
              width: 120,
            },
            { title: "Discounts", field: "discounts", width: 120 },
            {
              title: "Impressions",
              formatter: YO,
              field: "impressions",
              width: 120,
            },
            {
              title: "Non-owners",
              formatter: YO,
              field: "no_impressions",
              width: 120,
            },
            { title: "Page Visits", formatter: YO, field: "views", width: 120 },
            {
              title: "Non-owners",
              formatter: YO,
              field: "no_views",
              width: 120,
            },
          ],
          a = i.a.useRef(null);
        let r,
          s = [];
        for (const e in t.rgApps) {
          const n =
              Number(t.rgNavMetrics[e].total_impressions) -
              Number(t.rgNavMetrics[e].owner_total_impressions),
            a =
              Number(t.rgNavMetrics[e].total_views) -
              Number(t.rgNavMetrics[e].owner_total_views);
          (r = {
            appid: t.rgApps[e].id,
            name: t.rgApps[e].name,
            gross_sales_usd: t.rgAppSaleSummaries[e].gross_sales_usd,
            gross_units_sold: t.rgAppSaleSummaries[e].gross_units_sold,
            discounts: WO(t.rgApps[e].subs, t),
            impressions: t.rgNavMetrics[e].total_impressions,
            no_impressions: n,
            views: t.rgNavMetrics[e].total_views,
            no_views: a,
          }),
            s.push(r);
        }
        const l = Date.now() / 1e3,
          c = Object($.r)(l - t.rtime_written),
          d = t.totalImpressions - t.ownerTotalImpressions,
          u = t.totalViews - t.ownerTotalViews,
          m =
            (t.rgExplicitAppIDs
              .slice()
              .sort((e, n) => Object(Mn.f)(t.rgApps[e].name, t.rgApps[n].name)),
            t.rgExplicitPackageIDs
              .slice()
              .sort((e, n) =>
                Object(Mn.f)(t.rgPackages[e].name, t.rgPackages[n].name),
              )),
          p = t.rgExplicitBundleIDs
            .slice()
            .sort((e, n) =>
              Object(Mn.f)(t.rgBundles[e].name, t.rgBundles[n].name),
            );
        return i.a.createElement(
          "div",
          { className: LO.a.DetailedStats },
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatsTopBar },
            i.a.createElement(
              FO,
              { name: Object($.f)("#Sale_Stats_GrossSales") },
              i.a.createElement(xO, {
                name: Object($.f)("#Sale_Stats_SalesUSD"),
                value: ZO(t.grossSalesUSD),
              }),
              i.a.createElement(xO, {
                name: Object($.f)("#Sale_Stats_SalesUnits"),
                value: QO(t.grossUnitsSold),
              }),
            ),
            i.a.createElement(
              FO,
              { name: Object($.f)("#Sale_Stats_ImpressionCount") },
              i.a.createElement(xO, {
                name: Object($.f)("#Sale_Stats_TotalProductCount"),
                value: QO(t.totalImpressions),
              }),
              i.a.createElement(xO, {
                name: Object($.f)("#Sale_Stats_NonOwnerProductCount"),
                value: QO(d),
              }),
            ),
            i.a.createElement(
              FO,
              { name: Object($.f)("#Sale_Stats_ViewCount") },
              i.a.createElement(xO, {
                name: Object($.f)("#Sale_Stats_TotalProductCount"),
                value: QO(t.totalViews),
              }),
              i.a.createElement(xO, {
                name: Object($.f)("#Sale_Stats_NonOwnerProductCount"),
                value: QO(u),
              }),
            ),
            i.a.createElement(
              "div",
              { className: LO.a.DetailedStatsTimestamp },
              i.a.createElement(
                Ra.h,
                {
                  className: Tf.a.Timestamp,
                  rtFullDate: t.rtime_written,
                  stylesmodule: Tf.a,
                },
                Object($.f)("#Sale_Stats_DetailTimestamp", c),
              ),
            ),
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatsRows },
            i.a.createElement(
              "div",
              { className: LO.a.DetailedStatsSectionHeader },
              i.a.createElement(
                "div",
                { className: LO.a.SectionHeaderName },
                Object($.f)("#Sale_Stats_AppDetailsHeader"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.SectionHeaderDescription },
                Object($.f)("#Sale_Stats_AppDetailsDescription"),
              ),
            ),
            i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Wv.ReactTabulator, {
                ref: a,
                columns: n,
                data: s,
                options: {
                  downloadDataFormatter: (e) => e,
                  downloadReady: (e, t) => t,
                  initialSort: [{ column: "gross_sales_usd", dir: "desc" }],
                },
              }),
              i.a.createElement("br", null),
            ),
            i.a.createElement(
              te.e,
              {
                id: "download-csv",
                onClick: function () {
                  a.current.table.download("csv", "data.csv");
                },
                style: { width: "120px" },
              },
              "Download CSV",
            ),
            i.a.createElement(
              "div",
              { className: LO.a.DetailedStatsSectionHeader },
              i.a.createElement(
                "div",
                { className: LO.a.SectionHeaderName },
                Object($.f)("#Sale_Stats_PackageDetailsHeader"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.SectionHeaderDescription },
                Object($.f)("#Sale_Stats_PackageDetailsDescription"),
              ),
            ),
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  LO.a.DetailedStatsRow,
                  LO.a.DetailedStatsRowHeader,
                ),
              },
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_PackageId"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatLong },
                Object($.f)("#Sale_Stats_ItemName"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_ListedAppsHeader"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_SalesUSD"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_SalesUnits"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_DiscountRange"),
              ),
            ),
            m.map((e) =>
              i.a.createElement(zO, {
                key: `package-${e}`,
                packageid: e,
                saleDetails: t,
              }),
            ),
            i.a.createElement(
              "div",
              { className: LO.a.DetailedStatsSectionHeader },
              i.a.createElement(
                "div",
                { className: LO.a.SectionHeaderName },
                Object($.f)("#Sale_Stats_BundleDetailsHeader"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.SectionHeaderDescription },
                Object($.f)("#Sale_Stats_BundleDetailsDescription"),
              ),
            ),
            i.a.createElement(
              "div",
              {
                className: Object(h.a)(
                  LO.a.DetailedStatsRow,
                  LO.a.DetailedStatsRowHeader,
                ),
              },
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_BundleId"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatLong },
                Object($.f)("#Sale_Stats_ItemName"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_ListedAppsHeader"),
              ),
              i.a.createElement(
                "div",
                { className: LO.a.DetailedStatShort },
                Object($.f)("#Sale_Stats_PackageDetailsHeader"),
              ),
            ),
            p.map((e) =>
              i.a.createElement(UO, {
                key: `app-${e}`,
                bundleid: e,
                saleDetails: t,
              }),
            ),
          ),
        );
      }),
      FO = (e) =>
        i.a.createElement(
          "div",
          { className: LO.a.TopBarSection },
          i.a.createElement(
            "div",
            { className: LO.a.TopBarSectionName },
            e.name,
          ),
          i.a.createElement(
            "div",
            { className: LO.a.TopBarSubSections },
            e.children,
          ),
        ),
      xO = (e) =>
        i.a.createElement(
          "div",
          { className: LO.a.TopBarSubSection },
          i.a.createElement("div", { className: LO.a.SubSectionName }, e.name),
          i.a.createElement(
            "div",
            { className: LO.a.SubSectionValue },
            e.value,
          ),
        ),
      zO = (e) => {
        const { packageid: t, saleDetails: n } = e;
        return i.a.createElement(
          "div",
          { className: LO.a.DetailedStatsRow },
          i.a.createElement("div", { className: LO.a.DetailedStatShort }, t),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatLong },
            n.rgPackages[t].name,
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatShort },
            n.rgPackages[t].contains_apps.length,
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatShort },
            ZO(n.rgPackageSaleSummaries[t].gross_sales_usd),
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatShort },
            QO(n.rgPackageSaleSummaries[t].gross_units_sold),
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatShort },
            i.a.createElement(HO, { rgPackageIds: [t], saleDetails: n }),
          ),
        );
      },
      UO = (e) => {
        const { bundleid: t, saleDetails: n } = e;
        return i.a.createElement(
          "div",
          { className: LO.a.DetailedStatsRow },
          i.a.createElement("div", { className: LO.a.DetailedStatShort }, t),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatLong },
            n.rgBundles[t].name,
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatShort },
            n.rgBundles[t].contains_packages.length,
          ),
          i.a.createElement(
            "div",
            { className: LO.a.DetailedStatShort },
            n.rgBundles[t].contains_apps.length,
          ),
        );
      };
    function WO(e, t) {
      let n, a;
      for (const r of e) {
        const e = t.rgPackageDiscounts[Number(r)];
        if (null == e ? void 0 : e.length)
          for (const t of e)
            (void 0 === n || n > t.percentage) && (n = t.percentage),
              (void 0 === a || a < t.percentage) && (a = t.percentage);
      }
      return void 0 === n
        ? Object($.f)("#Sale_Stats_NoDiscounts")
        : n == a
          ? `${n}%`
          : `${n}%-${a}%`;
    }
    const HO = (e) => {
      const { rgPackageIds: t, saleDetails: n } = e;
      return i.a.createElement("div", null, WO(t, n));
    };
    function VO(e) {
      const t = Date.now() / 1e3;
      return (
        e.bVisible &&
        e.rtStartTime < t &&
        !IO.Get().BHasSaleDetails(e.clanAccountID, e.clanEventGID)
      );
    }
    let qO, KO;
    function QO(e) {
      return qO || (qO = new Intl.NumberFormat("en-US")), qO.format(Number(e));
    }
    function YO(e, t, n) {
      return QO(e.getValue());
    }
    function ZO(e) {
      return (
        KO ||
          (KO = new Intl.NumberFormat("en-US", {
            style: "currency",
            currency: "USD",
          })),
        KO.format(Math.round(Number(e) / 100)).slice(0, -3)
      );
    }
    function JO(e, t, n) {
      return ZO(e.getValue());
    }
    class XO {
      constructor() {
        (this.m_mapUsersBySteamID = new Map()),
          (this.m_promiseLoadUsersBySteamID = new Map()),
          (this.m_mapUserToCallback = new Map());
      }
      static Get() {
        return (
          XO.s_globalSingletonStore ||
            ((XO.s_globalSingletonStore = new XO()),
            XO.s_globalSingletonStore.Init()),
          XO.s_globalSingletonStore
        );
      }
      Init() {}
      BHasUserInfo(e) {
        return this.m_mapUsersBySteamID.has(e);
      }
      GetUserInfo(e) {
        return this.m_mapUsersBySteamID.get(e);
      }
      GetUserInfoCallbackup(e) {
        return (
          this.m_mapUserToCallback.has(e) ||
            this.m_mapUserToCallback.set(e, new g.a()),
          this.m_mapUserToCallback.get(e)
        );
      }
      LoadUserInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = [],
            n = new Array();
          for (const a of e)
            this.m_mapUsersBySteamID.has(a) ||
              (this.m_promiseLoadUsersBySteamID.has(a)
                ? n.push(this.m_promiseLoadUsersBySteamID.get(a))
                : t.push(a));
          if (!t.length) return void (yield Promise.all(n));
          const a = this.InternalFetchUserInfo(t);
          t.forEach((e) => this.m_promiseLoadUsersBySteamID.set(e, a));
        });
      }
      InternalFetchUserInfo(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = { steamids: e.join(",") },
            a = o.c.PARTNER_BASE_URL + "user/ajaxgetusers";
          let r = null;
          try {
            const e = yield F.a.get(a, { params: n, withCredentials: !0 });
            if (
              1 ==
              (null === (t = null == e ? void 0 : e.data) || void 0 === t
                ? void 0
                : t.success)
            ) {
              for (const t of e.data.users)
                this.m_mapUsersBySteamID.set(t.steamid, t),
                  this.GetUserInfoCallbackup(t.steamid).Dispatch(t);
              return;
            }
            r = Object(me.a)(null == e ? void 0 : e.data);
          } catch (e) {
            r = Object(me.a)(e);
          }
          console.warn("ajax request failed with error", r);
        });
      }
    }
    function $O(e) {
      return eD(de.a.InitFromAccountID(e).ConvertTo64BitString());
    }
    function eD(e) {
      const [t, n] = Object(r.useState)(XO.Get().GetUserInfo(e));
      return (
        Object(r.useEffect)(() => {
          !e ||
            (t && (null == t ? void 0 : t.steamid) == e) ||
            XO.Get().LoadUserInfo([e]);
        }, [e, t]),
        Object(u.e)(XO.Get().GetUserInfoCallbackup(e), n),
        t
      );
    }
    function tD() {
      return { fnHintLoadPartnerUserInfo: XO.Get().LoadUserInfo };
    }
    Object(a.b)([Ul.a], XO.prototype, "LoadUserInfo", null);
    var nD = n("VTa7"),
      aD = n.n(nD);
    function rD(e) {
      const t = e.event.GetValveAccessLog(),
        { fnHintLoadPartnerUserInfo: n } = tD();
      return (
        Object(r.useEffect)(() => {
          t && n(t.map((e) => e.strSteamID));
        }, [t, n]),
        i.a.createElement(
          "div",
          { className: aD.a.AccessLog },
          i.a.createElement(
            "div",
            { className: aD.a.AccessLogHeader },
            Object($.f)("#Sale_AccessLogHeader"),
          ),
          (null == t ? void 0 : t.length) > 0
            ? t
                .slice()
                .sort((e, t) => t.rtUpdated - e.rtUpdated)
                .map((e) =>
                  i.a.createElement(iD, {
                    key: "log-" + e.strSteamID + e.rtUpdated,
                    entry: e,
                  }),
                )
            : Object($.f)("#Sale_AccessLog_Empty"),
        )
      );
    }
    function iD(e) {
      const { strSteamID: t, rtUpdated: n, strNotes: a } = e.entry,
        r = t,
        s = eD(t),
        o = Date.now() / 1e3,
        l = Object($.r)(o - n);
      return i.a.createElement(
        "div",
        { className: aD.a.AccessLogEntry },
        i.a.createElement(
          "div",
          { className: Tf.a.Name },
          s
            ? i.a.createElement(Qe.a, { toolTipContent: s.email }, s.persona)
            : r,
        ),
        "-",
        i.a.createElement(
          Ra.h,
          { className: Tf.a.Timestamp, rtFullDate: n, stylesmodule: Tf.a },
          l,
        ),
        Boolean(a) && i.a.createElement("div", null, a),
      );
    }
    const sD = (e) => {
      const {
        saleDescList: t,
        bShowAppBrowse: n,
        bShowFeaturing: a,
        descriptionToken: r,
        hiddenSaleDescList: s,
      } = e;
      return i.a.createElement(
        "div",
        { className: Object(h.a)(kO.a.SectionContainer) },
        r &&
          i.a.createElement(
            "div",
            { className: kO.a.SaleSectionDesc },
            " ",
            Object($.f)(r),
            " ",
          ),
        t.map((e) =>
          i.a.createElement(
            nt.a,
            { key: e.clanEventGID },
            i.a.createElement(
              er.a,
              { placeholderHeight: "160px", rootMargin: "0px 0px 200px 0px" },
              i.a.createElement(lD, {
                saleDesc: e,
                bShowAppBrowse: n,
                bShowFeaturing: a,
              }),
            ),
          ),
        ),
        Boolean((null == s ? void 0 : s.length) > 0) &&
          s.map((e) =>
            i.a.createElement(
              nt.a,
              { key: e.clanEventGID },
              i.a.createElement(cD, { saleDesc: e }),
            ),
          ),
      );
    };
    function oD(e) {
      const { saleDesc: t } = e,
        n = Object(Ot.c)(t.clanAccountID),
        a =
          o.c.COMMUNITY_BASE_URL +
          "gid/" +
          de.a.InitFromClanID(t.clanAccountID).ConvertTo64BitString() +
          "/partnerevents/edit/" +
          t.clanEventGID;
      return i.a.createElement(
        "div",
        { className: kO.a.TileContainer },
        i.a.createElement(
          "div",
          { className: kO.a.Tile },
          Object($.f)("#Loading"),
          ":",
          i.a.createElement("br", null),
          Object($.f)("#Sale_Section_Preload_Name"),
          " ",
          t.strEventName,
          i.a.createElement("br", null),
          "Community Group Account ID: ",
          t.clanAccountID,
          i.a.createElement("br", null),
          "EventGID: ",
          t.clanEventGID,
          i.a.createElement("br", null),
          Boolean(n.can_edit) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              Object($.f)("#Sale_Section_Type_links"),
              ": ",
              i.a.createElement(
                "a",
                { href: a },
                Object($.f)("#EventEditor_Edit"),
              ),
            ),
        ),
        i.a.createElement("div", { className: kO.a.Footer }),
      );
    }
    function lD(e) {
      const { saleDesc: t, bShowAppBrowse: n, bShowFeaturing: a } = e,
        [s, l] = i.a.useState(!0),
        c = sO(),
        [d, u] = i.a.useState(!1);
      if (
        (Object(r.useEffect)(() => {
          const e = de.a.InitFromClanID(t.clanAccountID),
            n = [
              St.b.QueueLoadPartnerEvent(t.clanAccountID, t.clanEventGID, !0),
              wt.a.LoadClanInfoForClanSteamID(e),
            ];
          !c &&
            VO(t) &&
            n.push(
              IO.Get().FetchSalePageDetails(t.clanAccountID, t.clanEventGID),
            ),
            Promise.all(n).then(() => l(!1));
        }, [c, t]),
        s)
      )
        return i.a.createElement(oD, {
          saleDesc: t,
          bShowAppBrowse: e.bShowAppBrowse,
          bShowFeaturing: !c,
        });
      const m = St.b.GetClanEventModel(t.clanEventGID);
      if (!m)
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "div",
            null,
            "Failed to load event. Are you logged into the Steam Store?",
          ),
          i.a.createElement(oD, {
            saleDesc: t,
            bShowAppBrowse: e.bShowAppBrowse,
            bShowFeaturing: !c,
          }),
        );
      const p = Object(le.g)(o.c.LANGUAGE),
        _ = m.GetSaleURL();
      return i.a.createElement(
        nt.a,
        null,
        i.a.createElement(
          "div",
          { className: Object(h.a)(kO.a.TileContainer) },
          i.a.createElement(_D, {
            saleDesc: t,
            strSaleURL: m.GetSaleURL(),
            strEventName: m.GetNameWithFallback(p),
          }),
          i.a.createElement(
            "div",
            { className: Object(h.a)(kO.a.EventDetailsCtn) },
            i.a.createElement(
              Qe.a,
              { toolTipContent: m.GetSummaryWithFallback(p) },
              i.a.createElement(
                "a",
                { href: _, target: "_blank" },
                i.a.createElement("img", {
                  className: Object(h.a)(kO.a.CapsuleImg),
                  src: m.GetImageURLWithFallback(
                    "capsule",
                    p,
                    be.c.capsule_main,
                  ),
                }),
              ),
            ),
            i.a.createElement(
              "div",
              { className: Object(h.a)(kO.a.TopStatsCtn) },
              i.a.createElement(hD, { eventModel: m, bShowAppBrowse: n }),
              Boolean(m.BIsVisibleEvent() && c) &&
                i.a.createElement(dD, { eventModel: m }),
              Boolean(m.BIsVisibleEvent() && !c) &&
                i.a.createElement(uD, { eventModel: m }),
              Boolean(!c) &&
                i.a.createElement(GO, {
                  saleDesc: t,
                  bDetailsAreVisible: d,
                  fnToggleDetails: () => u(!d),
                }),
            ),
            i.a.createElement(mD, { eventModel: m }),
            i.a.createElement(pD, { eventModel: m }),
            Boolean(!c && a) && i.a.createElement(jO, { event: m }),
            Boolean(!c) && i.a.createElement(rD, { event: m }),
            i.a.createElement(gD, { clanAccountID: t.clanAccountID }),
          ),
          d && i.a.createElement(NO, { saleDesc: t }),
        ),
      );
    }
    function cD(e) {
      const { saleDesc: t } = e,
        n = t.bFeaturedNextSeasonalSale
          ? o.c.STORE_BASE_URL + "sale/" + t.strVanity
          : o.c.STORE_BASE_URL +
            "curator/" +
            t.clanAccountID +
            "/sale/" +
            t.strVanity;
      return i.a.createElement(
        "div",
        { className: Object(h.a)(kO.a.TileContainer) },
        i.a.createElement(_D, {
          saleDesc: t,
          strSaleURL: n,
          strEventName: t.strEventName,
        }),
        i.a.createElement(
          "div",
          { className: Object(h.a)(kO.a.EventDetailsCtn) },
          Object($.f)("#Sale_InDraftModeNoAccess"),
        ),
        i.a.createElement(gD, { clanAccountID: t.clanAccountID }),
      );
    }
    function dD(e) {
      const { eventModel: t } = e;
      return Object(Ot.c)(t.clanSteamID.GetAccountID()).can_edit
        ? i.a.createElement(uD, { eventModel: t })
        : null;
    }
    function uD(e) {
      const { eventModel: t } = e,
        n = t.GID,
        a = t.clanSteamID.GetAccountID(),
        [r, s] = i.a.useState(!OO.BHasEventStats(a, n)),
        o = Object(Tt.a)("SaleEventRowTile");
      return (
        i.a.useEffect(() => {
          if (r && St.b.GetClanEventModel(n).BIsVisibleEvent()) {
            const e = de.a.InitFromClanID(a);
            OO.LoadStatsForEvents(e, [n], o).finally(() => s(!1));
          }
          return () =>
            null == o ? void 0 : o.cancel("unloading SaleEventRowTile");
        }, [r, o, a, n]),
        r
          ? i.a.createElement(ee.a, { string: Object($.f)("#Loading") })
          : i.a.createElement(
              "div",
              { className: Object(h.a)(kO.a.EventStats) },
              i.a.createElement(
                "div",
                { className: Object(h.a)(Tf.a.BigNumber) },
                OO.GetStatsFor(
                  t.clanSteamID,
                  n,
                ).m_stats.store_app_page_read.toLocaleString(),
              ),
              i.a.createElement(
                "span",
                {
                  "data-tooltip-text": Object($.f)("#Sale_EventStats_Read"),
                  className: Ne.HelperTooltip,
                },
                Object($.f)("#Sale_EventStats_Read_Title"),
              ),
            )
      );
    }
    function mD(e) {
      const { eventModel: t } = e,
        n = t.GetSaleSectionCount(),
        a = t.GetSaleFeaturedAppsCount(),
        r = t.GetSaleFeaturedBundlesCount(),
        s = t.GetSaleFeaturedPackagesCount();
      return i.a.createElement(
        "div",
        { className: Object(h.a)(kO.a.BasicStatsCtn) },
        Object($.f)("#Sale_Stats_Section", n),
        i.a.createElement("br", null),
        Object($.f)("#Sale_Stats_Apps_featured", a),
        i.a.createElement("br", null),
        Object($.f)("#Sale_Stats_Bundles", r),
        i.a.createElement("br", null),
        Object($.f)("#Sale_Stats_Packages", s),
        i.a.createElement("br", null),
      );
    }
    function pD(e) {
      const t = sO(),
        { eventModel: n } = e,
        a = Object(Ot.c)(n.clanSteamID.GetAccountID()),
        r = n.clanSteamID.GetAccountID(),
        s = n.GID,
        l = n.GetSaleURL(),
        c =
          o.c.COMMUNITY_BASE_URL +
          "gid/" +
          n.clanSteamID.ConvertTo64BitString() +
          "/partnerevents/edit/" +
          s +
          "?tab=sale",
        d = o.c.STORE_BASE_URL + "newshub/group/" + r + "/view",
        u =
          o.c.COMMUNITY_BASE_URL +
          "gid/" +
          n.clanSteamID.ConvertTo64BitString() +
          "/partnerevents/preview/" +
          s,
        m = new Date(1e3 * n.GetStartTimeAndDateUnixSeconds()),
        p = new Date(1e3 * n.GetEndTimeAndDateUnixSeconds()),
        _ =
          o.c.INTERNAL_STATS_BASE_URL +
          "sales/details/?gid=" +
          s +
          "&clanid=" +
          r +
          "&dateStart=" +
          m.getFullYear() +
          "-" +
          (m.getMonth() + 1) +
          "-" +
          m.getDate() +
          "&dateEnd=" +
          m.getFullYear() +
          "-" +
          (p.getMonth() + 1) +
          "-" +
          p.getDate();
      return i.a.createElement(
        "div",
        { className: Object(h.a)(kO.a.LinkCtn) },
        Boolean(a.can_edit) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "a",
              { href: c, target: "_blank" },
              Object($.f)("#EventEditor_Edit"),
            ),
            i.a.createElement("br", null),
          ),
        Boolean(n.BIsVisibleEvent()) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "a",
              { href: d, target: "_blank" },
              Object($.f)("#Sale_Link_PostviewEvent"),
            ),
            i.a.createElement("br", null),
          ),
        Boolean(!n.BIsVisibleEvent() && a.can_edit) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "a",
              { href: u, target: "_blank" },
              Object($.f)("#Sale_Link_PreviewEvent"),
            ),
            i.a.createElement("br", null),
          ),
        Boolean(n.BIsVisibleEvent()) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "a",
              { href: l, target: "_blank" },
              Object($.f)("#Sale_Link_SalePage"),
            ),
            i.a.createElement("br", null),
          ),
        Boolean(!t) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "a",
              { href: _, target: "_blank" },
              Object($.f)("#Sale_Link_Stats"),
            ),
            i.a.createElement("br", null),
          ),
      );
    }
    function hD(e) {
      const { eventModel: t, bShowAppBrowse: n } = e,
        { fnBIsPublisherApp: a } = {
          fnBIsPublisherApp: CO.Get().bIsPublisherApp,
        },
        r = sO();
      let s = t.GetSaleFeaturedAppsCount(r ? a : void 0);
      return i.a.createElement(
        "div",
        { className: Object(h.a)(kO.a.FeaturedApps) },
        i.a.createElement("div", { className: Object(h.a)(Tf.a.BigNumber) }, s),
        i.a.createElement(
          "span",
          {
            "data-tooltip-text": Object($.f)(
              r ? "#Sale_Stats_Apps_Partner_Ttip" : "#Sale_Stats_Apps_Ttip",
            ),
            className: Ne.HelperTooltip,
          },
          Object($.f)(r ? "#Sale_Stats_Apps_Partner" : "#Sale_Stats_Apps"),
          " ",
          n &&
            i.a.createElement(
              "span",
              {
                onClick: (e) => {
                  Object(ze.d)(
                    i.a.createElement(
                      xe.f,
                      { bAllowFullSize: !0 },
                      i.a.createElement(
                        te.y,
                        null,
                        Object($.f)("#Sale_DashBoard_ShowLiveData"),
                      ),
                      i.a.createElement(
                        te.c,
                        null,
                        i.a.createElement(
                          nt.a,
                          null,
                          r
                            ? i.a.createElement(MO, {
                                eventModel: t,
                                fnBIsPublisherApp: a,
                              })
                            : i.a.createElement(Qm, {
                                key: t.GID,
                                event: t,
                                browseInfo: {
                                  enable_search: !0,
                                  show_as_demos: !1,
                                  tabs: [
                                    "popularpurchased",
                                    "recentlyreleased",
                                    "popularcomingsoon",
                                    "topwishlisted",
                                    "trendingwishlisted",
                                    "mostplayeddemo",
                                    "dailyactiveuserdemo",
                                    "playednowdemo",
                                  ],
                                },
                                language: Object(le.g)(o.c.LANGUAGE),
                                bIsPreview: !0,
                                activeTab: null,
                                fnBIsPermittedApp: a,
                              }),
                        ),
                      ),
                    ),
                    Object(v.o)(e),
                  );
                },
                className: Object(h.a)(kO.a.BrowseLink),
              },
              "(",
              Object($.f)("#Sale_DashBoard_SeeList"),
              ")",
            ),
        ),
      );
    }
    function _D(e) {
      const { saleDesc: t, strSaleURL: n, strEventName: a } = e;
      return i.a.createElement(
        "div",
        { className: Object(h.a)(kO.a.EventNameCtn) },
        i.a.createElement(
          "a",
          { href: n, target: "_blank", className: kO.a.EventName },
          a,
        ),
        i.a.createElement(
          "div",
          { className: Object(h.a)(kO.a.DatesCtn) },
          Object($.o)(
            "#Sale_Dates",
            t.rtStartTime &&
              i.a.createElement(Ra.a, {
                dateAndTime: t.rtStartTime,
                bSingleLine: !0,
              }),
            t.rtEndTime &&
              i.a.createElement(Ra.a, {
                dateAndTime: t.rtEndTime,
                bSingleLine: !0,
              }),
          ),
        ),
      );
    }
    function gD(e) {
      const { clanAccountID: t } = e,
        [n, a] = Object(wt.b)(t);
      return n || !a
        ? i.a.createElement(
            "div",
            { className: Object(h.a)(kO.a.ClanInfoCtn) },
            i.a.createElement(ee.a, {
              string: Object($.f)("#Loading"),
              size: "medium",
              position: "center",
            }),
          )
        : i.a.createElement(
            "div",
            { className: Object(h.a)(kO.a.ClanInfoCtn) },
            i.a.createElement(
              "div",
              { className: kO.a.ClanInfoName },
              a.group_name,
            ),
            i.a.createElement(
              Pt.d,
              {
                className: kO.a.HoverCtn,
                hoverProps: { direction: "left", style: { minWidth: "350px" } },
                hoverContent: i.a.createElement(ra, {
                  clanInfo: a,
                  bAddLinkToMemberList: !0,
                }),
              },
              i.a.createElement("img", {
                className: Object(h.a)(kO.a.Avatar),
                src: a.avatar_full_url,
              }),
            ),
          );
    }
    function bD(e) {
      const { publisherid: t } = Object(fa.j)(),
        [n, a] = i.a.useState(!0);
      if (
        (i.a.useEffect(() => {
          n &&
            (St.b.Init(),
            oO.Get(),
            Promise.all([Ot.a.InitGlobal()]).then(() => a(!1)));
        }, [n]),
        n)
      )
        return i.a.createElement(ee.a, {
          string: Object($.f)("#Loading"),
          position: "center",
        });
      const r = Object(o.g)("partner_name", "application_config");
      return i.a.createElement(
        "div",
        { className: Tf.a.DashboardCtn },
        i.a.createElement(
          "h1",
          null,
          Object($.f)("#Sale_Partner_Dashboard") +
            ((null == r ? void 0 : r.length) > 0 ? ": " + r : ""),
        ),
        i.a.createElement("hr", null),
        i.a.createElement(
          "div",
          { className: Tf.a.DashboardDesc },
          Object($.f)("#Sale_Partner_Dashboard_Desc"),
        ),
        i.a.createElement(
          iO.Provider,
          { value: Number.parseInt(t) },
          i.a.createElement(vD, null),
        ),
      );
    }
    function fD(e) {
      const [t, n] = i.a.useState(!0);
      i.a.useEffect(() => {
        t &&
          (St.b.Init(),
          rO.Get(),
          oO.Get(),
          Promise.all([Ot.a.InitGlobal()]).then(() => n(!1)));
      }, [t]);
      return t
        ? i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            position: "center",
          })
        : i.a.createElement(
            "div",
            { className: Tf.a.DashboardCtn },
            i.a.createElement("h1", null, Object($.f)("#Sale_DashBoard")),
            i.a.createElement("hr", null),
            i.a.createElement(
              "p",
              null,
              Object($.o)(
                "#Sale_DashBoard_Desc",
                i.a.createElement(
                  "a",
                  {
                    href: "https://confluence.valve.org/display/SteamBiz/New+Sales+Page+Feature+-+How+to+invite+partners",
                    target: "_blank",
                  },
                  Object($.f)("#Sale_DashBoard_Desc_Link"),
                ),
                i.a.createElement(
                  "a",
                  {
                    href: "https://partner.steamgames.com/doc/resources/Sales_Feature_Beta",
                    target: "_blank",
                  },
                  Object($.f)("#Sale_DashBoard_Desc_Link2"),
                ),
              ),
            ),
            i.a.createElement("hr", null),
            i.a.createElement(
              te.F,
              {
                className: Tf.a.CreateNewSaleButton,
                onClick: (e) => {
                  Object(ze.d)(i.a.createElement(vO, null), Object(v.o)(e));
                },
              },
              Object($.f)("#Sale_New_Title"),
            ),
            i.a.createElement(
              iO.Provider,
              { value: null },
              i.a.createElement(vD, null),
            ),
          );
    }
    function vD(e) {
      var t;
      const n = sO(),
        a = (e) => window.sessionStorage.setItem("saletab", `?tab=${e.key}`),
        r = [
          {
            name: Object($.f)(
              "#Sale_Summary_Active",
              oO.Get().GetActiveEvents().length.toLocaleString(),
            ),
            key: "active",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(
                "div",
                { className: Tf.a.DashboardSectionActive },
                i.a.createElement(sD, {
                  saleDescList: oO.Get().GetActiveEvents(),
                  bShowAppBrowse: !0,
                  bShowFeaturing: !0,
                }),
              ),
            ),
            onClick: a,
          },
        ];
      return (
        (oO.Get().GetSeasonFeaturedEvents().length > 0 ||
          (null === (t = oO.Get().GetSeasonFeaturedHiddenEvents()) ||
          void 0 === t
            ? void 0
            : t.length) > 0) &&
          r.push({
            name: Object($.f)(
              "#Sale_Summary_SeasonalSaleFeatured",
              oO.Get().GetSeasonFeaturedEvents().length.toLocaleString(),
            ),
            key: "seasonal",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(
                "div",
                { className: Tf.a.DashboardSectionFeatured },
                i.a.createElement(sD, {
                  saleDescList: oO.Get().GetSeasonFeaturedEvents(),
                  descriptionToken: "#Sale_Summary_SeasonalSaleFeatured_Desc",
                  bShowAppBrowse: !0,
                  hiddenSaleDescList: oO.Get().GetSeasonFeaturedHiddenEvents(),
                }),
              ),
            ),
            onClick: a,
          }),
        r.push({
          name: Object($.f)(
            "#Sale_Summary_Upcoming",
            oO.Get().GetUpcomingEvents().length.toLocaleString(),
          ),
          key: "upcoming",
          contents: i.a.createElement(
            nt.a,
            null,
            i.a.createElement(sD, {
              saleDescList: oO.Get().GetUpcomingEvents(),
              bShowFeaturing: !0,
              bShowAppBrowse: Boolean(n),
            }),
          ),
          onClick: a,
        }),
        r.push({
          name: Object($.f)(
            "#Sale_Summary_Draft",
            oO.Get().GetDraftEvents().length.toLocaleString(),
          ),
          key: "draft",
          contents: i.a.createElement(
            nt.a,
            null,
            i.a.createElement(sD, {
              saleDescList: oO.Get().GetDraftEvents(),
              bShowFeaturing: !0,
              bShowAppBrowse: Boolean(n),
            }),
          ),
          onClick: a,
        }),
        oO.Get().GetOldDraftEvents().length > 0 &&
          r.push({
            name: Object($.f)(
              "#Sale_Summary_OldDraft",
              oO.Get().GetOldDraftEvents().length.toLocaleString(),
            ),
            key: "olddraft",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(sD, {
                saleDescList: oO.Get().GetOldDraftEvents(),
                bShowAppBrowse: Boolean(n),
              }),
            ),
            onClick: a,
          }),
        r.push({
          name: Object($.f)(
            "#Sale_Summary_Archived",
            oO.Get().GetArchiveEvents().length.toLocaleString(),
          ),
          key: "archived",
          contents: i.a.createElement(
            nt.a,
            null,
            i.a.createElement(sD, {
              saleDescList: oO.Get().GetArchiveEvents(),
              bShowAppBrowse: Boolean(n),
            }),
          ),
          onClick: a,
        }),
        i.a.createElement(Pf, { tabs: r })
      );
    }
    const SD = [
        "main",
        "cart",
        "games",
        "demos",
        "mac",
        "linux",
        "software",
        "vr",
        "steamcontroller",
        "videos",
        "pccafe",
        "remoteplay_phone",
        "remoteplay_tablet",
        "remoteplay_tv",
        "remoteplay_together",
        "specials",
        "underten",
      ],
      yD = ["cart", "underten", "specials"];
    class ED {
      constructor(e) {
        (this.m_oDailyDeal = null),
          (this.m_originalDailyDeal = null),
          (this.m_bDirty = !1),
          (this.m_callback = new g.a()),
          (this.m_storeItemKey = null),
          this.Reset(e);
      }
      Reset(e) {
        (this.m_originalDailyDeal = JSON.parse(JSON.stringify(e))),
          (this.m_oDailyDeal = JSON.parse(JSON.stringify(e))),
          (this.m_bDirty = !1),
          (this.m_storeItemKey = Object(On.l)(
            this.m_oDailyDeal.appid,
            this.m_oDailyDeal.subid,
            this.m_oDailyDeal.bundleid,
          ));
      }
      BIsDirty() {
        return this.m_bDirty;
      }
      GetCallback() {
        return this.m_callback;
      }
      GetModel() {
        return this.m_oDailyDeal;
      }
      GetStoreItemKey() {
        return this.m_storeItemKey;
      }
      BHidePrices() {
        return this.m_oDailyDeal.visibility.hide_price;
      }
      BHasHubTarget(e) {
        return this.m_oDailyDeal.location.hubTargets.includes(e);
      }
      BHasGenreTarget(e) {
        return this.m_oDailyDeal.location.genres.includes(e);
      }
      BHasCategoryTarget(e) {
        var t;
        return null === (t = this.m_oDailyDeal.location.categories) ||
          void 0 === t
          ? void 0
          : t.includes(e);
      }
      GetHubTargets() {
        return this.m_oDailyDeal.location.hubTargets || [];
      }
      GetDealID() {
        return this.m_oDailyDeal.id;
      }
      GetNotes() {
        return this.m_oDailyDeal.notes;
      }
      GetDiscountEventID() {
        return this.m_oDailyDeal.discount_event_id || "";
      }
      BHasDiscountEventID() {
        var e;
        return (
          (null === (e = this.m_oDailyDeal.discount_event_id) || void 0 === e
            ? void 0
            : e.length) > 0
        );
      }
      GetOverrideURL() {
        return this.m_oDailyDeal.override_url || "";
      }
      BHasOverrideURL() {
        var e;
        return (
          (null === (e = this.m_oDailyDeal.override_url) || void 0 === e
            ? void 0
            : e.trim().length) > 0
        );
      }
      SetVisiblity(e) {
        this.m_oDailyDeal.visibility.hide_price != e &&
          ((this.m_oDailyDeal.visibility.hide_price = e), this.Dispatch());
      }
      AddRemoveHubTarget(e, t) {
        const n = this.m_oDailyDeal.location.hubTargets;
        if (e && !n.includes(t))
          this.m_oDailyDeal.location.hubTargets.push(t), this.Dispatch();
        else if (!e && n.includes(t)) {
          const e = n.indexOf(t);
          e >= 0 &&
            (this.m_oDailyDeal.location.hubTargets.splice(e, 1),
            this.Dispatch());
        }
      }
      AddRemoveGenreTarget(e, t) {
        const n = this.m_oDailyDeal.location.genres;
        if (e && !n.includes(t))
          this.m_oDailyDeal.location.genres.push(t), this.Dispatch();
        else if (!e && n.includes(t)) {
          const e = n.indexOf(t);
          e >= 0 &&
            (this.m_oDailyDeal.location.genres.splice(e, 1), this.Dispatch());
        }
      }
      AddRemoveCategoryTarget(e, t) {
        const n = this.m_oDailyDeal.location.categories;
        if (e && !(null == n ? void 0 : n.includes(t)))
          Boolean(n) || (this.m_oDailyDeal.location.categories = []),
            this.m_oDailyDeal.location.categories.push(t),
            this.Dispatch();
        else if (!e && (null == n ? void 0 : n.includes(t))) {
          const e = n.indexOf(t);
          e >= 0 &&
            (this.m_oDailyDeal.location.categories.splice(e, 1),
            this.Dispatch());
        }
      }
      RevertChanges() {
        (this.m_oDailyDeal = JSON.parse(
          JSON.stringify(this.m_originalDailyDeal),
        )),
          (this.m_bDirty = !1),
          this.m_callback.Dispatch(this);
      }
      SetNotes(e) {
        this.m_oDailyDeal.notes !== e &&
          ((this.m_oDailyDeal.notes = e), this.Dispatch());
      }
      SetDiscountEventID(e) {
        this.m_oDailyDeal.discount_event_id != e &&
          ((this.m_oDailyDeal.discount_event_id = e), this.Dispatch());
      }
      SetOverrideURL(e) {
        this.m_oDailyDeal.override_url != e &&
          ((this.m_oDailyDeal.override_url = e), this.Dispatch());
      }
      Dispatch() {
        (this.m_bDirty = !0), this.m_callback.Dispatch(this);
      }
    }
    Object(a.b)([L.C], ED.prototype, "m_bDirty", void 0),
      Object(a.b)([u.b], ED.prototype, "SetVisiblity", null),
      Object(a.b)([u.b], ED.prototype, "RevertChanges", null);
    const CD = ["Application", "Game", "Mature", "Video"];
    class wD {
      constructor() {
        this.m_rgGenres = new Array();
      }
      GetGenreDefinitions() {
        return this.m_rgGenres;
      }
      static Get() {
        return (
          wD.s_Singleton ||
            ((wD.s_Singleton = new wD()),
            wD.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_GenreStore = wD.s_Singleton)),
          wD.s_Singleton
        );
      }
      Init() {
        let e = Object(o.g)("genrestore", "application_config");
        this.ValidateStoreDefault(e) && (this.m_rgGenres = e);
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "number" == typeof t[0].genreid &&
          "string" == typeof t[0].name
        );
      }
    }
    class BD {
      constructor() {
        this.m_model = null;
      }
      InitDailyDealToEdit(e, t = !1) {
        return (
          this.m_model
            ? (this.m_model.Reset(e),
              t && this.m_model.GetCallback().Dispatch(this.m_model))
            : (this.m_model = new ED(e)),
          this.m_model
        );
      }
      GetDailyDealToEdit() {
        return this.m_model;
      }
      ClearEditModel() {
        this.m_model = null;
      }
      static Get() {
        return (
          BD.s_Singleton ||
            ((BD.s_Singleton = new BD()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_DailyDealEditStore = BD.s_Singleton)),
          BD.s_Singleton
        );
      }
    }
    function OD() {
      const e = Object(u.f)(),
        [t, n] = i.a.useState(BD.Get().GetDailyDealToEdit());
      return (
        Object(u.e)(null == t ? void 0 : t.GetCallback(), (t) => {
          n(t), e();
        }),
        t
      );
    }
    function DD() {
      return [
        i.a.useCallback(
          () =>
            !!BD.Get().GetDailyDealToEdit() &&
            BD.Get().GetDailyDealToEdit().BIsDirty(),
          [],
        ),
        i.a.useCallback(() => {
          BD.Get().ClearEditModel();
        }, []),
      ];
    }
    const ID = "#DailyDeals_Blackout";
    function TD(e) {
      return e.name == ID;
    }
    class RD {
      constructor() {
        (this.m_mapDailyDeals = new Map()),
          (this.m_mapDailyDealCallback = new Map()),
          (this.m_DailyDealListCallback = new g.a()),
          (this.m_mapDailyDealsByDay = new Map()),
          (this.m_mapDailyDealsByDayCallback = new Map());
      }
      GetAllDailyDeals() {
        return Array.from(this.m_mapDailyDeals.values());
      }
      GetDailyDealByID(e) {
        return this.m_mapDailyDeals.get(e);
      }
      GetDailyDealStartTime(e) {
        var t;
        if (this.GetDailyDealByID(e)) {
          const n = Array.from(this.m_mapDailyDealsByDay.keys());
          for (let a = 0; a < n.length; a++) {
            const r = n[a];
            if (
              null === (t = this.m_mapDailyDealsByDay.get(r)) || void 0 === t
                ? void 0
                : t.some((t) => t == e)
            )
              return r;
          }
        }
        return 0;
      }
      GetDailyDealByDay(e) {
        var t;
        return null === (t = this.m_mapDailyDealsByDay.get(e)) || void 0 === t
          ? void 0
          : t.map((e) => this.m_mapDailyDeals.get(e));
      }
      GetCallbackForDailyDealID(e) {
        return (
          this.m_mapDailyDealCallback.has(e) ||
            this.m_mapDailyDealCallback.set(e, new g.a()),
          this.m_mapDailyDealCallback.get(e)
        );
      }
      GetCallbackForDailyDealList() {
        return this.m_DailyDealListCallback;
      }
      GetCallbackForDailyDealByDayList(e) {
        return (
          this.m_mapDailyDealsByDayCallback.has(e) ||
            this.m_mapDailyDealsByDayCallback.set(e, new g.a()),
          this.m_mapDailyDealsByDayCallback.get(e)
        );
      }
      SetDailyDeal(e) {
        this.m_mapDailyDeals.set(e.id, e),
          this.GetCallbackForDailyDealID(e.id).Dispatch(e),
          console.log(e);
      }
      AddDailyDeal(e, t, n, r) {
        var i;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const s = new FormData();
            s.append("sessionid", o.c.SESSIONID),
              s.append("rtDateChosen", "" + t),
              e.appid
                ? s.append("nAppID", "" + e.appid)
                : e.packageid
                  ? s.append("nPackageID", "" + e.packageid)
                  : e.bundleid && s.append("nBundleID", "" + e.bundleid),
              n &&
                n.trim().startsWith(o.c.STORE_BASE_URL) &&
                s.append("strURLOverride", n.trim()),
              (null == r ? void 0 : r.trim().length) > 0 &&
                s.append("strDiscountEventID", r.trim());
            const l =
                o.c.PARTNER_BASE_URL +
                "promotion/dailydeals/ajaxadminadddailydeal",
              c = yield F.a.post(l, s, { withCredentials: !0 });
            if (
              200 == (null == c ? void 0 : c.status) &&
              1 ==
                (null === (i = c.data) || void 0 === i ? void 0 : i.success) &&
              c.data.newdeal
            ) {
              const e = c.data.newdeal;
              return (
                this.InternalAddDailyDeal(e),
                this.GetCallbackForDailyDealByDayList(t).Dispatch(
                  this.m_mapDailyDealsByDay
                    .get(t)
                    .map((e) => this.m_mapDailyDeals.get(e)),
                ),
                this.GetCallbackForDailyDealList().Dispatch(
                  Array.from(this.m_mapDailyDeals.values()),
                ),
                !0
              );
            }
            a = Object(me.a)(c);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CDailyDealStore.AddDailyDeal failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      SaveDailyDeal(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = null;
          try {
            const a = new FormData();
            a.append("sessionid", o.c.SESSIONID),
              a.append("dailydeal", JSON.stringify(e));
            const r =
                o.c.PARTNER_BASE_URL +
                "promotion/dailydeals/ajaxadminupdatedailydeal",
              i = yield F.a.post(r, a, { withCredentials: !0 });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 == (null === (t = i.data) || void 0 === t ? void 0 : t.success)
            )
              return (
                this.m_mapDailyDeals.set(e.id, e),
                this.GetCallbackForDailyDealID(e.id).Dispatch(e),
                !0
              );
            n = Object(me.a)(i);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CDailyDealStore.SaveDailyDeal failed: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            !1
          );
        });
      }
      RemoveDailyDeal(e) {
        var t, n, r, i;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          const s = this.m_mapDailyDeals.get(e);
          if (!s)
            return (
              console.error(
                "CDailyDealStore.RemoveDailyDeal ID does not exist: " + e,
              ),
              !1
            );
          try {
            const l = new FormData();
            l.append("sessionid", o.c.SESSIONID), l.append("strDealID", e);
            const c =
                o.c.PARTNER_BASE_URL +
                "promotion/dailydeals/ajaxadminremovedailydeal",
              d = yield F.a.post(c, l, { withCredentials: !0 });
            if (
              200 == (null == d ? void 0 : d.status) &&
              1 == (null === (t = d.data) || void 0 === t ? void 0 : t.success)
            ) {
              if (
                null === (n = null == s ? void 0 : s.visibility) || void 0 === n
                  ? void 0
                  : n.startdate
              ) {
                const t = this.m_mapDailyDealsByDay.get(
                  null === (r = null == s ? void 0 : s.visibility) ||
                    void 0 === r
                    ? void 0
                    : r.startdate,
                );
                if (t) {
                  const n = t.findIndex((t) => e == t);
                  -1 != n && t.splice(n, 1);
                }
              }
              this.m_mapDailyDeals.delete(e);
              const t =
                null === (i = null == s ? void 0 : s.visibility) || void 0 === i
                  ? void 0
                  : i.startdate;
              return (
                this.GetCallbackForDailyDealByDayList(t).Dispatch(
                  this.m_mapDailyDealsByDay
                    .get(t)
                    .map((e) => this.m_mapDailyDeals.get(e)),
                ),
                this.GetCallbackForDailyDealList().Dispatch(
                  Array.from(this.m_mapDailyDeals.values()),
                ),
                !0
              );
            }
            a = Object(me.a)(d);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CDailyDealStore.RemoveDailyDeal failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      SetBlackoutDate(e, t) {
        var n;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const r = {
                name: "#DailyDeals_Blackout",
                location: {},
                visibility: { startdate: e },
              },
              i = new FormData();
            i.append("sessionid", o.c.SESSIONID),
              i.append("blackout", JSON.stringify(r)),
              i.append("add", "" + t);
            const s =
                o.c.PARTNER_BASE_URL + "promotion/dailydeals/ajaxsetblackout",
              l = yield F.a.post(s, i, { withCredentials: !0 });
            if (
              200 == (null == l ? void 0 : l.status) &&
              1 == (null === (n = l.data) || void 0 === n ? void 0 : n.success)
            ) {
              const n = this.GenerateBlackoutID(e);
              if (t) this.InternalAddDailyDeal(r);
              else {
                const t = this.m_mapDailyDealsByDay.get(e);
                if (t) {
                  const e = t.findIndex((e) => e == n);
                  -1 != e && t.splice(e, 1);
                }
                this.m_mapDailyDeals.delete(n);
              }
              return (
                this.GetCallbackForDailyDealByDayList(e).Dispatch(
                  this.m_mapDailyDealsByDay
                    .get(e)
                    .map((e) => this.m_mapDailyDeals.get(e)),
                ),
                this.GetCallbackForDailyDealList().Dispatch(
                  Array.from(this.m_mapDailyDeals.values()),
                ),
                !0
              );
            }
            a = Object(me.a)(l);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CDailyDealStore.SetBlackoutDate failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      ArchiveOldDailyDeals() {
        var e;
        return Object(a.a)(this, void 0, void 0, function* () {
          let t = null;
          try {
            const n = new FormData();
            n.append("sessionid", o.c.SESSIONID);
            const a =
                o.c.PARTNER_BASE_URL + "promotion/dailydeals/ajaxarchiveold",
              r = yield F.a.post(a, n, { withCredentials: !0 });
            200 == (null == r ? void 0 : r.status) &&
              1 ==
                (null === (e = r.data) || void 0 === e ? void 0 : e.success) &&
              window.location.reload(),
              (t = Object(me.a)(r));
          } catch (e) {
            t = Object(me.a)(e);
          }
          return (
            console.error(
              "CDailyDealStore.ArchiveOldDailyDeals failed: " +
                (null == t ? void 0 : t.strErrorMsg),
              t,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          RD.s_Singleton ||
            ((RD.s_Singleton = new RD()),
            RD.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_DailyDealStore = RD.s_Singleton)),
          RD.s_Singleton
        );
      }
      GenerateBlackoutID(e) {
        return ID + e;
      }
      InternalAddDailyDeal(e) {
        e.id ||
          e.name != ID ||
          (e.id = this.GenerateBlackoutID(e.visibility.startdate)),
          this.m_mapDailyDeals.set(e.id, e);
        const t = e.visibility.startdate;
        t &&
          (this.m_mapDailyDealsByDay.has(t) ||
            this.m_mapDailyDealsByDay.set(t, new Array()),
          this.m_mapDailyDealsByDay.get(t).push(e.id));
      }
      Init() {
        let e = Object(o.g)("dailydealinfo", "application_config");
        this.ValidateStoreDefault(e) && e.forEach(this.InternalAddDailyDeal);
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].name && "object" == typeof t[0].location &&
          "object" == typeof t[0].visibility
        );
      }
    }
    function jD() {
      const [e, t] = i.a.useState(RD.Get().GetAllDailyDeals());
      return Object(u.e)(RD.Get().GetCallbackForDailyDealList(), t), e;
    }
    function AD(e) {
      const t = RD.Get(),
        [n, a] = i.a.useState(t.GetDailyDealByID(e));
      return Object(u.e)(t.GetCallbackForDailyDealID(e), a), n;
    }
    function kD() {
      return [RD.Get().SaveDailyDeal, RD.Get().RemoveDailyDeal];
    }
    Object(a.b)([u.b], RD.prototype, "SetDailyDeal", null),
      Object(a.b)([u.b], RD.prototype, "AddDailyDeal", null),
      Object(a.b)([u.b], RD.prototype, "SaveDailyDeal", null),
      Object(a.b)([u.b], RD.prototype, "RemoveDailyDeal", null),
      Object(a.b)([u.b], RD.prototype, "SetBlackoutDate", null),
      Object(a.b)([u.b], RD.prototype, "ArchiveOldDailyDeals", null),
      Object(a.b)([u.b], RD.prototype, "InternalAddDailyDeal", null);
    var MD = n("qw8e");
    const PD = Object(m.a)((e) =>
      r.createElement(
        r.Fragment,
        null,
        r.createElement(
          "div",
          {
            className: Object(h.a)(
              e.className ? e.className : MD.SectionTitleHeader,
              MD.required_title,
            ),
          },
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                Ne.EventEditorTextTitle,
                "EventEditorTextTitle",
              ),
            },
            e.title,
            Boolean(e.tooltip) && r.createElement(ND, { tooltip: e.tooltip }),
          ),
          r.createElement(GD, {
            bIsMinimized: e.getMinimized(),
            fnToggleMinimize: e.toggleMinimized,
          }),
        ),
        !e.getMinimized() && r.createElement(nt.a, null, e.children),
      ),
    );
    function LD(e) {
      const [t, n] = r.useState(Boolean(e.bStartMinimized));
      return r.createElement(
        PD,
        Object.assign({}, e, {
          getMinimized: () => t,
          toggleMinimized: () => n(!t),
        }),
        e.children,
      );
    }
    function GD(e) {
      const { bIsMinimized: t, fnToggleMinimize: n } = e,
        a = t ? "#Section_Maximize_Tooltip" : "#Section_Minimize_Tooltip";
      return r.createElement(
        te.e,
        { "data-tooltip-text": Object($.f)(a), onClick: n },
        e.bIsMinimized
          ? r.createElement(H.N, null)
          : r.createElement(H.Q, null),
      );
    }
    function ND(e) {
      return r.createElement(
        "span",
        {
          "data-tooltip-text": e.tooltip,
          className: Object(h.a)(Ne.HelperTooltip, "HelperTooltip"),
        },
        " ",
        r.createElement(H.F, null),
      );
    }
    function FD(e) {
      return e.appid
        ? [e.appid, 0]
        : e.bundleid
          ? [e.bundleid, 2]
          : e.subid
            ? [e.subid, 1]
            : [0, -1];
    }
    function xD(e) {
      const t = new Date(1e3 * e),
        a =
          "-07:00" ==
          n("f0Wu")
            .unix(Math.floor(t.getTime() / 1e3))
            .tz("America/Los_Angeles")
            .format("Z")
            ? 7
            : 8;
      return (
        t.setUTCHours(10 + a),
        t.setUTCMinutes(0),
        t.setUTCSeconds(0),
        t.setUTCMilliseconds(0),
        Math.floor(t.getTime() / 1e3)
      );
    }
    var zD = n("JfWo");
    function UD(e) {
      const { fnSetItemID: t, strLabel: n, itemType: s } = e,
        [l, c] = i.a.useState(""),
        [d] = i.a.useState(new g.b()),
        [u, m] = i.a.useState(new Array()),
        [p, h] = i.a.useState(new Array()),
        [_, b] = i.a.useState(new Array()),
        f = Object(r.useCallback)(
          (e) =>
            Object(a.a)(this, void 0, void 0, function* () {
              var t;
              if (e.trim().length > 0) {
                const n = { json: 1, term: e };
                let a = `${o.c.PARTNER_BASE_URL}apps/suggestapps`;
                switch (s) {
                  case 1:
                    a = `${o.c.PARTNER_BASE_URL}admin/store/suggestpackage`;
                    break;
                  case 2:
                    a = `${o.c.PARTNER_BASE_URL}bundles/suggestbundle`;
                }
                const r = yield F.a.get(a, { params: n, withCredentials: !0 });
                200 == (null == r ? void 0 : r.status) &&
                  1 ==
                    (null === (t = r.data) || void 0 === t
                      ? void 0
                      : t.success) &&
                  (m(r.data.matches || []),
                  h(r.data.package_matches || []),
                  b(r.data.bundle_matches || []));
              } else m([]), h([]), b([]);
            }),
          [s],
        ),
        v = Object(r.useCallback)(
          (e) => {
            var t, n;
            const a =
              null ===
                (n =
                  null === (t = null == e ? void 0 : e.target) || void 0 === t
                    ? void 0
                    : t.value) || void 0 === n
                ? void 0
                : n.toLocaleLowerCase();
            if (a) {
              c(a);
              const e = 200;
              d.Schedule(e, () => f(a));
            } else c("");
          },
          [f, d],
        );
      let S;
      switch (s) {
        case 1:
          S = Object($.f)("#StoreAdmin_Search_Placeholder_package");
          break;
        case 2:
          S = Object($.f)("#StoreAdmin_Search_Placeholder_bundle");
          break;
        default:
          S = Object($.f)("#StoreAdmin_Search_Placeholder");
      }
      return i.a.createElement(
        "div",
        { className: zD.AppSearchInput },
        i.a.createElement(te.z, {
          type: "text",
          label: n,
          placeholder: S,
          onChange: v,
          value: l,
          bAlwaysShowClearAction: l.length > 0,
          focusOnMount: !0,
        }),
        i.a.createElement(
          "div",
          { className: zD.Results },
          Boolean((null == u ? void 0 : u.length) > 0) &&
            u.map((e) =>
              i.a.createElement(WD, {
                key: e.id,
                name: e.match,
                id: e.id,
                is_visible: !0,
                type: 0,
                fnSetItemID: (e) => {
                  m([]), t(e);
                },
              }),
            ),
          Boolean((null == p ? void 0 : p.length) > 0) &&
            p.map((e) =>
              i.a.createElement(WD, {
                key: e.packageid,
                name: e.name,
                id: e.packageid,
                type: 1,
                is_visible: e.is_visible,
                fnSetItemID: (e) => {
                  h([]), t(e);
                },
              }),
            ),
          Boolean((null == _ ? void 0 : _.length) > 0) &&
            _.map((e) =>
              i.a.createElement(WD, {
                key: e.bundleid,
                name: e.name,
                id: e.bundleid,
                type: 2,
                is_visible: e.is_visible,
                fnSetItemID: (e) => {
                  b([]), t(e);
                },
              }),
            ),
        ),
      );
    }
    function WD(e) {
      var t;
      const { name: n, id: a, type: r, is_visible: s, fnSetItemID: o } = e,
        [l] = Object(Wn.a)(a, r, { include_assets: !0 });
      let c = "#DailyDeals_HeaderArtMissing";
      switch (r) {
        case 1:
          c = "#DailyDeals_PackageHeaderArtMissing";
          break;
        case 2:
          c = "#DailyDeals_BundleHeaderArtMissing";
      }
      return i.a.createElement(
        "div",
        { className: zD.ResultRow, onClick: () => o(a) },
        i.a.createElement(
          "div",
          { className: Object(h.a)(zD.AvatarImageCtn, "AvatarImageCtn") },
          i.a.createElement("img", {
            src:
              null === (t = null == l ? void 0 : l.GetAssets()) || void 0 === t
                ? void 0
                : t.GetHeaderURL(),
            className: zD.AvatarImage,
            alt: Object($.f)(c),
          }),
        ),
        i.a.createElement(
          "div",
          { className: zD.GameName },
          Boolean(!s) && i.a.createElement("span", null, "(Not Visible) "),
          n,
        ),
      );
    }
    var HD = n("cCJ0"),
      VD = n("cvf5");
    function qD(e) {
      const t = Object(o.g)(
        "package_discount_to_batchload",
        "application_config",
      );
      return r.createElement(
        KD,
        { rgPackagesToLoad: t, size: "medium" },
        e.children,
      );
    }
    function KD(e) {
      const { rgPackagesToLoad: t } = e,
        n = vC(),
        [a, i] = r.useState(!0);
      return (
        r.useEffect(() => {
          const e = F.a.CancelToken.source();
          return (
            (null == t ? void 0 : t.length) > 0
              ? n(t).then(() => {
                  e.token.reason || i(!1);
                })
              : i(!1),
            () => e.cancel("unmounting WithPackagesDiscountLoaded")
          );
        }, [n, t]),
        a
          ? r.createElement(ee.a, {
              position: "center",
              string: Object($.f)("#Loading"),
              size: e.size,
            })
          : r.createElement(r.Fragment, null, e.children)
      );
    }
    function QD(e) {
      const { oDailyDeal: t } = e,
        n = CC(t.discount_event_id),
        a = RC(t.discount_event_id);
      let i = "?? %";
      if ((null == n ? void 0 : n.length) > 0) {
        let e = n[0].nDiscountPct,
          t = n[0].nDiscountPct;
        n.forEach((n) => {
          e > n.nDiscountPct && (e = n.nDiscountPct),
            t < n.nDiscountPct && (t = n.nDiscountPct);
        }),
          (i = e == t ? e + "%" : e + "% - " + t + "%");
      }
      return r.createElement(
        nt.a,
        null,
        r.createElement(
          Pt.d,
          {
            hoverProps: { direction: "left", style: { minWidth: "350px" } },
            hoverContent: r.createElement(YD, {
              rgPackagesDiscounts: n,
              oDiscountEvent: a,
            }),
            className: VD.HoverCtn,
          },
          r.createElement(
            "div",
            {
              className: Object(h.a)(
                VD.Pct,
                "?? %" == i ? VD.MissingDiscount : "",
              ),
            },
            i,
          ),
        ),
      );
    }
    function YD(e) {
      var t;
      const { rgPackagesDiscounts: n, oDiscountEvent: a, nBundleID: i } = e;
      return (
        Object(Wn.g)(
          (null == n ? void 0 : n.map((e) => e.packageID)) || [],
          {},
        ),
        r.createElement(
          "div",
          { className: VD.HoverObject },
          r.createElement(
            "div",
            { className: "DialogLabel" },
            Object($.f)("#DailyDeals_DiscountEvent"),
          ),
          Boolean(a)
            ? r.createElement(
                "div",
                { className: VD.HoverDetailsCtn },
                r.createElement(
                  "div",
                  { className: VD.DiscountEventName },
                  null == a ? void 0 : a.name,
                ),
                r.createElement(
                  "div",
                  { className: VD.DiscountDates },
                  Object($.k)(a.start_date),
                  " - ",
                  Object($.k)(a.end_date),
                ),
              )
            : r.createElement(
                "div",
                null,
                Object($.f)("#DailyDeals_NoDiscountEvent"),
              ),
          Boolean(a) &&
            r.createElement(
              r.Fragment,
              null,
              (null === (t = a.appids) || void 0 === t ? void 0 : t.length) > 0
                ? r.createElement(
                    "div",
                    { className: VD.DiscountedPackageList },
                    null == n
                      ? void 0
                      : n.map((e) =>
                          r.createElement(JD, {
                            key: "dis_" + e.nDiscountID + "_" + e.nDiscountID,
                            oDiscount: e,
                          }),
                        ),
                  )
                : r.createElement(
                    "div",
                    { className: Dl.a.WarningIconLayout },
                    Object($.f)("#DailyDeals_DiscountEvent_Incomplete"),
                  ),
            ),
          Boolean(i) && r.createElement(ZD, { oDiscountEvent: a, bundleid: i }),
        )
      );
    }
    function ZD(e) {
      const { oDiscountEvent: t, bundleid: n } = e,
        [a] = Object(Wn.c)(n, { include_basic_info: !0 }),
        { fnUpdateDiscountEventAppAndPublisherList: i } = {
          fnUpdateDiscountEventAppAndPublisherList:
            DC.Get().UpdateDiscountEventPublisherAndAppList,
        };
      return a
        ? r.createElement(
            te.e,
            {
              onClick: (e) => {
                i(t.id, t.publisherids || [], a.GetIncludedAppIDs());
              },
            },
            "Update Discount Event's permitted AppIDs from Bundle Definition",
          )
        : null;
    }
    function JD(e) {
      const { oDiscount: t } = e,
        [n] = Object(Wn.e)(t.packageID, {});
      return n
        ? r.createElement(
            "div",
            null,
            Object($.f)(
              "#DailyDeals_Package",
              n.GetName() + " (" + t.packageID + ")",
            ),
            "  @ ",
            t.nDiscountPct,
            "%",
          )
        : r.createElement(
            "div",
            null,
            Object($.f)("#DailyDeals_Package", t.packageID),
            " @ ",
            t.nDiscountPct,
            "%",
          );
    }
    function XD(e) {
      const { strDiscountEventID: t, nBundleID: n } = e,
        a = CC(t),
        i = RC(t);
      return r.createElement(YD, {
        rgPackagesDiscounts: a,
        oDiscountEvent: i,
        nBundleID: n,
      });
    }
    function $D(e) {
      const { oAppInfo: t } = e;
      if (t) {
        const e = t
          .GetAllPurchaseOptions()
          .filter((e) => Boolean(e.packageid))
          .map((e) => e.packageid);
        if ((null == e ? void 0 : e.length) > 0)
          return r.createElement(
            KD,
            { rgPackagesToLoad: e, size: "small" },
            r.createElement(eI, { rgPackageIDs: e }),
          );
      }
      return r.createElement(
        "div",
        null,
        Object($.f)("#DailyDeals_New_NoLastDiscount"),
      );
    }
    function eI(e) {
      const { rgPackageIDs: t } = e,
        { mostRecentDiscount: n, bLoading: a } = EC(t);
      return a
        ? null
        : n
          ? r.createElement(
              "div",
              null,
              Object($.f)(
                "#DailyDeals_New_LastDiscount",
                Object($.k)(n.rtStartDate),
                n.nDiscountPct,
              ),
            )
          : r.createElement(
              "div",
              null,
              Object($.f)("#DailyDeals_New_NoLastDiscount"),
            );
    }
    class tI {
      constructor() {
        (this.m_mapAppIDToPaymentPartners = new Map()),
          (this.m_mapAppIDToPromise = new Map()),
          (this.m_mapPackageIDToPaymentPartners = new Map()),
          (this.m_mapPackageIDToPromise = new Map()),
          (this.m_mapBundleIDToPaymentPartners = new Map()),
          (this.m_mapBundleIDToPromise = new Map());
      }
      GetInfoForApp(e) {
        return this.m_mapAppIDToPaymentPartners.get(e);
      }
      BHasInfoForApp(e) {
        return this.m_mapAppIDToPaymentPartners.has(e);
      }
      GetInfoForPackage(e) {
        return this.m_mapPackageIDToPaymentPartners.get(e);
      }
      BHasInfoForPackage(e) {
        return this.m_mapPackageIDToPaymentPartners.has(e);
      }
      GetInfoForBundle(e) {
        return this.m_mapBundleIDToPaymentPartners.get(e);
      }
      BHasInfoForBundle(e) {
        return this.m_mapBundleIDToPaymentPartners.has(e);
      }
      GetInfoForStoreItem(e, t) {
        switch (t) {
          case 0:
            return this.GetInfoForApp(e);
          case 1:
            return this.GetInfoForPackage(e);
          case 2:
            return this.GetInfoForBundle(e);
          default:
            return null;
        }
      }
      BHasInfoForStoreItem(e, t) {
        switch (t) {
          case 0:
            return this.BHasInfoForApp(e);
          case 1:
            return this.BHasInfoForPackage(e);
          case 2:
            return this.BHasInfoForBundle(e);
          default:
            return !1;
        }
      }
      LoadAppPartnerInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_mapAppIDToPromise.has(e) ||
              this.m_mapAppIDToPromise.set(
                e,
                this.InternalLoadAppPartnerInfo(e, null, null),
              ),
            this.m_mapAppIDToPromise.get(e)
          );
        });
      }
      LoadPackagePartnerInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_mapPackageIDToPromise.has(e) ||
              this.m_mapPackageIDToPromise.set(
                e,
                this.InternalLoadAppPartnerInfo(null, e, null),
              ),
            this.m_mapPackageIDToPromise.get(e)
          );
        });
      }
      LoadBundlePartnerInfo(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_mapBundleIDToPromise.has(e) ||
              this.m_mapBundleIDToPromise.set(
                e,
                this.InternalLoadAppPartnerInfo(null, null, e),
              ),
            this.m_mapBundleIDToPromise.get(e)
          );
        });
      }
      LoadStoreItemPartnerInfo(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          switch (t) {
            case 0:
              return this.LoadAppPartnerInfo(e);
            case 1:
              return this.LoadPackagePartnerInfo(e);
            case 2:
              return this.LoadBundlePartnerInfo(e);
            default:
              return null;
          }
        });
      }
      InternalLoadAppPartnerInfo(e, t, n) {
        var r;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const i = { appid: e, packageid: t, bundleid: n },
              s = o.c.PARTNER_BASE_URL + "promotion/dailydeals/ajaxgetpartner",
              l = yield F.a.get(s, { params: i, withCredentials: !0 });
            if (
              200 == (null == l ? void 0 : l.status) &&
              1 == (null === (r = l.data) || void 0 === r ? void 0 : r.success)
            )
              return e
                ? (this.m_mapAppIDToPaymentPartners.set(e, l.data.partnerinfo),
                  this.m_mapAppIDToPaymentPartners.get(e))
                : t
                  ? (this.m_mapPackageIDToPaymentPartners.set(
                      t,
                      l.data.partnerinfo,
                    ),
                    this.m_mapPackageIDToPaymentPartners.get(t))
                  : (this.m_mapBundleIDToPaymentPartners.set(
                      n,
                      l.data.partnerinfo,
                    ),
                    this.m_mapBundleIDToPaymentPartners.get(n));
            a = Object(me.a)(l);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CPartnerPaymentStore.LoadAppPartnerInfo failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          tI.s_Singleton ||
            ((tI.s_Singleton = new tI()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_DailyDealEditStore = tI.s_Singleton)),
          tI.s_Singleton
        );
      }
    }
    function nI(e, t) {
      const [n, a] = i.a.useState(tI.Get().GetInfoForStoreItem(e, t));
      return (
        i.a.useEffect(() => {
          (tI.Get().BHasInfoForStoreItem(e, t) && null != n) ||
            tI.Get().LoadStoreItemPartnerInfo(e, t).then(a);
        }, [e, t, n]),
        n
      );
    }
    function aI(e) {
      const {
          nStoreItemID: t,
          eStoreItemType: n,
          nPartnerID: a,
          setPartnerID: r,
        } = e,
        s = nI(t, n);
      if (
        (i.a.useEffect(() => {
          0 == a && (null == s ? void 0 : s.length) > 0 && r(s[0].partner_id);
        }, [a, s, r]),
        0 === (null == s ? void 0 : s.length))
      )
        return i.a.createElement(
          "div",
          null,
          "No owning partner for selected app. Cannot create discount event.",
        );
      if (!s || 0 == a)
        return i.a.createElement(ee.a, {
          size: "medium",
          position: "center",
          string: Object($.f)("#Loading"),
        });
      const l = new Map();
      return (
        s.forEach((e) => {
          l.has(e.partner_id) || l.set(e.partner_id, e);
        }),
        0 == l.size
          ? i.a.createElement(
              "div",
              null,
              "Error: Cannot determine partner associated with id ",
              t,
              " type ",
              n,
            )
          : 1 == l.size
            ? i.a.createElement(
                "div",
                { className: HD.AssociatedPartnerCtn },
                i.a.createElement(
                  "div",
                  { className: "DialogLabel" },
                  "Partner for Discount Event:",
                ),
                i.a.createElement(
                  "a",
                  {
                    href:
                      o.c.PARTNER_BASE_URL + "pub/publisher/" + s[0].partner_id,
                    target: "_blank",
                  },
                  s[0].name,
                  " (",
                  s[0].partner_id,
                  ")",
                ),
              )
            : i.a.createElement(
                "div",
                null,
                i.a.createElement(
                  "div",
                  null,
                  "Choose Partner for Discount Event:",
                ),
                i.a.createElement(
                  te.H,
                  { value: a, onChange: (e) => r(e) },
                  Array.from(l.values()).map((e) =>
                    i.a.createElement(
                      te.G,
                      { key: "partnerid" + e.partner_id, value: e.partner_id },
                      i.a.createElement(
                        "a",
                        {
                          href:
                            o.c.PARTNER_BASE_URL +
                            "pub/publisher/" +
                            e.partner_id,
                          target: "_blank",
                        },
                        e.name,
                        " (",
                        e.partner_id,
                        ")",
                      ),
                    ),
                  ),
                ),
              )
      );
    }
    function rI(e) {
      const { rtDay: t, closeModal: n } = e,
        [a, s] = i.a.useState(0),
        [l, c] = i.a.useState(0),
        [d] = Object(Wn.b)(a, {}),
        [u, m] = i.a.useState(void 0),
        [p, h] = i.a.useState(""),
        [_, g] = i.a.useState(!1),
        [b, f] = i.a.useState(void 0),
        { fnAddDailyDeal: v } = { fnAddDailyDeal: RD.Get().AddDailyDeal },
        { fnCreateDiscountEvent: S } = jC(),
        [y, E] = i.a.useState(!0),
        C = 0 == p.length || p.startsWith(o.c.STORE_BASE_URL),
        w = Object(r.useCallback)(
          (e, t, a, r) => {
            v(e, t, a, r).then((e) => {
              e ? n() : f(Object($.f)("#DailyDeals_New_Error"));
            });
          },
          [n, v],
        );
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#DailyDeals_CreateNew", Object($.k)(t)),
          bDisableBackgroundDismiss: !0,
          onOK: () => {
            const e = new Date(1e3 * t),
              n = new Date(e);
            n.setDate(n.getDate() + 2);
            const r = Math.floor(n.getTime() / 1e3),
              i = `Daily Deal - ${String(e.getUTCMonth() + 1).padStart(2, "0")}/${String(e.getUTCDate()).padStart(2, "0")}/${String(e.getUTCFullYear()).padStart(2, "0")} - ${d.GetName()}`;
            g(!0),
              y && 0 != l
                ? S(t, r, i, i, "#discount_desc_preset_daily", [l], [a])
                    .then((e) => w(u, t, p, e.id))
                    .catch((e) => {
                      f(
                        "Discount Event Creation Failed: " +
                          Object(me.a)(e).strErrorMsg,
                      );
                    })
                : w(u, t, p, null);
          },
          onCancel: n,
          bOKDisabled: !Boolean(a) || !Boolean(l) || !u || !C || _,
        },
        i.a.createElement(
          "div",
          { className: "DailyDealEditor" },
          Boolean(_ && !b) &&
            i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Saving"),
            }),
          i.a.createElement(UD, {
            strLabel: Object($.f)("#DailyDeals_New_SelectGame"),
            itemType: 0,
            fnSetItemID: (e) => {
              a != e && (m({ appid: e }), s(e), c(0));
            },
          }),
          Boolean(a) && i.a.createElement(iI, { id: a, itemType: 0 }),
          Boolean(a) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement(te.f, {
                label: "Create discount event",
                checked: y && 0 != l,
                onChange: E,
                disabled: 0 == l,
                tooltip:
                  "Uncheck the box to skip creating the discount event. You can create a discount event separately and associate with the daily deal. The discount event being present will let us find the package discount associated with the daily deal.",
              }),
              i.a.createElement(aI, {
                nStoreItemID: a,
                eStoreItemType: 0,
                nPartnerID: l,
                setPartnerID: c,
              }),
            ),
          Boolean(a) &&
            i.a.createElement(sI, {
              nAppID: a,
              oFeaturedItem: u,
              fnSetFeaturedItem: m,
            }),
          i.a.createElement(te.z, {
            type: "text",
            label: Object($.f)("#DailyDeals_New_LinkTo_Title"),
            tooltip: "URL must started with " + o.c.STORE_BASE_URL,
            placeholder: Object($.f)("#DailyDeals_New_LinkTo_Placeholder"),
            onChange: (e) => {
              var t;
              return h(
                (null === (t = null == e ? void 0 : e.currentTarget) ||
                void 0 === t
                  ? void 0
                  : t.value) || "",
              );
            },
          }),
          Boolean(_ && !b) &&
            i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Saving"),
            }),
          Boolean(b) &&
            i.a.createElement("div", { className: Ol.ErrorStyles }, b),
        ),
      );
    }
    function iI(e) {
      var t, n;
      const { id: a, itemType: r } = e,
        [s] = Object(Wn.a)(a, r, {
          include_assets: !0,
          include_all_purchase_options: !0,
        });
      let l = o.c.PARTNER_BASE_URL + "apps/landing/" + a;
      switch (r) {
        case 1:
          l = o.c.PARTNER_BASE_URL + "store/packagelanding/" + a;
          break;
        case 2:
          l = o.c.PARTNER_BASE_URL + "bundles/view/" + a;
      }
      return i.a.createElement(
        "div",
        { className: HD.DealCapCtn },
        i.a.createElement(
          "a",
          { href: null == s ? void 0 : s.GetStorePageURL(), target: "_blank" },
          i.a.createElement("img", {
            className: HD.DealCapImg,
            src: null == s ? void 0 : s.GetAssets().GetHeaderURL(),
          }),
        ),
        i.a.createElement(
          "div",
          { className: HD.DealNameCtn },
          i.a.createElement(
            "div",
            { className: HD.DealName },
            i.a.createElement(
              "a",
              { href: l, target: "_blank" },
              (null == s ? void 0 : s.GetName()) || a,
            ),
          ),
          i.a.createElement($D, { oAppInfo: s }),
          i.a.createElement(
            "div",
            null,
            Object($.f)(
              "#DailyDeals_New_CurrentPrice",
              Object(Ps.d)(
                null === (t = null == s ? void 0 : s.GetBestPurchaseOption()) ||
                  void 0 === t
                  ? void 0
                  : t.final_price_in_cents,
              )
                ? (
                    Number.parseInt(
                      s.GetBestPurchaseOption().final_price_in_cents,
                    ) / 100
                  ).toFixed(2)
                : "?? ",
            ),
          ),
          Boolean(
            null === (n = null == s ? void 0 : s.GetBestPurchaseOption()) ||
              void 0 === n
              ? void 0
              : n.discount_pct,
          ) &&
            i.a.createElement(
              "div",
              { className: HD.DiscountLiveWarning },
              Object($.f)(
                "#DailyDeals_New_WarningExistingDiscount",
                s.GetBestPurchaseOption().discount_pct,
              ),
            ),
        ),
      );
    }
    function sI(e) {
      var t;
      const { nAppID: n, oFeaturedItem: a, fnSetFeaturedItem: r } = e,
        [s] = Object(Wn.b)(n, { include_all_purchase_options: !0 });
      if (!s)
        return i.a.createElement(ee.a, {
          size: "small",
          position: "center",
          string: Object($.f)("#Loading"),
        });
      const o =
        null == s
          ? void 0
          : s
              .GetAllPurchaseOptions()
              .filter((e) => Boolean(e.packageid || e.bundleid));
      if ((null == o ? void 0 : o.length) > 1) {
        const e = new Array(),
          l = Object(On.q)({ appid: n });
        return (
          e.push(
            i.a.createElement(
              te.G,
              { value: l, key: l },
              i.a.createElement(
                "div",
                { className: zD.AvatarImageCtn },
                i.a.createElement("img", {
                  src:
                    null === (t = null == s ? void 0 : s.GetAssets()) ||
                    void 0 === t
                      ? void 0
                      : t.GetHeaderURL(),
                  className: zD.AvatarImage,
                  alt: Object($.f)("#DailyDeals_HeaderArtMissing", n),
                }),
              ),
              Object($.f)(
                "#DailyDeals_Featured_App",
                s.GetName() + " (" + s.GetID() + ")",
              ),
            ),
          ),
          o
            .filter((e) => !e.is_commercial_license)
            .forEach((t) => {
              e.push(
                i.a.createElement(oI, {
                  key: "key_" + t.packageid + "_" + t.bundleid,
                  purchaseOption: t,
                }),
              );
            }),
          i.a.createElement(
            "div",
            { className: HD.FeatureSelectCtn },
            i.a.createElement(
              "div",
              { className: "DialogLabel" },
              Object($.f)("#DailyDeals_Featured_title"),
            ),
            i.a.createElement(
              "div",
              null,
              Object($.f)("#DailyDeals_Featured_Desc"),
            ),
            i.a.createElement(
              te.H,
              { value: Object(On.q)(a), onChange: (e) => r(Object(On.o)(e)) },
              e,
            ),
          )
        );
      }
      return null;
    }
    function oI(e) {
      var t;
      const { purchaseOption: n } = e,
        a = Object(On.q)(n),
        r = n.packageid
          ? "#DailyDeals_Featured_Package"
          : "#DailyDeals_Featured_Bundle",
        s = Object(On.l)(void 0, n.packageid, n.bundleid),
        [o] = Object(Wn.a)(s.id, Object(On.m)(s.item_type), {
          include_assets: !0,
        });
      return i.a.createElement(
        te.G,
        { key: a, value: a },
        Boolean(o) &&
          i.a.createElement(
            "div",
            { className: zD.AvatarImageCtn },
            i.a.createElement("img", {
              src:
                null === (t = null == o ? void 0 : o.GetAssets()) ||
                void 0 === t
                  ? void 0
                  : t.GetHeaderURL(),
              className: zD.AvatarImage,
              alt: Object($.f)(
                "bundle" == s.item_type
                  ? "#DailyDeals_BundleHeaderArtMissing"
                  : "#DailyDeals_PackageHeaderArtMissing",
                s.id,
              ),
            }),
          ),
        i.a.createElement(
          "div",
          { className: HD.GameName },
          Object($.f)(
            r,
            n.purchase_option_name + " (" + (n.packageid || n.bundleid) + ")",
          ),
        ),
      );
    }
    function lI(e) {
      const { dealid: t, closeModal: n } = e,
        [a, i] = r.useState(!1),
        [s, o] = r.useState(void 0),
        l = AD(t),
        [c, d] = r.useState(l),
        [u] = kD(),
        m = Object(On.l)(c.appid, c.packageid, c.bundleid);
      return r.createElement(
        xe.e,
        {
          strTitle: "Update Featuring",
          bDisableBackgroundDismiss: !0,
          strOKButtonText: "Confirm and Save",
          onOK: () => {
            const e = Object.assign(
              Object.assign(Object.assign({}, l), {
                appid: void 0,
                bundleid: void 0,
                packageid: void 0,
              }),
              c,
            );
            i(!0),
              u(e).then((t) => {
                t
                  ? (BD.Get().InitDailyDealToEdit(e, !0), n())
                  : o("Failed to update featuring");
              });
          },
          onCancel: n,
          bOKDisabled: !c || a,
        },
        Boolean(a && !s) &&
          r.createElement(ee.a, {
            size: "medium",
            position: "center",
            string: Object($.f)("#Saving"),
          }),
        Boolean(s) && r.createElement("div", { className: Ol.ErrorStyles }, s),
        Boolean(!a && !s) &&
          r.createElement(cI, { oChoice: c, fnSetChoice: d }),
        r.createElement(iI, { id: m.id, itemType: Object(On.m)(m.item_type) }),
        Boolean(c.appid) &&
          r.createElement(sI, {
            nAppID: c.appid,
            oFeaturedItem: c,
            fnSetFeaturedItem: d,
          }),
      );
    }
    function cI(e) {
      const { oChoice: t, fnSetChoice: n } = e,
        a = [
          {
            name: "App",
            key: "app",
            contents: r.createElement(
              nt.a,
              null,
              r.createElement(UD, {
                strLabel: Object($.f)("#DailyDeals_New_SelectGame"),
                itemType: 0,
                fnSetItemID: (e) => {
                  (null == t ? void 0 : t.appid) != e && n({ appid: e });
                },
              }),
            ),
          },
          {
            name: "Package",
            key: "package",
            contents: r.createElement(
              nt.a,
              null,
              r.createElement(UD, {
                strLabel: Object($.f)("#DailyDeals_New_SelectPackage"),
                itemType: 1,
                fnSetItemID: (e) => {
                  (null == t ? void 0 : t.packageid) != e &&
                    n({ packageid: e });
                },
              }),
            ),
          },
          {
            name: "Bundle",
            key: "bundle",
            contents: r.createElement(
              nt.a,
              null,
              r.createElement(UD, {
                strLabel: Object($.f)("#DailyDeals_New_SelectBundle"),
                itemType: 2,
                fnSetItemID: (e) => {
                  (null == t ? void 0 : t.bundleid) != e && n({ bundleid: e });
                },
              }),
            ),
          },
        ];
      return r.createElement(Pf, {
        tabs: a,
        bDisableRouting: !0,
        startingTab: "app",
      });
    }
    function dI(e) {
      const t = OD(),
        n = t.BIsDirty();
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("div", null, "Debug Panel"),
        i.a.createElement("hr", null),
        i.a.createElement("div", null, "Is dirty?: ", n),
        i.a.createElement(Xf, { data: t.GetModel() }),
      );
    }
    var uI = n("xZ/t");
    function mI(e) {
      const [t] = DD(),
        n = OD();
      r.useEffect(
        () => (
          (window.onbeforeunload = () =>
            t() ? Object($.f)("#DailyDeals_UnsavedChanges") : null),
          () => {
            window.onbeforeunload = () => {};
          }
        ),
        [t],
      );
      return r.createElement(fa.a, {
        message: (e) =>
          !n ||
          !t() ||
          e.pathname == "promotion/" + nA.DailyDealEditor(n.GetDealID()) ||
          Object($.f)("#DailyDeals_UnsavedChanges"),
      });
    }
    class pI {
      constructor() {
        const e = Object(o.g)("categorystore", "application_config");
        if (e && Array.isArray(e)) {
          this.m_rgCategoryNames = [];
          for (const t of e) {
            const e = new Map();
            for (const n of Object.keys(t)) e.set(n, t[n]);
            this.m_rgCategoryNames.push(e);
          }
        }
      }
      BHasCategoryNames() {
        return Boolean(this.m_rgCategoryNames);
      }
      GetCategoryNames() {
        return this.m_rgCategoryNames;
      }
      static Get() {
        return (
          pI.s_singleton ||
            ((pI.s_singleton = new pI()),
            "dev" === o.c.WEB_UNIVERSE &&
              (window.g_ContentHubNamesStore = pI.s_singleton)),
          pI.s_singleton
        );
      }
    }
    function hI(e) {
      const { dealid: t } = e,
        n = AD(t),
        [a, i] = r.useState(!1);
      if (
        (r.useEffect(() => {
          n && (BD.Get().InitDailyDealToEdit(n), i(!0));
        }, [n, t]),
        !n)
      )
        return r.createElement(
          "div",
          null,
          r.createElement("div", null, Object($.f)("#DailyDeals_NotExist")),
          r.createElement(
            In.b,
            { to: nA.DailyDealDashboard() },
            Object($.f)("#DailyDeals_Dashboard"),
          ),
        );
      if (!a)
        return r.createElement(ee.a, {
          size: "medium",
          position: "center",
          string: Object($.f)("#Loading"),
        });
      const s = (e) =>
          window.sessionStorage.setItem("editorCurrentTab", `?tab=${e.key}`),
        l = [
          {
            name: "Editor Tab",
            key: "editor",
            contents: r.createElement(nt.a, null, r.createElement(_I, null)),
            onClick: s,
          },
          {
            name: "Debug Tab",
            key: "debug",
            contents: r.createElement(nt.a, null, r.createElement(dI, null)),
            onClick: s,
          },
        ];
      return r.createElement(
        "div",
        { className: my.a.AdminPageCtn },
        r.createElement(mI, null),
        r.createElement(
          "div",
          { className: uI.ButtonRow },
          r.createElement(
            In.b,
            {
              to:
                nA.DailyDealDashboard() +
                (window.sessionStorage.getItem("dailyDealPageIndex") || ""),
              className: my.a.DashLink,
            },
            r.createElement(H.c, { angle: 270 }),
            r.createElement("div", null, "Return to Daily Deal Dashboard"),
          ),
          r.createElement(
            "a",
            {
              href: o.c.PARTNER_BASE_URL + "promotion/planning/dashboard",
              className: my.a.DashLink,
            },
            r.createElement("div", null, "Go to Promotion Planning Dashboard"),
          ),
        ),
        r.createElement(Pf, { tabs: l }),
        r.createElement("div", { className: Fe.a.ClearThings }),
      );
    }
    function _I(e) {
      var t, n, a;
      const s = OD(),
        l = (function (e) {
          const t = RD.Get(),
            [n, a] = i.a.useState(t.GetDailyDealStartTime(e));
          return (
            Object(u.e)(t.GetCallbackForDailyDealID(e), () =>
              a(t.GetDailyDealStartTime(e)),
            ),
            n
          );
        })(s.GetDealID()),
        c = s.GetStoreItemKey(),
        [d] = Object(Wn.a)(c.id, Object(On.m)(c.item_type), {
          include_assets: !0,
          include_basic_info: !0,
        }),
        m = new URLSearchParams(),
        p = d ? d.GetName() : `type: ${c.item_type} id: ${c.id}`;
      return (
        m.set("name", p),
        m.set("dailydealid", s.GetDealID()),
        m.set("start", "" + l),
        r.createElement(
          "div",
          { className: uI.EditCtn },
          r.createElement(
            "div",
            { className: my.a.PageTitle },
            "Daily Deal ",
            r.createElement("span", null, "Edit Details"),
          ),
          r.createElement("hr", null),
          r.createElement(
            "div",
            { className: my.a.ColumnCtn },
            r.createElement(
              "div",
              { className: my.a.LeftCol },
              r.createElement(
                "div",
                { className: my.a.SectionCtn },
                r.createElement(te.C, null, "Start Date:"),
                r.createElement(
                  "div",
                  { className: uI.PromoTitle },
                  Object($.k)(
                    null ===
                      (n =
                        null === (t = s.GetModel()) || void 0 === t
                          ? void 0
                          : t.visibility) || void 0 === n
                      ? void 0
                      : n.startdate,
                  ),
                ),
                r.createElement(te.C, null, "Visibility:"),
                r.createElement(te.f, {
                  checked: s.BHidePrices(),
                  onChange: s.SetVisiblity,
                  label: "Hide Price",
                }),
                r.createElement(
                  "div",
                  { className: Fe.a.FlexRowContainer },
                  r.createElement(te.z, {
                    type: "Text",
                    label: "Discount Event ID",
                    onChange: (e) => {
                      var t;
                      return s.SetDiscountEventID(
                        (null === (t = null == e ? void 0 : e.currentTarget) ||
                        void 0 === t
                          ? void 0
                          : t.value) || "",
                      );
                    },
                    value: s.GetDiscountEventID(),
                  }),
                  Boolean(s.BHasDiscountEventID()) &&
                    r.createElement(
                      "div",
                      { className: uI.DiscountEventLinks },
                      r.createElement(
                        "a",
                        {
                          href:
                            o.c.PARTNER_BASE_URL +
                            "admin/editdiscountevent/" +
                            s.GetDiscountEventID(),
                          target: "_blank",
                        },
                        "Edit Discount Event",
                      ),
                      r.createElement(
                        "a",
                        {
                          href:
                            o.c.PARTNER_BASE_URL +
                            "admin/discounttaglookup?tag=" +
                            s.GetDiscountEventID(),
                          target: "_blank",
                        },
                        "Audit Packages for Discount Event",
                      ),
                    ),
                ),
                r.createElement(te.z, {
                  type: "Text",
                  label:
                    "Override URL (must point to the store or it will be ignored)",
                  onChange: (e) => {
                    var t;
                    return s.SetOverrideURL(
                      (null === (t = null == e ? void 0 : e.currentTarget) ||
                      void 0 === t
                        ? void 0
                        : t.value) || "",
                    );
                  },
                  placeholder: o.c.STORE_BASE_URL,
                  value: s.GetOverrideURL(),
                }),
                Boolean(s.BHasOverrideURL()) &&
                  r.createElement(
                    r.Fragment,
                    null,
                    Boolean(
                      (h = s.GetOverrideURL())
                        .trim()
                        .startsWith(o.c.STORE_BASE_URL) ||
                        h.trim().startsWith("https://store.steampowered.com") ||
                        h.trim().startsWith("https://steam.steamchina.com"),
                    )
                      ? r.createElement(
                          "a",
                          { href: s.GetOverrideURL(), target: "_blank" },
                          "Test URL",
                        )
                      : r.createElement(
                          "div",
                          null,
                          "Warning: Override URL must start steam store URL",
                        ),
                  ),
                r.createElement(te.z, {
                  type: "text",
                  label: "Admin Notes",
                  onChange: (e) => {
                    var t;
                    return s.SetNotes(
                      (null === (t = null == e ? void 0 : e.currentTarget) ||
                      void 0 === t
                        ? void 0
                        : t.value) || "",
                    );
                  },
                  value: s.GetNotes(),
                }),
              ),
              r.createElement(
                "div",
                { className: my.a.SectionCtn },
                r.createElement(XD, {
                  strDiscountEventID: s.GetDiscountEventID(),
                  nBundleID:
                    null === (a = s.GetModel()) || void 0 === a
                      ? void 0
                      : a.bundleid,
                }),
              ),
              r.createElement(
                "div",
                { className: my.a.SectionCtn },
                r.createElement(fI, { oEditableDailyDeal: s }),
              ),
              r.createElement(
                "div",
                { className: my.a.SectionCtn },
                r.createElement(gI, { oEditableDailyDeal: s }),
                "Note: deleting a deal here just deletes the Daily Deal visibility, not the underlying discount event, nor the discount itself.",
              ),
            ),
            r.createElement(
              "div",
              { className: my.a.RightCol },
              r.createElement(
                "div",
                { className: my.a.SectionCtn },
                d
                  ? r.createElement(
                      r.Fragment,
                      null,
                      r.createElement(te.C, null, "Association:"),
                      r.createElement(iI, {
                        id: c.id,
                        itemType: d.GetStoreItemType(),
                      }),
                    )
                  : p,
                r.createElement(
                  "div",
                  { className: uI.UpdateBtnCtn },
                  r.createElement(
                    te.e,
                    {
                      onClick: (e) =>
                        Object(ze.d)(
                          r.createElement(lI, { dealid: s.GetDealID() }),
                          Object(v.o)(e),
                        ),
                    },
                    "Change Selected Product",
                  ),
                ),
              ),
              r.createElement(
                "div",
                { className: my.a.SectionCtn },
                r.createElement(
                  "a",
                  {
                    href:
                      o.c.PARTNER_BASE_URL +
                      "public/downloadics.php?" +
                      m.toString(),
                  },
                  r.createElement("span", {
                    className: "iconLink icon_download icon_inline",
                  }),
                  "Download Calendar Reminder Event",
                ),
              ),
            ),
          ),
        )
      );
      var h;
    }
    function gI(e) {
      const { oEditableDailyDeal: t } = e,
        n = Object(zt.d)(() => t.BIsDirty());
      return r.createElement(
        "div",
        { className: uI.ButtonRow },
        r.createElement(
          te.F,
          {
            onClick: (e) =>
              Object(ze.d)(r.createElement(bI, null), Object(v.o)(e)),
          },
          Object($.f)(n ? "#Button_Save" : "#Button_Saved"),
        ),
        r.createElement("div", { className: uI.ButtonRowSpacer }),
        r.createElement(
          te.e,
          {
            onClick: (e) => {
              Object(ze.d)(
                r.createElement(EI, { oEditableDailyDeal: t }),
                Object(v.o)(e),
              );
            },
          },
          Object($.f)("#Button_Delete"),
        ),
        r.createElement(
          te.e,
          {
            disabled: !n,
            onClick: (e) =>
              Object(ze.d)(
                r.createElement(xe.e, {
                  strTitle: Object($.f)("#Dialog_AreYouSure"),
                  strDescription: Object($.f)("#DailyDeals_UnsavedChanges"),
                  onOK: () => t.RevertChanges(),
                }),
                Object(v.o)(e),
              ),
          },
          Object($.f)("#Button_Revert"),
        ),
      );
    }
    function bI(e) {
      const { closeModal: t } = e,
        n = OD(),
        [a] = kD(),
        [i, s] = r.useState(!0),
        [o, l] = r.useState(!1);
      return (
        r.useEffect(() => {
          a(n.GetModel())
            .then(l)
            .catch((e) => l(!1))
            .finally(() => s(!1));
        }, []),
        r.createElement(
          xe.e,
          { strTitle: "Saving", bAlertDialog: !0, closeModal: t },
          Boolean(i)
            ? r.createElement(ee.a, {
                size: "medium",
                position: "center",
                string: Object($.f)("#Saving"),
              })
            : Boolean(o)
              ? r.createElement("div", null, "Save successful")
              : r.createElement(
                  "div",
                  null,
                  "Save failed. Please try again later",
                ),
        )
      );
    }
    function fI(e) {
      const { oEditableDailyDeal: t } = e;
      return r.createElement(
        "div",
        { className: uI.LocationCtn },
        r.createElement(
          LD,
          {
            bStartMinimized: !0,
            title: "Show in Locations",
            tooltip:
              "Change the target location where the daily deal will surface. This is automatically populated on daily deal creation.",
          },
          r.createElement("hr", null),
          r.createElement("div", null, "Select all that apply"),
          r.createElement(yI, { oEditableDailyDeal: t }),
          CD.map((e) =>
            r.createElement(SI, {
              key: "dg" + e,
              oEditableDailyDeal: t,
              genreType: e,
            }),
          ),
          r.createElement(vI, { editableDailyDeal: t }),
          r.createElement("div", { className: uI.SectionHdr }, "Deal Pages"),
          r.createElement(
            "div",
            { className: uI.SectionCtn },
            r.createElement(te.f, {
              label: "Appropriate 'Under $n' page",
              checked: t.BHasHubTarget("underten"),
              className: uI.CheckBoxSize,
              onChange: (e) => t.AddRemoveHubTarget(e, "underten"),
            }),
            r.createElement(te.f, {
              label: "Cart page",
              checked: t.BHasHubTarget("cart"),
              className: uI.CheckBoxSize,
              onChange: (e) => t.AddRemoveHubTarget(e, "cart"),
            }),
            r.createElement(te.f, {
              label: "Special Hub",
              checked: t.BHasHubTarget("specials"),
              className: uI.CheckBoxSize,
              onChange: (e) => t.AddRemoveHubTarget(e, "specials"),
            }),
          ),
        ),
      );
    }
    function vI(e) {
      const { editableDailyDeal: t } = e,
        n = pI.Get().GetCategoryNames();
      return r.createElement(
        r.Fragment,
        null,
        r.createElement("div", { className: uI.SectionHdr }, "Category Hubs"),
        r.createElement(
          "div",
          { className: uI.SectionCtn },
          n.map((e, n) =>
            r.createElement(
              "div",
              { key: "group" + n, className: uI.GroupCtn },
              Array.from(e.keys()).map((n) =>
                r.createElement(te.f, {
                  key: "checkbox" + n,
                  className: uI.CheckBoxSize,
                  label: e.get(n),
                  checked: t.BHasCategoryTarget(n),
                  onChange: (e) => t.AddRemoveCategoryTarget(e, n),
                }),
              ),
              r.createElement("br", null),
              r.createElement("p", null),
            ),
          ),
        ),
      );
    }
    function SI(e) {
      const { oEditableDailyDeal: t, genreType: n } = e,
        a = wD.Get().GetGenreDefinitions();
      return r.createElement(
        r.Fragment,
        null,
        r.createElement("div", { className: uI.SectionHdr }, n, " Tag Pages"),
        r.createElement(
          "div",
          { className: uI.SectionCtn },
          a
            .filter((e) => e.type == n)
            .map((e) =>
              r.createElement(te.f, {
                key: "checkbox" + e.genreid,
                className: uI.CheckBoxSize,
                label: e.name,
                checked: t.BHasGenreTarget(e.genreid),
                onChange: (n) => t.AddRemoveGenreTarget(n, e.genreid),
              }),
            ),
        ),
      );
    }
    function yI(e) {
      const { oEditableDailyDeal: t } = e,
        n = t.GetHubTargets();
      return r.createElement(
        r.Fragment,
        null,
        r.createElement("div", { className: uI.SectionHdr }, "Main Pages"),
        r.createElement(
          "div",
          { className: uI.SectionCtn },
          SD.filter((e) => !yD.includes(e)).map((e) =>
            r.createElement(te.f, {
              key: "maincheckbox" + e,
              className: uI.CheckBoxSize,
              label: e + " hub",
              checked: n.includes(e),
              onChange: (n) => t.AddRemoveHubTarget(n, e),
            }),
          ),
        ),
      );
    }
    function EI(e) {
      const { oEditableDailyDeal: t, closeModal: n } = e,
        [a, i] = r.useState(!1),
        [s, l] = r.useState(void 0),
        [c, d] = kD(),
        [u, m] = FD(t.GetModel()),
        [p] = Object(Wn.a)(u, m, {
          include_basic_info: !0,
          include_assets: !0,
        });
      return r.createElement(
        xe.e,
        {
          strTitle: "Remove Daily Deal?",
          strDescription:
            "Are you sure you want to remove the daily deal for the following? This can't be undone, but a new one can be created if needed.  This will only delete the daily deal featuring; this has no effect on the discount event associated with the daily deal.",
          onCancel: n,
          onOK: () => {
            i(!0),
              d(t.GetDealID()).then((e) => {
                e
                  ? (window.location.href =
                      o.c.PARTNER_BASE_URL +
                      "promotion" +
                      nA.DailyDealDashboard())
                  : l("Failed To Delete, check console");
              });
          },
          bOKDisabled: a,
        },
        Boolean(p)
          ? r.createElement(
              "div",
              null,
              r.createElement("img", {
                src:
                  p.GetAssets().GetSmallCapsuleURL() ||
                  p.GetAssets().GetHeaderURL(),
              }),
              r.createElement(
                "span",
                null,
                "Name: ",
                p.GetName(),
                " (",
                p.GetID(),
                ")",
              ),
            )
          : r.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Loading"),
            }),
        Boolean(a && !s) &&
          r.createElement(ee.a, {
            size: "medium",
            position: "center",
            string: Object($.f)("#Deleting"),
          }),
        Boolean(s) && r.createElement("div", { className: Ol.ErrorStyles }, s),
      );
    }
    var CI = n("qaVR"),
      wI = n("xjhW");
    const BI = iu.Message;
    class OI extends BI {
      constructor(e = null) {
        super(),
          OI.prototype.promotion_id || su.a(OI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          OI.sm_m ||
            (OI.sm_m = {
              proto: OI,
              fields: {
                promotion_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                admin_jsondata: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                partner_jsondata: {
                  n: 3,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                input_jsondata: {
                  n: 4,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
                rtime32_start_time: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                rtime32_end_time: {
                  n: 6,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                partner_id: { n: 7, br: su.d.readUint32, bw: su.h.writeUint32 },
                input_access_key: {
                  n: 8,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          OI.sm_m
        );
      }
      static MBF() {
        return OI.sm_mbf || (OI.sm_mbf = su.e(OI.M())), OI.sm_mbf;
      }
      toObject(e = !1) {
        return OI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(OI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(OI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new OI();
        return OI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(OI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return OI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(OI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return OI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlan";
      }
    }
    class DI extends BI {
      constructor(e = null) {
        super(),
          DI.prototype.plan || su.a(DI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          DI.sm_m ||
            (DI.sm_m = { proto: DI, fields: { plan: { n: 1, c: OI } } }),
          DI.sm_m
        );
      }
      static MBF() {
        return DI.sm_mbf || (DI.sm_mbf = su.e(DI.M())), DI.sm_mbf;
      }
      toObject(e = !1) {
        return DI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(DI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(DI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new DI();
        return DI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(DI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return DI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(DI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return DI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_CreatePlan_Request";
      }
    }
    class II extends BI {
      constructor(e = null) {
        super(),
          II.prototype.promotion_id || su.a(II.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          II.sm_m ||
            (II.sm_m = {
              proto: II,
              fields: {
                promotion_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                input_access_key: {
                  n: 2,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          II.sm_m
        );
      }
      static MBF() {
        return II.sm_mbf || (II.sm_mbf = su.e(II.M())), II.sm_mbf;
      }
      toObject(e = !1) {
        return II.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(II.M(), e, t);
      }
      static fromObject(e) {
        return su.c(II.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new II();
        return II.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(II.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return II.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(II.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return II.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_CreatePlan_Response";
      }
    }
    class TI extends BI {
      constructor(e = null) {
        super(),
          TI.prototype.plan || su.a(TI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          TI.sm_m ||
            (TI.sm_m = { proto: TI, fields: { plan: { n: 1, c: OI } } }),
          TI.sm_m
        );
      }
      static MBF() {
        return TI.sm_mbf || (TI.sm_mbf = su.e(TI.M())), TI.sm_mbf;
      }
      toObject(e = !1) {
        return TI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(TI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(TI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new TI();
        return TI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(TI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return TI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(TI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return TI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_UpdatePlan_Request";
      }
    }
    class RI extends BI {
      constructor(e = null) {
        super(), BI.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return RI.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new RI();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new RI();
        return RI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return RI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return RI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_UpdatePlan_Response";
      }
    }
    class jI extends BI {
      constructor(e = null) {
        super(),
          jI.prototype.promotion_id || su.a(jI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          jI.sm_m ||
            (jI.sm_m = {
              proto: jI,
              fields: {
                promotion_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          jI.sm_m
        );
      }
      static MBF() {
        return jI.sm_mbf || (jI.sm_mbf = su.e(jI.M())), jI.sm_mbf;
      }
      toObject(e = !1) {
        return jI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(jI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(jI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new jI();
        return jI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(jI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return jI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(jI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return jI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_GetPlan_Request";
      }
    }
    class AI extends BI {
      constructor(e = null) {
        super(),
          AI.prototype.plan || su.a(AI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          AI.sm_m ||
            (AI.sm_m = { proto: AI, fields: { plan: { n: 1, c: OI } } }),
          AI.sm_m
        );
      }
      static MBF() {
        return AI.sm_mbf || (AI.sm_mbf = su.e(AI.M())), AI.sm_mbf;
      }
      toObject(e = !1) {
        return AI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(AI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(AI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new AI();
        return AI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(AI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return AI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(AI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return AI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_GetPlan_Response";
      }
    }
    class kI extends BI {
      constructor(e = null) {
        super(), BI.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return kI.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new kI();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new kI();
        return kI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return kI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return kI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_GetAllActivePlan_Request";
      }
    }
    class MI extends BI {
      constructor(e = null) {
        super(),
          MI.prototype.plan || su.a(MI.M()),
          BI.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          MI.sm_m ||
            (MI.sm_m = {
              proto: MI,
              fields: { plan: { n: 1, c: OI, r: !0, q: !0 } },
            }),
          MI.sm_m
        );
      }
      static MBF() {
        return MI.sm_mbf || (MI.sm_mbf = su.e(MI.M())), MI.sm_mbf;
      }
      toObject(e = !1) {
        return MI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(MI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(MI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new MI();
        return MI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(MI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return MI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(MI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return MI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_GetAllActivePlan_Response";
      }
    }
    class PI extends BI {
      constructor(e = null) {
        super(),
          PI.prototype.promotion_id || su.a(PI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          PI.sm_m ||
            (PI.sm_m = {
              proto: PI,
              fields: {
                promotion_id: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          PI.sm_m
        );
      }
      static MBF() {
        return PI.sm_mbf || (PI.sm_mbf = su.e(PI.M())), PI.sm_mbf;
      }
      toObject(e = !1) {
        return PI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(PI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(PI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new PI();
        return PI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(PI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return PI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(PI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return PI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_DeletePlan_Request";
      }
    }
    class LI extends BI {
      constructor(e = null) {
        super(), BI.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return LI.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new LI();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new LI();
        return LI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return LI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return LI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_DeletePlan_Response";
      }
    }
    class GI extends BI {
      constructor(e = null) {
        super(),
          GI.prototype.plan || su.a(GI.M()),
          BI.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          GI.sm_m ||
            (GI.sm_m = {
              proto: GI,
              fields: { plan: { n: 1, c: OI, r: !0, q: !0 } },
            }),
          GI.sm_m
        );
      }
      static MBF() {
        return GI.sm_mbf || (GI.sm_mbf = su.e(GI.M())), GI.sm_mbf;
      }
      toObject(e = !1) {
        return GI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(GI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(GI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new GI();
        return GI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(GI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return GI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(GI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return GI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_SearchPlan_Response";
      }
    }
    class NI extends BI {
      constructor(e = null) {
        super(),
          NI.prototype.plan || su.a(NI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          NI.sm_m ||
            (NI.sm_m = { proto: NI, fields: { plan: { n: 1, c: OI } } }),
          NI.sm_m
        );
      }
      static MBF() {
        return NI.sm_mbf || (NI.sm_mbf = su.e(NI.M())), NI.sm_mbf;
      }
      toObject(e = !1) {
        return NI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(NI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(NI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new NI();
        return NI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(NI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return NI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(NI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return NI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionPlanning_GetPlanByInputAccessKey_Response";
      }
    }
    class FI extends BI {
      constructor(e = null) {
        super(),
          FI.prototype.spotlight_due_date || su.a(FI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          FI.sm_m ||
            (FI.sm_m = {
              proto: FI,
              fields: {
                spotlight_due_date: {
                  n: 1,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                marketing_message_due_date: {
                  n: 2,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                discount_event_due_date: {
                  n: 3,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
              },
            }),
          FI.sm_m
        );
      }
      static MBF() {
        return FI.sm_mbf || (FI.sm_mbf = su.e(FI.M())), FI.sm_mbf;
      }
      toObject(e = !1) {
        return FI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(FI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(FI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new FI();
        return FI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(FI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return FI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(FI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return FI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionRequirements";
      }
    }
    class xI extends BI {
      constructor(e = null) {
        super(),
          xI.prototype.inviteid || su.a(xI.M()),
          BI.initialize(this, e, 0, -1, [16], null);
      }
      static M() {
        return (
          xI.sm_m ||
            (xI.sm_m = {
              proto: xI,
              fields: {
                inviteid: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
                appid: { n: 2, br: su.d.readUint32, bw: su.h.writeUint32 },
                invite_account: {
                  n: 3,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                rtinvitetime: {
                  n: 4,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                rtexpiretime: {
                  n: 5,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                type: { n: 6, br: su.d.readEnum, bw: su.h.writeEnum },
                accept_account: {
                  n: 7,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                rtaccepttime: {
                  n: 8,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                rtdatechosen: {
                  n: 9,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                discount_eventid: {
                  n: 10,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                packageid: { n: 11, br: su.d.readUint32, bw: su.h.writeUint32 },
                bundleid: { n: 12, br: su.d.readUint32, bw: su.h.writeUint32 },
                primary_partnerid: {
                  n: 13,
                  br: su.d.readUint32,
                  bw: su.h.writeUint32,
                },
                deadlines: { n: 14, c: FI },
                notify_partner: {
                  n: 15,
                  br: su.d.readBool,
                  bw: su.h.writeBool,
                },
                additional_email: {
                  n: 16,
                  r: !0,
                  q: !0,
                  br: su.d.readString,
                  bw: su.h.writeRepeatedString,
                },
                promotion_id: {
                  n: 17,
                  br: su.d.readString,
                  bw: su.h.writeString,
                },
              },
            }),
          xI.sm_m
        );
      }
      static MBF() {
        return xI.sm_mbf || (xI.sm_mbf = su.e(xI.M())), xI.sm_mbf;
      }
      toObject(e = !1) {
        return xI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(xI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(xI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new xI();
        return xI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(xI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return xI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(xI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return xI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionEventInvitation";
      }
    }
    class zI extends BI {
      constructor(e = null) {
        super(),
          zI.prototype.inviteid || su.a(zI.M()),
          BI.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          zI.sm_m ||
            (zI.sm_m = {
              proto: zI,
              fields: {
                inviteid: {
                  n: 1,
                  br: su.d.readFixed64String,
                  bw: su.h.writeFixed64String,
                },
              },
            }),
          zI.sm_m
        );
      }
      static MBF() {
        return zI.sm_mbf || (zI.sm_mbf = su.e(zI.M())), zI.sm_mbf;
      }
      toObject(e = !1) {
        return zI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(zI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(zI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new zI();
        return zI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(zI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return zI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(zI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return zI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionEventInvites_SetInvite_Response";
      }
    }
    class UI extends BI {
      constructor(e = null) {
        super(),
          UI.prototype.invites || su.a(UI.M()),
          BI.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          UI.sm_m ||
            (UI.sm_m = {
              proto: UI,
              fields: { invites: { n: 1, c: xI, r: !0, q: !0 } },
            }),
          UI.sm_m
        );
      }
      static MBF() {
        return UI.sm_mbf || (UI.sm_mbf = su.e(UI.M())), UI.sm_mbf;
      }
      toObject(e = !1) {
        return UI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(UI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(UI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new UI();
        return UI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(UI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return UI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(UI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return UI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionEventInvites_GetInvite_Response";
      }
    }
    class WI extends BI {
      constructor(e = null) {
        super(),
          WI.prototype.invites || su.a(WI.M()),
          BI.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          WI.sm_m ||
            (WI.sm_m = {
              proto: WI,
              fields: { invites: { n: 1, c: xI, r: !0, q: !0 } },
            }),
          WI.sm_m
        );
      }
      static MBF() {
        return WI.sm_mbf || (WI.sm_mbf = su.e(WI.M())), WI.sm_mbf;
      }
      toObject(e = !1) {
        return WI.toObject(e, this);
      }
      static toObject(e, t) {
        return su.g(WI.M(), e, t);
      }
      static fromObject(e) {
        return su.c(WI.M(), e);
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new WI();
        return WI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return su.b(WI.MBF(), e, t);
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return WI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        su.f(WI.M(), e, t);
      }
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return WI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionEventInvites_GetAllActiveInvites_Response";
      }
    }
    class HI extends BI {
      constructor(e = null) {
        super(), BI.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return HI.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new HI();
      }
      static deserializeBinary(e) {
        let t = new iu.BinaryReader(e),
          n = new HI();
        return HI.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new iu.BinaryWriter();
        return HI.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new iu.BinaryWriter();
        return HI.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPromotionEventInvites_ResendEmailInvite_Response";
      }
    }
    var VI, qI;
    !(function (e) {
      (e.CreatePlan = function (e, t) {
        return e.SendMsg("PromotionPlanning.CreatePlan#1", t, II, {
          ePrivilege: 1,
        });
      }),
        (e.CreateTentativePlan = function (e, t) {
          return e.SendMsg("PromotionPlanning.CreateTentativePlan#1", t, II, {
            ePrivilege: 1,
          });
        }),
        (e.UpdatePlan = function (e, t) {
          return e.SendMsg("PromotionPlanning.UpdatePlan#1", t, RI, {
            ePrivilege: 1,
          });
        }),
        (e.UpdatePlanPartnerInfo = function (e, t) {
          return e.SendMsg("PromotionPlanning.UpdatePlanPartnerInfo#1", t, RI, {
            ePrivilege: 1,
          });
        }),
        (e.UpdatePlanInputData = function (e, t) {
          return e.SendMsg("PromotionPlanning.UpdatePlanInputData#1", t, RI, {
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.DeletePlan = function (e, t) {
          return e.SendMsg("PromotionPlanning.DeletePlan#1", t, LI, {
            ePrivilege: 1,
          });
        }),
        (e.GetPlan = function (e, t) {
          return e.SendMsg("PromotionPlanning.GetPlan#1", t, AI, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetAllActivePlan = function (e, t) {
          return e.SendMsg("PromotionPlanning.GetAllActivePlan#1", t, MI, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.SearchPlan = function (e, t) {
          return e.SendMsg("PromotionPlanning.SearchPlan#1", t, GI, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetPlanByInputAccessKey = function (e, t) {
          return e.SendMsg(
            "PromotionPlanning.GetPlanByInputAccessKey#1",
            t,
            NI,
            { bConstMethod: !0, ePrivilege: 0, eWebAPIKeyRequirement: 1 },
          );
        });
    })(VI || (VI = {})),
      (function (e) {
        (e.SetInvite = function (e, t) {
          return e.SendMsg("PromotionEventInvites.SetInvite#1", t, zI, {
            ePrivilege: 4,
          });
        }),
          (e.GetInvite = function (e, t) {
            return e.SendMsg("PromotionEventInvites.GetInvite#1", t, UI, {
              bConstMethod: !0,
              ePrivilege: 11,
            });
          }),
          (e.GetAllActiveInvites = function (e, t) {
            return e.SendMsg(
              "PromotionEventInvites.GetAllActiveInvites#1",
              t,
              WI,
              { bConstMethod: !0, ePrivilege: 11 },
            );
          }),
          (e.ResendEmailInvite = function (e, t) {
            return e.SendMsg(
              "PromotionEventInvites.ResendEmailInvite#1",
              t,
              HI,
              { ePrivilege: 4 },
            );
          });
      })(qI || (qI = {}));
    class KI {
      constructor() {
        (this.m_mapInvites = new Map()),
          (this.m_mapInviteCallback = new Map()),
          (this.m_inviteAddRemoveCallback = new g.a());
      }
      GetAllInvites() {
        return Array.from(this.m_mapInvites.values());
      }
      GetInviteChangeCallback(e) {
        return (
          this.m_mapInviteCallback.has(e) ||
            this.m_mapInviteCallback.set(e, new g.a()),
          this.m_mapInviteCallback.get(e)
        );
      }
      GetInviteAddRemoveCallback() {
        return this.m_inviteAddRemoveCallback;
      }
      CreatePromoInvite(e, t, n) {
        var r;
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const i = new FormData();
            i.append("sessionid", o.c.SESSIONID),
              e.appid && i.append("nAppID", "" + e.appid),
              e.packageid && i.append("nPackageID", "" + e.packageid),
              e.bundleid && i.append("nBundleID", "" + e.bundleid),
              i.append("nPromoType", "" + n),
              i.append("nExpireyDays", "" + t);
            const s = o.c.PARTNER_BASE_URL + "dailydeals/ajaxinviteapptopromo",
              l = yield F.a.post(s, i, { withCredentials: !0 });
            if (
              200 == (null == l ? void 0 : l.status) &&
              1 ==
                (null === (r = l.data) || void 0 === r ? void 0 : r.success) &&
              l.data.inviteid
            ) {
              let n = Rc.a();
              const a = {
                inviteid: l.data.inviteid,
                invite_account: o.j.accountid,
                appid: e.appid,
                packageid: e.packageid,
                bundleid: e.bundleid,
                rtinvitetime: n,
                rtexpiretime: n + 24 * t * 60 * 60,
              };
              return (
                this.m_mapInvites.set(l.data.inviteid, a),
                this.m_inviteAddRemoveCallback.Dispatch(a),
                a
              );
            }
            a = Object(me.a)(l);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionInviteStore.CreatePromoInvite failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            null
          );
        });
      }
      RemoveInvite(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_mapInvites.has(e)) return !1;
          const n = this.m_mapInvites.get(e);
          let a = null;
          try {
            const r = new FormData();
            r.append("sessionid", o.c.SESSIONID),
              n.appid
                ? r.append("nAppID", "" + n.appid)
                : n.packageid
                  ? r.append("nPackageID", "" + n.packageid)
                  : n.bundleid && r.append("nBundleID", "" + n.bundleid),
              r.append("inviteid", "" + e);
            const i = o.c.PARTNER_BASE_URL + "dailydeals/ajaxremoveappinvite",
              s = yield F.a.post(i, r, { withCredentials: !0 });
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 == (null === (t = s.data) || void 0 === t ? void 0 : t.success)
            )
              return (
                this.m_mapInvites.delete(e),
                this.m_inviteAddRemoveCallback.Dispatch(n),
                !0
              );
            a = Object(me.a)(s);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionInviteStore.RemoveInvite failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      AcceptInvitation(e, t) {
        var n;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_mapInvites.has(e)) return !1;
          const a = this.m_mapInvites.get(e);
          let r = null;
          try {
            const i = new FormData();
            i.append("sessionid", o.c.SESSIONID),
              a.appid
                ? i.append("nAppID", "" + a.appid)
                : a.packageid
                  ? i.append("nPackageID", "" + a.packageid)
                  : a.bundleid && i.append("nBundleID", "" + a.bundleid),
              i.append("inviteid", "" + e),
              i.append("rtDateChosen", "" + t);
            const s = o.c.PARTNER_BASE_URL + "dailydeals/ajaxacceptinvite",
              l = yield F.a.post(s, i, { withCredentials: !0 });
            if (
              200 == (null == l ? void 0 : l.status) &&
              1 ==
                (null === (n = l.data) || void 0 === n ? void 0 : n.success) &&
              l.data.discount_eventid
            )
              return (
                this.m_mapInvites.delete(e),
                this.m_inviteAddRemoveCallback.Dispatch(a),
                !0
              );
            r = Object(me.a)(l);
          } catch (e) {
            r = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionInviteStore.AcceptInvitation failed: " +
                (null == r ? void 0 : r.strErrorMsg),
              r,
            ),
            !1
          );
        });
      }
      ResendInvitationEmail(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          if (!this.m_mapInvites.has(e)) return !1;
          const n = this.m_mapInvites.get(e);
          let a = null;
          try {
            const e = new FormData();
            e.append("sessionid", o.c.SESSIONID),
              n.appid
                ? e.append("nAppID", "" + n.appid)
                : n.packageid
                  ? e.append("nPackageID", "" + n.packageid)
                  : n.bundleid && e.append("nBundleID", "" + n.bundleid);
            const r =
                o.c.PARTNER_BASE_URL + "dailydeals/ajaxresendinvitationemail",
              i = yield F.a.post(r, e, { withCredentials: !0 });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 == (null === (t = i.data) || void 0 === t ? void 0 : t.success)
            )
              return !0;
            a = Object(me.a)(i);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionInviteStore.ResendInvitationEmail failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          KI.s_Singleton ||
            ((KI.s_Singleton = new KI()),
            KI.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PromoInviteStore = KI.s_Singleton)),
          KI.s_Singleton
        );
      }
      Init() {
        let e = Object(o.g)("promotioninvites", "application_config");
        this.ValidateStoreDefault(e) &&
          e.forEach((e) => this.m_mapInvites.set(e.inviteid, e));
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].inviteid && "number" == typeof t[0].appid &&
          "number" == typeof t[0].rtinvitetime
        );
      }
    }
    function QI() {
      const e = Object(u.f)();
      return (
        Object(u.e)(KI.Get().GetInviteAddRemoveCallback(), () => e()),
        KI.Get().GetAllInvites()
      );
    }
    Object(a.b)([Ul.a], KI.prototype, "CreatePromoInvite", null),
      Object(a.b)([Ul.a], KI.prototype, "RemoveInvite", null),
      Object(a.b)([Ul.a], KI.prototype, "AcceptInvitation", null),
      Object(a.b)([Ul.a], KI.prototype, "ResendInvitationEmail", null);
    var YI = n("G6+X"),
      ZI = n("KQV1");
    function JI(e) {
      const { closeModal: t } = e,
        [n, a] = r.useState({}),
        [i, s] = r.useState(90),
        o = KI.Get().CreatePromoInvite,
        [l, c] = r.useState(!1),
        [d, u] = r.useState(!1),
        [m, p] = r.useState(""),
        h = Object(On.l)(n.appid, n.packageid, n.bundleid);
      return r.createElement(
        xe.e,
        {
          strTitle: "Invite App",
          strDescription:
            "Search for a game to invite for a Daily Deal. Email Automation not ready, you will need to inform partner with Dashboard URL.",
          bOKDisabled: !(n.appid || n.bundleid || n.packageid) || l || d,
          onOK: () => {
            c(!0),
              o(n, i, 1)
                .then((e) => {
                  e || p("Failed to create invitation");
                })
                .catch((e) => p("Failed to create invitation"))
                .finally(() => u(!0));
          },
          onCancel: t,
        },
        r.createElement("br", null),
        d
          ? r.createElement(
              r.Fragment,
              null,
              m
                ? r.createElement("div", null, "Error: ", m)
                : r.createElement(
                    "div",
                    null,
                    "Invitation created. You can close dialog.",
                  ),
              " ",
            )
          : r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                { className: ZI.DialogCtn },
                Boolean(!l && !m) &&
                  r.createElement(cI, { oChoice: n, fnSetChoice: a }),
                Boolean(n.appid || n.bundleid || n.packageid) &&
                  r.createElement(iI, {
                    id: h.id,
                    itemType: Object(On.m)(h.item_type),
                  }),
              ),
              r.createElement(
                "div",
                { className: ZI.DialogCtn },
                r.createElement(te.z, {
                  value: i,
                  label:
                    "Number of days that the invite is valid for (default is 90)",
                  min: "1",
                  max: "360",
                  type: "number",
                  onChange: (e) => s(Number.parseInt(e.currentTarget.value)),
                }),
              ),
              r.createElement(XI, null),
              l && !d && r.createElement(ee.a, { size: "medium" }),
            ),
      );
    }
    function XI(e) {
      return r.createElement("div", null);
    }
    function $I(e) {
      const t = QI(),
        n = sO();
      return r.createElement(
        "div",
        { className: YI.InvitedAppsCtn },
        r.createElement(
          "div",
          { className: YI.InviteTitleCtn },
          Boolean(!n && o.j.is_support) &&
            r.createElement(
              "div",
              { className: YI.InviteBtnCtn },
              r.createElement(
                te.e,
                {
                  onClick: (e) =>
                    Object(ze.d)(r.createElement(JI, null), Object(v.o)(e)),
                },
                "Invite App/Package/Bundle",
              ),
            ),
        ),
        r.createElement(
          "div",
          { className: YI.InvitedAppsRowScrollCtn },
          r.createElement(
            "div",
            { className: YI.InvitedAppsRow },
            t.map((e) =>
              r.createElement(eT, { key: "promo_" + e.inviteid, promo: e }),
            ),
          ),
        ),
      );
    }
    function eT(e) {
      const { promo: t } = e,
        [n] = Object(Wn.b)(t.appid, { include_assets: !0 }),
        a = sO();
      if (!n)
        return r.createElement(ee.a, {
          string: Object($.f)("#Loading"),
          size: "small",
          position: "center",
        });
      const i = t.rtexpiretime - Bt.b.GetTimeNowWithOverride(),
        s = Math.round(i / Rc.g.PerDay);
      return r.createElement(
        "div",
        { className: YI.InvitedAppCtn },
        r.createElement("img", {
          src: n.GetAssets().GetHeaderURL(),
          alt: Object($.f)("#DailyDeals_HeaderArtMissing", t.appid),
        }),
        r.createElement(
          "div",
          { className: YI.InvitedAppInfo },
          r.createElement("div", { className: YI.AppName }, n.GetName()),
          Boolean(!a && o.j.is_support)
            ? r.createElement(
                r.Fragment,
                null,
                r.createElement("div", null, s, " days left"),
                r.createElement(
                  "div",
                  null,
                  "Expires: ",
                  Object($.k)(t.rtexpiretime),
                ),
              )
            : r.createElement(
                r.Fragment,
                null,
                r.createElement(
                  "div",
                  null,
                  Object($.f)("#DailyDeals_Partner_InviteDesc", s),
                ),
                r.createElement(
                  "div",
                  null,
                  Object($.f)(
                    "#DailyDeals_Partner_Expires",
                    Object($.k)(t.rtexpiretime),
                  ),
                ),
              ),
        ),
        Boolean(!a && o.j.is_support) &&
          r.createElement(
            "div",
            { className: YI.InviteAdminButtons },
            r.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(
                    r.createElement(tT, { promo: t }),
                    Object(v.o)(e),
                  ),
              },
              "Remove Invitation",
            ),
            r.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(
                    r.createElement(nT, { promo: t }),
                    Object(v.o)(e),
                  ),
              },
              "Resend Invitation Email",
            ),
          ),
      );
    }
    function tT(e) {
      const { promo: t, closeModal: n } = e,
        a = KI.Get().RemoveInvite,
        [i, s] = r.useState(!1),
        [o, l] = r.useState(!1),
        [c, d] = r.useState("");
      return r.createElement(
        xe.e,
        {
          strTitle: "Remove Promo Invitation",
          strDescription:
            "Are you sure you want to remove this invitation? Parnter will no longer be able to schedule this promotion",
          onCancel: n,
          bOKDisabled: i,
          onOK: () => {
            s(!0),
              a(t.inviteid)
                .then((e) => {
                  e ? l(!0) : d("Failed to remove invitation");
                })
                .catch(() => d("Failed to remove invitation "));
          },
        },
        o &&
          r.createElement(
            "div",
            null,
            "Invitation is now expired, safe to close dialog",
          ),
        Boolean(c) && r.createElement("div", null, c),
        i && !o && r.createElement(ee.a, { size: "medium" }),
      );
    }
    function nT(e) {
      const { promo: t, closeModal: n } = e,
        a = KI.Get().ResendInvitationEmail,
        [i, s] = r.useState(!1),
        [o, l] = r.useState(!1),
        [c, d] = r.useState("");
      return r.createElement(
        xe.e,
        {
          strTitle: "Resend Invitation Email",
          strDescription:
            "Are you sure you want to re-send this email? It will fire to the partner associated with the app to their user who opted in to receive communication",
          onCancel: n,
          bOKDisabled: i,
          onOK: () => {
            s(!0),
              a(t.inviteid)
                .then((e) => {
                  e ? l(!0) : d("Failed to resend invitation email");
                })
                .catch(() => d("Failed to resend invitation email"));
          },
        },
        o &&
          r.createElement(
            "div",
            null,
            "Email has fired. You can close this dialog",
          ),
        Boolean(c) && r.createElement("div", null, c),
        i && !o && r.createElement(ee.a, { size: "medium" }),
      );
    }
    function aT(e) {
      const t = QI(),
        { rtDay: n, closeModal: a } = e;
      return t && 0 != t.length
        ? 1 == t.length
          ? i.a.createElement(sT, { rtDay: n, closeModal: a, invite: t[0] })
          : i.a.createElement(rT, { rtDay: n, closeModal: a })
        : i.a.createElement(xe.g, {
            strDescription: Object($.f)("#DailyDeals_NoInvitation"),
            closeModal: a,
          });
    }
    function rT(e) {
      const { rtDay: t, closeModal: n } = e,
        a = QI(),
        [r, s] = i.a.useState(a[0].inviteid),
        o = a.findIndex((e) => e.inviteid == r);
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#DailyDeals_ChooseInvitation"),
          onOK: () => {
            Object(ze.d)(
              i.a.createElement(sT, { rtDay: t, invite: a[o] }),
              window,
            );
          },
          closeModal: n,
        },
        i.a.createElement(
          "div",
          { className: HD.SelectInvitedAppRow },
          i.a.createElement(
            "div",
            null,
            Object($.f)("#DailyDeals_ChooseInvitation_Desc"),
          ),
          i.a.createElement(
            te.H,
            { value: r, onChange: (e) => s(e) },
            a.map((e) =>
              i.a.createElement(
                te.G,
                { key: e.inviteid, value: e.inviteid },
                i.a.createElement(iT, { promo: e }),
              ),
            ),
          ),
        ),
      );
    }
    function iT(e) {
      const { promo: t } = e,
        [n] = Object(Wn.b)(t.appid, { include_assets: !0 });
      return n
        ? i.a.createElement(
            "div",
            null,
            i.a.createElement("img", {
              src: n.GetAssets().GetHeaderURL(),
              alt: Object($.f)("#DailyDeals_HeaderArtMissing", t.appid),
            }),
            i.a.createElement("div", null, n.GetName()),
          )
        : i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            size: "small",
            position: "center",
          });
    }
    function sT(e) {
      const { rtDay: t, closeModal: n, invite: a } = e,
        [r, s] = i.a.useState(new Array()),
        [o, l] = i.a.useState(0),
        [c, d] = i.a.useState({ appid: a.appid });
      return i.a.createElement(
        xe.e,
        {
          strTitle: Object($.f)("#DailyDeals_CreateNew", Object($.k)(t)),
          bDisableBackgroundDismiss: !0,
          onCancel: n,
          onOK: () => console.log("implement this now!"),
        },
        i.a.createElement(
          "div",
          null,
          i.a.createElement(iI, { id: a.appid, itemType: 0 }),
          i.a.createElement(oT, {
            nDiscountPercent: o,
            fnSetDiscountPercent: l,
            rgDiscountPackages: r,
            fnSetDiscountPackages: s,
            nAppID: a.appid,
          }),
          i.a.createElement(sI, {
            nAppID: a.appid,
            oFeaturedItem: c,
            fnSetFeaturedItem: d,
          }),
        ),
      );
    }
    function oT(e) {
      const {
          nDiscountPercent: t,
          fnSetDiscountPercent: n,
          rgDiscountPackages: a,
          fnSetDiscountPackages: r,
          nAppID: s,
        } = e,
        [o] = Object(Wn.b)(s, {
          include_assets: !0,
          include_all_purchase_options: !0,
        });
      if (!o)
        return i.a.createElement(ee.a, {
          size: "small",
          position: "center",
          string: Object($.f)("#Loading"),
        });
      const l = null == o ? void 0 : o.GetBestPurchaseOriginalPriceInCents();
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          { className: "DialogLabel" },
          Object($.f)("#DailyDeals_New_DiscountTitle"),
        ),
        i.a.createElement(
          "div",
          { className: HD.DiscountCtn },
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              "div",
              null,
              Object($.f)("#DailyDeals_New_DiscountDesc"),
            ),
            i.a.createElement(
              "div",
              { className: HD.DiscountInputCtn },
              i.a.createElement(te.z, {
                type: "number",
                min: "0",
                max: "99",
                value: t,
                onChange: (e) => {
                  var t;
                  return n(
                    Object(Ps.d)(
                      null === (t = null == e ? void 0 : e.currentTarget) ||
                        void 0 === t
                        ? void 0
                        : t.value,
                    )
                      ? Number.parseInt(e.currentTarget.value)
                      : 0,
                  );
                },
              }),
              i.a.createElement("span", null, "%"),
            ),
          ),
          i.a.createElement(
            "div",
            { className: HD.DiscountPreviewCtn },
            i.a.createElement(
              "div",
              null,
              Object($.f)("#DailyDeals_New_DiscountPreview"),
            ),
            Boolean(l && t) &&
              i.a.createElement(
                "div",
                { className: HD.DiscountPreview },
                i.a.createElement(
                  "div",
                  { className: HD.Percentage },
                  "-",
                  t,
                  "%",
                ),
                i.a.createElement(
                  "div",
                  { className: HD.DiscountPrices },
                  i.a.createElement(
                    "div",
                    { className: HD.NormalPrice },
                    (l / 100).toFixed(2),
                  ),
                  i.a.createElement(
                    "div",
                    { className: HD.DiscountedPrice },
                    ((l * ((100 - t) / 100)) / 100).toFixed(2),
                  ),
                ),
              ),
          ),
        ),
        Boolean(o) &&
          i.a.createElement(lT, {
            rgDiscountPackages: a,
            fnSetDiscountPackages: r,
            oAppInfo: o,
          }),
      );
    }
    function lT(e) {
      const {
          rgDiscountPackages: t,
          fnSetDiscountPackages: n,
          oAppInfo: a,
        } = e,
        r = a.GetAllPurchaseOptions().filter((e) => Boolean(e.packageid));
      return (null == r ? void 0 : r.length) <= 1
        ? null
        : i.a.createElement(
            "div",
            { className: HD.PackageSelectCtn },
            i.a.createElement(
              "div",
              { className: "DialogLabel" },
              Object($.f)("#DailyDeals_New_DiscountSelect"),
            ),
            r.map((e) =>
              i.a.createElement(te.f, {
                key: "package" + e.packageid,
                label: e.purchase_option_name + " (" + e.packageid + ")",
                checked: t.includes(e.packageid),
                onChange: (a) => {
                  if (a) n([...t, e.packageid]);
                  else {
                    const a = t.indexOf(e.packageid);
                    if (a) {
                      const e = t.slice(a, 1);
                      n(e);
                    }
                  }
                },
              }),
            ),
          );
    }
    var cT = n("vnDA");
    function dT(e) {
      const t = sO(),
        n = (function (e) {
          const t = new Date(1e3 * e);
          return xD((e -= Rc.g.PerDay * t.getUTCDay()));
        })(Bt.b.GetTimeNowWithOverride()),
        a = !t && o.j.is_support ? 1e3 : 4,
        i = n + Rc.g.PerWeek * a,
        [s, l] = Rr("page", 0),
        c = s < 0 ? 0 : s >= a ? a : s,
        [d, u] = r.useState(n + c * Rc.g.PerWeek * 4),
        m = new Array();
      for (let e = 0; e < 7; ++e) {
        const t = d + e * Rc.g.PerDay;
        m.push(
          r.createElement(uT, {
            key: "calcol" + t,
            rtDayOfFirstWeek: t,
            nDayOfTheWeek: e,
          }),
        );
      }
      const p = (e) => {
        const t = Math.floor((e - n) / (4 * Rc.g.PerWeek));
        window.sessionStorage.setItem("dailyDealPageIndex", `?page=${t}`),
          l(t),
          u(e);
      };
      return r.createElement(
        "div",
        { className: cT.CalendarGridCtn },
        r.createElement(
          "div",
          { className: cT.NavBar },
          r.createElement(
            "div",
            { className: cT.NavButtonLeftCtn },
            d > n &&
              r.createElement(
                te.e,
                {
                  className: cT.NavButton,
                  onClick: () => p(d - 4 * Rc.g.PerWeek),
                },
                r.createElement(wI.b, { direction: "left" }),
              ),
          ),
          r.createElement(
            "div",
            { className: cT.NavButtonRightCtn },
            d <= i &&
              r.createElement(
                te.e,
                {
                  className: cT.NavButton,
                  onClick: () => p(d + 4 * Rc.g.PerWeek),
                },
                r.createElement(wI.b, { direction: "right" }),
              ),
          ),
        ),
        r.createElement("div", { className: cT.CalendarGrid }, m),
      );
    }
    function uT(e) {
      const { rtDayOfFirstWeek: t, nDayOfTheWeek: n } = e,
        a = new Array();
      for (let e = 0; e < 4; ++e) {
        const n = xD(t + e * Rc.g.PerWeek);
        a.push(r.createElement(mT, { key: "calday" + n, rtDay: n }));
      }
      return r.createElement(
        "div",
        { className: cT.CalendarCol },
        r.createElement(
          "div",
          { className: cT.DayOfTheWeek },
          Object($.f)("#DailyDeals_Day_" + n),
        ),
        r.createElement(r.Fragment, null, a),
      );
    }
    function mT(e) {
      const { rtDay: t } = e,
        n = sO(),
        a = (function (e) {
          const [t, n] = i.a.useState(RD.Get().GetDailyDealByDay(e));
          return (
            Object(u.e)(RD.Get().GetCallbackForDailyDealByDayList(e), n), t
          );
        })(t),
        s = Bt.b.GetTimeNowWithOverride(),
        l = new Array(),
        c = t < s,
        d = Object($.q)(t),
        m = d == Object($.f)("#Time_Today");
      if (!c || (m && o.j.is_support))
        if (
          !n &&
          o.j.is_support &&
          1 == (null == a ? void 0 : a.length) &&
          TD(a[0])
        )
          l.push(
            r.createElement(_T, { key: "block_" + t, rtDay: t, bAdd: !1 }),
          );
        else {
          for (let e = a ? a.length : 0; e < 2; ++e)
            l.push(
              r.createElement(
                "div",
                {
                  key: "slot" + e,
                  className: Object(h.a)(cT.DailyDealCtn, cT.Available),
                },
                r.createElement(
                  te.e,
                  {
                    onClick: (e) => {
                      Object(ze.d)(
                        Boolean(!n && o.j.is_support)
                          ? r.createElement(rI, { rtDay: t })
                          : r.createElement(aT, { rtDay: t }),
                        Object(v.o)(e),
                      );
                    },
                  },
                  Object($.f)("#DailyDeals_Select"),
                ),
              ),
            );
          n ||
            !o.j.is_support ||
            (a && 0 != (null == a ? void 0 : a.length)) ||
            l.push(
              r.createElement(_T, { key: "block_" + t, rtDay: t, bAdd: !0 }),
            );
        }
      else
        m &&
          !n &&
          o.j.is_support &&
          1 == (null == a ? void 0 : a.length) &&
          TD(a[0]) &&
          l.push(
            r.createElement(_T, { key: "block_" + t, rtDay: t, bAdd: !1 }),
          );
      const p = Object($.q)(t, !1, !1);
      return r.createElement(
        "div",
        {
          className: Object(h.a)({
            [cT.DealSection]: !0,
            [cT.PastEntry]: c && !m,
            [cT.TodayEntry]: m,
            [cT.FutureEntry]: !c && !m,
          }),
        },
        r.createElement(
          "div",
          { className: cT.DayName },
          p,
          m ? " - " + d : "",
        ),
        null == a
          ? void 0
          : a.map((e) => r.createElement(pT, { key: e.id, oDailyDeal: e })),
        l,
      );
    }
    function pT(e) {
      const { oDailyDeal: t } = e;
      if (TD(t))
        return r.createElement(
          "div",
          { className: cT.Blocked },
          r.createElement(
            Qe.a,
            { toolTipContent: Object($.f)("#DailyDeals_Blackout_ttip") },
            Object($.f)(t.name),
          ),
        );
      const [n, a] = FD(t);
      return -1 == a
        ? r.createElement(
            "div",
            { className: Object(h.a)(cT.DailyDealCtn, cT.Reserved) },
            t.name,
          )
        : r.createElement(hT, { oDailyDeal: t });
    }
    function hT(e) {
      var t;
      const { oDailyDeal: n, bShowName: a } = e,
        [i, s] = FD(n),
        [o, l] = Object(Wn.a)(i, s, {
          include_basic_info: !0,
          include_assets: !0,
        });
      return o || 2 == l
        ? r.createElement(
            In.b,
            {
              to: nA.DailyDealEditor(n.id),
              className: Object(h.a)({ [cT.DailyDealCtn]: !0, [cT.Taken]: !0 }),
            },
            (null == o ? void 0 : o.GetAssets().GetHeaderURL())
              ? r.createElement("img", {
                  src: o.GetAssets().GetHeaderURL(),
                  className: cT.DailyDealImage,
                })
              : r.createElement(
                  "div",
                  { className: cT.DailyDealImageFallback },
                  2 == s
                    ? Object($.f)("#DailyDeals_Bundle")
                    : Object($.f)("#DailyDeals_ImageMissing"),
                ),
            Boolean(a) &&
              r.createElement(
                "div",
                null,
                (null == o ? void 0 : o.GetName()) || "unknown",
                " (",
                i,
                ")",
              ),
            r.createElement(
              "div",
              null,
              r.createElement(QD, { oDailyDeal: n }),
              Boolean(
                (null === (t = n.notes) || void 0 === t ? void 0 : t.length) >
                  0,
              ) &&
                r.createElement(
                  Qe.a,
                  { toolTipContent: n.notes },
                  r.createElement(
                    "div",
                    { className: cT.NotesIcon },
                    r.createElement(H.H, null),
                  ),
                ),
            ),
          )
        : r.createElement(
            "div",
            { className: cT.DailyDealCtn },
            r.createElement(ee.a, {
              size: "small",
              position: "center",
              string: `Loading ${i}-${s}`,
            }),
          );
    }
    function _T(e) {
      const { rtDay: t, bAdd: n } = e,
        a = RD.Get().SetBlackoutDate;
      return r.createElement(
        te.e,
        {
          onClick: (e) => {
            Object(ze.d)(
              r.createElement(xe.e, {
                strTitle: "Block out",
                onOK: () => a(t, n),
                strDescription:
                  "Are you sure you want to " +
                  (n ? "add" : "remove") +
                  " this block out date?  Block out prevents daily deals from being scheduled on this date: " +
                  Object($.k)(t),
              }),
              Object(v.o)(e),
            );
          },
        },
        r.createElement(
          Qe.a,
          {
            toolTipContent:
              "Block out days prevent users or Admin from registering daily deals",
          },
          n ? "Block out day (VO)" : "Remove Block out",
        ),
      );
    }
    function gT(e) {
      const [t, n] = r.useState(""),
        [i] = r.useState(new g.b()),
        [s, l] = r.useState(new Array()),
        [c, d] = r.useState(new Array()),
        u = jD(),
        { fnArchiveOldDailyDeals: m } = {
          fnArchiveOldDailyDeals: RD.Get().ArchiveOldDailyDeals,
        },
        [p, h] = r.useState(!1),
        _ = r.useCallback(
          (e) =>
            Object(a.a)(this, void 0, void 0, function* () {
              var t;
              h(!0);
              const n = { json: 1, search: e },
                a = `${o.c.PARTNER_BASE_URL}promotion/dailydeals/ajaxsearcharchives`,
                r = yield F.a.get(a, { params: n, withCredentials: !0 });
              200 == (null == r ? void 0 : r.status) &&
                1 ==
                  (null === (t = r.data) || void 0 === t
                    ? void 0
                    : t.success) &&
                l(r.data.matches);
              const i = e.toLocaleLowerCase().trim();
              d(
                u.filter((e) => {
                  var t;
                  return (
                    -1 !=
                    (
                      e.name.toLocaleLowerCase() +
                      "|" +
                      e.appid +
                      "|" +
                      e.bundleid +
                      "|" +
                      e.subid +
                      "|" +
                      (null === (t = e.notes) || void 0 === t
                        ? void 0
                        : t.toLocaleLowerCase())
                    ).indexOf(i)
                  );
                }),
              ),
                h(!1);
            }),
          [u],
        ),
        b = r.useCallback(
          (e) => {
            var t, a;
            const r =
              null ===
                (a =
                  null === (t = null == e ? void 0 : e.target) || void 0 === t
                    ? void 0
                    : t.value) || void 0 === a
                ? void 0
                : a.toLocaleLowerCase();
            if (r)
              if ((n(r), r.trim().length > 2)) {
                const e = 1e3;
                i.Schedule(e, () => _(r));
              } else i.Cancel();
          },
          [_, i],
        );
      return r.createElement(
        "div",
        { className: CI.SearchCtn },
        r.createElement(
          "div",
          null,
          "Search Upcoming and Archives Daily Deals",
        ),
        r.createElement("hr", null),
        r.createElement(te.z, {
          type: "text",
          label: "Search",
          placeholder: "Enter Name or ID (3 characters at least)",
          onChange: b,
        }),
        Boolean(p) &&
          r.createElement(ee.a, { size: "small", position: "center" }),
        Boolean(t && c.length > 0)
          ? r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                { className: "DialogLabel" },
                "Matching Live Results:",
              ),
              c.map((e) => r.createElement(fT, { oDailyDeal: e, key: e.id })),
            )
          : r.createElement(
              "div",
              { className: "DialogLabel" },
              "No matching results from current calendar",
            ),
        Boolean(t && s.length > 0)
          ? r.createElement(
              r.Fragment,
              null,
              r.createElement(
                "div",
                { className: "DialogLabel" },
                "Matching Archive Results:",
              ),
              s.map((e) => r.createElement(bT, { key: e.clusterid, match: e })),
            )
          : r.createElement(
              "div",
              { className: "DialogLabel" },
              "No matching results from the archive",
            ),
        r.createElement(te.e, { onClick: m }, "Archive Old Daily Deals"),
      );
    }
    function bT(e) {
      const { match: t } = e;
      return r.createElement(
        "div",
        { className: CI.ResultRow },
        r.createElement(
          "span",
          null,
          t.display_name ? t.display_name : t.clusterid,
        ),
        r.createElement("span", null, " - "),
        r.createElement("span", null, Object($.k)(t.start_date, !1)),
      );
    }
    function fT(e) {
      const { oDailyDeal: t } = e;
      return r.createElement(
        "div",
        { className: CI.ResultRow },
        r.createElement(hT, { oDailyDeal: t, bShowName: !0 }),
        r.createElement("span", null, " - "),
        r.createElement("span", null, Object($.k)(t.visibility.startdate, !1)),
      );
    }
    var vT = n("ncCn");
    function ST(e) {
      return r.createElement(
        r.Fragment,
        null,
        r.createElement(
          "div",
          { className: vT.InfoCtn },
          r.createElement(
            "div",
            { className: vT.Title },
            Object($.f)("#DailyDeals_Info_How"),
          ),
          r.createElement(
            "ol",
            null,
            r.createElement("li", null, Object($.f)("#DailyDeals_Info_How1")),
            r.createElement("li", null, Object($.f)("#DailyDeals_Info_How2")),
            r.createElement("li", null, Object($.f)("#DailyDeals_Info_How3")),
            r.createElement("li", null, Object($.f)("#DailyDeals_Info_How4")),
          ),
          r.createElement(
            "div",
            null,
            Object($.o)(
              "#DailyDeals_Info_Question",
              r.createElement(
                "a",
                {
                  href:
                    o.c.HELP_BASE_URL +
                    "en/wizard/HelpWithPublishing?issueid=919",
                },
                Object($.f)("#DailyDeals_Info_Contact"),
              ),
            ),
          ),
        ),
        r.createElement(
          "div",
          { className: vT.InfoCtn },
          r.createElement(
            "div",
            { className: vT.Title },
            Object($.f)("#DailyDeals_Info_Best"),
          ),
          r.createElement(
            "ul",
            null,
            r.createElement("li", null, Object($.f)("#DailyDeals_Info_Best1")),
            r.createElement("li", null, Object($.f)("#DailyDeals_Info_Best2")),
          ),
          r.createElement(
            "a",
            {
              href: o.c.PARTNER_BASE_URL + "doc/marketing/discounts/dailydeal/",
            },
            Object($.f)("#DailyDeals_Info_Best_ReadMore"),
          ),
        ),
      );
    }
    function yT(e) {
      return r.createElement(
        "div",
        { className: vT.InfoCtn },
        r.createElement(
          "div",
          { className: vT.Title },
          Object($.f)("#DailyDeals_Visibility"),
        ),
        Object($.f)("#DailyDeals_Visibility_Desc"),
        r.createElement("br", null),
        r.createElement("img", {
          className: vT.DDVisibilityExample,
          src: "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/steamworks_docs/english/DailyDealVisibilityExample.jpg",
          alt: "Daily Deal Example",
        }),
      );
    }
    var ET = n("5w3V");
    function CT(e) {
      const [t, n] = DD();
      return (
        i.a.useEffect(() => n(), [n]),
        i.a.createElement(
          "div",
          { className: my.a.AdminPageCtn },
          i.a.createElement(
            "div",
            { className: my.a.PageTitle },
            "Daily Deal Scheduler (VO)",
          ),
          i.a.createElement(
            "div",
            null,
            "This view is Valve-only. To see the view as a partner, simply append a partnerID to the end of the URL",
          ),
          i.a.createElement("hr", { className: "VO" }),
          i.a.createElement("div", null, "Outstanding invites"),
          i.a.createElement($I, null),
          i.a.createElement(
            iO.Provider,
            { value: null },
            i.a.createElement(dT, null),
          ),
          i.a.createElement(gT, null),
        )
      );
    }
    function wT(e) {
      const t = Number.parseInt(e.strPublisherID);
      return t
        ? i.a.createElement(
            "div",
            { className: Object(h.a)(my.a.AdminPageCtn, "Partner") },
            i.a.createElement(
              "div",
              { className: my.a.PageTitle },
              Object($.f)("#DailyDeals_Dashboard_Partner"),
            ),
            i.a.createElement("hr", null),
            i.a.createElement("div", null, "Your invited apps"),
            i.a.createElement(
              iO.Provider,
              { value: t },
              i.a.createElement($I, null),
            ),
            i.a.createElement(
              "div",
              { className: ET.InfoCtn },
              i.a.createElement(ST, null),
              i.a.createElement(yT, null),
            ),
            i.a.createElement("hr", null),
            i.a.createElement(
              iO.Provider,
              { value: t },
              i.a.createElement(dT, null),
            ),
          )
        : i.a.createElement(
            "div",
            null,
            Object($.f)("#DailyDeals_InvalidPartner"),
          );
    }
    const BT = [
        "midweek",
        "weekenddeal",
        "saleevent",
        "informational",
        "dailydeal",
        "vacation",
        "important",
        "preload",
      ],
      OT = new Set(BT),
      DT = new Map();
    DT.set("midweek", "Midweek Madness"),
      DT.set("weekenddeal", "Weekend Deal"),
      DT.set("saleevent", "Sale or Festival Events"),
      DT.set("informational", "Informational"),
      DT.set("dailydeal", "Daily Deals"),
      DT.set("vacation", "Vacation/PTO"),
      DT.set("important", "Important"),
      DT.set("preload", "Pre-load");
    const IT = new Map();
    IT.set("midweek", "#254069"),
      IT.set("weekenddeal", "#254069"),
      IT.set("saleevent", "#819c8a"),
      IT.set("informational", "#474747"),
      IT.set("dailydeal", "#80275D"),
      IT.set("vacation", "#474747"),
      IT.set("important", "#a1434c"),
      IT.set("preload", "#A47332");
    const TT = new Map();
    TT.set("midweek", "#discount_desc_preset_midweek"),
      TT.set("weekenddeal", "#discount_desc_preset_weekend"),
      TT.set("saleevent", "#discount_desc_preset_special"),
      TT.set("informational", "#discount_desc_limited_time_date"),
      TT.set("dailydeal", "#discount_desc_preset_daily"),
      TT.set("vacation", "#discount_desc_limited_time_date"),
      TT.set("important", "#discount_desc_limited_time_date"),
      TT.set("preload", "#discount_desc_limited_time_date");
    class RT {
      static GetSpotlightEditURL(e) {
        return o.c.PARTNER_BASE_URL + "admin/store/spotlight/" + e;
      }
      static GetMarketingMesssageEditURL(e) {
        return o.c.PARTNER_BASE_URL + "marketing/message/" + e;
      }
      static GetTakeoverEditURL(e) {
        return (
          o.c.PARTNER_BASE_URL + "admin/store/pageclusteredit/frontpage/" + e
        );
      }
      static GetContentHubTakeoverEditURL(e) {
        return o.c.PARTNER_BASE_URL + "admin/store/pageclusteredit/" + e;
      }
      static GetTakeunderEditURL(e) {
        return (
          o.c.PARTNER_BASE_URL + "admin/store/pageclusteredit/takeunder/" + e
        );
      }
      static GetMainCapsuleEditURL(e) {
        return (
          o.c.PARTNER_BASE_URL +
          "admin/store/pageclusteredit/frontpage/" +
          e +
          "?activetab=tab_capsules"
        );
      }
      static GetSteamChinaTakeoverEditURL(e) {
        return (
          o.c.PARTNER_BASE_URL +
          "admin/store/pageclusteredit/frontpage_china/" +
          e
        );
      }
      static GetOptInEditURL(e) {
        return o.c.PARTNER_BASE_URL + "optin/admin/edit/" + e;
      }
      static GetDiscountEditURL(e) {
        return o.c.PARTNER_BASE_URL + "admin/editdiscountevent/" + e;
      }
      static GetGiveawayEditURL(e) {
        return o.c.PARTNER_BASE_URL + "giveaways/control/" + e;
      }
      static GetSalePageClanEditURL(e, t) {
        const n = de.a.InitFromClanID(e);
        return (
          o.c.COMMUNITY_BASE_URL +
          "/gid/" +
          n.ConvertTo64BitString() +
          "/partnerevents/edit/" +
          t
        );
      }
      static GetAdvertingAppLandingURL(e) {
        return o.c.PARTNER_BASE_URL + "apps/landing/" + e;
      }
    }
    const jT = new Map();
    jT.set("midweek", {
      nMaxSlots: 6,
      rtStartModifier: 10 * Rc.g.PerHour,
      rtEndModifier: 3 * Rc.g.PerDay + 10 * Rc.g.PerHour,
      fnRenderWeekDisplayForSelection: (e, t) =>
        "Starting " +
        Object($.k)(e + 10800) +
        ": " +
        t +
        (1 == t ? " slot" : " slots"),
      rtDays: 3,
    }),
      jT.set("weekenddeal", {
        nMaxSlots: 6,
        rtStartModifier: 3 * Rc.g.PerDay + 10 * Rc.g.PerHour,
        rtEndModifier: 7 * Rc.g.PerDay + 10 * Rc.g.PerHour,
        fnRenderWeekDisplayForSelection: (e, t) =>
          "Starting " +
          Object($.k)(e + 259200 + 10800) +
          ": " +
          t +
          (1 == t ? " slot" : " slots"),
        rtDays: 4,
      });
    const AT = ["midweek", "weekenddeal"];
    new Set(AT);
    class kT {
      constructor(e, t) {
        (this.m_oInput = null),
          (this.m_originalInput = null),
          (this.m_bDirty = !1),
          (this.m_callback = new g.a()),
          this.Reset(e, t);
      }
      Reset(e, t) {
        (this.m_originalInput = JSON.parse(JSON.stringify(t))),
          (this.m_oInput = JSON.parse(JSON.stringify(t))),
          (this.m_bDirty = !1);
      }
      SaveSuccessClearDirty() {
        (this.m_originalInput = JSON.parse(JSON.stringify(this.m_oInput))),
          (this.m_bDirty = !1);
      }
      RevertChanges() {
        (this.m_oInput = JSON.parse(JSON.stringify(this.m_originalInput))),
          (this.m_bDirty = !1),
          this.m_callback.Dispatch(this);
      }
      Dispatch() {
        (this.m_bDirty = !0), this.m_callback.Dispatch(this);
      }
      GetInputPipeline() {
        return this.m_oInput;
      }
      BIsDirty() {
        return this.m_bDirty;
      }
      GetCallback() {
        return this.m_callback;
      }
      GetModel() {
        return this.m_oInput;
      }
      GetPlanID() {
        return this.m_planID;
      }
      BHasInputArtworkURLs(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oInput.input_artwork_urls) || void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oInput.input_artwork_urls[e])
          : null === (n = this.m_oInput.input_artwork_urls) || void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetInputArtworkURLs(e) {
        return this.m_oInput.input_artwork_urls
          ? this.m_oInput.input_artwork_urls[e]
          : null;
      }
      BHasReviewArtworkURLs(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oInput.review_artwork_urls) || void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oInput.review_artwork_urls[e])
          : null === (n = this.m_oInput.review_artwork_urls) || void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetReviewArtworkURLs(e) {
        return this.m_oInput.review_artwork_urls
          ? this.m_oInput.review_artwork_urls[e]
          : null;
      }
      AddInputArtworkURL(e) {
        this.m_oInput.input_artwork_urls ||
          (this.m_oInput.input_artwork_urls = []),
          this.m_oInput.input_artwork_urls.push(e);
      }
      SetInputArtworkURL(e, t) {
        this.m_oInput.input_artwork_urls
          ? this.m_oInput.input_artwork_urls[t] !== e &&
            ((this.m_oInput.input_artwork_urls[t] = e), this.Dispatch())
          : ((this.m_oInput.input_artwork_urls = [e]), this.Dispatch());
      }
      AddReviewArtworkURL(e) {
        this.m_oInput.review_artwork_urls ||
          (this.m_oInput.review_artwork_urls = []),
          this.m_oInput.review_artwork_urls.push(e);
      }
      SetReviewArtworkURL(e, t) {
        this.m_oInput.review_artwork_urls
          ? this.m_oInput.review_artwork_urls[t] !== e &&
            ((this.m_oInput.review_artwork_urls[t] = e), this.Dispatch())
          : ((this.m_oInput.review_artwork_urls = [e]), this.Dispatch());
      }
    }
    Object(a.b)([L.C], kT.prototype, "m_bDirty", void 0),
      Object(a.b)([u.b], kT.prototype, "RevertChanges", null),
      Object(a.b)([u.b], kT.prototype, "AddInputArtworkURL", null),
      Object(a.b)([u.b], kT.prototype, "SetInputArtworkURL", null),
      Object(a.b)([u.b], kT.prototype, "AddReviewArtworkURL", null),
      Object(a.b)([u.b], kT.prototype, "SetReviewArtworkURL", null);
    class MT {
      constructor() {
        this.m_model = null;
      }
      InitPromotionPlanToEdit(e, t, n = !1) {
        return (
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "(Dev Only) CPlanInputPipelineEditStore.InitPromotionPlanToEdit with model: " +
                Boolean(this.m_model),
              Object(L.I)(t),
            ),
          this.m_model
            ? (this.m_model.Reset(e, t),
              n && this.m_model.GetCallback().Dispatch(this.m_model))
            : (this.m_model = new kT(e, t)),
          this.m_model
        );
      }
      GetPromotionPlanToEdit() {
        return this.m_model;
      }
      ClearEditModel() {
        this.m_model = null;
      }
      static Get() {
        return (
          MT.s_Singleton ||
            ((MT.s_Singleton = new MT()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PromotionPlanInputPipelineEditStore = MT.s_Singleton)),
          MT.s_Singleton
        );
      }
    }
    function PT() {
      const e = Object(u.f)(),
        [t, n] = i.a.useState(MT.Get().GetPromotionPlanToEdit());
      return (
        Object(u.e)(null == t ? void 0 : t.GetCallback(), (t) => {
          n(t), e();
        }),
        t
      );
    }
    function LT() {
      return {
        fnBIsPlanInputPipelineDirty: i.a.useCallback(
          () =>
            !!MT.Get().GetPromotionPlanToEdit() &&
            MT.Get().GetPromotionPlanToEdit().BIsDirty(),
          [],
        ),
        fnResetDirtyPlanInputPipeline: i.a.useCallback(() => {
          MT.Get().ClearEditModel();
        }, []),
      };
    }
    class GT {
      constructor(e) {
        (this.m_oPromotionPlan = null),
          (this.m_originalPromotionPlan = null),
          (this.m_bDirty = !1),
          (this.m_callback = new g.a()),
          (this.m_storeItemKey = null),
          this.Reset(e);
      }
      Reset(e) {
        (this.m_originalPromotionPlan = JSON.parse(JSON.stringify(e))),
          (this.m_oPromotionPlan = JSON.parse(JSON.stringify(e))),
          (this.m_bDirty = !1),
          this.m_oPromotionPlan.store_item_id &&
            (this.m_storeItemKey = Object(On.g)(
              this.m_oPromotionPlan.store_item_id,
              this.m_oPromotionPlan.store_item_type,
            ));
      }
      SaveSuccessClearDirty() {
        (this.m_originalPromotionPlan = JSON.parse(
          JSON.stringify(this.m_oPromotionPlan),
        )),
          (this.m_bDirty = !1);
      }
      GetPlan() {
        return this.m_oPromotionPlan;
      }
      GetCreatorAccountID() {
        return this.m_oPromotionPlan.creator_account_id;
      }
      BIsDirty() {
        return this.m_bDirty;
      }
      GetCallback() {
        return this.m_callback;
      }
      GetID() {
        return this.m_oPromotionPlan.id;
      }
      GetModel() {
        return this.m_oPromotionPlan;
      }
      GetStartDate() {
        return this.m_oPromotionPlan.start_date;
      }
      GetEndDate() {
        return this.m_oPromotionPlan.end_date;
      }
      GetName() {
        return this.m_oPromotionPlan.name;
      }
      GetType() {
        return this.m_oPromotionPlan.type;
      }
      GetAdminNotes() {
        return this.m_oPromotionPlan.admin_notes;
      }
      BOnWatchList(e) {
        var t;
        return null === (t = this.m_oPromotionPlan.watch_list) || void 0 === t
          ? void 0
          : t.find((t) => t == e);
      }
      BHasFeaturedStoreItem() {
        return Boolean(this.m_oPromotionPlan.store_item_id);
      }
      GetStoreItemKey() {
        return this.m_storeItemKey;
      }
      GetFeaturedItemID() {
        return this.m_oPromotionPlan.store_item_id;
      }
      GetFeaturedItemType() {
        return this.m_oPromotionPlan.store_item_type;
      }
      BHasSpotlightIDs(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oPromotionPlan.spotlight_ids) || void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oPromotionPlan.spotlight_ids[e])
          : null === (n = this.m_oPromotionPlan.spotlight_ids) || void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetSpotlightIDs(e) {
        return this.m_oPromotionPlan.spotlight_ids
          ? this.m_oPromotionPlan.spotlight_ids[e]
          : null;
      }
      BHasMarketingMessages(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oPromotionPlan.marketing_message_ids) ||
          void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oPromotionPlan.marketing_message_ids[e])
          : null === (n = this.m_oPromotionPlan.marketing_message_ids) ||
              void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetMarketingMessageID(e) {
        return this.m_oPromotionPlan.marketing_message_ids
          ? this.m_oPromotionPlan.marketing_message_ids[e]
          : null;
      }
      BHasTakeoverIDs(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oPromotionPlan.takeover_ids) || void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oPromotionPlan.takeover_ids[e])
          : null === (n = this.m_oPromotionPlan.takeover_ids) || void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetTakeoverID(e) {
        return this.m_oPromotionPlan.takeover_ids
          ? this.m_oPromotionPlan.takeover_ids[e]
          : null;
      }
      BHasSteamChinaTakeoverID(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oPromotionPlan.steamchina_takeover_ids) ||
          void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oPromotionPlan.steamchina_takeover_ids[e])
          : null === (n = this.m_oPromotionPlan.steamchina_takeover_ids) ||
              void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetSteamChinaTakeoverID(e) {
        return this.m_oPromotionPlan.steamchina_takeover_ids
          ? this.m_oPromotionPlan.steamchina_takeover_ids[e]
          : null;
      }
      BHasTakeunderIDs(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oPromotionPlan.takeunder_ids) || void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oPromotionPlan.takeunder_ids[e])
          : null === (n = this.m_oPromotionPlan.takeunder_ids) || void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetTakeunderID(e) {
        return this.m_oPromotionPlan.takeunder_ids
          ? this.m_oPromotionPlan.takeunder_ids[e]
          : null;
      }
      BHasContentHubTakeoverIDs(e) {
        var t, n;
        return e >= 0 &&
          (null === (t = this.m_oPromotionPlan.contenthub_takeover_ids) ||
          void 0 === t
            ? void 0
            : t.length) > e
          ? Boolean(this.m_oPromotionPlan.contenthub_takeover_ids[e])
          : null === (n = this.m_oPromotionPlan.contenthub_takeover_ids) ||
              void 0 === n
            ? void 0
            : n.some(Boolean);
      }
      GetContentHubTakeoverID(e) {
        return this.m_oPromotionPlan.contenthub_takeover_ids
          ? this.m_oPromotionPlan.contenthub_takeover_ids[e]
          : null;
      }
      GetMainCapsuleID() {
        return this.m_oPromotionPlan.main_capsule_id;
      }
      BHasDiscountEventID() {
        return Boolean(this.m_oPromotionPlan.discount_event_id);
      }
      GetDiscountEventID() {
        return this.m_oPromotionPlan.discount_event_id;
      }
      GetOptInID() {
        return this.m_oPromotionPlan.opt_in_id;
      }
      GetAssociatedAssetURL() {
        return this.m_oPromotionPlan.associated_asset_url;
      }
      GetSaleClanEventGID() {
        return this.m_oPromotionPlan.sale_clan_event_gid;
      }
      GetSaleClanAccountID() {
        return this.m_oPromotionPlan.sale_clan_account;
      }
      BHasAssociatedSaleEvent() {
        return this.m_oPromotionPlan.sale_clan_account > 0;
      }
      GetSaleEditEventURL() {
        if (this.BHasAssociatedSaleEvent()) {
          const e = de.a.InitFromClanID(
            this.m_oPromotionPlan.sale_clan_account,
          );
          return (
            o.c.COMMUNITY_BASE_URL +
            "gid/" +
            e.ConvertTo64BitString() +
            "/partnerevents/edit/" +
            this.m_oPromotionPlan.sale_clan_event_gid +
            "?tab=sale"
          );
        }
        return "";
      }
      BHasAdvertisingAppID() {
        return Boolean(this.m_oPromotionPlan.advertising_appid);
      }
      GetAdvertisingAppID() {
        return this.m_oPromotionPlan.advertising_appid;
      }
      BHasInternalWikiURL() {
        return Boolean(this.m_oPromotionPlan.internal_wiki_url);
      }
      GetInternalWikiURL() {
        return this.m_oPromotionPlan.internal_wiki_url;
      }
      BIsReviewed() {
        return Boolean(this.m_oPromotionPlan.reviewed_by_account);
      }
      GetReviewedAccount() {
        return this.m_oPromotionPlan.reviewed_by_account;
      }
      GetReviewedTime() {
        return this.m_oPromotionPlan.reviewed_by_time;
      }
      BHasArtworkOwner() {
        return Boolean(this.m_oPromotionPlan.artwork_owner_account_id);
      }
      GetArtworkOwner() {
        return this.m_oPromotionPlan.artwork_owner_account_id;
      }
      BIsArtworkCompleted() {
        return Boolean(this.m_oPromotionPlan.artwork_completed_time);
      }
      GetArtworkCompleteTime() {
        return this.m_oPromotionPlan.artwork_completed_time;
      }
      SetArtworkOwnerAccountID(e) {
        this.m_oPromotionPlan.artwork_owner_account_id != e &&
          ((this.m_oPromotionPlan.artwork_owner_account_id = e),
          this.Dispatch());
      }
      SetArtworkCompleted(e) {
        this.m_oPromotionPlan.artwork_completed_time != e &&
          ((this.m_oPromotionPlan.artwork_completed_time = e), this.Dispatch());
      }
      SetReviewedAccountAndTime(e, t) {
        (this.m_oPromotionPlan.reviewed_by_account == e &&
          this.m_oPromotionPlan.reviewed_by_time == t) ||
          ((this.m_oPromotionPlan.reviewed_by_account = e),
          (this.m_oPromotionPlan.reviewed_by_time = t),
          this.Dispatch());
      }
      ClearReviewedStatus() {
        (Boolean(this.m_oPromotionPlan.reviewed_by_account) ||
          Boolean(this.m_oPromotionPlan.reviewed_by_time)) &&
          ((this.m_oPromotionPlan.reviewed_by_account = void 0),
          (this.m_oPromotionPlan.reviewed_by_time = void 0),
          this.Dispatch());
      }
      SetStartDate(e) {
        this.m_oPromotionPlan.start_date != e &&
          ((this.m_oPromotionPlan.start_date = e), this.Dispatch());
      }
      SetEndDate(e) {
        this.m_oPromotionPlan.end_date != e &&
          ((this.m_oPromotionPlan.end_date = e), this.Dispatch());
      }
      SetAssociatedAssetURL(e) {
        this.m_oPromotionPlan.associated_asset_url != e &&
          ((this.m_oPromotionPlan.associated_asset_url = e), this.Dispatch());
      }
      SetFeaturedStoreItem(e, t) {
        (this.m_oPromotionPlan.store_item_id == e &&
          this.m_oPromotionPlan.store_item_type == t) ||
          ((this.m_oPromotionPlan.store_item_id = e),
          (this.m_oPromotionPlan.store_item_type = t),
          (this.m_storeItemKey = Object(On.g)(
            this.m_oPromotionPlan.store_item_id,
            this.m_oPromotionPlan.store_item_type,
          )),
          this.Dispatch());
      }
      SetSaleEvent(e, t) {
        (this.m_oPromotionPlan.sale_clan_event_gid === e &&
          this.m_oPromotionPlan.sale_clan_account == t) ||
          ((this.m_oPromotionPlan.sale_clan_event_gid = e),
          (this.m_oPromotionPlan.sale_clan_account = t),
          this.Dispatch());
      }
      SetOptInID(e) {
        this.m_oPromotionPlan.opt_in_id !== e &&
          ((this.m_oPromotionPlan.opt_in_id = e), this.Dispatch());
      }
      SetDiscountEventID(e) {
        this.m_oPromotionPlan.discount_event_id !== e &&
          ((this.m_oPromotionPlan.discount_event_id = e), this.Dispatch());
      }
      SetMainCapsuleID(e) {
        this.m_oPromotionPlan.main_capsule_id !== e &&
          ((this.m_oPromotionPlan.main_capsule_id = e), this.Dispatch());
      }
      AddTakeUnderID(e) {
        this.m_oPromotionPlan.takeunder_ids ||
          (this.m_oPromotionPlan.takeunder_ids = []),
          this.m_oPromotionPlan.takeover_ids.push(e),
          this.Dispatch();
      }
      SetTakeunderID(e, t) {
        this.m_oPromotionPlan.takeunder_ids
          ? this.m_oPromotionPlan.takeunder_ids[t] !== e &&
            ((this.m_oPromotionPlan.takeunder_ids[t] = e), this.Dispatch())
          : ((this.m_oPromotionPlan.takeunder_ids = [e]), this.Dispatch());
      }
      AddContentHubTakeoverID(e) {
        this.m_oPromotionPlan.contenthub_takeover_ids ||
          (this.m_oPromotionPlan.contenthub_takeover_ids = []),
          this.m_oPromotionPlan.takeover_ids.push(e),
          this.Dispatch();
      }
      SetContentHubTakeoverID(e, t) {
        this.m_oPromotionPlan.contenthub_takeover_ids
          ? this.m_oPromotionPlan.contenthub_takeover_ids[t] !== e &&
            ((this.m_oPromotionPlan.contenthub_takeover_ids[t] = e),
            this.Dispatch())
          : ((this.m_oPromotionPlan.contenthub_takeover_ids = [e]),
            this.Dispatch());
      }
      AddSteamChinaTakeoverID(e) {
        this.m_oPromotionPlan.steamchina_takeover_ids ||
          (this.m_oPromotionPlan.steamchina_takeover_ids = []),
          this.m_oPromotionPlan.steamchina_takeover_ids.push(e),
          this.Dispatch();
      }
      SetSteamChinaTakeoverID(e, t) {
        this.m_oPromotionPlan.steamchina_takeover_ids
          ? this.m_oPromotionPlan.steamchina_takeover_ids[t] !== e &&
            ((this.m_oPromotionPlan.steamchina_takeover_ids[t] = e),
            this.Dispatch())
          : ((this.m_oPromotionPlan.steamchina_takeover_ids = [e]),
            this.Dispatch());
      }
      AddTakeoverID(e) {
        this.m_oPromotionPlan.takeover_ids ||
          (this.m_oPromotionPlan.takeover_ids = []),
          this.m_oPromotionPlan.takeover_ids.push(e),
          this.Dispatch();
      }
      SetTakeoverID(e, t) {
        this.m_oPromotionPlan.takeover_ids
          ? this.m_oPromotionPlan.takeover_ids[t] !== e &&
            ((this.m_oPromotionPlan.takeover_ids[t] = e), this.Dispatch())
          : ((this.m_oPromotionPlan.takeover_ids = [e]), this.Dispatch());
      }
      AddMarketingMessageID(e) {
        this.m_oPromotionPlan.marketing_message_ids ||
          (this.m_oPromotionPlan.marketing_message_ids = []),
          this.m_oPromotionPlan.marketing_message_ids.push(e),
          this.Dispatch();
      }
      SetMarketingMessageID(e, t) {
        this.m_oPromotionPlan.marketing_message_ids
          ? this.m_oPromotionPlan.marketing_message_ids[t] !== e &&
            ((this.m_oPromotionPlan.marketing_message_ids[t] = e),
            this.Dispatch())
          : ((this.m_oPromotionPlan.marketing_message_ids = [e]),
            this.Dispatch());
      }
      AddSpotlightID(e) {
        this.m_oPromotionPlan.spotlight_ids ||
          (this.m_oPromotionPlan.spotlight_ids = []),
          this.m_oPromotionPlan.spotlight_ids.push(e);
      }
      SetSpotlightID(e, t) {
        this.m_oPromotionPlan.spotlight_ids
          ? this.m_oPromotionPlan.spotlight_ids[t] !== e &&
            ((this.m_oPromotionPlan.spotlight_ids[t] = e), this.Dispatch())
          : ((this.m_oPromotionPlan.spotlight_ids = [e]), this.Dispatch());
      }
      SetName(e) {
        this.m_oPromotionPlan.name !== e &&
          ((this.m_oPromotionPlan.name = e), this.Dispatch());
      }
      SetType(e) {
        this.m_oPromotionPlan.type !== e &&
          ((this.m_oPromotionPlan.type = e), this.Dispatch());
      }
      SetAdminNote(e) {
        this.m_oPromotionPlan.admin_notes !== e &&
          ((this.m_oPromotionPlan.admin_notes = e), this.Dispatch());
      }
      SetAdvertisingAppID(e) {
        this.m_oPromotionPlan.advertising_appid !== e &&
          ((this.m_oPromotionPlan.advertising_appid = e), this.Dispatch());
      }
      SetAdvertisingAppIDFromString(e) {
        const t = Number.parseInt(e);
        this.m_oPromotionPlan.advertising_appid !== t &&
          ((this.m_oPromotionPlan.advertising_appid = t), this.Dispatch());
      }
      SetInternalWikiURL(e) {
        this.m_oPromotionPlan.internal_wiki_url !== e &&
          ((this.m_oPromotionPlan.internal_wiki_url = e), this.Dispatch());
      }
      AddToWatchList(e) {
        this.BOnWatchList(e) ||
          (this.m_oPromotionPlan.watch_list ||
            (this.m_oPromotionPlan.watch_list = []),
          this.m_oPromotionPlan.watch_list.push(e),
          this.Dispatch());
      }
      RemoveFromWatchList(e) {
        if (this.BOnWatchList(e)) {
          const t = this.m_oPromotionPlan.watch_list.findIndex((t) => t == e);
          this.m_oPromotionPlan.watch_list.splice(t, 1), this.Dispatch();
        }
      }
      RevertChanges() {
        (this.m_oPromotionPlan = JSON.parse(
          JSON.stringify(this.m_originalPromotionPlan),
        )),
          (this.m_bDirty = !1),
          this.m_callback.Dispatch(this);
      }
      Dispatch() {
        (this.m_bDirty = !0), this.m_callback.Dispatch(this);
      }
    }
    Object(a.b)([L.C], GT.prototype, "m_bDirty", void 0),
      Object(a.b)([u.b], GT.prototype, "SetArtworkOwnerAccountID", null),
      Object(a.b)([u.b], GT.prototype, "SetArtworkCompleted", null),
      Object(a.b)([u.b], GT.prototype, "SetReviewedAccountAndTime", null),
      Object(a.b)([u.b], GT.prototype, "ClearReviewedStatus", null),
      Object(a.b)([u.b], GT.prototype, "SetStartDate", null),
      Object(a.b)([u.b], GT.prototype, "SetEndDate", null),
      Object(a.b)([u.b], GT.prototype, "SetAssociatedAssetURL", null),
      Object(a.b)([u.b], GT.prototype, "SetFeaturedStoreItem", null),
      Object(a.b)([u.b], GT.prototype, "SetSaleEvent", null),
      Object(a.b)([u.b], GT.prototype, "SetOptInID", null),
      Object(a.b)([u.b], GT.prototype, "SetDiscountEventID", null),
      Object(a.b)([u.b], GT.prototype, "SetMainCapsuleID", null),
      Object(a.b)([u.b], GT.prototype, "AddTakeUnderID", null),
      Object(a.b)([u.b], GT.prototype, "SetTakeunderID", null),
      Object(a.b)([u.b], GT.prototype, "AddContentHubTakeoverID", null),
      Object(a.b)([u.b], GT.prototype, "SetContentHubTakeoverID", null),
      Object(a.b)([u.b], GT.prototype, "AddSteamChinaTakeoverID", null),
      Object(a.b)([u.b], GT.prototype, "SetSteamChinaTakeoverID", null),
      Object(a.b)([u.b], GT.prototype, "AddTakeoverID", null),
      Object(a.b)([u.b], GT.prototype, "SetTakeoverID", null),
      Object(a.b)([u.b], GT.prototype, "AddMarketingMessageID", null),
      Object(a.b)([u.b], GT.prototype, "SetMarketingMessageID", null),
      Object(a.b)([u.b], GT.prototype, "AddSpotlightID", null),
      Object(a.b)([u.b], GT.prototype, "SetSpotlightID", null),
      Object(a.b)([u.b], GT.prototype, "SetName", null),
      Object(a.b)([u.b], GT.prototype, "SetType", null),
      Object(a.b)([u.b], GT.prototype, "SetAdminNote", null),
      Object(a.b)([u.b], GT.prototype, "SetAdvertisingAppID", null),
      Object(a.b)([u.b], GT.prototype, "SetAdvertisingAppIDFromString", null),
      Object(a.b)([u.b], GT.prototype, "SetInternalWikiURL", null),
      Object(a.b)([u.b], GT.prototype, "AddToWatchList", null),
      Object(a.b)([u.b], GT.prototype, "RemoveFromWatchList", null),
      Object(a.b)([u.b], GT.prototype, "RevertChanges", null);
    class NT {
      constructor() {
        this.m_model = null;
      }
      InitPromotionPlanToEdit(e, t = !1) {
        return (
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "(Dev Only) CPromotionPlanEditStore.InitPromotionPlanToEdit with model: " +
                Boolean(this.m_model),
              Object(L.I)(e),
            ),
          this.m_model
            ? (this.m_model.Reset(e),
              t && this.m_model.GetCallback().Dispatch(this.m_model))
            : (this.m_model = new GT(e)),
          this.m_model
        );
      }
      GetPromotionPlanToEdit() {
        return this.m_model;
      }
      ClearEditModel() {
        this.m_model = null;
      }
      static Get() {
        return (
          NT.s_Singleton ||
            ((NT.s_Singleton = new NT()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PromotionPlanEditStore = NT.s_Singleton)),
          NT.s_Singleton
        );
      }
    }
    function FT() {
      const e = Object(u.f)(),
        [t, n] = i.a.useState(NT.Get().GetPromotionPlanToEdit());
      return (
        Object(u.e)(null == t ? void 0 : t.GetCallback(), (t) => {
          n(t), e();
        }),
        t
      );
    }
    function xT() {
      return {
        fnBIsPlanDirty: i.a.useCallback(
          () =>
            !!NT.Get().GetPromotionPlanToEdit() &&
            NT.Get().GetPromotionPlanToEdit().BIsDirty(),
          [],
        ),
        fnResetDirtyPlan: i.a.useCallback(() => {
          NT.Get().ClearEditModel();
        }, []),
      };
    }
    class zT {
      constructor() {
        (this.m_mapPlans = new Map()),
          (this.m_mapPlanByAccessKey = new Map()),
          (this.m_rgActivePlanIDs = new Array()),
          (this.m_promiseLoadAllActivePlans = null),
          (this.m_promiseMapIndividualLoads = new Map()),
          (this.m_listChangeCallback = new g.a()),
          (this.m_planChangeCallback = new Map()),
          (this.m_planInputPipelineChangeCallback = new Map()),
          (this.m_SteamInterface = null);
      }
      GetAllPlans() {
        return Array.from(this.m_mapPlans.values()).map((e) =>
          JSON.parse(e.admin_jsondata),
        );
      }
      GetListChangeCallback() {
        return this.m_listChangeCallback;
      }
      GetPlanByID(e) {
        const t = this.m_mapPlans.get(e);
        return t ? JSON.parse(t.admin_jsondata) : null;
      }
      GetPlanChangeCallback(e) {
        return (
          this.m_planChangeCallback.has(e) ||
            this.m_planChangeCallback.set(e, new g.a()),
          this.m_planChangeCallback.get(e)
        );
      }
      GetPipelineInputChangeCallback(e) {
        return (
          this.m_planInputPipelineChangeCallback.has(e) ||
            this.m_planInputPipelineChangeCallback.set(e, new g.a()),
          this.m_planInputPipelineChangeCallback.get(e)
        );
      }
      GetPlanPipelineInputByID(e) {
        const t = this.m_mapPlans.get(e);
        return t ? JSON.parse(t.input_jsondata) : null;
      }
      GetPartnerRequestPlanByID(e) {
        const t = this.m_mapPlans.get(e);
        return t ? JSON.parse(t.partner_jsondata) : null;
      }
      GetPlanPipelineInputByAccessKey(e) {
        const t = this.m_mapPlanByAccessKey.get(e);
        return t ? JSON.parse(t.input_jsondata) : null;
      }
      LoadAllActivePlans() {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_promiseLoadAllActivePlans ||
              ((this.m_promiseLoadAllActivePlans =
                this.InternalLoadAllActivePlans()),
              this.m_promiseLoadAllActivePlans.then(() => {
                this.m_rgActivePlanIDs.map((e) =>
                  this.m_promiseMapIndividualLoads.set(
                    e,
                    this.m_promiseLoadAllActivePlans,
                  ),
                );
              })),
            this.m_promiseLoadAllActivePlans
          );
        });
      }
      InternalEnsureIDsMatch(e) {
        const t = e.promotion_id(),
          n = e.toObject(),
          a = JSON.parse(n.admin_jsondata);
        return (a.id = t), (n.admin_jsondata = JSON.stringify(a)), n;
      }
      InternalLoadAllActivePlans() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = xt.b.Init(kI);
          let t = null;
          try {
            const n = yield VI.GetAllActivePlan(
              this.m_SteamInterface.GetServiceTransport(),
              e,
            );
            if (1 == n.GetEResult())
              return (
                n
                  .Body()
                  .plan()
                  .forEach((e) => {
                    const t = this.InternalEnsureIDsMatch(e);
                    t.input_jsondata || (t.input_jsondata = JSON.stringify({})),
                      t.partner_jsondata ||
                        (t.partner_jsondata = JSON.stringify({}));
                    const n = t.promotion_id,
                      a = t.input_access_key;
                    this.m_mapPlans.set(n, t),
                      this.m_mapPlanByAccessKey.set(a, t),
                      this.m_rgActivePlanIDs.push(n),
                      this.GetPlanChangeCallback(n).Dispatch(
                        JSON.parse(t.admin_jsondata),
                      ),
                      this.GetPipelineInputChangeCallback(a).Dispatch(
                        JSON.parse(t.input_jsondata),
                      );
                  }),
                this.GetListChangeCallback().Dispatch(this.GetAllPlans()),
                !0
              );
            t = Object(me.a)(n);
          } catch (e) {
            t = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.GetAllActivePlans failed: " +
                (null == t ? void 0 : t.strErrorMsg),
              t,
            ),
            !1
          );
        });
      }
      LoadPlanByID(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_promiseMapIndividualLoads.has(e) ||
              this.m_promiseMapIndividualLoads.set(
                e,
                this.InternalLoadPlanByID(e),
              ),
            this.m_promiseMapIndividualLoads.get(e)
          );
        });
      }
      InternalLoadPlanByID(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(jI);
          t.Body().set_promotion_id(e);
          let n = null;
          try {
            const a = yield VI.GetPlan(
              this.m_SteamInterface.GetServiceTransport(),
              t,
            );
            if (1 == a.GetEResult()) {
              const t = this.InternalEnsureIDsMatch(a.Body().plan()),
                n = t.input_access_key;
              return (
                this.m_mapPlans.set(t.promotion_id, t),
                this.m_mapPlanByAccessKey.set(n, t),
                t.input_jsondata || (t.input_jsondata = JSON.stringify({})),
                t.partner_jsondata || (t.partner_jsondata = JSON.stringify({})),
                this.GetListChangeCallback().Dispatch(this.GetAllPlans()),
                this.GetPlanChangeCallback(e).Dispatch(
                  JSON.parse(t.admin_jsondata),
                ),
                this.GetPipelineInputChangeCallback(n).Dispatch(
                  JSON.parse(t.input_jsondata),
                ),
                !0
              );
            }
            n = Object(me.a)(a);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.GetPlanByID failed: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            !1
          );
        });
      }
      AddNewAdminPlan(e, t, n, r, i, s, l, c, d) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = xt.b.Init(DI),
            u = {
              type: e,
              name: t,
              start_date: n,
              end_date: r,
              store_item_id: s,
              store_item_type: l,
              discount_event_id: i,
              creator_account_id: o.j.accountid,
              last_modified_account: o.j.accountid,
              admin_accounts: [o.j.accountid],
              last_modified_time: Math.floor(new Date().getTime() / 1e3),
            };
          c && (u.spotlight_ids = [c]), d && (u.marketing_message_ids = [d]);
          const m = {
            admin_jsondata: JSON.stringify(u),
            partner_jsondata: JSON.stringify({}),
            input_jsondata: JSON.stringify({}),
            rtime32_start_time: n,
            rtime32_end_time: r,
          };
          a.Body().set_plan(OI.fromObject(m));
          let p = null;
          try {
            const e = yield VI.CreatePlan(
              this.m_SteamInterface.GetServiceTransport(),
              a,
            );
            if (1 == e.GetEResult())
              return (
                (m.promotion_id = e.Body().promotion_id()),
                (m.input_access_key = e.Body().input_access_key()),
                (u.id = e.Body().promotion_id()),
                (m.admin_jsondata = JSON.stringify(u)),
                this.m_mapPlans.set(m.promotion_id, m),
                this.m_mapPlanByAccessKey.set(m.input_access_key, m),
                this.GetListChangeCallback().Dispatch(this.GetAllPlans()),
                m.promotion_id
              );
            p = Object(me.a)(e);
          } catch (e) {
            p = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.AddNewAdminPlan failed: " +
                (null == p ? void 0 : p.strErrorMsg),
              p,
            ),
            null
          );
        });
      }
      UpdateAdminPlan(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = xt.b.Init(TI),
            r = this.m_mapPlans.get(e.id);
          if (!r)
            return (
              console.error(
                "CPromotionPlanningStore.UpdateAdminPlan planID does not exist: " +
                  e.id,
              ),
              !1
            );
          (r.rtime32_start_time = e.start_date),
            (r.rtime32_end_time = e.end_date),
            (e.last_modified_account = o.j.accountid),
            (e.last_modified_time = Math.floor(new Date().getTime() / 1e3)),
            (e.admin_accounts || []).indexOf(o.j.accountid) < 0 &&
              (e.admin_accounts
                ? e.admin_accounts.push(o.j.accountid)
                : (e.admin_accounts = [o.j.accountid])),
            (r.admin_jsondata = JSON.stringify(e)),
            t && (r.partner_jsondata = JSON.stringify(t)),
            n && (r.input_jsondata = JSON.stringify(n)),
            a.Body().set_plan(OI.fromObject(r));
          let i = null;
          try {
            const t = yield VI.UpdatePlan(
              this.m_SteamInterface.GetServiceTransport(),
              a,
            );
            if (1 == t.GetEResult())
              return this.GetPlanChangeCallback(e.id).Dispatch(e), !0;
            i = Object(me.a)(t);
          } catch (e) {
            i = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.UpdateAdminPlan failed: " +
                (null == i ? void 0 : i.strErrorMsg),
              i,
            ),
            !1
          );
        });
      }
      DeletePlan(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(PI);
          t.Body().set_promotion_id(e);
          let n = null;
          try {
            const a = yield VI.DeletePlan(
              this.m_SteamInterface.GetServiceTransport(),
              t,
            );
            if (1 == a.GetEResult())
              return (
                this.m_mapPlans.delete(e),
                this.GetPlanChangeCallback(e).Dispatch(null),
                this.GetListChangeCallback().Dispatch(this.GetAllPlans()),
                !0
              );
            n = Object(me.a)(a);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CPromotionPlanningStore.AddNewAdminPlan failed: " +
                (null == n ? void 0 : n.strErrorMsg),
              n,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          zT.s_Singleton ||
            ((zT.s_Singleton = new zT()),
            zT.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PromotionPlanningStore = zT.s_Singleton)),
          zT.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)(
          "promotion_operation_token",
          "application_config",
        );
        Object(l.a)(
          e,
          "CPromotionPlanningStore: promotion operation token is missing",
        ),
          (this.m_SteamInterface = new au.a(o.c.WEBAPI_BASE_URL, e));
      }
    }
    function UT() {
      const [e, t] = i.a.useState(zT.Get().GetAllPlans());
      return (
        Object(r.useEffect)(() => {
          zT.Get().LoadAllActivePlans();
        }, []),
        Object(u.e)(zT.Get().GetListChangeCallback(), t),
        e
      );
    }
    function WT() {
      return {
        fnAddNewPlan: zT.Get().AddNewAdminPlan,
        fnUpdatePlan: zT.Get().UpdateAdminPlan,
        fnDeletePlan: zT.Get().DeletePlan,
      };
    }
    function HT(e) {
      const [t, n] = i.a.useState(zT.Get().GetPlanByID(e));
      return (
        Object(r.useEffect)(() => {
          t || zT.Get().LoadPlanByID(e);
        }, [e, t]),
        Object(u.e)(zT.Get().GetPlanChangeCallback(e), n),
        t
      );
    }
    function VT(e, t) {
      const n = UT(),
        [a, r] = i.a.useState(null);
      return (
        i.a.useLayoutEffect(() => {
          const a = new Map(),
            i = new Date(),
            s = new Date();
          s.setDate(i.getDate() - i.getDay() + 1);
          const o = Object(Rc.i)(Object(Rc.d)(s));
          t.forEach((t) => {
            const n = new Array();
            for (let a = 0; a <= e; ++a)
              n.push({
                type: t,
                rtWeekStart: o + Rc.g.PerWeek * a,
                rgPlans: [],
              });
            a.set(t, n);
          }),
            n.forEach((e) => {
              const t = a.get(e.type);
              if (t && e.start_date > o) {
                const n = Math.floor((e.start_date - o) / Rc.g.PerWeek);
                n < t.length && t[n].rgPlans.push(e);
              }
            }),
            r(a);
        }, [n, e, t]),
        a
      );
    }
    Object(a.b)([u.b], zT.prototype, "LoadAllActivePlans", null),
      Object(a.b)([u.b], zT.prototype, "LoadPlanByID", null),
      Object(a.b)([u.b], zT.prototype, "AddNewAdminPlan", null),
      Object(a.b)([u.b], zT.prototype, "UpdateAdminPlan", null),
      Object(a.b)([u.b], zT.prototype, "DeletePlan", null);
    var qT = n("/IqZ"),
      KT = n.n(qT),
      QT = n("L/yF");
    class ZT {
      constructor() {
        (this.m_rgActiveMessages = new Array()),
          (this.m_mapMessages = new Map()),
          (this.m_mapMessagesCallback = new Map()),
          (this.m_ActiveMessageListCallback = new g.a()),
          (this.m_steamInterface = null),
          (this.m_mapPromiseMarketingMessage = new Map());
      }
      GetAllActiveMarketingMessages() {
        return this.m_rgActiveMessages;
      }
      GetMarketingMessageByID(e) {
        return this.m_mapMessages.get(e);
      }
      GetCallbackForMarketingMessage(e) {
        return (
          this.m_mapMessagesCallback.has(e) ||
            this.m_mapMessagesCallback.set(e, new g.a()),
          this.m_mapMessagesCallback.get(e)
        );
      }
      GetCallbackForActiveMarketingMessageList() {
        return this.m_ActiveMessageListCallback;
      }
      HandleFindMessageRseponse(e) {
        const t = new Array();
        return (
          e
            .Body()
            .messages()
            .forEach((e) => {
              const n = e.toObject();
              t.push(n),
                this.m_mapMessages.has(n.gid) ||
                  this.m_mapMessages.set(n.gid, n);
            }),
          t
        );
      }
      LoadAllActiveMarketingMessages() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = xt.b.Init(QT.c);
          e.Body().set_lookup_type(2);
          let t = null;
          try {
            let n = yield QT.d.FindMarketingMessages(
              this.m_steamInterface.GetServiceTransport(),
              e,
            );
            if (1 == n.GetEResult()) {
              Object(l.a)(
                0 == this.m_rgActiveMessages.length,
                "We expect m_rgActiveMessages to be empty",
              );
              const e = this.HandleFindMessageRseponse(n);
              return (
                (this.m_rgActiveMessages = e),
                this.m_ActiveMessageListCallback.Dispatch(
                  this.m_rgActiveMessages,
                ),
                this.m_rgActiveMessages
              );
            }
            t = Object(me.a)(n);
          } catch (e) {
            t = Object(me.a)(e);
          }
          return (
            console.error(
              "CMarketingMessageStore::LoadAllActiveMarketingMessages failed: " +
                t.strErrorMsg,
              t,
            ),
            this.m_rgActiveMessages
          );
        });
      }
      LoadMarketingMessage(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return this.m_mapMessages.has(e)
            ? this.m_mapMessages.get(e)
            : (this.m_mapPromiseMarketingMessage.has(e) ||
                this.m_mapPromiseMarketingMessage.set(
                  e,
                  this.InternalLoadMarketingMessage(e),
                ),
              this.m_mapPromiseMarketingMessage.get(e));
        });
      }
      InternalLoadMarketingMessage(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(QT.c);
          t.Body().set_lookup_type(1), t.Body().set_gid(e);
          let n = null;
          try {
            let a = yield QT.d.FindMarketingMessages(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            if (1 == a.GetEResult()) {
              const t = this.HandleFindMessageRseponse(a);
              if (t.length > 0) {
                const e = t[0];
                this.m_mapMessages.set(e.gid, e),
                  this.GetCallbackForMarketingMessage(e.gid).Dispatch(e);
              }
              return this.m_mapMessages.get(e);
            }
            n = Object(me.a)(a);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CMarketingMessageStore::InternalLoadMarketingMessage failed: " +
                n.strErrorMsg,
              n,
            ),
            null
          );
        });
      }
      Search(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const n = xt.b.Init(QT.c);
          n.Body().set_lookup_type(3),
            n.Body().set_message_type(e),
            (null == t ? void 0 : t.trim().length) > 0
              ? ("%" != t.charAt(0) && (t = "%" + t),
                "%" != t.charAt(t.length - 1) && (t += "%"),
                n.Body().set_title(t.trim()))
              : n.Body().set_title("%");
          let a = null;
          try {
            let e = yield QT.d.FindMarketingMessages(
              this.m_steamInterface.GetServiceTransport(),
              n,
            );
            if (1 == e.GetEResult())
              return e
                .Body()
                .messages()
                .map((e) => e.toObject());
            a = Object(me.a)(e);
          } catch (e) {
            a = Object(me.a)(e);
          }
          return (
            console.error(
              "CMarketingMessageStore::LoadAllActiveMarketingMessages failed: " +
                a.strErrorMsg,
              a,
            ),
            []
          );
        });
      }
      CreateMarketingMessage(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const t = xt.b.Init(QT.b);
          t.Body().set_message(QT.a.fromObject(e));
          let n = null;
          try {
            let a = yield QT.d.CreateMarketingMessage(
              this.m_steamInterface.GetServiceTransport(),
              t,
            );
            if (1 == a.GetEResult() && a.Body().gid())
              return (
                (e.gid = a.Body().gid()),
                this.m_mapMessages.set(e.gid, e),
                this.m_ActiveMessageListCallback.Dispatch(
                  this.m_rgActiveMessages,
                ),
                e.gid
              );
            n = Object(me.a)(a);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CMarketingMessageStore::LoadAllActiveMarketingMessages failed: " +
                n.strErrorMsg,
              n,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          ZT.s_Singleton ||
            ((ZT.s_Singleton = new ZT()),
            ZT.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_MarketingMessageStore = ZT.s_Singleton)),
          ZT.s_Singleton
        );
      }
      Init() {
        const e = Object(o.g)(
          "promotion_operation_token",
          "application_config",
        );
        Object(l.a)(Boolean(e), "require promotion_operation_token"),
          "dev" == o.c.WEB_UNIVERSE &&
            console.log(
              "DEV_DEBUG Initializing CMarketingMessageStore with access token ",
              e,
            ),
          (this.m_steamInterface = new au.a(o.c.WEBAPI_BASE_URL, e));
      }
    }
    function JT() {
      const [e, t] = i.a.useState(ZT.Get().GetAllActiveMarketingMessages());
      return (
        Object(r.useEffect)(() => {
          (null != e && 0 != e.length) ||
            ZT.Get().LoadAllActiveMarketingMessages();
        }, [e]),
        Object(u.e)(ZT.Get().GetCallbackForActiveMarketingMessageList(), t),
        e
      );
    }
    function XT(e) {
      const [t, n] = Object(r.useState)(ZT.Get().GetMarketingMessageByID(e));
      return (
        Object(r.useEffect)(() => {
          e && !t && ZT.Get().LoadMarketingMessage(e);
        }, [e, t]),
        Object(u.e)(ZT.Get().GetCallbackForMarketingMessage(e), n),
        t
      );
    }
    function $T() {
      return { fmCreateMarketingMessage: ZT.Get().CreateMarketingMessage };
    }
    Object(a.b)([Ul.a], ZT.prototype, "Search", null),
      Object(a.b)([Ul.a], ZT.prototype, "CreateMarketingMessage", null);
    const eR = ["Weekend Deal", "Now Available", "Pre-Purchase", ""];
    class tR {
      constructor() {
        (this.m_rgSpotlights = new Array()),
          (this.m_mapSpotlights = new Map()),
          (this.m_mapSpotlightsCallback = new Map()),
          (this.m_SpotlightListCallback = new g.a());
      }
      GetAllSpotlights() {
        return this.m_rgSpotlights;
      }
      GetSpotlightByID(e) {
        return this.m_mapSpotlights.get(e);
      }
      GetCallbackForSpotlightList() {
        return this.m_SpotlightListCallback;
      }
      GetCallbackForSpotlightID(e) {
        return (
          this.m_mapSpotlightsCallback.has(e) ||
            this.m_mapSpotlightsCallback.set(e, new g.a()),
          this.m_mapSpotlightsCallback.get(e)
        );
      }
      AddSpotlight(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = null;
          try {
            const a =
                o.c.PARTNER_BASE_URL +
                "promotion/spotlights/ajaxcreatenewspotlight",
              r = new FormData();
            r.append("sessionid", o.c.SESSIONID),
              r.append("spotlight", JSON.stringify(e));
            const i = e.association;
            (null == i ? void 0 : i.appid) &&
            "application" == e.association_type
              ? r.append("nAppID", "" + i.appid)
              : (null == i ? void 0 : i.packageid) &&
                  "package" == e.association_type
                ? r.append("nPackageID", "" + i.packageid)
                : (null == i ? void 0 : i.bundleid) &&
                  "bundle" == e.association_type &&
                  r.append("nBundleID", "" + i.bundleid);
            const s = yield F.a.post(a, r, { withCredentials: !0 });
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 ==
                (null === (t = s.data) || void 0 === t ? void 0 : t.success) &&
              s.data.spotlight
            )
              return (
                this.InternalAddSpotlight(e),
                this.GetCallbackForSpotlightList().Dispatch(
                  this.m_rgSpotlights,
                ),
                this.GetCallbackForSpotlightID(e.id).Dispatch(e),
                s.data.spotlight.id
              );
            n = Object(me.a)(null == s ? void 0 : s.data);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CPartnerContactStore.InternalLoadPartnerContactList: ajax request failed with error: " +
                n.strErrorMsg,
              n,
            ),
            null
          );
        });
      }
      static Get() {
        return (
          tR.s_Singleton ||
            ((tR.s_Singleton = new tR()),
            tR.s_Singleton.Init(),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_SpotlightStore = tR.s_Singleton)),
          tR.s_Singleton
        );
      }
      InternalAddSpotlight(e) {
        this.m_mapSpotlights.set(e.id, e), this.m_rgSpotlights.push(e);
      }
      Init() {
        let e = Object(o.g)("spotlightinfo", "application_config");
        this.ValidateStoreDefault(e) && e.forEach(this.InternalAddSpotlight);
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) &&
          "string" == typeof t[0].name && "object" == typeof t[0].location &&
          "object" == typeof t[0].visibility
        );
      }
    }
    function nR() {
      const [e, t] = i.a.useState(tR.Get().GetAllSpotlights());
      return Object(u.e)(tR.Get().GetCallbackForSpotlightList(), t), e;
    }
    function aR() {
      return { fnAddNewSpotlight: tR.Get().AddSpotlight };
    }
    function rR(e) {
      return tR.Get().GetSpotlightByID(e);
    }
    Object(a.b)([u.b], tR.prototype, "AddSpotlight", null),
      Object(a.b)([u.b], tR.prototype, "InternalAddSpotlight", null);
    class iR {
      constructor() {
        (this.m_marketingTokens = null), (this.m_promiseLoad = null);
      }
      GetMarketingTokens() {
        return this.m_marketingTokens;
      }
      LoadDictionary() {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_promiseLoad ||
              (this.m_promiseLoad = this.InternalLoadDictionary()),
            this.m_promiseLoad
          );
        });
      }
      InternalLoadDictionary() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const [e] = yield Promise.all([
            n.e(0).then(n.t.bind(null, "FBAA", 3)),
          ]);
          return (this.m_marketingTokens = e), this.m_marketingTokens;
        });
      }
      static Get() {
        return iR.s_Singleton || (iR.s_Singleton = new iR()), iR.s_Singleton;
      }
    }
    function sR() {
      const [e, t] = Object(r.useState)(iR.Get().GetMarketingTokens());
      return (
        Object(r.useEffect)(() => {
          e ||
            iR
              .Get()
              .LoadDictionary()
              .then((e) => t(e));
        }, [e]),
        e
      );
    }
    var oR = n("l0SG");
    function lR(e) {
      const {
        name: t,
        id: n,
        fnSetID: a,
        fnGetURL: r,
        placeHolder: s,
        tooltip: o,
      } = e;
      return i.a.createElement(
        "div",
        { className: oR.InputContainer },
        i.a.createElement(te.z, {
          type: "text",
          label: t,
          value: n || "",
          onChange: (e) => {
            var t;
            return a(
              (null === (t = null == e ? void 0 : e.currentTarget) ||
              void 0 === t
                ? void 0
                : t.value) || "",
            );
          },
          placeholder: s,
          tooltip: o,
        }),
        i.a.createElement(dR, Object.assign({}, e)),
      );
    }
    function cR(e) {
      const {
        name: t,
        id: n,
        fnSetID: a,
        index: r,
        placeHolder: s,
        tooltip: o,
      } = e;
      return i.a.createElement(
        "div",
        { className: oR.InputContainer },
        i.a.createElement(te.z, {
          type: "text",
          label: t,
          value: n || "",
          onChange: (e) => {
            var t;
            return a(
              (null === (t = null == e ? void 0 : e.currentTarget) ||
              void 0 === t
                ? void 0
                : t.value) || "",
              r,
            );
          },
          placeholder: s,
          tooltip: o,
        }),
        i.a.createElement(uR, Object.assign({}, e)),
      );
    }
    function dR(e) {
      const { name: t, id: n, fnGetURL: a } = e;
      return ("number" == typeof n && n > 0) ||
        (null == n ? void 0 : n.length) > 0
        ? i.a.createElement(
            "div",
            { className: oR.PreviewLinkCtn },
            i.a.createElement("a", { href: a(n), target: "_blank" }, t),
          )
        : null;
    }
    function uR(e) {
      const { name: t, id: n, fnGetURL: a, index: r } = e;
      return (null == n ? void 0 : n.length) > 0
        ? i.a.createElement(
            "div",
            { className: oR.PreviewLinkCtn },
            i.a.createElement("a", { href: a(n, r), target: "_blank" }, t),
          )
        : null;
    }
    function mR(e) {
      var t, n, a, r, i;
      let s = "",
        o = "";
      if ("string" == typeof e) s = IT.get("dailydeal");
      else {
        const l = e;
        l.id
          ? ((s = IT.get(l.type)),
            ((null === (t = l.takeover_ids) || void 0 === t
              ? void 0
              : t.length) > 0 &&
              Boolean(l.takeover_ids[0])) ||
            ((null === (n = l.steamchina_takeover_ids) || void 0 === n
              ? void 0
              : n.length) > 0 &&
              Boolean(l.steamchina_takeover_ids[0]))
              ? (s = "#3c7c50")
              : (null === (a = l.takeunder_ids) || void 0 === a
                    ? void 0
                    : a.length) > 0 && Boolean(l.takeunder_ids[0])
                ? (s = "#CE4B28")
                : "weekenddeal" != l.type &&
                    "midweek" != l.type &&
                    (null === (r = l.marketing_message_ids) || void 0 === r
                      ? void 0
                      : r.length) > 0 &&
                    Boolean(l.marketing_message_ids[0])
                  ? (s = "#4a6da1")
                  : (null === (i = l.contenthub_takeover_ids) || void 0 === i
                      ? void 0
                      : i.length) > 0 &&
                    Boolean(l.contenthub_takeover_ids[0]) &&
                    (s = "#A3B367"),
            l.bgcolor && (s = l.bgcolor))
          : ((s = "#353840"), (o = "1px dashed #4273bd"));
      }
      return { style: { backgroundColor: s, border: o } };
    }
    function pR(e) {
      const { oEditablePlan: t } = e,
        n = Object(zt.d)(() => t.GetStoreItemKey()),
        [a] = Object(Wn.a)(null == n ? void 0 : n.id, Object(On.r)(n), {
          include_platforms: !0,
        });
      return i.a.createElement(
        "div",
        { className: oR.LinkCtn },
        i.a.createElement(lR, {
          name: "Discount Event ID",
          placeHolder: "/admin/editdiscountevent/<grab this ID>",
          id: t.GetDiscountEventID(),
          fnSetID: t.SetDiscountEventID,
          fnGetURL: RT.GetDiscountEditURL,
        }),
        i.a.createElement(
          "div",
          { className: oR.ButtonRow },
          Boolean(a)
            ? i.a.createElement(
                te.e,
                {
                  onClick: (e) => {
                    Object(ze.d)(
                      i.a.createElement(_R, {
                        oEditablePlan: t,
                        oStoreItem: a,
                      }),
                      Object(v.o)(e),
                    );
                  },
                },
                "Create New Discount Event",
              )
            : i.a.createElement(
                "p",
                null,
                "Required Feature Item To Create Discount Event",
              ),
          i.a.createElement(
            te.e,
            {
              onClick: (e) => {
                Object(ze.d)(
                  i.a.createElement(gR, { oEditablePlan: t }),
                  Object(v.o)(e),
                );
              },
            },
            "Select from existing",
          ),
        ),
      );
    }
    function hR(e, t, n, a) {
      var r;
      const i = new Date(1e3 * t);
      return `${DT.get(e)} - ${String(i.getUTCMonth() + 1).padStart(2, "0")}/${String(i.getUTCDate()).padStart(2, "0")}/${String(i.getUTCFullYear()).padStart(2, "0")} - ${null !== (r = null == n ? void 0 : n.GetName()) && void 0 !== r ? r : Object(On.q)(a)}`;
    }
    function _R(e) {
      const { oEditablePlan: t, closeModal: n, oStoreItem: s } = e,
        o = t.GetType(),
        l = t.GetFeaturedItemID(),
        c = t.GetFeaturedItemType(),
        [d, u] = Object(r.useState)(
          hR(
            o,
            t.GetStartDate(),
            s,
            Object(On.f)(s.GetID(), s.GetStoreItemType()),
          ),
        ),
        m = Object(r.useMemo)(() => {
          const e = [];
          return (
            Array.from(TT.values()).forEach((t) => {
              e.indexOf(t) && e.push(t);
            }),
            e.map((e) => ({ label: e, data: e }))
          );
        }, []),
        [p, h] = Object(r.useState)(TT.get(o)),
        [_, g] = Object(r.useState)(t.BHasDiscountEventID()),
        [b, f] = Object(r.useState)(0),
        { fnCreateDiscountEvent: v } = jC(),
        [S, y] = Object(r.useState)(!1),
        [E, C] = Object(r.useState)(null);
      return _
        ? i.a.createElement(xe.e, {
            strTitle: "Create Discount Event?",
            strDescription: `You already have Discount Event with ID ${t.GetDiscountEventID()} associated with this promotion plan.  Are you sure you want to create a new one?`,
            onCancel: n,
            onOK: () => g(!1),
            strOKButtonText: "Create Discount Event Anyways",
          })
        : i.a.createElement(
            xe.e,
            {
              strTitle: "Create New Discount Event",
              strDescription:
                "Create and link a spotlight from date range and featured item from the existing plan? ",
              onCancel: n,
              bOKDisabled:
                0 == d.trim().length ||
                0 == (null == p ? void 0 : p.trim().length) ||
                (t.BHasAssociatedSaleEvent() && !s) ||
                S,
              bAllowFullSize: !0,
              onOK: () =>
                Object(a.a)(this, void 0, void 0, function* () {
                  y(!0),
                    yield v(
                      t.GetStartDate(),
                      t.GetEndDate(),
                      d,
                      d,
                      p,
                      [b],
                      0 == c ? [l] : null == s ? void 0 : s.GetIncludedAppIDs(),
                    )
                      .then((e) => {
                        e
                          ? (t.SetDiscountEventID(e.id),
                            C(
                              "Create Discount Event Successful. Remember to Save the Promotion Plan.",
                            ))
                          : C(
                              "Create Discount Event failed. Check console output",
                            );
                      })
                      .catch((e) => {
                        const t =
                          "Discount Event Creation Failed: " +
                          Object(me.a)(e).strErrorMsg +
                          ". ";
                        console.log(
                          "discount event create failed",
                          Object(me.a)(e),
                          e,
                        ),
                          C(t);
                      });
                }),
            },
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            S
              ? i.a.createElement(
                  i.a.Fragment,
                  null,
                  Boolean(E)
                    ? i.a.createElement("div", null, E)
                    : i.a.createElement(ee.a, {
                        string: "Creating Spotlight",
                        size: "medium",
                        position: "center",
                      }),
                )
              : i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(te.z, {
                    value: d,
                    onChange: (e) => u(e.currentTarget.value),
                    label: "Internal Name",
                  }),
                  i.a.createElement(te.m, {
                    label: "Discount Event Label",
                    rgOptions: m,
                    selectedOption: p,
                    onChange: (e) => h(e.data),
                  }),
                  i.a.createElement(aI, {
                    nStoreItemID: l,
                    eStoreItemType: c,
                    nPartnerID: b,
                    setPartnerID: f,
                  }),
                ),
          );
    }
    function gR(e) {
      const { oEditablePlan: t, closeModal: n } = e,
        { rgDiscountEvents: a, eResult: s } = IC(),
        [o, l] = Object(r.useState)(null);
      Object(r.useEffect)(() => {
        if (a) {
          const e = new Set();
          a.forEach((t) => {
            var n;
            return null === (n = t.appids) || void 0 === n
              ? void 0
              : n.forEach((t) => e.add(t));
          }),
            Dt.a.Get().QueueMultipleAppRequests(Array.from(e), {});
        }
      }, [a]);
      const c = Object(r.useMemo)(
        () =>
          (a || []).map((e) => ({
            label: e.name,
            value: e.id,
            discountEvent: e,
          })),
        [a],
      );
      return a
        ? i.a.createElement(
            xe.e,
            {
              strTitle: "Select an Upcoming Discount Event",
              strDescription:
                "This only surfaces active or upcoming Discount Event. This doesn't have access to archived discount events.",
              onCancel: n,
              closeModal: n,
              onOK: () => {
                t.SetDiscountEventID(o);
              },
              bOKDisabled: Boolean(!o),
            },
            i.a.createElement(te.C, null, "Choose Discount Event:"),
            i.a.createElement(ev.a, {
              options: c,
              value: c.find((e) => e.value === o),
              onChange: (e) => l((null == e ? void 0 : e.value) || null),
              isSearchable: !0,
              isMulti: !1,
              isClearable: !0,
              filterOption: (e, t) => {
                var n, a;
                if (!Boolean(t)) return !0;
                const r = t.toLowerCase(),
                  i = e.data.discountEvent;
                return (
                  e.label.toLowerCase().search(r) >= 0 ||
                  (null === (n = i.opt_in_name) || void 0 === n
                    ? void 0
                    : n.toLowerCase().search(r)) >= 0 ||
                  (null === (a = i.appids) || void 0 === a
                    ? void 0
                    : a.some((e) => {
                        const t = Dt.a.Get().GetApp(e);
                        return (
                          (null == t
                            ? void 0
                            : t.GetName().toLowerCase().search(r)) >= 0
                        );
                      }))
                );
              },
            }),
          )
        : i.a.createElement(
            xe.e,
            { strTitle: "Loading Discount Events" },
            i.a.createElement(ee.a, { string: "Loading", size: "medium" }),
          );
    }
    const bR = [1, 2, 3, 4, 6, 7, 9, 5, 8, 0];
    function fR(e) {
      switch (e) {
        case 1:
          return "Now Available";
        case 2:
          return "Weekend Deal";
        case 3:
          return "Pre-Purchase";
        case 4:
          return "Play Now";
        case 6:
          return "General";
        case 7:
          return "on Demo Quit";
        case 9:
          return "EJ's Korner";
        case 5:
          return "Pre-Load Now";
        case 8:
          return "Gifting Message";
        default:
          return "--------------------";
      }
    }
    var vR;
    function SR(e) {
      const { oEditablePlan: t, index: n } = e;
      return i.a.createElement(
        "div",
        { className: oR.LinkCtn },
        i.a.createElement(cR, {
          name: "Marketing Message " + (n + 1) + " ID",
          placeHolder: "/marketing/message/<grab this ID>",
          id: t.GetMarketingMessageID(n),
          index: n,
          fnSetID: t.SetMarketingMessageID,
          fnGetURL: RT.GetMarketingMesssageEditURL,
        }),
        i.a.createElement(
          "div",
          { className: oR.ButtonRow },
          i.a.createElement(
            te.e,
            {
              onClick: (e) => {
                Object(ze.d)(
                  i.a.createElement(ER, { oEditablePlan: t, index: n }),
                  Object(v.o)(e),
                );
              },
            },
            "Create new",
          ),
          i.a.createElement(
            te.e,
            {
              onClick: (e) => {
                Object(ze.d)(
                  i.a.createElement(wR, { oEditablePlan: t, index: n }),
                  Object(v.o)(e),
                );
              },
            },
            "Select from existing",
          ),
        ),
      );
    }
    function yR(e, t, n, a, r, i) {
      var s, l, c;
      const d = { type: "image", button_text: r };
      let u = '"messages" ' + JSON.stringify(d);
      (u = u.replace(/":"/g, '"\t"')), (u = u.replace(/","/g, '"\n"'));
      const m = {
        title: e,
        type: t,
        creator_name: o.j.account_name,
        visibility: 1,
        start_date: n,
        end_date: a,
        flags: 0,
        country_deny: "",
        ownership_restrictions_overridden: !0,
        template_type: "image",
        template_vars: u,
      };
      return (
        i &&
          ((m.associated_id = i.GetID()),
          (m.association_type = Object(On.e)(i.GetStoreItemType())),
          (m.associated_name = i.GetName() || "")),
        (null === (s = null == i ? void 0 : i.GetPlatforms()) || void 0 === s
          ? void 0
          : s.windows) &&
          (m.flags |= vR.k_EMarketingMessageFlagsPlatformWindows),
        (null === (l = null == i ? void 0 : i.GetPlatforms()) || void 0 === l
          ? void 0
          : l.mac) && (m.flags |= vR.k_EMarketingMessageFlagsPlatformMac),
        (null === (c = null == i ? void 0 : i.GetPlatforms()) || void 0 === c
          ? void 0
          : c.linux) && (m.flags |= vR.k_EMarketingMessageFlagsPlatformLinux),
        m
      );
    }
    function ER(e) {
      const { oEditablePlan: t, index: n, closeModal: a } = e,
        [s] = Object(Wn.a)(t.GetFeaturedItemID(), t.GetFeaturedItemType(), {
          include_platforms: !0,
        }),
        [o, l] = Object(r.useState)(t.GetName()),
        [c, d] = Object(r.useState)(2),
        u = Object(r.useMemo)(
          () => bR.map((e) => ({ label: fR(e), data: e })),
          [],
        ),
        [m, p] = Object(r.useState)(t.BHasMarketingMessages(n)),
        [h, _] = Object(r.useState)("#msg_action_details"),
        { fmCreateMarketingMessage: g } = $T(),
        [b, f] = Object(r.useState)(!1),
        [v, S] = Object(r.useState)(null);
      return m
        ? i.a.createElement(xe.e, {
            strTitle: "Create New Marketing Message?",
            strDescription: `You already have Marketing Message with ID ${t.GetMarketingMessageID(n)} associated with this promotion plan.  Are you sure you want to create a new one?`,
            onCancel: a,
            onOK: () => p(!1),
            strOKButtonText: "Create New Marketing Message Anyways",
          })
        : i.a.createElement(
            xe.e,
            {
              strTitle: "Create New Marketing Message?",
              strDescription:
                "Create and link a Marketing Message from date range and featured item from the existing plan? Any additional customization can be done in the Marketing Message editor directly. NOTE: We did not fill in country restrictions, so need to double check if those are required.",
              onCancel: a,
              className: oR.CreationDialogCtn,
              bOKDisabled:
                0 == o.trim().length ||
                0 == c ||
                (t.BHasAssociatedSaleEvent() && !s) ||
                0 == h.trim().length ||
                b,
              bAllowFullSize: !0,
              onOK: () => {
                f(!0);
                const e = yR(o, c, t.GetStartDate(), t.GetEndDate(), h, s);
                g(e).then((e) => {
                  e
                    ? (t.SetMarketingMessageID(e, n),
                      S(
                        "Create Marketing Message Successful. Remember to Save the Promotion Plan.",
                      ))
                    : S(
                        "Create Marketing Message failed. Check console output",
                      );
                });
              },
            },
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            b
              ? i.a.createElement(
                  i.a.Fragment,
                  null,
                  Boolean(v)
                    ? i.a.createElement("div", null, v)
                    : i.a.createElement(ee.a, {
                        string: "Creating Spotlight",
                        size: "medium",
                        position: "center",
                      }),
                )
              : i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(te.z, {
                    value: o,
                    onChange: (e) => l(e.currentTarget.value),
                    label: "Internal Name",
                  }),
                  i.a.createElement(te.m, {
                    label: "Type",
                    rgOptions: u,
                    selectedOption: c,
                    onChange: (e) => d(e.data),
                  }),
                  i.a.createElement(
                    "div",
                    { className: oR.LargeSelectorCtn },
                    i.a.createElement(CR, { selected: h, fnSetSelected: _ }),
                  ),
                ),
          );
    }
    function CR(e) {
      const { selected: t, fnSetSelected: n } = e,
        a = sR(),
        s = Object(r.useMemo)(
          () =>
            Object.keys(a || [])
              .filter((e) => "string" == typeof a[e] && e.startsWith("msg_"))
              .map((e) => ({ label: `${a[e]} (#${e})`, value: `#${e}` })),
          [a],
        );
      return a
        ? i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(te.C, null, "Template Button text:"),
            i.a.createElement(ev.a, {
              options: s,
              value: s.find((e) => e.value === t),
              onChange: (e) => n(e.value),
              isSearchable: !0,
            }),
          )
        : i.a.createElement(ee.a, {
            string: "Loading Marketing Tokens",
            position: "center",
            size: "medium",
          });
    }
    function wR(e) {
      const { oEditablePlan: t, closeModal: n, index: a } = e,
        s = JT(),
        [o, l] = Object(r.useState)(null);
      Object(r.useEffect)(() => {
        if (s) {
          const e = [1, 2, 5],
            t = s.filter(
              (t) => t.associated_id && e.includes(t.association_type),
            );
          Dt.a.Get().QueueMultipleStoreItemRequests(
            t.map((e) => e.associated_id),
            t.map((e) => Object(On.i)(e.association_type)),
            {},
          );
        }
      }, [s]);
      const c = Object(r.useMemo)(
        () =>
          null == s
            ? void 0
            : s.map((e) => ({
                label: e.title,
                value: e.gid,
                marketingmessage: e,
              })),
        [s],
      );
      return s
        ? i.a.createElement(
            xe.e,
            {
              strTitle: "Select an Existing Marketing Message",
              strDescription:
                "This only surfaces active or upcoming Marketing Message. This doesn't have access to archived Marketing Message.",
              onCancel: n,
              closeModal: n,
              onOK: () => {
                t.SetMarketingMessageID(o, a);
              },
              bOKDisabled: Boolean(!o),
            },
            i.a.createElement(te.C, null, "Choose Marketing Message:"),
            i.a.createElement(ev.a, {
              options: c,
              value: c.find((e) => e.value === o),
              onChange: (e) => l((null == e ? void 0 : e.value) || null),
              isSearchable: !0,
              isMulti: !1,
              isClearable: !0,
              filterOption: (e, t) => {
                if (!Boolean(t)) return !0;
                const n = t.toLowerCase(),
                  a = e.data.marketingmessage,
                  r = Dt.a
                    .Get()
                    .GetStoreItem(
                      a.associated_id,
                      Object(On.i)(a.association_type),
                    );
                return (
                  e.label.toLowerCase().search(n) >= 0 ||
                  a.creator_name.toLowerCase().search(n) >= 0 ||
                  (null == r ? void 0 : r.GetName().toLowerCase().search(n)) >=
                    0
                );
              },
            }),
          )
        : i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            position: "center",
            size: "medium",
          });
    }
    !(function (e) {
      (e[(e.k_EMarketingMessageFlagsNone = 0)] =
        "k_EMarketingMessageFlagsNone"),
        (e[(e.k_EMarketingMessageFlagsHighPriority = 1)] =
          "k_EMarketingMessageFlagsHighPriority"),
        (e[(e.k_EMarketingMessageFlagsPlatformWindows = 2)] =
          "k_EMarketingMessageFlagsPlatformWindows"),
        (e[(e.k_EMarketingMessageFlagsPlatformMac = 4)] =
          "k_EMarketingMessageFlagsPlatformMac"),
        (e[(e.k_EMarketingMessageFlagsPlatformLinux = 8)] =
          "k_EMarketingMessageFlagsPlatformLinux"),
        (e[(e.k_EMarketingMessageFlagsPlatformRestrictions = 14)] =
          "k_EMarketingMessageFlagsPlatformRestrictions");
    })(vR || (vR = {}));
    var BR = n("lFjC");
    function OR(e) {
      const { oEditablePlan: t, index: n } = e;
      return i.a.createElement(
        "div",
        { className: oR.LinkCtn },
        i.a.createElement(cR, {
          name: "Spotlight ID",
          placeHolder: "/admin/store/spotlight/<grab this ID>",
          id: t.GetSpotlightIDs(n),
          index: n,
          fnSetID: t.SetSpotlightID,
          fnGetURL: RT.GetSpotlightEditURL,
        }),
        i.a.createElement(
          "div",
          { className: oR.ButtonRow },
          i.a.createElement(
            te.e,
            {
              onClick: (e) => {
                Object(ze.d)(
                  i.a.createElement(IR, { oEditablePlan: t, index: n }),
                  Object(v.o)(e),
                );
              },
            },
            "Create new",
          ),
          i.a.createElement(
            te.e,
            {
              onClick: (e) => {
                Object(ze.d)(
                  i.a.createElement(jR, { oEditablePlan: t, index: n }),
                  Object(v.o)(e),
                );
              },
            },
            "Select from existing",
          ),
        ),
      );
    }
    function DR(e, t, n, a, r, i, s) {
      const l = {
        name: e,
        type: t,
        creator: o.j.account_name,
        visibility: { visible: !1, startdate: n, enddate: a },
        location: { genres: [], hubTargets: [] },
        title: r,
        body: { english: i },
      };
      return (
        s &&
          ((l.association = Object(On.f)(s.GetID(), s.GetStoreItemType())),
          (l.association_type = Object(On.d)(s.GetStoreItemType()))),
        l
      );
    }
    function IR(e) {
      const { oEditablePlan: t, closeModal: n, index: a } = e,
        s = t.GetType(),
        [o, l] = Object(r.useState)(t.GetName()),
        [c, d] = Object(r.useState)("Weekend Deal"),
        u = Object(r.useMemo)(() => eR.map((e) => ({ label: e, data: e })), []),
        [m] = Object(Wn.a)(t.GetFeaturedItemID(), t.GetFeaturedItemType(), {
          include_platforms: !0,
        }),
        [p, h] = Object(r.useState)(t.BHasSpotlightIDs(a)),
        [_, g] = Object(r.useState)(
          "midweek" == s
            ? "#spotlight_midweek_madness"
            : "#spotlight_weekend_deal",
        ),
        [b, f] = Object(r.useState)("#promo_ends_custom"),
        { fnAddNewSpotlight: v } = aR(),
        [S, y] = Object(r.useState)(!1),
        [E, C] = Object(r.useState)(null);
      return p
        ? i.a.createElement(xe.e, {
            strTitle: "Create New Spotlight?",
            strDescription: `You already have spotlight with ID ${t.GetSpotlightIDs(a)} associated with this promotion plan.  Are you sure you want to create a new one?`,
            onCancel: n,
            onOK: () => h(!1),
            strOKButtonText: "Create New Spotlight Anyways",
          })
        : i.a.createElement(
            xe.e,
            {
              strTitle: "Create New Spotlight?",
              strDescription:
                "Create and link a spotlight from date range and featured item from the existing plan? Any additional customization can be done in the spotlight editor directly.",
              onCancel: n,
              className: oR.CreationDialogCtn,
              bOKDisabled:
                0 == o.trim().length ||
                0 == _.trim().length ||
                0 == b.trim().length ||
                (t.BHasAssociatedSaleEvent() && !m) ||
                S,
              bAllowFullSize: !0,
              onOK: () => {
                y(!0);
                const e = DR(o, c, t.GetStartDate(), t.GetEndDate(), _, _, m);
                v(e).then((e) => {
                  e
                    ? (t.SetSpotlightID(e, a),
                      C(
                        "Create Spotlight Successful. Remember to Save the Promotion Plan.",
                      ))
                    : C("Create Spotlight failed. Check console output");
                });
              },
            },
            i.a.createElement("br", null),
            i.a.createElement("br", null),
            S
              ? i.a.createElement(
                  i.a.Fragment,
                  null,
                  Boolean(E)
                    ? i.a.createElement("div", null, E)
                    : i.a.createElement(ee.a, {
                        string: "Creating Spotlight",
                        size: "medium",
                        position: "center",
                      }),
                )
              : i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(te.z, {
                    value: o,
                    onChange: (e) => l(e.currentTarget.value),
                    label: "Internal Name",
                  }),
                  i.a.createElement(te.m, {
                    label: "Type",
                    rgOptions: u,
                    selectedOption: c,
                    onChange: (e) => d(e.data),
                  }),
                  i.a.createElement(TR, { selected: _, fnSetSelected: g }),
                  i.a.createElement(
                    "div",
                    { className: oR.LargeSelectorCtn },
                    i.a.createElement(RR, { selected: b, fnSetSelected: f }),
                  ),
                ),
          );
    }
    function TR(e) {
      const { selected: t, fnSetSelected: n } = e,
        a = Object(r.useMemo)(
          () =>
            [
              "#spotlight_weekend_deal",
              "#spotlight_midweek_madness",
              "#spotlight_weeklong_sale",
              "#spotlight_weeklong_header1",
            ].map((e) => ({ value: e, label: Object($.f)(e) })),
          [],
        );
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(te.C, null, "Spotlight Title:"),
        i.a.createElement(ev.a, {
          options: a,
          value: a.find((e) => e.value === t),
          onChange: (e) => n(e.value),
          isSearchable: !0,
        }),
      );
    }
    function RR(e) {
      const { selected: t, fnSetSelected: n } = e,
        a = sR(),
        s = Object(r.useMemo)(
          () =>
            Object.keys(a || [])
              .filter((e) => "string" == typeof a[e] && "language" != e)
              .map((e) => ({ label: `${a[e]} (#${e})`, value: `#${e}` })),
          [a],
        );
      return a
        ? i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(te.C, null, "Spotlight Body:"),
            i.a.createElement(ev.a, {
              options: s,
              value: s.find((e) => e.value === t),
              onChange: (e) => n(e.value),
              isSearchable: !0,
            }),
          )
        : i.a.createElement(ee.a, {
            string: "Loading Marketing Tokens",
            position: "center",
            size: "medium",
          });
    }
    function jR(e) {
      const { oEditablePlan: t, closeModal: n, index: a } = e,
        [s, o] = Object(r.useState)(null),
        l = nR();
      Object(r.useEffect)(() => {
        if (l) {
          const e = ["application", "bundle", "package"],
            t = l.filter(
              (t) => t.association && e.includes(t.association_type),
            );
          Dt.a.Get().QueueMultipleStoreItemRequests(
            t.map((e) => Object(On.p)(e.association)),
            t.map((e) => Object(On.a)(e.association_type)),
            {},
          );
        }
      }, [l]);
      const c = Object(r.useMemo)(
        () => l.map((e) => ({ label: e.name, value: e.id, spotlight: e })),
        [l],
      );
      return i.a.createElement(
        xe.e,
        {
          strTitle: "Select an Existing Spotlight",
          strDescription:
            "This only surfaces active or upcoming spotlight. This doesn't have access to archived spotlights.",
          onCancel: n,
          closeModal: n,
          onOK: () => {
            t.SetSpotlightID(s, a);
          },
          bOKDisabled: Boolean(!s),
        },
        i.a.createElement(te.C, null, "Choose Spotlight:"),
        i.a.createElement(ev.a, {
          options: c,
          value: c.find((e) => e.value === s),
          onChange: (e) => o((null == e ? void 0 : e.value) || null),
          isSearchable: !0,
          isMulti: !1,
          isClearable: !0,
          filterOption: (e, t) => {
            if (!Boolean(t)) return !0;
            const n = t.toLowerCase(),
              a = e.data.spotlight,
              r = Dt.a
                .Get()
                .GetStoreItem(
                  Object(On.p)(a.association),
                  Object(On.a)(a.association_type),
                );
            return (
              e.label.toLowerCase().search(n) >= 0 ||
              a.creator.toLowerCase().search(n) >= 0 ||
              (null == r ? void 0 : r.GetName().toLowerCase().search(n)) >= 0
            );
          },
        }),
      );
    }
    function AR(e, t, n) {
      if ("midweek" == e || "weekenddeal" == e) {
        const a = new Date(1e3 * t).getDay(),
          r = new Date(1e3 * n).getDay();
        return (
          t < n &&
          (("midweek" == e && 1 == a && 4 == r) ||
            ("weekenddeal" == e && 4 == a && 1 == r))
        );
      }
      return t < n;
    }
    function kR(e) {
      const {
          rtInitialDate: t,
          initialType: n,
          closeModal: s,
          rtInitialEndDate: l,
        } = e,
        [c, d] = i.a.useState(n || "midweek"),
        [u, m] = i.a.useState(""),
        [p, h] = i.a.useState(
          (function (e) {
            const t = e ? new Date(1e3 * e) : new Date();
            return (
              t.setHours(10),
              t.setMinutes(0),
              t.setSeconds(0),
              Math.floor(t.getTime() / 1e3)
            );
          })(t),
        ),
        [_, g] = i.a.useState(
          (function (e, t) {
            if (t) return t;
            let n = e ? new Date(1e3 * e) : new Date();
            return (
              n.setDate(n.getDate() + 1),
              n.setHours(10),
              n.setMinutes(0),
              n.setSeconds(0),
              Math.floor(n.getTime() / 1e3)
            );
          })(t, l),
        ),
        { fnAddNewPlan: b } = WT(),
        { fnAddNewSpotlight: f } = aR(),
        { fmCreateMarketingMessage: v } = $T(),
        [S, y] = i.a.useState(null),
        [E, C] = i.a.useState(!1),
        [w, B] = i.a.useState(!1),
        [O, D] = i.a.useState(void 0),
        [I, T] = i.a.useState(0),
        { fnCreateDiscountEvent: R } = jC(),
        [j, A] = i.a.useState(!0),
        [k, M] = Object(r.useState)(!0),
        [P, L] = Object(r.useState)(!0),
        [G, N] = i.a.useState(!1),
        [F, x] = Object(r.useState)(null),
        [z] = Object(Wn.a)(Object(On.p)(S), Object(On.k)(S), {
          include_assets: !0,
          include_all_purchase_options: !0,
          include_platforms: !0,
        }),
        U = Object(r.useCallback)(
          (e, t, n, a, r, i, s, l, c, d) => {
            b(e, t, n, a, r, i, s, l, c).then((e) => {
              e
                ? (x(e),
                  d ||
                    (window.location.href =
                      o.c.PARTNER_BASE_URL +
                      "promotion" +
                      nA.PromotionPlanEditor(e)))
                : D(
                    "Failed to create promotion, check browser console logs for details",
                  );
            });
          },
          [b],
        ),
        W = Boolean("vacation" == c);
      return i.a.createElement(
        xe.e,
        {
          strTitle: "Create Promotion Planning Entry",
          bDisableBackgroundDismiss: !0,
          bAllowFullSize: !0,
          onCancel: e.closeModal,
          bOKDisabled: 0 == u.trim().length || w || !AR(c, p, _) || (S && !z),
          onOK: () =>
            Object(a.a)(this, void 0, void 0, function* () {
              B(!0);
              let e = null,
                t = null,
                n = null,
                a = null;
              if (j && 0 != I && !E && !W) {
                const t = hR(c, p, z, S);
                yield R(
                  p,
                  _,
                  t,
                  t,
                  TT.get(c),
                  [I],
                  S.appid
                    ? [S.appid]
                    : null == z
                      ? void 0
                      : z.GetIncludedAppIDs(),
                )
                  .then((t) => (e = t.id))
                  .catch((e) => {
                    (a =
                      "Discount Event Creation Failed: " +
                      Object(me.a)(e).strErrorMsg +
                      ". "),
                      D(a);
                  });
              }
              if (k && z && !E && !W) {
                const e = DR(
                  u,
                  "Weekend Deal",
                  p,
                  _,
                  "midweek" == c
                    ? "#spotlight_midweek_madness"
                    : "#spotlight_weekend_deal",
                  "#promo_ends_custom",
                  z,
                );
                yield f(e)
                  .then((e) => {
                    e
                      ? (t = e)
                      : (Boolean(a) || (a = ""),
                        (a += "Spotlight Creation Failed, check console. "),
                        D(a));
                  })
                  .catch((e) =>
                    D(
                      "Spotlight Creation Failed: " +
                        Object(me.a)(e).strErrorMsg,
                    ),
                  );
              }
              if (P && z && !E && !W) {
                const e = yR(u, 2, p, _, "#msg_action_details", z);
                yield v(e)
                  .then((e) => {
                    e
                      ? (n = e)
                      : (Boolean(a) || (a = ""),
                        (a +=
                          "Marketing Message Creation Failed, check console. "),
                        D(a));
                  })
                  .catch((e) =>
                    D(
                      "Marketing Message Creation Failed: " +
                        Object(me.a)(e).strErrorMsg,
                    ),
                  );
              }
              U(
                c,
                u,
                p,
                _,
                e,
                S && !W ? Object(On.p)(S) : void 0,
                S && !W ? Object(On.k)(S) : void 0,
                t,
                n,
                a,
              );
            }),
        },
        i.a.createElement(
          "div",
          { className: BR.Container },
          Boolean(w && !O) &&
            i.a.createElement(ee.a, {
              size: "medium",
              position: "center",
              string: Object($.f)("#Saving"),
            }),
          Boolean(O) &&
            i.a.createElement("div", { className: Ol.ErrorStyles }, O),
          Boolean(F) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement("p", null, "Promotion Plan was created."),
              i.a.createElement(
                "a",
                {
                  href:
                    o.c.PARTNER_BASE_URL +
                    "promotion" +
                    nA.PromotionPlanEditor(F),
                },
                "Open New Plan in Editor",
              ),
            ),
          i.a.createElement(te.C, null, "Choose Promotion Type:"),
          i.a.createElement(MR, { type: c, setType: d }),
          i.a.createElement(te.z, {
            type: "text",
            label: "Promotion Name",
            tooltip:
              "Internal name used for us to identify the promotion, not visible outside of this tool",
            value: u,
            onChange: (e) => {
              var t;
              return m(
                (null === (t = null == e ? void 0 : e.currentTarget) ||
                void 0 === t
                  ? void 0
                  : t.value) || "",
              );
            },
          }),
          i.a.createElement(PR, {
            type: c,
            rtStartTime: p,
            setStartTime: h,
            rtEndTime: _,
            setEndTime: g,
          }),
          Boolean(!W) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement(te.C, null, "Optional Featuring Target:"),
              Boolean(S) &&
                i.a.createElement(iI, {
                  id: Object(On.p)(S),
                  itemType: Object(On.k)(S),
                }),
              i.a.createElement(cI, { oChoice: S, fnSetChoice: y }),
              Boolean(S) &&
                i.a.createElement(
                  i.a.Fragment,
                  null,
                  i.a.createElement(te.f, {
                    label: "Tentative Plan",
                    checked: E,
                    onChange: C,
                    tooltip:
                      "Check if we aren't confirmed on the date and thus do not want to create any specific featuring, but we want to hold onto this time on the calendar",
                  }),
                  Boolean(!E) &&
                    i.a.createElement(
                      i.a.Fragment,
                      null,
                      i.a.createElement(te.f, {
                        label: "Create discount event",
                        checked: j && 0 != I,
                        onChange: A,
                        disabled: 0 == I,
                        tooltip:
                          "Uncheck the box to skip creating the discount event. You can create a discount event separately and associate with the daily deal. The discount event being present will let us find the package discount associated with the daily deal.",
                      }),
                      i.a.createElement(te.f, {
                        label: "Create Spotlight",
                        tooltip:
                          "Create a spotlight for the same duration as the plan. This can be edited seperately or created and linked afterwards.",
                        onChange: M,
                        checked: k,
                      }),
                      i.a.createElement(te.f, {
                        label: "Create Marketing Messsage",
                        tooltip:
                          "Create a Marketing Message for the same duration as the plan. This can be edited seperately or created and linked afterwards.",
                        onChange: L,
                        checked: P,
                      }),
                      i.a.createElement(aI, {
                        nStoreItemID: Object(On.p)(S),
                        eStoreItemType: Object(On.k)(S),
                        nPartnerID: I,
                        setPartnerID: T,
                      }),
                      i.a.createElement(te.f, {
                        label: "Email Partner (TODO)",
                        tooltip:
                          "Request assets and discounts to be entered by partner for promotion",
                        onChange: N,
                        checked: G,
                        disabled: !0,
                      }),
                    ),
                ),
            ),
        ),
      );
    }
    function MR(e) {
      const { type: t, setType: n } = e,
        a = Object(r.useMemo)(() => {
          const e = new Array();
          return (
            e.push({
              label: DT.get("midweek"),
              data: "midweek",
              tooltip: "Runs Monday 10am until Thursday 10am",
            }),
            e.push({
              label: DT.get("weekenddeal"),
              data: "weekenddeal",
              tooltip: "Runs Thursday 10am until Monday 10am",
            }),
            e.push({
              label: DT.get("saleevent"),
              data: "saleevent",
              tooltip:
                "Use for any sales, date range and length not fixed. Include festivals without a discount event.",
            }),
            e.push({
              label: DT.get("informational"),
              data: "informational",
              tooltip:
                "Best to indicate items of interest for example Hawaii.  Or for launch, pre-purchase, FP2 important events in Steam with featuring.",
            }),
            e.push({
              label: DT.get("vacation"),
              data: "vacation",
              tooltip:
                "SteamBiz or adjacent folk away and might need backup coverage",
            }),
            e.push({
              label: DT.get("important"),
              data: "important",
              tooltip:
                "Gives the item a different background color to call it out.",
            }),
            e.push({
              label: DT.get("preload"),
              data: "preload",
              tooltip: "Major game preload being identified",
            }),
            e
          );
        }, []);
      return i.a.createElement(te.m, {
        strDropDownClassName: Fe.a.DropDownScroll,
        rgOptions: a,
        selectedOption: t,
        onChange: (e) => n(e.data),
      });
    }
    function PR(e) {
      const {
        type: t,
        rtStartTime: n,
        setStartTime: a,
        rtEndTime: r,
        setEndTime: s,
      } = e;
      switch (t) {
        case "weekenddeal":
        case "midweek":
          return i.a.createElement(
            "div",
            { className: Object(h.a)(BR.DateCtn, "DateCtn") },
            i.a.createElement(LR, Object.assign({}, e)),
            " ",
          );
      }
      return i.a.createElement(
        "div",
        { className: Object(h.a)(BR.DateCtn, "DateCtn") },
        i.a.createElement(sv, {
          strDescription: "Promotion Start Date/Time",
          nEarliestTime: 0,
          fnGetTimeToUpdate: () => n,
          fnSetTimeToUpdate: a,
          fnIsValidDateTime: () => !0,
          bShowTimeZone: !0,
        }),
        i.a.createElement(sv, {
          strDescription: "Promotion End Date/Time",
          nEarliestTime: 0,
          fnGetTimeToUpdate: () => r,
          fnSetTimeToUpdate: s,
          fnIsValidDateTime: () => !0,
          bShowTimeZone: !0,
        }),
      );
    }
    function LR(e) {
      const { type: t, rtStartTime: n, setStartTime: a, setEndTime: s } = e,
        o = VT(
          104,
          Object(r.useMemo)(() => [t], [t]),
        ),
        l = Object(r.useMemo)(() => {
          var e;
          const n = jT.get(t);
          return null === (e = null == o ? void 0 : o.get(t)) || void 0 === e
            ? void 0
            : e.map((e) => {
                let t = n.nMaxSlots - e.rgPlans.length;
                return (
                  t < 0 && (t = 0),
                  {
                    label: n.fnRenderWeekDisplayForSelection(e.rtWeekStart, t),
                    data: e.rtWeekStart + n.rtStartModifier,
                  }
                );
              });
        }, [o, t]);
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(te.C, null, "Choose a week:"),
        i.a.createElement(te.m, {
          strDropDownClassName: Fe.a.DropDownScroll,
          rgOptions: l,
          selectedOption: n,
          onChange: (e) => {
            const n = jT.get(t);
            a(e.data), s(e.data + n.rtDays * Rc.g.PerDay);
          },
        }),
      );
    }
    var GR = n("fbH8");
    n("e5SK");
    const NR = Object(GR.c)(ei.a);
    function FR(e) {
      const { viewDate: t, fnSetMonthDelta: n } = e,
        [a, s] = i.a.useState(
          (function (e) {
            const t = new URLSearchParams(window.location.search);
            return new Set(
              Array.from(e).filter(
                (e) => !(t.has(e) && 0 == Number.parseInt(t.get(e))),
              ),
            );
          })(OT),
        ),
        o = Object(fa.h)(),
        l = UT(),
        c = jD(),
        [d, u] = i.a.useState(12),
        m = VT(d, AT);
      d < 6 * zR(new Date(), t) && u(6 * zR(new Date(), t));
      const p = Object(r.useMemo)(() => {
        const e = l
          .filter((e) => a.size == BT.length || a.has(e.type))
          .map((e) => ({
            allDay: !1,
            title: (Boolean(e.reviewed_by_account) ? "🗹 " : "☐ ") + e.name,
            start: new Date(1e3 * e.start_date),
            end: new Date(1e3 * (e.end_date - 36e3 - 1)),
            resource: e,
          }));
        let t = [];
        a.has("dailydeal") &&
          (t = c.map((e) => {
            var t;
            return {
              allDay: !1,
              title:
                (e.discount_event_id &&
                (null === (t = gC(e.discount_event_id)) || void 0 === t
                  ? void 0
                  : t.length) > 0
                  ? "🗹 "
                  : "☐ ") + e.name,
              start: new Date(1e3 * e.visibility.startdate),
              end: new Date(1e3 * (e.visibility.startdate + 36e3)),
              resource: e.id,
            };
          }));
        const n = [];
        return (
          a.forEach((e) => {
            var t;
            const a = jT.get(e);
            null === (t = null == m ? void 0 : m.get(e)) ||
              void 0 === t ||
              t.forEach((t) => {
                const r = t.rgPlans.length < a.nMaxSlots;
                n.push({
                  allDay: !1,
                  title:
                    DT.get(e) +
                    " " +
                    (r
                      ? a.nMaxSlots - t.rgPlans.length + " Available"
                      : " No slots"),
                  start: new Date(1e3 * (t.rtWeekStart + a.rtStartModifier)),
                  end: new Date(
                    1e3 * (t.rtWeekStart + a.rtEndModifier - 36e3 - 1),
                  ),
                  resource: t,
                });
              });
          }),
          [...e, ...t, ...n]
        );
      }, [l, a, c, m]);
      return i.a.createElement(
        "div",
        { className: KT.a.CalendarCtn },
        i.a.createElement(xR, {
          rgVisiblePromotionTypes: a,
          fnSetVisiblePromotionTypes: s,
          rgAvailableTypes: BT,
        }),
        i.a.createElement(GR.a, {
          views: ["month"],
          popup: !0,
          defaultView: "month",
          localizer: NR,
          date: t,
          onNavigate: (e) => {
            const t = zR(new Date(), e);
            d < 5 * t && u(5 * t), n(zR(new Date(), e));
          },
          events: p,
          style: { height: 1400 },
          showMultiDayTimes: !0,
          onSelectEvent: (e) => {
            if ("string" == typeof e.resource)
              o.push(nA.DailyDealEditor(e.resource));
            else {
              const t = e.resource;
              t.id
                ? o.push(nA.PromotionPlanEditor(t.id))
                : Object(ze.d)(
                    i.a.createElement(kR, {
                      rtInitialDate: Math.floor(e.start.getTime() / 1e3),
                      initialType: t.type,
                      rtInitialEndDate:
                        Math.floor(e.end.getTime() / 1e3) + 36e3 + 1,
                    }),
                    window,
                  );
            }
          },
          eventPropGetter: (e) => mR(e.resource),
        }),
      );
    }
    function xR(e) {
      const {
        rgVisiblePromotionTypes: t,
        fnSetVisiblePromotionTypes: n,
        rgAvailableTypes: a,
      } = e;
      return i.a.createElement(
        "div",
        { className: KT.a.filtersCtn },
        a.map((e) =>
          i.a.createElement(te.f, {
            key: e,
            label: DT.get(e),
            checked: t.has(e),
            onChange: (a) => {
              const r = new Set(t),
                i = new URLSearchParams(window.location.search);
              a ? (r.add(e), i.delete(e)) : (i.set(e, "0"), r.delete(e)),
                window.history.replaceState({}, "", "?" + i.toString()),
                n(r);
            },
          }),
        ),
      );
    }
    function zR(e, t) {
      return (
        t.getMonth() - e.getMonth() + 12 * (t.getFullYear() - e.getFullYear())
      );
    }
    function UR(e) {
      const t =
          !e.rtStartDate ||
          !e.rtEndDate ||
          Object(Rc.c)(
            new Date(1e3 * e.rtStartDate),
            new Date(1e3 * e.rtEndDate),
          ),
        n =
          e.rtStartDate &&
          e.rtEndDate &&
          Object(Rc.c)(new Date(1e3 * e.rtStartDate), new Date()),
        a = !t && !n,
        r = e.rtStartDate ? Object($.k)(e.rtStartDate, a) : "unset",
        s = e.rtEndDate ? Object($.k)(e.rtEndDate, a) : "unset";
      return i.a.createElement("div", { className: e.className }, r, " - ", s);
    }
    var WR = n("yKoY");
    function HR(e) {
      const { planIDs: t } = e;
      return 0 == (null == t ? void 0 : t.length)
        ? i.a.createElement("div", null, "No Items to Show")
        : i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "div",
              { className: Object(h.a)(WR.Row, WR.Primary) },
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.ItemName) },
                "Plan Name",
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Type) },
                "Promo Type",
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Date) },
                "Date Range",
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Creator) },
                "Plan Owner",
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Creator) },
                "Production Designer",
              ),
            ),
            i.a.createElement(
              "div",
              null,
              t.map((e) => i.a.createElement(VR, { key: e, planID: e })),
            ),
          );
    }
    function VR(e) {
      const { planID: t } = e,
        n = HT(t),
        a = Object(fa.h)();
      return i.a.createElement(
        "div",
        {
          className: WR.RowCtn,
          onClick: () => a.push(nA.PromotionPlanEditor(t)),
          style: mR(n).style,
        },
        i.a.createElement(
          "div",
          { className: Object(h.a)(WR.Row, WR.Primary) },
          i.a.createElement(
            "div",
            { className: Object(h.a)(WR.Col, WR.ItemName) },
            n.name,
          ),
          i.a.createElement(
            "div",
            { className: Object(h.a)(WR.Col, WR.Type) },
            n.type,
          ),
          i.a.createElement(UR, {
            className: Object(h.a)(WR.Col, WR.Date),
            rtStartDate: n.start_date,
            rtEndDate: n.end_date,
          }),
          i.a.createElement(
            "div",
            { className: Object(h.a)(WR.Col, WR.Creator) },
            i.a.createElement(qR, { accountid: n.creator_account_id }),
          ),
          i.a.createElement(
            "div",
            { className: Object(h.a)(WR.Col, WR.Creator) },
            i.a.createElement(qR, { accountid: n.artwork_owner_account_id }),
          ),
        ),
        i.a.createElement("div", { className: WR.Row }),
      );
    }
    function qR(e) {
      const { accountid: t } = e,
        [n, a] = Ce(t);
      return n || !a
        ? i.a.createElement("span", null, t)
        : i.a.createElement("span", null, a.persona_name);
    }
    function KR(e) {
      const { fnResetDirtyPlan: t } = xT(),
        { fnResetDirtyPlanInputPipeline: n } = LT(),
        [a, s] = Rr("tab", "current"),
        [l, c] = Object(r.useState)("");
      i.a.useLayoutEffect(() => {
        t(), n();
      }, [t, n]);
      const [d, u] = Rr("month", 0),
        m = Object(r.useMemo)(() => {
          const e = new Date(),
            t = e.getMonth();
          return 0 != d && e.setDate(1), e.setMonth(t + d), e;
        }, [d]),
        p = UT(),
        [_, g, b, f, S, y, E, C] = Object(r.useMemo)(() => {
          const e = new Array(),
            t = new Array(),
            n = new Array(),
            a = new Array(),
            r = new Array(),
            i = new Array(),
            s = new Array(),
            c = new Array();
          return (
            p.forEach((d) => {
              var u, m, p, h, _;
              let g = !0;
              if ((null == l ? void 0 : l.trim().length) > 0) {
                const e = l.toLocaleLowerCase();
                (g =
                  (null === (u = d.admin_notes) || void 0 === u
                    ? void 0
                    : u.toLocaleLowerCase().indexOf(e)) >= 0 ||
                  (null === (m = d.name) || void 0 === m
                    ? void 0
                    : m.toLocaleLowerCase().indexOf(e)) >= 0 ||
                  ("" + d.store_item_id).indexOf(e) >= 0),
                  g && s.push(d.id);
              }
              if (
                g &&
                ((null === (p = d.watch_list) || void 0 === p
                  ? void 0
                  : p.find((e) => e == o.j.accountid)) && i.push(d.id),
                (d.creator_account_id == o.j.accountid ||
                  (null === (h = d.admin_accounts) || void 0 === h
                    ? void 0
                    : h.find((e) => e == o.j.accountid)) ||
                  d.reviewed_by_account == o.j.accountid ||
                  d.artwork_owner_account_id == o.j.accountid) &&
                  c.push(d.id),
                "vacation" != d.type)
              )
                if (Boolean(d.reviewed_by_account)) r.push(d.id);
                else if (Boolean(d.artwork_completed_time)) a.push(d.id);
                else {
                  const a = ((b = d.id), zT.Get().GetPlanPipelineInputByID(b)),
                    r = (function (e) {
                      return zT.Get().GetPartnerRequestPlanByID(e);
                    })(d.id);
                  Boolean(
                    (null === (_ = null == a ? void 0 : a.input_artwork_urls) ||
                    void 0 === _
                      ? void 0
                      : _.length) > 0,
                  ) || Boolean(r.artwork_approval_accountid)
                    ? n.push(d.id)
                    : Boolean(d.email_asset_request_gid)
                      ? t.push(d.id)
                      : e.push(d.id);
                }
              var b;
            }),
            [e, t, n, a, r, s, i, c]
          );
        }, [p, l]),
        w = (e) => s(e.key),
        B = [
          {
            name: "Calendar",
            key: "current",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(
                qD,
                null,
                i.a.createElement(FR, { viewDate: m, fnSetMonthDelta: u }),
              ),
            ),
            onClick: w,
          },
          {
            name: `Tentative Plans (${(null == _ ? void 0 : _.length) || 0})`,
            key: "tentative",
            tooltip: "Plan is tentative until an artwork URL is entered",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: _ }),
            ),
            onClick: w,
          },
          {
            name: `Awaiting Partner (${(null == g ? void 0 : g.length) || 0})`,
            key: "await_partner",
            tooltip:
              "NOTE: This functionality is not yet built; list will remain empty",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: g }),
            ),
            onClick: w,
          },
          {
            name: `Awaiting Art Team (${(null == b ? void 0 : b.length) || 0})`,
            key: "await_artteam",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: b }),
            ),
            onClick: w,
          },
          {
            name: `Awaiting Review (${(null == f ? void 0 : f.length) || 0})`,
            key: "await_review",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: f }),
            ),
            onClick: w,
          },
          {
            name: `Completed (${(null == S ? void 0 : S.length) || 0})`,
            key: "completed",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: S }),
            ),
            onClick: w,
          },
          {
            name: `Search Results (${(null == y ? void 0 : y.length) || 0})`,
            key: "search",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: y }),
            ),
            onClick: w,
          },
          {
            name: `My Watch List (${(null == E ? void 0 : E.length) || 0})`,
            key: "watch",
            tooltip:
              "You can add yourself to the watchlist on any plans editor (except for daily deals)",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: E }),
            ),
            onClick: w,
          },
          {
            name: `My Plans (${(null == C ? void 0 : C.length) || 0})`,
            key: "mine",
            tooltip: "Plans I created, edited, reviewed or own in some way",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(HR, { planIDs: C }),
            ),
            onClick: w,
          },
        ];
      return i.a.createElement(
        "div",
        {
          className: Object(h.a)(
            KT.a.Container,
            my.a.AdminPageCtn,
            my.a.WidePageCtn,
          ),
        },
        i.a.createElement(
          "div",
          { className: my.a.PageTitle },
          "Promotion Planning Tool (VO) ",
        ),
        i.a.createElement("hr", { className: "VO" }),
        i.a.createElement(
          "div",
          { className: KT.a.CreateNewCtn },
          i.a.createElement(te.z, {
            type: "text",
            placeholder: "Search promos",
            tooltip:
              "Only an in-memory search of plan name, admin notes and store item id",
            value: l,
            onChange: (e) => {
              var t;
              return c(
                (null === (t = null == e ? void 0 : e.currentTarget) ||
                void 0 === t
                  ? void 0
                  : t.value) || "",
              );
            },
          }),
          i.a.createElement(
            te.F,
            {
              onClick: (e) =>
                Object(ze.d)(i.a.createElement(kR, null), Object(v.o)(e)),
            },
            "Create New Promotion",
          ),
        ),
        i.a.createElement(Pf, { tabs: B }),
        i.a.createElement("div", { className: Fe.a.ClearThings }),
        i.a.createElement("hr", { className: "VO" }),
        i.a.createElement(
          "div",
          { className: KT.a.OtherLinks },
          i.a.createElement(
            "a",
            { href: o.c.PARTNER_BASE_URL + "promotion/dailydeals/dashboard" },
            "Edit All Daily Deals Here",
          ),
          i.a.createElement(
            "a",
            {
              href:
                o.c.PARTNER_BASE_URL + "promotion/marketingmessages/dashboard",
            },
            "Edit All Marketing Messages Here",
          ),
          i.a.createElement(
            "a",
            { href: o.c.PARTNER_BASE_URL + "promotion/spotlights/dashboard" },
            "Edit All Spotlights Here",
          ),
        ),
      );
    }
    function QR(e) {
      const t = FT(),
        n = PT(),
        a = t.BIsDirty() || n.BIsDirty();
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("div", null, "Debug Panel"),
        i.a.createElement("hr", null),
        i.a.createElement("div", null, "Is dirty?: ", a ? "true" : "false"),
        i.a.createElement("h1", null, "Admin Model:"),
        i.a.createElement(Xf, { data: t.GetModel() }),
        i.a.createElement("h1", null, "Partner Inputs to Art Pipeline:"),
        i.a.createElement(Xf, { data: n.GetModel() }),
      );
    }
    function YR(e) {
      const { fnBIsPlanDirty: t } = xT(),
        { fnBIsPlanInputPipelineDirty: n } = LT(),
        a = FT(),
        i = PT();
      r.useEffect(
        () => (
          (window.onbeforeunload = () =>
            t() || n() ? Object($.f)("#DailyDeals_UnsavedChanges") : null),
          () => {
            window.onbeforeunload = () => {};
          }
        ),
        [t, n],
      );
      return r.createElement(fa.a, {
        message: (e) =>
          !((a && t()) || (i && n())) ||
          e.pathname == nA.PromotionPlanEditor(a.GetID()) ||
          Object($.f)("#DailyDeals_UnsavedChanges"),
      });
    }
    function ZR(e) {
      const { fnUpdatePlan: t } = WT(),
        n = FT(),
        a = PT(),
        [s, o] = Object(r.useState)(!1),
        [l, c] = Object(r.useState)(!1),
        [d, u] = i.a.useState(!1);
      return i.a.createElement(
        xe.e,
        Object.assign({}, e, {
          onOK: () => {
            s
              ? e.closeModal && e.closeModal()
              : (o(!0),
                c(!0),
                e.onOK && e.onOK(),
                t(n.GetModel(), void 0, a.GetModel())
                  .then((e) => {
                    u(e), n.SaveSuccessClearDirty(), a.SaveSuccessClearDirty();
                  })
                  .catch((e) => u(!1))
                  .finally(() => o(!1)));
          },
          closeModal: null,
          onCancel: () => {
            e.onCancel && e.onCancel(), e.closeModal && e.closeModal();
          },
          bAlertDialog: s,
        }),
        Boolean(l)
          ? i.a.createElement(
              i.a.Fragment,
              null,
              Boolean(s)
                ? i.a.createElement(ee.a, {
                    size: "medium",
                    position: "center",
                    string: Object($.f)("#Saving"),
                  })
                : Boolean(d)
                  ? i.a.createElement(
                      "div",
                      null,
                      "Status update and Save successful",
                    )
                  : i.a.createElement(
                      "div",
                      null,
                      "Save failed. Please try again later (check consoles for details)",
                    ),
            )
          : e.children,
      );
    }
    function JR(e) {
      const { oEditablePlan: t } = e;
      return t.BHasArtworkOwner()
        ? t.BIsArtworkCompleted()
          ? i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement(te.C, null, "Production Design Owner:"),
              i.a.createElement(
                "div",
                null,
                i.a.createElement(hv, { accountID: t.GetArtworkOwner() }),
              ),
              i.a.createElement("br", null),
              i.a.createElement(te.C, null, "Complete upon:"),
              i.a.createElement(ej, { rtime: t.GetArtworkCompleteTime() }),
            )
          : i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement(te.C, null, "Production Design Owner:"),
              i.a.createElement(hv, { accountID: t.GetArtworkOwner() }),
              i.a.createElement(
                "div",
                null,
                i.a.createElement(
                  te.e,
                  {
                    onClick: (e) =>
                      Object(ze.d)(
                        i.a.createElement(XR, {
                          oEditablePlan: t,
                          bTakeOwnership: !1,
                        }),
                        Object(v.o)(e),
                      ),
                  },
                  "Clear Production Design Ownership",
                ),
                i.a.createElement(
                  te.e,
                  {
                    onClick: (e) =>
                      Object(ze.d)(
                        i.a.createElement($R, { oEditablePlan: t }),
                        Object(v.o)(e),
                      ),
                  },
                  "Mark Production Design Completed",
                ),
              ),
            )
        : i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(te.C, null, "Production Design Owner:"),
            i.a.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(
                    i.a.createElement(XR, {
                      oEditablePlan: t,
                      bTakeOwnership: !0,
                    }),
                    Object(v.o)(e),
                  ),
              },
              "Claim Production Design Ownership",
            ),
          );
    }
    function XR(e) {
      const { oEditablePlan: t, closeModal: n, bTakeOwnership: a } = e;
      return i.a.createElement(ZR, {
        strTitle: a
          ? "Claim Ownership of Production Design?"
          : "Remove ownership of production design",
        strDescription: a
          ? "Do you want to cliam ownership of the artwork and localizations required for this plans promotion?"
          : "Remove the current owner of the production design on this event?",
        closeModal: n,
        onOK: () => {
          a
            ? t.SetArtworkOwnerAccountID(o.j.accountid)
            : t.SetArtworkOwnerAccountID(null);
        },
      });
    }
    function $R(e) {
      const { oEditablePlan: t, closeModal: n } = e;
      return i.a.createElement(
        ZR,
        {
          strTitle: "Complete the production Design",
          strDescription:
            "Please verify the production design aspect is completed. All of the localized artwork is uploading into each of the appropriate featuring for this plan.",
          closeModal: n,
          onOK: () =>
            t.SetArtworkCompleted(Math.floor(new Date().getTime() / 1e3)),
        },
        i.a.createElement("br", null),
        i.a.createElement(Bj, { oEditablePlan: t }),
      );
    }
    function ej(e) {
      return i.a.createElement(
        i.a.Fragment,
        null,
        Object($.k)(e.rtime),
        "\t@",
        Object(Tc.g)(e.rtime, { bForce24HourClock: !1 }),
      );
    }
    function tj(e) {
      const { oEditablePlan: t } = e,
        n = Object(zt.d)(() => t.BOnWatchList(o.j.accountid));
      return i.a.createElement(
        "div",
        { className: my.a.RightCol },
        i.a.createElement(
          "div",
          { className: my.a.SectionCtn },
          i.a.createElement(te.C, null, "Status:"),
          i.a.createElement(aj, { oEditablePlan: t }),
        ),
        i.a.createElement(
          "div",
          { className: my.a.SectionCtn },
          i.a.createElement(JR, { oEditablePlan: t }),
        ),
        i.a.createElement(
          "div",
          { className: my.a.SectionCtn },
          i.a.createElement(nj, { oEditablePlan: t }),
        ),
        i.a.createElement(
          "div",
          { className: my.a.SectionCtn },
          i.a.createElement(te.C, null, "Created By:"),
          i.a.createElement(hv, { accountID: t.GetCreatorAccountID() }),
        ),
        Boolean(t.GetPlan().last_modified_account) &&
          i.a.createElement(
            "div",
            { className: my.a.SectionCtn },
            i.a.createElement(te.C, null, "Last Updated By:"),
            i.a.createElement(hv, {
              accountID: t.GetPlan().last_modified_account,
            }),
            " at ",
            i.a.createElement(ej, { rtime: t.GetPlan().last_modified_time }),
          ),
        i.a.createElement(
          "div",
          { className: my.a.SectionCtn },
          i.a.createElement(
            te.e,
            {
              onClick: () => {
                t.BOnWatchList(o.j.accountid)
                  ? t.RemoveFromWatchList(o.j.accountid)
                  : t.AddToWatchList(o.j.accountid);
              },
            },
            n ? "Remove Me From Watch List" : "Add Me To Watch List",
          ),
        ),
      );
    }
    function nj(e) {
      const t = new URLSearchParams(),
        { oEditablePlan: n } = e;
      return (
        t.set("name", n.GetModel().name),
        t.set("dailydealid", n.GetID()),
        t.set("start", "" + n.GetStartDate()),
        i.a.createElement(
          "a",
          {
            href:
              o.c.PARTNER_BASE_URL + "public/downloadics.php?" + t.toString(),
          },
          i.a.createElement("span", {
            className: "iconLink icon_download icon_inline",
          }),
          "Download Calendar Reminder Event",
        )
      );
    }
    function aj(e) {
      const { oEditablePlan: t } = e;
      if (Object(zt.d)(() => t.BIsReviewed())) {
        const e = t.GetReviewedAccount();
        return i.a.createElement(
          i.a.Fragment,
          null,
          i.a.createElement(
            "div",
            { className: oR.ReviewedCtn },
            i.a.createElement(
              "div",
              { className: oR.ReviewedSummary },
              i.a.createElement(wI.d, null),
              i.a.createElement("span", null, " Reviewed and ready to go! "),
            ),
            i.a.createElement(
              "div",
              null,
              i.a.createElement(hv, { accountID: e }),
            ),
            i.a.createElement(
              "div",
              null,
              "Reviewed At ",
              Object($.k)(t.GetReviewedTime()),
              "@ ",
              Object(Tc.g)(t.GetReviewedTime(), { bForce24HourClock: !1 }),
            ),
          ),
          i.a.createElement(
            te.e,
            {
              className: oR.StatusBtn,
              onClick: (e) =>
                Object(ze.d)(
                  i.a.createElement(rj, {
                    oEditablePlan: t,
                    bReviewVerify: !1,
                  }),
                  Object(v.o)(e),
                ),
            },
            "Remove Reviewed Status",
          ),
        );
      }
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement("div", { className: oR.ReviewedCtn }, "Incomplete"),
        i.a.createElement(
          te.e,
          {
            className: oR.StatusBtn,
            onClick: (e) =>
              Object(ze.d)(
                i.a.createElement(rj, { oEditablePlan: t, bReviewVerify: !0 }),
                Object(v.o)(e),
              ),
          },
          "Mark as Reviewed",
        ),
      );
    }
    function rj(e) {
      const { oEditablePlan: t, closeModal: n, bReviewVerify: a } = e;
      return i.a.createElement(
        ZR,
        {
          strTitle: a ? "Plan Review?" : "Clear Plan Review Status",
          strDescription: a
            ? "Is the Plan Reviewed?"
            : "Remove the review status from this plan?",
          closeModal: n,
          onOK: () => {
            a
              ? t.SetReviewedAccountAndTime(
                  o.j.accountid,
                  Math.floor(new Date().getTime() / 1e3),
                )
              : t.ClearReviewedStatus();
          },
        },
        Boolean(a) &&
          i.a.createElement(
            i.a.Fragment,
            null,
            i.a.createElement(
              "p",
              null,
              "Have you verified the dates, settings, discounts, and assets are ready for all of the links below?",
            ),
            i.a.createElement(Bj, { oEditablePlan: t }),
          ),
      );
    }
    class ij {
      constructor() {
        (this.m_mapPartnerCommList = new Map()),
          (this.m_mapPartnerCallbackList = new Map()),
          (this.m_promiseLoadPartnerContacts = new Map());
      }
      GetAllPromotionContacts(e) {
        return this.m_mapPartnerCommList.get(e);
      }
      GetListChangeCallback(e) {
        return (
          this.m_mapPartnerCallbackList.has(e) ||
            this.m_mapPartnerCallbackList.set(e, new g.a()),
          this.m_mapPartnerCallbackList.get(e)
        );
      }
      LoadPartnerContactList(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            0 == e ||
            null == e ||
            null == e ||
            (this.m_promiseLoadPartnerContacts.has(e) ||
              this.m_promiseLoadPartnerContacts.set(
                e,
                this.InternalLoadPartnerContactList(e),
              ),
            this.m_promiseLoadPartnerContacts.get(e))
          );
        });
      }
      InternalLoadPartnerContactList(e) {
        var t;
        return Object(a.a)(this, void 0, void 0, function* () {
          let n = null;
          try {
            const a = { partnerid: e, sessionid: o.c.SESSIONID },
              r =
                o.c.PARTNER_BASE_URL +
                "promotion/planning/ajaxuserwithreceivecommunications",
              i = yield F.a.get(r, { params: a, withCredentials: !0 });
            if (
              200 == (null == i ? void 0 : i.status) &&
              1 ==
                (null === (t = null == i ? void 0 : i.data) || void 0 === t
                  ? void 0
                  : t.success)
            )
              return (
                this.m_mapPartnerCommList.set(e, i.data.accountids),
                this.GetListChangeCallback(e).Dispatch(i.data.accountids),
                !0
              );
            n = Object(me.a)(null == i ? void 0 : i.data);
          } catch (e) {
            n = Object(me.a)(e);
          }
          return (
            console.error(
              "CPartnerContactStore.InternalLoadPartnerContactList: ajax request failed with error: " +
                n.strErrorMsg,
              n,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          ij.s_Singleton ||
            ((ij.s_Singleton = new ij()),
            "dev" == o.c.WEB_UNIVERSE &&
              (window.g_PartnerContactStore = ij.s_Singleton)),
          ij.s_Singleton
        );
      }
    }
    function sj(e) {
      const { nPartnerID: t } = e,
        [n, a] = Object(r.useState)(!1),
        s = (function (e) {
          const [t, n] = Object(r.useState)(
            ij.Get().GetAllPromotionContacts(e),
          );
          return (
            Object(r.useEffect)(() => {
              ij.Get().LoadPartnerContactList(e);
            }, [e]),
            Object(u.e)(ij.Get().GetListChangeCallback(e), n),
            t
          );
        })(t);
      return i.a.createElement(
        "div",
        null,
        (null == s ? void 0 : s.length) > 0
          ? i.a.createElement(
              te.e,
              {
                onClick: () => {
                  Object(ze.d)(
                    i.a.createElement(lj, { rgAccountIDs: s }),
                    window,
                  );
                },
              },
              "See existing Partner's Contact List (",
              s.length,
              ")",
            )
          : i.a.createElement(
              "span",
              null,
              "Partner does not have any users with communication preference enabeld.",
            ),
        n
          ? i.a.createElement(oj, null)
          : i.a.createElement(
              te.e,
              { onClick: () => a(!0) },
              "Add more contacts?",
            ),
      );
    }
    function oj(e) {
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          null,
          "Partner Contants ",
          i.a.createElement("span", null, "(one per line)"),
        ),
        i.a.createElement("textarea", {
          cols: 60,
          value: "",
          onChange: (e) => {},
        }),
      );
    }
    function lj(e) {
      const { rgAccountIDs: t, closeModal: n } = e,
        { fnHintLoadPartnerUserInfo: a } = tD(),
        s = Object(r.useMemo)(
          () => t.map((e) => de.a.InitFromAccountID(e).ConvertTo64BitString()),
          [t],
        ),
        [o, l] = Object(r.useState)(!0);
      return (
        Object(r.useEffect)(() => {
          a(s).finally(() => l(!1));
        }, [s, a]),
        o
          ? i.a.createElement(ee.a, null)
          : i.a.createElement(
              xe.e,
              {
                strTitle: "Partner Contact List",
                bAlertDialog: !0,
                closeModal: n,
              },
              i.a.createElement(
                "p",
                null,
                "This is the list of existing members of the Partner who have opted into promotion related communication. They will be notified to take action on this request.",
              ),
              t.map((e) => i.a.createElement(cj, { key: e, accountID: e })),
            )
      );
    }
    function cj(e) {
      const { accountID: t } = e,
        n = $O(t);
      return i.a.createElement(
        "div",
        null,
        Boolean(n)
          ? i.a.createElement(
              "div",
              null,
              i.a.createElement("span", null, "Persona: ", n.persona),
              " -",
              i.a.createElement("span", null, "Name: ", n.accountname),
              " -",
              i.a.createElement("span", null, "Email Address:", n.email),
            )
          : i.a.createElement(
              "div",
              null,
              "SteamID: ",
              de.a.InitFromAccountID(t).ConvertTo64BitString(),
              " ",
            ),
      );
    }
    function dj(e) {
      const { oEditablePlan: t } = e,
        n = t.GetFeaturedItemType(),
        a = nI(t.GetFeaturedItemID(), n),
        r = PT();
      return i.a.createElement(
        LD,
        {
          title: "Email Management",
          tooltip:
            "Allows you to send email notificaiton and see what we have previously sent to partners related to this plan",
          bStartMinimized: !0,
        },
        i.a.createElement(
          "div",
          null,
          "NOTE: This tech is not complete. We cannot yet send emails to partners for promotion planning",
        ),
        i.a.createElement(sj, {
          nPartnerID: (null == a ? void 0 : a.length) > 0 && a[0].partner_id,
        }),
        i.a.createElement(
          "p",
          null,
          "Bypass the email workflow by submitting the dropbox or google drive link on the Partner behalf. By saving this, it will move the plan to require the artwork teams attention. NOTE: Since the email tech isn't complete, you will need to notify them there is for them",
        ),
        i.a.createElement(cR, {
          name: "Dropbox or Google Drive Link",
          index: 0,
          placeHolder:
            "Any link to a location such as Dropbox or Box or Google Drive that the partner has prepared and uploaded their art for the promotion.",
          id: r.GetInputArtworkURLs(0),
          fnSetID: r.SetInputArtworkURL,
          fnGetURL: (e) => e,
        }),
      );
    }
    var uj = n("VUXn");
    n("nn/o");
    class mj {
      constructor() {
        (this.m_mapEventGIDToSolrData = new Map()),
          (this.m_listEvents = new Array());
      }
      BHasSolrEvent(e) {
        return this.m_mapEventGIDToSolrData.has(e);
      }
      GetAllSolrEvents() {
        return this.m_listEvents;
      }
      static Get() {
        return mj.s_Singleton || (mj.s_Singleton = new mj()), mj.s_Singleton;
      }
      ClearAllSolrEvents() {
        (this.m_mapEventGIDToSolrData = new Map()),
          (this.m_listEvents = new Array());
      }
      LoadPartnerEventForQueryIncremental(e, t = 0, n = 10, r, i, s, o, l, c) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = yield this.GetLatestPartnerEvents(
            e,
            t,
            n,
            r,
            i,
            s,
            o,
            l,
            c,
          );
          let d = new Array();
          return (
            Object(L.G)(() => {
              a.forEach((e) => {
                this.m_mapEventGIDToSolrData.has(e.unique_id) ||
                  (d.push(e),
                  this.m_mapEventGIDToSolrData.set(e.unique_id, e),
                  this.m_listEvents.push(e));
              });
            }),
            d
          );
        });
      }
      GetLatestPartnerEvents(e, t = 0, n = 10, r, i, s, l, c, d, u, m, p, h) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a =
              o.c.STORE_BASE_URL + "events_admin/ajaxgetlatestpartnerevents",
            _ = {
              page: t,
              count: n,
              date: l,
              appids: void 0 === r ? void 0 : r.join(","),
              required_tags: void 0 === i ? void 0 : i.join(","),
              exclude_tags: void 0 === s ? void 0 : s.join(","),
              eventtypefilter: void 0 === c ? void 0 : c.join(","),
              orderByVisibility: d || void 0,
              creator_home_clan_id: void 0 === u ? void 0 : u.join(","),
              showUnpublished: void 0 === p ? void 0 : p,
              sale_only: void 0 === h ? void 0 : h,
              term: void 0 === m ? void 0 : m,
            },
            g = yield F.a.get(a, {
              params: _,
              withCredentials: !0,
              cancelToken: e ? e.token : void 0,
            });
          return g.data ? g.data.docs : [];
        });
      }
    }
    Object(a.b)([L.C], mj.prototype, "m_mapEventGIDToSolrData", void 0),
      Object(a.b)([L.C], mj.prototype, "m_listEvents", void 0),
      Object(a.b)([L.k], mj.prototype, "ClearAllSolrEvents", null);
    var pj = n("0BPb");
    function hj(e) {
      const {
          fnSetEvent: t,
          strLabel: n,
          strPlaceholder: i,
          strToolTip: s,
          bShowHidden: l,
          strFilterClanSteamID: d,
          bFilterToSales: u,
        } = e,
        [m, p] = r.useState(null),
        h = r.useRef(),
        _ = r.useRef(null),
        g = r.useCallback(
          (e) => {
            var n;
            const a = Object(_e.a)(
              r.createElement(
                qe.c,
                { className: pj.SearchResults },
                e.map((e) =>
                  r.createElement(
                    qe.d,
                    {
                      key: e.gidClanEvent,
                      onSelected: () => {
                        (h.current.element.value = ""), t(e);
                      },
                    },
                    r.createElement(
                      "div",
                      { style: { display: "flex", alignItems: "center" } },
                      Object(Mn.b)(e.name),
                      " ",
                      r.createElement("span", null, "(", e.gidClanEvent, ")"),
                      " ",
                      r.createElement(
                        "span",
                        { className: pj.SmallText },
                        "(",
                        Object(Wa.b)(e.type),
                        ")",
                      ),
                    ),
                  ),
                ),
              ),
              null === (n = null == h ? void 0 : h.current) || void 0 === n
                ? void 0
                : n.element,
              {
                bOverlapHorizontal: !0,
                bMatchWidth: !0,
                bFitToWindow: !0,
                bDisablePopTop: !0,
              },
            );
            a.SetOnHideCallback(() => p(null)), p(a);
          },
          [t],
        ),
        b = r.useCallback(
          (e) =>
            Object(a.a)(this, void 0, void 0, function* () {
              const t = String(e.target.value);
              if (!t || 0 == t.trim().length) return;
              const n = Object(c.PchLanguageToELanguage)(o.c.LANGUAGE);
              if (
                t.toLocaleLowerCase().startsWith(o.c.STORE_BASE_URL) ||
                t.toLocaleLowerCase().startsWith(o.c.COMMUNITY_BASE_URL) ||
                t
                  .toLocaleLowerCase()
                  .startsWith("https://store.steampowered.com/") ||
                t
                  .toLocaleLowerCase()
                  .startsWith("https://store.steamchina.com/") ||
                t.toLocaleLowerCase().startsWith("https://steamcommunity.com/")
              ) {
                const e = [],
                  a = /app\/(\d+)\/view\/(\d+)\/?$/.exec(t),
                  r = /group\/(\d+)\/view\/(\d+)\/?$/.exec(t),
                  i = /groups\/(\w+)\/announcements\/detail\/(\d+)+\/?$/.exec(
                    t,
                  ),
                  s = /games\/(\d+)\/announcements\/detail\/(\d+)+\/?$/.exec(t),
                  o = /games\/(\w+)\/announcements\/detail\/(\d+)+\/?$/.exec(t),
                  c = /groups\/(\w+)\/partnerevents\/edit\/(\d+)+/.exec(t),
                  d = /games\/(\d+)\/partnerevents\/edit\/(\d+)+/.exec(t),
                  u = /games\/(\w+)\/announcements\/detail\/(\d+)+\/?$/.exec(t);
                let m = null,
                  p = null,
                  h = null,
                  b = null,
                  f = null,
                  v = null;
                if ((null == a ? void 0 : a.length) >= 3)
                  (m = Number.parseInt(a[1])), (b = a[2]);
                else if ((null == r ? void 0 : r.length) >= 3)
                  (h = Number.parseInt(r[1])), (b = r[2]);
                else if ((null == i ? void 0 : i.length) >= 3)
                  (p = i[1]), (f = i[2]);
                else if ((null == s ? void 0 : s.length) >= 3)
                  (m = Number.parseInt(s[1])), (f = s[2]);
                else if ((null == o ? void 0 : o.length) >= 3) {
                  let e = o[1];
                  f = o[2];
                  let t = yield wt.a.LoadOGGClanInfoForIdentifier(e);
                  t && (m = t.appid);
                } else if ((null == c ? void 0 : c.length) >= 3)
                  (p = c[1]), (b = c[2]);
                else if ((null == d ? void 0 : d.length) >= 3)
                  (m = Number.parseInt(d[1])), (b = d[2]);
                else if ((null == u ? void 0 : u.length) >= 3) {
                  const e = u[1];
                  f = u[2];
                  const t = yield wt.a.LoadOGGClanInfoForIdentifier(e);
                  t && (m = t.appid);
                }
                if (m)
                  b
                    ? (v = yield St.b.LoadPartnerEventFromClanEventGID(m, b, 0))
                    : f &&
                      (v = yield St.b.LoadPartnerEventFromAnnoucementGID(
                        m,
                        f,
                        0,
                      ));
                else {
                  let e = null;
                  if ((h && (e = de.a.InitFromClanID(h)), p)) {
                    e = (yield wt.a.LoadOGGClanInfoForGroupVanity(p))
                      .clanSteamID;
                  }
                  if (l) {
                    const t = !0;
                    f && e
                      ? (v =
                          yield St.b.LoadPartnerEventFromAnnoucementGIDAndClanSteamID(
                            e,
                            f,
                            0,
                            t,
                          ))
                      : b &&
                        e &&
                        (v =
                          yield St.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
                            e,
                            b,
                            0,
                            t,
                          ));
                  } else
                    f && e
                      ? (v =
                          yield St.b.LoadPartnerEventFromAnnoucementGIDAndClanSteamID(
                            e,
                            f,
                            0,
                          ))
                      : b &&
                        e &&
                        (v =
                          yield St.b.LoadPartnerEventFromClanEventGIDAndClanSteamID(
                            e,
                            b,
                            0,
                          ));
                }
                if (v)
                  return (
                    e.push({
                      name: v.GetNameWithFallback(n),
                      type: v.GetEventType(),
                      clanSteamID: v.clanSteamID,
                      gidClanAnnouncement: v.GetAnnouncementGID(),
                      gidClanEvent: v.GID,
                    }),
                    void g(e)
                  );
                _.current &&
                  (window.clearTimeout(_.current), (_.current = null));
              }
              _.current = window.setTimeout(
                () =>
                  Object(a.a)(this, void 0, void 0, function* () {
                    let e = null;
                    if (d) {
                      const n = Un.a.GetCreatorHome(new de.a(d));
                      e = yield mj
                        .Get()
                        .GetLatestPartnerEvents(
                          F.a.CancelToken.source(),
                          0,
                          20,
                          n.GetAppIDList(),
                          void 0,
                          void 0,
                          void 0,
                          void 0,
                          !0,
                          [n.GetClanAccountID()],
                          t,
                          !0,
                          u,
                        );
                    } else
                      e = yield mj
                        .Get()
                        .GetLatestPartnerEvents(
                          F.a.CancelToken.source(),
                          0,
                          20,
                          void 0,
                          void 0,
                          void 0,
                          void 0,
                          void 0,
                          !0,
                          void 0,
                          t,
                          !0,
                          u,
                        );
                    const n = e.map((e) => ({
                      name: e.event_name,
                      type: Number.parseInt(e.event_type),
                      clanSteamID: new de.a(e.clan_steamid),
                      gidClanAnnouncement: e.announcement_gid,
                      gidClanEvent: e.unique_id,
                    }));
                    g(n);
                  }),
                300,
              );
            }),
          [g],
        );
      return r.createElement(te.z, {
        onBlur: () => {
          setTimeout(() => (null == m ? void 0 : m.Hide()), 200);
        },
        ref: h,
        type: "text",
        label: null != n ? n : Object($.f)("#Sale_EnterEventsURL_Common"),
        placeholder: i,
        onChange: b,
        tooltip:
          null != s ? s : Object($.f)("#Sale_EnterEventsURL_Tooltip_Common"),
      });
    }
    function _j(e) {
      const { oEditablePlan: t } = e;
      return i.a.createElement(
        "div",
        { className: oR.LinkCtn },
        i.a.createElement(te.C, null, "Associated Sale Event:"),
        Boolean(t.BHasAssociatedSaleEvent())
          ? i.a.createElement(
              "a",
              { href: t.GetSaleEditEventURL(), target: "_blank" },
              "Associated Sale - Edit Link",
            )
          : i.a.createElement("div", null, "None"),
        i.a.createElement("br", null),
        i.a.createElement(
          "div",
          null,
          "Remember to login into the Steam Store with Valve Admin for this Search to find hidden events.",
        ),
        i.a.createElement(hj, {
          strLabel: "Sale Page Editor",
          strPlaceholder:
            "URL like http://steamcommunity.com/groups/Valve/partnerevents/edit/79358903956603577",
          strToolTip: "This sale page does not have to be public to be linked.",
          fnSetEvent: (e) =>
            t.SetSaleEvent(e.gidClanEvent, e.clanSteamID.GetAccountID()),
          bFilterToSales: !0,
          bShowHidden: !0,
        }),
        i.a.createElement(bj, { oEditablePlan: t }),
        i.a.createElement(
          "div",
          { className: oR.ButtonRow },
          i.a.createElement(
            te.e,
            {
              onClick: (e) => {
                Object(ze.d)(
                  i.a.createElement(gj, { oEditablePlan: t }),
                  Object(v.o)(e),
                );
              },
            },
            "Create New Sale Page",
          ),
        ),
      );
    }
    function gj(e) {
      const { oEditablePlan: t, closeModal: n } = e,
        [a, s] = Object(r.useState)(t.BHasAssociatedSaleEvent());
      return a
        ? i.a.createElement(xe.e, {
            strTitle: "Create New Sale Page?",
            strDescription: `You already have Sale Page with ID ${t.GetSaleEditEventURL()} associated with this promotion plan.  Are you sure you want to create a new one?`,
            onCancel: n,
            onOK: () => s(!1),
            strOKButtonText: "Create New Sale Page Anyways",
          })
        : i.a.createElement(vO, {
            fnSetSalePageInfo: t.SetSaleEvent,
            closeModal: n,
          });
    }
    function bj(e) {
      const { oEditablePlan: t } = e,
        n = Object(uj.a)(t.GetSaleClanAccountID(), t.GetSaleClanEventGID(), !0);
      return n
        ? i.a.createElement(dR, {
            name: "View Sale Store Page: " + n.GetSaleVanity(),
            id: n.GetSaleVanity(),
            fnGetURL: (e) => n.GetSaleURL(),
          })
        : null;
    }
    function fj(e) {
      const { oEditablePlan: t } = e,
        n = PT(),
        a = Object(zt.d)(() => t.BIsDirty() || n.BIsDirty());
      return i.a.createElement(
        "div",
        { className: oR.ButtonRow },
        i.a.createElement(
          te.F,
          {
            onClick: (e) =>
              Object(ze.d)(i.a.createElement(vj, null), Object(v.o)(e)),
          },
          Object($.f)(a ? "#Button_Save" : "#Button_Saved"),
        ),
        i.a.createElement("div", { className: oR.ButtonRowSpacer }),
        i.a.createElement(
          te.e,
          {
            onClick: (e) => {
              Object(ze.d)(
                i.a.createElement(Sj, { oEditablePlan: t }),
                Object(v.o)(e),
              );
            },
          },
          Object($.f)("#Button_Delete"),
        ),
        i.a.createElement(
          te.e,
          {
            disabled: !a,
            onClick: (e) =>
              Object(ze.d)(
                i.a.createElement(xe.e, {
                  strTitle: Object($.f)("#Dialog_AreYouSure"),
                  strDescription: Object($.f)("#DailyDeals_UnsavedChanges"),
                  onOK: () => t.RevertChanges(),
                }),
                Object(v.o)(e),
              ),
          },
          Object($.f)("#Button_Revert"),
        ),
      );
    }
    function vj(e) {
      const { closeModal: t } = e,
        n = FT(),
        a = PT(),
        { fnUpdatePlan: r } = WT(),
        [s, o] = i.a.useState(!0),
        [l, c] = i.a.useState(!1);
      return (
        i.a.useEffect(() => {
          r(n.GetModel(), void 0, a.GetModel())
            .then((e) => {
              c(e), n.SaveSuccessClearDirty(), a.SaveSuccessClearDirty();
            })
            .catch((e) => c(!1))
            .finally(() => o(!1));
        }, []),
        i.a.createElement(
          xe.e,
          { strTitle: "Saving", bAlertDialog: !0, closeModal: t },
          Boolean(s)
            ? i.a.createElement(ee.a, {
                size: "medium",
                position: "center",
                string: Object($.f)("#Saving"),
              })
            : Boolean(l)
              ? i.a.createElement("div", null, "Save successful")
              : i.a.createElement(
                  "div",
                  null,
                  "Save failed. Please try again later (check consoles for details)",
                ),
        )
      );
    }
    function Sj(e) {
      const { oEditablePlan: t, closeModal: n } = e,
        [a, r] = i.a.useState(!1),
        [s, l] = i.a.useState(void 0),
        { fnDeletePlan: c } = WT();
      return i.a.createElement(
        xe.e,
        {
          strTitle: "Remove Promotion Plan?",
          strDescription:
            "Are you sure you want to remove the promotion plan for the following? This can't be undone, but a new one can be created if needed.  This will only delete the promotion plan itself; this has no effect on the discount event or other associated featuring of the plan.",
          onCancel: n,
          onOK: () => {
            r(!0),
              c(t.GetModel().id).then((e) => {
                e
                  ? (window.location.href =
                      o.c.PARTNER_BASE_URL + "promotion/planning/dashboard")
                  : l("Failed To Delete, check console");
              });
          },
          bOKDisabled: a,
        },
        Boolean(t.BHasFeaturedStoreItem()) &&
          i.a.createElement(yj, {
            id: t.GetModel().store_item_id,
            storeItemType: t.GetModel().store_item_type,
          }),
        Boolean(a && !s) &&
          i.a.createElement(ee.a, {
            size: "medium",
            position: "center",
            string: Object($.f)("#Deleting"),
          }),
        Boolean(s) &&
          i.a.createElement("div", { className: Ol.ErrorStyles }, s),
      );
    }
    function yj(e) {
      const { id: t, storeItemType: n } = e,
        [a] = Object(Wn.a)(t, n, {
          include_basic_info: !0,
          include_assets: !0,
        });
      return a
        ? i.a.createElement(
            "div",
            null,
            i.a.createElement("img", {
              src:
                a.GetAssets().GetSmallCapsuleURL() ||
                a.GetAssets().GetHeaderURL(),
            }),
            i.a.createElement(
              "span",
              null,
              "Name: ",
              a.GetName(),
              " (",
              a.GetID(),
              ")",
            ),
          )
        : i.a.createElement(ee.a, {
            size: "medium",
            position: "center",
            string: Object($.f)("#Loading"),
          });
    }
    function Ej(e) {
      const {
          storeItemID: t,
          storeItemType: n,
          closeModal: a,
          fnSetStoreItemFeature: i,
        } = e,
        [s, o] = r.useState(Object(On.f)(t, n));
      return r.createElement(
        xe.e,
        {
          strTitle: "Update Item Featuring",
          bDisableBackgroundDismiss: !0,
          onOK: () => {
            s && i(Object(On.p)(s), Object(On.k)(s)), a();
          },
          onCancel: a,
        },
        Boolean(s)
          ? r.createElement(iI, { id: t, itemType: n })
          : r.createElement("div", null, "No featured store item selected."),
        r.createElement(cI, { oChoice: s, fnSetChoice: o }),
      );
    }
    function Cj(e) {
      const { planid: t } = e,
        n = HT(t),
        a = (function (e) {
          const [t, n] = i.a.useState(zT.Get().GetPlanPipelineInputByID(e));
          return (
            Object(r.useEffect)(() => {}, []),
            Object(u.e)(zT.Get().GetPlanChangeCallback(e), (e) =>
              n(zT.Get().GetPlanPipelineInputByID(e.id)),
            ),
            t
          );
        })(t),
        [s, o] = i.a.useState(!1);
      if (
        (i.a.useLayoutEffect(() => {
          var e;
          n &&
            a &&
            (null === (e = NT.Get().GetPromotionPlanToEdit()) || void 0 === e
              ? void 0
              : e.GetID()) != n.id &&
            (!(function (e, t = !1) {
              NT.Get().InitPromotionPlanToEdit(e, t);
            })(n),
            (function (e, t, n = !1) {
              MT.Get().InitPromotionPlanToEdit(e, t, n);
            })(n.id, a),
            o(!0));
        }, [n, a, t]),
        !n)
      )
        return i.a.createElement(
          "div",
          null,
          i.a.createElement("div", null, "Promotion Plan does not exist."),
          i.a.createElement(
            In.b,
            { to: "/planning/dashboard/" },
            "Return to Promotion Planning Dashboard.",
          ),
        );
      if (!s)
        return i.a.createElement(ee.a, {
          size: "medium",
          position: "center",
          string: Object($.f)("#Loading"),
        });
      const l = (e) =>
          window.sessionStorage.setItem("editorCurrentTab", `?tab=${e.key}`),
        c = [
          {
            name: "Editor Tab",
            key: "editor",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(wj, null),
            ),
            onClick: l,
          },
          {
            name: "Debug Tab",
            key: "debug",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(QR, null),
            ),
            onClick: l,
          },
        ];
      return i.a.createElement(
        "div",
        { className: my.a.AdminPageCtn },
        i.a.createElement(YR, null),
        i.a.createElement(
          In.b,
          {
            to:
              "/planning/dashboard/" +
              (window.sessionStorage.getItem("promotionPageIndex") || ""),
            className: my.a.DashLink,
          },
          i.a.createElement(H.c, { angle: 270 }),
          i.a.createElement("div", null, "Return to Dashboard"),
        ),
        i.a.createElement(Pf, { tabs: c }),
        i.a.createElement("div", { className: Fe.a.ClearThings }),
      );
    }
    function wj(e) {
      const t = FT();
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          { className: oR.EditCtn },
          i.a.createElement(
            "div",
            { className: my.a.PageTitle },
            "Promotion Plan - Edit Details",
          ),
          i.a.createElement("hr", null),
          i.a.createElement(
            "div",
            { className: my.a.ColumnCtn },
            i.a.createElement(
              "div",
              { className: my.a.LeftCol },
              i.a.createElement(
                "div",
                { className: my.a.SectionCtn },
                i.a.createElement(te.z, {
                  type: "text",
                  label: "Promotion Name",
                  className: oR.PromoName,
                  value: t.GetName(),
                  onChange: (e) => {
                    var n;
                    return t.SetName(
                      (null === (n = null == e ? void 0 : e.currentTarget) ||
                      void 0 === n
                        ? void 0
                        : n.value) || "",
                    );
                  },
                }),
                i.a.createElement(
                  "div",
                  {
                    className: Object(h.a)(
                      Fe.a.FlexRowContainer,
                      oR.EventDetailsCtn,
                    ),
                  },
                  i.a.createElement(
                    "div",
                    { className: oR.TypeCtn },
                    i.a.createElement(te.C, null, "Promotion Type:"),
                    i.a.createElement(MR, {
                      type: t.GetType(),
                      setType: t.SetType,
                    }),
                    i.a.createElement(PR, {
                      type: t.GetType(),
                      rtStartTime: t.GetStartDate(),
                      rtEndTime: t.GetEndDate(),
                      setStartTime: t.SetStartDate,
                      setEndTime: t.SetEndDate,
                    }),
                  ),
                  i.a.createElement(
                    "div",
                    { className: oR.AdminNotesCtn },
                    i.a.createElement(te.C, null, "Admin Notes:"),
                    i.a.createElement("textarea", {
                      className: "DialogTextInputBase",
                      value: t.GetAdminNotes() || "",
                      onChange: (e) => {
                        var n;
                        return t.SetAdminNote(
                          (null ===
                            (n = null == e ? void 0 : e.currentTarget) ||
                          void 0 === n
                            ? void 0
                            : n.value) || "",
                        );
                      },
                    }),
                  ),
                ),
              ),
              i.a.createElement(
                "div",
                { className: my.a.SectionCtn },
                i.a.createElement(Bj, { oEditablePlan: t }),
              ),
              Boolean(t.BHasDiscountEventID()) &&
                i.a.createElement(
                  "div",
                  { className: my.a.SectionCtn },
                  i.a.createElement(XD, {
                    strDiscountEventID: t.GetDiscountEventID(),
                    nBundleID:
                      2 == t.GetFeaturedItemType()
                        ? t.GetFeaturedItemID()
                        : void 0,
                  }),
                ),
              i.a.createElement(
                "div",
                { className: my.a.SectionCtn },
                i.a.createElement(Oj, { oEditablePlan: t }),
              ),
              i.a.createElement(
                "div",
                { className: my.a.SectionCtn },
                i.a.createElement(dj, { oEditablePlan: t }),
              ),
              i.a.createElement(
                "div",
                { className: my.a.SectionCtn },
                i.a.createElement(fj, { oEditablePlan: t }),
              ),
            ),
            i.a.createElement(tj, { oEditablePlan: t }),
          ),
          i.a.createElement(
            "span",
            null,
            "Note: Deleting a promotion record does not delete the associated featuring items (discount event, takeover, spotlight, sale page etc...)",
          ),
        ),
      );
    }
    function Bj(e) {
      const { oEditablePlan: t } = e,
        n = rR(t.GetSpotlightIDs(0)),
        a = RC(t.GetDiscountEventID()),
        r = XT(t.GetMarketingMessageID(0)),
        [s] = Object(Wn.b)(t.GetAdvertisingAppID(), {}),
        o = PT();
      return i.a.createElement(
        "div",
        { className: oR.PreviewLinksCtn },
        i.a.createElement(
          "div",
          { className: oR.FeatureSelectCtn },
          i.a.createElement(
            "div",
            { className: oR.FeatureSelectBtn },
            i.a.createElement(
              te.e,
              {
                onClick: (e) =>
                  Object(ze.d)(
                    i.a.createElement(Ej, {
                      storeItemID: t.GetFeaturedItemID(),
                      storeItemType: t.GetFeaturedItemType(),
                      fnSetStoreItemFeature: t.SetFeaturedStoreItem,
                    }),
                    Object(v.o)(e),
                  ),
              },
              t.BHasFeaturedStoreItem()
                ? "Change Featured Store Item"
                : "Feature Store Item",
            ),
          ),
          Boolean(t.BHasFeaturedStoreItem()) &&
            i.a.createElement(
              i.a.Fragment,
              null,
              i.a.createElement(te.C, null, "Associated app/package/bundle:"),
              i.a.createElement(iI, {
                id: t.GetFeaturedItemID(),
                itemType: t.GetFeaturedItemType(),
              }),
            ),
        ),
        i.a.createElement(te.C, null, "Associated Editor Links:"),
        i.a.createElement(dR, {
          name: "Discount Event" + (a ? `: ${a.name}` : ""),
          id: t.GetDiscountEventID(),
          fnGetURL: RT.GetDiscountEditURL,
        }),
        i.a.createElement(uR, {
          name: "Marketing Message" + (r ? `: ${r.title}` : ""),
          id: t.GetMarketingMessageID(0),
          index: 0,
          fnGetURL: RT.GetMarketingMesssageEditURL,
        }),
        i.a.createElement(uR, {
          name: "Marketing Message 2" + (r ? `: ${r.title}` : ""),
          id: t.GetMarketingMessageID(1),
          index: 1,
          fnGetURL: RT.GetMarketingMesssageEditURL,
        }),
        i.a.createElement(uR, {
          name: "Spotlight" + (n ? `: ${n.name}` : ""),
          id: t.GetSpotlightIDs(0),
          index: 0,
          fnGetURL: RT.GetSpotlightEditURL,
        }),
        i.a.createElement(dR, {
          name: "Fileserver Asset URL (Internal)",
          id: t.GetAssociatedAssetURL(),
          fnGetURL: (e) => e,
        }),
        i.a.createElement(uR, {
          name: "Open External Partner Assets",
          id: o.GetInputArtworkURLs(0),
          index: 0,
          fnGetURL: (e) => e,
        }),
        i.a.createElement(dR, {
          name: "Sale Page Editor",
          id: t.GetSaleEditEventURL(),
          fnGetURL: (e) => e,
        }),
        i.a.createElement(bj, { oEditablePlan: t }),
        i.a.createElement(dR, {
          name: "Advertising AppID" + (s ? `: ${s.GetName()}` : ""),
          id: t.GetAdvertisingAppID() ? "" + t.GetAdvertisingAppID() : null,
          fnGetURL: RT.GetAdvertingAppLandingURL,
        }),
        i.a.createElement(uR, {
          name: "Frontpage Takeover",
          id: t.GetTakeoverID(0),
          index: 0,
          fnGetURL: RT.GetTakeoverEditURL,
        }),
        i.a.createElement(uR, {
          name: "Content Hub Takeovers",
          id: t.GetContentHubTakeoverID(0),
          index: 0,
          fnGetURL: RT.GetContentHubTakeoverEditURL,
        }),
        i.a.createElement(uR, {
          name: "Takeunder",
          index: 0,
          id: t.GetTakeunderID(0),
          fnGetURL: RT.GetTakeunderEditURL,
        }),
        i.a.createElement(dR, {
          name: "Opt-In Admin",
          id: t.GetOptInID(),
          fnGetURL: RT.GetOptInEditURL,
        }),
        i.a.createElement(dR, {
          name: "Internal Wiki / Confluence Page",
          id: t.GetInternalWikiURL(),
          fnGetURL: (e) => e,
        }),
        i.a.createElement(uR, {
          name: "Steam China Frontpage Takeover",
          index: 0,
          id: t.GetSteamChinaTakeoverID(0),
          fnGetURL: RT.GetSteamChinaTakeoverEditURL,
        }),
      );
    }
    function Oj(e) {
      const { oEditablePlan: t } = e;
      t.GetType();
      return i.a.createElement(
        LD,
        {
          title: "Link Editor",
          tooltip:
            "Allows you to change the associated featuring with this promotion",
          bStartMinimized: !0,
        },
        i.a.createElement(
          "div",
          { className: oR.LinksCtn },
          i.a.createElement(pR, { oEditablePlan: t }),
          i.a.createElement(SR, { index: 0, oEditablePlan: t }),
          i.a.createElement(SR, { index: 1, oEditablePlan: t }),
          i.a.createElement(OR, { index: 0, oEditablePlan: t }),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(lR, {
              name: "Associated (internal) Asset URL",
              placeHolder:
                "Any URL where you can find the partners uploaded assets, like on Valve file server; no validation done.",
              id: t.GetAssociatedAssetURL(),
              fnSetID: t.SetAssociatedAssetURL,
              fnGetURL: (e) => e,
            }),
          ),
          i.a.createElement(_j, { oEditablePlan: t }),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(lR, {
              name: "Advertising AppID",
              placeHolder: "/app/landing/<grab this ID>",
              id: t.GetAdvertisingAppID() ? "" + t.GetAdvertisingAppID() : null,
              fnSetID: t.SetAdvertisingAppIDFromString,
              fnGetURL: RT.GetAdvertingAppLandingURL,
            }),
          ),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(cR, {
              name: "Takeover ID",
              placeHolder:
                "/admin/store/pageclusteredit/frontpage/<grab this ID>",
              id: t.GetTakeoverID(0),
              index: 0,
              fnSetID: t.SetTakeoverID,
              fnGetURL: RT.GetTakeoverEditURL,
            }),
          ),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(cR, {
              name: "Content Hub Takeover ID",
              placeHolder:
                "/admin/store/pageclusteredit/frontpage/<grab the contenthub>/<and grab this ID> - ie content_hub_freetoplay/f2f754ef143dda27f6ce7887 ",
              id: t.GetContentHubTakeoverID(0),
              index: 0,
              fnSetID: t.SetContentHubTakeoverID,
              fnGetURL: RT.GetContentHubTakeoverEditURL,
              tooltip:
                "For example ID should look like: content_hub_freetoplay/f2f754ef143dda27f6ce7887",
            }),
          ),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(cR, {
              name: "Takeunder ID",
              placeHolder:
                "/admin/store/pageclusteredit/takeunder/<grab this ID>",
              id: t.GetTakeunderID(0),
              index: 0,
              fnSetID: t.SetTakeunderID,
              fnGetURL: RT.GetTakeunderEditURL,
            }),
          ),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(lR, {
              name: "Opt-In Admin ID",
              placeHolder: "/optin/admin/edit/<grab this ID>",
              id: t.GetOptInID(),
              fnSetID: t.SetOptInID,
              fnGetURL: RT.GetOptInEditURL,
            }),
          ),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(lR, {
              name: "Internal Wiki or Confluence Page Link",
              placeHolder: "https://confluence.valve.org/display/etc...",
              id: t.GetInternalWikiURL(),
              fnSetID: t.SetInternalWikiURL,
              fnGetURL: (e) => e,
            }),
          ),
          i.a.createElement(
            "div",
            { className: oR.LinkCtn },
            i.a.createElement(cR, {
              name: "Steam China Takeover ID",
              placeHolder:
                "/admin/store/pageclusteredit/frontpage_china/<grab this ID>",
              id: t.GetSteamChinaTakeoverID(0),
              index: 0,
              fnSetID: t.SetSteamChinaTakeoverID,
              fnGetURL: RT.GetSteamChinaTakeoverEditURL,
            }),
          ),
        ),
      );
    }
    function Dj(e) {
      var t, n, a, r, s, l;
      const { spotlightID: c } = e,
        d = rR(c);
      return d
        ? i.a.createElement(
            "div",
            {
              className: Object(h.a)({
                [WR.RowCtn]: !0,
                [WR.Public]: Boolean(
                  null === (t = d.visibility) || void 0 === t
                    ? void 0
                    : t.visible,
                ),
              }),
              onClick: () =>
                (window.location.href =
                  o.c.PARTNER_BASE_URL + "admin/store/spotlight/" + c),
            },
            i.a.createElement(
              "div",
              { className: Object(h.a)(WR.Row, WR.Primary) },
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.ItemName) },
                d.name,
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Type) },
                d.type,
              ),
              i.a.createElement(UR, {
                className: Object(h.a)(WR.Col, WR.Date),
                rtStartDate:
                  null === (n = d.visibility) || void 0 === n
                    ? void 0
                    : n.startdate,
                rtEndDate:
                  null === (a = d.visibility) || void 0 === a
                    ? void 0
                    : a.enddate,
              }),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Creator) },
                d.creator,
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Visibility) },
                Boolean(
                  null === (r = d.visibility) || void 0 === r
                    ? void 0
                    : r.visible,
                )
                  ? "public"
                  : "beta",
              ),
            ),
            i.a.createElement(
              "div",
              { className: WR.Row },
              i.a.createElement(
                "div",
                { className: WR.Col },
                null ===
                  (l =
                    null === (s = d.location) || void 0 === s
                      ? void 0
                      : s.hubTargets) || void 0 === l
                  ? void 0
                  : l.join(", "),
              ),
            ),
          )
        : i.a.createElement(ee.a, { string: c, size: "small" });
    }
    const Ij = Object(GR.c)(ei.a);
    function Tj(e) {
      const t = (e) =>
          window.sessionStorage.setItem(
            "spotlightdashboardtab",
            `?tab=${e.key}`,
          ),
        n = [
          {
            name: "Active or Upcoming Spotlights",
            key: "current",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(kj, null),
            ),
            onClick: t,
          },
          {
            name: "Calendar View",
            key: "calendar",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Pj, null),
            ),
            onClick: t,
          },
          {
            name: "Search all Spotlights",
            key: "search",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Mj, null),
            ),
            onClick: t,
          },
        ];
      return i.a.createElement(
        "div",
        {
          className: Object(h.a)(
            KT.a.Container,
            my.a.AdminPageCtn,
            my.a.WidePageCtn,
          ),
        },
        i.a.createElement(
          "div",
          { className: my.a.PageTitle },
          "Spotlight Dashboard (VO) ",
        ),
        i.a.createElement("hr", { className: "VO" }),
        i.a.createElement(
          "div",
          { className: KT.a.CreateNewCtn },
          i.a.createElement(
            te.e,
            { onClick: (e) => console.log("TODO") },
            "Create New Spotlight",
          ),
        ),
        i.a.createElement(Pf, { tabs: n }),
        i.a.createElement("div", { className: Fe.a.ClearThings }),
      );
    }
    var Rj;
    function jj(e) {
      const t = nR();
      return t && e != Rj.k_DisplayAll
        ? t.filter((t) => {
            var n, a;
            return (
              (e == Rj.k_DisplayPublic &&
                Boolean(
                  null === (n = t.visibility) || void 0 === n
                    ? void 0
                    : n.visible,
                )) ||
              (e == Rj.k_DisplayBeta &&
                !Boolean(
                  null === (a = t.visibility) || void 0 === a
                    ? void 0
                    : a.visible,
                ))
            );
          })
        : t;
    }
    function Aj(e) {
      const { display: t, fnSetDisplay: n } = e,
        a = [
          { label: "Show All", data: Rj.k_DisplayAll },
          { label: "Show Visible", data: Rj.k_DisplayPublic },
          { label: "Show Hidden", data: Rj.k_DisplayBeta },
        ];
      return i.a.createElement(
        "div",
        { className: KT.a.FilterRow },
        i.a.createElement(
          "div",
          { className: KT.a.VisibilityFilterCtn },
          i.a.createElement(te.m, {
            label: "Visibility Filter",
            tooltip: "Limit the Spotlights based on their visibility",
            rgOptions: a,
            onChange: (e) => n(e.data),
            contextMenuPositionOptions: { bMatchWidth: !0, bFitToWindow: !0 },
            selectedOption: t,
          }),
        ),
      );
    }
    function kj(e) {
      const [t, n] = Object(r.useState)(Rj.k_DisplayAll),
        a = jj(t);
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(Aj, { display: t, fnSetDisplay: n }),
        i.a.createElement("div", null, "Present and Future Spotlights"),
        i.a.createElement("hr", null),
        i.a.createElement(
          "div",
          null,
          "Partner facing documentation with specs for spotlight assets:",
          i.a.createElement(
            "a",
            {
              href: "https://partner.steamgames.com/doc/store/assets/promos",
              target: "_blank",
            },
            "https://partner.steamgames.com/doc/store/assets/promos",
          ),
        ),
        i.a.createElement(Lj, { rows: a }),
      );
    }
    function Mj(e) {
      return i.a.createElement("div", null, "todo");
    }
    function Pj(e) {
      const [t, n] = Object(r.useState)(Rj.k_DisplayAll),
        a = jj(t),
        s = Object(r.useMemo)(
          () =>
            a
              .filter((e) => {
                var t, n;
                return (
                  (null === (t = e.visibility) || void 0 === t
                    ? void 0
                    : t.startdate) &&
                  (null === (n = e.visibility) || void 0 === n
                    ? void 0
                    : n.enddate)
                );
              })
              .map((e) => ({
                allDay: !1,
                title: e.name,
                start: new Date(1e3 * e.visibility.startdate),
                end: new Date(1e3 * (e.visibility.enddate - 36e3 - 1)),
                resource: e,
              })),
          [a],
        ),
        o = [GR.b.MONTH, GR.b.WEEK, GR.b.DAY, GR.b.AGENDA];
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(Aj, { display: t, fnSetDisplay: n }),
        i.a.createElement("h1", null, "Calendar View of Spotlights"),
        i.a.createElement(GR.a, {
          views: o,
          popup: !0,
          defaultView: "month",
          localizer: Ij,
          events: s,
          style: { height: 1e3 },
          showMultiDayTimes: !0,
          onSelectEvent: (e) =>
            console.log("selected ", Object(L.I)(e.resource)),
          eventPropGetter: (e) => {
            var t;
            const n = e.resource;
            return {
              style: {
                color: Boolean(
                  null === (t = n.visibility) || void 0 === t
                    ? void 0
                    : t.visible,
                )
                  ? "red"
                  : "white",
              },
            };
          },
        }),
        i.a.createElement("h1", null, "Remaining Spotlights without Dates"),
        i.a.createElement(Lj, {
          rows: a.filter((e) => {
            var t, n;
            return (
              !(null === (t = e.visibility) || void 0 === t
                ? void 0
                : t.startdate) ||
              !(null === (n = e.visibility) || void 0 === n
                ? void 0
                : n.enddate)
            );
          }),
        }),
      );
    }
    function Lj(e) {
      const { rows: t } = e;
      return i.a.createElement(
        i.a.Fragment,
        null,
        t.map((e) => i.a.createElement(Dj, { key: e.id, spotlightID: e.id })),
      );
    }
    function Gj(e) {
      var t;
      const { marketingMessageID: n } = e,
        a = XT(n);
      return a
        ? i.a.createElement(
            "div",
            {
              className: Object(h.a)({
                [WR.RowCtn]: !0,
                [WR.Public]: 2 == a.visibility,
              }),
              onClick: () =>
                (window.location.href =
                  o.c.PARTNER_BASE_URL + "marketing/message/" + n),
            },
            i.a.createElement(
              "div",
              { className: Object(h.a)(WR.Row, WR.Primary) },
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.ItemName) },
                a.title,
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Type) },
                fR(a.type),
              ),
              i.a.createElement(UR, {
                className: Object(h.a)(WR.Col, WR.Date),
                rtStartDate: a.start_date,
                rtEndDate: a.end_date,
              }),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Creator) },
                a.creator_name,
              ),
              i.a.createElement(
                "div",
                { className: Object(h.a)(WR.Col, WR.Visibility) },
                2 === a.visibility ? "Public" : "Beta",
              ),
            ),
            i.a.createElement(
              "div",
              { className: WR.Row },
              i.a.createElement(Nj, { flags: a.flags }),
              i.a.createElement(Fj, {
                strCountries: a.country_allow || a.country_deny,
                bAllowList:
                  (null === (t = a.country_allow) || void 0 === t
                    ? void 0
                    : t.length) > 0,
              }),
              i.a.createElement(xj, {
                strPrefix: "only owners of",
                storeItemID: { id: a.must_own_appid, item_type: "app" },
              }),
              i.a.createElement(xj, {
                strPrefix: "except owners of",
                storeItemID: { id: a.must_not_own_appid, item_type: "app" },
              }),
              i.a.createElement(xj, {
                strPrefix: "only owners of",
                storeItemID: { id: a.must_not_own_packageid, item_type: "sub" },
              }),
              i.a.createElement(xj, {
                strPrefix: "except owners of",
                storeItemID: { id: a.must_not_own_packageid, item_type: "sub" },
              }),
              i.a.createElement(xj, {
                strPrefix: "only users who have launched",
                storeItemID: {
                  id: a.must_have_launched_appid,
                  item_type: "app",
                },
              }),
            ),
          )
        : i.a.createElement(ee.a, { string: n, size: "small" });
    }
    function Nj(e) {
      const { flags: t } = e;
      return 0 == (vR.k_EMarketingMessageFlagsPlatformRestrictions & t)
        ? null
        : i.a.createElement(
            "div",
            { className: WR.CapsulePlatform },
            Boolean(vR.k_EMarketingMessageFlagsPlatformWindows & t) &&
              i.a.createElement(H.xb, null),
            Boolean(vR.k_EMarketingMessageFlagsPlatformMac & t) &&
              i.a.createElement(H.b, null),
            Boolean(vR.k_EMarketingMessageFlagsPlatformLinux & t) &&
              i.a.createElement(H.jb, null),
          );
    }
    function Fj(e) {
      const { strCountries: t, bAllowList: n } = e;
      return t && 0 != (null == t ? void 0 : t.trim().length)
        ? i.a.createElement(
            "div",
            { className: WR.CountryList },
            n ? "ONLY: " : "NOT: ",
            t,
          )
        : null;
    }
    function xj(e) {
      const { storeItemID: t, strPrefix: n } = e,
        [a, r] = Object(Wn.a)(t.id, Object(On.m)(t.item_type), {});
      return t.id
        ? a || 1 != r
          ? 2 == r
            ? i.a.createElement(
                "div",
                null,
                "Failed to load ",
                t.id,
                " - ",
                t.item_type,
              )
            : i.a.createElement(
                "div",
                { className: WR.OwnerLimit },
                n,
                " ",
                a.GetName(),
                " (",
                t.id,
                ")",
              )
          : i.a.createElement(ee.a, { size: "small" })
        : null;
    }
    !(function (e) {
      (e[(e.k_DisplayAll = 0)] = "k_DisplayAll"),
        (e[(e.k_DisplayPublic = 1)] = "k_DisplayPublic"),
        (e[(e.k_DisplayBeta = 2)] = "k_DisplayBeta");
    })(Rj || (Rj = {}));
    const zj = Object(GR.c)(ei.a);
    function Uj(e) {
      const t = (e) =>
          window.sessionStorage.setItem(
            "marketingmessagedashboardtab",
            `?tab=${e.key}`,
          ),
        n = [
          {
            name: "Active or Upcoming Marketing Messages",
            key: "current",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(qj, null),
            ),
            onClick: t,
          },
          {
            name: "Calendar View",
            key: "calendar",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Kj, null),
            ),
            onClick: t,
          },
          {
            name: "Search all Marketing Messages",
            key: "search",
            contents: i.a.createElement(
              nt.a,
              null,
              i.a.createElement(Yj, null),
            ),
            onClick: t,
          },
        ];
      return i.a.createElement(
        "div",
        {
          className: Object(h.a)(
            KT.a.Container,
            my.a.AdminPageCtn,
            my.a.WidePageCtn,
          ),
        },
        i.a.createElement(
          "div",
          { className: my.a.PageTitle },
          "Marketing Message Dashboard (VO) ",
        ),
        i.a.createElement("hr", { className: "VO" }),
        i.a.createElement(
          "div",
          { className: KT.a.CreateNewCtn },
          i.a.createElement(
            te.e,
            { onClick: (e) => console.log("TODO") },
            "Create New",
          ),
        ),
        i.a.createElement(Pf, { tabs: n }),
        i.a.createElement("div", { className: Fe.a.ClearThings }),
      );
    }
    var Wj;
    function Hj(e) {
      const t = JT();
      return t && e != Wj.k_DisplayAll
        ? t.filter(
            (t) =>
              (e == Wj.k_DisplayPublic && 2 == t.visibility) ||
              (e == Wj.k_DisplayBeta && 1 == t.visibility),
          )
        : t;
    }
    function Vj(e) {
      const { display: t, fnSetDisplay: n } = e,
        a = [
          { label: "Show All", data: Wj.k_DisplayAll },
          { label: "Show Visible", data: Wj.k_DisplayPublic },
          { label: "Show Hidden", data: Wj.k_DisplayBeta },
        ];
      return i.a.createElement(
        "div",
        { className: KT.a.FilterRow },
        i.a.createElement(
          "div",
          { className: KT.a.VisibilityFilterCtn },
          i.a.createElement(te.m, {
            label: "Visibility Filter",
            tooltip: "Limit the marketing messages based on their visibility",
            rgOptions: a,
            onChange: (e) => n(e.data),
            contextMenuPositionOptions: { bMatchWidth: !0, bFitToWindow: !0 },
            selectedOption: t,
          }),
        ),
      );
    }
    function qj(e) {
      const [t, n] = Object(r.useState)(Wj.k_DisplayAll),
        a = Hj(t);
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(Vj, { display: t, fnSetDisplay: n }),
        i.a.createElement("div", null, "Present and Future Marketing Messages"),
        i.a.createElement(Qj, { rows: a }),
      );
    }
    function Kj(e) {
      const [t, n] = Object(r.useState)(Wj.k_DisplayAll),
        a = Hj(t),
        s = Object(r.useMemo)(
          () =>
            a
              .filter((e) => e.start_date && e.end_date)
              .map((e) => ({
                allDay: !1,
                title: e.title,
                start: new Date(1e3 * e.start_date),
                end: new Date(1e3 * (e.end_date - 36e3 - 1)),
                resource: e,
              })),
          [a],
        ),
        o = [GR.b.MONTH, GR.b.WEEK, GR.b.DAY, GR.b.AGENDA];
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(Vj, { display: t, fnSetDisplay: n }),
        i.a.createElement("h1", null, "Calendar View of Marketing Messages"),
        i.a.createElement(GR.a, {
          views: o,
          popup: !0,
          defaultView: "month",
          localizer: zj,
          events: s,
          style: { height: 1e3 },
          showMultiDayTimes: !0,
          onSelectEvent: (e) =>
            console.log("selected ", Object(L.I)(e.resource)),
          eventPropGetter: (e) => ({
            style: { color: 2 == e.resource.visibility ? "red" : "white" },
          }),
        }),
        i.a.createElement(
          "h1",
          null,
          "Remaining Marketing Messages without Dates",
        ),
        i.a.createElement(Qj, {
          rows: a.filter((e) => !e.start_date || !e.end_date),
        }),
      );
    }
    function Qj(e) {
      const { rows: t } = e;
      return i.a.createElement(
        i.a.Fragment,
        null,
        t.map((e) =>
          i.a.createElement(Gj, { key: e.gid, marketingMessageID: e.gid }),
        ),
      );
    }
    function Yj(e) {
      const [t, n] = Object(r.useState)(""),
        [a, s] = Object(r.useState)(0),
        o = [{ label: "Any", data: 0 }];
      for (let e = 1; e < 9; ++e) o.push({ label: fR(e), data: e });
      const l = ZT.Get().Search,
        [c, d] = Object(r.useState)(null),
        [u, m] = Object(r.useState)(!1);
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "h2",
          null,
          "Find a marketing message: Past, Present or Future",
        ),
        i.a.createElement("hr", null),
        i.a.createElement(
          "p",
          null,
          "Filter by the marketing message type and/or the part of the title",
        ),
        i.a.createElement(te.m, {
          label: "Marketing Message Type",
          rgOptions: o,
          onChange: (e) => s(e.data),
          contextMenuPositionOptions: { bMatchWidth: !0, bFitToWindow: !0 },
          selectedOption: a,
        }),
        i.a.createElement("br", null),
        i.a.createElement(te.z, {
          type: "text",
          label: "Filter by Title",
          placeholder: "type here",
          value: t,
          onChange: (e) => n(e.currentTarget.value),
        }),
        i.a.createElement(
          te.F,
          {
            onClick: () => {
              m(!0),
                l(a, t).then((e) => {
                  m(!1), d(e);
                });
            },
          },
          "Search",
        ),
        u &&
          i.a.createElement(ee.a, {
            string: Object($.f)("#Loading"),
            position: "center",
            size: "medium",
          }),
        Boolean(0 == (null == c ? void 0 : c.length)) &&
          i.a.createElement("div", null, "No Results"),
        Boolean((null == c ? void 0 : c.length) > 1) &&
          i.a.createElement(Qj, { rows: c }),
      );
    }
    !(function (e) {
      (e[(e.k_DisplayAll = 0)] = "k_DisplayAll"),
        (e[(e.k_DisplayPublic = 1)] = "k_DisplayPublic"),
        (e[(e.k_DisplayBeta = 2)] = "k_DisplayBeta");
    })(Wj || (Wj = {}));
    var Zj = n("vbfM");
    function Jj(e) {
      const [t] = Rr("access_key", "");
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          null,
          i.a.createElement(H.c, { angle: 270 }),
          i.a.createElement(
            "span",
            null,
            "TODO ",
            Object($.f)("#Promotion_AssetRequest_DashboardLink"),
          ),
        ),
        i.a.createElement(
          "h1",
          null,
          i.a.createElement(
            "span",
            null,
            Object($.f)("#Promotion_AssetRequest_Header"),
          ),
          i.a.createElement("span", null, "TODO Game Name"),
        ),
        i.a.createElement("hr", null),
        i.a.createElement(Xj, null),
        i.a.createElement($j, null),
        i.a.createElement(eA, null),
      );
    }
    function Xj(e) {
      const [t, n] = Object(r.useState)(null),
        [a] = Object(Wn.b)(220, { include_assets: !0 });
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          { className: Zj.Leftcol },
          i.a.createElement(
            "div",
            null,
            Object($.o)(
              "#Promotion_AssetRequest_LinkDesc1",
              i.a.createElement(
                "span",
                { className: Zj.GameName },
                "TODO Game Name",
              ),
              "TODO Promotion Type",
            ),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_LinkDesc2", 26),
          ),
          i.a.createElement(
            "ol",
            null,
            i.a.createElement(
              "li",
              null,
              Object($.o)(
                "#Promotion_AssetRequest_LinkDesc_Bullet1",
                i.a.createElement(
                  "span",
                  { style: { color: "red" } },
                  Object($.f)(
                    "#Promotion_AssetRequest_LinkDesc_Bullet1_Status",
                    0,
                    2,
                  ),
                ),
              ),
            ),
            i.a.createElement(
              "li",
              null,
              Object($.f)("#Promotion_AssetRequest_LinkDesc_Bullet2"),
            ),
            i.a.createElement(
              "li",
              null,
              Object($.f)("#Promotion_AssetRequest_LinkDesc_Bullet3"),
            ),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_LinkDesc_Label"),
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(te.z, {
              type: "text",
              placeholder: Object($.f)(
                "#Promotion_AssetRequest_LinkDesc_Placeholder",
              ),
              value: t,
              onChange: (e) => n(e.currentTarget.value),
            }),
            i.a.createElement(
              te.F,
              { onClick: (e) => console.log("todo") },
              Object($.f)("#Button_Submit"),
            ),
          ),
        ),
        i.a.createElement(
          "div",
          { className: Zj.RightCol },
          i.a.createElement(
            "a",
            {
              href: null == a ? void 0 : a.GetStorePageURL(),
              target: "_blank",
            },
            i.a.createElement("img", {
              className: Zj.DealCapImg,
              src: null == a ? void 0 : a.GetAssets().GetSmallCapsuleURL(),
            }),
          ),
        ),
      );
    }
    function $j(e) {
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          null,
          Object($.f)("#Promotion_AssetRequest_Spotlight_Header"),
          " ",
          i.a.createElement("span", { style: { color: "red" } }, "(0/1)"),
        ),
        i.a.createElement(
          "div",
          { className: Zj.Leftcol },
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_Spec"),
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              "a",
              { href: "#" },
              Object($.f)("#Promotion_AssetRequest_Template"),
            ),
            " | ",
            i.a.createElement(
              "a",
              { href: "#" },
              Object($.f)("#Promotion_AssetRequest_Doc"),
            ),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_Spotlight_Usage"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_Spotlight_Design"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_Spotlight_Size"),
          ),
        ),
        i.a.createElement(
          "div",
          { className: Zj.RightCol },
          i.a.createElement(tA, { type: "spotlight" }),
        ),
      );
    }
    function eA(e) {
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          null,
          Object($.f)("#Promotion_AssetRequest_MM_Header"),
          " ",
          i.a.createElement("span", { style: { color: "red" } }, "(0/1)"),
        ),
        i.a.createElement(
          "div",
          { className: Zj.Leftcol },
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_Spec"),
          ),
          i.a.createElement(
            "div",
            null,
            i.a.createElement(
              "a",
              { href: "#" },
              Object($.f)("#Promotion_AssetRequest_Template"),
            ),
            " | ",
            i.a.createElement(
              "a",
              { href: "#" },
              Object($.f)("#Promotion_AssetRequest_Doc"),
            ),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_MM_Usage"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_MM_Design"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_MM_Size"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_MM_GIF"),
          ),
        ),
        i.a.createElement(
          "div",
          { className: Zj.RightCol },
          i.a.createElement(tA, { type: "marketignmessage" }),
        ),
      );
    }
    function tA(e) {
      return i.a.createElement(
        "div",
        null,
        i.a.createElement(
          "div",
          null,
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_UploadPreview"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_UploadPreview_Note"),
          ),
          i.a.createElement(
            "div",
            null,
            Object($.f)("#Promotion_AssetRequest_UploadPreview_Action"),
          ),
        ),
        i.a.createElement("div", null, "TODO Render preview"),
      );
    }
    const nA = {
      DailyDealDashboard: () => "/dailydeals/dashboard",
      DailyDealPartnerDashboard: (e) => `/dailydeals/dashboard/${e}`,
      DailyDealEditor: (e) => `/dailydeals/edit/${e}`,
      DiscountPages: () => "/discounts",
      PartnerSaleDashboard: (e) => `/saleevents/dashboard/${e}`,
      PartnerPlanningAssetRequest: () => "/planning/assetrequest/",
      PromotionPlanning: () => "/planning/dashboard/",
      PromotionPlanEditor: (e) => `/planning/edit/${e}`,
      SpotlightDashboard: () => "/spotlights/(dashboard)",
      SpotlightEditor: (e) => `/spotlights/edit/${e}`,
      MarketingMessageDashboard: () => "/marketingmessages/(dashboard)",
      MarketingMessageEditor: (e) => `/marketingmessages/edit/${e}`,
    };
    function aA(e) {
      return Object(om.c)()
        ? i.a.createElement(
            In.a,
            { basename: Object(ie.a)() + "promotion/" },
            i.a.createElement(
              fa.e,
              null,
              i.a.createElement(fa.c, {
                exact: !0,
                path: ie.b.DiagData(),
                render: (e) =>
                  i.a.createElement(
                    Jf,
                    Object.assign({}, e, { strConfigID: "application_config" }),
                  ),
              }),
              i.a.createElement(fa.c, {
                exact: !0,
                path: nA.DailyDealDashboard(),
                render: (e) =>
                  i.a.createElement(qD, null, i.a.createElement(CT, null)),
              }),
              i.a.createElement(fa.c, {
                exact: !0,
                path: nA.DailyDealPartnerDashboard(":publisherid(\\d+)"),
                render: (e) =>
                  i.a.createElement(
                    qD,
                    null,
                    i.a.createElement(wT, {
                      strPublisherID: e.match.params.publisherid,
                    }),
                  ),
              }),
              i.a.createElement(fa.c, {
                exact: !0,
                path: nA.DailyDealEditor(":dealid"),
                render: (e) =>
                  i.a.createElement(
                    qD,
                    null,
                    i.a.createElement(hI, { dealid: e.match.params.dealid }),
                  ),
              }),
              i.a.createElement(fa.c, {
                path: nA.DiscountPages(),
                component: tO,
              }),
              i.a.createElement(fa.c, {
                path: nA.PartnerSaleDashboard(":publisherid(\\d+)"),
                component: bD,
              }),
              i.a.createElement(fa.c, {
                path: nA.PartnerPlanningAssetRequest(),
                component: Jj,
              }),
              i.a.createElement(fa.c, {
                path: nA.PromotionPlanning(),
                component: KR,
              }),
              i.a.createElement(fa.c, {
                exact: !0,
                path: nA.PromotionPlanEditor(":planid"),
                render: (e) =>
                  i.a.createElement(Cj, { planid: e.match.params.planid }),
              }),
              i.a.createElement(fa.c, {
                path: nA.SpotlightDashboard(),
                component: Tj,
              }),
              i.a.createElement(fa.c, {
                path: nA.MarketingMessageDashboard(),
                component: Uj,
              }),
              i.a.createElement(fa.c, { component: SA }),
            ),
          )
        : null;
    }
    class rA {
      constructor() {
        (this.m_mapSalePage = new Map()),
          (this.m_rgUnmigratedSalesPage = new Array());
      }
      GetUnmigratedSalesPages() {
        return this.m_rgUnmigratedSalesPage;
      }
      GetAllSalePages() {
        return Array.from(this.m_mapSalePage.values());
      }
      GetPageByID(e) {
        return this.m_mapSalePage.get(e);
      }
      static Get() {
        return (
          rA.s_PageStore ||
            ((rA.s_PageStore = new rA()), rA.s_PageStore.Init()),
          rA.s_PageStore
        );
      }
      Init() {
        let e = Object(o.g)("old_sale_pages", "application_config");
        this.ValidateStoreDefault(e) &&
          e.forEach((e) => {
            this.m_mapSalePage.set(e.pageid, e),
              e.migrated_clan_account_id ||
                this.m_rgUnmigratedSalesPage.push(e);
          });
      }
      ValidateStoreDefault(e) {
        const t = e;
        return (
          !!(
            t &&
            Array.isArray(t) &&
            t.length > 0 &&
            "object" == typeof t[0]
          ) && "string" == typeof t[0].pageid
        );
      }
    }
    function iA(e) {
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("h2", null, "Unmigrated Sales Pages"),
        i.a.createElement("hr", null),
        rA
          .Get()
          .GetUnmigratedSalesPages()
          .map((e) =>
            i.a.createElement(sA, { key: e.pageid, pageid: e.pageid }),
          ),
      );
    }
    function sA(e) {
      let t = rA.Get().GetPageByID(e.pageid);
      return i.a.createElement(
        "div",
        null,
        i.a.createElement("div", null, t.pageid),
        i.a.createElement(
          In.b,
          { to: lA.SaleMigrationPageDebug(t.pageid) },
          "Debug Data",
        ),
      );
    }
    function oA(e) {
      const { pageid: t } = e,
        n = rA.Get().GetPageByID(t),
        a = $O(n.accountid);
      return a
        ? i.a.createElement(
            "div",
            null,
            i.a.createElement(
              In.b,
              { to: lA.SaleMigrationTool() },
              "< Return to Migration Toolset",
            ),
            i.a.createElement("h2", null, "Debug: ", e.pageid),
            i.a.createElement("hr", null),
            i.a.createElement("div", null, "Name: ", n.display_name),
            i.a.createElement(
              "div",
              null,
              "Creator: ",
              n.accountid,
              " - ",
              a.persona,
            ),
            i.a.createElement(
              "div",
              null,
              "Last Modified: ",
              n.last_modified,
              Boolean(0 != n.last_modified) &&
                i.a.createElement(Ra.a, {
                  dateAndTime: n.last_modified,
                  bSingleLine: !0,
                }),
            ),
            i.a.createElement("h1", null, "Sale Page Body Raw"),
            i.a.createElement(Xf, { data: n }),
          )
        : i.a.createElement(ee.a, { string: "Loading User Info" });
    }
    const lA = {
        SaleDashboardView: () => "/(dashboard)?/",
        SaleMigrationTool: () => "/migration/",
        SaleMigrationPageDebug: (e) => `/migration/debug/${e}/`,
      },
      cA = (e) =>
        i.a.createElement(
          In.a,
          { basename: Object(ie.a)() + "sales/" },
          i.a.createElement(
            fa.e,
            null,
            i.a.createElement(fa.c, {
              exact: !0,
              path: ie.b.DiagData(),
              render: (e) =>
                i.a.createElement(
                  Jf,
                  Object.assign({}, e, { strConfigID: "application_config" }),
                ),
            }),
            i.a.createElement(fa.c, {
              exact: !0,
              path: lA.SaleDashboardView(),
              component: fD,
            }),
            i.a.createElement(fa.c, {
              exact: !0,
              path: lA.SaleMigrationTool(),
              component: iA,
            }),
            i.a.createElement(fa.c, {
              exact: !0,
              path: lA.SaleMigrationPageDebug(":pageid"),
              render: (e) =>
                i.a.createElement(oA, { pageid: e.match.params.pageid }),
            }),
            i.a.createElement(fa.c, { component: SA }),
          ),
        );
    var dA = n("Z0Jo");
    const uA = (e) =>
        r.createElement(
          r.Fragment,
          null,
          r.createElement(pA, null),
          r.createElement(
            "div",
            { className: "agenda_title" },
            Object($.f)("#SteamworksEvents_BuildingCommunity_Speakers"),
          ),
          r.createElement(_A, null),
        ),
      mA = (e) =>
        r.createElement(
          "div",
          { className: dA.Container },
          r.createElement(
            "div",
            { className: dA.AgendaImageCtn },
            r.createElement("img", {
              className: dA.AgendaScreenshot,
              src: o.c.COMMUNITY_CDN_ASSET_URL + e.screenshot,
            }),
          ),
          r.createElement(
            "div",
            { className: dA.RightColumn },
            r.createElement(
              "div",
              { className: dA.BubbleCtn },
              r.createElement(
                "div",
                { className: dA.BubbleTopLine },
                e.strSpeakers,
              ),
              r.createElement("div", { className: dA.BubbleTime }, e.strTime),
              r.createElement("div", { className: dA.BubbleTitle }, e.strTitle),
            ),
            r.createElement("div", { className: dA.AgendaDescCtn }, e.strDesc),
          ),
        ),
      pA = (e) =>
        r.createElement(
          "div",
          { className: dA.CarouselContainer },
          r.createElement(
            vr,
            {
              hideArrows: !1,
              visibleElements: 1,
              useTestScrollbar: !1,
              bLazyRenderChildren: !1,
              disableEdgeWrap: !1,
              className: Object(h.a)(dA.CarouselItems),
            },
            r.createElement(mA, {
              key: 1,
              strDesc: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session1_Desc",
              ),
              screenshot: "steamworksevents/screenshot_gautam.png",
              strTime: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session1_Time",
              ),
              strTitle: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session1_Title",
              ),
              strSpeakers: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session1_Speakers",
              ),
            }),
            r.createElement(mA, {
              key: 2,
              strDesc: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session2_Desc",
              ),
              screenshot: "steamworksevents/screenshot_alden_and_adil.png",
              strTime: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session2_Time",
              ),
              strTitle: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session2_Title",
              ),
              strSpeakers: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session2_Speakers",
              ),
            }),
            r.createElement(mA, {
              key: 3,
              strDesc: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session3_Desc",
              ),
              screenshot: "steamworksevents/screenshot_jenny.png",
              strTime: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session3_Time",
              ),
              strTitle: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session3_Title",
              ),
              strSpeakers: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session3_Speakers",
              ),
            }),
            r.createElement(mA, {
              key: 4,
              strDesc: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session4_Desc",
              ),
              screenshot: "steamworksevents/screenshot_joe.png",
              strTime: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session4_Time",
              ),
              strTitle: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session4_Title",
              ),
              strSpeakers: Object($.f)(
                "#SteamworksEvents_BuildingCommunity_Session4_Speakers",
              ),
            }),
          ),
        ),
      hA = (e) =>
        r.createElement(
          "div",
          { className: dA.SpeakerContainer },
          r.createElement("img", {
            title: e.strTitle,
            src: o.c.COMMUNITY_CDN_ASSET_URL + e.imgHeadshot,
          }),
          r.createElement(
            "div",
            { className: dA.SpeakerBio },
            r.createElement("div", { className: dA.SpeakerTitle }, e.strTitle),
            e.strBio,
          ),
        ),
      _A = (e) =>
        r.createElement(
          "div",
          { className: dA.SpeakersListContainer },
          r.createElement(hA, {
            imgHeadshot: "steamworksevents/gautam_headshot.png",
            strTitle: Object($.f)(
              "#SteamworksEvents_BuildingCommunity_GautamTitle",
            ),
            strBio: Object($.f)("#SteamworksEvents_BuildingCommunity_Gautam"),
          }),
          r.createElement(hA, {
            imgHeadshot: "steamworksevents/alden_headshot.png",
            strTitle: Object($.f)(
              "#SteamworksEvents_BuildingCommunity_AldenTitle",
            ),
            strBio: Object($.f)("#SteamworksEvents_BuildingCommunity_Alden"),
          }),
          r.createElement(hA, {
            imgHeadshot: "steamworksevents/adil_headshot.png",
            strTitle: Object($.f)(
              "#SteamworksEvents_BuildingCommunity_AdilTitle",
            ),
            strBio: Object($.f)("#SteamworksEvents_BuildingCommunity_Adil"),
          }),
          r.createElement(hA, {
            imgHeadshot: "steamworksevents/jenny_headshot.png",
            strTitle: Object($.f)(
              "#SteamworksEvents_BuildingCommunity_JennyTitle",
            ),
            strBio: Object($.f)("#SteamworksEvents_BuildingCommunity_Jenny"),
          }),
          r.createElement(hA, {
            imgHeadshot: "steamworksevents/joe_headshot.png",
            strTitle: Object($.f)(
              "#SteamworksEvents_BuildingCommunity_JoeTitle",
            ),
            strBio: Object($.f)("#SteamworksEvents_BuildingCommunity_Joe"),
          }),
        );
    var gA = n("wkCk");
    const bA = ({ config: e }) =>
      i.a.createElement(
        i.a.Fragment,
        null,
        Object.keys(e || {}).map((t) => {
          const n = document.querySelectorAll(`[data-featuretarget=${t}`);
          return n.length
            ? Array.from(n).map((n, a) => {
                const r = (function (e, t) {
                  if (!e) return {};
                  try {
                    const t = JSON.parse(e);
                    if (!t || "object" != typeof t || Array.isArray(t))
                      throw new Error();
                    return t;
                  } catch (e) {
                    return (
                      console.error(
                        `There was a problem parsing props for feature target "${t}"`,
                      ),
                      {}
                    );
                  }
                })(n.getAttribute("data-props"), t);
                return Object(s.createPortal)(e[t](r), n, `${t}${a}`);
              })
            : null;
        }),
      );
    const fA = i.a.lazy(() => n.e(90).then(n.bind(null, "dMlA")));
    class vA extends i.a.Component {
      render() {
        return i.a.createElement(
          In.a,
          { basename: Object(ie.a)() },
          i.a.createElement(
            "div",
            { className: oe.a.App },
            i.a.createElement(
              i.a.Suspense,
              { fallback: i.a.createElement("div", null) },
              i.a.createElement(
                fa.e,
                null,
                i.a.createElement(fa.c, {
                  exact: !0,
                  path: "/",
                  component: Pb,
                }),
                i.a.createElement(fa.c, {
                  exact: !0,
                  path: ie.b.DiagData(),
                  render: (e) =>
                    i.a.createElement(
                      Jf,
                      Object.assign({}, e, {
                        key: e.match.params.gid,
                        strConfigID: "application_config",
                      }),
                    ),
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.SalePages(),
                  component: cA,
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.OptInPages(),
                  component: Ny,
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.SteamML(),
                  render: () => i.a.createElement(fA, null),
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.BuildPatchNotes(),
                  render: (e) =>
                    i.a.createElement(P_, { appId: e.match.params.appid }),
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.SteamworksEvents(),
                  render: () => i.a.createElement(uA, null),
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.PromotionTools(),
                  component: aA,
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.PricingTools(),
                  component: Nw,
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.DeckVerifiedAdmin(),
                  render: () =>
                    i.a.createElement(bA, {
                      config: {
                        "deck-verified-results": (e) =>
                          i.a.createElement(gA.c, {
                            dataprops: e,
                            results: Object(o.g)(
                              "deckcompatibility",
                              "application_config",
                            ),
                          }),
                      },
                    }),
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.DeckCompatTestingDashboard(),
                  render: () =>
                    i.a.createElement(bA, {
                      config: {
                        "deck-verified-results-inflight": (e) =>
                          i.a.createElement(gA.c, {
                            dataprops: e,
                            results: Object(o.g)(
                              "deckcompatibility_inflight",
                              "application_config",
                            ),
                          }),
                        "deck-verified-results-submitted": (e) =>
                          i.a.createElement(gA.c, {
                            dataprops: e,
                            results: Object(o.g)(
                              "deckcompatibility_submitted",
                              "application_config",
                            ),
                          }),
                        "deck-verified-results-published": (e) =>
                          i.a.createElement(gA.c, {
                            dataprops: e,
                            results: Object(o.g)(
                              "deckcompatibility_published",
                              "application_config",
                            ),
                          }),
                      },
                    }),
                }),
                i.a.createElement(fa.c, {
                  path: ie.b.DeckVerified(),
                  render: () =>
                    i.a.createElement(bA, {
                      config: {
                        "deck-verified-results": () =>
                          i.a.createElement(gA.b, {
                            results: Object(o.g)(
                              "deckcompatibility",
                              "application_config",
                            ),
                          }),
                      },
                    }),
                }),
                i.a.createElement(fa.c, { component: SA }),
              ),
              i.a.createElement(xe.c, { ModalManager: Object(xe.h)(window) }),
            ),
          ),
        );
      }
    }
    function SA(e) {
      return "dev" !== o.c.WEB_UNIVERSE
        ? i.a.createElement(fa.b, { push: !0, to: "/" })
        : i.a.createElement(
            "div",
            null,
            "Unknown Route - Check apps.tsx to see if this page has been added to the list of routes.",
          );
    }
    n("q9tl");
    function yA(e, t) {
      const n = Object(o.g)("editorconfig", t);
      let a = new G(n);
      s.render(r.createElement(e ? ne : ae, { LogoEditorStore: a }), t);
    }
    function EA(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        n.p = o.c.PARTNER_BASE_URL + "public/javascript/webui/storeadmin/";
        const [t, a, r] = yield Promise.all([
            n("f/MQ")(`./shared_${e}.json`),
            n("h2Mk")(`./marketing_${e}.json`),
            n("AvbV")(`./main_${e}.json`),
          ]),
          i = Object.assign({}, r.default),
          s = $.b.GetLanguageFallback(e);
        if (e === s)
          $.e.InitFromObjects(i, null, t.default, null), $.e.AddTokens(a, null);
        else {
          const [e, r, o] = yield Promise.all([
              n("f/MQ")(`./shared_${s}.json`),
              n("h2Mk")(`./marketing_${s}.json`),
              n("AvbV")(`./main_${s}.json`),
            ]),
            l = Object.assign({}, o.default);
          $.e.InitFromObjects(i, l, t.default, e.default), $.e.AddTokens(a, r);
        }
      });
    }
    document.addEventListener("DOMContentLoaded", function () {
      return Object(a.a)(this, void 0, void 0, function* () {
        document.getElementById("application_root")
          ? (Object(o.i)("application_config"),
            yield EA(o.c.LANGUAGE),
            s.render(
              r.createElement(vA, {}),
              document.getElementById("application_root"),
            ))
          : (Object(o.i)(),
            yield EA(o.c.LANGUAGE),
            (function () {
              let e = document.querySelectorAll(".StoreAdminReactRoot");
              for (let t = 0; t < e.length; t++) {
                let n = e[t],
                  a = n.getAttribute("data-component");
                switch (a) {
                  case "LibraryLogoEditor":
                  case "LibraryLogoEditorPopup":
                    yA("LibraryLogoEditorPopup" == a, n);
                    break;
                  default:
                    Object(l.a)(!1, `unknown component: "${a}"`);
                }
              }
            })());
      });
    }),
      (window.LocalizationManifestReady = function (e, t, n) {
        Object(l.a)("manifest" === t, `Expected manifest not "${t}"`),
          $.e.InitDirect(n);
      });
  },
  gu54: function (e, t, n) {
    "use strict";
    n.d(t, "e", function () {
      return l;
    }),
      n.d(t, "c", function () {
        return c;
      }),
      n.d(t, "a", function () {
        return d;
      }),
      n.d(t, "d", function () {
        return u;
      }),
      n.d(t, "b", function () {
        return m;
      });
    var a = n("Q8oI"),
      r = (n("RYKw"), n("0D+i"), n("nJCB")),
      i = (n("PEc5"), n("A5uu")),
      s = n("xSFm"),
      o = n("aaBf");
    const l = {
      include_assets: !0,
      include_release: !0,
      include_platforms: !0,
      include_tag_count: 20,
      include_basic_info: !0,
      include_trailers: !0,
      include_reviews: !0,
      include_screenshots: !0,
    };
    function c() {
      return { width: 231, height: 87 };
    }
    class d {
      constructor() {
        this.m_setAlreadyAdded = new Set();
      }
      Reset() {
        this.m_setAlreadyAdded = new Set();
      }
      BHasAppID(e) {
        return this.m_setAlreadyAdded.has("a" + e);
      }
      BHasPackageID(e) {
        return this.m_setAlreadyAdded.has("s" + e);
      }
      BHasBundleID(e) {
        return this.m_setAlreadyAdded.has("b" + e);
      }
      BHasStoreItemKey(e) {
        return this.m_setAlreadyAdded.has(
          this.ConvertStoreItemKeyToUniqueKey(e),
        );
      }
      AddStoreItemKey(e) {
        this.m_setAlreadyAdded.add(this.ConvertStoreItemKeyToUniqueKey(e));
      }
      ConvertStoreItemKeyToUniqueKey(e) {
        switch (e.item_type) {
          default:
          case "app":
            return "a" + e.id;
          case "sub":
            return "s" + e.id;
          case "bundle":
            return "b" + e.id;
        }
      }
    }
    const u = 4;
    function m(e, t, n, a, r) {
      var o;
      const l = new Array(),
        c = new Array(),
        d = new Array(),
        m = new Array();
      if (!e || 0 == e.length) return l;
      const h = [s.n.k_RejectSupportedLanguage, s.n.k_RejectAlreadyDisplayed];
      for (let r of e) {
        let e = r.id,
          u = s.n.k_NotRejected;
        switch (r.item_type) {
          case "sub":
            const a = i.a.Get().GetPackage(e);
            if (
              1 !==
              (null === (o = null == a ? void 0 : a.GetIncludedAppIDs()) ||
              void 0 === o
                ? void 0
                : o.length)
            ) {
              u = f(e, t, n, !0);
              break;
            }
            e = a.GetIncludedAppIDs()[0];
          case "app":
            u = g(e, t, n, !0);
            break;
          case "bundle":
            u = v(e, t, n, !0);
        }
        if (
          (u == s.n.k_NotRejected
            ? ((r.rejected = s.n.k_NotRejected),
              l.push(Object.assign(Object.assign({}, r), { priority: 1 })))
            : h.includes(u)
              ? ((r.rejected = s.n.k_NotRejected), c.push(r))
              : ((r.rejected = u),
                u == s.n.k_RejectIgnoredGame ? d.push(r) : m.push(r)),
          l.length > a)
        )
          break;
      }
      return (
        l.length < a &&
          (p(l, c, r, 2),
          l.length < r && t.enforce_minimum && (p(l, d, r, 3), p(l, m, r, u))),
        l
      );
    }
    function p(e, t, n, a) {
      for (let r = 0; e.length < n && r < t.length; ++r)
        e.push(Object.assign(Object.assign({}, t[r]), { priority: a }));
    }
    function h(e, t) {
      var n, a, i, o, l;
      const c = r.a.Get();
      if (t.only_current_platform && c.BHasPlatformPreferenceSet()) {
        if (
          !(
            ((null === (n = e.GetPlatforms()) || void 0 === n
              ? void 0
              : n.windows) &&
              c.BIsPreferredPlatform("win")) ||
            ((null === (a = e.GetPlatforms()) || void 0 === a
              ? void 0
              : a.mac) &&
              c.BIsPreferredPlatform("mac")) ||
            ((null === (i = e.GetPlatforms()) || void 0 === i
              ? void 0
              : i.linux) &&
              c.BIsPreferredPlatform("linux"))
          )
        )
          return s.n.k_RejectWrongPlatform;
      }
      return !t.prepurchase && e.BIsComingSoon()
        ? s.n.k_RejectNoComingSoon
        : !t.virtual_reality &&
            (null === (o = e.GetPlatforms()) || void 0 === o
              ? void 0
              : o.vr_support.vrhmd_only)
          ? s.n.k_RejectNoVR
          : (
                null === (l = e.GetAllCreatorClanIDs()) || void 0 === l
                  ? void 0
                  : l.some((e) => c.BIsIgnoringCurator(e))
              )
            ? s.n.k_RejectCreatorClan
            : s.n.k_NotRejected;
    }
    function _(e, t) {
      var n;
      if (t.localized) {
        const t = Object(a.PchLanguageToELanguage)(o.c.LANGUAGE);
        if (
          !(null === (n = e.GetAllLanguagesWithSomeSupport()) || void 0 === n
            ? void 0
            : n.includes(t))
        )
          return s.n.k_RejectSupportedLanguage;
      }
      return s.n.k_NotRejected;
    }
    function g(e, t, n, a) {
      const o = i.a.Get().GetApp(e);
      if (!o) return s.n.k_RejectNotLoaded;
      const l = h(o, t);
      if (l != s.n.k_NotRejected) return l;
      const c = r.a.Get();
      if (c.BIsGameIgnored(e)) return s.n.k_RejectIgnoredGame;
      if (c.BExcludeTagIDs(o.GetTagIDs())) return s.n.k_RejectIgnoreGameTags;
      if (c.BExcludesContentDescriptor(o.GetContentDescriptorIDs()))
        return s.n.k_RejectIgnoreContentDescriptors;
      if (!t.early_access && o.BIsEarlyAccess()) return s.n.k_RejectEarlyAccess;
      const d = o.GetAppType();
      return t.software || 6 != d
        ? (4 != d && 11 != d) ||
          (t.dlc && (!t.dlc_for_you || c.BIsGameOwned(o.GetParentAppID())))
          ? t.games_already_in_library && c.BIsGameOwned(e)
            ? s.n.k_RejectInLibrary
            : t.games_not_in_library && !c.BIsGameOwned(e)
              ? s.n.k_RejectNotInLibrary
              : !t.video && [7, 8, 9].includes(d)
                ? s.n.k_RejectVideo
                : t.has_discount && !o.GetBestPurchaseOption().discount_pct
                  ? s.n.k_RejectNoDiscount
                  : 1 == d &&
                      t.games_already_in_library &&
                      c.BIsGameOwned(o.GetParentAppID())
                    ? s.n.k_RejectInLibrary
                    : a
                      ? (1 == d && n.BHasAppID(o.GetParentAppID())) ||
                        n.BHasAppID(e)
                        ? s.n.k_RejectAlreadyDisplayed
                        : _(o, t)
                      : s.n.k_NotRejected
          : s.n.k_RejectDLC
        : s.n.k_RejectSoftware;
    }
    function b(e, t) {
      const n = r.a.Get();
      let a = !1;
      for (let t of e) {
        if (n.BIsGameIgnored(t)) return s.n.k_RejectIgnoredGame;
        n.BIsGameOwned(t) && (a = !0);
      }
      return t.games_not_in_library && a
        ? s.n.k_RejectInLibrary
        : t.games_not_in_library && !a
          ? s.n.k_RejectNotInLibrary
          : s.n.k_NotRejected;
    }
    function f(e, t, n, a) {
      const o = i.a.Get().GetPackage(e);
      if (!o) return s.n.k_RejectNotLoaded;
      const l = h(o, t);
      if (l != s.n.k_NotRejected) return l;
      const c = b(o.GetIncludedAppIDs(), t);
      if (c != s.n.k_NotRejected) return c;
      const d = r.a.Get();
      return t.games_already_in_library && d.BOwnsPackage(e)
        ? s.n.k_RejectInLibrary
        : d.BIsPackageIgnored(e)
          ? s.n.k_RejectIgnoredGame
          : a
            ? n.BHasPackageID(e)
              ? s.n.k_RejectAlreadyDisplayed
              : _(o, t)
            : s.n.k_NotRejected;
    }
    function v(e, t, n, a) {
      const r = i.a.Get().GetBundle(e);
      if (!r) return s.n.k_RejectNotLoaded;
      const o = h(r, t);
      if (o != s.n.k_NotRejected) return o;
      const l = b(r.GetIncludedAppIDs(), t);
      return l != s.n.k_NotRejected
        ? l
        : a
          ? n.BHasBundleID(e)
            ? s.n.k_RejectAlreadyDisplayed
            : _(r, t)
          : s.n.k_NotRejected;
    }
  },
  h2Mk: function (e, t, n) {
    var a = {
      "./marketing_brazilian.json": ["/6Ex", 31],
      "./marketing_bulgarian.json": ["J3tH", 32],
      "./marketing_czech.json": ["2Eic", 33],
      "./marketing_danish.json": ["w/0X", 34],
      "./marketing_dutch.json": ["LvnR", 35],
      "./marketing_english.json": ["FBAA", 0],
      "./marketing_finnish.json": ["czYU", 36],
      "./marketing_french.json": ["hS9h", 37],
      "./marketing_german.json": ["wmT1", 38],
      "./marketing_greek.json": ["fQle", 39],
      "./marketing_hungarian.json": ["EeVp", 40],
      "./marketing_italian.json": ["RUrH", 41],
      "./marketing_japanese.json": ["3NYi", 42],
      "./marketing_koreana.json": ["d8v1", 43],
      "./marketing_latam.json": ["ZLbG", 44],
      "./marketing_norwegian.json": ["P4eH", 45],
      "./marketing_polish.json": ["Wj3D", 46],
      "./marketing_portuguese.json": ["7tPT", 47],
      "./marketing_romanian.json": ["rjfH", 48],
      "./marketing_russian.json": ["fMz0", 49],
      "./marketing_sc_schinese.json": ["93Op", 50],
      "./marketing_schinese.json": ["pU9J", 51],
      "./marketing_spanish.json": ["fbW+", 52],
      "./marketing_swedish.json": ["WzR4", 53],
      "./marketing_tchinese.json": ["1tgX", 54],
      "./marketing_thai.json": ["6zsO", 55],
      "./marketing_turkish.json": ["0fs+", 56],
      "./marketing_ukrainian.json": ["tSEl", 57],
      "./marketing_vietnamese.json": ["VIk/", 58],
    };
    function r(e) {
      if (!n.o(a, e))
        return Promise.resolve().then(function () {
          var t = new Error("Cannot find module '" + e + "'");
          throw ((t.code = "MODULE_NOT_FOUND"), t);
        });
      var t = a[e],
        r = t[0];
      return n.e(t[1]).then(function () {
        return n.t(r, 3);
      });
    }
    (r.keys = function () {
      return Object.keys(a);
    }),
      (r.id = "h2Mk"),
      (e.exports = r);
  },
  h3FJ: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      Picker: "addonpicker_Picker_3JFhJ",
      Tabs: "addonpicker_Tabs_1KrWp",
      Tab: "addonpicker_Tab_EDF4t",
      Focus: "addonpicker_Focus_PNj6F",
      TabContent: "addonpicker_TabContent_3vjgj",
      Active: "addonpicker_Active_1QhnQ",
      Content: "addonpicker_Content_2Kmzi",
      ItemList: "addonpicker_ItemList_17ttb",
      Item: "addonpicker_Item_1-iNX",
      SectionedPageTitle: "addonpicker_SectionedPageTitle_1KNxZ",
      SectionTitle: "addonpicker_SectionTitle_2a1Mv",
      FilterInputContainer: "addonpicker_FilterInputContainer_3yi7o",
      FilterInput: "addonpicker_FilterInput_pyLFf",
      AddonPickerMessage: "addonpicker_AddonPickerMessage_gd4kh",
    };
  },
  hFXP: function (e, t, n) {
    e.exports = {
      GameList: "fakegamelist_GameList_2Ke99",
      GameListEntry: "fakegamelist_GameListEntry_14lr0",
      Selected: "fakegamelist_Selected_3QI8h",
      Updating: "fakegamelist_Updating_yTNHk",
      Uninstalled: "fakegamelist_Uninstalled_2hOgD",
      GameIcon: "fakegamelist_GameIcon_2ROZT",
      GameIconPlaceholder: "fakegamelist_GameIconPlaceholder_2AyMQ",
    };
  },
  hHds: function (e, t, n) {
    "use strict";
    n.d(t, "q", function () {
      return a;
    }),
      n.d(t, "e", function () {
        return r;
      }),
      n.d(t, "d", function () {
        return i;
      }),
      n.d(t, "k", function () {
        return s;
      }),
      n.d(t, "h", function () {
        return o;
      }),
      n.d(t, "o", function () {
        return l;
      }),
      n.d(t, "n", function () {
        return c;
      }),
      n.d(t, "i", function () {
        return d;
      }),
      n.d(t, "j", function () {
        return u;
      }),
      n.d(t, "b", function () {
        return m;
      }),
      n.d(t, "u", function () {
        return p;
      }),
      n.d(t, "g", function () {
        return h;
      }),
      n.d(t, "s", function () {
        return _;
      }),
      n.d(t, "t", function () {
        return g;
      }),
      n.d(t, "r", function () {
        return b;
      }),
      n.d(t, "f", function () {
        return f;
      }),
      n.d(t, "m", function () {
        return v;
      }),
      n.d(t, "l", function () {
        return S;
      }),
      n.d(t, "c", function () {
        return y;
      }),
      n.d(t, "p", function () {
        return E;
      }),
      n.d(t, "a", function () {
        return C;
      });
    n("mrSG"), n("Mx8f"), n("fvA7");
    function a(e) {
      return null != e && void 0 !== e.focus;
    }
    function r(e, t) {
      for (; t; ) {
        if (
          (t.parentNode.nodeType == Node.DOCUMENT_FRAGMENT_NODE &&
            (t = t.parentNode.host),
          t == e)
        )
          return !0;
        t = t.parentElement;
      }
      return !1;
    }
    function i(e, t) {
      for (; t; ) if ((t = t.parentElement) == e) return !0;
      return !1;
    }
    function s(e, t) {
      let n = 0,
        a = 0;
      return (
        t.right < e.left
          ? (n = e.left - t.right)
          : t.left > e.right && (n = t.left - e.right),
        t.bottom < e.top
          ? (a = e.top - t.bottom)
          : t.top > e.bottom && (a = t.top - e.bottom),
        Math.sqrt(n * n + a * a)
      );
    }
    function o(e, t) {
      return {
        width: t.width,
        height: t.height,
        top: e.screenTop + t.top,
        bottom: e.screenTop + t.bottom,
        left: e.screenLeft + t.left,
        right: e.screenLeft + t.right,
      };
    }
    function l(e) {
      let t;
      return (
        e &&
          a(e.currentTarget) &&
          (t = e.currentTarget.ownerDocument.defaultView),
        t
      );
    }
    function c(e) {
      let t;
      return e && (t = e.ownerDocument.defaultView), t;
    }
    function d(e) {
      let t = window.document;
      try {
        t = window.top.document;
      } catch (e) {}
      let n = t.createElement("textarea");
      (n.textContent = e),
        (n.style.position = "fixed"),
        t.body.appendChild(n),
        n.select();
      try {
        t.execCommand("copy");
      } catch (e) {
        console.warn("Copy to clipboard failed.", e);
      } finally {
        t.body.removeChild(n);
      }
    }
    function u(e) {
      const t = "steam://openurl/";
      e.startsWith(t) && (e = e.slice(t.length)), d(e);
    }
    function m(e) {
      let t = e.ownerDocument;
      return (
        t.fullscreen ||
        t.webkitIsFullScreen ||
        t.mozFullScreen ||
        t.msFullscreenElement
      );
    }
    function p(e, t) {
      let n = e;
      n.requestFullscreen
        ? n.requestFullscreen()
        : n.webkitRequestFullscreen
          ? n.webkitRequestFullscreen()
          : t && t.webkitSetPresentationMode
            ? t.webkitSetPresentationMode("fullscreen")
            : n.mozRequestFullScreen
              ? n.mozRequestFullScreen()
              : n.msRequestFullscreen && n.msRequestFullscreen();
    }
    function h(e) {
      let t = e.ownerDocument;
      t.cancelFullscreen
        ? t.cancelFullscreen()
        : t.webkitCancelFullScreen
          ? t.webkitCancelFullScreen()
          : t.mozCancelFullScreen
            ? t.mozCancelFullScreen()
            : t.msExitFullscreen && t.msExitFullscreen();
    }
    function _(e) {
      return "INPUT" === e.nodeName;
    }
    function g(e) {
      return "TEXTAREA" === e.nodeName;
    }
    function b(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;
      }
    }
    function f(e, t) {
      const n = e;
      return (
        (n.lastModifiedDate = new Date()),
        (n.name = t || Date.now().toString()),
        e
      );
    }
    function v(e, t) {
      let n = e.parentElement;
      for (; n; ) {
        if (!t || "x" == t) {
          let e = window.getComputedStyle(n);
          if (
            "scroll" == e.overflowX ||
            "auto" == e.overflowX ||
            "fixed" == e.position
          )
            break;
        }
        if (!t || "y" == t) {
          let e = window.getComputedStyle(n);
          if (
            "scroll" == e.overflowY ||
            "auto" == e.overflowY ||
            "fixed" == e.position
          )
            break;
        }
        n = n.parentElement;
      }
      return n;
    }
    function S(e, t) {
      for (; e; ) {
        if (t(e)) return e;
        e = e.parentElement;
      }
    }
    function y(e, t) {
      if (!("ownerDocument" in e)) return !0;
      const n = e.ownerDocument.defaultView.getComputedStyle(e),
        a = "x" === t ? n.overflowX : n.overflowY;
      return "auto" === a || "scroll" === a;
    }
    function E() {
      return (function (e) {
        const t = {};
        return (
          e.querySelectorAll('link[rel="stylesheet"]').forEach((e) => {
            t[e.href] = e;
          }),
          t
        );
      })(document);
    }
    function C(e, t) {
      w(e.document, t, !0);
    }
    function w(e, t, n) {
      const a = Object.assign({}, t),
        r = e.getElementsByTagName("head")[0],
        i = r.getElementsByTagName("link"),
        s = i.length;
      for (let e = 0; e < s; ++e) {
        const t = i[e];
        a[t.href] ? delete a[t.href] : n && t.parentNode.removeChild(t);
      }
      let o = [];
      for (let t in a) {
        const n = a[t],
          r = e.createElement("link");
        for (let e = 0; e < n.attributes.length; e++) {
          let t = n.attributes.item(e);
          r.setAttribute(t.name, t.value);
        }
        o.push(r);
      }
      return r.prepend(...o), o;
    }
  },
  "hc+a": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("2lpH"),
      r = n.n(a),
      i = n("AQa9"),
      s = n("aaBf");
    n("fvA7");
    class o {
      constructor(e = 0, t, n, a) {
        e instanceof o
          ? (this.m_ulSteamID = e.m_ulSteamID)
          : "string" == typeof e
            ? (this.m_ulSteamID = r.a.fromString(e, !0))
            : t && n && void 0 !== a
              ? this.SetFromComponents(e, a, n, t)
              : (this.m_ulSteamID = e ? r.a.fromNumber(e, !0) : r.a.UZERO);
      }
      static InitFromAccountID(e) {
        return new o(Number(e), s.c.EUNIVERSE, 1, i.i);
      }
      static InitFromClanID(e) {
        return new o(Number(e), s.c.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() + "]";
        }
      }
      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() > i.j) 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 r.a(
          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, n, a) {
        let i = ((255 & a) << 24) + ((15 & n) << 20) + (1048575 & t),
          s = 4294967295 & e;
        this.m_ulSteamID = new r.a(s, i, !0);
      }
    }
  },
  hqYq: function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return a;
    }),
      n.d(t, "c", function () {
        return r;
      }),
      n.d(t, "a", function () {
        return s;
      }),
      n.d(t, "b", function () {
        return o;
      });
    const a = { x: "y", y: "x" };
    function r() {
      return { x: 0, y: 0 };
    }
    function i(e, t) {
      return e.x * t.x + e.y * t.y;
    }
    function s(e, t) {
      return { x: t.x - e.x, y: t.y - e.y };
    }
    function o(e, t) {
      const n = s(e, t);
      return Math.sqrt(i(n, n));
    }
  },
  i6MU: function (e, t) {},
  iHGD: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return m;
    });
    var a = n("vDqi"),
      r = n.n(a),
      i = n("q1tI"),
      s = n("gu54"),
      o = (n("5VAZ"), n("RYKw"), n("nJCB")),
      l = (n("PEc5"), n("xSFm")),
      c = n("OJUs"),
      d = (n("4CMN"), n("0Lok"));
    class u {}
    function m(e, t) {
      const n = Object(i.useRef)(r.a.CancelToken.source()),
        { id: a, type: m } = e,
        p = t ? Object.assign(Object.assign({}, s.e), t) : s.e,
        h = Object(i.useMemo)(() => ({ id: a, type: m }), [a, m]),
        [_] = Object(c.a)(h.id, Object(l.j)(h.type), p),
        [g, b] = Object(i.useState)({ id: a, type: m }),
        [f] = Object(c.a)(
          null == g ? void 0 : g.id,
          Object(l.j)(null == g ? void 0 : g.type),
          p,
        ),
        v = Object(i.useMemo)(() => {
          var e;
          return (null === (e = null == f ? void 0 : f.GetIncludedAppIDs()) ||
          void 0 === e
            ? void 0
            : e.length) > 1 &&
            null == (null == f ? void 0 : f.GetAssets().GetMainCapsuleURL()) &&
            null == (null == f ? void 0 : f.GetAssets().GetHeaderURL())
            ? { id: f.GetIncludedAppIDs()[0], type: "game" }
            : g;
        }, [g, f]),
        [S] = Object(c.b)(null == v ? void 0 : v.id, p),
        y = Object(i.useMemo)(
          () => ({
            id:
              (null == f ? void 0 : f.GetParentAppID()) !=
              (null == f ? void 0 : f.GetID())
                ? null == f
                  ? void 0
                  : f.GetParentAppID()
                : void 0,
            type: "game",
          }),
          [f],
        ),
        [E] = Object(c.b)(y.id, p),
        [C] = Object(i.useState)(++u.instance_count),
        [w, B] = Object(i.useState)(!1),
        [O, D] = Object(i.useState)(Object(d.b)(m)),
        [I, T] = Object(i.useState)(a);
      return (
        Object(i.useEffect)(() => {
          if (
            (o.a.Get().HintLoad(),
            1 == (null == _ ? void 0 : _.GetStoreItemType()) &&
              1 == _.GetIncludedAppIDs().length &&
              (g.id != _.GetIncludedAppIDs()[0] || "game" != g.type) &&
              !(null == n ? void 0 : n.current.token.reason))
          ) {
            const e = _.GetIncludedAppIDs()[0];
            b({ id: e, type: "game" }), D("app"), T(e);
          }
        }, [g.id, g.type, _]),
        Object(i.useEffect)(
          () => () =>
            null == n
              ? void 0
              : n.current.cancel("StoreSalePreviewWidget: unmounting"),
          [],
        ),
        {
          myInstance: C,
          bIsHovered: w,
          setIsHovered: B,
          purchaseInfo: h,
          displayInfo: g,
          displayStoreItem: f,
          baseGameStoreItem: E,
          baseGameInfo: y,
          hoverType: O,
          nHoverId: I,
          artworkInfo: v,
          artworkStoreItem: S,
        }
      );
    }
    u.instance_count = 0;
  },
  iuT4: function (e, t, n) {
    e.exports = {
      HorizontalScrollInDragForceCursor:
        "horizontalscrollcontainer_HorizontalScrollInDragForceCursor_ABNpx",
    };
  },
  j7Vr: function (e, t, n) {
    "use strict";
    n.d(t, "e", function () {
      return u;
    }),
      n.d(t, "c", function () {
        return m;
      }),
      n.d(t, "d", function () {
        return _;
      }),
      n.d(t, "b", function () {
        return g;
      }),
      n.d(t, "a", function () {
        return b;
      });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = (n("aoTL"), n("q1tI")),
      s = (n("AQa9"), n("Q8oI"), n("LlcT")),
      o = (n("3wCP"), n("hHds")),
      l = n("CqJL"),
      c = n("aaBf"),
      d = n("gTmQ");
    function u(e, t) {
      let n;
      (n =
        "currentTarget" in e ? e.currentTarget.ownerDocument.defaultView : e),
        0 == t.indexOf("steam://")
          ? (n.location.href = t)
          : n.open(
              t,
              null,
              "menubar,location,resizable,scrollbars,status,noopener",
            );
    }
    function m(e) {
      let {
          bDisableContextMenu: t,
          onContextMenu: n,
          bForceExternal: r,
          href: s,
          bUseLinkFilter: o,
          getPIDFromEvent: l,
        } = e,
        d = Object(a.c)(e, [
          "bDisableContextMenu",
          "onContextMenu",
          "bForceExternal",
          "href",
          "bUseLinkFilter",
          "getPIDFromEvent",
        ]);
      return (
        t || n || (n = h),
        o &&
          s &&
          (s =
            (c.c.IN_CLIENT ? "steam://openurl_external/" : "") +
            c.c.COMMUNITY_BASE_URL +
            "linkfilter/?url=" +
            s),
        l || (l = () => 0),
        i.createElement(
          "a",
          Object.assign({}, d, {
            href: s,
            onClick: (e) => {
              e.preventDefault(),
                _(window, s, {
                  bForceExternal: !!r,
                  bUseLinkFilter: !!o,
                  unPID: l(e),
                });
            },
            onContextMenu: n,
            rel: o ? "noopener noreferrer" : void 0,
          }),
          e.children,
        )
      );
    }
    function p(e) {
      const { strURL: t, unPID: n } = e;
      return i.createElement(
        i.Fragment,
        null,
        i.createElement(
          d.d,
          {
            onSelected: () => {
              o.j(t);
            },
          },
          Object(l.f)("#ContextMenu_CopyLinkURL"),
        ),
        i.createElement(
          d.d,
          {
            onSelected: (e) => {
              _(e, t, { unPID: n });
            },
          },
          Object(l.f)("#ContextMenu_OpenLinkInNewWindow"),
        ),
      );
    }
    function h(e, t) {
      let n = e.currentTarget;
      return Object(s.a)(
        i.createElement(
          d.c,
          null,
          i.createElement(p, { strURL: n.href, unPID: t }),
        ),
        e,
      );
    }
    function _(e, t, n = {}) {
      const { bForceExternal: a, unPID: r, bUseLinkFilter: i } = n;
      let s;
      (s =
        "currentTarget" in e ? e.currentTarget.ownerDocument.defaultView : e),
        "undefined" != typeof SteamClient && void 0 !== SteamClient.WebChat
          ? SteamClient.WebChat.OpenURLInClient(t, r || 0, !!a)
          : 0 == t.indexOf("steam://") &&
              0 != t.indexOf("steam://remoteplay/connect")
            ? (s.location.href = t)
            : s.open(
                t,
                null,
                "menubar,location,resizable,scrollbars,status,noopener" +
                  (i ? ",noreferrer" : ""),
              );
    }
    const g = (e) =>
      i.createElement(
        i.Fragment,
        null,
        Boolean(e.condition) ? e.wrap(e.children) : e.children,
      );
    function b(e) {
      if ("string" != typeof e) return NaN;
      const t = !e.includes("ms") && e.includes("s");
      let n = Number.parseFloat(e);
      return t && (n *= 1e3), n;
    }
    Object(a.b)(
      [r.C],
      class {
        constructor(e) {
          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,
    );
  },
  jYlc: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return r;
      }),
      n.d(t, "c", function () {
        return i;
      });
    const a = {
      capsule: { width: 800, height: 450 },
      spotlight: { width: 2108, height: 460 },
      background: { width: 1920, height: 622 },
      hero: { width: 0, height: 0 },
      email_full: { width: 800, height: 300 },
      email_centered: { width: 644, height: 300 },
      broadcast_left: { width: 155, height: 337 },
      broadcast_right: { width: 155, height: 337 },
      sale_header: { width: 0, height: 0, bDisableEnforceDimensions: !0 },
      sale_overlay: { width: 0, height: 0, bDisableEnforceDimensions: !0 },
      localized_image_group: {
        width: 0,
        height: 0,
        bDisableEnforceDimensions: !0,
      },
      sale_section_background: {
        width: 0,
        height: 0,
        bDisableEnforceDimensions: !0,
      },
      sale_section_title: {
        width: 0,
        height: 0,
        bDisableEnforceDimensions: !0,
      },
      link_capsule: { width: 0, height: 0, bDisableEnforceDimensions: !0 },
      product_banner: { width: 1100, height: 160 },
      product_mobile_banner: { width: 500, height: 160 },
      product_banner_override: { width: 1100, height: 160 },
      product_mobile_banner_override: { width: 500, height: 160 },
      schedule_track_art: { width: 196, height: 92 },
      tab_bar_background: { width: 1500, height: 100 },
      sale_logo: { width: 940, height: 460 },
    };
    function r(e, t, n) {
      const r = a[n];
      return (
        !!r && !r.bDisableEnforceDimensions && e === r.width && t === r.height
      );
    }
    function i(e, t, n) {
      const r = a[n];
      return (
        !!r && (!!r.bDisableEnforceDimensions || !(e < r.width || t < r.height))
      );
    }
  },
  jejQ: function (e, t, n) {
    e.exports = {
      GameTitleContainer: "eventcalendartile_GameTitleContainer_ED3N8",
      AppIcon: "eventcalendartile_AppIcon_21SWe",
      TileTextAppName: "eventcalendartile_TileTextAppName_b4Ttr",
      EnableHovers: "eventcalendartile_EnableHovers_XCSVf",
      TileContainer: "eventcalendartile_TileContainer_c-I2o",
      CoverImageCtn: "eventcalendartile_CoverImageCtn_2xbT4",
      GameShortDescription: "eventcalendartile_GameShortDescription_3WkNq",
      LiveText: "eventcalendartile_LiveText_ROx8W",
      LiveNow: "eventcalendartile_LiveNow_EyM2U",
      FutureDateText: "eventcalendartile_FutureDateText_2KpS5",
      PastDateText: "eventcalendartile_PastDateText_3DcMd",
      GameSource: "eventcalendartile_GameSource_3oKC-",
      SourceList: "eventcalendartile_SourceList_18WTB",
      Source: "eventcalendartile_Source_2S1zq",
      RecommendedSource: "eventcalendartile_RecommendedSource_3NLmT",
      SourceRecommended: "eventcalendartile_SourceRecommended_mBRz8",
      DateAndSourceLine: "eventcalendartile_DateAndSourceLine_31CQ3",
      EventTypeAndDateCtn: "eventcalendartile_EventTypeAndDateCtn_PYDw0",
      LeaveRoomForReminder: "eventcalendartile_LeaveRoomForReminder_2VvEj",
      SmallAppName: "eventcalendartile_SmallAppName_qxDiE",
      TileTextCategoryType: "eventcalendartile_TileTextCategoryType_1B5hb",
      EventType28: "eventcalendartile_EventType28_3bMjI",
      EventType10: "eventcalendartile_EventType10_2RAsp",
      EventType11: "eventcalendartile_EventType11_2T6Ho",
      EventType23: "eventcalendartile_EventType23_DeesV",
      EventType35: "eventcalendartile_EventType35_1bKFL",
      EventType13: "eventcalendartile_EventType13_1a9EE",
      EventType14: "eventcalendartile_EventType14_3_CKO",
      EventType15: "eventcalendartile_EventType15_1OYIC",
      Tile: "eventcalendartile_Tile_P0VEt",
      MainContentContainer: "eventcalendartile_MainContentContainer_1dLpx",
      YoutubePreviewImage: "eventcalendartile_YoutubePreviewImage_2z1EG",
      TileImage: "eventcalendartile_TileImage_1t9YU",
      TileTextContainer: "eventcalendartile_TileTextContainer_2H_lo",
      EventType12: "eventcalendartile_EventType12_DoPDC",
      EventName: "eventcalendartile_EventName_1rKKK",
      EventSubTitle: "eventcalendartile_EventSubTitle_1F6zE",
      GameCapsuleCtn: "eventcalendartile_GameCapsuleCtn_2oxCb",
      AppBannerLogo: "eventcalendartile_AppBannerLogo_2lx6z",
      TileTextHeader: "eventcalendartile_TileTextHeader_1r8Ov",
      PatchIconCtn: "eventcalendartile_PatchIconCtn_2nTKE",
      EventTitleCtn: "eventcalendartile_EventTitleCtn_3jfHr",
      Footer: "eventcalendartile_Footer_1CMuj",
      EventCapsuleCtn: "eventcalendartile_EventCapsuleCtn_3xPFg",
      FallbackImage: "eventcalendartile_FallbackImage_1OrFC",
      LiveBroadcastPreview: "eventcalendartile_LiveBroadcastPreview_11IlN",
      TileBackgroundImage: "eventcalendartile_TileBackgroundImage_3uETs",
      TileCoverImagePlayable: "eventcalendartile_TileCoverImagePlayable_12mIp",
      TileCoverLiveIcon: "eventcalendartile_TileCoverLiveIcon_2l9fM",
      ReminderContainer: "eventcalendartile_ReminderContainer_2iD1S",
      OnlyIcon: "eventcalendartile_OnlyIcon_3Pjit",
      EventSummaryDefault: "eventcalendartile_EventSummaryDefault_3y5Wh",
      Vote_NotLoggedIn: "eventcalendartile_Vote_NotLoggedIn_iygNL",
      Vote_LimitedUser: "eventcalendartile_Vote_LimitedUser_2moGG",
      Vote_Positive: "eventcalendartile_Vote_Positive_36dn3",
      RateIcon: "eventcalendartile_RateIcon_1qPGO",
      Vote_Negative: "eventcalendartile_Vote_Negative_26Owh",
      Vote_Ready: "eventcalendartile_Vote_Ready_3F64O",
      FooterRightSide: "eventcalendartile_FooterRightSide_2fvPf",
      Options: "eventcalendartile_Options_10q-o",
      TileViewerCount: "eventcalendartile_TileViewerCount_26lbW",
      FooterStat: "eventcalendartile_FooterStat_3y7PB",
      CommentIcon: "eventcalendartile_CommentIcon_1hriN",
      CommentIconCtn: "eventcalendartile_CommentIconCtn_35xJx",
      LoadingTile: "eventcalendartile_LoadingTile_15Lsx",
      CarouselMode: "eventcalendartile_CarouselMode_1B2em",
      UpcomingMode: "eventcalendartile_UpcomingMode_3dvLm",
      TileVideoIcon: "eventcalendartile_TileVideoIcon_2xp3K",
      DateAndTime: "eventcalendartile_DateAndTime_1LObm",
      HasVideo: "eventcalendartile_HasVideo_3kSyy",
      SubTitleShown: "eventcalendartile_SubTitleShown_1Kv0N",
      VideoPlayerReady: "eventcalendartile_VideoPlayerReady_2rRXq",
    };
  },
  jfiZ: function (e, t, n) {
    "use strict";
    var a;
    !(function (e) {
      (e[(e.k_ERemoteClientLaunchOK = 1)] = "k_ERemoteClientLaunchOK"),
        (e[(e.k_ERemoteClientLaunchFail = 2)] = "k_ERemoteClientLaunchFail"),
        (e[(e.k_ERemoteClientLaunchRequiresUI = 3)] =
          "k_ERemoteClientLaunchRequiresUI"),
        (e[(e.k_ERemoteClientLaunchRequiresLaunchOption = 4)] =
          "k_ERemoteClientLaunchRequiresLaunchOption"),
        (e[(e.k_ERemoteClientLaunchRequiresEULA = 5)] =
          "k_ERemoteClientLaunchRequiresEULA"),
        (e[(e.k_ERemoteClientLaunchTimeout = 6)] =
          "k_ERemoteClientLaunchTimeout"),
        (e[(e.k_ERemoteClientLaunchStreamTimeout = 7)] =
          "k_ERemoteClientLaunchStreamTimeout"),
        (e[(e.k_ERemoteClientLaunchStreamClientFail = 8)] =
          "k_ERemoteClientLaunchStreamClientFail"),
        (e[(e.k_ERemoteClientLaunchOtherGameRunning = 9)] =
          "k_ERemoteClientLaunchOtherGameRunning"),
        (e[(e.k_ERemoteClientLaunchDownloadStarted = 10)] =
          "k_ERemoteClientLaunchDownloadStarted"),
        (e[(e.k_ERemoteClientLaunchDownloadNoSpace = 11)] =
          "k_ERemoteClientLaunchDownloadNoSpace"),
        (e[(e.k_ERemoteClientLaunchDownloadFiltered = 12)] =
          "k_ERemoteClientLaunchDownloadFiltered"),
        (e[(e.k_ERemoteClientLaunchDownloadRequiresUI = 13)] =
          "k_ERemoteClientLaunchDownloadRequiresUI"),
        (e[(e.k_ERemoteClientLaunchAccessDenied = 14)] =
          "k_ERemoteClientLaunchAccessDenied"),
        (e[(e.k_ERemoteClientLaunchNetworkError = 15)] =
          "k_ERemoteClientLaunchNetworkError"),
        (e[(e.k_ERemoteClientLaunchProgress = 16)] =
          "k_ERemoteClientLaunchProgress"),
        (e[(e.k_ERemoteClientLaunchParentalUnlockFailed = 17)] =
          "k_ERemoteClientLaunchParentalUnlockFailed"),
        (e[(e.k_ERemoteClientLaunchScreenLocked = 18)] =
          "k_ERemoteClientLaunchScreenLocked"),
        (e[(e.k_ERemoteClientLaunchUnsupported = 19)] =
          "k_ERemoteClientLaunchUnsupported"),
        (e[(e.k_ERemoteClientLaunchDisabledLocal = 20)] =
          "k_ERemoteClientLaunchDisabledLocal"),
        (e[(e.k_ERemoteClientLaunchDisabledRemote = 21)] =
          "k_ERemoteClientLaunchDisabledRemote"),
        (e[(e.k_ERemoteClientLaunchBroadcasting = 22)] =
          "k_ERemoteClientLaunchBroadcasting"),
        (e[(e.k_ERemoteClientLaunchBusy = 23)] = "k_ERemoteClientLaunchBusy"),
        (e[(e.k_ERemoteClientLaunchDriversNotInstalled = 24)] =
          "k_ERemoteClientLaunchDriversNotInstalled"),
        (e[(e.k_ERemoteClientLaunchTransportUnavailable = 25)] =
          "k_ERemoteClientLaunchTransportUnavailable"),
        (e[(e.k_ERemoteClientLaunchCanceled = 26)] =
          "k_ERemoteClientLaunchCanceled"),
        (e[(e.k_ERemoteClientLaunchInvisible = 27)] =
          "k_ERemoteClientLaunchInvisible"),
        (e[(e.k_ERemoteClientLaunchRestrictedCountry = 28)] =
          "k_ERemoteClientLaunchRestrictedCountry");
    })(a || (a = {}));
  },
  jtr3: function (e, t, n) {
    e.exports = {
      Ctn: "saleminigames_Ctn_2ioY9",
      DetailText: "saleminigames_DetailText_2YbOR",
      RewardText: "saleminigames_RewardText_1FpR6",
      PostText: "saleminigames_PostText_3ex1_",
      ImgFullBagde: "saleminigames_ImgFullBagde_1cZOq",
    };
  },
  k5Yd: function (e, t, n) {
    e.exports = {
      DashboardCtn: "saledashboard_DashboardCtn_3Hft6",
      DashboardSectionActive: "saledashboard_DashboardSectionActive_3SCtU",
      DashboardSectionFeatured: "saledashboard_DashboardSectionFeatured_1AHSB",
      DashboardDesc: "saledashboard_DashboardDesc_UO4nh",
      CreateNewSaleButton: "saledashboard_CreateNewSaleButton_1KX99",
      DateToolTip: "saledashboard_DateToolTip_2qNeW",
      TopStatsCtn: "saledashboard_TopStatsCtn_3pX36",
      EventDetailsCtn: "saledashboard_EventDetailsCtn_2Pt6g",
      EventName: "saledashboard_EventName_2ud6o",
      FeaturedApps: "saledashboard_FeaturedApps_2k6vv",
      BigNumber: "saledashboard_BigNumber_2akdc",
      Highlight: "saledashboard_Highlight_1XloL",
      StatusCtn: "saledashboard_StatusCtn_1tIk2",
      PendingChanges: "saledashboard_PendingChanges_3idx4",
    };
  },
  k73m: function (e, t, n) {
    e.exports = {
      LoginQR: "qrlogin_LoginQR_2HBjO",
      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",
    };
  },
  kBjc: function (e, t, n) {
    e.exports = {
      DashboardPage: "pricingdashboard_DashboardPage_fIACD",
      DashTitle: "pricingdashboard_DashTitle_3GHz1",
      BetaTag: "pricingdashboard_BetaTag_2h5vP",
      FeedbackLinkCtn: "pricingdashboard_FeedbackLinkCtn_5ZCWm",
      FeedbackLink: "pricingdashboard_FeedbackLink_24sFT",
      Throbber: "pricingdashboard_Throbber_TigTT",
      ErrorMessage: "pricingdashboard_ErrorMessage_3_i0a",
      ButtonGroup: "pricingdashboard_ButtonGroup_WBwvg",
      Instructions: "pricingdashboard_Instructions_1mz7G",
    };
  },
  kQyc: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return C;
    }),
      n.d(t, "a", function () {
        return T;
      }),
      n.d(t, "c", function () {
        return j;
      }),
      n.d(t, "d", function () {
        return A;
      }),
      n.d(t, "e", function () {
        return V;
      });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = n("TyAF"),
      s = n("q1tI"),
      o = n.n(s),
      l = n("i8i4"),
      c = n("OeiR"),
      d = n("Zj+z"),
      u = (n("6wRw"), n("OJUs"));
    n("hHds");
    class m extends s.Component {
      constructor(e) {
        super(e);
      }
      render() {
        if (null == this.props.text)
          return s.createElement(s.Fragment, null, this.props.children);
        let e;
        if (
          ((e =
            this.props.text instanceof Array
              ? this.props.text
                  .map((e) => (e ? e.toString() : ""))
                  .filter((e) => e.length > 0)
                  .join("\n")
              : this.props.text.toString()),
          1 == s.Children.count(this.props.children))
        ) {
          let t = s.Children.only(this.props.children);
          return s.cloneElement(t, {
            "data-copystyle": this.props.style,
            "data-copytext": e,
          });
        }
        return (
          console.log(
            `Error: CopyableText must be the parent of exactly one child:\n\tcopystyle=${this.props.style} copytext=${e}`,
          ),
          s.createElement(s.Fragment, null, this.props.children)
        );
      }
    }
    m.defaultProps = { text: "" };
    var p = n("gTmQ"),
      h = n("3wCP"),
      _ = n("CqJL"),
      g = n("KT6v");
    function b(e, t) {
      return e + "economy/sticker/" + t;
    }
    n("1gou");
    var f = n("aaBf"),
      v = n("vBpD"),
      S = n("UYZl"),
      y = n.n(S),
      E = n("j7Vr");
    class C extends o.a.PureComponent {
      constructor() {
        super(...arguments),
          (this.state = { showHover: !1 }),
          (this.m_ref = o.a.createRef());
      }
      OnMouseEnter(e) {
        this.setState({ showHover: !0 });
      }
      OnMouseLeave(e) {
        this.setState({ showHover: !1 });
      }
      render() {
        const { emoticon: e, large: t, emoticonHoverStore: n } = this.props,
          a = `:${e}:`,
          r = t && n.BLoaded(e) ? n.Get(e).url : d.a.GetEmoticonURL(e, t);
        return o.a.createElement(
          o.a.Fragment,
          null,
          o.a.createElement(
            m,
            { text: a, style: "merge-adjacent" },
            o.a.createElement("img", {
              src: r,
              className: Object(h.a)(y.a.emoticon, t ? y.a.large : void 0),
              "data-emoticon": e,
              onMouseEnter: this.OnMouseEnter,
              onMouseLeave: this.OnMouseLeave,
              ref: this.m_ref,
            }),
          ),
          this.state.showHover &&
            o.a.createElement(w, {
              target: this.m_ref.current,
              store: n,
              emoticon: e,
            }),
        );
      }
    }
    Object(a.b)([g.b], C.prototype, "OnMouseEnter", null),
      Object(a.b)([g.b], C.prototype, "OnMouseLeave", null);
    const w = Object(i.a)((e) => {
        const { target: t, store: n, emoticon: a } = e,
          r = n.Get(a);
        return o.a.createElement(
          B,
          {
            target: t,
            title: `:${a}:`,
            subtitle: r && r.app_name ? r.app_name : void 0,
          },
          o.a.createElement(C, {
            emoticon: a,
            emoticonHoverStore: n,
            large: !0,
          }),
        );
      }),
      B = ({ target: e, title: t, subtitle: n, children: a }) =>
        o.a.createElement(
          c.a,
          { target: e, style: { zIndex: 1700 }, className: y.a.EmoticonHover },
          a,
          o.a.createElement(
            "div",
            { className: y.a.Info },
            o.a.createElement(
              "div",
              { className: y.a.Name },
              t || o.a.createElement("span", null, " "),
            ),
            o.a.createElement(
              "div",
              { className: y.a.AppName },
              n || o.a.createElement("span", null, " "),
            ),
          ),
        );
    function O(e) {
      return e.recent_emoticons;
    }
    function D(e) {
      return e.recent_stickers;
    }
    function I(e) {
      return O(e).length + D(e).length > 0;
    }
    const T = Object(i.a)((e) => {
      const {
        emoticonStore: t,
        emoticonHoverStore: n,
        roomEffectSettings: a,
        strFlairGroupID: i,
        onEmoticonSelected: l,
        onRoomEffectSelected: c,
        onStickerSelected: d,
      } = e;
      !(function (e) {
        const [t, n] = Object(s.useState)(e.is_initialized);
        Object(s.useEffect)(() => {
          if (!e.is_initialized) {
            e.UpdateEmoticonList();
            const t = Object(r.M)(
              () => e.is_initialized,
              () => n(e.is_initialized),
            );
            return () => t();
          }
          return () => {};
        }, [e]);
      })(t);
      const u = [];
      return (
        I(t) &&
          u.push({
            renderTab: (e) =>
              o.a.createElement(
                "span",
                {
                  title: Object(_.f)("#AddonPicker_RecentlyUsed"),
                  className: Object(h.a)(
                    y.a.PickerTab,
                    y.a.Clock,
                    e && y.a.ActiveTab,
                  ),
                },
                o.a.createElement(Z, null),
              ),
            renderContent: () =>
              o.a.createElement(k, {
                store: t,
                hoverStore: n,
                onEmoticonSelect: (e) => l(e.name),
                onStickerSelect: (e) => d(e.name),
                flairGroupID: i,
              }),
          }),
        o.a.createElement(
          p.c,
          null,
          o.a.createElement(v.a, {
            config: [
              ...u,
              {
                renderTab: (e) =>
                  o.a.createElement(
                    "span",
                    {
                      title: Object(_.f)("#AddonPicker_Emoticons"),
                      className: Object(h.a)(y.a.PickerTab, e && y.a.ActiveTab),
                    },
                    o.a.createElement(Q, null),
                  ),
                renderContent: () =>
                  o.a.createElement(M, {
                    store: t,
                    hoverStore: n,
                    onItemSelect: (e) => l(e.name),
                    flairGroupID: i,
                  }),
              },
              {
                renderTab: (e) =>
                  o.a.createElement(
                    "span",
                    {
                      title: Object(_.f)("#AddonPicker_Stickers"),
                      className: Object(h.a)(y.a.PickerTab, e && y.a.ActiveTab),
                    },
                    o.a.createElement(K, null),
                  ),
                renderContent: () =>
                  o.a.createElement(L, {
                    store: t,
                    onItemSelect: (e) => d(e.name),
                  }),
              },
              {
                renderTab: (e) =>
                  o.a.createElement(
                    "span",
                    {
                      title: Object(_.f)("#AddonPicker_RoomEffects"),
                      className: Object(h.a)(y.a.PickerTab, e && y.a.ActiveTab),
                    },
                    o.a.createElement(Y, null),
                  ),
                renderContent: () =>
                  o.a.createElement(G, {
                    store: t,
                    effectSettings: a,
                    onItemSelect: (e) => c(e.name),
                  }),
              },
            ],
          }),
        )
      );
    });
    let R = class extends o.a.Component {
      constructor(e) {
        super(e), (this.state = { strSearchText: "" });
        let t = this.props.emoticonStore;
        t.is_initialized ||
          (t.UpdateEmoticonList(),
          (this.m_disposeEmoticonStore = Object(r.M)(
            () => t.is_initialized,
            () => this.forceUpdate(),
          )));
      }
      componentWillUnmount() {
        this.m_disposeEmoticonStore && this.m_disposeEmoticonStore();
      }
      render() {
        const {
            emoticonStore: e,
            emoticonHoverStore: t,
            onEmoticonSelected: n,
            onStickerSelected: a,
            strFlairGroupID: r,
          } = this.props,
          i = [];
        return (
          I(e) &&
            i.push({
              renderTab: (e) =>
                o.a.createElement(
                  "span",
                  {
                    title: Object(_.f)("#AddonPicker_RecentlyUsed"),
                    className: Object(h.a)(
                      y.a.PickerTab,
                      y.a.Clock,
                      e && y.a.ActiveTab,
                    ),
                  },
                  o.a.createElement(Z, null),
                ),
              renderContent: () =>
                o.a.createElement(k, {
                  store: e,
                  hoverStore: t,
                  onEmoticonSelect: (e) => n(e.name),
                  onStickerSelect: (e) => a(e.name),
                  flairGroupID: r,
                }),
            }),
          o.a.createElement(
            p.c,
            null,
            o.a.createElement(v.a, {
              config: [
                ...i,
                {
                  renderTab: (e) =>
                    o.a.createElement(
                      "span",
                      {
                        title: Object(_.f)("#AddonPicker_Emoticons"),
                        className: Object(h.a)(
                          y.a.PickerTab,
                          e && y.a.ActiveTab,
                        ),
                      },
                      o.a.createElement(Q, null),
                    ),
                  renderContent: () =>
                    o.a.createElement(M, {
                      store: e,
                      hoverStore: t,
                      onItemSelect: (e) => n(e.name),
                      flairGroupID: r,
                    }),
                },
                {
                  renderTab: (e) =>
                    o.a.createElement(
                      "span",
                      {
                        title: Object(_.f)("#AddonPicker_Stickers"),
                        className: Object(h.a)(
                          y.a.PickerTab,
                          e && y.a.ActiveTab,
                        ),
                      },
                      o.a.createElement(K, null),
                    ),
                  renderContent: () =>
                    o.a.createElement(L, {
                      store: e,
                      onItemSelect: (e) => a(e.name),
                    }),
                },
              ],
            }),
          )
        );
      }
    };
    R = Object(a.b)([i.a], R);
    class j extends o.a.Component {
      constructor(e) {
        super(e), (this.state = { strSearchText: "" });
        let t = this.props.emoticonStore;
        t.is_initialized ||
          (t.UpdateEmoticonList(),
          (this.m_disposeEmoticonStore = Object(r.M)(
            () => t.is_initialized,
            () => this.forceUpdate(),
          )));
      }
      componentWillUnmount() {
        this.m_disposeEmoticonStore && this.m_disposeEmoticonStore();
      }
      render() {
        return o.a.createElement(
          p.c,
          null,
          o.a.createElement(v.a, {
            config: [
              {
                renderTab: () =>
                  o.a.createElement(
                    "span",
                    {
                      title: Object(_.f)("#AddonPicker_Emoticons"),
                      className: y.a.PickerTab,
                    },
                    o.a.createElement(Q, null),
                  ),
                renderContent: () =>
                  o.a.createElement(N, {
                    store: this.props.emoticonStore,
                    hoverStore: this.props.emoticonHoverStore,
                    onItemSelect: (e) => this.props.OnSelected(e.name, !1),
                    flairGroupID: this.props.strFlairGroupID,
                  }),
              },
            ],
          }),
        );
      }
    }
    class A extends o.a.Component {
      constructor(e) {
        super(e), (this.state = { strSearchText: "" });
        let t = this.props.emoticonStore;
        t.is_initialized ||
          (t.UpdateEmoticonList(),
          (this.m_disposeEmoticonStore = Object(r.M)(
            () => t.is_initialized,
            () => this.forceUpdate(),
          )));
      }
      componentWillUnmount() {
        this.m_disposeEmoticonStore && this.m_disposeEmoticonStore();
      }
      render() {
        return o.a.createElement(
          p.c,
          null,
          o.a.createElement(v.a, {
            config: [
              {
                renderTab: () =>
                  o.a.createElement(
                    "span",
                    {
                      title: Object(_.f)("#AddonPicker_Emoticons"),
                      className: y.a.PickerTab,
                    },
                    o.a.createElement(Q, null),
                  ),
                renderContent: () =>
                  o.a.createElement(F, {
                    store: this.props.emoticonStore,
                    hoverStore: this.props.emoticonHoverStore,
                    onItemSelect: (e) => this.props.OnSelected(e.name, !1),
                    flairGroupID: this.props.strFlairGroupID,
                  }),
              },
            ],
          }),
        );
      }
    }
    class k extends o.a.Component {
      constructor() {
        super(...arguments), (this.state = { filter: "" });
      }
      render() {
        const {
            store: e,
            hoverStore: t,
            onEmoticonSelect: n,
            onStickerSelect: a,
          } = this.props,
          { filter: r } = this.state,
          i = [];
        return (
          O(e) &&
            i.push({
              title: Object(_.f)("#AddonPicker_RecentEmoticons"),
              items: d.a.FilterEmoticons(O(e), r),
              onItemSelect: n,
              renderItem: (e) =>
                o.a.createElement(x, { emoticon: e, emoticonHoverStore: t }),
              keyExtractor: (e) => e.name,
              renderEmpty: () =>
                o.a.createElement(
                  v.b,
                  null,
                  r
                    ? Object(_.f)("#AddonPicker_NoResults")
                    : Object(_.f)(
                        "#AddonPicker_NoRecent",
                        Object(_.f)("#AddonPicker_Emoticons"),
                      ),
                ),
            }),
          D(e).length &&
            i.push({
              title: Object(_.f)("#AddonPicker_RecentStickers"),
              items: d.a.FilterStickers(D(e), r),
              onItemSelect: a,
              renderItem: (e) => o.a.createElement(z, { sticker: e }),
              keyExtractor: ({ name: e }) => e,
              renderEmpty: () =>
                o.a.createElement(
                  v.b,
                  null,
                  r
                    ? Object(_.f)("#AddonPicker_NoResults")
                    : Object(_.f)(
                        "#AddonPicker_NoRecent",
                        Object(_.f)("#AddonPicker_Stickers"),
                      ),
                ),
            }),
          o.a.createElement(v.d, {
            onFilterChange: (e) => this.setState({ filter: e }),
            filter: r,
            sections: i,
          })
        );
      }
    }
    class M extends o.a.Component {
      constructor() {
        super(...arguments), (this.state = { filter: "" });
      }
      render() {
        const {
            store: e,
            hoverStore: t,
            onItemSelect: n,
            flairGroupID: a,
          } = this.props,
          { filter: r } = this.state,
          i = !r && a ? e.GetFlairListByGroupID(a) : e.emoticon_list,
          s = d.a.FilterEmoticons(i, r).slice(0, 1e3);
        return o.a.createElement(v.c, {
          title: Object(_.f)("#AddonPicker_Emoticons"),
          items: s,
          onItemSelect: n,
          renderItem: (e) =>
            o.a.createElement(x, { emoticon: e, emoticonHoverStore: t }),
          keyExtractor: (e) => e.name,
          onFilterChange: (e) => this.setState({ filter: e }),
          filter: r,
          onSubmit: () => n(s[0]),
          renderEmpty: () =>
            r
              ? o.a.createElement(
                  v.b,
                  null,
                  Object(_.f)("#AddonPicker_NoResults"),
                )
              : o.a.createElement(P, null),
        });
      }
    }
    function P() {
      return o.a.createElement(
        o.a.Fragment,
        null,
        o.a.createElement(
          v.b,
          null,
          Object(_.f)(
            "#AddonPicker_NoneOwned",
            Object(_.f)("#AddonPicker_Emoticons"),
          ),
        ),
        o.a.createElement(
          v.b,
          null,
          Object(_.o)(
            "#AddonPicker_AcquireAtPointsShopOrMarket",
            o.a.createElement(
              E.c,
              { href: `${f.c.STORE_BASE_URL}points/shop/c/emoticons` },
              Object(_.f)("#AddonPicker_AcquireAtPointsShop_Link"),
            ),
            o.a.createElement(
              E.c,
              { href: `${f.c.COMMUNITY_BASE_URL}market` },
              Object(_.f)("#AddonPicker_AcquireAtPointsShopOrMarket_Link"),
            ),
          ),
        ),
      );
    }
    class L extends o.a.Component {
      constructor() {
        super(...arguments), (this.state = { filter: "" });
      }
      render() {
        const { store: e, onItemSelect: t } = this.props,
          { filter: n } = this.state,
          a = d.a.FilterStickers(e.GetStickerList(), n);
        return o.a.createElement(v.c, {
          title: Object(_.f)("#EmoticonPicker_StickerHeading"),
          items: a,
          onItemSelect: t,
          renderItem: (e) => o.a.createElement(z, { sticker: e }),
          keyExtractor: ({ name: e }) => e,
          onFilterChange: (e) => this.setState({ filter: e }),
          filter: n,
          onSubmit: () => t(a[0]),
          renderEmpty: () =>
            n
              ? o.a.createElement(
                  v.b,
                  null,
                  Object(_.f)("#AddonPicker_NoResults"),
                )
              : o.a.createElement(
                  o.a.Fragment,
                  null,
                  o.a.createElement(
                    v.b,
                    null,
                    Object(_.f)(
                      "#AddonPicker_NoneOwned",
                      Object(_.f)("#AddonPicker_Stickers"),
                    ),
                  ),
                  o.a.createElement(
                    v.b,
                    null,
                    Object(_.o)(
                      "#AddonPicker_AcquireAtPointsShop",
                      o.a.createElement(
                        E.c,
                        { href: `${f.c.STORE_BASE_URL}points/shop/c/stickers` },
                        Object(_.f)("#AddonPicker_AcquireAtPointsShop_Link"),
                      ),
                    ),
                  ),
                ),
        });
      }
    }
    class G extends o.a.Component {
      constructor() {
        super(...arguments), (this.state = { filter: "" });
      }
      render() {
        const { store: e, effectSettings: t, onItemSelect: n } = this.props,
          { filter: a } = this.state,
          r = e.GetEffectList().filter(({ name: e }) => e.indexOf(a) > -1);
        return o.a.createElement(v.c, {
          title: Object(_.f)("#EmoticonPicker_EffectHeading"),
          items: r,
          onItemSelect: n,
          renderItem: (e) =>
            o.a.createElement(W, { effect: e, roomEffectSettings: t }),
          keyExtractor: ({ name: e }) => e,
          onFilterChange: (e) => this.setState({ filter: e }),
          filter: a,
          onSubmit: () => n(r[0]),
          renderEmpty: () =>
            a
              ? o.a.createElement(
                  v.b,
                  null,
                  Object(_.f)("#AddonPicker_NoResults"),
                )
              : o.a.createElement(
                  o.a.Fragment,
                  null,
                  o.a.createElement(
                    v.b,
                    null,
                    Object(_.f)(
                      "#AddonPicker_NoneOwned",
                      Object(_.f)("#AddonPicker_RoomEffects"),
                    ),
                  ),
                  o.a.createElement(
                    v.b,
                    null,
                    Object(_.o)(
                      "#AddonPicker_AcquireAtPointsShop",
                      o.a.createElement(
                        E.c,
                        {
                          href: `${f.c.STORE_BASE_URL}points/shop/c/chateffects`,
                        },
                        Object(_.f)("#AddonPicker_AcquireAtPointsShop_Link"),
                      ),
                    ),
                  ),
                ),
        });
      }
    }
    let N = class extends o.a.Component {
      constructor() {
        super(...arguments), (this.state = { filter: "" });
      }
      render() {
        const {
            store: e,
            hoverStore: t,
            onItemSelect: n,
            flairGroupID: a,
          } = this.props,
          { filter: r } = this.state,
          i = [];
        return (
          O(e).length &&
            i.push({
              title: Object(_.f)("#AddonPicker_RecentEmoticons"),
              items: d.a.FilterEmoticons(O(e), r),
              onItemSelect: n,
              renderItem: (e) =>
                o.a.createElement(x, { emoticon: e, emoticonHoverStore: t }),
              keyExtractor: (e) => e.name,
              renderEmpty: () =>
                o.a.createElement(
                  v.b,
                  null,
                  r
                    ? Object(_.f)("#AddonPicker_NoResults")
                    : Object(_.f)(
                        "#AddonPicker_NoRecent",
                        Object(_.f)("#AddonPicker_Emoticons"),
                      ),
                ),
            }),
          o.a.createElement(v.d, {
            onFilterChange: (e) => this.setState({ filter: e }),
            filter: r,
            sections: [
              ...i,
              {
                title: Object(_.f)("#AddonPicker_AllEmoticons"),
                items: d.a.FilterStickers(e.emoticon_list, r).slice(0, 1e3),
                onItemSelect: n,
                renderItem: (e) =>
                  o.a.createElement(x, { emoticon: e, emoticonHoverStore: t }),
                keyExtractor: (e) => e.name,
                renderEmpty: () =>
                  r
                    ? o.a.createElement(
                        v.b,
                        null,
                        Object(_.f)("#AddonPicker_NoResults"),
                      )
                    : o.a.createElement(P, null),
              },
            ],
          })
        );
      }
    };
    N = Object(a.b)([i.a], N);
    let F = class extends o.a.Component {
      constructor() {
        super(...arguments), (this.state = { filter: "" });
      }
      render() {
        const {
            store: e,
            hoverStore: t,
            onItemSelect: n,
            flairGroupID: a,
          } = this.props,
          { filter: r } = this.state;
        return o.a.createElement(v.d, {
          onFilterChange: (e) => this.setState({ filter: e }),
          filter: r,
          sections: [
            {
              title: Object(_.f)("#ChatEntryButton_Flair"),
              items: d.a.FilterStickers(e.GetFlairListByGroupID(a), r),
              onItemSelect: n,
              renderItem: (e) =>
                o.a.createElement(x, { emoticon: e, emoticonHoverStore: t }),
              keyExtractor: (e) => e.name,
              renderEmpty: () =>
                r
                  ? o.a.createElement(
                      v.b,
                      null,
                      Object(_.f)("#AddonPicker_NoResults"),
                    )
                  : o.a.createElement(P, null),
            },
          ],
        });
      }
    };
    F = Object(a.b)([i.a], F);
    const x = (e) => {
      const { emoticon: t, emoticonHoverStore: n, large: a } = e,
        r = !t.last_used && t.time_received;
      return o.a.createElement(
        "div",
        { className: y.a.EmoticonItem },
        o.a.createElement(C, {
          emoticon: t.name,
          emoticonHoverStore: n,
          large: a,
        }),
        r && o.a.createElement(V, null),
      );
    };
    class z extends o.a.Component {
      constructor() {
        super(...arguments),
          (this.state = { showHover: !1 }),
          (this.m_ref = o.a.createRef());
      }
      render() {
        const e = this.props,
          { sticker: t, className: n } = e,
          r = Object(a.c)(e, ["sticker", "className"]),
          i = b(f.c.COMMUNITY_CDN_URL, t.name);
        return o.a.createElement(
          "div",
          Object.assign(
            {
              ref: this.m_ref,
              className: Object(h.a)(n, y.a.StickerButton),
              onMouseOver: () => this.setState({ showHover: !0 }),
              onFocus: () => this.setState({ showHover: !0 }),
              onMouseLeave: () => this.setState({ showHover: !1 }),
              onBlur: () => this.setState({ showHover: !1 }),
            },
            r,
          ),
          o.a.createElement("img", { style: { width: "100%" }, src: i }),
          this.state.showHover &&
            o.a.createElement(U, { target: this.m_ref.current, sticker: t }),
        );
      }
    }
    const U = Object(i.a)((e) => {
      const {
          target: t,
          sticker: { name: n, appid: a },
        } = e,
        [r] = Object(u.b)(a, {});
      return o.a.createElement(
        B,
        { target: t, title: n, subtitle: null == r ? void 0 : r.GetName() },
        o.a.createElement("img", {
          src: b(f.c.COMMUNITY_CDN_URL, n),
          className: y.a.StickerHoverSticker,
        }),
      );
    });
    class W extends o.a.Component {
      constructor() {
        super(...arguments),
          (this.state = { showHover: !1 }),
          (this.m_ref = o.a.createRef());
      }
      render() {
        const e = this.props,
          { effect: t, roomEffectSettings: n, className: r } = e,
          i = Object(a.c)(e, ["effect", "roomEffectSettings", "className"]),
          s = n[t.name];
        return o.a.createElement(
          "div",
          Object.assign(
            {
              ref: this.m_ref,
              onMouseOver: () => this.setState({ showHover: !0 }),
              onFocus: () => this.setState({ showHover: !0 }),
              onMouseLeave: () => this.setState({ showHover: !1 }),
              onBlur: () => this.setState({ showHover: !1 }),
              className: Object(h.a)(r, y.a.EffectButton),
            },
            i,
          ),
          s.renderEffectIcon(),
          this.state.showHover &&
            o.a.createElement(H, {
              target: this.m_ref.current,
              effect: t,
              roomEffectSettings: n,
            }),
        );
      }
    }
    const H = Object(i.a)((e) => {
      const {
          target: t,
          effect: { name: n, appid: a },
          roomEffectSettings: r,
        } = e,
        i = r[n],
        [s] = Object(u.b)(a, {});
      return o.a.createElement(
        B,
        { target: t, title: n, subtitle: null == s ? void 0 : s.GetName() },
        o.a.createElement(
          "div",
          { className: y.a.EffectHoverEffect },
          i.renderEffectIcon(),
        ),
      );
    });
    function V() {
      return o.a.createElement(
        "div",
        { className: y.a.NewEmoticonIndicator },
        o.a.createElement("div", { className: y.a.NewEmoticonCircle }),
      );
    }
    class q extends o.a.Component {
      constructor(e) {
        super(e), (this.state = { visible: !1 });
      }
      SetVisible(e) {
        e && !this.state.visible && this.setState({ visible: !0 });
      }
      componentDidMount() {
        this.props.coordinator.RegisterChild(
          l.findDOMNode(this),
          this.SetVisible,
        );
      }
      componentWillUnmount() {
        this.props.coordinator.UnregisterChild(l.findDOMNode(this));
      }
      render() {
        let e = this.props.emoticon,
          t = [y.a.EmoticonSelector_Item],
          n = !1;
        return (
          !e.last_used &&
            e.time_received &&
            (t.push(y.a.EmoticonSelector_Item_New), (n = !0)),
          o.a.createElement(
            "div",
            {
              className: Object(h.a)(...t),
              "data-emoticon": e.name,
              onClick: this.props.onClick,
            },
            this.state.visible &&
              o.a.createElement(C, {
                emoticonHoverStore: this.props.emoticonHoverStore,
                emoticon: e.name,
                large: !0,
              }),
            n && o.a.createElement(V, null),
          )
        );
      }
    }
    function K(e) {
      return f.c.IN_GAMEPADUI
        ? o.a.createElement(
            "svg",
            Object.assign(
              {
                viewBox: "0 0 36 36",
                fill: "none",
                xmlns: "http://www.w3.org/2000/svg",
              },
              e,
            ),
            o.a.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M8 4C5.79086 4 4 5.79086 4 8V27C4 29.2091 5.79086 31 8 31H13V20C13 16.134 16.134 13 20 13H31V8C31 5.79086 29.2091 4 27 4H8Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M16 20C16 17.7909 17.7909 16 20 16H31L16 31V20Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M29 24.0625V25C29 25.2671 28.9738 25.5282 28.9239 25.7806L30.8858 26.1688C30.9609 25.7892 31 25.3982 31 25V24.0625H29Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M28.3263 27.2225C28.0342 27.6587 27.6587 28.0342 27.2225 28.3263L28.3351 29.9882C28.9885 29.5507 29.5507 28.9885 29.9882 28.3351L28.3263 27.2225Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M21 29H22.1875V31H19L21 29Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M24.0625 29H25C25.2671 29 25.5282 28.9738 25.7806 28.9239L26.1688 30.8858C25.7892 30.9609 25.3981 31 25 31H24.0625V29Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M29 22.1875V21L31 19V22.1875H29Z",
              fill: "currentColor",
            }),
          )
        : o.a.createElement(
            "svg",
            Object.assign({ viewBox: "0 0 59 59", width: "32" }, e),
            o.a.createElement(
              "switch",
              null,
              o.a.createElement(
                "g",
                null,
                o.a.createElement("path", {
                  d: "M58 30.2v-.1L23.4 58.5l-.2-.3-.1.1C9.9 55.4 0 43.6 0 29.5 0 13.2 13.2 0 29.5 0S59 13.2 59 29.4l-1 .8zm0-1.5c-5-2.2-16.1-4-26 4.6-9.8 8.4-10.3 18.8-9.2 23.9C10.3 54.2 1 42.9 1 29.5 1 13.8 13.8 1 29.5 1 45 1 57.6 13.3 58 28.7zm-.8.8L23.7 56.9c-1-4.8-.5-14.8 8.9-22.9 9.4-8 19.7-6.6 24.6-4.5z",
                  fillRule: "evenodd",
                  clipRule: "evenodd",
                  fill: "#fff",
                }),
              ),
            ),
          );
    }
    function Q(e) {
      return f.c.IN_GAMEPADUI
        ? o.a.createElement(
            "svg",
            Object.assign(
              {
                width: "36",
                height: "36",
                viewBox: "0 0 36 36",
                fill: "none",
                xmlns: "http://www.w3.org/2000/svg",
              },
              e,
            ),
            o.a.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M33 18C33 26.2843 26.2843 33 18 33C15.031 33 12.2636 32.1374 9.93446 30.6492L4.35707 32.4107C3.95174 32.5387 3.58168 32.1347 3.74474 31.7421L5.81718 26.7529C4.04426 24.2896 3 21.2667 3 18C3 9.71573 9.71573 3 18 3C26.2843 3 33 9.71573 33 18ZM18 9.66667C16.3518 9.66667 14.7407 10.1554 13.3703 11.0711C11.9998 11.9868 10.9317 13.2883 10.301 14.811C9.67028 16.3337 9.50525 18.0092 9.82679 19.6258C10.1483 21.2423 10.942 22.7271 12.1074 23.8926C13.2729 25.058 14.7577 25.8517 16.3743 26.1732C17.9908 26.4948 19.6663 26.3297 21.189 25.699C22.7118 25.0683 24.0132 24.0002 24.9289 22.6298C25.8446 21.2593 26.3333 19.6482 26.3333 18C26.3333 16.9057 26.1178 15.822 25.699 14.811C25.2802 13.7999 24.6664 12.8813 23.8926 12.1074C23.1187 11.3336 22.2001 10.7198 21.189 10.301C20.178 9.88222 19.0944 9.66667 18 9.66667ZM13 16.3333C13 16.0037 13.0978 15.6815 13.2809 15.4074C13.464 15.1333 13.7243 14.9197 14.0289 14.7935C14.3334 14.6674 14.6685 14.6344 14.9918 14.6987C15.3151 14.763 15.6121 14.9217 15.8452 15.1548C16.0783 15.3879 16.237 15.6849 16.3013 16.0082C16.3656 16.3315 16.3326 16.6666 16.2065 16.9711C16.0803 17.2757 15.8667 17.536 15.5926 17.7191C15.3185 17.9023 14.9963 18 14.6667 18C14.2246 18 13.8007 17.8244 13.4882 17.5118C13.1756 17.1993 13 16.7754 13 16.3333ZM21.3333 18C21.0037 18 20.6815 17.9023 20.4074 17.7191C20.1333 17.536 19.9197 17.2757 19.7935 16.9711C19.6674 16.6666 19.6344 16.3315 19.6987 16.0082C19.763 15.6849 19.9217 15.3879 20.1548 15.1548C20.3879 14.9217 20.6849 14.763 21.0082 14.6987C21.3315 14.6344 21.6666 14.6674 21.9711 14.7935C22.2757 14.9197 22.536 15.1333 22.7191 15.4074C22.9023 15.6815 23 16.0037 23 16.3333C23 16.7754 22.8244 17.1993 22.5119 17.5118C22.1993 17.8244 21.7754 18 21.3333 18ZM19.9642 22.1864C20.4851 21.6655 20.7778 20.9589 20.7778 20.2222H15.2222C15.2222 20.9589 15.5149 21.6655 16.0358 22.1864C16.5568 22.7073 17.2633 23 18 23C18.7367 23 19.4433 22.7073 19.9642 22.1864Z",
              fill: "currentColor",
            }),
          )
        : o.a.createElement(
            "svg",
            Object.assign({ viewBox: "0 -8 60 60", width: "32" }, e),
            o.a.createElement("path", {
              d: "M.5 5.5C.5 2.5 3 0 6 0h48c3 0 5.5 2.5 5.5 5.5V35c0 3-2.5 5.5-5.5 5.5h-1.5c-.8 0-1.5.7-1.5 1.5v8.1c0 1.3-1.6 2-2.6 1.1L37.8 40.5H6C3 40.5.5 38 .5 35V5.5zM6 1C3.5 1 1.5 3 1.5 5.5V35c0 2.5 2 4.5 4.5 4.5h32.2l.1.1 10.8 10.8c.3.3.9.1.9-.4v-8c0-1.4 1.1-2.5 2.5-2.5H54c2.5 0 4.5-2 4.5-4.5V5.5C58.5 3 56.5 1 54 1H6zm24 31c6.6 0 12-5.4 12-12S36.6 8 30 8s-12 5.4-12 12 5.4 12 12 12zm0 1c7.2 0 13-5.8 13-13S37.2 7 30 7s-13 5.8-13 13 5.8 13 13 13zm-3.5-15c.8 0 1.5-.7 1.5-1.5s-.7-1.5-1.5-1.5-1.5.7-1.5 1.5.7 1.5 1.5 1.5zm8.5-1.5c0 .8-.7 1.5-1.5 1.5s-1.5-.7-1.5-1.5.7-1.5 1.5-1.5 1.5.7 1.5 1.5zM24.5 22c0 2.5 2 4.5 4.5 4.5h2c2.5 0 4.5-2 4.5-4.5h-1c0 1.9-1.6 3.5-3.5 3.5h-2c-1.9 0-3.5-1.6-3.5-3.5h-1z",
              fillRule: "evenodd",
              clipRule: "evenodd",
              fill: "#fff",
            }),
          );
    }
    function Y(e) {
      return f.c.IN_GAMEPADUI
        ? o.a.createElement(
            "svg",
            Object.assign(
              {
                viewBox: "0 0 36 36",
                fill: "none",
                xmlns: "http://www.w3.org/2000/svg",
              },
              e,
            ),
            o.a.createElement("path", {
              d: "M14.5 7L17.2 15.37C17.5375 16.5175 18.4825 17.395 19.63 17.8L28 20.5L19.63 23.2C18.4825 23.5375 17.605 24.4825 17.2 25.63L14.5 34L11.8 25.63C11.4625 24.4825 10.5175 23.605 9.37 23.2L1 20.5L9.37 17.8C10.5175 17.4625 11.395 16.5175 11.8 15.37L14.5 7Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M24.9231 2L26.3077 6.33599C26.4923 6.94209 26.9538 7.40833 27.5538 7.59482L31.8462 8.99353L27.5538 10.3922C26.9538 10.5787 26.4923 11.045 26.3077 11.6511L24.9231 15.9871L23.5385 11.6511C23.3538 11.045 22.8923 10.5787 22.2923 10.3922L18 8.99353L22.2923 7.59482C22.8923 7.40833 23.3538 6.94209 23.5385 6.33599L24.9231 2Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M7.46154 3L8.15385 5.1913C8.24615 5.47105 8.47692 5.70416 8.75384 5.79741L10.9231 6.49676L8.75384 7.19611C8.47692 7.28936 8.24615 7.52248 8.15385 7.80222L7.46154 9.99352L6.76923 7.80222C6.67692 7.52248 6.44615 7.28936 6.16923 7.19611L4 6.49676L6.16923 5.79741C6.44615 5.70416 6.67692 5.47105 6.76923 5.1913L7.46154 3Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M31.4615 12L32.1538 14.1913C32.2462 14.471 32.4769 14.7042 32.7538 14.7974L34.9231 15.4968L32.7538 16.1961C32.4769 16.2894 32.2462 16.5225 32.1538 16.8022L31.4615 18.9935L30.7692 16.8022C30.6769 16.5225 30.4462 16.2894 30.1692 16.1961L28 15.4968L30.1692 14.7974C30.4462 14.7042 30.6769 14.471 30.7692 14.1913L31.4615 12Z",
              fill: "currentColor",
            }),
            o.a.createElement("path", {
              d: "M26.4615 25L27.1538 27.1913C27.2462 27.471 27.4769 27.7042 27.7538 27.7974L29.9231 28.4968L27.7538 29.1961C27.4769 29.2894 27.2462 29.5225 27.1538 29.8022L26.4615 31.9935L25.7692 29.8022C25.6769 29.5225 25.4462 29.2894 25.1692 29.1961L23 28.4968L25.1692 27.7974C25.4462 27.7042 25.6769 27.471 25.7692 27.1913L26.4615 25Z",
              fill: "currentColor",
            }),
          )
        : o.a.createElement(
            "svg",
            Object.assign({ viewBox: "0 0 60 38", width: "32" }, e),
            o.a.createElement("path", {
              d: "M16 8.9l1.9 5.1c.2.5.6 1 1.2 1.2l5.1 1.9-5.1 1.9c-.5.2-1 .6-1.2 1.2L16 25.1 14.1 20c-.2-.5-.6-1-1.2-1.2l-5-1.8 5.1-1.9c.5-.2 1-.6 1.2-1.2l1.8-5zm-.9-.4c.3-.9 1.6-.9 1.9 0l1.9 5.1c.1.3.3.5.6.6l5.1 1.9c.9.3.9 1.6 0 1.9l-5.1 1.9c-.3.1-.5.3-.6.6L17 25.6c-.3.9-1.6.9-1.9 0l-1.9-5.1c-.1-.3-.3-.5-.6-.6L7.5 18c-.9-.3-.9-1.6 0-1.9l5.1-1.9c.3-.1.5-.3.6-.6l1.9-5.1zm17.8 15.4l-1.9-5-1.9 5.1c-.2.5-.6 1-1.2 1.2l-5 1.8 5.1 1.9c.5.2 1 .6 1.2 1.2l1.9 5.1 1.9-5.1c.2-.5.6-1 1.2-1.2l5.1-1.9-5.1-1.9c-.7-.2-1.1-.6-1.3-1.2zm-1-5.4c-.3-.9-1.6-.9-1.9 0l-1.9 5.1c-.1.3-.3.5-.6.6l-5.1 1.9c-.9.3-.9 1.6 0 1.9l5.1 1.9c.3.1.5.3.6.6l1.9 5.1c.3.9 1.6.9 1.9 0l1.9-5.1c.1-.3.3-.5.6-.6l5.1-1.9c.9-.3.9-1.6 0-1.9l-5.1-1.9c-.3-.1-.5-.3-.6-.6l-1.9-5.1zM43 4.9l1.9 5.1c.2.5.6 1 1.2 1.2l5.1 1.9-5.1 1.9c-.5.2-1 .6-1.2 1.2L43 21.1 41.1 16c-.2-.5-.6-1-1.2-1.2l-5-1.8 5.1-1.9c.5-.2 1-.6 1.2-1.2l1.8-5zm-.9-.4c.3-.9 1.6-.9 1.9 0l1.9 5.1c.1.3.3.5.6.6l5.1 1.9c.9.3.9 1.6 0 1.9l-5.1 1.9c-.3.1-.5.3-.6.6L44 21.6c-.3.9-1.6.9-1.9 0l-1.9-5.1c-.1-.3-.3-.5-.6-.6L34.5 14c-.9-.3-.9-1.6 0-1.9l5.1-1.9c.3-.1.5-.3.6-.6l1.9-5.1z",
              fillRule: "evenodd",
              clipRule: "evenodd",
              fill: "#fff",
            }),
          );
    }
    function Z(e) {
      const { className: t } = e,
        n = Object(a.c)(e, ["className"]);
      return o.a.createElement(
        "svg",
        Object.assign(
          {
            className: Object(h.a)("SVGIcon_Button SVGIcon_Clock", t),
            version: "1.1",
            x: "0px",
            y: "0px",
            width: "20px",
            height: "20px",
            viewBox: "0 0 24 24",
          },
          n,
        ),
        o.a.createElement("path", {
          d: "M15.999 15c-.15 0-.303-.034-.446-.105l-4-2A1.001 1.001 0 0111 12V5a1 1 0 012 0v6.382l3.447 1.724A1 1 0 0115.999 15zM12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12zm0-22C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2z",
        }),
      );
    }
    Object(a.b)([g.b], q.prototype, "SetVisible", null);
  },
  kojh: function (e, t, n) {
    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",
      "ItemFocusAnim-darkerGrey":
        "gamepaddialog_ItemFocusAnim-darkerGrey_1SQEV",
      "ItemFocusAnim-darkGrey": "gamepaddialog_ItemFocusAnim-darkGrey_3liXd",
      WithBottomSeparator: "gamepaddialog_WithBottomSeparator_1K_Du",
      Disabled: "gamepaddialog_Disabled_kT2gh",
      Clickable: "gamepaddialog_Clickable_2fjtl",
      FieldClickTarget: "gamepaddialog_FieldClickTarget_3HsGH",
      FieldChildren: "gamepaddialog_FieldChildren_2T9M5",
      FieldLeadIcon: "gamepaddialog_FieldLeadIcon_2Tcti",
      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",
      WithStandardPadding: "gamepaddialog_WithStandardPadding_3KUsh",
      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",
      AlignRight: "gamepaddialog_AlignRight_8c09x",
      AlignLeft: "gamepaddialog_AlignLeft_3nfmw",
      AlignCenter: "gamepaddialog_AlignCenter_2KB4B",
      ControlsListChild: "gamepaddialog_ControlsListChild_3uFQq",
      "QuickAccess-Menu": "gamepaddialog_QuickAccess-Menu_1Nj5h",
      BigButtons: "gamepaddialog_BigButtons_2XTQO",
      BottomButtons: "gamepaddialog_BottomButtons_2MJWF",
      "ItemFocusAnim-darkerGrey-nocolor":
        "gamepaddialog_ItemFocusAnim-darkerGrey-nocolor_IT9mg",
      "ItemFocusAnim-grey": "gamepaddialog_ItemFocusAnim-grey_2zufd",
      "ItemFocusAnimBorder-darkGrey":
        "gamepaddialog_ItemFocusAnimBorder-darkGrey_3arwo",
      "ItemFocusAnim-green": "gamepaddialog_ItemFocusAnim-green_3e65F",
      focusAnimation: "gamepaddialog_focusAnimation_3ZUTX",
      hoverAnimation: "gamepaddialog_hoverAnimation_1DVq-",
    };
  },
  kozu: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return u;
    }),
      n.d(t, "c", function () {
        return m;
      }),
      n.d(t, "b", function () {
        return p;
      });
    var a = n("mrSG"),
      r = n("YP3x"),
      i = n("q1tI"),
      s = n("WkhL"),
      o = n("A5uu"),
      l = n("EVHR"),
      c = n("fvA7"),
      d = n("aaBf");
    function u(e = !1) {
      return Object(a.a)(this, void 0, void 0, function* () {
        if (e && o.a.BIsInitialized()) return;
        const t = Object(d.g)(
          "partnerbrowse_webapi_token",
          "application_config",
        );
        Object(c.a)(Boolean(t), "require partnerbrowse_webapi_token");
        const n = new s.a(d.c.WEBAPI_BASE_URL, t);
        return (
          ("dev" != d.c.WEB_UNIVERSE && "beta" != d.c.WEB_UNIVERSE) ||
            console.log(
              "DEV_DEBUG: Initializing CStoreItemCache with access token",
              t,
            ),
          p(t),
          o.a.Initialize(n, d.j.is_partner_member)
        );
      });
    }
    function m() {
      const e = Object(l.a)("usePartnerStoreBrowseAPI"),
        [t, n] = Object(i.useState)(!1);
      return (
        Object(i.useEffect)(() => {
          u().then(() => {
            var t;
            (null === (t = null == e ? void 0 : e.token) || void 0 === t
              ? void 0
              : t.reason) || n(!0);
          });
        }, []),
        t
      );
    }
    function p(e) {
      r.a.BIsInitialized() || r.a.Initialize(new s.a(d.c.WEBAPI_BASE_URL, e));
    }
  },
  ktD1: function (e, t, n) {
    e.exports = {
      EventTimeSection: "partnereventshareddates_EventTimeSection_3A42j",
      EventTimeTitle: "partnereventshareddates_EventTimeTitle_1DbkL",
      EventVisibilityItem: "partnereventshareddates_EventVisibilityItem_2Hw5B",
      EventEditorInputPaneContainer:
        "partnereventshareddates_EventEditorInputPaneContainer_1a5Om",
      TimeWidth: "partnereventshareddates_TimeWidth_1BeX4",
      EventPublishTimeCtn: "partnereventshareddates_EventPublishTimeCtn_3g1dV",
      DateWidth: "partnereventshareddates_DateWidth_RiWqA",
      PacificTimeHint: "partnereventshareddates_PacificTimeHint_3OyAc",
      TimeZone: "partnereventshareddates_TimeZone_PR50T",
      InputBorder: "partnereventshareddates_InputBorder_3Ph8k",
      TimeBlock: "partnereventshareddates_TimeBlock_2sWlU",
      TimeRowContainer: "partnereventshareddates_TimeRowContainer_3lMHw",
      TimeRowDropDown: "partnereventshareddates_TimeRowDropDown_3rN0R",
      EndDateAmountCtn: "partnereventshareddates_EndDateAmountCtn_3v-zR",
      EndRound: "partnereventshareddates_EndRound_2cYS6",
      VisibilityItemList: "partnereventshareddates_VisibilityItemList_R6HIV",
      VisibilityItems: "partnereventshareddates_VisibilityItems_2p3xl",
      EventEditorVisibilityCtn:
        "partnereventshareddates_EventEditorVisibilityCtn_w83r8",
      DateErrorCtn: "partnereventshareddates_DateErrorCtn_2QQj5",
    };
  },
  l0SG: function (e, t, n) {
    e.exports = {
      ButtonRow: "promotionplaneditor_ButtonRow_3KhKT",
      ButtonRowSpacer: "promotionplaneditor_ButtonRowSpacer_AWToJ",
      EditCtn: "promotionplaneditor_EditCtn_1Q3pp",
      StatusBtn: "promotionplaneditor_StatusBtn_3btXS",
      InputContainer: "promotionplaneditor_InputContainer_Jbwjf",
      PromoName: "promotionplaneditor_PromoName_2tLRc",
      TypeCtn: "promotionplaneditor_TypeCtn_Lw9Eh",
      EventDetailsCtn: "promotionplaneditor_EventDetailsCtn_1UwWT",
      AdminNotesCtn: "promotionplaneditor_AdminNotesCtn_3ZkUK",
      FeatureSelectBtn: "promotionplaneditor_FeatureSelectBtn_KdmlA",
      ReviewedCtn: "promotionplaneditor_ReviewedCtn_11pA1",
      ReviewedSummary: "promotionplaneditor_ReviewedSummary_1_eM8",
      LinksCtn: "promotionplaneditor_LinksCtn_2SJfi",
      LinkCtn: "promotionplaneditor_LinkCtn_2s6vN",
      PreviewLinksCtn: "promotionplaneditor_PreviewLinksCtn_298xI",
      FeatureSelectCtn: "promotionplaneditor_FeatureSelectCtn_FRWr1",
      PreviewLinkCtn: "promotionplaneditor_PreviewLinkCtn_RacQW",
      CreationDialogCtn: "promotionplaneditor_CreationDialogCtn_2LmdQ",
      LargeSelectorCtn: "promotionplaneditor_LargeSelectorCtn_iTSaT",
    };
  },
  l1Mn: function (e, t, n) {
    "use strict";
    n.d(t, "bb", function () {
      return u;
    }),
      n.d(t, "u", function () {
        return m;
      }),
      n.d(t, "A", function () {
        return p;
      }),
      n.d(t, "M", function () {
        return h;
      }),
      n.d(t, "n", function () {
        return _;
      }),
      n.d(t, "y", function () {
        return g;
      }),
      n.d(t, "lb", function () {
        return b;
      }),
      n.d(t, "J", function () {
        return f;
      }),
      n.d(t, "zb", function () {
        return v;
      }),
      n.d(t, "Ab", function () {
        return S;
      }),
      n.d(t, "S", function () {
        return y;
      }),
      n.d(t, "wb", function () {
        return E;
      }),
      n.d(t, "ub", function () {
        return C;
      }),
      n.d(t, "V", function () {
        return w;
      }),
      n.d(t, "U", function () {
        return B;
      }),
      n.d(t, "m", function () {
        return O;
      }),
      n.d(t, "r", function () {
        return D;
      }),
      n.d(t, "k", function () {
        return I;
      }),
      n.d(t, "L", function () {
        return T;
      }),
      n.d(t, "nb", function () {
        return R;
      }),
      n.d(t, "e", function () {
        return j;
      }),
      n.d(t, "c", function () {
        return A;
      }),
      n.d(t, "q", function () {
        return k;
      }),
      n.d(t, "t", function () {
        return M;
      }),
      n.d(t, "mb", function () {
        return P;
      }),
      n.d(t, "N", function () {
        return L;
      }),
      n.d(t, "Q", function () {
        return G;
      }),
      n.d(t, "Y", function () {
        return N;
      }),
      n.d(t, "sb", function () {
        return F;
      }),
      n.d(t, "X", function () {
        return x;
      }),
      n.d(t, "pb", function () {
        return z;
      }),
      n.d(t, "D", function () {
        return U;
      }),
      n.d(t, "s", function () {
        return W;
      }),
      n.d(t, "O", function () {
        return H;
      }),
      n.d(t, "jb", function () {
        return V;
      }),
      n.d(t, "vb", function () {
        return q;
      }),
      n.d(t, "l", function () {
        return K;
      }),
      n.d(t, "E", function () {
        return Q;
      }),
      n.d(t, "db", function () {
        return Y;
      }),
      n.d(t, "Z", function () {
        return Z;
      }),
      n.d(t, "ab", function () {
        return J;
      }),
      n.d(t, "f", function () {
        return X;
      }),
      n.d(t, "R", function () {
        return $;
      }),
      n.d(t, "tb", function () {
        return ee;
      }),
      n.d(t, "K", function () {
        return te;
      }),
      n.d(t, "z", function () {
        return ne;
      }),
      n.d(t, "rb", function () {
        return ae;
      }),
      n.d(t, "qb", function () {
        return re;
      }),
      n.d(t, "j", function () {
        return ie;
      }),
      n.d(t, "o", function () {
        return se;
      }),
      n.d(t, "G", function () {
        return oe;
      }),
      n.d(t, "eb", function () {
        return le;
      }),
      n.d(t, "v", function () {
        return ce;
      }),
      n.d(t, "C", function () {
        return de;
      }),
      n.d(t, "x", function () {
        return ue;
      }),
      n.d(t, "H", function () {
        return me;
      }),
      n.d(t, "w", function () {
        return pe;
      }),
      n.d(t, "T", function () {
        return he;
      }),
      n.d(t, "b", function () {
        return _e;
      }),
      n.d(t, "xb", function () {
        return ge;
      }),
      n.d(t, "a", function () {
        return be;
      }),
      n.d(t, "P", function () {
        return fe;
      }),
      n.d(t, "I", function () {
        return ve;
      }),
      n.d(t, "B", function () {
        return Se;
      }),
      n.d(t, "F", function () {
        return ye;
      }),
      n.d(t, "p", function () {
        return Ee;
      }),
      n.d(t, "ob", function () {
        return Ce;
      }),
      n.d(t, "d", function () {
        return we;
      }),
      n.d(t, "W", function () {
        return Be;
      }),
      n.d(t, "yb", function () {
        return Oe;
      }),
      n.d(t, "i", function () {
        return De;
      }),
      n.d(t, "h", function () {
        return Ie;
      }),
      n.d(t, "g", function () {
        return Te;
      }),
      n.d(t, "cb", function () {
        return Re;
      }),
      n.d(t, "kb", function () {
        return je;
      }),
      n.d(t, "ib", function () {
        return Ae;
      }),
      n.d(t, "fb", function () {
        return ke;
      }),
      n.d(t, "hb", function () {
        return Me;
      }),
      n.d(t, "gb", function () {
        return Pe;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("x0JQ"),
      s = n.n(i),
      o = n("3wCP"),
      l = (n("gM6l"), n("B0PS")),
      c = n.n(l),
      d = n("aaBf");
    function u() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Settings",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "-305.5 396.5 256 256",
          enableBackground: "new -305.5 396.5 256 256",
        },
        r.createElement("path", {
          d: "M-232.755,589.942l3.103,2.408c5.78,4.492,11.973,8.18,18.409,10.959l3.581,1.547l2.276,33.783 c0.089,1.33,1.385,2.54,2.715,2.54h48.62c1.355,0,2.745-1.273,2.852-2.621l2.74-33.284l3.602-1.496 c6.406-2.656,12.646-6.262,18.554-10.707l3.137-2.366l30.578,15.009c1.155,0.571,2.924,0.017,3.563-1.087l24.303-42.1 c0.674-1.173,0.265-3.014-0.852-3.785l-27.872-19.309l0.469-3.832c0.495-4.032,0.725-7.395,0.725-10.57 c0-3.129-0.227-6.5-0.687-10.307l-0.469-3.896l28.699-19.253c1.112-0.741,1.509-2.473,0.84-3.627l-24.3-42.104 c-0.657-1.139-2.502-1.727-3.7-1.155l-31.208,14.748l-3.091-2.341c-5.571-4.224-11.466-7.688-17.522-10.306l-3.58-1.548 l-2.34-34.887c-0.089-1.33-1.381-2.536-2.715-2.536h-48.617c-1.355,0-2.74,1.274-2.851,2.626l-2.834,34.371l-3.593,1.501 c-6.082,2.535-12.028,5.924-17.667,10.071l-3.124,2.302l-31.392-15.413c-1.168-0.575-2.924-0.025-3.559,1.074l-24.309,42.107 c-0.678,1.172-0.264,3.014,0.848,3.781l28.068,19.444l-0.524,3.883c-0.592,4.378-0.865,8.018-0.865,11.462 c0,2.988,0.179,6.065,0.55,9.403l0.431,3.853l-28.528,19.125c-1.108,0.742-1.509,2.468-0.84,3.632l24.308,42.1 c0.656,1.142,2.489,1.726,3.7,1.154L-232.755,589.942z M-177.498,560.051c-19.311,0-35.02-15.709-35.02-35.02 s15.709-35.02,35.02-35.02s35.02,15.709,35.02,35.02S-158.188,560.051-177.498,560.051z",
          fill: "currentColor",
        }),
      );
    }
    function m() {
      return r.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",
        },
        r.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 p(e) {
      return r.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",
        },
        r.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 h(e) {
      let t = "SVGIcon_Button SVGIcon_MagnifyingGlass";
      return (
        e.className && (t += ` ${e.className}`),
        r.createElement(
          "svg",
          {
            xmlns: "http://www.w3.org/2000/svg",
            className: t,
            version: "1.1",
            x: "0px",
            y: "0px",
            viewBox: "0 0 100 100",
          },
          r.createElement(
            "g",
            { transform: "translate(0,-952.36218)" },
            r.createElement("path", {
              className: "ColorSelector",
              d: "m 40.99855,964.36216 c -15.9798,0 -28.9986,13.01864 -28.9986,28.99862 0,15.97992 13.0188,28.99862 28.9986,28.99862 6.9189,0 13.2881,-2.4349 18.2803,-6.4997 l 23.5927,23.6239 c 1.1714,1.1714 3.0784,1.1715 4.2498,0 1.1716,-1.1715 1.1716,-3.0783 0,-4.2498 l -23.6239,-23.5926 c 4.0649,-4.9923 6.4997,-11.3615 6.4997,-18.28042 0,-15.97998 -13.0187,-28.99862 -28.9986,-28.99862 z m 0,5.99972 c 12.7374,0 22.9989,10.26145 22.9989,22.9989 0,12.73732 -10.2615,22.99892 -22.9989,22.99892 -12.7374,0 -22.9989,-10.2616 -22.9989,-22.99892 0,-12.73745 10.2615,-22.9989 22.9989,-22.9989 z",
              fill: "#ffffff",
              fillOpacity: "1",
              stroke: "none",
              visibility: "visible",
              display: "inline",
              overflow: "visible",
            }),
          ),
        )
      );
    }
    function _() {
      return r.createElement(
        "svg",
        {
          className: "SVGIcon_Button SVGIcon_Clock",
          version: "1.1",
          x: "0px",
          y: "0px",
          width: "20px",
          height: "20px",
          viewBox: "0 0 20 20",
        },
        r.createElement("path", {
          d: "M15.999 15c-.15 0-.303-.034-.446-.105l-4-2A1.001 1.001 0 0111 12V5a1 1 0 012 0v6.382l3.447 1.724A1 1 0 0115.999 15zM12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12zm0-22C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2z",
        }),
      );
    }
    function g() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Emoticon",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("circle", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "12",
          strokeMiterlimit: "10",
          cx: "128",
          cy: "128",
          r: "107.5",
        }),
        r.createElement("path", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "12",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M74.484,145.945 c0,0,12.996,37.533,53.514,37.533c38.084,0,53.499-37.533,53.499-37.533",
        }),
        r.createElement("line", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "12",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          x1: "94.5",
          y1: "97.5",
          x2: "94.5",
          y2: "109.5",
        }),
        r.createElement("line", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "12",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          x1: "160.5",
          y1: "97.5",
          x2: "160.5",
          y2: "109.5",
        }),
      );
    }
    function b(e) {
      return d.c.IN_GAMEPADUI
        ? r.createElement(
            "svg",
            Object.assign(
              {
                width: "24",
                height: "24",
                viewBox: "0 0 36 36",
                fill: "none",
                xmlns: "http://www.w3.org/2000/svg",
                className: "SVGIcon_Button SVGIcon_Submit",
              },
              e,
            ),
            r.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M4.16683 8.982C4.10732 8.3908 3.83847 7.42693 4.15486 7.17995C4.46877 6.93489 4.7797 6.90487 5.90123 7.31306L31.1931 17.2282C32.2693 17.6503 32.2686 18.335 31.1931 18.7564L5.90123 28.6715C4.77972 29.1235 4.46864 29.0497 4.15487 28.8049C3.83836 28.5579 4.0953 27.5939 4.15484 27.0028L4.7797 21.2151C4.89862 20.0374 5.92644 18.9801 7.0706 18.854L15.467 18.4429C24.1686 17.9924 24.1686 17.9924 15.467 17.5419L7.0706 17.1313C5.92423 17.0053 4.89825 15.9476 4.7797 14.7706L4.16683 8.982Z",
              fill: "currentColor",
            }),
          )
        : r.createElement(
            "svg",
            {
              fill: "#FFFFFF",
              xmlns: "http://www.w3.org/2000/svg",
              className: "SVGIcon_Button SVGIcon_Submit",
              version: "1.1",
              x: "0px",
              y: "0px",
              viewBox: "0 0 100 100",
            },
            r.createElement(
              "g",
              { transform: "translate(0,-952.36218)" },
              r.createElement("path", {
                d: "m 92.115057,974.14842 a 2.0001999,2.0001999 0 0 0 -1.96764,2.02965 l 0.0376,31.19553 -77.475501,0 16.161909,-15.73013 a 2.0002746,2.0002746 0 1 0 -2.790355,-2.8667 L 6.3913393,1007.9405 a 2.0001999,2.0001999 0 0 0 -0.0011,2.8646 l 19.6896957,19.2036 a 2.0002671,2.0002671 0 1 0 2.792551,-2.8646 l -16.170767,-15.771 79.153048,0 a 2.0001999,2.0001999 0 0 0 1.72959,-0.5437 2.0001999,2.0001999 0 0 0 0.0598,-0.058 2.0001999,2.0001999 0 0 0 0.54259,-1.7218 l -0.0388,-32.87638 a 2.0001999,2.0001999 0 0 0 -2.03297,-2.02522 z",
                fill: "#FFFFFF",
                fillOpacity: "1",
                fillRule: "evenodd",
                stroke: "none",
                visibility: "visible",
                display: "inline",
                overflow: "visible",
              }),
            ),
          );
    }
    function f() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          width: "100px",
          height: "91.582px",
          viewBox: "0 0 100 91.582",
          enableBackground: "new 0 0 100 91.582",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            clipPath: "url(#SVGID_2_)",
            d: "M88.853,29.724H62.271V11.351C62.262,5.18,57.26,0.179,51.089,0.169H11.255\r\n\t\t\t\tC5.085,0.179,0.085,5.18,0.074,11.351v24.908c-0.001,2.207,0.657,4.36,1.888,6.19c3.942,7.586,22.118,18.799,22.314,18.916\r\n\t\t\t\tc0.389,0.229,0.83,0.354,1.281,0.361c1.351,0.01,2.455-1.074,2.468-2.426c0.003-0.329-0.062-0.654-0.187-0.958\r\n\t\t\t\tc-1.319-3.565-2.341-7.233-3.053-10.968h13.135v18.389C37.93,71.9,42.882,76.882,49.02,76.928H75.29\r\n\t\t\t\tc-0.715,3.724-1.737,7.379-3.054,10.936c-0.517,1.248,0.076,2.678,1.323,3.196c0.303,0.125,0.63,0.188,0.959,0.186\r\n\t\t\t\tc0.451-0.006,0.894-0.13,1.279-0.361c0.197-0.115,18.373-11.329,22.314-18.914c1.235-1.834,1.894-3.997,1.888-6.207V40.906\r\n\t\t\t\tC99.99,34.746,95.01,29.751,88.853,29.724 M32.797,42.449H21.831c-0.721,0.01-1.4,0.327-1.873,0.869\r\n\t\t\t\tc-0.464,0.544-0.669,1.265-0.558,1.973c0,0.228,0.59,3.79,1.641,8.028c-5.517-3.842-12.773-9.425-14.776-13.136\r\n\t\t\t\tc-0.067-0.162-0.149-0.314-0.247-0.46c-0.738-1.033-1.13-2.276-1.116-3.546V11.351c0.008-3.463,2.825-6.264,6.288-6.255h0.065\r\n\t\t\t\th39.833c3.45,0.007,6.246,2.804,6.255,6.255v18.373H49.02c-3.223,0.005-6.286,1.399-8.406,3.825\r\n\t\t\t\tc-1.744-0.054-3.464-0.427-5.074-1.101c2.588-3.257,4.169-7.2,4.548-11.345h1.33c1.359,0,2.463-1.103,2.463-2.463\r\n\t\t\t\tc0-1.361-1.104-2.461-2.463-2.461h-7.784v-4.384c0-1.36-1.102-2.464-2.461-2.464c-1.361,0-2.463,1.104-2.463,2.464v4.384h-7.668\r\n\t\t\t\tc-1.361,0-2.462,1.1-2.462,2.461c0,1.36,1.102,2.463,2.462,2.463H35.13c-0.348,3.137-1.604,6.104-3.613,8.538\r\n\t\t\t\tc-1.439-1.598-2.553-3.46-3.284-5.482c-0.489-1.271-1.916-1.903-3.185-1.414c-1.27,0.489-1.902,1.917-1.412,3.185\r\n\t\t\t\tc0.892,2.395,2.192,4.619,3.841,6.57c-2.017,0.812-4.178,1.208-6.354,1.165c-1.359,0-2.463,1.102-2.463,2.461\r\n\t\t\t\tc0,1.362,1.104,2.465,2.463,2.465c3.647,0.07,7.244-0.868,10.393-2.71c2.032,1.239,4.293,2.049,6.649,2.38\r\n\t\t\t\tc-0.218,0.859-0.327,1.741-0.327,2.627v1.641L32.797,42.449z M95.19,65.763c0.013,1.271-0.379,2.514-1.117,3.547\r\n\t\t\t\tc-0.097,0.138-0.181,0.287-0.246,0.443c-1.938,3.678-9.211,9.277-14.776,13.135c1.099-4.236,1.64-7.799,1.64-8.03\r\n\t\t\t\tc0.111-0.704-0.091-1.425-0.558-1.969c-0.462-0.548-1.138-0.871-1.854-0.887H49.02c-3.447,0-6.246-2.791-6.255-6.239V40.906\r\n\t\t\t\tc0.009-3.452,2.805-6.249,6.255-6.257h39.833c3.449,0.008,6.246,2.805,6.256,6.257L95.19,65.763z M77.834,56.635L77.834,56.635\r\n\t\t\t\tl-6.564-16.42c-0.037-0.092-0.081-0.18-0.133-0.262l-0.099-0.165c-0.047-0.078-0.102-0.15-0.164-0.214l-0.132-0.164l-0.182-0.147\r\n\t\t\t\tl-0.195-0.099c-0.056-0.043-0.116-0.076-0.182-0.098l-0.246-0.132c-0.06-0.009-0.121-0.009-0.18,0l-0.248-0.082h-0.245h-0.231\r\n\t\t\t\th-0.261h-0.214l-0.279,0.082c-0.055-0.007-0.109-0.007-0.164,0l-0.246,0.132l-0.247,0.098c-0.064,0.044-0.124,0.095-0.18,0.147\r\n\t\t\t\tl-0.182,0.148l-0.149,0.166c-0.056,0.066-0.113,0.138-0.161,0.211v0.166l-0.149,0.263l-6.567,16.418l-3.282,8.21\r\n\t\t\t\tc-0.546,1.246,0.026,2.697,1.272,3.24c0.036,0.016,0.072,0.029,0.105,0.042c0.29,0.127,0.604,0.189,0.919,0.182\r\n\t\t\t\tc1.005-0.006,1.905-0.616,2.283-1.544l2.657-6.665h9.854l2.66,6.665c0.383,0.931,1.291,1.54,2.298,1.544\r\n\t\t\t\tc0.31,0.003,0.619-0.059,0.904-0.182c1.269-0.485,1.906-1.907,1.422-3.18c-0.014-0.034-0.028-0.069-0.044-0.103L77.834,56.635z\r\n\t\t\t\tM66.062,55.123l2.939-7.323l2.923,7.323H66.062z",
          }),
        ),
      );
    }
    function v(e) {
      return r.createElement(
        "svg",
        Object.assign(
          {
            fill: "#FFFFFF",
            xmlns: "http://www.w3.org/2000/svg",
            className: "SVGIcon_Button SVGIcon_X",
            version: "1.1",
            x: "0px",
            y: "0px",
            viewBox: "-165 95 100 100",
          },
          e,
        ),
        r.createElement(
          "g",
          null,
          r.createElement("polygon", {
            points:
              "-74.9,117.2 -102.2,145 -74.9,172.8 -89.1,186.8 -116.2,159.3 -143.2,186.8 -157.5,172.8 -130.2,145 -157.5,117.2 -143.2,103.2 -116.2,130.7 -89.1,103.2",
          }),
        ),
      );
    }
    function S(e) {
      const t = e.color || "#FFFFFF";
      return r.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",
        },
        r.createElement("line", {
          fill: "none",
          stroke: t,
          strokeWidth: "45",
          strokeMiterlimit: "10",
          x1: "212",
          y1: "212",
          x2: "44",
          y2: "44",
        }),
        r.createElement("line", {
          fill: "none",
          stroke: t,
          strokeWidth: "45",
          strokeMiterlimit: "10",
          x1: "44",
          y1: "212",
          x2: "212",
          y2: "44",
        }),
      );
    }
    function y() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_5",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Paperclip",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fill: "none",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M167.768,62.647 l-0.012,123.052c0,24.729-19.334,44.856-43.096,44.866c-23.765-0.006-43.099-20.134-43.096-44.872L81.557,48.851 c0-15.345,14.483-27.827,29.83-27.83c15.342,0.003,27.827,12.488,27.833,27.833l-0.002,139.245 c0.003,6.376-8.546,12.925-14.925,12.925c0,0-13.929-0.166-13.929-12.928l0.003-124.839",
        }),
      );
    }
    function E(e) {
      const { muted: t, className: n } = e;
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: Object(o.a)("SVGIcon_Button", "SVGIcon_Volume", n),
          x: "0px",
          y: "0px",
          width: "256px",
          height: "255.999px",
          viewBox: "0 0 256 255.999",
        },
        r.createElement(
          "g",
          { className: "Speaker" },
          r.createElement("path", {
            d: "M93.785,52.265c-0.946,0-2.357,0.63-3.304,1.577L40.284,98.022c-0.947,0.789-2.831,1.578-4.093,1.578H9.367 C8.104,99.6,7,100.706,7,101.967v52.069c0,1.264,1.104,2.367,2.367,2.367H36.19c1.262,0,3.146,0.632,4.093,1.578l50.197,44.181 c0.947,0.789,2.516,1.578,3.304,1.578s1.578-1.104,1.578-2.367V54.631C95.363,53.369,94.731,52.265,93.785,52.265z",
          }),
        ),
        !t &&
          r.createElement(
            "g",
            { className: "SoundWaves" },
            r.createElement("path", {
              className: "SoundWavesHighest",
              d: "M193.826,30.402c24.959,24.958,40.349,59.403,40.349,97.604c0,38.199-15.388,72.645-40.349,97.603l9.916,9.916 c28.067-28.067,44.263-64.673,44.263-107.521c0-42.847-16.196-79.455-44.263-107.521",
            }),
            r.createElement("path", {
              className: "SoundWavesHigh",
              d: "M175.737,47.628l-8.924,8.924c18.271,18.27,29.536,43.484,29.536,71.448s-11.264,53.178-29.536,71.448l8.924,8.924 c20.546-20.546,33.234-49.008,33.234-80.374c0-31.366-12.688-59.829-33.234-80.374V47.628z",
            }),
            r.createElement("path", {
              className: "SoundWavesMed",
              d: "M148.913,74.454l-8.925,8.925c11.488,11.488,18.491,27.236,18.491,44.624c0,17.388-7.054,33.281-18.491,44.575l8.875,8.975 c13.811-13.635,22.239-32.753,22.239-53.55c0-20.797-8.432-39.793-22.189-53.55V74.454z",
            }),
            r.createElement("path", {
              className: "SoundWavesLow",
              d: "M121.989,101.229l-8.778,9.073c4.641,4.516,7.397,10.706,7.397,17.702c0,6.995-2.755,13.186-7.397,17.702l8.778,9.073 c7.035-6.844,11.243-16.413,11.243-26.775C133.232,117.643,129.024,108.075,121.989,101.229z",
            }),
          ),
        r.createElement(
          "g",
          { className: "SoundX" },
          r.createElement("line", {
            fill: "none",
            strokeWidth: t ? 10 : 0,
            stroke: "#fff",
            strokeMiterlimit: "10",
            x1: "137",
            y1: "170.667",
            x2: "223.167",
            y2: "84.5",
          }),
          r.createElement("line", {
            fill: "none",
            strokeWidth: t ? 10 : 0,
            stroke: "#fff",
            strokeMiterlimit: "10",
            x1: "137",
            y1: "84.5",
            x2: "223.167",
            y2: "170.667",
          }),
        ),
      );
    }
    function C() {
      return r.createElement(
        "svg",
        { width: "50px", height: "25px", viewBox: "0 0 50 25" },
        r.createElement("path", {
          d: "M46 0H4C1.8 0 0 1.8 0 4v17c0 2.2 1.8 4 4 4h42c2.2 0 4-1.8 4-4V4c0-2.2-1.8-4-4-4zM21 18.916V5.084L32.805 12 21 18.916z",
        }),
      );
    }
    function w() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Play",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          className: "playTriangle",
          d: "M65.321,33.521c-11.274-6.615-20.342-1.471-20.342,11.52V210.96c0,12.989,9.068,18.135,20.342,11.521l137.244-82.348 c11.274-6.618,11.274-17.646,0-24.509L65.321,33.521z",
        }),
      );
    }
    function B() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Pause",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M44.979,219.364c0,3.3,2.7,6,6,6h49.753c3.3,0,6-2.7,6-6V36.5c0-3.3-2.7-6-6-6H50.979c-3.3,0-6,2.7-6,6V219.364z",
        }),
        r.createElement("path", {
          d: "M149.267,219.364c0,3.3,2.7,6,6,6h49.753c3.3,0,6-2.7,6-6V36.5c0-3.3-2.7-6-6-6h-49.753c-3.3,0-6,2.7-6,6V219.364z",
        }),
      );
    }
    function O() {
      return r.createElement(
        "svg",
        {
          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",
        },
        r.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 ",
        }),
      );
    }
    function D(e) {
      let t = e.highlightColor || "#00ccff",
        n = e.color || "#2d73ff";
      return r.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",
        },
        r.createElement(
          "defs",
          null,
          r.createElement(
            "linearGradient",
            { id: "linear", x1: "0%", y1: "0%", x2: "100%", y2: "100%" },
            r.createElement("stop", {
              id: "stop0",
              offset: "0%",
              stopColor: t,
            }),
            r.createElement("stop", {
              id: "stop1",
              offset: "100%",
              stopColor: n,
            }),
          ),
          r.createElement(
            "filter",
            { id: "f1", x: "0", y: "0", width: "200%", height: "200%" },
            r.createElement("feOffset", {
              result: "offOut",
              in: "SourceAlpha",
              dx: "20",
              dy: "20",
            }),
            r.createElement("feGaussianBlur", {
              result: "blurOut",
              in: "offOut",
              stdDeviation: "10",
            }),
            r.createElement("feBlend", {
              in: "SourceGraphic",
              in2: "blurOut",
              mode: "normal",
            }),
          ),
        ),
        r.createElement("path", {
          fill: "none",
          stroke: "url(#linear)",
          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",
        }),
        r.createElement("path", {
          fill: "none",
          opacity: ".2",
          filter: "url(#f1)",
          stroke: "url(#linear)",
          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 I(e) {
      const t = e.color || "#020202";
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Caution",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement(
          "g",
          { className: "triangle" },
          r.createElement("path", {
            stroke: t,
            strokeWidth: "16",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            d: "M127.9,76.632",
          }),
          r.createElement("path", {
            fill: "none",
            stroke: t,
            strokeWidth: "11",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            strokeMiterlimit: "5",
            d: "M128.001,226.606c42.507,0,81.538,0,87.756,0c31.222,0,36.95-14.974,24.045-34.771c-6.921-10.617-78.297-122.962-89.163-140.254\tC141.859,37.613,138.542,29.393,128,29.393l0,0c-10.543,0-13.86,8.222-22.639,22.189C94.495,68.874,23.119,181.219,16.198,191.836 c-12.905,19.797-7.175,34.771,24.045,34.771C46.463,226.606,85.494,226.606,128.001,226.606",
          }),
          r.createElement("path", { fill: t, d: "M127.9,208.12" }),
        ),
        r.createElement(
          "g",
          { className: "exclamation" },
          r.createElement("line", {
            fill: "none",
            stroke: t,
            strokeWidth: "16",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            x1: "127.9",
            y1: "76.632",
            x2: "127.9",
            y2: "160.07",
          }),
          r.createElement("path", {
            fill: t,
            d: "M127.9,208.12c-6.377,0-11.548-5.17-11.548-11.548c0-6.377,5.17-11.547,11.548-11.547 c6.377,0,11.547,5.17,11.547,11.547C139.447,202.95,134.277,208.12,127.9,208.12",
          }),
        ),
      );
    }
    function T() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Lock",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          className: "topLock",
          d: "M203.553,197.794c0,21.929-17.778,39.706-39.706,39.706H92.154c-21.929,0-39.706-17.777-39.706-39.706v-71.693 c0-21.928,17.778-39.706,39.706-39.706h71.692c21.928,0,39.706,17.778,39.706,39.706V197.794z M128.001,129.664 c-8.941,0-16.19,7.248-16.19,16.189c0,5.589,2.833,10.518,7.137,13.427c2.066,1.395,0.318,23.508,0.318,32.842 c0,2.292-0.078,3.65,8.734,3.65c8.676,0,8.75-1.221,8.75-3.654c0-9.348-1.708-31.469,0.368-32.886 c4.269-2.916,7.071-7.821,7.071-13.38C144.191,136.912,136.941,129.664,128.001,129.664z",
        }),
        r.createElement("path", {
          className: "baseLock",
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "22",
          strokeMiterlimit: "10",
          d: "M84.813,172.74V73.688l0,0 c0-23.85,19.335-43.188,43.187-43.188l0,0c23.852,0,43.188,19.337,43.188,43.188l0,0v23.885",
        }),
      );
    }
    function R(e) {
      let t = "SVGIcon_Button SVGIcon_Throbber ";
      return (
        e.className && (t += e.className),
        r.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",
          },
          r.createElement(
            "g",
            { className: s.a.partCircle },
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.roundOuter,
              fill: "none",
              stroke: "#ffffff",
              strokeWidth: "6",
              strokeMiterlimit: "10",
              d: "M201.432,101.166",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
          ),
          r.createElement(
            "g",
            { className: s.a.mainOutline },
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
            r.createElement("path", {
              className: s.a.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",
            }),
          ),
          r.createElement(
            "g",
            { className: s.a.bottomCircle },
            r.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",
            }),
          ),
          r.createElement(
            "g",
            { className: s.a.topCircle },
            r.createElement("circle", {
              fill: "none",
              stroke: "#ffffff",
              strokeWidth: "6",
              strokeMiterlimit: "10",
              cx: "161.731",
              cy: "101.274",
              r: "23.019",
            }),
          ),
        )
      );
    }
    function j(e) {
      return d.c.IN_GAMEPADUI
        ? r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                className: "SVGIcon_Button SVGIcon_Bell",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              e,
            ),
            r.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",
            }),
          )
        : r.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",
            },
            r.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 A(e) {
      return r.createElement(
        "svg",
        {
          style: { transform: `rotate(${e.angle}deg)` },
          version: "1.1",
          id: "arrowBase",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Arrow",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polyline", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeMiterlimit: "10",
          points: "128,247.688 128,8.313 181.061,61.674 ",
        }),
        r.createElement("polyline", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeLinejoin: "round",
          strokeMiterlimit: "10",
          points: "128,247.688 128,8.313 74.939,61.674 ",
        }),
      );
    }
    function k() {
      return r.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",
        },
        r.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 M(e) {
      return r.createElement(
        "svg",
        {
          style: { transform: `rotate(${e.angle}deg)` },
          version: "1.1",
          id: "arrowBase",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_DoubleArrow",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polyline", {
          className: "Arrow1",
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "23",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          points: "135.65,21.667 30.081,127.235 137.18,234.333 ",
        }),
        !e.singlearrow &&
          r.createElement("polyline", {
            className: "Arrow2",
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "23",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            points: "224.389,21.667 118.821,127.235 225.92,234.333 ",
          }),
      );
    }
    function P(e) {
      const { angle: t } = e,
        n = Object(a.c)(e, ["angle"]);
      return r.createElement(
        "svg",
        Object.assign(
          {
            style: { transform: `rotate(${e.angle}deg)` },
            xmlns: "http://www.w3.org/2000/svg",
            viewBox: "0 0 32 32",
            fill: "none",
          },
          n,
        ),
        r.createElement("path", {
          fill: "currentColor",
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M16.0855 15.5837L8.88892 8.38708L12.0316 5.24438L22.3709 15.5837L12.0316 25.923L8.88892 22.7803L16.0855 15.5837Z",
        }),
      );
    }
    function L() {
      return r.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",
        },
        r.createElement("rect", {
          x: "24",
          y: "42.167",
          fill: "none",
          stroke: "rgb(120, 138, 146)",
          strokeWidth: "18",
          strokeMiterlimit: "10",
          width: "208",
          height: "171.667",
        }),
        r.createElement("line", {
          fill: "none",
          stroke: "rgb(120, 138, 146)",
          strokeWidth: "42",
          strokeMiterlimit: "10",
          x1: "24",
          y1: "54.01",
          x2: "232",
          y2: "54.01",
        }),
      );
    }
    function G() {
      return r.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",
        },
        r.createElement("line", {
          fill: "none",
          stroke: "rgb(120, 138, 146)",
          strokeWidth: "18",
          strokeMiterlimit: "10",
          x1: "24",
          y1: "209.01",
          x2: "232",
          y2: "209.01",
        }),
      );
    }
    function N() {
      return r.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",
        },
        r.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 ",
        }),
        r.createElement("rect", {
          x: "24",
          y: "90.861",
          fill: "none",
          stroke: "rgb(120, 138, 146)",
          strokeWidth: "18",
          strokeMiterlimit: "10",
          width: "149",
          height: "122.973",
        }),
      );
    }
    function F() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Undo",
          viewBox: "0 0 100 100",
          x: "0px",
          y: "0px",
          width: "16px",
          height: "16px",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            d: "M94.83,50A44.81,44.81,0,0,0,17.12,19.56V11.15a6,6,0,1,0-12,0v23.9a6,6,0,0,0,6,6H35.06a6,6,0,0,0,0-12H24.64A32.88,32.88,0,1,1,50,82.87h0a6,6,0,1,0,0,12h.12A44.82,44.82,0,0,0,94.83,50Z",
          }),
        ),
      );
    }
    function x() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Reload",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fill: "none",
          stroke: "#ffffff",
          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",
        }),
        r.createElement("polygon", {
          points: "147.639,108.361 245.755,10.166 245.834,108.361 ",
        }),
      );
    }
    function z() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Trash",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement(
          "g",
          { className: "base" },
          r.createElement("path", {
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "10",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            d: "M216.773,43.909 l-7.399,177.589c-0.37,8.893-7.919,16.1-16.812,16.1H63.437c-8.914,0-16.442-7.24-16.812-16.1L39.226,43.909",
          }),
        ),
        r.createElement(
          "g",
          { className: "lines" },
          r.createElement("path", {
            className: "line1",
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "10",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            d: "M128,68.12v137.197",
          }),
          r.createElement("path", {
            className: "line2",
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "10",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            d: "M83.613,68.12 l4.035,137.197",
          }),
          r.createElement("path", {
            className: "line3",
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "10",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            d: "M172.387,68.12 l-4.035,137.197",
          }),
        ),
        r.createElement(
          "g",
          { className: "lid" },
          r.createElement("path", {
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "10",
            strokeLinecap: "round",
            strokeLinejoin: "round",
            d: "M27.121,38.577H228.88",
          }),
          r.createElement("path", {
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "10",
            d: "M87.648,38.577l4.319-10.796c2.072-5.181,8.292-9.379,13.84-9.379h44.386 c5.572,0,11.761,4.18,13.841,9.379l4.319,10.796",
          }),
        ),
      );
    }
    function U(e) {
      return r.createElement(
        "svg",
        {
          style: { transform: `rotate(${e.angle}deg)` },
          version: "1.1",
          id: "base",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_FlatArrow",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polygon", {
          points: "13.913,141 128,59 242.087,141 ",
          fill: "#ffffff",
        }),
      );
    }
    function W() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_DoNotDisturb",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("circle", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "24",
          strokeMiterlimit: "10",
          cx: "128",
          cy: "128",
          r: "101.5",
        }),
        r.createElement("line", {
          fill: "none",
          stroke: "#ffffff",
          strokeWidth: "24",
          strokeMiterlimit: "10",
          x1: "73",
          y1: "128",
          x2: "183",
          y2: "128",
        }),
      );
    }
    function H(e) {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          style: { transform: `scaleX(${e.bFlipHorizontal ? -1 : 1})` },
          className: "SVGIcon_Button SVGIcon_MediaControls",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          className: "Arrow",
          d: "M77.003,54.763h32.784c3.794,0,9.113,2.181,11.814,4.848l63.604,62.773c2.703,2.667,2.727,7.054,0.05,9.748 l-63.705,64.206c-2.674,2.693-7.968,4.898-11.763,4.898H77.003",
        }),
        r.createElement("polyline", {
          className: "preArrowBox",
          opacity: e.bHidePreArrow ? "0" : "1",
          points: "6.833,54.763 46.71,54.763 46.71,201.236 6.833,201.236 \t",
        }),
        r.createElement("polyline", {
          className: "jumpAheadBox",
          opacity: e.bShowJumpAheadBox ? "1" : "0",
          points: "6.833,54.764 86.386,54.764 86.386,201.236 6.833,201.236 \t",
        }),
        r.createElement("polyline", {
          className: "postArrowBox",
          opacity: e.bHidePostArrow ? "0" : "1",
          points:
            "209.29,54.763 249.167,54.763 249.167,201.236 209.29,201.236 \t",
        }),
      );
    }
    function V(e) {
      const t = Object(o.a)(
        "SVGIcon_Button",
        "SVGIcon_SteamLogo",
        e && e.className,
      );
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: t,
          x: "0px",
          y: "0px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fill: "#ffffff",
          d: "M127.374,5.355c-64.404,0-117.167,49.661-122.18,112.77l65.712,27.171 c5.567-3.808,12.293-6.032,19.53-6.032c0.649,0,1.294,0.017,1.934,0.051l29.226-42.354c0-0.202-0.005-0.399-0.005-0.598 c0-25.496,20.74-46.241,46.237-46.241c25.498,0,46.238,20.745,46.238,46.241c0,25.494-20.74,46.242-46.238,46.242 c-0.352,0-0.698-0.011-1.047-0.021l-41.68,29.741c0.022,0.546,0.041,1.095,0.041,1.644c0,19.141-15.569,34.707-34.706,34.707 c-16.796,0-30.843-11.99-34.026-27.869l-46.993-19.43c14.55,51.464,61.831,89.189,117.957,89.189 c67.713,0,122.604-54.893,122.604-122.604C249.979,60.244,195.086,5.355,127.374,5.355",
        }),
        r.createElement("path", {
          fill: "#ffffff",
          d: "M82.026,191.387l-15.061-6.22c2.67,5.56,7.285,10.208,13.418,12.767 c13.25,5.521,28.531-0.771,34.054-14.027c2.674-6.416,2.694-13.5,0.04-19.93c-2.646-6.431-7.64-11.451-14.063-14.129 c-6.371-2.647-13.196-2.552-19.198-0.291l15.561,6.437c9.776,4.073,14.396,15.299,10.324,25.071 C103.031,190.841,91.801,195.464,82.026,191.387",
        }),
        r.createElement("path", {
          fill: "#ffffff",
          d: "M198.639,96.359c0-16.987-13.82-30.809-30.809-30.809c-16.987,0-30.813,13.821-30.813,30.809 c0,16.988,13.824,30.806,30.813,30.806S198.639,113.347,198.639,96.359 M144.736,96.306c0-12.783,10.363-23.142,23.145-23.142 c12.783,0,23.145,10.359,23.145,23.142c0,12.783-10.36,23.142-23.145,23.142C155.1,119.447,144.736,109.089,144.736,96.306",
        }),
      );
    }
    function q() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Viewers",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          className: "frontGuy",
          fill: "#666666",
          d: "M181.732,53.151c-17.255,0-31.321,13.316-31.321,32.634v25.132 c0,18.005,24.006,21.006,24.382,21.381c-10.691,2.813-30.947,8.252-40.888,15.566c-8.252,6.003-11.44,18.005-13.128,22.882 c-0.75,2.063-1.688,5.064-1.688,7.127c0,0,0,9.94,0,19.881s12.941,16.505,18.005,16.505h89.65c4.877,0,18.006-5.627,18.006-16.505 s0-19.881,0-19.881c0-2.251-0.938-5.627-1.688-7.689c-4.313-10.878-4.688-16.316-13.315-22.319 c-9.941-6.939-30.009-12.19-40.512-15.004c0.374-0.563,24.193-4.127,24.193-22.131V85.785 C213.053,66.467,198.986,53.151,181.732,53.151L181.732,53.151z",
        }),
        r.createElement("path", {
          className: "backGuy",
          fill: "rgb(144, 153, 161)",
          d: "M84.204,34.396c-20.068,0-36.385,15.38-36.385,38.074v29.258c0,20.818,27.945,24.382,28.32,24.944 c-12.378,3.189-36.01,9.565-47.638,18.006c-9.753,7.127-13.504,21.006-15.379,26.632c-0.75,2.251-1.876,6.002-1.876,8.253  c0,0,0,11.44,0,23.257c0,11.815,15.004,19.13,20.819,19.13h104.279c5.814,0,20.818-6.564,20.818-19.13c0-12.566,0-23.257,0-23.257 c0-2.438-1.125-6.564-2.063-8.815c-5.063-12.566-5.438-18.942-15.566-26.069c-11.628-8.065-34.885-14.067-47.076-17.443 c0.375-0.563,28.133-4.876,28.133-25.695V72.469C120.59,49.775,104.272,34.396,84.204,34.396L84.204,34.396z",
        }),
      );
    }
    function K() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_5",
          className: "SVGIcon_Button SVGIcon_ChatBubble",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 64 64",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            d: "M33,5C18.7,5,7.1,16.6,7.1,30.9c0,5.2,1.5,10.1,4.2,14.1c-0.6,3.7-4.5,10.5-6.2,13.5c-1.3,2.2,11.4-3.8,16.3-4.5c3.5,1.8,7.5,2.8,11.7,2.8c14.3,0,25.9-11.6,25.9-25.9S47.3,5,33,5z",
          }),
        ),
      );
    }
    function Q() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_5",
          className: "SVGIcon_Button SVGIcon_Globe",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 64 64",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            d: "M32.5,5C17.9,5,6,16.9,6,31.5C6,46.1,17.9,58,32.5,58S59,46.1,59,31.5C59,16.9,47.1,5,32.5,5 M32.5,54.7c-1.2,0-2.5-0.1-3.7-0.3c-1.1-1.1-2.1-2.8-3-4.8c-0.8-1.8-1.4-3.8-2-6c2.7-0.3,5.6-0.5,8.6-0.5c3,0,5.9,0.2,8.6,0.5c-0.5,2.2-1.2,4.2-2,6c-0.9,2-1.9,3.7-3,4.8C35,54.6,33.7,54.7,32.5,54.7 M32.5,41.4c-3.2,0-6.2,0.2-9,0.5c-0.6-3-0.9-6.2-1-9.6h19.9c0,3.4-0.4,6.6-1,9.6C38.7,41.6,35.7,41.4,32.5,41.4 M32.5,8.3c1.2,0,2.5,0.1,3.7,0.3c1.1,1.1,2.1,2.8,3,4.8c0.8,1.8,1.4,3.8,2,6c-2.7,0.3-5.6,0.5-8.6,0.5c-3,0-5.9-0.2-8.6-0.5c0.5-2.2,1.2-4.2,2-6c0.9-2,1.9-3.7,3-4.8C30,8.4,31.3,8.3,32.5,8.3 M32.5,21.6c3.2,0,6.2-0.2,9-0.5c0.6,3,0.9,6.2,1,9.6H22.6c0-3.4,0.4-6.6,1-9.6C26.3,21.4,29.3,21.6,32.5,21.6 M44.1,30.7c0-3.5-0.4-6.8-1-9.8c3.4-0.5,6.4-1.1,8.8-2c2.3,3.5,3.6,7.5,3.7,11.8H44.1z M20.9,30.7H9.3c0.1-4.2,1.4-8.3,3.7-11.8c2.5,0.8,5.5,1.5,8.8,2C21.3,23.9,21,27.2,20.9,30.7 M20.9,32.3c0,3.5,0.4,6.8,1,9.8c-3.4,0.5-6.4,1.1-8.8,2c-2.3-3.5-3.6-7.5-3.7-11.8H20.9z M44.1,32.3h11.6c-0.1,4.2-1.4,8.3-3.7,11.8c-2.5-0.8-5.5-1.5-8.8-2C43.7,39.1,44,35.8,44.1,32.3 M51,17.5c-0.1,0-0.2,0.1-0.3,0.1c-2.3,0.7-5,1.3-7.9,1.7c-0.9-4.1-2.3-7.6-4-10.1c3.8,1.1,7.3,3.1,10.2,5.9C49.6,15.9,50.3,16.6,51,17.5 M26.3,9.2c-1.7,2.5-3.1,6-4,10.1c-2.9-0.4-5.6-1-7.9-1.7c-0.1,0-0.2-0.1-0.3-0.1c0.6-0.8,1.3-1.6,2.1-2.4C19,12.2,22.5,10.2,26.3,9.2 M14,45.5c0.1,0,0.2-0.1,0.3-0.1c2.3-0.7,5-1.3,7.9-1.7c0.9,4.1,2.3,7.6,4,10.1c-3.8-1.1-7.3-3.1-10.2-5.9C15.4,47.1,14.7,46.4,14,45.5 M38.7,53.8c1.7-2.5,3.1-6,4-10.1c2.9,0.4,5.6,1,7.9,1.7c0.1,0,0.2,0.1,0.3,0.1c-0.6,0.8-1.3,1.6-2.1,2.4C46,50.8,42.5,52.8,38.7,53.8",
          }),
        ),
      );
    }
    function Y() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_5",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 64 64",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            d: "M40.6,32.7l15.1-15.1c2.6-2.6,2.6-6.7,0-9.3c-2.6-2.6-6.7-2.6-9.3,0L31.3,23.4L16.2,8.3c-2.6-2.6-6.7-2.6-9.3,0c-2.6,2.6-2.6,6.7,0,9.3L22,32.7L6.9,47.8c-2.6,2.6-2.6,6.7,0,9.3c1.3,1.3,3,1.9,4.7,1.9s3.4-0.6,4.7-1.9L31.3,42l15.1,15.1c1.3,1.3,3,1.9,4.7,1.9s3.4-0.6,4.7-1.9c2.6-2.6,2.6-6.7,0-9.3L40.6,32.7z",
          }),
        ),
      );
    }
    function Z() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_STVTimelineGrabber",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement(
          "g",
          { className: "leftarrow", opacity: "0" },
          r.createElement("polygon", {
            points: "127.817,4.403 4,128 127.817,251.598",
          }),
        ),
        r.createElement(
          "g",
          { className: "rightarrow", opacity: "0" },
          r.createElement("polygon", {
            points: "127.816,4.403 251.633,128 127.816,251.598",
          }),
        ),
        r.createElement(
          "g",
          { className: "grabber" },
          r.createElement("polygon", {
            points:
              "145.692,22.132 145.692,234.361 127.817,251.598 110.307,234.361 110.307,22.132 127.817,4.403",
          }),
        ),
      );
    }
    function J() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_STVTimelineMarker",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polygon", {
          className: "pointer",
          points:
            "128,154.979 46.374,230.548 46.374,253.333 209.626,253.333 209.626,230.548 \t",
        }),
        r.createElement("rect", {
          className: "line",
          x: "116.271",
          y: "3.168",
          width: "23.459",
          height: "137.332",
        }),
      );
    }
    function X() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_BigPicture",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fill: "currentColor",
          d: "M213.771,68.659c-4.108-7.066-46.007-7.231-49.293-7.231H128H91.522c-3.286,0-45.186,0.165-49.293,7.231 c-19.555,29.248-27.385,100.263-27.276,104.01c0.238,8.294,2.11,24.583,16.595,35.162c9.201,6.72,22.183,8.709,29.083,3.614 c4.989-3.682,11.995-19.224,19.061-32.204c7.064-12.981,9.202-11.174,12.98-12.159c3.78-0.986,36.066-0.74,36.066-0.74 s30.809-0.247,34.588,0.74c3.777,0.985,5.915-0.822,12.98,12.159c7.064,12.98,14.07,28.522,19.061,32.204 c6.9,5.095,19.882,3.106,29.083-3.614c14.485-10.58,16.356-26.868,16.595-35.162C241.154,168.922,233.325,97.906,213.771,68.659z M67.251,128.14c-14.974,0-27.112-12.137-27.112-27.111c0-14.975,12.137-27.112,27.112-27.112 c14.973,0,27.111,12.137,27.111,27.112C94.362,116.003,82.224,128.14,67.251,128.14z M188.749,128.14 c-14.974,0-27.111-12.137-27.111-27.111c0-14.975,12.138-27.112,27.111-27.112c14.973,0,27.111,12.137,27.111,27.112 C215.86,116.003,203.722,128.14,188.749,128.14z",
        }),
      );
    }
    function $(e) {
      const { className: t } = e;
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: Object(o.a)("SVGIcon_Button", "SVGIcon_MobilePhone", t),
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M165.693,45.186H91.368c-7.963,0-14.41,6.447-14.41,14.41V210.9c0,7.964,6.447,14.41,14.41,14.41h74.134 c7.965,0,14.41-6.447,14.41-14.41V59.596C180.102,51.633,173.657,45.186,165.693,45.186z M113.172,57.509h30.717 c1.707,0,3.223,1.327,3.223,3.224c0,1.896-1.328,3.223-3.223,3.223h-30.717c-1.707,0-3.223-1.328-3.223-3.223 C109.949,58.837,111.465,57.509,113.172,57.509z M128.529,213.554c-4.551,0-8.152-3.603-8.152-8.153c0-4.55,3.604-8.152,8.152-8.152 s8.151,3.603,8.151,8.152C136.682,209.761,133.081,213.554,128.529,213.554z M169.105,186.819h-81.15V74.384h81.15V186.819 L169.105,186.819z",
        }),
      );
    }
    function ee() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_VR",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M224.389,62.411H31.613c-10.147,0-18.36,8.214-18.36,18.36v94.453c0,10.147,8.215,18.359,18.36,18.359h192.775 c10.146,0.241,18.358-7.968,18.358-18.116V80.771C242.747,70.625,234.534,62.411,224.389,62.411z M92.317,175.026H71.646 L35.472,79.832h21.895l25.022,72.484l24.343-72.484h21.895L92.317,175.026z M195.264,175.026l-19.175-32.095h-2.176h-14.279 v32.095h-19.991V79.832h35.63c13.056,0,22.664,2.607,28.831,7.819c6.164,5.215,9.247,12.49,9.247,21.827 c0,7.343-1.61,13.463-4.828,18.359c-3.219,4.896-7.729,8.614-13.531,11.151l22.575,36.038H195.264z",
        }),
        r.createElement("path", {
          d: "M187.784,100.298c-2.812-2.312-7.391-3.468-13.735-3.468h-14.415v28.966h15.639c5.257,0,9.36-1.336,12.308-4.012 c2.945-2.673,4.42-6.368,4.42-11.083C192,106.078,190.593,102.61,187.784,100.298z",
        }),
      );
    }
    function te() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_LargeMobilePhone",
          x: "0px",
          y: "0px",
          width: "128px",
          height: "255px",
          viewBox: "0 0 128 255",
        },
        r.createElement("rect", {
          className: "screen",
          x: "7.756",
          y: "5.518",
          fill: "#292D33",
          width: "112.144",
          height: "234.357",
        }),
        r.createElement("path", {
          className: "frame",
          fill: "#3C414B",
          d: "M40.334,15.72h47.237c3.957,0,7.164-3.259,7.164-7.28c0-1.113,0.889-2.017,1.984-2.017h9.746 c7.417,0,13.432,6.108,13.432,13.646v206.156c0,7.538-6.015,13.647-13.431,13.647H21.459c-7.417,0-13.429-6.109-13.429-13.647 V20.071c0-7.536,6.013-13.646,13.429-13.646h9.728c1.096,0,1.983,0.903,1.983,2.017C33.17,12.461,36.377,15.72,40.334,15.72 M107.057,0.001H20.87c-9.922,0-17.965,8.174-17.965,18.256v217.505c0,10.082,8.043,18.256,17.965,18.256h86.188 c9.923,0,17.966-8.174,17.966-18.256V18.257C125.022,8.175,116.979,0.001,107.057,0.001",
        }),
        r.createElement("path", {
          fill: "#3C414B",
          d: "M0.826,33.349C0.369,33.349,0,33.725,0,34.189v7.616c0,0.464,0.37,0.84,0.826,0.84s0.827-0.376,0.827-0.84 v-7.617C1.653,33.725,1.283,33.349,0.826,33.349",
        }),
        r.createElement("path", {
          fill: "#3C414B",
          d: "M0.826,51.56C0.369,51.56,0,51.936,0,52.4v16.8c0,0.465,0.37,0.841,0.826,0.841s0.827-0.376,0.827-0.841 V52.4C1.653,51.936,1.283,51.56,0.826,51.56",
        }),
        r.createElement("path", {
          fill: "#3C414B",
          d: "M0.826,75.304C0.369,75.304,0,75.68,0,76.144v15.904c0,0.464,0.37,0.84,0.826,0.84s0.827-0.376,0.827-0.84 V76.144C1.653,75.68,1.283,75.304,0.826,75.304",
        }),
        r.createElement("path", {
          fill: "#3C414B",
          d: "M127.617,58.056c-0.457,0-0.827,0.376-0.827,0.84v27.328c0,0.464,0.37,0.84,0.827,0.84 c0.456,0,0.826-0.376,0.826-0.84V58.896C128.443,58.432,128.073,58.056,127.617,58.056",
        }),
      );
    }
    function ne() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Envelope",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polygon", {
          fill: "#3C414B",
          points: "3.167,48.809 127.22,128 252.833,48.809 ",
        }),
        r.createElement("polygon", {
          fill: "#3C414B",
          points: "252.833,203.68 252.833,55.439 185.151,99.131 ",
        }),
        r.createElement("polygon", {
          fill: "#3C414B",
          points:
            "247.958,207.191 180.47,101.472 128.001,134.24 75.142,101.472 7.849,207.191 ",
        }),
        r.createElement("polygon", {
          fill: "#3C414B",
          points: "3.167,203.682 3.167,55.441 70.851,99.132 ",
        }),
      );
    }
    function ae() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_3",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Twitter",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M250.151,128.021c0,67.418-54.604,122.022-122.022,122.022S6.107,195.439,6.107,128.021C6.107,60.604,60.712,6,128.129,6 S250.151,60.604,250.151,128.021z M105.799,192.389c54.117,0,83.707-44.842,83.707-83.707c0-1.282,0-2.563-0.062-3.783 c5.736-4.148,10.739-9.335,14.705-15.252c-5.247,2.318-10.922,3.905-16.901,4.637c6.103-3.661,10.738-9.396,12.936-16.29 c-5.675,3.355-11.959,5.796-18.67,7.138c-5.369-5.734-12.995-9.273-21.477-9.273c-16.228,0-29.406,13.179-29.406,29.407 c0,2.318,0.243,4.576,0.793,6.711c-24.466-1.22-46.125-12.934-60.646-30.75c-2.501,4.332-3.965,9.396-3.965,14.765 c0,10.189,5.186,19.218,13.117,24.465c-4.819-0.122-9.334-1.464-13.3-3.661c0,0.122,0,0.244,0,0.366 c0,14.275,10.128,26.113,23.611,28.857c-2.44,0.672-5.064,1.039-7.748,1.039c-1.892,0-3.723-0.184-5.553-0.551 c3.722,11.714,14.581,20.195,27.455,20.44c-10.067,7.868-22.757,12.566-36.546,12.566c-2.379,0-4.697-0.122-7.016-0.427 C73.707,187.507,89.204,192.389,105.799,192.389",
        }),
      );
    }
    function re() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_3",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_TwitchTV",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M28.176,8.026L11.763,49.97v171.427h58.358v31.003h32.826l31.003-31.003h47.414l63.829-63.829V8.026H28.176z M223.311,146.625l-36.474,36.474h-58.359l-31.002,31.003v-31.003H48.237V29.91h175.074V146.625z M186.837,71.855v63.829h-21.885 V71.855H186.837z M128.478,71.855v63.829h-21.883V71.855H128.478z",
        }),
      );
    }
    function ie() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_CSGO",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M236.979,138.059c0.548,0.078,6.91,0.101,7.772,0.032 c1.215-0.095,1.396,0.068,1.388,0.708c-0.01,0.397,0.012,3.039-2.365,7.32c-3.301,5.948-12.079,10.436-12.55,10.672 c-0.47,0.233-0.53,0.484-0.136,0.75c0.434,0.295,8.068,1.454,9.084,1.611c1.017,0.154,0.637,1.001,0.637,1.001 s-0.704,2.621-2.895,5.36c-2.189,2.738-9.311,6.123-8.583,6.123c0.731,0,7.187,0.159,6.181,1.422 c-3.019,3.786-13.603,9.528-18.43,13.813c-13.388,11.885-13.217,12.864-15.52,15.09c-0.983-3.298-3.02-12.658-3.02-12.658 l-6.105-11.467c4.413,0.18,6.364,0.081,8.952,0.081c9.214,0,17.525-2.185,22.234-5.841l2.371-1.843l-2.911-0.728 c-2.131-0.528-7.121-1.782-11.896-2.979c2.184-0.104,10.803-1.299,14.413-5.339c0.136-0.151,0.276-0.321,0.406-0.494l1.245-1.664 l-2.404-0.735c-2.607-0.799-5.948-1.682-8.517-2.335c3.173-1.572,7.585-3.942,10.048-6.088c4.83-4.203,7.226-9.709,7.322-9.943 l0.9-2.098l-10.772,0.318c1.503-1.483,3.218-3.197,3.939-3.991c1.43-1.571,4.053-6.221,4.198-9.896l0.072-1.787l-1.763,0.288 c-1.979,0.322-5.301,1.279-8.179,2.173c2.025-2.193,4.296-4.767,5.46-6.484c2.687-3.964,2.76-8.371,2.597-12.916l-0.104-2.881 l-2.261,1.79c-2.559,2.028-7.595,5.031-11.097,7.047c1.538-3.644,3.54-8.752,3.813-11.276c0.5-4.681-0.248-10.196-0.248-10.196 l-10.76,9.394c0.885-1.953,1.684-4.013,2.117-5.832c1.735-7.29,0.055-17.892-0.021-18.338l-0.452-2.807l-7.777,7.739 c0.722-3.535,1.465-8.253,1.23-11.789c-0.426-6.321-2.278-10.517-2.359-10.694l-1.01-2.251l-6.465,8.577 c0.231-4.285,0.27-10.24-0.948-13.547c-1.934-5.262-3.651-8.007-3.723-8.121l-1.232-1.958l-3.057,4.85 c0.018-2.967-0.11-6.475-0.69-8.68c-1.202-4.543-2.825-6.396-3.002-6.592l-1.325-1.433l-1.623,2.705 c-0.278-3.19-1.112-7.084-3.343-9.478l-0.814-0.872l-1.012,0.623c-0.327,0.201-0.714,0.497-1.104,0.823 c-0.154-1.135-0.365-2.451-0.639-3.691c0.563-4.733,1.186-10.03,1.206-10.452c0.027-0.547,0.274-0.767,1.017-0.391 c0.898,0.452,3.156,2.064,5.187,6.133c2.036,4.067,3.132,11.324,3.117,12.044c-0.009,0.383,0.291,0.757,0.438,0.151 c0.145-0.607,0.478-7.591,0.623-8.312c0.081-0.383,0.199-0.484,0.737-0.212c0.496,0.249,2.959,2.181,4.899,6.463 c1.179,2.599,1.634,11.946,1.574,12.653c-0.106,1.278,0.313,0.891,0.339,0.883c-0.009,0.013-0.025,0.04-0.03,0.049 c0.03-0.041,0.036-0.049,0.03-0.049c0.573-0.841,4.21-8.99,4.519-9.377c0.313-0.39,0.521-0.395,0.835,0.002 c0.262,0.33,2.095,1.717,4.049,10.088c1.902,8.135,1.949,11.542,1.848,12.682c-0.08,0.86,0.339,0.993,0.731,0.524 c0.389-0.47,5.104-9.201,5.497-9.515c0.389-0.313,0.613-0.309,0.927,0.161c0.312,0.469,2.718,4.762,3.684,11.448 c0.861,5.947,0.608,13.599,0.375,14.381c-0.235,0.782-0.135,1.077,0.493,0.53c0.623-0.548,10.299-8.412,11.004-9.038 c0.703-0.627,1.18-0.65,1.34-0.046c0.172,0.654,0.822,8.654,0.275,15.225c-0.549,6.571-2.626,12.752-2.94,13.145 c-0.312,0.391,0.087,0.712,0.478,0.555c0.394-0.157,11.902-10.018,12.645-10.402c0.711-0.367,1.043,0.005,1.105,0.507 c0.068,0.544,0.966,3.098-0.419,11.269c-0.959,5.65-3.54,11.876-3.855,12.033c-0.313,0.157-0.077,0.336,0.234,0.259 c0.315-0.079,8.324-3.488,8.872-3.567c0.546-0.079,0.671,0.339,0.514,0.808c-0.158,0.469-0.458,6.273-2.534,11.639 c-2.603,6.732-6.056,11.001-6.056,11.001s-0.252,0.519,0.217,0.519s9.266-0.186,9.813-0.263c0.547-0.079,0.627,0.156,0.547,0.704 c-0.077,0.547,0.858,9.116-8.624,14.601C236.524,137.734,236.432,137.979,236.979,138.059z M174.473,24.823 c1.981,3.34,2.018,9.248,1.836,11.469l-0.52,6.238l5.25-8.744c0.395,0.843,0.85,2.003,1.25,3.524 c1.02,3.877,0.422,13.082,0.417,13.173l-0.384,5.752l6.435-10.212c0.628,1.27,1.45,3.097,2.32,5.459 c1.466,3.983,0.772,13.806,0.381,17.257l-0.602,5.308l9.568-12.69c0.493,1.707,1.058,4.21,1.259,7.227 c0.39,5.821-2.272,15.731-2.299,15.83l-1.428,5.26l11.125-11.068c0.377,3.586,0.772,9.774-0.304,14.302 c-1.2,5.057-5.778,12.588-5.823,12.664l-1.806,3.992l16.878-14.09c-0.116,1.366-0.262,2.944-0.423,4.435 c-0.312,2.935-3.954,11.389-5.335,14.399l-1.827,4.002l3.856-2.115c0.381-0.208,8.027-4.41,12.979-7.778 c-0.039,3.484-0.537,6.042-2.139,8.4c-2.189,3.234-9.05,10.198-9.118,10.268l-4.352,4.408l5.861-2.004 c0.08-0.025,6.868-2.34,11.188-3.41c-0.675,2.445-2.208,5.125-3.11,6.118c-1.319,1.449-6.429,6.429-6.48,6.482l-2.682,2.614 l13.475-0.404c-1.06,1.837-2.89,4.549-5.457,6.783c-3.727,3.244-12.956,7.341-13.048,7.383l-3.952,1.746l4.201,1.008 c0.062,0.015,5.637,1.354,10.266,2.67c-3.412,2.191-9.291,3.081-10.948,3.138c-2.06,0.072-11.075,0.125-11.075,0.125l-11.51,0.069 l11.162,2.804c0,0,12.587,3.164,19.486,4.894c-4.398,2.216-10.717,3.493-17.657,3.493c-3.102,0-10.335-0.284-15.048-0.483 c4.064,6.069,7.041,11.004,7.992,13.681c2.813,7.915,6.777,28.269,6.889,48.907c0.039,6.572-1.081,11.649-9.022,11.649 c-0.288,0-0.597-0.038-0.908-0.092c-1.846,0.339-4.351,0.595-5.438-0.095c-1.805-1.149-3.163-2.627-3.544-3.957 c-0.383-1.334-1.146-9.374-3.106-20.675c-1.92-11.046-4.038-19.431-4.237-19.525c-1.535-0.731-9.358-18.45-9.358-18.45 l-37.23-47.615c0,0-20.737,23.917-37.455,47.8c-0.867,1.235-5.994,11.251-9.275,17.989c-0.212,0.437-0.181,0.475-0.281,0.808 c-0.604,2.015-2.396,9.525-4.039,18.994c-1.962,11.301-2.725,19.341-3.105,20.675c-0.384,1.33-1.74,2.808-3.546,3.957 c-1.085,0.689-3.592,0.434-5.437,0.095c-0.313,0.054-0.621,0.092-0.909,0.092c-7.941,0-9.061-5.077-9.024-11.649 c0.114-20.639,4.078-40.992,6.892-48.907c0.95-2.677,3.926-7.611,7.993-13.681c-4.714,0.199-11.946,0.483-15.051,0.483 c-6.939,0-13.26-1.277-17.653-3.493c6.896-1.729,19.486-4.894,19.486-4.894l11.159-2.804l-11.508-0.069 c0,0-9.019-0.053-11.076-0.125c-1.66-0.057-7.537-0.946-10.949-3.138c4.629-1.315,10.202-2.655,10.264-2.67l4.201-1.008l-3.95-1.746 c-0.094-0.042-9.324-4.139-13.049-7.383c-2.566-2.234-4.397-4.946-5.458-6.783l13.477,0.404l-2.684-2.614 c-0.05-0.054-5.16-5.033-6.48-6.482c-0.9-0.993-2.436-3.673-3.108-6.118c4.319,1.069,11.108,3.384,11.188,3.41l5.861,2.004 l-4.352-4.408c-0.069-0.069-6.928-7.033-9.12-10.268c-1.601-2.358-2.099-4.916-2.139-8.4c4.953,3.368,12.601,7.57,12.98,7.778 l3.858,2.115l-1.829-4.002c-1.379-3.011-5.022-11.465-5.334-14.399c-0.161-1.491-0.305-3.068-0.421-4.435l16.877,14.09l-1.806-3.992 c-0.046-0.076-4.622-7.607-5.821-12.664c-1.078-4.528-0.682-10.716-0.307-14.302L58.57,89.672l-1.426-5.26 c-0.025-0.098-2.688-10.008-2.3-15.83c0.203-3.017,0.767-5.52,1.26-7.227l9.566,12.69l-0.601-5.308 c-0.391-3.451-1.083-13.274,0.381-17.257c0.871-2.362,1.693-4.189,2.32-5.459l6.435,10.212l-0.382-5.752 c-0.006-0.091-0.604-9.295,0.416-13.173c0.401-1.521,0.854-2.681,1.251-3.524l5.249,8.744l-0.52-6.238 c-0.181-2.221-0.144-8.129,1.836-11.469c0.596,0.522,1.248,1.148,1.67,1.575l2.215,2.245l0.276-3.142 c0.162-1.838,0.783-7.003,1.703-8.813c1.342-2.635,4.69-3.91,7.104-4.505c-6.691,13.614-36.889,77.59-36.889,122.937 c0,23.658,16.206,23.931,16.368,23.931c4.881,0,6.947-7.914,6.947-11.063V133.45c0-2.744,1.148-2.744,1.835-2.744 c5.807,0,10.48,3.196,13.855,6.69c8.813-11.615,15.81-20.526,15.81-20.526s0.16-0.182,0.248-0.345 c-1.03-2.443-7.165-16.995-7.165-16.995l1.708-43.717c0,0-0.278-3.797,1.044-6.052c1.314-2.245,4.247-3.175,4.247-3.175 l13.307,41.443c0,0-4.107,0.866-4.107,5.585c0,2.982,2.658,4.99,6.227,5.013c3.572-0.022,6.227-2.031,6.227-5.013 c0-4.719-4.109-5.585-4.109-5.585l13.311-41.443c0,0,2.93,0.93,4.245,3.175c1.322,2.255,1.043,6.052,1.043,6.052l1.709,43.717 l-7.309,17.34c0,0,6.997,8.911,15.809,20.526c3.375-3.494,8.048-6.69,13.855-6.69c0.687,0,1.833,0,1.833,2.744v14.538 c0,3.148,2.068,11.063,6.95,11.063c0.159,0,16.367-0.272,16.367-23.931c0-45.347-30.197-109.322-36.888-122.937 c2.412,0.595,5.761,1.87,7.104,4.505c0.92,1.809,1.541,6.975,1.705,8.813l0.275,3.142l2.213-2.245 C173.226,25.972,173.875,25.345,174.473,24.823z M176.157,181.396c-1.644-2.189-41.07-55.856-41.07-55.856l-6.723,8.809 l-0.946-1.233l-0.829-1.082l-5.053-6.594l-0.095,0.101c0,0-39.427,53.667-41.07,55.856c-1.643,2.191-4.777,6.708-6.058,9.322 c-1.279,2.614-8.946,39.306-8.946,42.592c0,2.005,0.041,8.618,0.071,13.47c1.536,0.2,3.411,0.761,4.357,0.125 c1.624-1.093,2.363-2.323,2.491-3.372c0.128-1.048,1.367-12.969,2.69-20.812c1.779-10.547,4.571-19.005,4.415-18.97 c3.213-6.672,8.966-17.938,9.887-19.252c17.808-25.439,38.994-49.947,38.994-49.947s21.166,24.502,38.978,49.947 c0.921,1.313,6.672,12.58,9.888,19.252c-0.158-0.035,2.635,8.423,4.414,18.97c1.322,7.843,2.562,19.764,2.688,20.812 c0.131,1.049,0.87,2.279,2.493,3.372c0.944,0.636,2.818,0.075,4.355-0.125c0.032-4.852,0.073-11.465,0.073-13.47 c0-3.286-7.667-39.978-8.948-42.592C180.936,188.104,177.801,183.588,176.157,181.396z M82.538,21.517l-1.014-0.623l-0.813,0.872 c-2.231,2.394-3.063,6.287-3.342,9.478l-1.624-2.705l-1.323,1.433c-0.179,0.197-1.801,2.049-3.004,6.592 c-0.581,2.205-0.709,5.712-0.689,8.68l-3.057-4.85l-1.234,1.958c-0.072,0.114-1.787,2.859-3.722,8.121 c-1.22,3.307-1.179,9.262-0.949,13.547l-6.463-8.577l-1.012,2.251c-0.08,0.177-1.934,4.373-2.359,10.694 c-0.234,3.536,0.51,8.253,1.231,11.789l-7.778-7.739l-0.453,2.807c-0.073,0.446-1.754,11.048-0.02,18.338 c0.433,1.819,1.231,3.879,2.117,5.832l-10.759-9.394c0,0-0.749,5.515-0.248,10.196c0.271,2.523,2.272,7.632,3.813,11.276 c-3.503-2.016-8.539-5.019-11.099-7.047l-2.259-1.79l-0.106,2.881c-0.162,4.545-0.087,8.952,2.6,12.916 c1.161,1.717,3.433,4.291,5.459,6.484c-2.877-0.894-6.201-1.851-8.179-2.173l-1.763-0.288l0.071,1.787 c0.148,3.675,2.771,8.324,4.198,9.896c0.723,0.794,2.436,2.508,3.941,3.991L21.93,137.83l0.896,2.098 c0.1,0.234,2.493,5.74,7.324,9.943c2.464,2.146,6.876,4.516,10.047,6.088c-2.57,0.653-5.908,1.536-8.518,2.335l-2.402,0.735 l1.246,1.664c0.13,0.173,0.27,0.343,0.407,0.494c3.608,4.04,12.229,5.234,14.412,5.339c-4.774,1.197-9.767,2.451-11.896,2.979 l-2.911,0.728l2.371,1.843c4.708,3.656,13.02,5.841,22.233,5.841c2.588,0,4.539,0.099,8.954-0.081l-6.105,11.467 c0,0-2.038,9.36-3.02,12.658c-2.304-2.226-2.133-3.205-15.52-15.09c-4.829-4.284-15.411-10.026-18.429-13.813 c-1.005-1.263,5.449-1.422,6.179-1.422c0.73,0-6.393-3.385-8.582-6.123c-2.191-2.739-2.895-5.36-2.895-5.36s-0.38-0.847,0.637-1.001 c1.018-0.157,8.65-1.316,9.084-1.611c0.395-0.266,0.332-0.517-0.137-0.75c-0.469-0.236-9.248-4.724-12.548-10.672 c-2.375-4.281-2.357-6.923-2.364-7.32c-0.01-0.64,0.17-0.803,1.385-0.708c0.862,0.068,7.226,0.046,7.774-0.032 c0.546-0.08,0.453-0.324,0.019-0.576c-9.483-5.484-8.546-14.054-8.624-14.601c-0.079-0.548,0-0.783,0.548-0.704 c0.546,0.077,9.342,0.263,9.812,0.263c0.469,0,0.218-0.519,0.218-0.519s-3.452-4.27-6.056-11.001 c-2.077-5.366-2.377-11.169-2.533-11.639c-0.157-0.469-0.034-0.887,0.514-0.808c0.549,0.079,8.558,3.488,8.87,3.567 c0.313,0.077,0.548-0.103,0.235-0.259c-0.314-0.157-2.896-6.383-3.855-12.033c-1.384-8.17-0.488-10.725-0.42-11.269 c0.063-0.502,0.397-0.874,1.105-0.507c0.743,0.385,12.255,10.245,12.646,10.402c0.391,0.157,0.79-0.164,0.477-0.555 c-0.313-0.392-2.392-6.574-2.938-13.145c-0.548-6.571,0.1-14.571,0.274-15.225c0.161-0.604,0.635-0.581,1.339,0.046 c0.704,0.626,10.381,8.489,11.006,9.038c0.625,0.547,0.727,0.252,0.492-0.53c-0.235-0.782-0.484-8.435,0.375-14.381 c0.965-6.686,3.372-10.979,3.685-11.448s0.536-0.474,0.927-0.161c0.391,0.313,5.106,9.045,5.497,9.515 c0.391,0.469,0.809,0.336,0.732-0.524c-0.104-1.14-0.057-4.547,1.845-12.682c1.956-8.371,3.789-9.758,4.052-10.088 c0.313-0.396,0.521-0.392,0.833-0.002c0.309,0.387,3.945,8.536,4.519,9.377c-0.005,0,0,0.008,0.031,0.049 c-0.007-0.009-0.022-0.036-0.031-0.049c0.025,0.008,0.446,0.395,0.34-0.883c-0.058-0.707,0.396-10.055,1.574-12.653 c1.941-4.282,4.404-6.214,4.899-6.463c0.54-0.272,0.658-0.171,0.737,0.212c0.146,0.721,0.478,7.705,0.625,8.312 c0.146,0.606,0.444,0.232,0.437-0.151c-0.015-0.72,1.081-7.977,3.115-12.044c2.033-4.069,4.292-5.681,5.188-6.133 c0.742-0.376,0.989-0.156,1.018,0.391c0.022,0.422,0.645,5.719,1.206,10.452c-0.272,1.24-0.484,2.556-0.639,3.691 C83.251,22.014,82.866,21.718,82.538,21.517z M127.35,141.814c-1.158,12.032-4.978,23.045-6.326,29.486 c-1.643,7.849-4.788,18.061-6.793,20.931c-4.433,6.343-18.036,18.547-20.403,19.732c-1.094,0.547-6.376-4.115-6.56-4.846 c-0.182-0.728,2.883-3.993,2.154-3.627c-0.731,0.364-4.104,0.906-5.06,0.87c-0.753-0.026,0.633-2.728,0.633-2.728 s-1.484,2.217-3.021,2.947c-0.03,0.015,9.433-18.119,9.433-18.119S127.52,140.043,127.35,141.814z M119.7,169.39l3.104-10.647 l-1.869-0.559l-3.152,10.656L119.7,169.39z M114.072,167.242l4.687-10.051l-1.764-0.838l-4.735,10.055L114.072,167.242z  M126.961,159.319l-0.82,11.06l-1.991-0.139l0.867-11.079L126.961,159.319z M131.727,170.391l-1.986,0.167l-0.828-11.078 l1.944-0.144L131.727,170.391z M164.422,186.462c0,0,9.463,18.134,9.434,18.119c-1.54-0.73-3.021-2.947-3.021-2.947 s1.384,2.701,0.633,2.728c-0.957,0.036-4.33-0.506-5.06-0.87c-0.731-0.366,2.334,2.899,2.153,3.627 c-0.185,0.73-5.467,5.393-6.56,4.846c-2.368-1.186-15.973-13.39-20.404-19.732c-2.007-2.87-5.149-13.082-6.792-20.931 c-1.349-6.441-4.621-17.127-5.778-29.16C128.854,140.373,164.422,186.462,164.422,186.462z M142.029,167.242l1.813-0.834 l-4.735-10.055l-1.762,0.838L142.029,167.242z M136.402,169.39l1.917-0.55l-3.152-10.656l-1.868,0.559L136.402,169.39z",
        }),
      );
    }
    function se() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_ClosedCaption",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          className: "CCBox",
          fill: "none",
          stroke: "#000000",
          strokeWidth: "10",
          strokeMiterlimit: "10",
          d: "M238,210c0,6.627-5.373,12-12,12H30 c-6.627,0-12-5.373-12-12V46c0-6.627,5.373-12,12-12h196c6.627,0,12,5.373,12,12V210z",
        }),
        r.createElement("path", {
          className: "C1",
          d: "M90.505,173.207c11.431,0,22.338-4.276,30.72-12.036c2.6-2.407,2.753-6.47,0.347-9.068c-2.41-2.604-6.47-2.757-9.072-0.349 c-5.998,5.559-13.811,8.62-21.995,8.62c-17.852,0-32.373-14.524-32.373-32.372c0-17.849,14.521-32.373,32.373-32.373 c8.177,0,15.981,3.055,21.979,8.603c2.603,2.407,6.662,2.25,9.072-0.353c2.407-2.602,2.249-6.662-0.353-9.068 c-8.375-7.751-19.276-12.019-30.694-12.019c-24.931,0-45.209,20.281-45.209,45.209C45.3,152.93,65.574,173.207,90.505,173.207z",
        }),
        r.createElement("path", {
          className: "C1",
          d: "M177.926,173.207c11.431,0,22.338-4.276,30.721-12.036c2.6-2.407,2.754-6.47,0.347-9.068 c-2.41-2.604-6.47-2.757-9.072-0.349c-5.998,5.559-13.812,8.62-21.995,8.62c-17.852,0-32.372-14.524-32.372-32.372 c0-17.849,14.521-32.373,32.372-32.373c8.178,0,15.981,3.055,21.979,8.603c2.604,2.407,6.663,2.25,9.072-0.353 c2.407-2.602,2.25-6.662-0.353-9.068c-8.375-7.751-19.277-12.019-30.694-12.019c-24.932,0-45.209,20.281-45.209,45.209 C132.721,152.93,152.996,173.207,177.926,173.207z",
        }),
      );
    }
    function oe() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Hidden",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fill: "none",
          stroke: "#FFFFFF",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M62.499,172.263 c-32.755-16.197-47.415-39.509-47.415-39.509",
        }),
        r.createElement("path", {
          fill: "none",
          stroke: "#FFFFFF",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M177.948,85.392 c48.213,14.998,68.451,47.362,68.451,47.362s-36.393,54.737-115.689,54.737c-17.938,0-33.591-2.671-47.096-6.832",
        }),
        r.createElement("path", {
          fill: "none",
          stroke: "#FFFFFF",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M15.084,132.754 c0,0,32.933-56.576,115.674-54.785c8.505,0.185,16.486,0.913,23.96,2.072",
        }),
        r.createElement("path", {
          fill: "none",
          stroke: "#FFFFFF",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M93.981,141.131 c-0.475-2.385-0.725-4.852-0.725-7.377c0-20.711,16.789-37.5,37.5-37.5c2.42,0,4.787,0.229,7.08,0.668",
        }),
        r.createElement("path", {
          fill: "none",
          stroke: "#FFFFFF",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          d: "M156.528,106.512 c7.223,6.836,11.729,16.513,11.729,27.242c0,20.711-16.789,37.5-37.5,37.5c-10.609,0-20.189-4.405-27.012-11.487",
        }),
        r.createElement("line", {
          fill: "none",
          stroke: "#FFFFFF",
          strokeWidth: "10",
          strokeLinecap: "round",
          strokeMiterlimit: "10",
          x1: "53.007",
          y1: "210.504",
          x2: "208.507",
          y2: "55.004",
        }),
      );
    }
    function le(e) {
      const t = Object(o.a)(
        "SVGIcon_Button",
        e.filled ? "SVGIcon_Star_Filled" : "SVGIcon_Star_Unfilled",
      );
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: t,
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          fill: e.filled ? "#currentColor" : "none",
          stroke: "#currentColor",
          strokeWidth: "10",
          strokeMiterlimit: "10",
          d: "M127.755,18.624 c-2.061,0.101-3.846,1.465-4.485,3.427L98.312,96.933H18.379c-2.745,0.01-4.963,2.242-4.955,4.989 c0.006,1.572,0.754,3.05,2.019,3.984l64.925,47.476L55.41,230.873c-0.848,2.612,0.582,5.417,3.192,6.265 c1.521,0.495,3.186,0.228,4.475-0.719L128,188.945l64.926,47.474c2.212,1.624,5.324,1.144,6.947-1.071 c0.944-1.29,1.211-2.954,0.719-4.475l-24.959-77.492l64.922-47.476c2.211-1.63,2.681-4.743,1.049-6.953 c-0.934-1.265-2.41-2.015-3.984-2.02H157.69l-24.959-74.882C132.033,19.917,129.997,18.513,127.755,18.624z",
        }),
      );
    }
    function ce() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Download",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement(
          "g",
          { className: "arrow" },
          r.createElement("line", {
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "12",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            x1: "129",
            y1: "182",
            x2: "129",
            y2: "24",
          }),
          r.createElement("polyline", {
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "12",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            points: "174.25,141.25 128.732,183.625 84.25,141.25",
          }),
        ),
        r.createElement(
          "g",
          { className: "catch" },
          r.createElement("polyline", {
            fill: "none",
            stroke: "#ffffff",
            strokeWidth: "12",
            strokeLinecap: "round",
            strokeMiterlimit: "10",
            points: "23.25,173.5 23.25,235.75 234.75,235.75 234.75,173.5",
          }),
        ),
      );
    }
    function de() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_3",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Filter",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M236.445,23.522c-1.085-2.35-3.438-3.855-6.025-3.855H25.58c-2.586,0-4.936,1.501-6.024,3.855 c-1.08,2.349-0.698,5.112,0.983,7.083l80.328,94.039v104.181c0,2.74,1.682,5.194,4.237,6.188c0.778,0.3,1.588,0.445,2.392,0.445 c1.832,0,3.626-0.762,4.91-2.17l41.012-45.13c1.111-1.219,1.724-2.811,1.724-4.459v-59.054l80.325-94.04 C237.144,28.634,237.526,25.867,236.445,23.522z",
        }),
      );
    }
    function ue() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Edit",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M16.757,233.795c-1.324,3.973,2.455,7.752,6.427,6.428l50.912-16.971l-40.368-40.367L16.757,233.795z",
        }),
        r.createElement("rect", {
          x: "83.614",
          y: "75.466",
          transform: "matrix(-0.7071 -0.7071 0.7071 -0.7071 93.7468 324.5916)",
          width: "60.971",
          height: "134.827",
        }),
        r.createElement("rect", {
          x: "149.28",
          y: "68.116",
          transform: "matrix(-0.7071 -0.7071 0.7071 -0.7071 252.0431 259.4951)",
          width: "60.971",
          height: "18.862",
        }),
        r.createElement("path", {
          d: "M233.545,37.803l-14.368-14.369c-7.928-7.928-20.846-7.897-28.809,0.064l-14.305,14.307l43.112,43.111l14.306-14.305 C241.511,58.582,241.513,45.771,233.545,37.803z",
        }),
      );
    }
    function me() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Information",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polyline", {
          className: "I",
          points:
            "86.883,110.957 152.894,110.957 152.894,181.406 177.117,181.406 177.117,202.485 86.883,202.485 86.883,181.775 109.441,181.775 109.441,130.372 86.883,130.372 ",
        }),
        r.createElement("circle", {
          className: "I",
          cx: "128.47",
          cy: "67.607",
          r: "25.517",
        }),
        r.createElement("circle", {
          fill: "none",
          stroke: "#000000",
          strokeWidth: "14",
          strokeMiterlimit: "10",
          cx: "128",
          cy: "128",
          r: "116.833",
        }),
      );
    }
    function pe(e) {
      return r.createElement(
        "svg",
        {
          style: { height: e.height, width: e.height },
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_DynamicCollection",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("polyline", {
          style: { opacity: 0.2 },
          points:
            "27.875,27.875 73.692,27.893 51.91,154.75 74.672,155 62.787,227.93 27.875,228.125",
        }),
        r.createElement("polyline", {
          style: { opacity: 0.2 },
          points:
            "202.723,27.875 228.147,27.875 228.541,227.93 111.667,227.93 209.345,91.25 175.523,91.218",
        }),
        r.createElement("polygon", {
          points:
            "178.671,16.667 103.833,16.667 75.506,140.146 103.83,140.025 75.506,242.5 174.837,107.74 142.5,107.5",
        }),
      );
    }
    function he() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Patch",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M171.176,136.219c-5.516-5.516-14.166-5.948-20.223-1.406L92.125,75.984l-8.002-29.738c-0.324-1.406-1.73-3.027-3.028-3.785 L46.49,24.186c-1.298-0.648-3.136-0.433-4.218,0.648L25.295,41.813c-0.974,0.973-1.298,2.92-0.649,4.217l18.276,34.605 c0.648,1.297,2.379,2.596,3.785,3.027l29.739,8.003l58.828,58.828c-4.542,6.056-4.109,14.707,1.405,20.222l56.882,56.882 c6.056,6.056,15.896,6.056,21.845,0l12.544-12.544c6.056-6.056,6.056-15.788,0-21.845L171.176,136.219z",
        }),
        r.createElement("path", {
          d: "M153.116,122.16c2.271-0.648,4.65-0.973,7.138-0.973c0.865,0,1.622,0,2.486,0.107l26.928-26.927 c12.328,2.92,25.846-0.324,35.361-9.948c9.517-9.625,12.869-23.034,9.949-35.254l-20.33,20.33l-21.845-5.84l-5.84-21.952 l20.331-20.33c-12.221-2.92-25.738,0.324-35.254,9.948c-9.625,9.625-12.869,23.143-9.949,35.362L129.866,98.91L153.116,122.16z",
        }),
        r.createElement("path", {
          d: "M99.371,129.406l-32.226,32.226c-12.328-2.92-25.845,0.324-35.362,9.948c-9.517,9.625-12.869,23.034-9.949,35.254 l20.331-20.33l21.953,5.84l5.839,21.952l-20.331,20.33c12.22,2.92,25.737-0.324,35.254-9.949 c9.625-9.624,12.869-23.142,9.949-35.361l27.035-27.035c-0.325-3.136,0-6.38,0.865-9.517L99.371,129.406z",
        }),
      );
    }
    function _e() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "base",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_AppleLogo",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M138.365,26.557c16.139-21.272,38.578-21.376,38.578-21.376s3.336,19.999-12.696,39.266 c-17.12,20.572-36.58,17.206-36.58,17.206S124.012,45.473,138.365,26.557z",
        }),
        r.createElement("path", {
          d: "M129.719,75.662c8.305,0,23.713-11.413,43.771-11.413c34.527,0,48.109,24.566,48.109,24.566s-26.565,13.583-26.565,46.54 c0,37.179,33.093,49.991,33.093,49.991s-23.134,65.112-54.38,65.112c-14.353,0-25.509-9.672-40.631-9.672 c-15.41,0-30.702,10.032-40.662,10.032c-28.533,0-64.581-61.765-64.581-111.414c0-48.849,30.512-74.474,59.13-74.474 C105.61,64.933,120.047,75.662,129.719,75.662z",
        }),
      );
    }
    function ge() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          className: "SVGIcon_Button SVGIcon_WindowsLogo",
          width: "100%",
          height: "100%",
          viewBox: "0 0 128 128",
          enableBackground: "new 0 0 128 128",
        },
        r.createElement("rect", {
          fill: "#FFFFFF",
          width: "60.834",
          height: "60.835",
        }),
        r.createElement("rect", {
          x: "67.165",
          fill: "#FFFFFF",
          width: "60.835",
          height: "60.835",
        }),
        r.createElement("rect", {
          y: "67.164",
          fill: "#FFFFFF",
          width: "60.834",
          height: "60.836",
        }),
        r.createElement("rect", {
          x: "67.165",
          y: "67.164",
          fill: "#FFFFFF",
          width: "60.835",
          height: "60.836",
        }),
      );
    }
    function be() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_3_copy",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 256 256",
        },
        r.createElement(
          "g",
          { id: "Layer_3_copy" },
          r.createElement(
            "g",
            { id: "g4768_1_", transform: "translate(-6.9308024,-10)" },
            r.createElement("g", { id: "g4763_1_" }),
          ),
          r.createElement("path", {
            d: "M206.3,36.6c-19.4,0-35.8,14.1-40.3,33H24.8c-6,0-10.8,4.8-10.8,10.8s4.8,10.8,10.8,10.8h141.3\r\n\t\t\t\tc4.7,18.6,20.9,32.4,40.2,32.4c22.9,0,41.5-19.5,41.5-43.5C247.9,56.2,229.2,36.6,206.3,36.6z M206.3,109.7\r\n\t\t\t\tc-15.2,0-27.5-13.2-27.5-29.5c0-16.3,12.4-29.5,27.5-29.5s27.5,13.2,27.5,29.5C233.9,96.4,221.5,109.7,206.3,109.7z",
          }),
          r.createElement("path", {
            d: "M230.4,157.3H107.9c-4.6-14.6-18.3-25.2-34.3-25.2s-29.7,10.6-34.3,25.2H24.8c-6,0-10.8,4.8-10.8,10.8\r\n\t\t\t\tS18.9,179,24.8,179h14.3c4.6,14.6,18.3,25.2,34.3,25.2s29.7-10.6,34.3-25.2h122.5c6,0,10.8-4.8,10.8-10.8S236.4,157.3,230.4,157.3z\r\n\t\t\t\tM73.5,189.8c-8,0-14.9-4.3-18.7-10.8l0,0c-0.7-1.2-1.3-2.4-1.7-3.7c0,0,0-0.1,0-0.1c-0.1-0.4-0.2-0.8-0.4-1.2c0-0.1,0-0.1,0-0.2\r\n\t\t\t\tc-0.2-0.8-0.4-1.7-0.5-2.6c0-0.1,0-0.2,0-0.3c0-0.3-0.1-0.7-0.1-1c0-0.1,0-0.2,0-0.4c0-0.4,0-0.9,0-1.3s0-0.9,0-1.3\r\n\t\t\t\tc0-0.1,0-0.2,0-0.4c0-0.3,0.1-0.7,0.1-1c0-0.1,0-0.2,0-0.3c0.1-0.9,0.3-1.8,0.5-2.6c0-0.1,0-0.1,0-0.2c0.1-0.4,0.2-0.8,0.4-1.2\r\n\t\t\t\tc0,0,0-0.1,0-0.1c0.5-1.3,1-2.6,1.7-3.7c3.7-6.4,10.7-10.8,18.7-10.8c8,0,14.9,4.3,18.7,10.8c0.7,1.2,1.3,2.4,1.7,3.7\r\n\t\t\t\tc0,0,0,0.1,0,0.1c0.1,0.4,0.3,0.8,0.4,1.2c0,0.1,0,0.1,0,0.2c0.2,0.8,0.4,1.7,0.5,2.6c0,0.1,0,0.2,0,0.3c0,0.3,0.1,0.7,0.1,1\r\n\t\t\t\tc0,0.1,0,0.2,0,0.4c0,0.4,0,0.9,0,1.3s0,0.9,0,1.3c0,0.1,0,0.2,0,0.4c0,0.3-0.1,0.7-0.1,1c0,0.1,0,0.2,0,0.3\r\n\t\t\t\tc-0.1,0.9-0.3,1.8-0.5,2.6c0,0.1,0,0.1,0,0.2c-0.1,0.4-0.2,0.8-0.4,1.2c0,0,0,0.1,0,0.1c-0.5,1.3-1,2.6-1.7,3.7l0,0\r\n\t\t\t\tC88.5,185.4,81.5,189.8,73.5,189.8z",
          }),
        ),
      );
    }
    function fe() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 256 256",
        },
        r.createElement("circle", { cx: "126", cy: "134", r: "20.6" }),
        r.createElement("circle", { cx: "189.4", cy: "134", r: "20.6" }),
        r.createElement("circle", { cx: "62.6", cy: "134", r: "20.6" }),
      );
    }
    function ve() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          className: "SVGIcon_Button SVGIcon_Invalid",
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 256 256",
        },
        r.createElement("path", {
          d: "M128.5,27.4C74.1,27.4,30,71.5,30,125.9c0,54.4,44.1,98.5,98.5,98.5s98.5-44.1,98.5-98.5C226.9,71.5,182.9,27.4,128.5,27.4 z M206.8,125.9c0,17.7-5.9,34-15.8,47.2L81.3,63.3c13.1-9.9,29.5-15.8,47.2-15.8C171.7,47.5,206.8,82.6,206.8,125.9z M50.2,125.9 c0-17.7,5.9-34,15.8-47.2l109.7,109.7c-13.1,9.9-29.5,15.8-47.2,15.8C85.2,204.2,50.2,169.1,50.2,125.9z",
        }),
      );
    }
    function Se() {
      return r.createElement(
        "svg",
        {
          xmlns: "http://www.w3.org/2000/svg",
          viewBox: "0 0 18 18",
          version: "1.1",
          x: "0px",
          y: "0px",
          fillRule: "evenodd",
          clipRule: "evenodd",
          strokeLinejoin: "round",
          strokeMiterlimit: "1.41421",
        },
        r.createElement("path", {
          d: "M12.621,2.491c-0.021,0.019 -0.042,0.039 -0.063,0.06l-5.125,5.201c-0.579,0.587 -0.575,1.527 -0.001,2.109l0.691,0.702c0.576,0.584 1.505,0.582 2.079,-0.001l5.126,-5.201c0.021,-0.021 0.04,-0.042 0.059,-0.063l1.573,1.595c0.573,0.582 1.04,0.386 1.04,-0.439l0,-5.957c0,-0.276 -0.219,-0.497 -0.49,-0.497l-5.87,0c-0.82,0 -1.008,0.473 -0.434,1.056l1.415,1.435Zm-9.618,-2.491c-1.665,0 -3.003,1.344 -3.003,3.003l0,11.994c0,1.665 1.344,3.003 3.003,3.003l11.994,0c1.665,0 3.003,-1.344 3.003,-3.003l0,-7.746l0,4.249l-3,-2.488l0,4.492c0,0.826 -0.671,1.496 -1.496,1.496l-9.008,0c-0.826,0 -1.496,-0.671 -1.496,-1.496l0,-9.008c0,-0.826 0.671,-1.496 1.496,-1.496l4.504,0l-2.5,-3l4.249,0l-7.746,0Z",
        }),
      );
    }
    function ye() {
      return r.createElement(
        "svg",
        {
          xmlns: "http://www.w3.org/2000/svg",
          viewBox: "0 0 100 100",
          x: "0px",
          y: "0px",
        },
        r.createElement("path", {
          d: "M50,7A43,43,0,1,1,7,50,43,43,0,0,1,50,7m0-7a50,50,0,1,0,50,50A50,50,0,0,0,50,0h0Z",
        }),
        r.createElement("path", {
          d: "M50.79,25a45.51,45.51,0,0,1,5.29.87c5.33,1.51,8.5,5.77,8.9,11.43a10.4,10.4,0,0,1-4.21,9.5c-1.42,1.1-2.91,2.1-4.34,3.18a7.06,7.06,0,0,0-3.18,6.3,4,4,0,0,1-2.88,4,4.42,4.42,0,0,1-5.18-1.55,4.19,4.19,0,0,1-.59-2.07A13.89,13.89,0,0,1,50.3,45,41.55,41.55,0,0,0,54.83,41,5,5,0,0,0,56,38.19c0.23-2.83-1.59-4.65-4.52-4.84-3.54-.23-6.52.69-8.6,3.82a4.19,4.19,0,0,1-4.35,2c-3-.5-4.29-2.94-3.06-5.75a12.84,12.84,0,0,1,6.25-6.2A21.71,21.71,0,0,1,50.79,25Z",
        }),
        r.createElement("path", {
          d: "M53.78,69.88C53.8,73.09,52,75,48.85,75s-5.25-1.84-5.26-4.53c0-3.73,1.67-5.59,5-5.69C51.3,64.7,54.12,66.36,53.78,69.88Z",
        }),
      );
    }
    function Ee(e, t) {
      return d.c.IN_GAMEPADUI
        ? r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              e,
            ),
            r.createElement("path", {
              fillRule: "evenodd",
              clipRule: "evenodd",
              d: "M2 4V16V20L7 16H24V4H2ZM12 20V32H29L34 36V32V20H12Z",
              fill: "currentColor",
            }),
          )
        : r.createElement(
            "svg",
            {
              version: "1.1",
              id: "Layer_2",
              xmlns: "http://www.w3.org/2000/svg",
              className: e.className,
              x: "0px",
              y: "0px",
              width: "256px",
              height: "256px",
              viewBox: "0 0 409.6 409.6",
            },
            r.createElement("path", {
              d: "M109.9,96.2H302c16.3,0,29.6,13,29.6,29v101.4c0,16-13.2,29-29.6,29h-90.1l-57.6,57.9L138,255.6h-28.1\r\n\t\t\t\tc-16.3,0-29.6-13-29.6-29V125.2C80.4,109.2,93.6,96.2,109.9,96.2z",
            }),
          );
    }
    function Ce(e) {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_2",
          xmlns: "http://www.w3.org/2000/svg",
          className: e.className,
          x: "0px",
          y: "0px",
          width: "256px",
          height: "256px",
          viewBox: "0 0 409.6 409.6",
        },
        r.createElement("path", {
          d: "M225.1,328.8c-12.6,0-15.3-1.9-29.5-5.3c-18.7-4.8-35.3-6.3-51-5.3c-3.5,0.5-7.1,0.5-10.6,1l-7.6,1\r\n\t\t\t\tc-2.5,0.5-4.5-1-5.6-3.4c-12.6-36.2-16.6-74.7-11.6-117.6c0-2.4,2-3.9,4.5-4.3l4.5-0.5c3.5-0.5,6.6-1,10.1-1c5-0.5,9.6-2.9,13.1-7.2\r\n\t\t\t\tl0.5-1c0.5-0.5,1-1.4,1.5-2.4c9.1-14.5,22.2-25.6,36.8-37.6c7.6-6.3,14.1-12.5,20.2-18.3c6.6-7.2,10.1-16.4,10.6-27\r\n\t\t\t\tc0-9.6,5.6-15.4,16.1-16.4c13.6-1,22.7,3.9,27.8,15.9c7.6,16.4-4.4,33.3-13.9,50.6c-2,3.9-4.5,7.2-7.1,10.6c-1,1.4-2,2.9-3,4.3\r\n\t\t\t\tl-3.5,4.8c-1.5,1.9-3,3.9-4.5,6.3c4,0,7.6,0,11.6,0c11.1-0.5,34.6-0.5,46.7,1.4c7.6,1,13.6,4.8,17.7,10.1c3.5,4.8,4.5,11.1,3,17.8\r\n\t\t\t\tc-0.5,2.9-2,5.8-5,9.2c-1.5,1.9-14.4,3.9-16.5,5.3h10.9c2.5,1.9,5,3.9,7.1,6.3c4,4.3,5.6,9.2,5,14.9c-0.5,5.3-3,10.6-7.6,14\r\n\t\t\t\tc-2.5,1.9-16,3.9-18.5,5.3c5,5.3,18,12.1,16.5,19.3c-2,9.6-7.6,15.4-18.2,17.8c2.5,3.9,3,8.7,1.5,13.5c-0.5,2.4-1.5,4.3-2.5,6.3\r\n\t\t\t\tc-2.5,5.3-6.6,8.2-13.1,9.6C253.2,327.8,233.7,328.8,225.1,328.8z",
        }),
      );
    }
    function we(e) {
      const { className: t, color: n } = e;
      return r.createElement(
        "svg",
        {
          className: Object(o.a)(t),
          width: "13",
          height: "21",
          viewBox: "0 0 13 21",
          fill: "none",
          xmlns: "http://www.w3.org/2000/svg",
        },
        r.createElement("path", {
          fill: n || "#ffc83d",
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M5.80814 0.197492L5.19324 0.62086C4.96265 0.774812 4.69363 0.851788 4.38619 0.8133L3.92501 0.736324C3.42541 0.697836 2.96424 0.928764 2.73365 1.39062L2.4262 2.04492C2.27248 2.31433 2.08032 2.50677 1.8113 2.62224L1.38856 2.81468C0.92739 3.00712 0.658372 3.46897 0.696803 3.96932L0.735234 4.70059C0.773665 5.00849 0.696803 5.23942 0.504648 5.47035L0.23563 5.85523C-0.0718184 6.24011 -0.0718184 6.77894 0.197199 7.20231L0.619941 7.81812C0.773665 8.04904 0.812097 8.31846 0.812097 8.62636L0.735234 9.08822C0.696803 9.58856 0.92739 10.0504 1.38856 10.2813L2.04189 10.5893C2.31091 10.7432 2.50306 10.9356 2.61836 11.2051L2.77208 11.6284C3.00267 12.0903 3.42541 12.3597 3.96344 12.3212L4.69363 12.2827C4.96265 12.2442 5.23167 12.3212 5.46226 12.5137L5.84657 12.7831C6.23088 13.091 6.76891 13.091 7.19165 12.8216L7.80655 12.3982C8.03714 12.2442 8.30616 12.2057 8.57517 12.2057L9.03635 12.2827C9.53595 12.3212 10.0356 12.0903 10.2277 11.6284L10.5736 10.9741C10.6889 10.7047 10.881 10.5123 11.1501 10.3968L11.5728 10.2429C12.034 10.0119 12.3414 9.58856 12.303 9.04973L12.2646 8.31846C12.2261 8.04904 12.303 7.77963 12.4951 7.5487L12.7642 7.16382C13.0716 6.77894 13.0716 6.24011 12.8026 5.81674L12.3798 5.20093C12.2261 4.97 12.1493 4.70059 12.1877 4.43117L12.2646 3.96932C12.303 3.46897 12.0724 2.96863 11.6112 2.77619L10.9579 2.4298C10.6889 2.31433 10.4967 2.12189 10.3814 1.85248L10.1893 1.42911C9.99712 0.967252 9.53595 0.659348 9.03635 0.697836L8.30616 0.736324C7.99871 0.774812 7.76812 0.697836 7.53753 0.505396L7.15322 0.23598C6.76891 -0.0719243 6.23088 -0.0719243 5.80814 0.197492ZM6.4999 2.69921C4.38619 2.69921 2.65679 4.39268 2.65679 6.50952C2.65679 8.62636 4.38619 10.3583 6.4999 10.3583C8.6136 10.3583 10.3046 8.62636 10.3046 6.50952C10.3046 4.39268 8.6136 2.69921 6.4999 2.69921Z",
        }),
        r.createElement("path", {
          fill: n || "#ffc83d",
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M3.04084 12.7833V20.096L6.49963 17.6328L9.95843 20.096V12.7833C9.65098 12.8988 9.3051 12.9758 8.95922 12.9373L8.53648 12.8603C8.38276 12.8603 8.26746 12.8988 8.15217 12.9758L7.53727 13.3606C6.88394 13.784 6.07689 13.784 5.42356 13.3222L5.07768 13.0143C4.96239 12.9373 4.8471 12.9373 4.7318 12.9373L4.00161 12.9758C3.65573 12.9758 3.30985 12.9373 3.04084 12.7833Z",
        }),
      );
    }
    function Be() {
      return r.createElement(
        "svg",
        {
          height: "100px",
          width: "100px",
          fill: "#000000",
          x: "0px",
          y: "0px",
          viewBox: "0 0 101 101",
          enableBackground: "new 0 0 101 101",
          xmlns: "http://www.w3.org/2000/svg",
          version: "1.1",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            d: "M16.929,30.115 M84.446,84.262c0-37.271-30.323-67.613-67.587-67.613l0,0l0.069,13.467   c29.777,0.039,53.995,24.256,54.051,54.042L84.446,84.262z",
          }),
          r.createElement("path", {
            d: "M16.843,53.089 M61.472,84.262c0-24.616-20.026-44.639-44.628-44.639l0,0v13.466c17.182,0,31.161,13.984,31.161,31.173   H61.472z",
          }),
          r.createElement("circle", { cx: "26.695", cy: "74.305", r: "9.812" }),
        ),
      );
    }
    function Oe(e) {
      return r.createElement(
        "svg",
        Object.assign({}, e, {
          height: "24px",
          width: "24px",
          viewBox: "0 0 24 24",
          x: "0px",
          y: "0px",
        }),
        r.createElement("path", {
          fill: "white",
          d: "M3.3,0.5v23h17.5v-23H3.3z M10.2,9.6l-3-2.2h3.7L12,3.9l1.2,3.6H17l-3,2.2l1.2,3.6L12,11l-3,2.2L10.2,9.6z M17.3,16.1 M17.4,18H6.6v-1.2h10.7L17.4,18L17.4,18z M17.3,19.9",
        }),
      );
    }
    function De() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 32 32",
          enableBackground: "new 0 0 32 32",
        },
        r.createElement("path", {
          fill: "white",
          d: "M24.68,19.53l6.9-5.69c0.98-0.81,0.47-2.39-0.81-2.46l-8.89-0.54c-0.54-0.03-1.01-0.37-1.21-0.88L17.4,1.61\r\n\t\t\tc-0.47-1.18-2.12-1.18-2.59,0l-3.27,8.32c-0.2,0.51-0.67,0.84-1.21,0.88l-8.92,0.54c-1.28,0.07-1.78,1.65-0.81,2.46l6.9,5.66\r\n\t\t\tc0.4,0.34,0.61,0.91,0.47,1.41l-2.26,8.65c-0.3,1.21,1.01,2.19,2.09,1.52l7.51-4.81c0.47-0.3,1.04-0.3,1.48,0l7.54,4.81\r\n\t\t\tc1.08,0.67,2.39-0.3,2.09-1.52l-2.26-8.62C24.07,20.4,24.24,19.86,24.68,19.53z",
        }),
      );
    }
    function Ie() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 32 32",
          enableBackground: "new 0 0 32 32",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            fill: "white",
            d: "M28.4,1.49H3.79c-1.99,0-3.6,1.61-3.6,3.6v14.88c0,1.99,1.61,3.6,3.6,3.6h2.37c0,1.61-0.38,3.7-1.51,5.88\r\n\t\t\tc-0.28,0.57-0.19,1.33,0.19,1.8c0.28,0.38,0.76,0.47,1.14,0.47c0.19,0,0.38,0,0.57-0.09c4.07-1.61,7.57-5.59,9.47-8.05h12.4\r\n\t\t\tc1.99,0,3.6-1.61,3.6-3.6V5.1C31.91,3.11,30.3,1.49,28.4,1.49z M8.23,14.97c-1.33,0-2.37-1.04-2.37-2.37s1.04-2.37,2.37-2.37\r\n\t\t\ts2.37,1.04,2.37,2.37S9.56,14.97,8.23,14.97z M15.99,14.97c-1.33,0-2.37-1.04-2.37-2.37s1.04-2.37,2.37-2.37\r\n\t\t\tc1.33,0,2.37,1.04,2.37,2.37S17.32,14.97,15.99,14.97z M23.85,14.97c-1.33,0-2.37-1.04-2.37-2.37s1.04-2.37,2.37-2.37\r\n\t\t\tc1.33,0,2.37,1.04,2.37,2.37S25.18,14.97,23.85,14.97z",
          }),
        ),
      );
    }
    function Te() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 32 32",
          enableBackground: "new 0 0 32 32",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            fill: "white",
            d: "M23.32,28.28C23,25.55,20.68,23.52,18,23.52h-3.78c-2.73,0-5,2.03-5.33,4.76L8.56,30.8h15.09L23.32,28.28z",
          }),
          r.createElement("path", {
            fill: "white",
            d: "M16.08,22.15c2.82,0,5.1-2.28,5.1-5.1c0-2.82-2.28-5.1-5.1-5.1s-5.1,2.28-5.1,5.1\r\n\t\t\tC10.98,19.86,13.27,22.15,16.08,22.15z",
          }),
          r.createElement(
            "g",
            null,
            r.createElement("path", {
              fill: "white",
              d: "M24.09,10.21c-0.94-1.22-2.18-2.23-3.57-2.9c-1.39-0.68-2.94-1.02-4.48-1.01l-0.02,0L16,6.3\r\n\t\t\t\tc-0.03,0-0.05,0-0.08,0c-1.52,0-3.04,0.35-4.4,1.01c-1.39,0.68-2.62,1.68-3.57,2.9c-0.94,1.22-1.6,2.67-1.91,4.18\r\n\t\t\t\tc-0.3,1.51-0.25,3.1,0.15,4.59c0.14,0.55,0.62,0.92,1.18,0.92c0.01,0,0.02,0,0.04,0h0.27l0.03-0.01c0.32-0.08,0.59-0.29,0.76-0.57\r\n\t\t\t\tl0.07-0.1c0.14-0.21,0.18-0.46,0.11-0.7L8.6,18.38c-0.18-0.62-0.27-1.27-0.29-1.92c0-4.24,3.45-7.68,7.69-7.68h0.04\r\n\t\t\t\tc4.24,0,7.69,3.45,7.69,7.68c-0.02,0.65-0.11,1.3-0.29,1.92l-0.04,0.15c-0.07,0.24-0.03,0.49,0.11,0.7l0.07,0.1\r\n\t\t\t\tc0.17,0.28,0.44,0.49,0.76,0.57l0.03,0.01l0.26,0c0.01,0,0.02,0,0.04,0c0.56,0,1.04-0.37,1.18-0.92c0.4-1.49,0.46-3.08,0.15-4.59\r\n\t\t\t\tC25.69,12.88,25.04,11.44,24.09,10.21z",
            }),
            r.createElement("path", {
              fill: "white",
              d: "M16.02,0.68c-8.83,0-15.99,7.16-16,15.99h0.01c-0.02,2.68,0.74,5.31,2.18,7.57l0,0.01l0.01,0.01\r\n\t\t\t\tc0.37,0.43,1,0.51,1.47,0.19c0.47-0.32,0.62-0.94,0.36-1.44l0,0l0,0c-1.19-1.89-1.81-4.09-1.79-6.32v0v0\r\n\t\t\t\tc0-7.6,6.16-13.76,13.76-13.76c7.6,0,13.76,6.16,13.76,13.76v0v0c0.03,2.24-0.59,4.43-1.79,6.32l0,0l0,0\r\n\t\t\t\tc-0.26,0.5-0.11,1.12,0.36,1.44c0.47,0.32,1.1,0.24,1.47-0.19l0.01-0.01l0-0.01c1.45-2.26,2.2-4.89,2.18-7.57h0.01\r\n\t\t\t\tC32.02,7.84,24.86,0.68,16.02,0.68",
            }),
          ),
        ),
      );
    }
    function Re(e) {
      return r.createElement(
        "svg",
        Object.assign({}, e, {
          height: "100px",
          width: "100px",
          fill: "#000000",
          xmlns: "http://www.w3.org/2000/svg",
          version: "1.1",
          viewBox: "0 0 32 32",
          x: "0px",
          y: "0px",
        }),
        r.createElement("path", {
          d: "M26.286 0c-3.142 0-5.714 2.572-5.714 5.714 0 0.512 0.074 1.006 0.202 1.479l-10.573 5.287c-1.049-1.332-2.67-2.194-4.487-2.194-3.142 0-5.714 2.572-5.714 5.714s2.572 5.714 5.714 5.714c1.815 0 3.437-0.862 4.486-2.193l10.574 5.287c-0.127 0.473-0.202 0.966-0.202 1.478 0 3.142 2.572 5.714 5.714 5.714s5.714-2.572 5.714-5.714c0-3.142-2.572-5.714-5.714-5.714-1.817 0-3.438 0.862-4.487 2.194l-10.573-5.287c0.128-0.473 0.202-0.967 0.202-1.479s-0.074-1.005-0.202-1.478l10.574-5.287c1.049 1.331 2.67 2.193 4.486 2.193 3.142 0 5.714-2.572 5.714-5.714s-2.572-5.714-5.714-5.714zM26.286 2.286c1.907 0 3.429 1.522 3.429 3.429s-1.522 3.429-3.429 3.429c-1.907 0-3.429-1.522-3.429-3.429s1.522-3.429 3.429-3.429zM5.714 12.571c1.907 0 3.429 1.522 3.429 3.429s-1.522 3.429-3.429 3.429c-1.907 0-3.429-1.522-3.429-3.429s1.522-3.429 3.429-3.429zM26.286 22.857c1.907 0 3.429 1.522 3.429 3.429s-1.522 3.429-3.429 3.429c-1.907 0-3.429-1.522-3.429-3.429s1.522-3.429 3.429-3.429z",
        }),
      );
    }
    function je() {
      return r.createElement(
        "svg",
        {
          version: "1.1",
          id: "Layer_1",
          xmlns: "http://www.w3.org/2000/svg",
          x: "0px",
          y: "0px",
          viewBox: "0 0 44 44",
          enableBackground: "new 0 0 44 44",
        },
        r.createElement(
          "g",
          null,
          r.createElement("path", {
            d: "M2 5.90007C2 5.90007 4.92505 2 11.7502 2C18.5753 2 21.5003 5.90007 21.5003 5.90007V33.2005C21.5003 33.2005 18.5753 31.2505 11.7502 31.2505C4.92505 31.2505 2 33.2005 2 33.2005V5.90007Z",
            stroke: "#fefeef",
            fill: "none",
            strokeWidth: "3",
            strokeLinecap: "round",
            strokeLinejoin: "round",
          }),
          r.createElement("path", {
            d: "M21.4998 5.90007C21.4998 5.90007 24.4248 2 31.2499 2C38.075 2 41.0001 5.90007 41.0001 5.90007V33.2005C41.0001 33.2005 38.075 31.2505 31.2499 31.2505C24.4248 31.2505 21.4998 33.2005 21.4998 33.2005V5.90007Z",
            stroke: "#fefeef",
            fill: "none",
            strokeWidth: "3",
            strokeLinecap: "round",
            strokeLinejoin: "round",
          }),
        ),
      );
    }
    function Ae(e) {
      const { className: t } = e,
        n = Object(a.c)(e, ["className"]);
      return r.createElement(
        "svg",
        Object.assign(
          {
            className: Object(o.a)(
              c.a.SteamDeckCompatIcon,
              c.a.SteamDeckCompatVerified,
              t,
            ),
          },
          n,
          {
            viewBox: "0 0 20 20",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
          },
        ),
        r.createElement("path", {
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19ZM8.33342 11.9222L14.4945 5.76667L16.4556 7.72779L8.33342 15.8556L3.26675 10.7833L5.22786 8.82223L8.33342 11.9222Z",
          fill: "currentColor",
        }),
      );
    }
    function ke(e) {
      const { className: t } = e,
        n = Object(a.c)(e, ["className"]);
      return r.createElement(
        "svg",
        Object.assign(
          {
            className: Object(o.a)(
              c.a.SteamDeckCompatIcon,
              c.a.SteamDeckCompatPlayable,
              t,
            ),
          },
          n,
          {
            viewBox: "0 0 20 20",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
          },
        ),
        r.createElement("path", {
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19ZM8.61079 9.44444V15H11.3886V9.44444H8.61079ZM9.07372 8.05245C9.34781 8.23558 9.67004 8.33333 9.99967 8.33333C10.4417 8.33333 10.8656 8.15774 11.1782 7.84518C11.4907 7.53262 11.6663 7.10869 11.6663 6.66667C11.6663 6.33703 11.5686 6.0148 11.3855 5.74072C11.2023 5.46663 10.942 5.25301 10.6375 5.12687C10.3329 5.00072 9.99783 4.96771 9.67452 5.03202C9.35122 5.09633 9.05425 5.25507 8.82116 5.48815C8.58808 5.72124 8.42934 6.01821 8.36503 6.34152C8.30072 6.66482 8.33373 6.99993 8.45988 7.30447C8.58602 7.60902 8.79964 7.86931 9.07372 8.05245Z",
          fill: "currentColor",
        }),
      );
    }
    function Me(e) {
      const { className: t } = e,
        n = Object(a.c)(e, ["className"]);
      return r.createElement(
        "svg",
        Object.assign(
          {
            className: Object(o.a)(
              c.a.SteamDeckCompatIcon,
              c.a.SteamDeckCompatUnsupported,
              t,
            ),
          },
          n,
          {
            viewBox: "0 0 20 20",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
          },
        ),
        r.createElement("path", {
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M14.1931 15.6064C13.0246 16.4816 11.5733 17 10.001 17C6.13498 17 3.00098 13.866 3.00098 10C3.00098 8.42766 3.51938 6.97641 4.39459 5.80783L14.1931 15.6064ZM15.6074 14.1922C16.4826 13.0236 17.001 11.5723 17.001 10C17.001 6.13401 13.867 3 10.001 3C8.42864 3 6.97739 3.5184 5.80881 4.39362L15.6074 14.1922ZM19.001 10C19.001 14.9706 14.9715 19 10.001 19C5.03041 19 1.00098 14.9706 1.00098 10C1.00098 5.02944 5.03041 1 10.001 1C14.9715 1 19.001 5.02944 19.001 10Z",
          fill: "currentColor",
        }),
      );
    }
    function Pe(e) {
      const { className: t } = e,
        n = Object(a.c)(e, ["className"]);
      return r.createElement(
        "svg",
        Object.assign(
          {
            className: Object(o.a)(
              c.a.SteamDeckCompatIcon,
              c.a.SteamDeckCompatUnknown,
              t,
            ),
          },
          n,
          {
            viewBox: "0 0 20 20",
            fill: "none",
            xmlns: "http://www.w3.org/2000/svg",
          },
        ),
        r.createElement("path", {
          fillRule: "evenodd",
          clipRule: "evenodd",
          d: "M17.3972 11.2461L18.8767 11.4932C18.9578 11.0075 19 10.5087 19 10C19 9.49131 18.9578 8.99248 18.8767 8.50682L17.3972 8.75386C17.4647 9.15821 17.5 9.57442 17.5 10C17.5 10.4256 17.4647 10.8418 17.3972 11.2461ZM17.0295 7.3783L18.4348 6.8539C18.0814 5.90668 17.5729 5.03501 16.9403 4.26971L15.7842 5.22538C16.3119 5.86387 16.7354 6.59021 17.0295 7.3783ZM14.7746 4.21582L15.7303 3.05967C14.965 2.42708 14.0933 1.91864 13.1461 1.56519L12.6217 2.97054C13.4098 3.26461 14.1361 3.68805 14.7746 4.21582ZM11.2461 2.60281L11.4932 1.1233C11.0075 1.0422 10.5087 1 10 1C9.49131 1 8.99248 1.0422 8.50682 1.1233L8.75386 2.60281C9.15821 2.5353 9.57442 2.5 10 2.5C10.4256 2.5 10.8418 2.5353 11.2461 2.60281ZM7.3783 2.97054L6.8539 1.56519C5.90668 1.91864 5.03501 2.42708 4.26971 3.05967L5.22538 4.21582C5.86387 3.68805 6.59021 3.26461 7.3783 2.97054ZM4.21582 5.22538L3.05967 4.26971C2.42708 5.03501 1.91864 5.90668 1.56519 6.8539L2.97054 7.3783C3.26461 6.59022 3.68805 5.86387 4.21582 5.22538ZM1 10C1 9.49131 1.0422 8.99248 1.1233 8.50682L2.60281 8.75386C2.5353 9.15821 2.5 9.57442 2.5 10C2.5 10.4256 2.5353 10.8418 2.60281 11.2461L1.1233 11.4932C1.0422 11.0075 1 10.5087 1 10ZM2.97054 12.6217L1.56519 13.1461C1.91864 14.0933 2.42708 14.965 3.05967 15.7303L4.21582 14.7746C3.68805 14.1361 3.26461 13.4098 2.97054 12.6217ZM5.22538 15.7842L4.26971 16.9403C5.03501 17.5729 5.90668 18.0814 6.8539 18.4348L7.3783 17.0295C6.59022 16.7354 5.86387 16.3119 5.22538 15.7842ZM8.75386 17.3972L8.50682 18.8767C8.99248 18.9578 9.49131 19 10 19C10.5087 19 11.0075 18.9578 11.4932 18.8767L11.2461 17.3972C10.8418 17.4647 10.4256 17.5 10 17.5C9.57442 17.5 9.15821 17.4647 8.75386 17.3972ZM12.6217 17.0295L13.1461 18.4348C14.0933 18.0814 14.965 17.5729 15.7303 16.9403L14.7746 15.7842C14.1361 16.3119 13.4098 16.7354 12.6217 17.0295ZM15.7842 14.7746L16.9403 15.7303C17.5729 14.965 18.0814 14.0933 18.4348 13.1461L17.0295 12.6217C16.7354 13.4098 16.3119 14.1361 15.7842 14.7746ZM9.2425 14.7702C9.46679 14.92 9.73048 15 10.0002 15C10.362 15 10.7089 14.8563 10.9646 14.6006C11.2204 14.3448 11.3641 13.998 11.3641 13.6363C11.3641 13.3666 11.2841 13.1029 11.1343 12.8787C10.9844 12.6544 10.7714 12.4796 10.5222 12.3764C10.2729 12.2732 9.99872 12.2462 9.73415 12.2988C9.46958 12.3514 9.22656 12.4813 9.03582 12.672C8.84508 12.8628 8.71518 13.1057 8.66255 13.3703C8.60993 13.6348 8.63694 13.909 8.74016 14.1582C8.84339 14.4074 9.01821 14.6203 9.2425 14.7702ZM11.0981 10.3552C11.1722 10.2348 11.2765 10.1358 11.4005 10.068C11.8099 9.82315 12.1479 9.47526 12.3808 9.05903C12.6137 8.64279 12.7333 8.17276 12.7278 7.69584C12.7223 7.21892 12.5918 6.75179 12.3493 6.34105C12.1069 5.93031 11.7609 5.59033 11.346 5.35502C10.9311 5.11972 10.4617 4.99732 9.98466 5.00004C9.50764 5.00277 9.03969 5.13052 8.62748 5.37054C8.21527 5.61057 7.87321 5.95448 7.63545 6.36796C7.39769 6.78144 7.27253 7.25004 7.27246 7.72699H9.23191C9.23191 7.6261 9.25178 7.52621 9.29039 7.43301C9.32901 7.3398 9.3856 7.25511 9.45694 7.18378C9.52829 7.11244 9.61299 7.05586 9.70621 7.01725C9.79942 6.97865 9.89933 6.95878 10.0002 6.95878C10.1659 6.96387 10.3255 7.02207 10.4556 7.12479C10.5856 7.22751 10.6792 7.3693 10.7225 7.52925C10.7658 7.6892 10.7565 7.85883 10.6961 8.01311C10.6356 8.16739 10.5271 8.29816 10.3867 8.3861C9.97322 8.62846 9.63003 8.97429 9.39088 9.38955C9.15173 9.80482 9.02487 10.2752 9.02278 10.7544V11.3635H10.9777V10.7544C10.9825 10.6131 11.024 10.4755 11.0981 10.3552Z",
          fill: "currentColor",
        }),
      );
    }
  },
  lAoA: function (e, t, n) {
    e.exports = {
      v6: "shared_common_v6_2hYZE",
      SubText: "shared_common_SubText_3XSup",
      AvatarImageContainer: "shared_common_AvatarImageContainer_1PMhC",
      GameImageContainer: "shared_common_GameImageContainer_2rpoB",
      AvatarImage: "shared_common_AvatarImage_mBw8r",
      STV_HomeGridPreviewDetails:
        "shared_common_STV_HomeGridPreviewDetails_3q0Er",
      ChatAvatarImage: "shared_common_ChatAvatarImage_Y4ZFp",
      EditButton: "shared_common_EditButton_HqJFw",
      Small: "shared_common_Small_2l1o-",
      FlexCenter: "shared_common_FlexCenter_32wDN",
      ThrobberCtn: "shared_common_ThrobberCtn_VelmE",
      MarkdownLink: "shared_common_MarkdownLink_16GB_",
      SummaryTextArea: "shared_common_SummaryTextArea_1k45S",
      RemoveIcon: "shared_common_RemoveIcon_2_clB",
    };
  },
  lApO: function (e, t, n) {
    e.exports = {
      Emoticon_Toggle: "emoticonsuggestion_Emoticon_Toggle_2ipvk",
      Active: "emoticonsuggestion_Active_1_3I1",
      Emoticon: "emoticonsuggestion_Emoticon_ogyqP",
    };
  },
  lB1u: function (e, t, n) {
    e.exports = {
      strMediumWidth: "800px",
      strMaxMobileWidth: "600px",
      SaleSchedCtn: "salesectioneventschedule_SaleSchedCtn_1muE5",
      ScheduleSectionHeader:
        "salesectioneventschedule_ScheduleSectionHeader_1jK2H",
      SectionCtn: "salesectioneventschedule_SectionCtn_19K6F",
      SaleSchedListCtn: "salesectioneventschedule_SaleSchedListCtn_sMqIj",
      SaleSchedList: "salesectioneventschedule_SaleSchedList_lGAsw",
      NoEventsYet: "salesectioneventschedule_NoEventsYet_6wolD",
      SaleSchedRow: "salesectioneventschedule_SaleSchedRow_14OaN",
      NewsHubLink: "salesectioneventschedule_NewsHubLink_2kEXX",
      SaleSchedGridCtn: "salesectioneventschedule_SaleSchedGridCtn_14_pr",
      SchedSectionLabel: "salesectioneventschedule_SchedSectionLabel_3NVWF",
      SaleSchedDetailCtn: "salesectioneventschedule_SaleSchedDetailCtn_oor63",
      SaleTagAndOS: "salesectioneventschedule_SaleTagAndOS_2iFBq",
      StatementAndHighlights:
        "salesectioneventschedule_StatementAndHighlights_8qjgU",
      StatementCtn: "salesectioneventschedule_StatementCtn_1SUIl",
      PresenterEventStatementCtn:
        "salesectioneventschedule_PresenterEventStatementCtn_1PM-i",
      Statement: "salesectioneventschedule_Statement_9dwDG",
      SaleSchedRowProxy: "salesectioneventschedule_SaleSchedRowProxy_1JNu2",
      MiniMode: "salesectioneventschedule_MiniMode_2ASLg",
      AppTitle: "salesectioneventschedule_AppTitle_1QgaL",
      Icon: "salesectioneventschedule_Icon_1S1T9",
      Time: "salesectioneventschedule_Time_F7Yw5",
      LiveNow: "salesectioneventschedule_LiveNow_3exy5",
      DetailsCtn: "salesectioneventschedule_DetailsCtn_12Vjs",
      EventTitle: "salesectioneventschedule_EventTitle_cxnh3",
      SchedRowSelected: "salesectioneventschedule_SchedRowSelected_1QbJb",
      SaleAppWideCtn: "salesectioneventschedule_SaleAppWideCtn_bLyyo",
      ClanEvent: "salesectioneventschedule_ClanEvent_3ISqY",
      SaleAppCapsule: "salesectioneventschedule_SaleAppCapsule_1VgSd",
      WideHeader: "salesectioneventschedule_WideHeader_2mzOe",
      WideDetailCtn: "salesectioneventschedule_WideDetailCtn_hmN6O",
      ReleaseDate: "salesectioneventschedule_ReleaseDate_potzK",
      GameButtons: "salesectioneventschedule_GameButtons_aNkl9",
      GameButton: "salesectioneventschedule_GameButton_m35ZY",
      DemoButton: "salesectioneventschedule_DemoButton_2repq",
      WideActionCtn: "salesectioneventschedule_WideActionCtn_2eUfj",
      EventWideCtn: "salesectioneventschedule_EventWideCtn_3YpHN",
      Title: "salesectioneventschedule_Title_5KISh",
      EventWideDetailCtn: "salesectioneventschedule_EventWideDetailCtn_2OaDk",
      EventDetails: "salesectioneventschedule_EventDetails_1nYJ0",
      EventTime: "salesectioneventschedule_EventTime_2GxAx",
      EventOptionsCtn: "salesectioneventschedule_EventOptionsCtn_3ZTTx",
      EventDetailsBtn: "salesectioneventschedule_EventDetailsBtn_2cM9w",
      EventIcon: "salesectioneventschedule_EventIcon_2U7Nv",
      ClanEventCapsuleCtn: "salesectioneventschedule_ClanEventCapsuleCtn_1N5WS",
      ClanEventImage: "salesectioneventschedule_ClanEventImage_3W9d7",
      ClanEventDetailBackground:
        "salesectioneventschedule_ClanEventDetailBackground_2bsKX",
      SpeakerEventType: "salesectioneventschedule_SpeakerEventType_LTCWJ",
      SpeakerEventTitle: "salesectioneventschedule_SpeakerEventTitle_3GweY",
    };
  },
  lEFS: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTM3OEVDNTUyMUM0MTFFNDgxN0ZEN0MzNjYzNzcxOTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTM3OEVDNTYyMUM0MTFFNDgxN0ZEN0MzNjYzNzcxOTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMzc4RUM1MzIxQzQxMUU0ODE3RkQ3QzM2NjM3NzE5NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMzc4RUM1NDIxQzQxMUU0ODE3RkQ3QzM2NjM3NzE5NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps9jzFQAAACPSURBVHjaYvz//z+DkJDQdQYGhpsMCMAKxMZAHPXu3bt9cFGQYkFBwQ0gGoaBfAEgzgfibUDsBxNnYsAOfgKxJBBvAeIZMEEWZBVA52xA5gOdUAEUc8NQDBTkBEoGMOAByCYLAjUsRzM5AKtioMQzIEW0ydjcHIBTMSE3M0Ij5RKQfQ6HGiOgIXogBkCAAQDGVT+0v+n6EQAAAABJRU5ErkJggg==";
  },
  lFjC: function (e, t, n) {
    e.exports = { DateCtn: "promotioncreatedialog_DateCtn_13RGK" };
  },
  lXRI: function (e, t, n) {
    e.exports = {
      Container: "greatondeckgriddisplay_Container_lAhQG",
      FullRow: "greatondeckgriddisplay_FullRow_1TvWL",
      HalfRowContainer: "greatondeckgriddisplay_HalfRowContainer_132Mh",
      HalfRow: "greatondeckgriddisplay_HalfRow_2tSSi",
      LinkContainer: "greatondeckgriddisplay_LinkContainer_1QxzF",
      Link: "greatondeckgriddisplay_Link_WNV8p",
      CompatIconOverride: "greatondeckgriddisplay_CompatIconOverride_1GI5b",
    };
  },
  "m/d7": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return i;
    }),
      n.d(t, "b", function () {
        return s;
      });
    var a = n("q1tI"),
      r = n("Ty5D");
    function i(e, t) {
      var n;
      const i = `${e}_HistoryValue`,
        s = Object(r.h)(),
        o = Object(r.i)(),
        l = null !== (n = o.state && o.state[i]) && void 0 !== n ? n : t,
        c = a.useCallback(
          (e) => {
            s.replace(
              s.location.pathname,
              Object.assign(Object.assign({}, s.location.state), { [i]: e }),
            );
          },
          [s, i],
        );
      return [l, c];
    }
    function s(e, t, n) {
      var i;
      const s = `${e}_HistoryValue`,
        o = Object(r.h)(),
        l = Object(r.i)(),
        c = null !== (i = l.state && l.state[s]) && void 0 !== i ? i : n,
        d = a.useRef(!1),
        u = a.useRef(),
        m = a.useRef(),
        p = a.useCallback(
          (e) => {
            if (d.current && ((u.current = e), !m.current)) {
              const e = o.location.pathname;
              m.current = window.setTimeout(() => {
                o.location.pathname == e &&
                  o.location.state[s] != u.current &&
                  o.replace(
                    o.location.pathname,
                    Object.assign(Object.assign({}, o.location.state), {
                      [s]: u.current,
                    }),
                  ),
                  (m.current = void 0);
              }, t);
            }
          },
          [o, s, t],
        );
      return (
        a.useEffect(() => {
          d.current = !0;
        }, []),
        [c, p]
      );
    }
  },
  mADf: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      MainCarousel: "contenthubshared_MainCarousel_vpAQS",
      FeatureCtn: "contenthubshared_FeatureCtn_2OSHU",
      StoreSection: "contenthubshared_StoreSection_11oXN",
      SectionTitle: "contenthubshared_SectionTitle_1tHGa",
      SectionDescription: "contenthubshared_SectionDescription_2tLKH",
      SectionTitleCtn: "contenthubshared_SectionTitleCtn_1IGcJ",
      SpotlightsColumn: "contenthubshared_SpotlightsColumn_26HGQ",
      SpecialsItem: "contenthubshared_SpecialsItem_RJzRc",
      SpotlightCtn: "contenthubshared_SpotlightCtn_3oEys",
      SpotlightImageCtn: "contenthubshared_SpotlightImageCtn_23t7z",
      CapsuleDecorators: "contenthubshared_CapsuleDecorators_2w3tt",
      SpotlightTextCtn: "contenthubshared_SpotlightTextCtn_16_tS",
      SpotlightTitle: "contenthubshared_SpotlightTitle_1Qt13",
      SpotlightBody: "contenthubshared_SpotlightBody_24ttl",
      SpotlightWeeklongTextCtn:
        "contenthubshared_SpotlightWeeklongTextCtn_2DKWW",
      SpotlightItemCount: "contenthubshared_SpotlightItemCount_1alzu",
      DiscountBlock: "contenthubshared_DiscountBlock_28_a1",
      DiscountPercent: "contenthubshared_DiscountPercent_3NLgI",
      Prices: "contenthubshared_Prices_3F3zz",
      OriginalPrice: "contenthubshared_OriginalPrice_N4C2_",
      FinalPrice: "contenthubshared_FinalPrice_fctkc",
      BroadcastPage: "contenthubshared_BroadcastPage_2S-CE",
      BroadcastCtn: "contenthubshared_BroadcastCtn_6noJq",
      BroadcastImageCtn: "contenthubshared_BroadcastImageCtn_1WTAa",
      BroadcastVideoThumbnail: "contenthubshared_BroadcastVideoThumbnail_1oxWz",
      BroadcastPlayIcon: "contenthubshared_BroadcastPlayIcon_NHhhM",
      BroadcastTextCtn: "contenthubshared_BroadcastTextCtn_23kCa",
      BroadcastName: "contenthubshared_BroadcastName_3E8VJ",
      BroadcastDesc: "contenthubshared_BroadcastDesc_2QGow",
      DailyDealCtn: "contenthubshared_DailyDealCtn_1cIEx",
      DailyDealImageCtn: "contenthubshared_DailyDealImageCtn_1oKSh",
      DailyDealTextCtn: "contenthubshared_DailyDealTextCtn_2A0Nh",
      DailyDealDesc: "contenthubshared_DailyDealDesc_NKem5",
      DailyDealTimer: "contenthubshared_DailyDealTimer_1vuyW",
      ContentHubTakeoverCtn: "contenthubshared_ContentHubTakeoverCtn_3_C-j",
      TweaksMenu: "contenthubshared_TweaksMenu_1DTXi",
      MenuTitle: "contenthubshared_MenuTitle_2Ks83",
      MenuOptions: "contenthubshared_MenuOptions_1jYJZ",
    };
  },
  mBxP: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return w;
    });
    var a = n("mrSG"),
      r = n("aoTL"),
      i = n("q1tI"),
      s = n.n(i),
      o = (n("Q8oI"), n("1j+z")),
      l = n("nJCB"),
      c = n("yd9a"),
      d = n.n(c),
      u = n("9Pkb"),
      m = n.n(u),
      p = n("8uBp"),
      h = n("bznR"),
      _ = n("+d5k"),
      g = n("l1Mn"),
      b = n("dqrJ"),
      f = n("XL31"),
      v = n("D6PB"),
      S = n("3wCP"),
      y = n("CqJL"),
      E = n("aaBf");
    function C(e) {
      Object(_.d)(
        s.a.createElement(
          h.g,
          {
            strTitle: Object(y.f)("#Wishlist_Error"),
            strDescription: Object(y.f)("#Wishlist_Error_Desc"),
          },
          s.a.createElement("br", null),
          s.a.createElement("br", null),
          e,
        ),
        window,
      );
    }
    function w(e) {
      const [t, n] = s.a.useState(!1),
        [i, c] = s.a.useState(!l.a.Get().BIsLoaded()),
        u = Object(b.c)(),
        { appid: h, bIsFree: _, bIsComingSoon: w, className: B } = e,
        [O, D] = Object(r.d)(() => [
          l.a.Get().BIsGameWishlisted(h),
          l.a.Get().BOwnsApp(h),
        ]);
      s.a.useEffect(() => {
        (() => {
          Object(a.a)(this, void 0, void 0, function* () {
            yield l.a.Get().HintLoad(), c(!1);
          });
        })();
      }, []);
      return D || (!w && _)
        ? null
        : s.a.createElement(
            "div",
            {
              className: Object(S.a)(d.a.WishList, m.a.FlexRowContainer, B),
              onClick: () =>
                Object(a.a)(this, void 0, void 0, function* () {
                  if (E.j.logged_in) {
                    if (!t) {
                      n(!0);
                      const e = !O;
                      try {
                        const t = yield l.a
                          .Get()
                          .UpdateGameWishlist(h, e, Object(o.c)(u));
                        n(!1), 1 != t.success && C(Object(v.a)(t).strErrorMsg);
                      } catch (e) {
                        n(!1), C(Object(v.a)(e).strErrorMsg);
                      }
                    }
                  } else Object(p.a)();
                }),
              "data-tooltip-text": Object(y.f)("#AddToWishlist_ttip"),
            },
            s.a.createElement(
              "span",
              null,
              (i || t) && s.a.createElement(f.a, { size: "small" }),
            ),
            !t && O && s.a.createElement(g.m, null),
            s.a.createElement(
              "span",
              null,
              Object(y.f)(
                t
                  ? "#Updating"
                  : i
                    ? "#Loading"
                    : O
                      ? "#Wishlisted_short"
                      : "#AddToWishlist_short",
              ),
            ),
          );
    }
  },
  me2G: function (e, t, n) {
    e.exports = {
      GhostCtn: "saleghostsections_GhostCtn_30BKz",
      PlaceholderCap: "saleghostsections_PlaceholderCap_2bCKN",
      GhostShine: "saleghostsections_GhostShine_KVBt8",
      CapsuleRow3: "saleghostsections_CapsuleRow3_2Ogvi",
      CapsuleRow4: "saleghostsections_CapsuleRow4_Ls7fy",
      CapsuleRowSuperCapsule: "saleghostsections_CapsuleRowSuperCapsule_2RwR4",
      ItemBrowserCapsule: "saleghostsections_ItemBrowserCapsule_j2ANp",
      CapsuleRow23: "saleghostsections_CapsuleRow23_VzyzM",
      CapRow: "saleghostsections_CapRow_36LwN",
      Caps2: "saleghostsections_Caps2_1j5Nm",
      Caps3: "saleghostsections_Caps3_3MZB6",
      CapsuleRow234: "saleghostsections_CapsuleRow234_1C9D9",
      Caps4: "saleghostsections_Caps4_32IY_",
      SpotlightsRow: "saleghostsections_SpotlightsRow_3-gUr",
      DailyDealsColumn: "saleghostsections_DailyDealsColumn_1aMpA",
      MainCapRow: "saleghostsections_MainCapRow_mJInE",
      DetailsPlaceholder: "saleghostsections_DetailsPlaceholder_3K4g6",
      PlaceholderTitle: "saleghostsections_PlaceholderTitle_1gJpI",
      PlaceholderSubtitle: "saleghostsections_PlaceholderSubtitle_2r9BU",
      PlaceholderRelease: "saleghostsections_PlaceholderRelease_1J3ia",
      PlaceholderReviews: "saleghostsections_PlaceholderReviews_38pB5",
      PlaceholderTags: "saleghostsections_PlaceholderTags_2orL1",
      MainCapRowExpanded: "saleghostsections_MainCapRowExpanded_3MnuD",
    };
  },
  n2rv: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return m;
    });
    var a = n("mrSG"),
      r = (n("Mx8f"), n("vDqi")),
      i = n.n(r),
      s = n("LHo7"),
      o = n("Eu8H"),
      l = n("VQwQ"),
      c = n("+h+B"),
      d = (n("gM6l"), n("CH7/"), n("fvA7"));
    var u;
    !(function (e) {
      (e[(e.None = 0)] = "None"),
        (e[(e.Append = 1)] = "Append"),
        (e[(e.Remove = 2)] = "Remove");
    })(u || (u = {}));
    class m {
      constructor(e, t, n, a) {
        (this.m_callbacks = null),
          (this.m_mpd = null),
          (this.m_adaptation = null),
          (this.m_mediaSource = null),
          (this.m_sourceBuffer = null),
          (this.m_nTrackBufferMS = 0),
          (this.m_representation = null),
          (this.m_eBufferUpdate = u.None),
          (this.m_rgBufferedSegments = []),
          (this.m_bNeedInitSegment = !0),
          (this.m_nNextSegment = 0),
          (this.m_bRemoveBufferState = !1),
          (this.m_bSeekInProgress = !1),
          (this.m_tsLastBufferRemove = 0),
          (this.m_schNextDownload = new c.b()),
          (this.m_xhrDownload = null),
          (this.m_listeners = new c.c()),
          (this.m_rgDownloadLog = []),
          (this.m_nCurDownloadProgress = 0),
          (this.m_nCurDownloadBitrate = 0),
          (this.m_nNumConsecutiveDownloadGones = 0),
          (this.m_statsGameData = null),
          (this.m_callbacks = e),
          (this.m_mpd = t),
          (this.m_adaptation = n),
          (this.m_stats = a);
      }
      SetMediaSource(e) {
        this.m_mediaSource = e;
      }
      SetBufferMS(e) {
        this.m_nTrackBufferMS = e;
      }
      GetRepresentationsCount() {
        return this.m_adaptation.rgRepresentations.length;
      }
      GetRepresentationByID(e) {
        for (let t of this.m_adaptation.rgRepresentations)
          if (t.strID == e) return t;
        return null;
      }
      GetNumConsecutiveDownloadGones() {
        return this.m_nNumConsecutiveDownloadGones;
      }
      ContainsVideo() {
        return this.m_adaptation.bContainsVideo;
      }
      ContainsAudio() {
        return this.m_adaptation.bContainsAudio;
      }
      ContainsGame() {
        return this.m_adaptation.bContainsGame;
      }
      GetAdaptation() {
        return this.m_adaptation;
      }
      GetBandwidthRequired() {
        return this.m_representation.nBandwidth;
      }
      BIsCurrentRepresentation(e) {
        return e && e.strID == this.m_representation.strID;
      }
      GetSourceBufferTimeRanges() {
        return this.m_sourceBuffer.buffered;
      }
      GetEstimatedAudioRate() {
        return this.m_representation && this.ContainsAudio()
          ? this.m_representation.nBandwidth
          : 0;
      }
      GetDebugName() {
        let e = [];
        return (
          this.ContainsVideo()
            ? e.push("Video")
            : this.ContainsAudio()
              ? e.push("Audio")
              : this.ContainsGame() && e.push("Game"),
          e.join(" & ")
        );
      }
      GetMaxSegment() {
        if (this.m_mpd.IsLiveContent()) return Number.MAX_VALUE;
        {
          let e = this.m_mpd.GetEndTime();
          return Object(s.f)(this.m_adaptation, 1e3 * e) - 1;
        }
      }
      GetAmountBufferedInPlayerMS(e) {
        if (!this.m_sourceBuffer) return 0;
        let t = this.m_sourceBuffer.buffered;
        if (0 == t.length) return 0;
        e < t.start(0) && (e = t.start(0)), e > t.end(0) && (e = t.end(0));
        let n = t.end(0) - e;
        return Math.floor(1e3 * n);
      }
      GetAmountBufferedMS(e) {
        let t = this.GetAmountBufferedInPlayerMS(e);
        for (let e of this.m_rgBufferedSegments) t += e.nDurationMS;
        return t;
      }
      ChangeRepresentation(e) {
        if (this.m_adaptation.rgRepresentations.indexOf(e) < 0) return null;
        if (this.m_representation == e) return null;
        if (
          (this.ContainsVideo() &&
            Object(o.c)(
              `${this.GetDebugName()} changing representation to ${e.nHeight || 0}p at ${Math.ceil(e.nBandwidth / 1e3)}KB for segment ${this.m_nNextSegment}`,
            ),
          (this.m_representation = e),
          (this.m_bNeedInitSegment = !this.ContainsGame()),
          this.m_stats.SetRepresentation(e),
          this.ContainsGame())
        )
          return e;
        if (!this.m_sourceBuffer) {
          let t = e.strMimeType + ";codecs=" + e.strCodecs;
          (this.m_sourceBuffer = this.m_mediaSource.addSourceBuffer(t)),
            Object(o.c)(t),
            this.m_listeners.AddEventListener(
              this.m_sourceBuffer,
              "updateend",
              this.OnSourceBufferUpdateEnd,
            ),
            this.m_listeners.AddEventListener(
              this.m_sourceBuffer,
              "error",
              this.OnSourceBufferError,
            ),
            this.m_listeners.AddEventListener(
              this.m_sourceBuffer,
              "abort",
              this.OnSourceBufferAbort,
            );
        }
        return e;
      }
      Close() {
        this.m_listeners.Unregister(),
          (this.m_sourceBuffer = null),
          this.ForceStopDownloads(),
          (this.m_eBufferUpdate = u.None),
          (this.m_bRemoveBufferState = !1),
          (this.m_callbacks = null),
          (this.m_mpd = null),
          (this.m_adaptation = null),
          (this.m_mediaSource = null),
          (this.m_nTrackBufferMS = 0),
          (this.m_representation = null),
          (this.m_rgBufferedSegments = []),
          (this.m_bNeedInitSegment = !0),
          (this.m_nNextSegment = 0),
          (this.m_bSeekInProgress = !1),
          (this.m_tsLastBufferRemove = 0),
          (this.m_rgDownloadLog = []),
          (this.m_stats = null),
          (this.m_rgGameDataFrames = []),
          (this.m_statsGameData = null);
      }
      GetActiveDownloads() {
        return this.m_xhrDownload ? 1 : 0;
      }
      GetActiveDownloadProgress() {
        return this.GetActiveDownloads() ? this.m_nCurDownloadProgress : 0;
      }
      OnSourceBufferUpdateEnd(e) {
        let t = this.m_callbacks.GetCurrentPlayTime(),
          n = this.GetAmountBufferedInPlayerMS(t);
        Object(o.c)(
          `${this.GetDebugName()} OnSourceBufferUpdateEnd: [playback=${t}][buffered=${n}][start=${this.GetBufferedStart()}][end=${this.GetBufferedEnd()}]`,
        );
        let a = this.m_eBufferUpdate;
        (this.m_eBufferUpdate = u.None),
          a == u.Append && this.m_callbacks.OnSegmentDownloaded(this),
          this.m_bSeekInProgress &&
            a == u.Remove &&
            !this.m_bRemoveBufferState &&
            this.ContinueSeek(),
          this.UpdateBuffer();
      }
      OnSourceBufferError(e) {
        console.log("OnSourceBufferError");
      }
      OnSourceBufferAbort(e) {
        console.log("OnSourceBufferAbort");
      }
      ScheduleNextDownload() {
        if (this.m_bNeedInitSegment) return void this.DownloadNextSegment();
        if ((this.m_schNextDownload.Cancel(), this.m_xhrDownload))
          return void Object(o.c)(
            `${this.GetDebugName()} ScheduleNextDownload - download already going`,
          );
        if (this.m_bSeekInProgress)
          return void Object(o.c)(
            `${this.GetDebugName()} ScheduleNextDownload - seeking`,
          );
        if (this.m_nNextSegment > this.GetMaxSegment())
          return void Object(o.c)(
            `${this.GetDebugName()} ScheduleNextDownload - reached max segment`,
          );
        let e = this.m_callbacks.GetCurrentPlayTime(),
          t = this.m_callbacks.GetPlaybackRate(),
          n = Object(s.d)(this.m_mpd, this.m_adaptation, this.m_nNextSegment);
        if (n > 0)
          return (
            Object(o.c)(
              `${this.GetDebugName()} ScheduleNextDownload - segment in future`,
            ),
            void this.m_schNextDownload.Schedule(n, this.ScheduleNextDownload)
          );
        let a = this.GetAmountBufferedMS(e);
        if ((t > 1 && (a /= t), a < 4e4))
          return (
            Object(o.c)(
              `${this.GetDebugName()} ScheduleNextDownload - download now`,
            ),
            void this.DownloadNextSegment()
          );
        let r = 1.1 * Object(s.e)(this.m_adaptation),
          i = this.GetAmountBufferedInPlayerMS(
            this.m_callbacks.GetCurrentPlayTime(),
          );
        Object(o.c)(
          `${this.GetDebugName()} ScheduleNextDownload - buffered, schedule later [sleep=${r}ms][buffer=${i}]`,
        ),
          this.m_schNextDownload.Schedule(r, this.ScheduleNextDownload);
      }
      DownloadNextSegment() {
        this.m_schNextDownload.Cancel();
        let e = "",
          t = 0;
        if (this.m_bNeedInitSegment)
          (this.m_bNeedInitSegment = !1),
            (e = Object(s.c)(
              this.m_mpd.GetBaseURL(),
              this.m_adaptation,
              this.m_representation,
            )),
            (t = 0);
        else {
          if (this.m_nNextSegment < 0)
            return void console.error(
              "Attempting to download negative segment:",
              this.m_nNextSegment,
            );
          (e = Object(s.g)(
            this.m_mpd.GetBaseURL(),
            this.m_adaptation,
            this.m_representation,
            this.m_nNextSegment,
          )),
            (t = Object(s.e)(this.m_adaptation)),
            this.m_nNextSegment++;
        }
        this.DownloadSegment(this.m_representation.strID, e, t);
      }
      DownloadSegment(e, t, n, r = performance.now()) {
        return Object(a.a)(this, void 0, void 0, function* () {
          Object(d.a)(
            null === this.m_xhrDownload,
            "Trying to download another segment while a download is already in flight",
          ),
            this.m_schNextDownload.Cancel();
          const a = this.m_callbacks.GetCDNAuthURLParameter();
          a && (t += a), Object(o.c)("Downloading: " + t);
          let s = null,
            l = performance.now(),
            c = i.a.CancelToken.source();
          try {
            (this.m_nCurDownloadProgress = 0), (this.m_xhrDownload = c);
            let e = {
              cancelToken: this.m_xhrDownload.token,
              timeout: 15e3,
              responseType: "arraybuffer",
              onDownloadProgress: (e) => {
                (this.m_nCurDownloadProgress = e.loaded / e.total),
                  (this.m_nCurDownloadBitrate =
                    (8 * e.loaded * 1e3) / Math.max(1, performance.now() - l));
              },
            };
            this.ContainsGame() && (e.responseType = "json"),
              (s = yield i.a.get(t, e));
          } catch (e) {
            Object(o.c)("Failed to download segment: " + e), (s = e.response);
          }
          if (!this.m_xhrDownload || this.m_xhrDownload != c) return;
          let u = performance.now(),
            m = Math.floor(performance.now() - l),
            p = s ? s.status : 0;
          if (((this.m_xhrDownload = null), this.m_bSeekInProgress))
            this.ContinueSeek();
          else {
            if (!s || 200 != s.status)
              return this.ContainsGame()
                ? void this.ScheduleNextDownload()
                : (this.m_stats.LogSegmentDownloadFailure(
                    m,
                    s ? s.status : 444,
                  ),
                  u - r > 9e3
                    ? (Object(o.c)(
                        `${this.GetDebugName()} HTTP download failed.. stopping loader: ${u - r}ms`,
                      ),
                      void this.DownloadFailed())
                    : 410 == p
                      ? ((this.m_nNumConsecutiveDownloadGones += 1),
                        Object(o.c)(
                          `${this.GetDebugName()} HTTP download gone.. informing the player: ${u - r}ms`,
                        ),
                        void this.DownloadGone())
                      : void this.m_schNextDownload.Schedule(500, () =>
                          this.DownloadSegment(e, t, n, r),
                        ));
            if (
              ((this.m_nNumConsecutiveDownloadGones = 0), this.ContainsGame())
            ) {
              let e = s.data;
              this.m_rgGameDataFrames || (this.m_rgGameDataFrames = []);
              let t = Number.MIN_VALUE,
                n = Number.MIN_VALUE;
              this.m_rgGameDataFrames.length > 0 &&
                ((t =
                  this.m_rgGameDataFrames[this.m_rgGameDataFrames.length - 1]
                    .pts),
                (n =
                  this.m_rgGameDataFrames[this.m_rgGameDataFrames.length - 1]
                    .gdi));
              const a = e.frame;
              a &&
                (a.pts && a.gamedata && a.gdi
                  ? a.pts <= t
                    ? Object(o.c)("Invalid game pts")
                    : a.gdi != n && this.m_rgGameDataFrames.push(a)
                  : Object(o.c)("Invalid game data")),
                this.TrimGameDataIfNecessary(),
                (this.m_statsGameData = {
                  nAppID: e.appid,
                  ulBroadcastRelayID: e.broadcastrelayid,
                  nSegmentID: e.segmentid,
                });
            } else {
              let a = new Uint8Array(s.data);
              this.m_rgBufferedSegments.push({
                nDurationMS: n,
                data: a,
                representationStrID: e,
              }),
                this.LogDownload(l, a.length),
                this.UpdateBuffer();
              {
                let e = a.length / 1e3;
                Object(o.c)(`HTTP ${p} (${m}ms, ${Math.floor(e)}k): ${t}`);
              }
            }
            this.ScheduleNextDownload();
          }
        });
      }
      DownloadFailed() {
        this.m_callbacks.OnSegmentDownloadFailed(this);
      }
      DownloadGone() {
        this.m_callbacks.OnSegmentDownloadGone(this);
      }
      TrimGameDataIfNecessary() {}
      UpdateBuffer() {
        if (this.m_eBufferUpdate != u.None) return;
        if (this.m_bRemoveBufferState) return void this.RemoveAllBuffers();
        if (!this.m_sourceBuffer) return void Object(o.c)("No source buffer?");
        if (this.m_rgBufferedSegments.length > 0) {
          try {
            this.m_eBufferUpdate = u.Append;
            let e = this.m_rgBufferedSegments[0];
            this.m_sourceBuffer.appendBuffer(e.data),
              this.m_rgBufferedSegments.splice(0, 1);
          } catch (e) {
            "QuotaExceededError" === e.name
              ? ((this.m_eBufferUpdate = u.None),
                Object(o.c)(
                  `${this.GetDebugName()} Buffer - QuotaExceededError`,
                ))
              : Object(o.c)(`${this.GetDebugName()} Buffer - Exception`, e);
          }
          return;
        }
        let e = performance.now();
        if (!this.m_bSeekInProgress && e - this.m_tsLastBufferRemove > 1e4) {
          let t = this.GetBufferedStart(),
            n = this.m_callbacks.GetCurrentPlayTime() - 40;
          if (t < n) {
            let a = Math.min(this.GetBufferedEnd(), n);
            return void (
              a != t &&
              ((this.m_eBufferUpdate = u.Remove),
              this.m_sourceBuffer.remove(t, a),
              (this.m_tsLastBufferRemove = e))
            );
          }
        }
      }
      RemoveAllBuffers() {
        this.m_rgBufferedSegments = [];
        let e = 0;
        if (this.m_sourceBuffer) {
          let t = this.m_sourceBuffer.buffered;
          for (let n = 0; n < t.length; n++) e < t.end(n) && (e = t.end(n));
        }
        (this.m_bRemoveBufferState = !1),
          (this.m_eBufferUpdate = u.Remove),
          0 != e
            ? this.m_sourceBuffer.remove(0, e + 1)
            : this.OnSourceBufferUpdateEnd(null);
      }
      GetBufferedStart() {
        return this.m_sourceBuffer &&
          this.m_sourceBuffer.buffered &&
          0 != this.m_sourceBuffer.buffered.length
          ? this.m_sourceBuffer.buffered.start(0)
          : 0;
      }
      GetBufferedEnd() {
        return this.m_sourceBuffer &&
          this.m_sourceBuffer.buffered &&
          0 != this.m_sourceBuffer.buffered.length
          ? this.m_sourceBuffer.buffered.end(0)
          : 0;
      }
      ForceStopDownloads() {
        this.m_schNextDownload.Cancel(),
          this.m_xhrDownload &&
            (this.m_xhrDownload.cancel(), (this.m_xhrDownload = null));
      }
      ForceRestartDownload() {
        this.ForceStopDownloads(), this.ScheduleNextDownload();
      }
      Seek(e) {
        let t = this.GetBufferedStart(),
          n = this.GetBufferedEnd(),
          a = e < t || e > n;
        if (
          (0 == t && 0 == n && (a = !0),
          Object(o.c)(
            `${this.GetDebugName()} making an ${a ? "unbuffered" : "buffered"} seek to ${e}`,
          ),
          !this.m_bSeekInProgress && !a && !this.m_bNeedInitSegment)
        )
          return void this.ScheduleNextDownload();
        (this.m_bSeekInProgress = !0), this.ForceStopDownloads();
        let r = Object(s.f)(this.m_adaptation, 1e3 * e);
        if (
          ((this.m_nNextSegment = Math.min(r, this.GetMaxSegment())),
          Object(o.c)(
            "Seek To Next Segment: " +
              this.m_nNextSegment +
              " at approx. " +
              Object(o.d)(
                ((this.m_nNextSegment - 1) * Object(s.e)(this.m_adaptation)) /
                  1e3,
              ) +
              " seconds.",
          ),
          this.ContainsGame())
        )
          return (
            (this.m_bSeekInProgress = !1),
            (this.m_rgGameDataFrames = []),
            void this.ScheduleNextDownload()
          );
        (this.m_bRemoveBufferState = !0), this.UpdateBuffer();
      }
      ContinueSeek() {
        this.m_bSeekInProgress &&
          (this.m_eBufferUpdate == u.Remove ||
            this.m_bRemoveBufferState ||
            ((this.m_bSeekInProgress = !1), this.ScheduleNextDownload()));
      }
      BHasEnoughBuffered(e) {
        return (
          !this.m_bSeekInProgress &&
          (!!this.ContainsGame() ||
            this.GetAmountBufferedInPlayerMS(e) >= this.m_nTrackBufferMS ||
            this.m_nNextSegment >= this.GetMaxSegment())
        );
      }
      LogDownload(e, t) {
        this.m_rgDownloadLog.length >= 4 && this.m_rgDownloadLog.shift();
        let n = performance.now() - e;
        n <= 0 ||
          (this.m_rgDownloadLog.push({ cubData: t, nDownloadMS: n }),
          this.m_stats.LogDownload(t, n));
      }
      GetDownloadHistory() {
        return this.m_rgDownloadLog;
      }
      GetAvgDownloadRate() {
        let e = 0,
          t = 0;
        for (let n of this.m_rgDownloadLog)
          (e += n.nDownloadMS), (t += n.cubData);
        return e <= 0
          ? this.m_nCurDownloadBitrate && this.GetActiveDownloads() > 0
            ? this.m_nCurDownloadBitrate
            : 0
          : (8 * t * 1e3) / e;
      }
      GetGameDataFrames() {
        return this.m_rgGameDataFrames;
      }
      GetLatestGameDataFrameAppID() {
        return this.m_statsGameData && this.m_statsGameData.nAppID
          ? this.m_statsGameData.nAppID
          : 0;
      }
    }
    Object(a.b)([l.a], m.prototype, "OnSourceBufferUpdateEnd", null),
      Object(a.b)([l.a], m.prototype, "OnSourceBufferError", null),
      Object(a.b)([l.a], m.prototype, "OnSourceBufferAbort", null),
      Object(a.b)([l.a], m.prototype, "ScheduleNextDownload", null),
      Object(a.b)([l.a], m.prototype, "DownloadNextSegment", null),
      Object(a.b)([l.a], m.prototype, "DownloadFailed", null),
      Object(a.b)([l.a], m.prototype, "DownloadGone", null);
  },
  nCSS: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return l;
      });
    var a,
      r = n("qz+l"),
      i = n("CqJL"),
      s = n("aaBf");
    !(function (e) {
      (e.Default = "default"),
        (e.Upcoming = "upcoming"),
        (e.Featured = "featured"),
        (e.Press = "press"),
        (e.Steam = "steam"),
        (e.Halloween = "halloween"),
        (e.Dev_All = "all"),
        (e.Dev_AssociatedPress = "associated_press"),
        (e.Dev_Sales = "associated_sales");
    })(a || (a = {}));
    const o = new Map();
    function l(e) {
      return (
        0 == o.size &&
          (function () {
            const e = Object(r.f)();
            o.set(a.Default, {
              id: a.Default,
              strUrl: `${e}/`,
              strName: Object(i.f)("#EventCalendar_NewsChannel_YourNews"),
              strSubtitle: Object(i.f)(
                "#EventCalendar_NewsChannel_Personalized",
              ),
              strHeaderTitle: Object(i.f)(
                "#EventCalendar_NewsChannel_YourNews_HeaderTitle",
              ),
            }),
              o.set(a.Upcoming, {
                id: a.Upcoming,
                strUrl: `${e}/?upcoming=1`,
                strName: Object(i.f)("#EventCalendar_NewsChannel_Upcoming"),
                strShortName: Object(i.f)(
                  "#EventCalendar_NewsChannel_UpcomingShort",
                ),
                strSubtitle: Object(i.f)(
                  "#EventCalendar_NewsChannel_Personalized",
                ),
              }),
              o.set(a.Featured, {
                id: a.Featured,
                strUrl: `${e}/collection/featured/`,
                strName: Object(i.f)("#EventCalendar_NewsChannel_Featured"),
                strSubtitle: Object(i.f)(
                  "#EventCalendar_NewsChannel_TopSellers",
                ),
                strHeaderTitle: Object(i.f)(
                  "#EventCalendar_NewsChannel_Featured_HeaderTitle",
                ),
              }),
              o.set(a.Press, {
                id: a.Press,
                strUrl: `${e}/collection/press/`,
                strName: Object(i.f)("#EventCalendar_NewsChannel_Press"),
                strHeaderTitle: Object(i.f)(
                  "#EventCalendar_Collection_News_Title",
                ),
                strHeaderSubtitle: Object(i.f)(
                  "#EventCalendar_Collection_News_Subtitle",
                ),
              }),
              o.set(a.Steam, {
                id: a.Steam,
                strUrl: `${e}/collection/steam/`,
                strName: Object(i.f)("#EventCalendar_NewsChannel_Steam"),
                strSubtitle: Object(i.f)(
                  "#EventCalendar_NewsChannel_SteamSubtitle",
                ),
                strHeaderTitle: Object(i.f)(
                  "#EventCalendar_NewsChannel_Steam_HeaderTitle",
                ),
              }),
              o.set(a.Halloween, {
                id: a.Halloween,
                strUrl: `${e}/collection/halloween/`,
                strName: Object(i.f)("#EventCalendar_NewsChannel_Halloween"),
                strSubtitle: Object(i.f)(
                  "#EventCalendar_NewsChannel_HalloweenSubtitle",
                ),
                strHeaderTitle: Object(i.f)(
                  "#EventCalendar_Collection_Halloween_Title",
                ),
                strHeaderSubtitle: Object(i.f)(
                  "#EventCalendar_Collection_Halloween_Subtitle",
                ),
              }),
              s.j.is_support &&
                (o.set(a.Dev_All, {
                  id: a.Dev_All,
                  strUrl: `${e}/collection/all/`,
                  strName: Object(i.f)("#EventCalendar_NewsChannel_All"),
                  bIsValveOnly: !0,
                }),
                o.set(a.Dev_Sales, {
                  id: a.Dev_Sales,
                  strUrl: `${e}/collection/sales/`,
                  strName: Object(i.f)("#EventCalendar_NewsChannel_AllSales"),
                  bIsValveOnly: !0,
                }),
                o.set(a.Dev_AssociatedPress, {
                  id: a.Dev_AssociatedPress,
                  strUrl: `${e}/collection/associated_press/`,
                  strName: Object(i.f)(
                    "#EventCalendar_NewsChannel_AssociatedPress",
                  ),
                  bIsValveOnly: !0,
                }));
          })(),
        o.get(e)
      );
    }
  },
  nFMd: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      DiscoveryQueueCarouselCtn:
        "discoveryqueuewizard_DiscoveryQueueCarouselCtn_17QGf",
      TextLink: "discoveryqueuewizard_TextLink_14AFZ",
      DiscoveryQueueCarousel:
        "discoveryqueuewizard_DiscoveryQueueCarousel_2GDeP",
      DiscoveryQueueApp: "discoveryqueuewizard_DiscoveryQueueApp_2TzUy",
      Focused: "discoveryqueuewizard_Focused_3n5Zi",
      DiscoveryQueueWrapper: "discoveryqueuewizard_DiscoveryQueueWrapper_3j0ID",
      revealDiscoveryQueueWrapper:
        "discoveryqueuewizard_revealDiscoveryQueueWrapper_39qqA",
      AppVideoCtn: "discoveryqueuewizard_AppVideoCtn_benca",
      WishlistBadge: "discoveryqueuewizard_WishlistBadge_7q6iu",
      Active: "discoveryqueuewizard_Active_m1UQj",
      AppVideo: "discoveryqueuewizard_AppVideo_1H-LQ",
      AppMainCap: "discoveryqueuewizard_AppMainCap_3Zxg1",
      AppDetailsCtn: "discoveryqueuewizard_AppDetailsCtn_1PpPM",
      AppDetailsCtnTop: "discoveryqueuewizard_AppDetailsCtnTop_2Av8o",
      AppDetailsHeader: "discoveryqueuewizard_AppDetailsHeader_2Lk4O",
      AppLibraryHero: "discoveryqueuewizard_AppLibraryHero_2shw1",
      RightColumn: "discoveryqueuewizard_RightColumn_2ZQMR",
      AppName: "discoveryqueuewizard_AppName_2m2WO",
      AppTagsCtn: "discoveryqueuewizard_AppTagsCtn_1eT39",
      TagEntry: "discoveryqueuewizard_TagEntry_1wvOa",
      AppReviews: "discoveryqueuewizard_AppReviews_3Y-85",
      RelevantCtn: "discoveryqueuewizard_RelevantCtn_e6bCR",
      RelevantColumn: "discoveryqueuewizard_RelevantColumn_1Lg0R",
      RelevantItem: "discoveryqueuewizard_RelevantItem_3_jGk",
      RelevantCheck: "discoveryqueuewizard_RelevantCheck_RuoEP",
      IgnoreLink: "discoveryqueuewizard_IgnoreLink_2fThe",
      AppActionButtonsCtn: "discoveryqueuewizard_AppActionButtonsCtn_3EeQV",
      AppActionJustButtonsCtn:
        "discoveryqueuewizard_AppActionJustButtonsCtn_2BG_t",
      QueueButton: "discoveryqueuewizard_QueueButton_2tLc9",
      MainCapBlur: "discoveryqueuewizard_MainCapBlur_34geg",
      DiscoveryQueuePlaceholder:
        "discoveryqueuewizard_DiscoveryQueuePlaceholder_1u27K",
      IgnoredCtn: "discoveryqueuewizard_IgnoredCtn_EfzwZ",
      IgnoredInfo: "discoveryqueuewizard_IgnoredInfo_322X-",
      IgnoredTitle: "discoveryqueuewizard_IgnoredTitle_2z_b0",
      IgnoredDescription: "discoveryqueuewizard_IgnoredDescription_2900R",
      UndoIgnoreButton: "discoveryqueuewizard_UndoIgnoreButton_17g2T",
      AppDesc: "discoveryqueuewizard_AppDesc_1CFjV",
      YGlyph: "discoveryqueuewizard_YGlyph_MKmAg",
      SummaryContentCtn: "discoveryqueuewizard_SummaryContentCtn_3jjDf",
      SummaryTitle: "discoveryqueuewizard_SummaryTitle_3ie5C",
      YourStats: "discoveryqueuewizard_YourStats_2JwAg",
      SummaryGrid: "discoveryqueuewizard_SummaryGrid_2AtLb",
      GridItem: "discoveryqueuewizard_GridItem_B3aMR",
      GridTitle: "discoveryqueuewizard_GridTitle_jlYiy",
      GridNumber: "discoveryqueuewizard_GridNumber_2wKLJ",
      GridSubTitle: "discoveryqueuewizard_GridSubTitle_196aX",
      SummaryActionButtonsCtn:
        "discoveryqueuewizard_SummaryActionButtonsCtn_jAc9l",
      TopBarCtn: "discoveryqueuewizard_TopBarCtn_3nALZ",
      revealTopBarCtn: "discoveryqueuewizard_revealTopBarCtn_2fo0w",
      LearnMoreLink: "discoveryqueuewizard_LearnMoreLink_3TrpB",
      ControlsCtn: "discoveryqueuewizard_ControlsCtn_pGXB8",
      Disabled: "discoveryqueuewizard_Disabled_2r82X",
      Primary: "discoveryqueuewizard_Primary_2uYEU",
      Wide: "discoveryqueuewizard_Wide_1NVlf",
      QueueNavArrow: "discoveryqueuewizard_QueueNavArrow_14jPd",
      Enable: "discoveryqueuewizard_Enable_2h8mD",
      RightArrow: "discoveryqueuewizard_RightArrow_WyqMY",
      LeftArrow: "discoveryqueuewizard_LeftArrow_3lrSP",
      ReleventSimilarAppsCtn:
        "discoveryqueuewizard_ReleventSimilarAppsCtn_1U2BE",
      WhyRelevant: "discoveryqueuewizard_WhyRelevant_29gh6",
      SimilarAppCtn: "discoveryqueuewizard_SimilarAppCtn_Tsx_w",
      SimilarAppImg: "discoveryqueuewizard_SimilarAppImg_2oDnq",
      SimilarAppText: "discoveryqueuewizard_SimilarAppText_3q4A-",
      FriendAvatarsCtn: "discoveryqueuewizard_FriendAvatarsCtn_3u3Ff",
      RelevantTextBold: "discoveryqueuewizard_RelevantTextBold_1aHTx",
      AppDescription: "discoveryqueuewizard_AppDescription_ugMfI",
      TradingCardCtn: "discoveryqueuewizard_TradingCardCtn_3RVkE",
      TradingCardImage: "discoveryqueuewizard_TradingCardImage_2A40F",
      Bold: "discoveryqueuewizard_Bold_1g7AL",
      FriendBlockCtn: "discoveryqueuewizard_FriendBlockCtn_3yI4k",
      PersonaStatus: "discoveryqueuewizard_PersonaStatus_2_v__",
    };
  },
  nHhU: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    });
    var a = n("q1tI"),
      r = n("uaeK"),
      i = n("BDyy"),
      s =
        (n("hc+a"),
        n("REtK"),
        n("OsUa"),
        n("1pnr"),
        n("OJUs"),
        n("CqJL"),
        n("4uD3"),
        n("aaBf")),
      o = n("9Pkb");
    function l(e) {
      const { children: t } = e;
      return s.c.IN_GAMEPADUI && !s.c.IN_LIBRARY
        ? a.createElement(
            i.a,
            { className: o.GamepadOnlyScrollPanel },
            a.createElement(
              r.a,
              { focusable: !0, noFocusRing: !0, className: o.GamepadOnlyPanel },
              t,
            ),
          )
        : a.createElement(a.Fragment, null, t);
    }
  },
  nJCB: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return u;
    }),
      n.d(t, "a", function () {
        return m;
      });
    var a = n("mrSG"),
      r = n("vDqi"),
      i = n.n(r),
      s = n("2vnA"),
      o = (n("AQa9"), n("Q8oI"), n("hc+a"), n("/loZ"), n("D6PB")),
      l = n("aaBf"),
      c = n("q1tI");
    n("aoTL");
    const d = "unUserdataVersion";
    function u() {
      const [e, t] = Object(c.useState)(!m.Get().BIsLoaded());
      return (
        Object(c.useEffect)(() => {
          m.Get().BIsLoaded() ||
            m
              .Get()
              .HintLoad()
              .finally(() => t(!m.Get().BIsLoaded()));
        }, []),
        [e, m.Get()]
      );
    }
    class m {
      constructor() {
        (this.m_setWishList = new Set()),
          (this.m_wishlistInOrder = Array()),
          (this.m_setOwnedPackages = new Set()),
          (this.m_setOwnedApps = new Set()),
          (this.m_setFollowedApps = new Set()),
          (this.m_setExcludedTagsIds = new Set()),
          (this.m_setExcludedContentDescriptors = new Set()),
          (this.m_setRecommendedApps = new Set()),
          (this.m_recAppInOrder = new Array()),
          (this.m_mapIgnoredApps = new Map()),
          (this.m_mapIgnoredPackages = new Map()),
          (this.m_setCuratorsFollowed = new Set()),
          (this.m_setCuratorsIgnored = new Set()),
          (this.m_bShowFilteredUserReviewScores = !0),
          (this.m_setPreferredPlatforms = new Set()),
          (this.m_bAllowAppImpressions = !1),
          (this.m_primaryLanguage = -1),
          (this.m_secondaryLanguages = new Set()),
          (this.m_setRecommendedTags = new Set()),
          (this.m_mapRecommendingCuratorsForApp = new Map()),
          (this.m_setPackagesInCart = new Set()),
          (this.m_setAppsInCart = new Set()),
          (this.m_nCartLineItemCount = 0),
          (this.m_bIsLoaded = !1),
          (this.m_bAjaxInFlight = !1);
      }
      BIsLoaded() {
        return this.m_bIsLoaded;
      }
      GetWishlistGamesInUserOrder() {
        return this.m_wishlistInOrder;
      }
      GetWishlistGameCount() {
        return this.m_setWishList.size;
      }
      GetRecommendedGamesInIRPriorityOrder() {
        return this.m_recAppInOrder;
      }
      GetFollowedCuratorCount() {
        return this.m_setCuratorsFollowed.size;
      }
      GetFollowedCuratorsAccountID() {
        return Array.from(this.m_setCuratorsFollowed);
      }
      GetPackagesInCartCount() {
        return this.m_setPackagesInCart.size;
      }
      GetAppInCartCount() {
        return this.m_setAppsInCart.size;
      }
      GetCartLineItemCount() {
        return this.m_nCartLineItemCount;
      }
      GetIgnoredAppsCount() {
        return this.m_mapIgnoredApps.size;
      }
      BIsFollowingCurator(e) {
        const t =
          "object" == typeof e && "GetAccountID" in e ? e.GetAccountID() : e;
        return this.m_setCuratorsFollowed.has(t);
      }
      BIsFollowingCreator(e) {
        return this.BIsFollowingCurator(e);
      }
      BIsIgnoringCurator(e) {
        const t =
          "object" == typeof e && "GetAccountID" in e ? e.GetAccountID() : e;
        return this.m_setCuratorsIgnored.has(t);
      }
      GetExcludedContentDescriptor() {
        return Array.from(this.m_setExcludedContentDescriptors);
      }
      BExcludesTag(e) {
        return e.some((e) => this.m_setExcludedTagsIds.has(Number(e.tagid)));
      }
      BExcludeTagIDs(e) {
        return e.some((e) => this.m_setExcludedTagsIds.has(e));
      }
      GetExcludedTagsSortedByID() {
        return Array.from(this.m_setExcludedTagsIds).sort();
      }
      BExcludesContentDescriptor(e) {
        return e.some((e) => this.m_setExcludedContentDescriptors.has(e));
      }
      BIncludesContentDescriptor(e) {
        return !this.m_setExcludedContentDescriptors.has(e);
      }
      BIsGameWishlisted(e) {
        return this.m_setWishList.has(Number(e));
      }
      BIsGameRecommended(e) {
        return this.m_setRecommendedApps.has(Number(e));
      }
      BIsGameIgnored(e) {
        return this.m_mapIgnoredApps && this.m_mapIgnoredApps.has(e);
      }
      BIsPackageIgnored(e) {
        var t;
        return null === (t = this.m_mapIgnoredPackages) || void 0 === t
          ? void 0
          : t.has(e);
      }
      BIsGameOwned(e) {
        return this.m_setOwnedApps.has(Number(e));
      }
      BOwnsApp(e) {
        return this.m_setOwnedApps.has(Number(e));
      }
      BFollowsApp(e) {
        return this.m_setFollowedApps.has(Number(e));
      }
      BOwnsPackage(e) {
        return this.m_setOwnedPackages.has(Number(e));
      }
      BShowFilteredUserReviewScores() {
        return this.m_bShowFilteredUserReviewScores;
      }
      BAppImpressionsAllowed() {
        return this.m_bAllowAppImpressions;
      }
      GetPrimaryLanguage() {
        return this.m_primaryLanguage;
      }
      GetSecondaryLanguages() {
        return this.m_secondaryLanguages;
      }
      BIsAnyLanguageEnabled(e) {
        return (
          null == this.m_primaryLanguage ||
          this.m_primaryLanguage <= -1 || 30 <= this.m_primaryLanguage ||
          e.some(
            (e) =>
              this.m_primaryLanguage === e || this.m_secondaryLanguages.has(e),
          )
        );
      }
      GetRecommendedTags() {
        return this.m_setRecommendedTags;
      }
      BIsAjaxInFlight() {
        return this.m_bAjaxInFlight;
      }
      BIsAppRecommendedBySomeCurator(e) {
        return this.m_mapRecommendingCuratorsForApp.has(e);
      }
      GetRecommendingCuratorsForApp(e) {
        return this.m_mapRecommendingCuratorsForApp.get(e);
      }
      HintLoad() {
        return Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.m_promise || (this.m_promise = this.InternalLoad()),
            this.m_promise
          );
        });
      }
      InternalLoad() {
        return Object(a.a)(this, void 0, void 0, function* () {
          let e = window.localStorage.getItem(d) || "0",
            t = {
              v: "0" == e ? void 0 : e,
              id: "" + l.j.accountid,
              cc: "" + l.c.COUNTRY,
              origin: self.origin,
            },
            n = l.c.STORE_BASE_URL + "dynamicstore/userdata/";
          try {
            let e = yield i.a.get(n, { params: t, withCredentials: !0 });
            e &&
              200 == e.status &&
              Object(s.G)(() => {
                if (((this.m_bIsLoaded = !0), e.data.rgCurators)) {
                  this.m_setCuratorsFollowed = new Set();
                  for (const t in e.data.rgCurators)
                    this.m_setCuratorsFollowed.add(Number(t));
                }
                if (
                  (e.data.rgCuratorsIgnored &&
                    (this.m_setCuratorsIgnored = new Set(
                      e.data.rgCuratorsIgnored.map((e) => Number(e)),
                    )),
                  e.data.rgWishlist &&
                    ((this.m_wishlistInOrder = e.data.rgWishlist.map((e) =>
                      Number(e),
                    )),
                    (this.m_setWishList = new Set(
                      e.data.rgWishlist.map((e) => Number(e)),
                    ))),
                  e.data.rgFollowedApps &&
                    (this.m_setFollowedApps = new Set(
                      e.data.rgFollowedApps.map((e) => Number(e)),
                    )),
                  e.data.rgOwnedApps &&
                    (this.m_setOwnedApps = new Set(
                      e.data.rgOwnedApps.map((e) => Number(e)),
                    )),
                  e.data.rgOwnedPackages &&
                    (this.m_setOwnedPackages = new Set(
                      e.data.rgOwnedPackages.map((e) => Number(e)),
                    )),
                  e.data.rgIgnoredApps)
                ) {
                  const t = e.data.rgIgnoredApps;
                  this.m_mapIgnoredApps = new Map();
                  for (const e in t)
                    this.m_mapIgnoredApps.set(Number(e), Number(t[e]));
                }
                if (e.data.rgIgnoredPackages) {
                  const t = e.data.rgIgnoredPackages;
                  this.m_mapIgnoredPackages = new Map();
                  for (const e in t)
                    this.m_mapIgnoredPackages.set(Number(e), Number(t[e]));
                }
                if (
                  (e.data.rgExcludedTags &&
                    (this.m_setExcludedTagsIds = new Set(
                      e.data.rgExcludedTags.map((e) => Number(e.tagid)),
                    )),
                  e.data.rgExcludedContentDescriptorIDs &&
                    (this.m_setExcludedContentDescriptors = new Set(
                      e.data.rgExcludedContentDescriptorIDs.map((e) =>
                        Number(e),
                      ),
                    )),
                  e.data.rgRecommendedApps &&
                    ((this.m_recAppInOrder = e.data.rgRecommendedApps.map((e) =>
                      Number(e),
                    )),
                    (this.m_setRecommendedApps = new Set(
                      e.data.rgRecommendedApps.map((e) => Number(e)),
                    ))),
                  e.data.rgPreferredPlatforms &&
                    (this.m_setPreferredPlatforms = new Set(
                      e.data.rgPreferredPlatforms,
                    )),
                  e.data.bAllowAppImpressions &&
                    (this.m_bAllowAppImpressions = e.data.bAllowAppImpressions),
                  (this.m_bShowFilteredUserReviewScores =
                    !!e.data.bShowFilteredUserReviewScores),
                  void 0 !== e.data.rgPrimaryLanguage &&
                    (this.m_primaryLanguage = e.data.rgPrimaryLanguage),
                  e.data.rgSecondaryLanguages &&
                    (this.m_secondaryLanguages = new Set(
                      e.data.rgSecondaryLanguages,
                    )),
                  e.data.rgRecommendedTags &&
                    (this.m_setRecommendedTags = new Set(
                      e.data.rgRecommendedTags.map((e) => e.tagid),
                    )),
                  e.data.rgAppsInCart &&
                    (this.m_setAppsInCart = new Set(e.data.rgAppsInCart)),
                  e.data.rgPackagesInCart &&
                    (this.m_setPackagesInCart = new Set(
                      e.data.rgPackagesInCart,
                    )),
                  e.data.nCartLineItemCount &&
                    (this.m_nCartLineItemCount = e.data.nCartLineItemCount),
                  e.data.rgCurations)
                )
                  for (const t of Object.keys(e.data.rgCurations)) {
                    const n = [];
                    for (const a of Object.keys(e.data.rgCurations[t]))
                      0 === e.data.rgCurations[t][a] && n.push(Number(a));
                    this.m_mapRecommendingCuratorsForApp.set(Number(t), n);
                  }
              });
          } catch (e) {
            let t = Object(o.a)(e);
            console.error("CDynamicStore.InternalLoad", t.strErrorMsg, t);
          }
          return this;
        });
      }
      UpdateFollowOrIgnoreCurator(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a =
            l.c.STORE_BASE_URL +
            "curators/" +
            (t ? "ajaxfollow/" : "ajaxignore/");
          const r = e.GetAccountID(),
            s = new FormData();
          s.append("authwgtoken", l.j.authwgtoken),
            s.append("clanid", "" + r),
            s.append("sessionid", l.c.SESSIONID),
            s.append(t ? "follow" : "ignore", n ? "1" : "0");
          let o = yield i.a.post(a, s, { withCredentials: !0 });
          if (o && 200 == o.status) {
            this.InvalidateCache();
            const e = t
              ? this.m_setCuratorsFollowed
              : this.m_setCuratorsIgnored;
            n ? e.add(r) : e.delete(r);
          }
          return o.data;
        });
      }
      UpdateAppIgnore(e, t, n = 0) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a = l.c.STORE_BASE_URL + "recommended/ignorerecommendation";
          const r = new FormData();
          r.append("sessionid", l.c.SESSIONID),
            r.append("appid", "" + e),
            r.append("remove", t ? "0" : "1"),
            r.append("snr", l.c.SNR),
            r.append("ignore_reason", "" + n);
          try {
            this.m_bAjaxInFlight = !0;
            let o = yield i.a.post(a, r, { withCredentials: !0 });
            return (
              o &&
                200 == o.status &&
                Object(s.G)(() => {
                  this.InvalidateCache(),
                    t
                      ? this.m_mapIgnoredApps.set(e, n)
                      : this.m_mapIgnoredApps.delete(e);
                }),
              (this.m_bAjaxInFlight = !1),
              o.data
            );
          } catch (e) {
            let t = Object(o.a)(e);
            console.error("UpdateAppIgnore", t.strErrorMsg, t);
          }
          return (this.m_bAjaxInFlight = !1), { success: 2 };
        });
      }
      UpdateGameWishlist(e, t, n, r) {
        return Object(a.a)(this, void 0, void 0, function* () {
          let a =
            l.c.STORE_BASE_URL +
            "api/" +
            (t ? "addtowishlist" : "removefromwishlist");
          const s = new FormData();
          s.append("appid", "" + e),
            s.append("sessionid", l.c.SESSIONID),
            n && s.append("snr", n),
            (this.m_bAjaxInFlight = !0);
          let o = yield i.a.post(a, s, {
            withCredentials: !0,
            cancelToken: r ? r.token : void 0,
          });
          if (((this.m_bAjaxInFlight = !1), r && r.token.reason))
            return { success: 52 };
          if (
            ((o.data.success = 1 == o.data.success ? 1 : 2),
            1 == o.data.success)
          )
            if ((this.InvalidateCache(), (e = Number(e)), t))
              this.m_setWishList.has(e) || this.m_wishlistInOrder.push(e),
                this.m_setWishList.add(e);
            else {
              if (this.m_setWishList.has(e)) {
                const t = this.m_wishlistInOrder.findIndex((t) => t == e);
                -1 != t && this.m_wishlistInOrder.splice(t, 1);
              }
              this.m_setWishList.delete(e);
            }
          return o.data;
        });
      }
      AddToCart(e, t, n, r, s, o) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const a = new FormData();
          a.append("action", "add_to_cart"),
            o ? a.append("bundleid", o.toString()) : a.append("subid", "" + t),
            s && a.append("snr", s);
          let c = l.j.authwgtoken;
          c ? a.append("authwgtoken", c) : a.append("sessionid", l.c.SESSIONID),
            a.append("quantity", "1");
          try {
            yield i.a.post(n, a, { withCredentials: !0 });
            let t = l.c.IN_CLIENT ? "steam://url/StoreCart" : r;
            e.preventDefault(),
              this.InvalidateCache(),
              (window.location.href = t);
          } catch (e) {
            console.log("HandleOnAddToCart"), console.log(e);
          }
        });
      }
      AddLicenseForFreeGame(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          if (this.BOwnsApp(e)) return 1;
          try {
            const t = new FormData();
            t.append("sessionid", l.c.SESSIONID),
              t.append("authwgtoken", l.j.authwgtoken),
              t.append("appid", "" + e),
              t.append("cc", l.c.COUNTRY);
            let n = l.c.STORE_BASE_URL + "actions/addappformastersubscription",
              a = yield i.a.post(n, t, { withCredentials: !0 });
            if (
              (this.InvalidateCache(), !a.data.success || 1 !== a.data.success)
            )
              return a.data.success ? a.data.success : 2;
            this.m_setOwnedApps.add(Number(e));
          } catch (e) {
            let t = Object(o.a)(e);
            return (
              console.log("AddLicense request failed:", t.strErrorMsg, t), 2
            );
          }
          return 1;
        });
      }
      UpdateFollowingApp(e, t) {
        return Object(a.a)(this, void 0, void 0, function* () {
          try {
            const n = l.c.STORE_BASE_URL + "explore/followgame",
              a = new FormData();
            a.append("appid", "" + e),
              a.append("sessionid", l.c.SESSIONID),
              t || a.append("unfollow", "1");
            const r = yield i.a.post(n, a, { withCredentials: !0 });
            if (!r.data) return 2;
            this.InvalidateCache(),
              t
                ? this.m_setFollowedApps.add(Number(e))
                : this.m_setFollowedApps.delete(Number(e));
          } catch (e) {
            return console.log("Follow game request failed"), 2;
          }
          return 1;
        });
      }
      BHasPlatformPreferenceSet() {
        return (
          this.m_setPreferredPlatforms.size > 0 &&
          this.m_setPreferredPlatforms.size < 3
        );
      }
      BIsPreferredPlatform(e) {
        return this.m_setPreferredPlatforms.has(e);
      }
      InvalidateCache() {
        window.localStorage.setItem(
          d,
          (
            Number.parseInt(window.localStorage.getItem(d) || "0") + 1
          ).toString(),
        );
      }
      static Get() {
        return (
          m.s_globalSingletonStore ||
            ((m.s_globalSingletonStore = new m()),
            "dev" == l.c.WEB_UNIVERSE &&
              (window.DUS = m.s_globalSingletonStore)),
          m.s_globalSingletonStore
        );
      }
    }
    Object(a.b)([s.C], m.prototype, "m_setWishList", void 0),
      Object(a.b)([s.C], m.prototype, "m_setOwnedPackages", void 0),
      Object(a.b)([s.C], m.prototype, "m_setOwnedApps", void 0),
      Object(a.b)([s.C], m.prototype, "m_setFollowedApps", void 0),
      Object(a.b)([s.C], m.prototype, "m_setExcludedTagsIds", void 0),
      Object(a.b)(
        [s.C],
        m.prototype,
        "m_setExcludedContentDescriptors",
        void 0,
      ),
      Object(a.b)([s.C], m.prototype, "m_setRecommendedApps", void 0),
      Object(a.b)([s.C], m.prototype, "m_mapIgnoredApps", void 0),
      Object(a.b)([s.C], m.prototype, "m_mapIgnoredPackages", void 0),
      Object(a.b)([s.C], m.prototype, "m_setCuratorsFollowed", void 0),
      Object(a.b)([s.C], m.prototype, "m_setCuratorsIgnored", void 0),
      Object(a.b)(
        [s.C],
        m.prototype,
        "m_bShowFilteredUserReviewScores",
        void 0,
      ),
      Object(a.b)([s.C], m.prototype, "m_primaryLanguage", void 0),
      Object(a.b)([s.C], m.prototype, "m_secondaryLanguages", void 0),
      Object(a.b)([s.C], m.prototype, "m_setRecommendedTags", void 0),
      Object(a.b)(
        [s.C],
        m.prototype,
        "m_mapRecommendingCuratorsForApp",
        void 0,
      ),
      Object(a.b)([s.C], m.prototype, "m_setPackagesInCart", void 0),
      Object(a.b)([s.C], m.prototype, "m_setAppsInCart", void 0),
      Object(a.b)([s.C], m.prototype, "m_nCartLineItemCount", void 0),
      Object(a.b)([s.C], m.prototype, "m_bAjaxInFlight", void 0),
      Object(a.b)([s.k], m.prototype, "UpdateAppIgnore", null);
  },
  nL6n: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      CuratorCtn: "salecuratorrecommendations_CuratorCtn_cE4dP",
      CuratorBackgroundCtn:
        "salecuratorrecommendations_CuratorBackgroundCtn_23Pa4",
      BackgroundGamesCtn: "salecuratorrecommendations_BackgroundGamesCtn_2vrK7",
      BackgroundGames: "salecuratorrecommendations_BackgroundGames_2EBIj",
      BackgroundTintCtn: "salecuratorrecommendations_BackgroundTintCtn_3sRui",
      CuratorContentCtn: "salecuratorrecommendations_CuratorContentCtn_3kmum",
      CuratorFollowCtn: "salecuratorrecommendations_CuratorFollowCtn_2CwHZ",
      CuratorMiddleCtn: "salecuratorrecommendations_CuratorMiddleCtn_2C9pN",
      CuratorAvatarCtn: "salecuratorrecommendations_CuratorAvatarCtn_26mkA",
      CuratorAvatar: "salecuratorrecommendations_CuratorAvatar_Kcqbj",
      ListDescCtn: "salecuratorrecommendations_ListDescCtn_3mpcV",
      SmallText: "salecuratorrecommendations_SmallText_jZKnO",
      explore: "salecuratorrecommendations_explore_2Vx40",
      groupName: "salecuratorrecommendations_groupName_2H8AX",
      ListTitle: "salecuratorrecommendations_ListTitle_3oRRS",
      ListDesc: "salecuratorrecommendations_ListDesc_3kg4c",
      ListLink: "salecuratorrecommendations_ListLink_2fNTa",
    };
  },
  nRWi: function (e, t, n) {
    e.exports = {
      SpeakerOuter: "presenterpopup_SpeakerOuter_YHI1b",
      Speaker: "presenterpopup_Speaker_2tKj1",
      SpeakerPopup: "presenterpopup_SpeakerPopup_rDqzj",
      SpeakerInfoOuter: "presenterpopup_SpeakerInfoOuter_qL2oc",
      SpeakerInfoInner: "presenterpopup_SpeakerInfoInner_31vrZ",
      SpeakerTitle: "presenterpopup_SpeakerTitle_9FVCY",
      SpeakerBio: "presenterpopup_SpeakerBio_1kL09",
      SpeakerHover: "presenterpopup_SpeakerHover_2Bac5",
    };
  },
  ncCn: function (e, t, n) {
    e.exports = {
      InfoCtn: "dailydealpartnerinfo_InfoCtn_1__uv",
      Title: "dailydealpartnerinfo_Title_2Ttas",
      DDVisibilityExample: "dailydealpartnerinfo_DDVisibilityExample_3OAcn",
    };
  },
  "nn/o": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return p;
    });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = n("q1tI");
    var s = n("hHds"),
      o = n("gTmQ"),
      l = n("6f0C"),
      c = n.n(l),
      d = n("eV45");
    n("5Quo");
    class u {
      constructor() {
        this.m_nKey = null;
      }
      get key() {
        return (
          null == this.m_nKey &&
            ((this.m_nKey = u.s_nNextKeyValue), u.s_nNextKeyValue++),
          this.m_nKey
        );
      }
      static GetBrowserInfoForPopup(e) {
        return null;
      }
      SetTakeFocus(e) {
        this.m_fnTakeFocus = e;
      }
    }
    (u.s_nNextKeyValue = 1),
      Object(a.b)([r.C], u.prototype, "m_refContextMenu", void 0);
    class m extends u {
      constructor(e) {
        super(),
          (this.m_bVisible = !1),
          (this.m_elSubmenuItem = null),
          (this.m_timerHideSubMenu = 0),
          (this.m_ownerWindow = e);
      }
      RenderElements(e, t) {
        0 == this.presentation &&
        (e.options.bForcePopup || this.m_ownerWindow.innerWidth) < 400 &&
        this.m_ownerWindow.SteamClient &&
        this.m_ownerWindow.SteamClient.Window
          ? (this.m_popupContextMenu = new o.a(
              e,
              t,
              u.GetBrowserInfoForPopup(this.m_ownerWindow),
            ))
          : ((this.m_embeddedElementInstance = Object(d.b)(
              this.m_ownerWindow.document,
            )),
            (this.m_rctElement = i.createElement(o.g, e, t)));
      }
      SetOnHideCallback(e) {
        this.m_fnOnHideCallback = e;
      }
      Show() {
        this.m_rctElement
          ? this.m_embeddedElementInstance.Show(this.m_rctElement)
          : this.m_popupContextMenu.Show(),
          (this.m_bVisible = !0);
      }
      Hide() {
        this.InternalHide();
      }
      HideIfNotInFocus() {
        this.BHasFocus() || this.BIsFocusInChildHierarchy() || this.Hide();
      }
      InternalHide() {
        this.m_bVisible &&
          ((this.m_bVisible = !1),
          this.InternalHideSubMenu(),
          this.m_fnOnHideCallback && this.m_fnOnHideCallback(),
          this.m_embeddedElementInstance
            ? this.m_embeddedElementInstance.Hide(300)
            : this.m_popupContextMenu.Close());
      }
      get visible() {
        return this.m_bVisible;
      }
      get options() {
        return this.m_options;
      }
      get presentation() {
        return 0;
      }
      get styles() {
        return c.a;
      }
      get owner_window() {
        return this.m_ownerWindow;
      }
      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 h(this, t(), e)),
            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);
      }
      HideSelf() {
        this.InternalHide();
      }
      InternalHideSubMenu() {
        this.CancelHideSubMenuTimer(),
          this.m_submenu &&
            (this.BIsFocusInChildHierarchy() && this.TakeFocus(),
            (this.m_elSubmenuItem = null),
            this.m_submenu.InternalHide(),
            (this.m_submenu = null));
      }
      TakeFocus() {
        this.m_popupContextMenu && this.m_popupContextMenu.Focus(),
          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_embeddedElementInstance
          ? this.m_embeddedElementInstance.BIsChildElement(e)
          : s.e(this.m_popupContextMenu.root_element, e);
      }
      BHasFocus() {
        return this.m_embeddedElementInstance
          ? this.m_embeddedElementInstance.BIsChildElement(
              this.m_ownerWindow.document.activeElement,
            )
          : this.m_popupContextMenu.focused;
      }
      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) {}
    }
    Object(a.b)([r.C], m.prototype, "m_bVisible", void 0);
    class p extends m {
      constructor(e, t, n, a, r) {
        super(t.ownerDocument.defaultView),
          u.sm_iActiveContextMenuInstance &&
            u.sm_iActiveContextMenuInstance.Hide(),
          (u.sm_iActiveContextMenuInstance = this),
          (this.m_options = r || {});
        let i = {
          element: t,
          clientX: n,
          clientY: a,
          instance: this,
          options: this.m_options,
          fnOnMenuItemSelected: () => {
            this.Hide();
          },
        };
        this.RenderElements(i, e);
      }
      Show() {
        this.m_options.bDisableMouseOverlay ||
          ((this.m_embeddedElementInstanceOverlay = Object(d.b)(
            this.m_ownerWindow.document,
          )),
          this.m_embeddedElementInstanceOverlay.Show(i.createElement(o.f))),
          super.Show();
      }
      Hide() {
        this.m_embeddedElementInstanceOverlay &&
          this.m_embeddedElementInstanceOverlay.Hide(0),
          super.Hide();
      }
      BIsSubMenu() {
        return !1;
      }
    }
    class h extends m {
      constructor(e, t, n) {
        super(n.ownerDocument.defaultView),
          (this.m_parentInstance = e),
          (this.m_options = {
            bOverlapVertical: !0,
            bUseWebStyles: e.options.bUseWebStyles,
            strClassName: e.options.strClassName,
            bFitToWindow: e.options.bFitToWindow,
            bShiftToFitWindow: e.options.bShiftToFitWindow,
          });
        let a = {
          element: n,
          clientX: null,
          clientY: null,
          instance: this,
          options: this.m_options,
          fnOnMenuItemSelected: () => {
            this.Hide();
          },
          bSubmenu: !0,
        };
        this.RenderElements(a, t);
      }
      Hide() {
        this.m_popupContextMenu
          ? window.setTimeout(() => {
              this.m_parentInstance.HideIfNotInFocus();
            }, 10)
          : this.m_parentInstance.Hide();
      }
      BIsSubMenu() {
        return !0;
      }
    }
  },
  o1Vo: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgJJREFUeNrsmz9LxDAYxpNyIhzICeIkiLM46KAf4EY9HBzcnDwXJ0cnFxddHdQP4ScQcXJxUvDP7qAOLg5Ot8TnpDhIkja5mL5t3hcechDS9Pmlb3mba6VSSqQcmUg8GAADYAAMgAHoQkr5K8QppGouvU9THZAbF+hvo3mDOjVfbOmbApsNMD/SPaDf5HuANQXQN4+fT4ax79CAqK9ZzSWvTYFWwYF2LH2rgHRP0T0W7rNs2maWg4yj2Uq5DtiAplIG0BcJhA1Al0thBsAAGEDToxVzMtQWL38LFBRTk6HHkAWQG+lEGMMpwAAYAANgAAyAATAABsAAGAADIPUw1POYs/ef5xkVAB5jb2KMSToFlFITaMaSBADzw32DK6idHIDc/CW0klwKlDB/bhtsUlEsUjEP3VrO8wySJp+1BlDWvG2hawvAxXzjALiatwEYpRBad4BwgYLmS2NkGs2ax9y70LKh7wTaw3yqLE3fK8Al5nTmoYfA8xy5+swquoSHK38NLQQ87DFWfZ98KUzJfHQA1MxHBUDRfEwAJM3/PG5bvhkK+THRKzRTpXnjC6GRAISMA5g/9EhB5x2hJY+Tu/MY8whti3Kv3Q5g/jnoLlXR6/KOlJWH+S7m+ohwEya3HxDNPMUNERLmqwJAxnwVAEiZjw2AnPmiOiCJ4D9HUwfwLcAAxHgyaE4johYAAAAASUVORK5CYII=";
  },
  oB2E: function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return u;
    }),
      n.d(t, "f", function () {
        return m;
      }),
      n.d(t, "c", function () {
        return p;
      }),
      n.d(t, "g", function () {
        return h;
      }),
      n.d(t, "h", function () {
        return _;
      }),
      n.d(t, "i", function () {
        return g;
      }),
      n.d(t, "e", function () {
        return b;
      }),
      n.d(t, "a", function () {
        return f;
      }),
      n.d(t, "b", function () {
        return v;
      });
    var a = n("mrSG"),
      r = n("gu54"),
      i = n("xSFm"),
      s = n("Q8oI"),
      o = (n("5VAZ"), n("RYKw"), n("nJCB")),
      l = (n("PEc5"), n("A5uu")),
      c = n("YP3x"),
      d = n("aaBf");
    function u(e) {
      return l.a.Get().BIsStoreItemMissing(e.id, Object(i.j)(e.type));
    }
    function m(e, t, n) {
      const a = new Array();
      return (
        null == e || e.forEach((e) => a.push({ id: e, type: "game" })),
        null == t || t.forEach((e) => a.push({ id: e, type: "sub" })),
        null == n || n.forEach((e) => a.push({ id: e, type: "bundle" })),
        a
      );
    }
    function p(e) {
      var t;
      const n = l.a.Get().GetStoreItem(e.id, Object(i.j)(e.type));
      return (
        (null === (t = null == n ? void 0 : n.GetBestPurchaseOption()) ||
        void 0 === t
          ? void 0
          : t.discount_pct) > 0
      );
    }
    function h(e, t, n) {
      return Object(a.a)(this, void 0, void 0, function* () {
        if (!e || 0 == e.length) return [];
        const a = e
            .filter((e) => Object(s.BIsSaleItemType)(e.type))
            .map((e) => e.id),
          r = e.filter((e) => "sub" === e.type).map((e) => e.id),
          i = e.filter((e) => "bundle" === e.type).map((e) => e.id);
        yield Promise.all([
          l.a.Get().QueueMultipleAppRequests(a, t),
          l.a.Get().QueueMultiplePackageRequests(r, t),
          l.a.Get().QueueMultipleBundleRequests(i, t),
        ]);
        const o = new Set();
        if (
          (null == i ||
            i.map((e) => {
              const t = l.a.Get().GetBundle(e);
              null == t || t.GetIncludedAppIDs().forEach((e) => o.add(e));
            }),
          null == r ||
            r.map((e) => {
              const t = l.a.Get().GetPackage(e);
              null == t || t.GetIncludedAppIDs().forEach((e) => o.add(e));
            }),
          yield l.a.Get().QueueMultipleAppRequests(Array.from(o), t),
          a.forEach((e) => o.add(e)),
          n)
        ) {
          const e = Array.from(o)
            .map((e) => {
              const t = l.a.Get().GetApp(e);
              return (null == t ? void 0 : t.GetParentAppID())
                ? (o.add(t.GetParentAppID()), t.GetParentAppID())
                : null;
            })
            .filter(Boolean);
          yield l.a.Get().QueueMultipleAppRequests(e, t);
        }
        return Array.from(o).filter((e) => {
          const t = l.a.Get().GetApp(e);
          return t && !t.GetParentAppID();
        });
      });
    }
    function _(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        const t = new Set();
        e
          .map((e) => l.a.Get().GetApp(e))
          .filter(Boolean)
          .forEach((e) => {
            e.GetTags().forEach((e) => t.add(e.tagid));
          }),
          yield c.a.Get().QueueMultipleTagLoads(Array.from(t));
      });
    }
    const g = { include_tag_count: 20, include_basic_info: !0 };
    function b(e) {
      const t = o.a.Get();
      return (
        !e ||
        (0 == e.GetStoreItemType() &&
          (t.BIsGameIgnored(e.GetAppID()) ||
            t.BIsGameIgnored(e.GetParentAppID()))) ||
        t.BExcludesContentDescriptor(e.GetContentDescriptorIDs()) ||
        t.BExcludeTagIDs(e.GetTagIDs()) ||
        e.GetAllCreatorClanIDs().some((e) => t.BIsIgnoringCurator(e))
      );
    }
    function f(e, t, n, s) {
      return Object(a.a)(this, void 0, void 0, function* () {
        let a = 0,
          o = 0;
        const c = [];
        yield h(e, r.e, t);
        for (const r of e) {
          const e = l.a.Get().GetStoreItem(r.id, Object(i.j)(r.type));
          if (!e) {
            a++;
            continue;
          }
          const d = e
            .GetIncludedAppIDs()
            .map((e) => l.a.Get().GetApp(e))
            .filter(Boolean);
          if ((d.push(e), t)) {
            const e = new Set(d.map((e) => e.GetParentAppID()).filter(Boolean)),
              t = Array.from(e)
                .map((e) => l.a.Get().GetApp(e))
                .filter(Boolean);
            t && d.push(...t);
          }
          d.some(s || b) ? (o++, n && n.push(r)) : c.push(r);
        }
        return (
          "dev" === d.c.WEB_UNIVERSE &&
            0 === c.length &&
            console.log(
              "ApplyStorePreferenceFilters: " +
                a +
                " failed to load, " +
                o +
                " hidden by user filter.",
            ),
          c
        );
      });
    }
    function v(e, t, n, r, s, c, d) {
      return Object(a.a)(this, void 0, void 0, function* () {
        let a = yield f(
          e,
          t,
          d,
          s
            ? (e) =>
                !e ||
                o.a
                  .Get()
                  .BExcludesContentDescriptor(e.GetContentDescriptorIDs()) ||
                o.a.Get().BExcludeTagIDs(e.GetTagIDs())
            : b,
        );
        const u = [];
        for (const e of a) {
          const t = l.a.Get().GetStoreItem(e.id, Object(i.j)(e.type));
          if (!t) continue;
          const a = null == t ? void 0 : t.GetIncludedAppIDsOrSelf();
          let s = !1;
          n && (s = s || a.every((e) => o.a.Get().BIsGameOwned(e))),
            r && (s = s || a.every((e) => o.a.Get().BIsGameWishlisted(e))),
            c && (s = s || a.every((e) => o.a.Get().BIsGameIgnored(e))),
            s ? d && d.push(e) : u.push(e);
        }
        return u;
      });
    }
  },
  oEAl: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtNJREFUeNrsmk1rE0EYgHe19ZBIY2kj4qUQVGjxAz2J4gcVvfmBP8FI8eZF8OJNL4oFPYrGX1CK4lEMiChe/aCClNBeRGxLTTE5GDU+Y2bDJG5rL5lZ950XnsxkE5h9n8zszkw2bDabgeTYEAgPL8AL8AK8AC/AC/AC5EafegnDcM0vMVvMUOyA7bBNswVymgHYDOp7m/SxUNczRlvZdZ5XDX7oeh2+q9OAqq6rY99gRR9TfIXPmk8wS171f+QVhH9eYgRw/BhFEQ7q5MP/7MdVwmbhNZTI8fm6BPBe/XoP4XzKevs0XCDX6qoCdPIvYE9Kh/xbOBpJULl3XwQfpDh5FXt1ju1o9wDKQ7x/KeTif5icX3X3gKKgu18xbh4wLkjAeMcQIPLwRdgcaCssRD1gTOAkcMwcAgWBAgqmgBGBAkZMAfkeN1ZPoIC8KWCox409hePwJkEChmwKCPRi5ABMJOSO0yFg2EaLSPgF96nuhFt6aesqhk0BgzZbRsIKXKU6Co8dCRg0BWRdnAESKnCO6gl4Z7n5rCmg3+VgREKZYj9cUrMzS832mwJyrq9ISPgJ9/T1YRIaPW4y170YSkSozQq4QnU3POl1e4ndFUbCRzhD9RS8FyfAVvQl9cRYpu+iuA2nRQnQG7PX4LKNu1MkoOr6TkDiGykuwnULi7Mo57aAhuPk1RbVncDujnTDvAjWHCVegEdUnwX2t+NrpoBly4kPwE2qH+Cso463bA6BRUuJK+FqS/pG0NqUdBmLpoAlC8mrP1vvwr6E3HCWbAo46bCrrykgugb0egWWSeBca8EUMC9wFjxvCqgIFFAxBcwIFDDTFsCyU42HOUHJz+mcO5bDZUECynH7ASVBAkp/CVBPTFBMCUh+Sufayts/JGWE/uBI0HqkLG0xbSYf2wNi5u7yHpRcZSGT7kdlJYd/XN4L8AK8AC/AC/ACvACx8VuAAQDxke5GRJ5P8AAAAABJRU5ErkJggg==";
  },
  oUO1: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    }),
      n.d(t, "b", function () {
        return p;
      }),
      n.d(t, "c", function () {
        return b;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.communityitemid || r.a(s.M()),
          i.initialize(this, e, 0, -1, [5], null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: {
                communityitemid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                item_type: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                appid: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                owner: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                attributes: { n: 5, c: o, r: !0, q: !0 },
                used: { n: 6, br: r.d.readBool, bw: r.h.writeBool },
                owner_origin: { n: 7, br: r.d.readUint32, bw: r.h.writeUint32 },
                amount: {
                  n: 8,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
              },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_CommunityItem";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.attributeid || r.a(o.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                attributeid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                value: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_CommunityItem_Attribute";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.filter_appids || r.a(l.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                filter_appids: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_GetCommunityInventory_Request";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.items || r.a(c.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: { items: { n: 1, c: s, r: !0, q: !0 } },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_GetCommunityInventory_Response";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.item_definitions || r.a(d.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: { item_definitions: { n: 1, c: u, r: !0, q: !0 } },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_GetCommunityItemDefinitions_Response";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.item_type || r.a(u.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                item_type: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                appid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                item_name: { n: 3, br: r.d.readString, bw: r.h.writeString },
                item_title: { n: 4, br: r.d.readString, bw: r.h.writeString },
                item_description: {
                  n: 5,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_image_small: {
                  n: 6,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_image_large: {
                  n: 7,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_key_values: {
                  n: 8,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_series: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                item_class: { n: 10, br: r.d.readUint32, bw: r.h.writeUint32 },
                editor_accountid: {
                  n: 11,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                active: { n: 12, br: r.d.readBool, bw: r.h.writeBool },
                item_image_composed: {
                  n: 13,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_image_composed_foil: {
                  n: 14,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                deleted: { n: 15, br: r.d.readBool, bw: r.h.writeBool },
                item_last_changed: {
                  n: 16,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                broadcast_channel_id: {
                  n: 17,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                item_movie_webm: {
                  n: 18,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_movie_mp4: {
                  n: 19,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_movie_webm_small: {
                  n: 20,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                item_movie_mp4_small: {
                  n: 21,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_GetCommunityItemDefinitions_Response_ItemDefinition";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new m();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_ActivateProfileModifierItem_Response";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(),
          p.prototype.timestamp_start || r.a(p.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                timestamp_start: {
                  n: 1,
                  d: 0,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                timestamp_end: {
                  n: 2,
                  d: 4294967295,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_GetNumTradingCardsEarned_Request";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(),
          h.prototype.num_trading_cards || r.a(h.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                num_trading_cards: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_GetNumTradingCardsEarned_Response";
      }
    }
    class _ extends i {
      constructor(e = null) {
        super(),
          _.prototype.eventid || r.a(_.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                eventid: { n: 1, br: r.d.readEnum, bw: r.h.writeEnum },
                item_bucket: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                appid: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                active: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                rarity: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                package_to_grant: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                game_item_id: {
                  n: 7,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                community_item_class: {
                  n: 8,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                community_item_type: {
                  n: 9,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                loyalty_point_type: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                amount: {
                  n: 11,
                  br: r.d.readInt64String,
                  bw: r.h.writeInt64String,
                },
                rtime_time_active: {
                  n: 12,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                loyalty_reward_defid: {
                  n: 13,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                user_badge_to_grant: {
                  n: 14,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                user_badge_level: {
                  n: 15,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CVirtualItemRewardDefinition";
      }
    }
    class g extends i {
      constructor(e = null) {
        super(),
          g.prototype.rewards || r.a(g.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          g.sm_m ||
            (g.sm_m = {
              proto: g,
              fields: { rewards: { n: 1, c: _, r: !0, q: !0 } },
            }),
          g.sm_m
        );
      }
      static MBF() {
        return g.sm_mbf || (g.sm_mbf = r.e(g.M())), g.sm_mbf;
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(g.M(), e, t);
      }
      static fromObject(e) {
        return r.c(g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(g.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CQuest_VirtualItemRewardDefinition_Response";
      }
    }
    var b;
    !(function (e) {
      (e.GetCommunityInventory = function (e, t) {
        return e.SendMsg("Quest.GetCommunityInventory#1", t, c, {
          bConstMethod: !0,
          ePrivilege: 1,
        });
      }),
        (e.GetCommunityItemDefinitions = function (e, t) {
          return e.SendMsg("Quest.GetCommunityItemDefinitions#1", t, d, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 4,
          });
        }),
        (e.ActivateProfileModifierItem = function (e, t) {
          return e.SendMsg("Quest.ActivateProfileModifierItem#1", t, m, {
            ePrivilege: 1,
          });
        }),
        (e.GetNumTradingCardsEarned = function (e, t) {
          return e.SendMsg("Quest.GetNumTradingCardsEarned#1", t, h, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetVirtualItemRewardDefinition = function (e, t) {
          return e.SendMsg("Quest.GetVirtualItemRewardDefinition#1", t, g, {
            bConstMethod: !0,
            ePrivilege: 4,
          });
        });
    })(b || (b = {}));
  },
  oe0p: function (e, t) {
    e.exports =
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcJJREFUeNqkUz1PAkEQfStggjESejU0GozlGqn8SGywkYIYY0IsaLCwIBTQUN5fMLGm8S8QSWwslVAYjAlUBEJDhCgWwp3nzN6eHqIVl8zN7rx5b+dm9oRt25jlmcOMj59f10JAkPcBcXIGWdECyqYn6TfGdZ9S9d4K4gQYx4WCtJzE+G/sKJudwpQABUGnGSf5vKzX60jmctL8SYzz+iCdls1mEzuplMIsLSC4iSUh1ClUlpHIZGStVkM0GsVNqVRlIJZIyG63i1AohMdKpUrZRQqXz4j7LWA7VSiR/WRSNhsNRRgOh+i02wgGg3hrtRSZelLmI6cExs7nKJGVtTX50uupMn0+H157PUWmZpYDXLoWUFPo6MC87jivx4MBFtxOWZYS11VipNdT98DWDVsPh2XQNLFIMdc4xpg9OZ3JMdIpRowSXVKt36+yuXvGxn+N0XS+3zj0kG+JSPEi261H5FCLmN9lUyNWyZ+Qag54eA6Hbfa8j1A88g+2qrlqCkKIZdovbAG7m8D5E3B5D9xR7IPsk/u7DextABd14OrBwd6J23YFligQ0IPwXE7lbedXUAPya5yHMiLuq5j1d/4SYAAj3NATBGE4PgAAAABJRU5ErkJggg==";
  },
  oeZY: function (e, t, n) {
    "use strict";
    var a = n("mrSG"),
      r = n("2vnA"),
      i = (n("AQa9"), n("Q8oI"), n("TYQL"), n("T5os"), n("nJCB"), n("4uD3")),
      s = n("aaBf");
    class o {
      InitFrom(e) {
        (this.title = e.title),
          (this.capsule = l(e.capsule)),
          (this.tiny_capsule = l(e.tiny_capsule)),
          (this.main_capsule = l(e.main_capsule)),
          (this.library_asset = l(e.library_asset)),
          (this.type = e.type),
          (this.price_in_cents = e.price_in_cents),
          (this.price = e.price),
          (this.orig_price_in_cents = e.orig_price_in_cents),
          (this.orig_price = e.orig_price),
          (this.discount_percent = e.discount_percent),
          (this.rt_release_date = e.rt_release_date),
          (this.release = e.release),
          (this.screenshot_list = e.screenshot_list.map(l)),
          (this.subid = e.subid),
          (this.button_action = e.button_action),
          (this.app_to_run = e.app_to_run),
          (this.is_free = e.is_free),
          (this.free_weekend_label = e.free_weekend_label),
          (this.required_age = e.required_age),
          (this.coming_soon = e.coming_soon),
          (this.early_access = e.early_access),
          (this.no_main_cap = e.no_main_cap),
          (this.appid = Number(e.appid)),
          (this.full_game_appid = Number(e.full_game_appid)),
          (this.tags = e.tags),
          (this.content_descriptors = e.content_descriptors),
          (this.reviews_filtered = e.reviews_filtered),
          (this.reviews_unfiltered = e.reviews_unfiltered),
          (this.available_windows = e.available_windows),
          (this.available_mac = e.available_mac),
          (this.available_linux = e.available_linux),
          (this.microtrailer = l(e.microtrailer)),
          (this.microtrailer_mp4 = l(e.microtrailer_mp4)),
          (this.support_vrhmd = e.support_vrhmd),
          (this.support_vrhmd_only = e.support_vrhmd_only),
          (this.creator_clan_ids = e.creator_clan_ids),
          (this.localized_langs = e.localized_langs),
          (this.deck_compatibility_category =
            e.deck_compatibility_category || 0);
      }
      GetCapsuleDimensions() {
        return { width: 460, height: 215 };
      }
      GetMainCapsuleDimensions() {
        return { width: 616, height: 353 };
      }
      GetTinyCapsuleDimensions() {
        return { width: 231, height: 87 };
      }
      get capsule_link() {
        return Object(i.f)(s.c.STORE_BASE_URL + "app/" + this.appid);
      }
      get name() {
        return this.title;
      }
      get id() {
        return this.appid;
      }
      get header_image_url() {
        return this.capsule;
      }
      get formatted_orig_price() {
        return this.orig_price;
      }
      get formatted_final_price() {
        return this.price;
      }
      get purchasePackageId() {
        return this.subid;
      }
    }
    function l(e) {
      return e && !e.startsWith("http") ? s.c.STORE_ICON_BASE_URL + e : e;
    }
    Object(a.b)([r.C], o.prototype, "title", void 0),
      Object(a.b)([r.C], o.prototype, "capsule", void 0),
      Object(a.b)([r.C], o.prototype, "tiny_capsule", void 0),
      Object(a.b)([r.C], o.prototype, "main_capsule", void 0),
      Object(a.b)([r.C], o.prototype, "library_asset", void 0),
      Object(a.b)([r.C], o.prototype, "type", void 0),
      Object(a.b)([r.C], o.prototype, "price_in_cents", void 0),
      Object(a.b)([r.C], o.prototype, "price", void 0),
      Object(a.b)([r.C], o.prototype, "orig_price_in_cents", void 0),
      Object(a.b)([r.C], o.prototype, "orig_price", void 0),
      Object(a.b)([r.C], o.prototype, "discount_percent", void 0),
      Object(a.b)([r.C], o.prototype, "rt_release_date", void 0),
      Object(a.b)([r.C], o.prototype, "release", void 0),
      Object(a.b)([r.C], o.prototype, "screenshot_list", void 0),
      Object(a.b)([r.C], o.prototype, "subid", void 0),
      Object(a.b)([r.C], o.prototype, "button_action", void 0),
      Object(a.b)([r.C], o.prototype, "app_to_run", void 0),
      Object(a.b)([r.C], o.prototype, "is_free", void 0),
      Object(a.b)([r.C], o.prototype, "free_weekend_label", void 0),
      Object(a.b)([r.C], o.prototype, "required_age", void 0),
      Object(a.b)([r.C], o.prototype, "appid", void 0),
      Object(a.b)([r.C], o.prototype, "full_game_appid", void 0),
      Object(a.b)([r.C], o.prototype, "tags", void 0),
      Object(a.b)([r.C], o.prototype, "content_descriptors", void 0),
      Object(a.b)([r.C], o.prototype, "reviews_filtered", void 0),
      Object(a.b)([r.C], o.prototype, "reviews_unfiltered", void 0),
      Object(a.b)([r.C], o.prototype, "microtrailer", void 0),
      Object(a.b)([r.C], o.prototype, "microtrailer_mp4", void 0),
      Object(a.b)([r.C], o.prototype, "coming_soon", void 0),
      Object(a.b)([r.C], o.prototype, "early_access", void 0),
      Object(a.b)([r.C], o.prototype, "available_windows", void 0),
      Object(a.b)([r.C], o.prototype, "available_mac", void 0),
      Object(a.b)([r.C], o.prototype, "available_linux", void 0),
      Object(a.b)([r.C], o.prototype, "support_vrhmd", void 0),
      Object(a.b)([r.C], o.prototype, "support_vrhmd_only", void 0),
      Object(a.b)([r.C], o.prototype, "no_main_cap", void 0),
      Object(a.b)([r.C], o.prototype, "creator_clan_ids", void 0),
      Object(a.b)([r.C], o.prototype, "localized_langs", void 0),
      Object(a.b)([r.C], o.prototype, "deck_compatibility_category", void 0);
    class c {}
    Object(a.b)([r.C], c.prototype, "language", void 0),
      Object(a.b)([r.C], c.prototype, "subtitles", void 0),
      Object(a.b)([r.C], c.prototype, "full_audio", void 0),
      Object(a.b)([r.C], c.prototype, "interface", void 0);
  },
  pEm6: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return T;
    }),
      n.d(t, "b", function () {
        return j;
      }),
      n.d(t, "a", function () {
        return A;
      });
    var a = n("mrSG"),
      r = n("TyAF"),
      i = n("q1tI"),
      s = (n("Q8oI"), n("GCjA"), n("hc+a")),
      o = n("OsUa"),
      l = n("nJCB"),
      c = n("6Uth"),
      d = n("vfQD"),
      u = n("DAjO"),
      m = n("CjDG"),
      p = (n("/loZ"), n("3wCP")),
      h = n("CqJL"),
      _ = n("D6PB"),
      g = n("aaBf"),
      b = n("bznR"),
      f = n("+d5k"),
      v = n("XL31"),
      S = n("rDQm"),
      y = n("LQ/m"),
      E = n("9Pkb"),
      C = n("8uBp"),
      w = n("ERCR");
    const B = Object(r.a)((e) => {
      const { closeModal: t } = e;
      return i.createElement(b.e, {
        strTitle: Object(h.f)(
          "#EventCalendar_GameSource_UnhideCuratorsDialog_Title",
        ),
        strDescription: Object(h.f)(
          "#EventCalendar_GameSource_UnhideCuratorsDialog_Description",
        ),
        strOKButtonText: Object(h.f)(
          "#EventCalendar_GameSource_UnhideCuratorsDialog_OKButton",
        ),
        strCancelButtonText: Object(h.f)(
          "#EventCalendar_GameSource_UnhideCuratorsDialog_CancelButton",
        ),
        onOK: () => {
          Object(c.b)().m_visibilityStore.SetGameSourceAllowed(
            d.c.k_ECurator,
            !0,
          ),
            t();
        },
        onCancel: () => {
          Object(
            c.b,
          )().m_visibilityStore.SetCuratorUnhideOnFollowDialogDismissed(!0),
            t();
        },
      });
    });
    function O(e) {
      e ||
        (Object(c.a)() &&
          (Object(
            c.b,
          )().m_visibilityStore.BCuratorUnhideOnFollowDialogDismissed() ||
            Object(c.b)().m_visibilityStore.BIsGameSourceAllowed(
              d.c.k_ECurator,
            ) ||
            Object(f.d)(i.createElement(B, null), window)));
    }
    function D() {
      return (
        !!m.a.Get().BIsUserLoggedIn() ||
        (Object(f.d)(
          i.createElement(b.e, {
            strTitle: Object(h.f)("#EventDisplay_Share_NotLoggedIn"),
            strDescription: Object(h.f)(
              "#EventDisplay_Share_NotLoggedIn_Description",
            ),
            strOKButtonText: Object(h.f)("#MobileLogin_SignIn"),
            onOK: () => Object(C.a)(),
          }),
          window,
        ),
        !1)
      );
    }
    function I(e) {
      const t = s.a.InitFromClanID(e),
        n = m.a.Get().GetPartnerEventPermissions(t);
      return (
        !n ||
        !n.limited_user ||
        (Object(f.d)(i.createElement(y.a, null), window), !1)
      );
    }
    function T(e) {
      return Object(a.a)(this, void 0, void 0, function* () {
        if (D() && I(e)) {
          let t = s.a.InitFromClanID(e),
            n = l.a.Get().BIsFollowingCurator(t);
          yield l.a.Get().UpdateFollowOrIgnoreCurator(t, !0, !n), O(n);
        }
      });
    }
    const R = (e) => {
        const {
          className: t,
          bIgnored: n,
          bApplyingFollowing: a,
          bFollowing: r,
          onFollowClick: s,
        } = e;
        return u.b.bIsFollowingEnabled
          ? i.createElement(
              w.e,
              {
                className: Object(p.a)(
                  E.Button,
                  S.FollowButton,
                  t,
                  r ? "Followed" : "",
                ),
                onClick: s,
              },
              a && i.createElement(v.a, { size: "small" }),
              !a &&
                (r || n) &&
                i.createElement("img", {
                  style: { height: "16px" },
                  src:
                    g.c.STORE_CDN_URL + "public/images/v6/ico/ico_selected.png",
                }),
              i.createElement(
                "div",
                { className: S.FollowBtnText },
                !a &&
                  (r
                    ? Object(h.f)("#Button_Followed")
                    : n
                      ? Object(h.f)("#Button_Ignored")
                      : Object(h.f)("#Button_Follow")),
              ),
            )
          : null;
      },
      j = (e) => {
        const [t, n] = i.useState(!1),
          { clanAccountID: a, className: r } = e,
          c = s.a.InitFromClanID(a),
          d = l.a.Get().BIsFollowingCurator(c),
          u = !d && l.a.Get().BIsIgnoringCurator(c);
        return i.createElement(R, {
          className: r,
          bIgnored: u,
          bFollowing: d,
          bApplyingFollowing: t,
          onFollowClick: () => {
            const { clanAccountID: t } = e;
            D() &&
              I(t) &&
              (n(!0),
              (() => {
                const { clanAccountID: t, creatorID: a } = e,
                  r = s.a.InitFromClanID(t),
                  i = l.a.Get().BIsFollowingCurator(r),
                  c = !i && l.a.Get().BIsIgnoringCurator(r);
                l.a
                  .Get()
                  .UpdateFollowOrIgnoreCurator(r, !c, !(c || i))
                  .then((e) => {
                    if (a) {
                      let e = o.a.GetCreatorHomeByID(a);
                      c || e.AdjustFollower(i ? -1 : 1);
                    }
                    n(!1);
                  })
                  .then(() => {
                    O(i);
                  })
                  .catch((e) => {
                    n(!1);
                    let t = Object(_.a)(e);
                    console.error(
                      "CuratorFollowButton hit error: " + t.strErrorMsg,
                      t,
                    );
                  });
              })());
          },
        });
      },
      A = (e) => {
        const [t, n] = i.useState(!1),
          { appid: a, className: r } = e,
          s = l.a.Get().BFollowsApp(a),
          o = !s && l.a.Get().BIsGameIgnored(a);
        return i.createElement(R, {
          className: r,
          bIgnored: o,
          bFollowing: s,
          bApplyingFollowing: t,
          onFollowClick: () => {
            D() &&
              (n(!0),
              (() => {
                const { appid: t } = e,
                  a = l.a.Get().BFollowsApp(t),
                  r = !a && l.a.Get().BIsGameIgnored(t);
                l.a
                  .Get()
                  .UpdateFollowingApp(t, !(r || a))
                  .then(() => {
                    n(!1);
                  })
                  .catch((e) => {
                    n(!1);
                    const t = Object(_.a)(e);
                    console.error(
                      "AppFollowButton hit error: " + t.strErrorMsg,
                      t,
                    );
                  });
              })());
          },
        });
      };
  },
  pIgH: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return S;
    });
    var a,
      r = n("mrSG"),
      i = n("vDqi"),
      s = n.n(i),
      o = n("2vnA"),
      l = n("TyAF"),
      c = n("q1tI"),
      d = n("adO3"),
      u = n("XL31"),
      m = n("3wCP"),
      p = n("CqJL"),
      h = n("D6PB"),
      _ = n("KT6v"),
      g = n("aaBf"),
      b = n("cKYR"),
      f = n.n(b),
      v = n("XPBy");
    let S = (a = class extends c.Component {
      constructor(e) {
        super(e), (this.m_cancelSignal = s.a.CancelToken.source());
        let t = !this.props.bShowVideoImmediately;
        (this.state = { bSummaryMode: t, bLoadedMetaData: !1 }),
          (this.m_youtubeInfo = {
            title: Object(p.f)("#Loading"),
            description: "",
            videoid: e.videoID,
            views: "0",
          });
      }
      componentDidMount() {
        this.state.bSummaryMode && this.HintLoadMetadata();
      }
      componentWillUnmount() {
        this.m_cancelSignal.cancel("YouTubeInlineSnippet component unmounted");
      }
      HintLoadMetadata() {
        return Object(r.a)(this, void 0, void 0, function* () {
          d.a
            .LoadYouTubeDynamicData([this.props.videoID], this.m_cancelSignal)
            .then((e) => {
              !this.m_cancelSignal.token.reason &&
                e.length > 0 &&
                ((this.m_youtubeInfo = e[0]),
                this.setState({ bLoadedMetaData: !0 }));
            })
            .catch((e) =>
              console.error(
                "YouTubeInlineSnippet: " + Object(h.a)(e).strErrorMsg,
              ),
            );
        });
      }
      OnClick() {
        this.setState({ bSummaryMode: !1 });
      }
      render() {
        let e = this.props.videoID;
        if (this.state.bSummaryMode) {
          let t = this.m_youtubeInfo.title,
            n = this.m_youtubeInfo.views,
            a = this.m_youtubeInfo.description;
          return c.createElement(
            "div",
            { className: f.a.DynamicLinkBox, onClick: this.OnClick },
            c.createElement("img", {
              className: f.a.DynamicLink_Preview,
              src: "https://img.youtube.com/vi/" + e + "/0.jpg",
            }),
            c.createElement(
              "div",
              { className: f.a.DynamicLink_Content },
              c.createElement(
                "div",
                { className: f.a.DynamicLink_Name },
                Object(p.f)("#EventEditor_YouTubeVideoTitle", t),
              ),
              c.createElement(
                "div",
                { className: f.a.DynamicLink_YoutubeViews },
                Object(p.f)(
                  "#EventEditor_YouTubeVideoViews",
                  Object(v.a)(Number(n)),
                ),
              ),
              c.createElement(
                "div",
                { className: f.a.Dynamiclink_Content },
                this.state.bLoadedMetaData && a,
                !this.state.bLoadedMetaData && c.createElement(u.a, null),
              ),
            ),
          );
        }
        {
          let t = this.props.classNameSize,
            n = this.props.classNameAlign;
          const r =
            "https://www.youtube.com/embed/" +
            e +
            a.m_strYouTubeOptions +
            (this.props.bAutoPlay ? "&autoplay=1" : "") +
            (this.props.nStartSeconds ? "&t=" + this.props.nStartSeconds : "");
          return c.createElement(
            "div",
            { className: Object(m.a)(f.a.PreviewYouTubeVideo, t, n), id: e },
            c.createElement("img", {
              src:
                g.c.COMMUNITY_CDN_URL +
                "public/shared/images/responsive/youtube_16x9_placeholder.gif",
            }),
            c.createElement("iframe", {
              className: Object(m.a)(f.a.PreviewYouTubeVideo, t, n),
              src: r,
              allowFullScreen: !0,
              frameBorder: 0,
            }),
          );
        }
      }
    });
    (S.m_strYouTubeOptions = "?fs=1&modestbranding=1&rel=0"),
      Object(r.b)([o.C], S.prototype, "m_youtubeInfo", void 0),
      Object(r.b)([_.b], S.prototype, "OnClick", null),
      (S = a = Object(r.b)([l.a], S));
  },
  pU61: function (e, t, n) {
    "use strict";
    var a, r;
    !(function (e) {
      (e[(e.k_EComputerActiveStateInvalid = 0)] =
        "k_EComputerActiveStateInvalid"),
        (e[(e.k_EComputerActiveStateActive = 1)] =
          "k_EComputerActiveStateActive"),
        (e[(e.k_EComputerActiveStateIdle = 2)] = "k_EComputerActiveStateIdle");
    })(a || (a = {})),
      (function (e) {
        (e[(e.k_EClientUsedInputTypeKeyboard = 0)] =
          "k_EClientUsedInputTypeKeyboard"),
          (e[(e.k_EClientUsedInputTypeMouse = 1)] =
            "k_EClientUsedInputTypeMouse"),
          (e[(e.k_EClientUsedInputTypeController = 2)] =
            "k_EClientUsedInputTypeController"),
          (e[(e.k_EClientUsedInputTypeMax = 3)] = "k_EClientUsedInputTypeMax");
      })(r || (r = {}));
  },
  q2g5: function (e, t, n) {
    "use strict";
    n.d(t, "e", function () {
      return j;
    }),
      n.d(t, "c", function () {
        return $;
      }),
      n.d(t, "a", function () {
        return pe;
      }),
      n.d(t, "b", function () {
        return he;
      }),
      n.d(t, "f", function () {
        return be;
      }),
      n.d(t, "d", function () {
        return fe;
      }),
      n.d(t, "g", function () {
        return ke;
      });
    var a = n("hRO2"),
      r = n("gFJg");
    n("TYQL"), n("HgJB");
    const i = a.Message;
    class s extends i {
      constructor(e = null) {
        super(),
          s.prototype.games || r.a(s.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          s.sm_m ||
            (s.sm_m = {
              proto: s,
              fields: { games: { n: 1, c: o, r: !0, q: !0 } },
            }),
          s.sm_m
        );
      }
      static MBF() {
        return s.sm_mbf || (s.sm_mbf = r.e(s.M())), s.sm_mbf;
      }
      toObject(e = !1) {
        return s.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(s.M(), e, t);
      }
      static fromObject(e) {
        return r.c(s.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new s();
        return s.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(s.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(s.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return s.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetLastPlayedTimes_Response";
      }
    }
    class o extends i {
      constructor(e = null) {
        super(),
          o.prototype.appid || r.a(o.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          o.sm_m ||
            (o.sm_m = {
              proto: o,
              fields: {
                appid: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                last_playtime: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                playtime_2weeks: {
                  n: 3,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                playtime_forever: {
                  n: 4,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                first_playtime: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                playtime_windows_forever: {
                  n: 6,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                playtime_mac_forever: {
                  n: 7,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                playtime_linux_forever: {
                  n: 8,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                first_windows_playtime: {
                  n: 9,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                first_mac_playtime: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                first_linux_playtime: {
                  n: 11,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                last_windows_playtime: {
                  n: 12,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                last_mac_playtime: {
                  n: 13,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                last_linux_playtime: {
                  n: 14,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          o.sm_m
        );
      }
      static MBF() {
        return o.sm_mbf || (o.sm_mbf = r.e(o.M())), o.sm_mbf;
      }
      toObject(e = !1) {
        return o.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(o.M(), e, t);
      }
      static fromObject(e) {
        return r.c(o.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new o();
        return o.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(o.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(o.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return o.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetLastPlayedTimes_Response_Game";
      }
    }
    class l extends i {
      constructor(e = null) {
        super(),
          l.prototype.steamid || r.a(l.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          l.sm_m ||
            (l.sm_m = {
              proto: l,
              fields: {
                steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                mutual_friend_account_ids: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          l.sm_m
        );
      }
      static MBF() {
        return l.sm_mbf || (l.sm_mbf = r.e(l.M())), l.sm_mbf;
      }
      toObject(e = !1) {
        return l.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(l.M(), e, t);
      }
      static fromObject(e) {
        return r.c(l.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new l();
        return l.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(l.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(l.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return l.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_IncomingInviteMutualFriendList";
      }
    }
    class c extends i {
      constructor(e = null) {
        super(),
          c.prototype.incoming_invite_mutual_friends_lists || r.a(c.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          c.sm_m ||
            (c.sm_m = {
              proto: c,
              fields: {
                incoming_invite_mutual_friends_lists: {
                  n: 1,
                  c: l,
                  r: !0,
                  q: !0,
                },
              },
            }),
          c.sm_m
        );
      }
      static MBF() {
        return c.sm_mbf || (c.sm_mbf = r.e(c.M())), c.sm_mbf;
      }
      toObject(e = !1) {
        return c.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(c.M(), e, t);
      }
      static fromObject(e) {
        return r.c(c.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new c();
        return c.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(c.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(c.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return c.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetMutualFriendsForIncomingInvites_Response";
      }
    }
    class d extends i {
      constructor(e = null) {
        super(),
          d.prototype.game_count || r.a(d.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          d.sm_m ||
            (d.sm_m = {
              proto: d,
              fields: {
                game_count: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                games: { n: 2, c: u, r: !0, q: !0 },
              },
            }),
          d.sm_m
        );
      }
      static MBF() {
        return d.sm_mbf || (d.sm_mbf = r.e(d.M())), d.sm_mbf;
      }
      toObject(e = !1) {
        return d.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(d.M(), e, t);
      }
      static fromObject(e) {
        return r.c(d.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new d();
        return d.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(d.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(d.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return d.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetOwnedGames_Response";
      }
    }
    class u extends i {
      constructor(e = null) {
        super(),
          u.prototype.appid || r.a(u.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          u.sm_m ||
            (u.sm_m = {
              proto: u,
              fields: {
                appid: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                name: { n: 2, br: r.d.readString, bw: r.h.writeString },
                playtime_2weeks: {
                  n: 3,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                playtime_forever: {
                  n: 4,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                img_icon_url: { n: 5, br: r.d.readString, bw: r.h.writeString },
                has_community_visible_stats: {
                  n: 7,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                playtime_windows_forever: {
                  n: 8,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                playtime_mac_forever: {
                  n: 9,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                playtime_linux_forever: {
                  n: 10,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          u.sm_m
        );
      }
      static MBF() {
        return u.sm_mbf || (u.sm_mbf = r.e(u.M())), u.sm_mbf;
      }
      toObject(e = !1) {
        return u.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(u.M(), e, t);
      }
      static fromObject(e) {
        return r.c(u.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new u();
        return u.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(u.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(u.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return u.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetOwnedGames_Response_Game";
      }
    }
    class m extends i {
      constructor(e = null) {
        super(),
          m.prototype.last_update_time || r.a(m.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          m.sm_m ||
            (m.sm_m = {
              proto: m,
              fields: {
                last_update_time: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                appids: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: r.d.readUint32,
                  bw: r.h.writeRepeatedUint32,
                },
              },
            }),
          m.sm_m
        );
      }
      static MBF() {
        return m.sm_mbf || (m.sm_mbf = r.e(m.M())), m.sm_mbf;
      }
      toObject(e = !1) {
        return m.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(m.M(), e, t);
      }
      static fromObject(e) {
        return r.c(m.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new m();
        return m.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(m.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(m.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return m.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPlayNext_Response";
      }
    }
    class p extends i {
      constructor(e = null) {
        super(),
          p.prototype.player_level || r.a(p.M()),
          i.initialize(this, e, 0, -1, [2], null);
      }
      static M() {
        return (
          p.sm_m ||
            (p.sm_m = {
              proto: p,
              fields: {
                player_level: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                badges: { n: 2, c: h, r: !0, q: !0 },
              },
            }),
          p.sm_m
        );
      }
      static MBF() {
        return p.sm_mbf || (p.sm_mbf = r.e(p.M())), p.sm_mbf;
      }
      toObject(e = !1) {
        return p.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(p.M(), e, t);
      }
      static fromObject(e) {
        return r.c(p.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new p();
        return p.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(p.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(p.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return p.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetGameBadgeLevels_Response";
      }
    }
    class h extends i {
      constructor(e = null) {
        super(),
          h.prototype.level || r.a(h.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          h.sm_m ||
            (h.sm_m = {
              proto: h,
              fields: {
                level: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                series: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                border_color: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          h.sm_m
        );
      }
      static MBF() {
        return h.sm_mbf || (h.sm_mbf = r.e(h.M())), h.sm_mbf;
      }
      toObject(e = !1) {
        return h.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(h.M(), e, t);
      }
      static fromObject(e) {
        return r.c(h.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new h();
        return h.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(h.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(h.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return h.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetGameBadgeLevels_Response_Badge";
      }
    }
    class _ extends i {
      constructor(e = null) {
        super(),
          _.prototype.communityitemid || r.a(_.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          _.sm_m ||
            (_.sm_m = {
              proto: _,
              fields: {
                communityitemid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                image_small: { n: 2, br: r.d.readString, bw: r.h.writeString },
                image_large: { n: 3, br: r.d.readString, bw: r.h.writeString },
                name: { n: 4, br: r.d.readString, bw: r.h.writeString },
                item_title: { n: 5, br: r.d.readString, bw: r.h.writeString },
                item_description: {
                  n: 6,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                appid: { n: 7, br: r.d.readUint32, bw: r.h.writeUint32 },
                item_type: { n: 8, br: r.d.readUint32, bw: r.h.writeUint32 },
                item_class: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                movie_webm: { n: 10, br: r.d.readString, bw: r.h.writeString },
                movie_mp4: { n: 11, br: r.d.readString, bw: r.h.writeString },
                movie_webm_small: {
                  n: 13,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                movie_mp4_small: {
                  n: 14,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                equipped_flags: {
                  n: 12,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          _.sm_m
        );
      }
      static MBF() {
        return _.sm_mbf || (_.sm_mbf = r.e(_.M())), _.sm_mbf;
      }
      toObject(e = !1) {
        return _.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _();
        return _.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "ProfileItem";
      }
    }
    class g extends i {
      constructor(e = null) {
        super(),
          g.prototype.profile_background || r.a(g.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          g.sm_m ||
            (g.sm_m = {
              proto: g,
              fields: { profile_background: { n: 1, c: _ } },
            }),
          g.sm_m
        );
      }
      static MBF() {
        return g.sm_mbf || (g.sm_mbf = r.e(g.M())), g.sm_mbf;
      }
      toObject(e = !1) {
        return g.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(g.M(), e, t);
      }
      static fromObject(e) {
        return r.c(g.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new g();
        return g.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(g.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(g.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return g.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetProfileBackground_Response";
      }
    }
    class b extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return b.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new b();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new b();
        return b.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetProfileBackground_Response";
      }
    }
    class f extends i {
      constructor(e = null) {
        super(),
          f.prototype.profile_background || r.a(f.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          f.sm_m ||
            (f.sm_m = {
              proto: f,
              fields: { profile_background: { n: 1, c: _ } },
            }),
          f.sm_m
        );
      }
      static MBF() {
        return f.sm_mbf || (f.sm_mbf = r.e(f.M())), f.sm_mbf;
      }
      toObject(e = !1) {
        return f.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(f.M(), e, t);
      }
      static fromObject(e) {
        return r.c(f.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new f();
        return f.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(f.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(f.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return f.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetMiniProfileBackground_Response";
      }
    }
    class v extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return v.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new v();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new v();
        return v.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return v.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetMiniProfileBackground_Response";
      }
    }
    class S extends i {
      constructor(e = null) {
        super(),
          S.prototype.avatar_frame || r.a(S.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          S.sm_m ||
            (S.sm_m = { proto: S, fields: { avatar_frame: { n: 1, c: _ } } }),
          S.sm_m
        );
      }
      static MBF() {
        return S.sm_mbf || (S.sm_mbf = r.e(S.M())), S.sm_mbf;
      }
      toObject(e = !1) {
        return S.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(S.M(), e, t);
      }
      static fromObject(e) {
        return r.c(S.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new S();
        return S.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(S.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(S.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return S.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetAvatarFrame_Response";
      }
    }
    class y extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new y();
        return y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetAvatarFrame_Response";
      }
    }
    class E extends i {
      constructor(e = null) {
        super(),
          E.prototype.avatar || r.a(E.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          E.sm_m || (E.sm_m = { proto: E, fields: { avatar: { n: 1, c: _ } } }),
          E.sm_m
        );
      }
      static MBF() {
        return E.sm_mbf || (E.sm_mbf = r.e(E.M())), E.sm_mbf;
      }
      toObject(e = !1) {
        return E.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(E.M(), e, t);
      }
      static fromObject(e) {
        return r.c(E.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new E();
        return E.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(E.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(E.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return E.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetAnimatedAvatar_Response";
      }
    }
    class C extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return C.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new C();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new C();
        return C.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return C.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetAnimatedAvatar_Response";
      }
    }
    class w extends i {
      constructor(e = null) {
        super(),
          w.prototype.steam_deck_keyboard_skin || r.a(w.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          w.sm_m ||
            (w.sm_m = {
              proto: w,
              fields: { steam_deck_keyboard_skin: { n: 1, c: _ } },
            }),
          w.sm_m
        );
      }
      static MBF() {
        return w.sm_mbf || (w.sm_mbf = r.e(w.M())), w.sm_mbf;
      }
      toObject(e = !1) {
        return w.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(w.M(), e, t);
      }
      static fromObject(e) {
        return r.c(w.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new w();
        return w.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(w.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(w.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return w.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetSteamDeckKeyboardSkin_Response";
      }
    }
    class B extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return B.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new B();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new B();
        return B.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return B.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetSteamDeckKeyboardSkin_Response";
      }
    }
    class O extends i {
      constructor(e = null) {
        super(),
          O.prototype.profile_backgrounds || r.a(O.M()),
          i.initialize(this, e, 0, -1, [1, 2, 3, 4, 5, 6], null);
      }
      static M() {
        return (
          O.sm_m ||
            (O.sm_m = {
              proto: O,
              fields: {
                profile_backgrounds: { n: 1, c: _, r: !0, q: !0 },
                mini_profile_backgrounds: { n: 2, c: _, r: !0, q: !0 },
                avatar_frames: { n: 3, c: _, r: !0, q: !0 },
                animated_avatars: { n: 4, c: _, r: !0, q: !0 },
                profile_modifiers: { n: 5, c: _, r: !0, q: !0 },
                steam_deck_keyboard_skins: { n: 6, c: _, r: !0, q: !0 },
              },
            }),
          O.sm_m
        );
      }
      static MBF() {
        return O.sm_mbf || (O.sm_mbf = r.e(O.M())), O.sm_mbf;
      }
      toObject(e = !1) {
        return O.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(O.M(), e, t);
      }
      static fromObject(e) {
        return r.c(O.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new O();
        return O.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(O.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(O.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return O.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetProfileItemsOwned_Response";
      }
    }
    class D extends i {
      constructor(e = null) {
        super(),
          D.prototype.profile_background || r.a(D.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          D.sm_m ||
            (D.sm_m = {
              proto: D,
              fields: {
                profile_background: { n: 1, c: _ },
                mini_profile_background: { n: 2, c: _ },
                avatar_frame: { n: 3, c: _ },
                animated_avatar: { n: 4, c: _ },
                profile_modifier: { n: 5, c: _ },
                steam_deck_keyboard_skin: { n: 6, c: _ },
              },
            }),
          D.sm_m
        );
      }
      static MBF() {
        return D.sm_mbf || (D.sm_mbf = r.e(D.M())), D.sm_mbf;
      }
      toObject(e = !1) {
        return D.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(D.M(), e, t);
      }
      static fromObject(e) {
        return r.c(D.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new D();
        return D.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(D.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(D.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return D.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetProfileItemsEquipped_Response";
      }
    }
    class I extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return I.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new I();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new I();
        return I.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return I.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetEquippedProfileItemFlags_Response";
      }
    }
    class T extends i {
      constructor(e = null) {
        super(),
          T.prototype.emoticons || r.a(T.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          T.sm_m ||
            (T.sm_m = {
              proto: T,
              fields: { emoticons: { n: 1, c: R, r: !0, q: !0 } },
            }),
          T.sm_m
        );
      }
      static MBF() {
        return T.sm_mbf || (T.sm_mbf = r.e(T.M())), T.sm_mbf;
      }
      toObject(e = !1) {
        return T.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(T.M(), e, t);
      }
      static fromObject(e) {
        return r.c(T.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new T();
        return T.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(T.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(T.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return T.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetEmoticonList_Response";
      }
    }
    class R extends i {
      constructor(e = null) {
        super(),
          R.prototype.name || r.a(R.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          R.sm_m ||
            (R.sm_m = {
              proto: R,
              fields: {
                name: { n: 1, br: r.d.readString, bw: r.h.writeString },
                count: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                time_last_used: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                use_count: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                time_received: {
                  n: 5,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                appid: { n: 6, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          R.sm_m
        );
      }
      static MBF() {
        return R.sm_mbf || (R.sm_mbf = r.e(R.M())), R.sm_mbf;
      }
      toObject(e = !1) {
        return R.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(R.M(), e, t);
      }
      static fromObject(e) {
        return r.c(R.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new R();
        return R.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(R.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(R.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return R.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetEmoticonList_Response_Emoticon";
      }
    }
    class j extends i {
      constructor(e = null) {
        super(),
          j.prototype.appid || r.a(j.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          j.sm_m ||
            (j.sm_m = {
              proto: j,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                status_text: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          j.sm_m
        );
      }
      static MBF() {
        return j.sm_mbf || (j.sm_mbf = r.e(j.M())), j.sm_mbf;
      }
      toObject(e = !1) {
        return j.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(j.M(), e, t);
      }
      static fromObject(e) {
        return r.c(j.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new j();
        return j.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(j.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(j.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return j.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_PostStatusToFriends_Request";
      }
    }
    class A extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return A.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new A();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new A();
        return A.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return A.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_PostStatusToFriends_Response";
      }
    }
    class k extends i {
      constructor(e = null) {
        super(),
          k.prototype.accountid || r.a(k.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          k.sm_m ||
            (k.sm_m = {
              proto: k,
              fields: {
                accountid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                postid: {
                  n: 2,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                status_text: { n: 3, br: r.d.readString, bw: r.h.writeString },
                deleted: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                appid: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          k.sm_m
        );
      }
      static MBF() {
        return k.sm_mbf || (k.sm_mbf = r.e(k.M())), k.sm_mbf;
      }
      toObject(e = !1) {
        return k.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(k.M(), e, t);
      }
      static fromObject(e) {
        return r.c(k.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new k();
        return k.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(k.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(k.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return k.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPostedStatus_Response";
      }
    }
    class M extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return M.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new M();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new M();
        return M.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return M.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_DeletePostedStatus_Response";
      }
    }
    class P extends i {
      constructor(e = null) {
        super(),
          P.prototype.achievement_progress || r.a(P.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          P.sm_m ||
            (P.sm_m = {
              proto: P,
              fields: { achievement_progress: { n: 1, c: L, r: !0, q: !0 } },
            }),
          P.sm_m
        );
      }
      static MBF() {
        return P.sm_mbf || (P.sm_mbf = r.e(P.M())), P.sm_mbf;
      }
      toObject(e = !1) {
        return P.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(P.M(), e, t);
      }
      static fromObject(e) {
        return r.c(P.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new P();
        return P.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(P.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return P.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(P.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return P.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetAchievementsProgress_Response";
      }
    }
    class L extends i {
      constructor(e = null) {
        super(),
          L.prototype.appid || r.a(L.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          L.sm_m ||
            (L.sm_m = {
              proto: L,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                unlocked: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                total: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
                percentage: { n: 4, br: r.d.readFloat, bw: r.h.writeFloat },
                all_unlocked: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                cache_time: { n: 6, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          L.sm_m
        );
      }
      static MBF() {
        return L.sm_mbf || (L.sm_mbf = r.e(L.M())), L.sm_mbf;
      }
      toObject(e = !1) {
        return L.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(L.M(), e, t);
      }
      static fromObject(e) {
        return r.c(L.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new L();
        return L.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(L.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return L.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(L.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return L.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetAchievementsProgress_Response_AchievementProgress";
      }
    }
    class G extends i {
      constructor(e = null) {
        super(),
          G.prototype.has_favorite_badge || r.a(G.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          G.sm_m ||
            (G.sm_m = {
              proto: G,
              fields: {
                has_favorite_badge: {
                  n: 1,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                badgeid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                communityitemid: {
                  n: 3,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                item_type: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                border_color: { n: 5, br: r.d.readUint32, bw: r.h.writeUint32 },
                appid: { n: 6, br: r.d.readUint32, bw: r.h.writeUint32 },
                level: { n: 7, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          G.sm_m
        );
      }
      static MBF() {
        return G.sm_mbf || (G.sm_mbf = r.e(G.M())), G.sm_mbf;
      }
      toObject(e = !1) {
        return G.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(G.M(), e, t);
      }
      static fromObject(e) {
        return r.c(G.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new G();
        return G.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(G.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return G.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(G.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return G.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetFavoriteBadge_Response";
      }
    }
    class N extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return N.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new N();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new N();
        return N.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return N.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return N.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetFavoriteBadge_Response";
      }
    }
    class F extends i {
      constructor(e = null) {
        super(),
          F.prototype.slot || r.a(F.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          F.sm_m ||
            (F.sm_m = {
              proto: F,
              fields: {
                slot: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
                appid: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
                publishedfileid: {
                  n: 3,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                item_assetid: {
                  n: 4,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                item_contextid: {
                  n: 5,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                notes: { n: 6, br: r.d.readString, bw: r.h.writeString },
                title: { n: 7, br: r.d.readString, bw: r.h.writeString },
                accountid: { n: 8, br: r.d.readUint32, bw: r.h.writeUint32 },
                badgeid: { n: 9, br: r.d.readUint32, bw: r.h.writeUint32 },
                border_color: {
                  n: 10,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                item_classid: {
                  n: 11,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                item_instanceid: {
                  n: 12,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                ban_check_result: {
                  n: 13,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
              },
            }),
          F.sm_m
        );
      }
      static MBF() {
        return F.sm_mbf || (F.sm_mbf = r.e(F.M())), F.sm_mbf;
      }
      toObject(e = !1) {
        return F.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(F.M(), e, t);
      }
      static fromObject(e) {
        return r.c(F.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new F();
        return F.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(F.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return F.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(F.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return F.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "ProfileCustomizationSlot";
      }
    }
    class x extends i {
      constructor(e = null) {
        super(),
          x.prototype.customization_type || r.a(x.M()),
          i.initialize(this, e, 0, -1, [3], null);
      }
      static M() {
        return (
          x.sm_m ||
            (x.sm_m = {
              proto: x,
              fields: {
                customization_type: {
                  n: 1,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                large: { n: 2, br: r.d.readBool, bw: r.h.writeBool },
                slots: { n: 3, c: F, r: !0, q: !0 },
                active: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                customization_style: {
                  n: 5,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                purchaseid: {
                  n: 6,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                level: { n: 7, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          x.sm_m
        );
      }
      static MBF() {
        return x.sm_mbf || (x.sm_mbf = r.e(x.M())), x.sm_mbf;
      }
      toObject(e = !1) {
        return x.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(x.M(), e, t);
      }
      static fromObject(e) {
        return r.c(x.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new x();
        return x.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(x.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return x.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(x.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return x.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "ProfileCustomization";
      }
    }
    class z extends i {
      constructor(e = null) {
        super(),
          z.prototype.theme_id || r.a(z.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          z.sm_m ||
            (z.sm_m = {
              proto: z,
              fields: {
                theme_id: { n: 1, br: r.d.readString, bw: r.h.writeString },
                title: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          z.sm_m
        );
      }
      static MBF() {
        return z.sm_mbf || (z.sm_mbf = r.e(z.M())), z.sm_mbf;
      }
      toObject(e = !1) {
        return z.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(z.M(), e, t);
      }
      static fromObject(e) {
        return r.c(z.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new z();
        return z.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(z.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return z.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(z.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return z.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "ProfileTheme";
      }
    }
    class U extends i {
      constructor(e = null) {
        super(),
          U.prototype.hide_profile_awards || r.a(U.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          U.sm_m ||
            (U.sm_m = {
              proto: U,
              fields: {
                hide_profile_awards: {
                  n: 1,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
              },
            }),
          U.sm_m
        );
      }
      static MBF() {
        return U.sm_mbf || (U.sm_mbf = r.e(U.M())), U.sm_mbf;
      }
      toObject(e = !1) {
        return U.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(U.M(), e, t);
      }
      static fromObject(e) {
        return r.c(U.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new U();
        return U.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(U.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return U.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(U.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return U.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "ProfilePreferences";
      }
    }
    class W extends i {
      constructor(e = null) {
        super(),
          W.prototype.customizations || r.a(W.M()),
          i.initialize(this, e, 0, -1, [1, 4], null);
      }
      static M() {
        return (
          W.sm_m ||
            (W.sm_m = {
              proto: W,
              fields: {
                customizations: { n: 1, c: x, r: !0, q: !0 },
                slots_available: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                profile_theme: { n: 3, c: z },
                purchased_customizations: { n: 4, c: H, r: !0, q: !0 },
                profile_preferences: { n: 5, c: U },
              },
            }),
          W.sm_m
        );
      }
      static MBF() {
        return W.sm_mbf || (W.sm_mbf = r.e(W.M())), W.sm_mbf;
      }
      toObject(e = !1) {
        return W.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(W.M(), e, t);
      }
      static fromObject(e) {
        return r.c(W.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new W();
        return W.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(W.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return W.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(W.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return W.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetProfileCustomization_Response";
      }
    }
    class H extends i {
      constructor(e = null) {
        super(),
          H.prototype.purchaseid || r.a(H.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          H.sm_m ||
            (H.sm_m = {
              proto: H,
              fields: {
                purchaseid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                customization_type: {
                  n: 2,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                level: { n: 3, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          H.sm_m
        );
      }
      static MBF() {
        return H.sm_mbf || (H.sm_mbf = r.e(H.M())), H.sm_mbf;
      }
      toObject(e = !1) {
        return H.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(H.M(), e, t);
      }
      static fromObject(e) {
        return r.c(H.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new H();
        return H.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(H.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return H.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(H.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return H.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetProfileCustomization_Response_PurchasedCustomization";
      }
    }
    class V extends i {
      constructor(e = null) {
        super(),
          V.prototype.purchased_customizations || r.a(V.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          V.sm_m ||
            (V.sm_m = {
              proto: V,
              fields: {
                purchased_customizations: { n: 1, c: q, r: !0, q: !0 },
              },
            }),
          V.sm_m
        );
      }
      static MBF() {
        return V.sm_mbf || (V.sm_mbf = r.e(V.M())), V.sm_mbf;
      }
      toObject(e = !1) {
        return V.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(V.M(), e, t);
      }
      static fromObject(e) {
        return r.c(V.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new V();
        return V.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(V.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return V.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(V.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return V.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPurchasedProfileCustomizations_Response";
      }
    }
    class q extends i {
      constructor(e = null) {
        super(),
          q.prototype.purchaseid || r.a(q.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          q.sm_m ||
            (q.sm_m = {
              proto: q,
              fields: {
                purchaseid: {
                  n: 1,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
                customization_type: {
                  n: 2,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
              },
            }),
          q.sm_m
        );
      }
      static MBF() {
        return q.sm_mbf || (q.sm_mbf = r.e(q.M())), q.sm_mbf;
      }
      toObject(e = !1) {
        return q.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(q.M(), e, t);
      }
      static fromObject(e) {
        return r.c(q.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new q();
        return q.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(q.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return q.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(q.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return q.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPurchasedProfileCustomizations_Response_PurchasedCustomization";
      }
    }
    class K extends i {
      constructor(e = null) {
        super(),
          K.prototype.purchased_customizations || r.a(K.M()),
          i.initialize(this, e, 0, -1, [1, 2], null);
      }
      static M() {
        return (
          K.sm_m ||
            (K.sm_m = {
              proto: K,
              fields: {
                purchased_customizations: { n: 1, c: Q, r: !0, q: !0 },
                upgraded_customizations: { n: 2, c: Y, r: !0, q: !0 },
              },
            }),
          K.sm_m
        );
      }
      static MBF() {
        return K.sm_mbf || (K.sm_mbf = r.e(K.M())), K.sm_mbf;
      }
      toObject(e = !1) {
        return K.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(K.M(), e, t);
      }
      static fromObject(e) {
        return r.c(K.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new K();
        return K.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(K.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return K.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(K.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return K.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response";
      }
    }
    class Q extends i {
      constructor(e = null) {
        super(),
          Q.prototype.customization_type || r.a(Q.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Q.sm_m ||
            (Q.sm_m = {
              proto: Q,
              fields: {
                customization_type: {
                  n: 1,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                count: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          Q.sm_m
        );
      }
      static MBF() {
        return Q.sm_mbf || (Q.sm_mbf = r.e(Q.M())), Q.sm_mbf;
      }
      toObject(e = !1) {
        return Q.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Q.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Q.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Q();
        return Q.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Q.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Q.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Q.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Q.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response_PurchasedCustomization";
      }
    }
    class Y extends i {
      constructor(e = null) {
        super(),
          Y.prototype.customization_type || r.a(Y.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Y.sm_m ||
            (Y.sm_m = {
              proto: Y,
              fields: {
                customization_type: {
                  n: 1,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                level: { n: 2, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          Y.sm_m
        );
      }
      static MBF() {
        return Y.sm_mbf || (Y.sm_mbf = r.e(Y.M())), Y.sm_mbf;
      }
      toObject(e = !1) {
        return Y.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Y.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Y.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Y();
        return Y.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Y.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Y.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Y.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Y.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response_UpgradedCustomization";
      }
    }
    class Z extends i {
      constructor(e = null) {
        super(),
          Z.prototype.profile_themes || r.a(Z.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          Z.sm_m ||
            (Z.sm_m = {
              proto: Z,
              fields: { profile_themes: { n: 1, c: z, r: !0, q: !0 } },
            }),
          Z.sm_m
        );
      }
      static MBF() {
        return Z.sm_mbf || (Z.sm_mbf = r.e(Z.M())), Z.sm_mbf;
      }
      toObject(e = !1) {
        return Z.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Z.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Z.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Z();
        return Z.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Z.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Z.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Z.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Z.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetProfileThemesAvailable_Response";
      }
    }
    class J extends i {
      constructor(e = null) {
        super(), i.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 a.BinaryReader(e),
          n = new J();
        return J.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return J.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return J.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetProfileTheme_Response";
      }
    }
    class X extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return X.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new X();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new X();
        return X.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return X.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return X.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetProfilePreferences_Response";
      }
    }
    class $ extends i {
      constructor(e = null) {
        super(),
          $.prototype.appid || r.a($.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          $.sm_m ||
            ($.sm_m = {
              proto: $,
              fields: {
                appid: { n: 1, br: r.d.readUint32, bw: r.h.writeUint32 },
              },
            }),
          $.sm_m
        );
      }
      static MBF() {
        return $.sm_mbf || ($.sm_mbf = r.e($.M())), $.sm_mbf;
      }
      toObject(e = !1) {
        return $.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g($.M(), e, t);
      }
      static fromObject(e) {
        return r.c($.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new $();
        return $.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b($.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return $.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f($.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return $.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetFriendsGameplayInfo_Request";
      }
    }
    class ee extends i {
      constructor(e = null) {
        super(),
          ee.prototype.your_info || r.a(ee.M()),
          i.initialize(this, e, 0, -1, [2, 3, 4, 5, 6], null);
      }
      static M() {
        return (
          ee.sm_m ||
            (ee.sm_m = {
              proto: ee,
              fields: {
                your_info: { n: 1, c: ne },
                in_game: { n: 2, c: te, r: !0, q: !0 },
                played_recently: { n: 3, c: te, r: !0, q: !0 },
                played_ever: { n: 4, c: te, r: !0, q: !0 },
                owns: { n: 5, c: te, r: !0, q: !0 },
                in_wishlist: { n: 6, c: te, r: !0, q: !0 },
              },
            }),
          ee.sm_m
        );
      }
      static MBF() {
        return ee.sm_mbf || (ee.sm_mbf = r.e(ee.M())), ee.sm_mbf;
      }
      toObject(e = !1) {
        return ee.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ee.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ee.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ee();
        return ee.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ee.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ee.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ee.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ee.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetFriendsGameplayInfo_Response";
      }
    }
    class te extends i {
      constructor(e = null) {
        super(),
          te.prototype.steamid || r.a(te.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          te.sm_m ||
            (te.sm_m = {
              proto: te,
              fields: {
                steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                minutes_played: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                minutes_played_forever: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          te.sm_m
        );
      }
      static MBF() {
        return te.sm_mbf || (te.sm_mbf = r.e(te.M())), te.sm_mbf;
      }
      toObject(e = !1) {
        return te.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(te.M(), e, t);
      }
      static fromObject(e) {
        return r.c(te.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new te();
        return te.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(te.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return te.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(te.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return te.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetFriendsGameplayInfo_Response_FriendsGameplayInfo";
      }
    }
    class ne extends i {
      constructor(e = null) {
        super(),
          ne.prototype.steamid || r.a(ne.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ne.sm_m ||
            (ne.sm_m = {
              proto: ne,
              fields: {
                steamid: {
                  n: 1,
                  br: r.d.readFixed64String,
                  bw: r.h.writeFixed64String,
                },
                minutes_played: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                minutes_played_forever: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                in_wishlist: { n: 4, br: r.d.readBool, bw: r.h.writeBool },
                owned: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          ne.sm_m
        );
      }
      static MBF() {
        return ne.sm_mbf || (ne.sm_mbf = r.e(ne.M())), ne.sm_mbf;
      }
      toObject(e = !1) {
        return ne.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ne.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ne.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ne();
        return ne.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ne.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ne.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ne.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ne.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetFriendsGameplayInfo_Response_OwnGameplayInfo";
      }
    }
    class ae extends i {
      constructor(e = null) {
        super(),
          ae.prototype.time_ssa_accepted || r.a(ae.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ae.sm_m ||
            (ae.sm_m = {
              proto: ae,
              fields: {
                time_ssa_accepted: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                time_ssa_updated: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                time_chinassa_accepted: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          ae.sm_m
        );
      }
      static MBF() {
        return ae.sm_mbf || (ae.sm_mbf = r.e(ae.M())), ae.sm_mbf;
      }
      toObject(e = !1) {
        return ae.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ae.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ae.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ae();
        return ae.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ae.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ae.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ae.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ae.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetTimeSSAAccepted_Response";
      }
    }
    class re extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return re.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new re();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new re();
        return re.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return re.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return re.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_AcceptSSA_Response";
      }
    }
    class ie extends i {
      constructor(e = null) {
        super(),
          ie.prototype.nicknames || r.a(ie.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          ie.sm_m ||
            (ie.sm_m = {
              proto: ie,
              fields: { nicknames: { n: 1, c: se, r: !0, q: !0 } },
            }),
          ie.sm_m
        );
      }
      static MBF() {
        return ie.sm_mbf || (ie.sm_mbf = r.e(ie.M())), ie.sm_mbf;
      }
      toObject(e = !1) {
        return ie.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ie.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ie.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ie();
        return ie.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ie.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ie.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ie.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ie.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetNicknameList_Response";
      }
    }
    class se extends i {
      constructor(e = null) {
        super(),
          se.prototype.accountid || r.a(se.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          se.sm_m ||
            (se.sm_m = {
              proto: se,
              fields: {
                accountid: { n: 1, br: r.d.readFixed32, bw: r.h.writeFixed32 },
                nickname: { n: 2, br: r.d.readString, bw: r.h.writeString },
              },
            }),
          se.sm_m
        );
      }
      static MBF() {
        return se.sm_mbf || (se.sm_mbf = r.e(se.M())), se.sm_mbf;
      }
      toObject(e = !1) {
        return se.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(se.M(), e, t);
      }
      static fromObject(e) {
        return r.c(se.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new se();
        return se.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(se.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return se.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(se.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return se.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetNicknameList_Response_PlayerNickname";
      }
    }
    class oe extends i {
      constructor(e = null) {
        super(),
          oe.prototype.accountid || r.a(oe.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          oe.sm_m ||
            (oe.sm_m = {
              proto: oe,
              fields: {
                accountid: { n: 1, br: r.d.readFixed32, bw: r.h.writeFixed32 },
                nickname: { n: 2, br: r.d.readString, bw: r.h.writeString },
                notifications_showingame: {
                  n: 3,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                notifications_showonline: {
                  n: 4,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                notifications_showmessages: {
                  n: 5,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                sounds_showingame: {
                  n: 6,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                sounds_showonline: {
                  n: 7,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                sounds_showmessages: {
                  n: 8,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                notifications_sendmobile: {
                  n: 9,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
              },
            }),
          oe.sm_m
        );
      }
      static MBF() {
        return oe.sm_mbf || (oe.sm_mbf = r.e(oe.M())), oe.sm_mbf;
      }
      toObject(e = !1) {
        return oe.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(oe.M(), e, t);
      }
      static fromObject(e) {
        return r.c(oe.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new oe();
        return oe.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(oe.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return oe.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(oe.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return oe.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "PerFriendPreferences";
      }
    }
    class le extends i {
      constructor(e = null) {
        super(),
          le.prototype.preferences || r.a(le.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          le.sm_m ||
            (le.sm_m = {
              proto: le,
              fields: { preferences: { n: 1, c: oe, r: !0, q: !0 } },
            }),
          le.sm_m
        );
      }
      static MBF() {
        return le.sm_mbf || (le.sm_mbf = r.e(le.M())), le.sm_mbf;
      }
      toObject(e = !1) {
        return le.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(le.M(), e, t);
      }
      static fromObject(e) {
        return r.c(le.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new le();
        return le.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(le.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return le.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(le.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return le.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPerFriendPreferences_Response";
      }
    }
    class ce extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return ce.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new ce();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ce();
        return ce.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ce.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ce.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetPerFriendPreferences_Response";
      }
    }
    class de extends i {
      constructor(e = null) {
        super(),
          de.prototype.invite_sent || r.a(de.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          de.sm_m ||
            (de.sm_m = {
              proto: de,
              fields: {
                invite_sent: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                friend_relationship: {
                  n: 2,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                result: { n: 3, br: r.d.readInt32, bw: r.h.writeInt32 },
              },
            }),
          de.sm_m
        );
      }
      static MBF() {
        return de.sm_mbf || (de.sm_mbf = r.e(de.M())), de.sm_mbf;
      }
      toObject(e = !1) {
        return de.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(de.M(), e, t);
      }
      static fromObject(e) {
        return r.c(de.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new de();
        return de.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(de.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return de.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(de.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return de.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_AddFriend_Response";
      }
    }
    class ue extends i {
      constructor(e = null) {
        super(),
          ue.prototype.friend_relationship || r.a(ue.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ue.sm_m ||
            (ue.sm_m = {
              proto: ue,
              fields: {
                friend_relationship: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          ue.sm_m
        );
      }
      static MBF() {
        return ue.sm_mbf || (ue.sm_mbf = r.e(ue.M())), ue.sm_mbf;
      }
      toObject(e = !1) {
        return ue.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ue.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ue.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ue();
        return ue.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ue.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ue.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ue.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ue.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_RemoveFriend_Response";
      }
    }
    class me extends i {
      constructor(e = null) {
        super(),
          me.prototype.friend_relationship || r.a(me.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          me.sm_m ||
            (me.sm_m = {
              proto: me,
              fields: {
                friend_relationship: {
                  n: 1,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          me.sm_m
        );
      }
      static MBF() {
        return me.sm_mbf || (me.sm_mbf = r.e(me.M())), me.sm_mbf;
      }
      toObject(e = !1) {
        return me.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(me.M(), e, t);
      }
      static fromObject(e) {
        return r.c(me.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new me();
        return me.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(me.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return me.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(me.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return me.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_IgnoreFriend_Response";
      }
    }
    class pe extends i {
      constructor(e = null) {
        super(),
          pe.prototype.hide_adult_content_violence || r.a(pe.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          pe.sm_m ||
            (pe.sm_m = {
              proto: pe,
              fields: {
                hide_adult_content_violence: {
                  n: 1,
                  d: !0,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                hide_adult_content_sex: {
                  n: 2,
                  d: !0,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                parenthesize_nicknames: {
                  n: 4,
                  d: !1,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                text_filter_setting: {
                  n: 5,
                  br: r.d.readEnum,
                  bw: r.h.writeEnum,
                },
                text_filter_ignore_friends: {
                  n: 6,
                  d: !0,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                text_filter_words_revision: {
                  n: 7,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                timestamp_updated: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          pe.sm_m
        );
      }
      static MBF() {
        return pe.sm_mbf || (pe.sm_mbf = r.e(pe.M())), pe.sm_mbf;
      }
      toObject(e = !1) {
        return pe.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(pe.M(), e, t);
      }
      static fromObject(e) {
        return r.c(pe.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new pe();
        return pe.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(pe.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return pe.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(pe.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return pe.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_CommunityPreferences";
      }
    }
    class he extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return he.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new he();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new he();
        return he.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return he.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return he.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetCommunityPreferences_Request";
      }
    }
    class _e extends i {
      constructor(e = null) {
        super(),
          _e.prototype.preferences || r.a(_e.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          _e.sm_m ||
            (_e.sm_m = { proto: _e, fields: { preferences: { n: 1, c: pe } } }),
          _e.sm_m
        );
      }
      static MBF() {
        return _e.sm_mbf || (_e.sm_mbf = r.e(_e.M())), _e.sm_mbf;
      }
      toObject(e = !1) {
        return _e.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(_e.M(), e, t);
      }
      static fromObject(e) {
        return r.c(_e.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new _e();
        return _e.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(_e.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return _e.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(_e.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return _e.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetCommunityPreferences_Response";
      }
    }
    class ge extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return ge.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new ge();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ge();
        return ge.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ge.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ge.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_SetCommunityPreferences_Response";
      }
    }
    class be extends i {
      constructor(e = null) {
        super(),
          be.prototype.text_filter_custom_banned_words || r.a(be.M()),
          i.initialize(this, e, 0, -1, [1, 2], null);
      }
      static M() {
        return (
          be.sm_m ||
            (be.sm_m = {
              proto: be,
              fields: {
                text_filter_custom_banned_words: {
                  n: 1,
                  r: !0,
                  q: !0,
                  br: r.d.readString,
                  bw: r.h.writeRepeatedString,
                },
                text_filter_custom_clean_words: {
                  n: 2,
                  r: !0,
                  q: !0,
                  br: r.d.readString,
                  bw: r.h.writeRepeatedString,
                },
                text_filter_words_revision: {
                  n: 3,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
              },
            }),
          be.sm_m
        );
      }
      static MBF() {
        return be.sm_mbf || (be.sm_mbf = r.e(be.M())), be.sm_mbf;
      }
      toObject(e = !1) {
        return be.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(be.M(), e, t);
      }
      static fromObject(e) {
        return r.c(be.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new be();
        return be.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(be.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return be.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(be.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return be.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_TextFilterWords";
      }
    }
    class fe extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return fe.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new fe();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new fe();
        return fe.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return fe.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return fe.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetTextFilterWords_Request";
      }
    }
    class ve extends i {
      constructor(e = null) {
        super(),
          ve.prototype.words || r.a(ve.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          ve.sm_m ||
            (ve.sm_m = { proto: ve, fields: { words: { n: 1, c: be } } }),
          ve.sm_m
        );
      }
      static MBF() {
        return ve.sm_mbf || (ve.sm_mbf = r.e(ve.M())), ve.sm_mbf;
      }
      toObject(e = !1) {
        return ve.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(ve.M(), e, t);
      }
      static fromObject(e) {
        return r.c(ve.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ve();
        return ve.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(ve.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ve.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(ve.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ve.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetTextFilterWords_Response";
      }
    }
    class Se extends i {
      constructor(e = null) {
        super(),
          Se.prototype.state || r.a(Se.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Se.sm_m ||
            (Se.sm_m = {
              proto: Se,
              fields: {
                state: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                announcement_headline: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                announcement_url: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                time_posted: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                announcement_gid: {
                  n: 5,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
              },
            }),
          Se.sm_m
        );
      }
      static MBF() {
        return Se.sm_mbf || (Se.sm_mbf = r.e(Se.M())), Se.sm_mbf;
      }
      toObject(e = !1) {
        return Se.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Se.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Se.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Se();
        return Se.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Se.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Se.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Se.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Se.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetNewSteamAnnouncementState_Response";
      }
    }
    class ye extends i {
      constructor(e = null) {
        super(), i.initialize(this, e, 0, -1, void 0, null);
      }
      toObject(e = !1) {
        return ye.toObject(e, this);
      }
      static toObject(e, t) {
        return e ? { $jspbMessageInstance: t } : {};
      }
      static fromObject(e) {
        return new ye();
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new ye();
        return ye.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return e;
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return ye.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {}
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return ye.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_UpdateSteamAnnouncementLastRead_Response";
      }
    }
    class Ee extends i {
      constructor(e = null) {
        super(),
          Ee.prototype.privacy_state || r.a(Ee.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Ee.sm_m ||
            (Ee.sm_m = {
              proto: Ee,
              fields: {
                privacy_state: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                privacy_state_inventory: {
                  n: 2,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                privacy_state_gifts: {
                  n: 3,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                privacy_state_ownedgames: {
                  n: 4,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                privacy_state_playtime: {
                  n: 5,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
                privacy_state_friendslist: {
                  n: 6,
                  br: r.d.readInt32,
                  bw: r.h.writeInt32,
                },
              },
            }),
          Ee.sm_m
        );
      }
      static MBF() {
        return Ee.sm_mbf || (Ee.sm_mbf = r.e(Ee.M())), Ee.sm_mbf;
      }
      toObject(e = !1) {
        return Ee.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Ee.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Ee.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Ee();
        return Ee.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Ee.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Ee.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Ee.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Ee.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPrivacySettings";
      }
    }
    class Ce extends i {
      constructor(e = null) {
        super(),
          Ce.prototype.privacy_settings || r.a(Ce.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Ce.sm_m ||
            (Ce.sm_m = {
              proto: Ce,
              fields: { privacy_settings: { n: 1, c: Ee } },
            }),
          Ce.sm_m
        );
      }
      static MBF() {
        return Ce.sm_mbf || (Ce.sm_mbf = r.e(Ce.M())), Ce.sm_mbf;
      }
      toObject(e = !1) {
        return Ce.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Ce.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Ce.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Ce();
        return Ce.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Ce.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Ce.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Ce.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Ce.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetPrivacySettings_Response";
      }
    }
    class we extends i {
      constructor(e = null) {
        super(),
          we.prototype.is_enabled || r.a(we.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          we.sm_m ||
            (we.sm_m = {
              proto: we,
              fields: {
                is_enabled: { n: 1, br: r.d.readBool, bw: r.h.writeBool },
                seconds: { n: 2, br: r.d.readInt32, bw: r.h.writeInt32 },
                seconds_today: { n: 3, br: r.d.readInt32, bw: r.h.writeInt32 },
                is_steamchina_account: {
                  n: 4,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                is_age_verified: { n: 5, br: r.d.readBool, bw: r.h.writeBool },
                seconds_allowed_today: {
                  n: 6,
                  br: r.d.readUint32,
                  bw: r.h.writeUint32,
                },
                age_verification_pending: {
                  n: 7,
                  br: r.d.readBool,
                  bw: r.h.writeBool,
                },
                block_minors: { n: 8, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          we.sm_m
        );
      }
      static MBF() {
        return we.sm_mbf || (we.sm_mbf = r.e(we.M())), we.sm_mbf;
      }
      toObject(e = !1) {
        return we.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(we.M(), e, t);
      }
      static fromObject(e) {
        return r.c(we.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new we();
        return we.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(we.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return we.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(we.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return we.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_GetDurationControl_Response";
      }
    }
    class Be extends i {
      constructor(e = null) {
        super(),
          Be.prototype.games || r.a(Be.M()),
          i.initialize(this, e, 0, -1, [1], null);
      }
      static M() {
        return (
          Be.sm_m ||
            (Be.sm_m = {
              proto: Be,
              fields: { games: { n: 1, c: o, r: !0, q: !0 } },
            }),
          Be.sm_m
        );
      }
      static MBF() {
        return Be.sm_mbf || (Be.sm_mbf = r.e(Be.M())), Be.sm_mbf;
      }
      toObject(e = !1) {
        return Be.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Be.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Be.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Be();
        return Be.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Be.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Be.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Be.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Be.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_LastPlayedTimes_Notification";
      }
    }
    class Oe extends i {
      constructor(e = null) {
        super(),
          Oe.prototype.accountid || r.a(Oe.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Oe.sm_m ||
            (Oe.sm_m = {
              proto: Oe,
              fields: {
                accountid: { n: 1, br: r.d.readFixed32, bw: r.h.writeFixed32 },
                nickname: { n: 2, br: r.d.readString, bw: r.h.writeString },
                is_echo_to_self: { n: 3, br: r.d.readBool, bw: r.h.writeBool },
              },
            }),
          Oe.sm_m
        );
      }
      static MBF() {
        return Oe.sm_mbf || (Oe.sm_mbf = r.e(Oe.M())), Oe.sm_mbf;
      }
      toObject(e = !1) {
        return Oe.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Oe.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Oe.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Oe();
        return Oe.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Oe.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Oe.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Oe.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Oe.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_FriendNicknameChanged_Notification";
      }
    }
    class De extends i {
      constructor(e = null) {
        super(),
          De.prototype.accountid || r.a(De.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          De.sm_m ||
            (De.sm_m = {
              proto: De,
              fields: {
                accountid: { n: 1, br: r.d.readFixed32, bw: r.h.writeFixed32 },
              },
            }),
          De.sm_m
        );
      }
      static MBF() {
        return De.sm_mbf || (De.sm_mbf = r.e(De.M())), De.sm_mbf;
      }
      toObject(e = !1) {
        return De.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(De.M(), e, t);
      }
      static fromObject(e) {
        return r.c(De.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new De();
        return De.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(De.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return De.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(De.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return De.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_FriendEquippedProfileItemsChanged_Notification";
      }
    }
    class Ie extends i {
      constructor(e = null) {
        super(),
          Ie.prototype.state || r.a(Ie.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Ie.sm_m ||
            (Ie.sm_m = {
              proto: Ie,
              fields: {
                state: { n: 1, br: r.d.readInt32, bw: r.h.writeInt32 },
                announcement_headline: {
                  n: 2,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                announcement_url: {
                  n: 3,
                  br: r.d.readString,
                  bw: r.h.writeString,
                },
                time_posted: { n: 4, br: r.d.readUint32, bw: r.h.writeUint32 },
                announcement_gid: {
                  n: 5,
                  br: r.d.readUint64String,
                  bw: r.h.writeUint64String,
                },
              },
            }),
          Ie.sm_m
        );
      }
      static MBF() {
        return Ie.sm_mbf || (Ie.sm_mbf = r.e(Ie.M())), Ie.sm_mbf;
      }
      toObject(e = !1) {
        return Ie.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Ie.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Ie.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Ie();
        return Ie.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Ie.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Ie.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Ie.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Ie.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_NewSteamAnnouncementState_Notification";
      }
    }
    class Te extends i {
      constructor(e = null) {
        super(),
          Te.prototype.preferences || r.a(Te.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Te.sm_m ||
            (Te.sm_m = { proto: Te, fields: { preferences: { n: 1, c: pe } } }),
          Te.sm_m
        );
      }
      static MBF() {
        return Te.sm_mbf || (Te.sm_mbf = r.e(Te.M())), Te.sm_mbf;
      }
      toObject(e = !1) {
        return Te.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Te.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Te.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Te();
        return Te.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Te.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Te.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Te.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Te.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_CommunityPreferencesChanged_Notification";
      }
    }
    class Re extends i {
      constructor(e = null) {
        super(),
          Re.prototype.words || r.a(Re.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Re.sm_m ||
            (Re.sm_m = { proto: Re, fields: { words: { n: 1, c: be } } }),
          Re.sm_m
        );
      }
      static MBF() {
        return Re.sm_mbf || (Re.sm_mbf = r.e(Re.M())), Re.sm_mbf;
      }
      toObject(e = !1) {
        return Re.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Re.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Re.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Re();
        return Re.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Re.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Re.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Re.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Re.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_TextFilterWordsChanged_Notification";
      }
    }
    class je extends i {
      constructor(e = null) {
        super(),
          je.prototype.accountid || r.a(je.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          je.sm_m ||
            (je.sm_m = {
              proto: je,
              fields: {
                accountid: { n: 1, br: r.d.readFixed32, bw: r.h.writeFixed32 },
                preferences: { n: 2, c: oe },
              },
            }),
          je.sm_m
        );
      }
      static MBF() {
        return je.sm_mbf || (je.sm_mbf = r.e(je.M())), je.sm_mbf;
      }
      toObject(e = !1) {
        return je.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(je.M(), e, t);
      }
      static fromObject(e) {
        return r.c(je.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new je();
        return je.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(je.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return je.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(je.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return je.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_PerFriendPreferencesChanged_Notification";
      }
    }
    class Ae extends i {
      constructor(e = null) {
        super(),
          Ae.prototype.privacy_settings || r.a(Ae.M()),
          i.initialize(this, e, 0, -1, void 0, null);
      }
      static M() {
        return (
          Ae.sm_m ||
            (Ae.sm_m = {
              proto: Ae,
              fields: { privacy_settings: { n: 1, c: Ee } },
            }),
          Ae.sm_m
        );
      }
      static MBF() {
        return Ae.sm_mbf || (Ae.sm_mbf = r.e(Ae.M())), Ae.sm_mbf;
      }
      toObject(e = !1) {
        return Ae.toObject(e, this);
      }
      static toObject(e, t) {
        return r.g(Ae.M(), e, t);
      }
      static fromObject(e) {
        return r.c(Ae.M(), e);
      }
      static deserializeBinary(e) {
        let t = new a.BinaryReader(e),
          n = new Ae();
        return Ae.deserializeBinaryFromReader(n, t);
      }
      static deserializeBinaryFromReader(e, t) {
        return r.b(Ae.MBF(), e, t);
      }
      serializeBinary() {
        var e = new a.BinaryWriter();
        return Ae.serializeBinaryToWriter(this, e), e.getResultBuffer();
      }
      static serializeBinaryToWriter(e, t) {
        r.f(Ae.M(), e, t);
      }
      serializeBase64String() {
        var e = new a.BinaryWriter();
        return Ae.serializeBinaryToWriter(this, e), e.getResultBase64String();
      }
      getClassName() {
        return "CPlayer_PrivacySettingsChanged_Notification";
      }
    }
    var ke, Me;
    !(function (e) {
      (e.GetMutualFriendsForIncomingInvites = function (e, t) {
        return e.SendMsg("Player.GetMutualFriendsForIncomingInvites#1", t, c, {
          bConstMethod: !0,
          ePrivilege: 1,
        });
      }),
        (e.GetOwnedGames = function (e, t) {
          return e.SendMsg("Player.GetOwnedGames#1", t, d, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 2,
          });
        }),
        (e.GetPlayNext = function (e, t) {
          return e.SendMsg("Player.GetPlayNext#1", t, m, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetFriendsGameplayInfo = function (e, t) {
          return e.SendMsg("Player.GetFriendsGameplayInfo#1", t, ee, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetGameBadgeLevels = function (e, t) {
          return e.SendMsg("Player.GetGameBadgeLevels#1", t, p, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetProfileBackground = function (e, t) {
          return e.SendMsg("Player.GetProfileBackground#1", t, g, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetProfileBackground = function (e, t) {
          return e.SendMsg("Player.SetProfileBackground#1", t, b, {
            ePrivilege: 1,
          });
        }),
        (e.GetMiniProfileBackground = function (e, t) {
          return e.SendMsg("Player.GetMiniProfileBackground#1", t, f, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetMiniProfileBackground = function (e, t) {
          return e.SendMsg("Player.SetMiniProfileBackground#1", t, v, {
            ePrivilege: 1,
          });
        }),
        (e.GetAvatarFrame = function (e, t) {
          return e.SendMsg("Player.GetAvatarFrame#1", t, S, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetAvatarFrame = function (e, t) {
          return e.SendMsg("Player.SetAvatarFrame#1", t, y, { ePrivilege: 1 });
        }),
        (e.GetAnimatedAvatar = function (e, t) {
          return e.SendMsg("Player.GetAnimatedAvatar#1", t, E, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetAnimatedAvatar = function (e, t) {
          return e.SendMsg("Player.SetAnimatedAvatar#1", t, C, {
            ePrivilege: 1,
          });
        }),
        (e.GetSteamDeckKeyboardSkin = function (e, t) {
          return e.SendMsg("Player.GetSteamDeckKeyboardSkin#1", t, w, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetSteamDeckKeyboardSkin = function (e, t) {
          return e.SendMsg("Player.SetSteamDeckKeyboardSkin#1", t, B, {
            ePrivilege: 1,
          });
        }),
        (e.GetProfileItemsOwned = function (e, t) {
          return e.SendMsg("Player.GetProfileItemsOwned#1", t, O, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetProfileItemsEquipped = function (e, t) {
          return e.SendMsg("Player.GetProfileItemsEquipped#1", t, D, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetEquippedProfileItemFlags = function (e, t) {
          return e.SendMsg("Player.SetEquippedProfileItemFlags#1", t, I, {
            ePrivilege: 1,
          });
        }),
        (e.GetEmoticonList = function (e, t) {
          return e.SendMsg("Player.GetEmoticonList#1", t, T, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetAchievementsProgress = function (e, t) {
          return e.SendMsg("Player.GetAchievementsProgress#1", t, P, {
            ePrivilege: 1,
          });
        }),
        (e.GetFavoriteBadge = function (e, t) {
          return e.SendMsg("Player.GetFavoriteBadge#1", t, G, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.SetFavoriteBadge = function (e, t) {
          return e.SendMsg("Player.SetFavoriteBadge#1", t, N, {
            ePrivilege: 1,
          });
        }),
        (e.GetProfileCustomization = function (e, t) {
          return e.SendMsg("Player.GetProfileCustomization#1", t, W, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetPurchasedProfileCustomizations = function (e, t) {
          return e.SendMsg("Player.GetPurchasedProfileCustomizations#1", t, V, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetPurchasedAndUpgradedProfileCustomizations = function (e, t) {
          return e.SendMsg(
            "Player.GetPurchasedAndUpgradedProfileCustomizations#1",
            t,
            K,
            { bConstMethod: !0, ePrivilege: 2, eWebAPIKeyRequirement: 1 },
          );
        }),
        (e.GetProfileThemesAvailable = function (e, t) {
          return e.SendMsg("Player.GetProfileThemesAvailable#1", t, Z, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.SetProfileTheme = function (e, t) {
          return e.SendMsg("Player.SetProfileTheme#1", t, J, { ePrivilege: 1 });
        }),
        (e.SetProfilePreferences = function (e, t) {
          return e.SendMsg("Player.SetProfilePreferences#1", t, X, {
            ePrivilege: 1,
          });
        }),
        (e.PostStatusToFriends = function (e, t) {
          return e.SendMsg("Player.PostStatusToFriends#1", t, A, {
            ePrivilege: 3,
          });
        }),
        (e.GetPostedStatus = function (e, t) {
          return e.SendMsg("Player.GetPostedStatus#1", t, k, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.DeletePostedStatus = function (e, t) {
          return e.SendMsg("Player.DeletePostedStatus#1", t, M, {
            ePrivilege: 1,
          });
        }),
        (e.ClientGetLastPlayedTimes = function (e, t) {
          return e.SendMsg("Player.ClientGetLastPlayedTimes#1", t, s, {
            bConstMethod: !0,
            ePrivilege: 2,
            eWebAPIKeyRequirement: 1,
          });
        }),
        (e.GetTimeSSAAccepted = function (e, t) {
          return e.SendMsg("Player.GetTimeSSAAccepted#1", t, ae, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.AcceptSSA = function (e, t) {
          return e.SendMsg("Player.AcceptSSA#1", t, re, { ePrivilege: 1 });
        }),
        (e.GetNicknameList = function (e, t) {
          return e.SendMsg("Player.GetNicknameList#1", t, ie, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.GetPerFriendPreferences = function (e, t) {
          return e.SendMsg("Player.GetPerFriendPreferences#1", t, le, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.SetPerFriendPreferences = function (e, t) {
          return e.SendMsg("Player.SetPerFriendPreferences#1", t, ce, {
            ePrivilege: 1,
          });
        }),
        (e.AddFriend = function (e, t) {
          return e.SendMsg("Player.AddFriend#1", t, de, { ePrivilege: 1 });
        }),
        (e.RemoveFriend = function (e, t) {
          return e.SendMsg("Player.RemoveFriend#1", t, ue, { ePrivilege: 1 });
        }),
        (e.IgnoreFriend = function (e, t) {
          return e.SendMsg("Player.IgnoreFriend#1", t, me, { ePrivilege: 1 });
        }),
        (e.GetCommunityPreferences = function (e, t) {
          return e.SendMsg("Player.GetCommunityPreferences#1", t, _e, {
            ePrivilege: 1,
          });
        }),
        (e.SetCommunityPreferences = function (e, t) {
          return e.SendMsg("Player.SetCommunityPreferences#1", t, ge, {
            ePrivilege: 1,
          });
        }),
        (e.GetTextFilterWords = function (e, t) {
          return e.SendMsg("Player.GetTextFilterWords#1", t, ve, {
            ePrivilege: 1,
          });
        }),
        (e.GetNewSteamAnnouncementState = function (e, t) {
          return e.SendMsg("Player.GetNewSteamAnnouncementState#1", t, Se, {
            bConstMethod: !0,
            ePrivilege: 1,
          });
        }),
        (e.UpdateSteamAnnouncementLastRead = function (e, t) {
          return e.SendMsg("Player.UpdateSteamAnnouncementLastRead#1", t, ye, {
            ePrivilege: 1,
          });
        }),
        (e.GetPrivacySettings = function (e, t) {
          return e.SendMsg("Player.GetPrivacySettings#1", t, Ce, {
            ePrivilege: 1,
          });
        }),
        (e.GetDurationControl = function (e, t) {
          return e.SendMsg("Player.GetDurationControl#1", t, we, {
            ePrivilege: 1,
          });
        });
    })(ke || (ke = {})),
      (function (e) {
        (e.NotifyLastPlayedTimesHandler = {
          name: "PlayerClient.NotifyLastPlayedTimes#1",
          request: Be,
        }),
          (e.NotifyFriendNicknameChangedHandler = {
            name: "PlayerClient.NotifyFriendNicknameChanged#1",
            request: Oe,
          }),
          (e.NotifyFriendEquippedProfileItemsChangedHandler = {
            name: "PlayerClient.NotifyFriendEquippedProfileItemsChanged#1",
            request: De,
          }),
          (e.NotifyNewSteamAnnouncementStateHandler = {
            name: "PlayerClient.NotifyNewSteamAnnouncementState#1",
            request: Ie,
          }),
          (e.NotifyCommunityPreferencesChangedHandler = {
            name: "PlayerClient.NotifyCommunityPreferencesChanged#1",
            request: Te,
          }),
          (e.NotifyTextFilterWordsChangedHandler = {
            name: "PlayerClient.NotifyTextFilterWordsChanged#1",
            request: Re,
          }),
          (e.NotifyPerFriendPreferencesChangedHandler = {
            name: "PlayerClient.NotifyPerFriendPreferencesChanged#1",
            request: je,
          }),
          (e.NotifyPrivacyPrivacySettingsChangedHandler = {
            name: "PlayerClient.NotifyPrivacyPrivacySettingsChanged#1",
            request: Ae,
          });
      })(Me || (Me = {}));
  },
  q9tl: function (e, t, n) {},
  qMJO: function (e, t, n) {
    e.exports = {
      description: "salequiz_description_2KaV6",
      description2: "salequiz_description2_EtMos",
      questionCtn: "salequiz_questionCtn_3LDTB",
      answerCtn: "salequiz_answerCtn_2EuX4",
      CorrectCtn: "salequiz_CorrectCtn_3fjkP",
      WrongCtn: "salequiz_WrongCtn_3bmDv",
      RevealFooterImage: "salequiz_RevealFooterImage_1kaWW",
      answerBox: "salequiz_answerBox_1GBD9",
    };
  },
  qaVR: function (e, t, n) {
    e.exports = {
      SearchCtn: "dailydealarchives_SearchCtn_1xsEI",
      ResultRow: "dailydealarchives_ResultRow_ddpG1",
    };
  },
  qw8e: function (e, t, n) {
    e.exports = {
      SectionTitleHeader: "collapseablesection_SectionTitleHeader_2Yd_W",
      required_title: "collapseablesection_required_title_CKeWA",
    };
  },
  "qz+l": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    }),
      n.d(t, "b", function () {
        return d;
      }),
      n.d(t, "g", function () {
        return p;
      }),
      n.d(t, "h", function () {
        return h;
      }),
      n.d(t, "f", function () {
        return g;
      }),
      n.d(t, "d", function () {
        return f;
      }),
      n.d(t, "i", function () {
        return v;
      }),
      n.d(t, "e", function () {
        return S;
      }),
      n.d(t, "c", function () {
        return y;
      });
    var a = n("q1tI"),
      r = n("Ty5D"),
      i = (n("5VAZ"), n("hc+a"), n("ERCR")),
      s = n("fvA7"),
      o = n("aaBf");
    const l = a.createContext({ bCanUseLink: !1 });
    var c, d;
    !(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");
    })(c || (c = {})),
      (function (e) {
        (e.k_eFacebook = "facebook"),
          (e.k_eTwitter = "twitter"),
          (e.k_eReddit = "reddit");
      })(d || (d = {}));
    const u =
      /(?:steampowered\.com|valve\.org\/store|\.steamchina\.com|steamcommunity\.com|valve\.org\/community)\/(\w+)(\/|$)/i;
    function m(e, t) {
      const n = "store" === Object(o.f)(),
        a = (function (e) {
          const t = e.match(u);
          return null == t ? void 0 : t[1];
        })(window.location.href),
        r = n && "news" == a,
        i = "community" === Object(o.f)(),
        l = t.appid ? "games" : "groups",
        d =
          i &&
          l == a &&
          ((t.appid && t.appid === o.b.APPID) ||
            (!t.appid && t.clanSteamID.GetAccountID() === o.b.CLANACCOUNTID));
      switch (e) {
        case c.k_eView:
          return d || r;
        case c.k_eCommunityView:
        case c.k_eCommunityEdit:
        case c.k_eCommunityEditBroadcast:
        case c.k_eCommunityAdminPage:
        case c.k_eCommunityPublish:
        case c.k_eCommunityMigrate:
        case c.k_eCommunityPreview:
        case c.k_eCommunityPreviewSale:
        case c.k_eCommunityAnnouncementHub:
          return d;
        case c.k_eViewWebSiteHub:
          return d || r;
        case c.k_eStoreView:
        case c.k_eStoreNewsHub:
        case c.k_eStoreOwnerPage:
        case c.k_eStoreUsersNewsHub:
          return r;
        case c.k_eStoreSalePage:
          return !1;
        default:
          return Object(s.a)(!1, "Unknown route specified for link: " + e), !1;
      }
    }
    function p(e, t) {
      const n =
        o.c.COMMUNITY_BASE_URL +
        "gid/" +
        e.clanSteamID.ConvertTo64BitString() +
        "/announcements/share/" +
        e.AnnouncementGID +
        "?site=" +
        t;
      return t === d.k_eFacebook ? n + "&t=" + Math.random() : n;
    }
    function h(e) {
      return b(e, c.k_eStoreView, "absolute");
    }
    function _(e, t, n) {
      if (n)
        return (
          (e ? "/games/" + o.b.VANITY_ID : "/groups/" + o.b.VANITY_ID) + "/"
        );
      const a = e ? "ogg/" + e : "gid/" + t.ConvertTo64BitString();
      return o.c.COMMUNITY_BASE_URL + a + "/";
    }
    function g() {
      return "news";
    }
    function b(e, t, n) {
      const a = "relative" === n,
        r = "community" === Object(o.f)(),
        i = a ? "/" : o.c.STORE_BASE_URL,
        l = _(e.appid, e.clanSteamID, a);
      t === c.k_eView
        ? (t = r ? c.k_eCommunityView : c.k_eStoreView)
        : t === c.k_eViewWebSiteHub &&
          (t = r ? c.k_eCommunityAnnouncementHub : c.k_eStoreNewsHub);
      const d = e.GID ? e.GID : "",
        u = e.AnnouncementGID ? e.AnnouncementGID : "";
      switch (t) {
        case c.k_eCommunityPublish:
          return (
            l +
            (e.bOldAnnouncement
              ? "partnerevents/migrate_announcement/" + u
              : "partnerevents/publish/" + d + "?tab=publishing")
          );
        case c.k_eCommunityEdit:
          return (
            l +
            (e.bOldAnnouncement
              ? "partnerevents/migrate_announcement/" + u
              : "partnerevents/edit/" + d)
          );
        case c.k_eCommunityEditBroadcast:
          return (
            l +
            (e.bOldAnnouncement
              ? "partnerevents/migrate_announcement/" + u
              : "partnerevents/edit/" + d) +
            "?tab=broadcast"
          );
        case c.k_eCommunityMigrate:
          return l + "partnerevents/migrate_announcement/" + u;
        case c.k_eCommunityPreview:
          return (
            l +
            (e.bOldAnnouncement
              ? "partnerevents/preview_old_announcement/" + u
              : "partnerevents/preview/" + d)
          );
        case c.k_eCommunityPreviewSale:
          return l + "partnerevents/previewsale/" + d;
        case c.k_eCommunityAdminPage:
          return l + "partnerevents";
        case c.k_eCommunityAnnouncementHub:
          return l + "announcements";
        case c.k_eStoreNewsHub:
          return (
            i +
            `news/${e.appid ? `app/${e.appid}` : `group/${e.clanSteamID.GetAccountID()}`}`
          );
        case c.k_eStoreOwnerPage:
          return (
            i +
            (e.appid
              ? "app/" + e.appid
              : "curator/" + e.clanSteamID.GetAccountID())
          );
        case c.k_eStoreSalePage:
          return e.jsondata.bSaleEnabled
            ? i +
                (e.jsondata.sale_vanity_id_valve_approved_for_sale_subpath
                  ? "sale/"
                  : "curator/" + e.clanSteamID.GetAccountID() + "/sale/") +
                e.jsondata.sale_vanity_id
            : i;
        case c.k_eCommunityView:
          return l + "announcements/detail/" + u;
        case c.k_eStoreView:
          return `${i}news/${e.appid ? `app/${e.appid}` : `group/${e.clanSteamID.GetAccountID()}`}/${e.bOldAnnouncement ? `old_view/${u}` : `view/${d}`}`;
        case c.k_eStoreUsersNewsHub:
          return `${i}news/`;
        default:
          return Object(s.a)(!1, "Unknown route specified for link"), "";
      }
    }
    function f(e, t, n) {
      return b(
        e,
        t,
        "forceAbsolute" === n || !m(t, e) ? "absolute" : "relative",
      );
    }
    function v(e, t) {
      const n = m(t, e),
        i = b(e, t, n ? "relative" : "absolute");
      return n
        ? a.createElement(r.b, { push: !0, to: i })
        : (window.open(i), null);
    }
    function S(e, t, n) {
      const a = _(e, t, !1);
      return "admin" === n ? a + "partnerevents" : "";
    }
    function y(e) {
      const { preferredFocus: t } = e,
        { bCanUseLink: n } = a.useContext(l),
        s = Object(r.h)();
      if (!e.eventModel) return null;
      const o = n && m(e.route, e.eventModel),
        c = b(e.eventModel, e.route, o ? "relative" : "absolute");
      return o
        ? a.createElement(
            i.c,
            {
              style: e.style,
              className: e.className,
              href: s.createHref({ pathname: c }),
              onClick: (t) => {
                var n;
                null === (n = e.onClick) || void 0 === n || n.call(e, t),
                  s.push(c);
              },
              preferredFocus: t,
            },
            e.children,
          )
        : a.createElement(
            i.c,
            {
              href: c,
              style: e.style,
              className: e.className,
              onClick: e.onClick,
              preferredFocus: t,
            },
            e.children,
          );
    }
  },
  r7Sf: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      AppPartnerEventsPage: "apppartnereventspage_AppPartnerEventsPage_2eY85",
      AppPartnerEventsBanner:
        "apppartnereventspage_AppPartnerEventsBanner_Y9BF3",
      AppBannerLinks: "apppartnereventspage_AppBannerLinks_3uf7j",
      ControlSection: "apppartnereventspage_ControlSection_2KJrY",
      NoGameLink: "apppartnereventspage_NoGameLink_3OW2i",
      AppPartnerEventsBody: "apppartnereventspage_AppPartnerEventsBody_9b4Iv",
      AppBannerGroup: "apppartnereventspage_AppBannerGroup_262ls",
      NoEvents: "apppartnereventspage_NoEvents_2wCkl",
      AppBannerCtn: "apppartnereventspage_AppBannerCtn_L3F--",
      AppBannerBackground: "apppartnereventspage_AppBannerBackground_1e56T",
      ClanBanner: "apppartnereventspage_ClanBanner_1h5CO",
      TallBanner: "apppartnereventspage_TallBanner_2uxg4",
      WideBanner: "apppartnereventspage_WideBanner_1W57S",
      AppBannerTitle: "apppartnereventspage_AppBannerTitle_h5BDc",
      NewsHubSubTitle: "apppartnereventspage_NewsHubSubTitle_1uIEh",
      AppBannerLogoCtn: "apppartnereventspage_AppBannerLogoCtn_1gmeu",
      AppBannerLogo: "apppartnereventspage_AppBannerLogo_2_A9L",
      HeaderFollowButton: "apppartnereventspage_HeaderFollowButton_1kqqq",
      AppBannerLink: "apppartnereventspage_AppBannerLink_2KHPM",
      AppBannerRSSLink: "apppartnereventspage_AppBannerRSSLink_2PitL",
      AppPartnerEventsContainer:
        "apppartnereventspage_AppPartnerEventsContainer_27K47",
      PartnerEvent: "apppartnereventspage_PartnerEvent_3nxUy",
      LibraryViewSubtitle: "apppartnereventspage_LibraryViewSubtitle_1XQiV",
      EventDetailsBody: "apppartnereventspage_EventDetailsBody_1Rakv",
      NoScrollArrows: "apppartnereventspage_NoScrollArrows_3rPRb",
      ControlSectionWidth: "apppartnereventspage_ControlSectionWidth_2tqTr",
      ControlSectionRightSide:
        "apppartnereventspage_ControlSectionRightSide_2a9fr",
      GameArt: "apppartnereventspage_GameArt_2nP0_",
      ScrollButton: "apppartnereventspage_ScrollButton_2RNp1",
      Up: "apppartnereventspage_Up_3K-Ln",
      Down: "apppartnereventspage_Down_2zf1c",
      CloseButton: "apppartnereventspage_CloseButton_16amK",
      AnimIn: "apppartnereventspage_AnimIn_2bE9v",
      transitionIn: "apppartnereventspage_transitionIn_1UFVD",
      ClickableBG: "apppartnereventspage_ClickableBG_PzEIc",
      DirectionState: "apppartnereventspage_DirectionState_3buC2",
      EventTypeAndTimeRow: "apppartnereventspage_EventTypeAndTimeRow_1DcfI",
      WithReminder: "apppartnereventspage_WithReminder_2l4US",
      TimeandPostedBy: "apppartnereventspage_TimeandPostedBy_3Rggd",
      EventType: "apppartnereventspage_EventType_3Dv0D",
      PostedBy: "apppartnereventspage_PostedBy_QSUzx",
      ReminderContainer: "apppartnereventspage_ReminderContainer_7oIFs",
      ReadMoreCnt: "apppartnereventspage_ReadMoreCnt_2XtzI",
    };
  },
  rDQm: function (e, t, n) {
    e.exports = {
      DevSummaryCtn: "creatorhomeembed_DevSummaryCtn_U7GS1",
      LargeFormat: "creatorhomeembed_LargeFormat_2746G",
      CreatorDescCtn: "creatorhomeembed_CreatorDescCtn_1ItLI",
      SmallFormat: "creatorhomeembed_SmallFormat_-rKjq",
      DevSummaryWidgetCtn: "creatorhomeembed_DevSummaryWidgetCtn_3tc_B",
      DevSummaryBackground: "creatorhomeembed_DevSummaryBackground_22uLq",
      DevSummaryContent: "creatorhomeembed_DevSummaryContent_1BVIv",
      Avatar: "creatorhomeembed_Avatar_24P3e",
      CreatorTitleCtn: "creatorhomeembed_CreatorTitleCtn_DykMl",
      CreatorNameName: "creatorhomeembed_CreatorNameName_1p5EY",
      CreatorTagline: "creatorhomeembed_CreatorTagline_1CLjZ",
      Title: "creatorhomeembed_Title_F4d0U",
      Followers: "creatorhomeembed_Followers_C8_ve",
      SocialFollowersCtn: "creatorhomeembed_SocialFollowersCtn_1Y4Vi",
      FollowBtnCtn: "creatorhomeembed_FollowBtnCtn_1Tn4W",
      FollowButton: "creatorhomeembed_FollowButton_21AOV",
      FollowBtnText: "creatorhomeembed_FollowBtnText_3Q48D",
      SocialContainer: "creatorhomeembed_SocialContainer_25404",
      SocialImg: "creatorhomeembed_SocialImg_2cEP7",
      SocialLink: "creatorhomeembed_SocialLink_3m7lu",
      CuratorHoverCtn: "creatorhomeembed_CuratorHoverCtn_LZpsp",
      AvatarLink: "creatorhomeembed_AvatarLink_DUFm7",
      MembersListLink: "creatorhomeembed_MembersListLink_2YoZQ",
    };
  },
  rGfI: function (e, t, n) {
    "use strict";
    var a;
    !(function (e) {
      (e[(e.k_BluetoothDeviceType_Invalid = 0)] =
        "k_BluetoothDeviceType_Invalid"),
        (e[(e.k_BluetoothDeviceType_Unknown = 1)] =
          "k_BluetoothDeviceType_Unknown"),
        (e[(e.k_BluetoothDeviceType_Phone = 2)] =
          "k_BluetoothDeviceType_Phone"),
        (e[(e.k_BluetoothDeviceType_Computer = 3)] =
          "k_BluetoothDeviceType_Computer"),
        (e[(e.k_BluetoothDeviceType_Headset = 4)] =
          "k_BluetoothDeviceType_Headset"),
        (e[(e.k_BluetoothDeviceType_Headphones = 5)] =
          "k_BluetoothDeviceType_Headphones"),
        (e[(e.k_BluetoothDeviceType_Speakers = 6)] =
          "k_BluetoothDeviceType_Speakers"),
        (e[(e.k_BluetoothDeviceType_OtherAudio = 7)] =
          "k_BluetoothDeviceType_OtherAudio"),
        (e[(e.k_BluetoothDeviceType_Mouse = 8)] =
          "k_BluetoothDeviceType_Mouse"),
        (e[(e.k_BluetoothDeviceType_Joystick = 9)] =
          "k_BluetoothDeviceType_Joystick"),
        (e[(e.k_BluetoothDeviceType_Gamepad = 10)] =
          "k_BluetoothDeviceType_Gamepad"),
        (e[(e.k_BluetoothDeviceType_Keyboard = 11)] =
          "k_BluetoothDeviceType_Keyboard");
    })(a || (a = {}));
  },
  rSim: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return u;
    });
    var a = n("q1tI"),
      r = n.n(a),
      i = (n("5VAZ"), n("xSFm")),
      s = n("OJUs"),
      o = n("l1Mn"),
      l = n("3wCP"),
      c = n("yd9a"),
      d = n.n(c);
    function u(e) {
      var t;
      const { item: n, strClassName: a } = e,
        [c] = Object(s.a)(
          null == n ? void 0 : n.id,
          Object(i.j)(null == n ? void 0 : n.type),
          { include_platforms: !0 },
        );
      if (!c) return null;
      const u = c.GetPlatforms();
      return r.a.createElement(
        "span",
        { className: Object(l.a)(d.a.CapsulePlatform, a) },
        u.windows && r.a.createElement(o.xb, null),
        u.mac && r.a.createElement(o.b, null),
        u.linux && r.a.createElement(o.jb, null),
        (null === (t = u.vr_support) || void 0 === t ? void 0 : t.vrhmd) &&
          r.a.createElement(o.tb, null),
      );
    }
  },
  sNIa: function (e, t, n) {
    e.exports = {
      Instructions: "pricingimportexport_Instructions_2A9me",
      ButtonRows: "pricingimportexport_ButtonRows_3Bpob",
      Button: "pricingimportexport_Button_3u7Vn",
      ImportButtonLabel: "pricingimportexport_ImportButtonLabel_3OJwY",
      OptionCtn: "pricingimportexport_OptionCtn_3zj1I",
      OptionDesc: "pricingimportexport_OptionDesc_2QfyW",
      ParseResultCount: "pricingimportexport_ParseResultCount_1P_KJ",
      ErrorHeader: "pricingimportexport_ErrorHeader_289pB",
      ParseErrors: "pricingimportexport_ParseErrors_1VTD4",
    };
  },
  shpI: function (e, t, n) {
    e.exports = {
      QuanityAndPrice: "saleitemdefdisplay_QuanityAndPrice_2Sie8",
      PriceCtn: "saleitemdefdisplay_PriceCtn_2i1v3",
      dropdown: "saleitemdefdisplay_dropdown_2gOv1",
      ItemDefCtn: "saleitemdefdisplay_ItemDefCtn_G23B3",
      ItemActionBtn: "saleitemdefdisplay_ItemActionBtn_3xkU1",
    };
  },
  sm16: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("KT6v"),
      s = n("+h+B");
    class o extends r.Component {
      constructor() {
        super(...arguments),
          (this.m_schUpdate = new s.b()),
          (this.m_bSetupComplete = !1);
      }
      componentDidMount() {
        0 == this.props.updateRate && this.updateCanvas();
      }
      componentWillUnmount() {
        this.m_schUpdate.Cancel();
      }
      componentDidUpdate() {
        this.updateCanvas();
      }
      BindCanvasRef(e) {
        this.m_elCanvas = e;
      }
      updateCanvas() {
        if (
          null == this.props.elementRef ||
          null == this.m_elCanvas ||
          this.m_bSetupComplete
        )
          return;
        let e = this.props.scaleFactor || [1, 1],
          t = this.props.elementRef,
          n = this.props.updateRate;
        this.m_Context = this.m_elCanvas.getContext("2d");
        let a = Math.floor(
            this.m_elCanvas.clientWidth / this.props.reductionFactor,
          ),
          r = Math.floor(
            this.m_elCanvas.clientHeight / this.props.reductionFactor,
          );
        (this.m_elCanvas.width = a),
          (this.m_elCanvas.height = r),
          this.props.blurAmount > 0 &&
            (this.m_Context.filter = "blur(" + this.props.blurAmount + "px)");
        let i = () => {
          this.m_Context.drawImage(t, 0, 0, a * e[0], r * e[1]),
            n > 0 && this.m_schUpdate.Schedule(n, i);
        };
        i(), (this.m_bSetupComplete = !0);
      }
      render() {
        return r.createElement("canvas", {
          id: this.props.id,
          className: this.props.className,
          ref: this.BindCanvasRef,
          width: this.props.width,
          height: this.props.height,
        });
      }
    }
    Object(a.b)([i.b], o.prototype, "BindCanvasRef", null),
      Object(a.b)([i.b], o.prototype, "updateCanvas", null);
  },
  syyk: function (e, t, n) {
    e.exports = {
      LanguageFeedNoteBucket: "languagefeedrow_LanguageFeedNoteBucket_3kWFq",
      LanguageFeedNoteCtn: "languagefeedrow_LanguageFeedNoteCtn_1HJbw",
      BodyFlow: "languagefeedrow_BodyFlow_2Gi6o",
      LeftColumn: "languagefeedrow_LeftColumn_RBTGa",
      RightColumn: "languagefeedrow_RightColumn_3oaVC",
      Title: "languagefeedrow_Title_1JJev",
      LanguageList: "languagefeedrow_LanguageList_1zFG4",
      Text: "languagefeedrow_Text_3_rII",
      DismissButton: "languagefeedrow_DismissButton_3tHPZ",
    };
  },
  t3RF: function (e, t, n) {
    "use strict";
    n("CH7/");
  },
  tLub: function (e, t, n) {
    "use strict";
  },
  tPzm: function (e, t, n) {
    e.exports = {
      PagedSettingsDialog: "pagedsettings_PagedSettingsDialog_379hM",
      PagedSettingsDialog_PageContent:
        "pagedsettings_PagedSettingsDialog_PageContent_26LM5",
      PagedSettingsDialog_PageListColumn:
        "pagedsettings_PagedSettingsDialog_PageListColumn_2Cma8",
      PagedSettingsDialog_Title:
        "pagedsettings_PagedSettingsDialog_Title_3gBLR",
      PagedSettingsDialog_PageList:
        "pagedsettings_PagedSettingsDialog_PageList_2f7v2",
      PagedSettingsDialog_PageListItem:
        "pagedsettings_PagedSettingsDialog_PageListItem_15qhi",
      DisabledItem: "pagedsettings_DisabledItem_2CiVW",
      Active: "pagedsettings_Active_bTXaV",
      PageListSpacer: "pagedsettings_PageListSpacer_1uU8O",
    };
  },
  tRvr: function (e, t, n) {
    e.exports = {
      BBCode_Toggle: "bbcodesuggestions_BBCode_Toggle_3wvfn",
      Active: "bbcodesuggestions_Active_xWvhE",
      BBCode: "bbcodesuggestions_BBCode_157dR",
    };
  },
  "u/hw": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return o;
    });
    var a = n("mrSG"),
      r = n("2vnA"),
      i = n("aaBf");
    i.c.CHAT_BASE_URL, i.c.CHAT_BASE_URL, i.c.CHAT_BASE_URL;
    class s {
      constructor(e) {
        this.init(e);
      }
      init(e) {
        (this.bValid = e.bValid),
          (this.stream = e.stream),
          (this.name = e.name),
          (this.appName = e.appName),
          (this.appID = e.appID),
          (this.link = e.link),
          (this.linkName = e.linkName),
          (this.tabIcon = e.tabIcon),
          (this.offlineImage = e.offlineImage),
          (this.gidEvent = e.gidEvent);
      }
    }
    Object(a.b)([r.C], s.prototype, "bValid", void 0),
      Object(a.b)([r.C], s.prototype, "stream", void 0),
      Object(a.b)([r.C], s.prototype, "name", void 0),
      Object(a.b)([r.C], s.prototype, "appName", void 0),
      Object(a.b)([r.C], s.prototype, "appID", void 0),
      Object(a.b)([r.C], s.prototype, "link", void 0),
      Object(a.b)([r.C], s.prototype, "linkName", void 0),
      Object(a.b)([r.C], s.prototype, "tabIcon", void 0),
      Object(a.b)([r.C], s.prototype, "offlineImage", void 0),
      Object(a.b)([r.C], s.prototype, "gidEvent", void 0);
    let o = new s({
      bValid: !1,
      stream: { 0: "#Broadcast_EnglishMain" },
      name: "",
      appName: "",
      appID: 0,
      link: "",
      linkName: "",
      tabIcon: "",
      offlineImage: "",
    });
  },
  u4d8: function (e, t, n) {
    e.exports = {
      Featuring: "featuring_Featuring_3T5cu",
      FeaturingMissing: "featuring_FeaturingMissing_22uFY",
      FeaturingActive: "featuring_FeaturingActive_EZKx4",
      FeaturingMainCapsule: "featuring_FeaturingMainCapsule_30k7G",
      FeaturingSpotlight: "featuring_FeaturingSpotlight_3VVXb",
      FeaturingIM: "featuring_FeaturingIM_3CobV",
      FeaturingDailyDeal: "featuring_FeaturingDailyDeal_1aulI",
      FeaturingProductBanner: "featuring_FeaturingProductBanner_17oCe",
      BannerCtn: "featuring_BannerCtn_2dqTs",
    };
  },
  uaeK: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return m;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("1NFT"),
      o = n("3wCP"),
      l = n("KT6v"),
      c = n("7DIv"),
      d = n("+GaU"),
      u = n("LkEf");
    const m = i.a.forwardRef(function (e, t) {
      const {
          "flow-children": n,
          onActivate: r,
          onCancel: m,
          focusClassName: p,
          focusWithinClassName: h,
        } = e,
        _ = Object(a.c)(e, [
          "flow-children",
          "onActivate",
          "onCancel",
          "focusClassName",
          "focusWithinClassName",
        ]),
        { elemProps: g, navOptions: b, gamepadEvents: f } = Object(s.b)(_);
      let v = {};
      const S = Object(u.a)(n);
      S != c.c.NONE && (v.layout = S),
        r && ((g.onClick = g.onClick || r), (f.onOKButton = f.onOKButton || r)),
        f.onOKButton && void 0 === b.focusable && (b.focusable = !0),
        m && (f.onCancelButton = f.onCancelButton || m),
        (g.className = Object(o.a)(g.className, "Panel", "Focusable"));
      const { ref: y, node: E } = Object(s.h)(
        Object.assign(Object.assign({}, v), b),
      );
      Object(d.a)(f, y);
      const C = Object(l.g)(y, t);
      return (
        (!b.focusable && !b.focusableIfNoChildren) ||
          (E && E.Tree.BUseVirtualFocus()) ||
          (g.tabIndex = g.tabIndex || 0),
        i.a.createElement(
          s.g.Provider,
          { value: E },
          E
            ? i.a.createElement(
                s.c,
                Object.assign({}, g, {
                  divRef: C,
                  node: E,
                  focusClassName: Object(o.a)(p, "gpfocus"),
                  focusWithinClassName: Object(o.a)(h, "gpfocuswithin"),
                }),
              )
            : i.a.createElement("div", Object.assign({}, g, { ref: C })),
        )
      );
    });
  },
  ubWN: function (e, t, n) {
    "use strict";
    var a;
    function r(e) {
      return e === a.k_ESteamRealmChina;
    }
    n.d(t, "b", function () {
      return a;
    }),
      n.d(t, "a", function () {
        return r;
      }),
      (function (e) {
        (e[(e.k_ESteamRealmUnknown = 0)] = "k_ESteamRealmUnknown"),
          (e[(e.k_ESteamRealmGlobal = 1)] = "k_ESteamRealmGlobal"),
          (e[(e.k_ESteamRealmChina = 2)] = "k_ESteamRealmChina");
      })(a || (a = {}));
  },
  ulcR: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return z;
    }),
      n.d(t, "a", function () {
        return U;
      });
    var a = n("mrSG"),
      r = n("TyAF"),
      i = n("wd/R"),
      s = n("q1tI"),
      o = n("AQa9"),
      l = (n("Q8oI"), n("LlcT")),
      c = n("v2zI"),
      d = n("VUXn"),
      u = (n("5VAZ"), n("REtK")),
      m = n("PVYc"),
      p = n("DAjO"),
      h = n("CjDG"),
      _ = n("2vnA"),
      g = n("aaBf"),
      b = (n("/loZ"), n("vDqi")),
      f = n.n(b);
    class v {
      constructor() {
        (this.m_bValidatedEmail = !1),
          (this.m_nMobileDeviceCount = 0),
          (this.m_bIsLoaded = !1),
          (this.m_bLoadedFromConfig = !1);
      }
      LazyInit() {
        if (!this.m_bLoadedFromConfig) {
          let e = Object(g.h)("notificationstore", "application_config");
          this.ValidateStoreDefault(e) &&
            Object(_.G)(() => {
              (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 Object(a.a)(this, void 0, void 0, function* () {
          return (
            this.LazyInit(),
            this.m_bIsLoaded
              ? 1
              : g.j.logged_in
                ? (this.m_promise || (this.m_promise = this.InternalLoad()),
                  this.m_promise)
                : 1
          );
        });
      }
      InternalLoad() {
        return Object(a.a)(this, void 0, void 0, function* () {
          const e = g.c.STORE_BASE_URL + "notification/ajaxusersettings",
            t = { authwgtoken: g.j.authwgtoken },
            n = yield f.a.get(e, { params: t, withCredentials: !0 });
          return (
            1 == n.data.success &&
              Object(_.G)(() => {
                (this.m_bIsLoaded = !0),
                  (this.m_bValidatedEmail = n.data.email_validated),
                  (this.m_nMobileDeviceCount = n.data.mobile_device_count);
              }),
            n.data.success
          );
        });
      }
    }
    Object(a.b)([_.C], v.prototype, "m_bValidatedEmail", void 0),
      Object(a.b)([_.C], v.prototype, "m_nMobileDeviceCount", void 0);
    let S = new v();
    var y = n("6f0C"),
      E = n("0CSJ"),
      C = n("RtrP"),
      w = n("bznR"),
      B = n("+d5k"),
      O = n("l1Mn"),
      D = n("XL31"),
      I = n("2hyl"),
      T = n("D6PB"),
      R = n("3wCP"),
      j = n("CqJL"),
      A = n("KT6v"),
      k = n("ZvQN"),
      M = n("4uD3"),
      P = n("Kjhy"),
      L = n.n(P),
      G = n("qz+l"),
      N = n("HidB"),
      F = n("9Pkb"),
      x = n("8uBp");
    let z = class extends s.Component {
      constructor() {
        super(...arguments),
          (this.m_elDropDownRef = s.createRef()),
          (this.m_bLoadWasCancelled = !1),
          (this.state = {
            bIsOpen: !1,
            bIsLoadingNotificationSettings: !S.BIsLoaded(),
          });
      }
      componentDidMount() {
        this.state.bIsLoadingNotificationSettings &&
          S.HintLoad()
            .catch(
              (e) => (
                console.error(
                  "EventReminderWidget load fail: " +
                    Object(T.a)(e).strErrorMsg,
                ),
                2
              ),
            )
            .then((e) => {
              1 != e ||
                this.m_bLoadWasCancelled ||
                this.setState({ bIsLoadingNotificationSettings: !1 });
            }),
          !this.props.eventModel.appid &&
            this.props.eventModel.clanSteamID &&
            u.a.LoadClanInfoForClanSteamID(this.props.eventModel.clanSteamID);
      }
      componentWillUnmount() {
        this.m_bLoadWasCancelled = !0;
      }
      ToggleMenu(e) {
        const t = h.a.Get().BIsUserLoggedIn();
        t || g.c.IN_CLIENT
          ? (!t &&
              g.c.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())
          : Object(B.d)(
              s.createElement(w.e, {
                strTitle: Object(j.f)("#EventDisplay_Share_NotLoggedIn"),
                strDescription: Object(j.f)(
                  "#EventDisplay_Share_NotLoggedIn_Description",
                ),
                strOKButtonText: Object(j.f)("#MobileLogin_SignIn"),
                onOK: () => Object(x.a)(),
              }),
              window,
            );
      }
      ShowMenu() {
        if (this.m_iMenuInstance) this.m_iMenuInstance.Show();
        else {
          let e = s.createElement(
              H,
              Object.assign({}, this.props, {
                fnHasReminderSet: () => this.BHasSomeNotificationSetting(),
                fnHidePanel: this.HideMenu,
              }),
            ),
            t = {
              bOverlapHorizontal: !0,
              bOverlapVertical: !0,
              bDisablePopTop: !0,
              bMatchWidth: !0,
              strClassName: Object(R.a)(
                N.ReminderDialog,
                N.ReminderOptions,
                y.contextMenu,
              ),
            };
          (this.m_iMenuInstance = Object(l.a)(
            e,
            this.m_elDropDownRef.current,
            t,
          )),
            this.m_iMenuInstance.SetOnHideCallback(this.HideMenu);
        }
        this.setState({ bIsOpen: !0 }),
          m.b.RecordAppInteractionEvent(
            this.props.eventModel.appid,
            m.a.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 (
          (S.BHasValidatedEmail() &&
            h.a
              .Get()
              .BFollowsEventAndNotifiedBy(
                e.clanSteamID,
                t,
                h.b.k_ENotifyFlagByEmail,
              )) ||
          (S.BHasPushNotification() &&
            h.a
              .Get()
              .BFollowsEventAndNotifiedBy(
                e.clanSteamID,
                t,
                h.b.k_ENotifyFlagByPush,
              ))
        );
      }
      render() {
        const e = this.props.bOnlyShowIcon && !this.state.bIsOpen,
          t = this.BHasSomeNotificationSetting();
        return s.createElement(
          "div",
          {
            className: Object(R.a)({
              [N.ReminderCheckBox]: !0,
              [L.a.ReminderCtn]: !0,
              [N.IconMode]: e,
              [N.TextMode]: !e,
              ReminderSet: t,
              RemindMeWidget: !0,
            }),
            onClick: this.ToggleMenu,
            ref: this.m_elDropDownRef,
          },
          t &&
            s.createElement(
              "div",
              { className: N.RemindCheck },
              s.createElement(O.m, null),
            ),
          e &&
            s.createElement(
              "div",
              { className: N.RemindBell },
              s.createElement(O.e, null),
            ),
          s.createElement(
            "div",
            { className: N.ReminderDefault },
            Object(j.f)("#EventDisplay_Reminder_SetReminder"),
          ),
          s.createElement("div", { className: N.ReminderOptions }),
        );
      }
    };
    function U(e) {
      const { eventGID: t } = e,
        n = Object(a.c)(e, ["eventGID"]),
        r = Object(d.b)(t);
      if (!r) return null;
      const i = Object(o.g)(g.c.LANGUAGE);
      return s.createElement(
        z,
        Object.assign({ lang: i }, n, { eventModel: r }),
      );
    }
    function W(e) {
      return i.unix(e).utc().format("YYYYMMDD[T]HHmmss[Z]");
    }
    Object(a.b)([A.b], z.prototype, "ToggleMenu", null),
      Object(a.b)([A.b], z.prototype, "ShowMenu", null),
      Object(a.b)([A.b], z.prototype, "HideMenu", null),
      (z = Object(a.b)([r.a], z));
    let H = class extends s.Component {
      constructor() {
        super(...arguments), (this.state = { bIsRequestInFlight: !1 });
      }
      OnChangeFollowOrIgnore(e, t, n) {
        return Object(a.a)(this, void 0, void 0, function* () {
          const { eventModel: a } = this.props,
            r = null == a ? void 0 : a.GID;
          if (r && r != o.h) {
            this.setState({ bIsRequestInFlight: !0 });
            try {
              yield h.a
                .Get()
                .SetFollowOrUnfollowEvent(!e, t, a.clanSteamID, r, n),
                e &&
                  (n === h.b.k_ENotifyFlagByEmail
                    ? this.TrackEventAction(m.a.k_eReminder_Email)
                    : n === h.b.k_ENotifyFlagByPush &&
                      this.TrackEventAction(m.a.k_eReminder_MobilePush));
            } catch (e) {
              Object(B.c)(
                s.createElement(
                  w.g,
                  {
                    strTitle: Object(j.f)(
                      t
                        ? "#EventDisplay_Reminder_IgnoreEvent_Error"
                        : "#EventDisplay_Reminder_FollowEvent_Error",
                    ),
                    strDescription: Object(j.f)(
                      t
                        ? "#EventDisplay_Reminder_IgnoreEvent_ErrorDesc"
                        : "#EventDisplay_Reminder_FollowEvent_ErrorDesc",
                    ),
                  },
                  Object(T.a)(e).strErrorMsg,
                ),
                window,
              );
            }
            this.setState({ bIsRequestInFlight: !1 });
          }
        });
      }
      OnChangeFollowByEmail(e) {
        this.OnChangeFollowOrIgnore(e, !1, h.b.k_ENotifyFlagByEmail);
      }
      OnChangeFollowByPush(e) {
        this.OnChangeFollowOrIgnore(e, !1, h.b.k_ENotifyFlagByPush);
      }
      GetExternalCalendarEventTitle() {
        const { eventModel: e, lang: t } = this.props,
          n = e.GetNameWithFallback(t);
        if (c.d.BHasEntityNameForID(e.appid, e.clanSteamID.GetAccountID())) {
          return `${c.d.GetEntityNameForID(e.appid, e.clanSteamID.GetAccountID())}: ${n}`;
        }
        return n;
      }
      TrackEventAction(e) {
        const { eventModel: t } = this.props;
        m.b.RecordAppInteractionEvent(t.appid, e);
      }
      GetExternalCalendarEventBody() {
        const { eventModel: e, lang: t } = this.props;
        let n = e.GetSubTitleWithLanguageFallback(t);
        n = n ? `${n}\n\n\n` : "";
        const a = e.GetSummaryWithFallback(t),
          r = e.jsondata.bSaleEnabled ? G.a.k_eStoreSalePage : G.a.k_eStoreView;
        return `${n}${a}\n\n${Object(G.d)(e, r, "forceAbsolute")}`;
      }
      GetGoogleCalendarLink() {
        const { eventModel: e } = this.props,
          t = encodeURIComponent(this.GetExternalCalendarEventTitle()),
          n = encodeURIComponent(this.GetExternalCalendarEventBody()),
          a = e.GetStartTimeAndDateUnixSeconds(),
          r = W(a),
          i = W(e.GetEndTimeAndDateUnixSeconds() || a + k.g.PerHour),
          s =
            (g.c.IN_CLIENT ? "steam://openurl_external/" : "") +
            `https://calendar.google.com/calendar/r/eventedit?text=${t}&details=${n}&dates=${r}/${i}`;
        return Object(M.f)(s);
      }
      GetICSDownloadLink(e) {
        const { eventModel: t, lang: n } = this.props,
          a = t.appid
            ? "app/" + t.appid
            : "group/" + t.clanSteamID.GetAccountID(),
          r = "l=" + Object(o.d)(n);
        return `${g.c.STORE_BASE_URL}${Object(G.f)()}/download/${a}/${e}/${t.GID}?${r}`;
      }
      render() {
        const {
            eventModel: e,
            bShowStartTime: t,
            bExpandLeft: n,
            bOnlyShowIcon: a,
            fnHasReminderSet: r,
            fnHidePanel: i,
          } = this.props,
          o = S.BHasValidatedEmail(),
          l = S.BHasPushNotification(),
          c = t && e.GetStartTimeAndDateUnixSeconds();
        return s.createElement(
          "div",
          null,
          s.createElement(
            "div",
            {
              className: Object(R.a)(
                N.ReminderCheckBox,
                a ? N.IconMode : N.TextMode,
                "RemindMeWidget",
              ),
              onClick: i,
            },
            r() &&
              s.createElement(
                "div",
                { className: N.RemindCheck },
                s.createElement(O.m, null),
              ),
            a &&
              s.createElement(
                "div",
                { className: N.RemindBell },
                s.createElement(O.e, null),
              ),
            s.createElement(
              "div",
              { className: N.ReminderDefault },
              Object(j.f)("#EventDisplay_Reminder_SetReminder"),
            ),
            s.createElement("div", { className: N.ReminderOpennedOptions }),
          ),
          s.createElement(
            "div",
            {
              className: Object(R.a)(
                N.FlexColumnContainer,
                N.ReminderBackground,
                n && N.ReminderExpandsLeft,
              ),
            },
            this.state.bIsRequestInFlight &&
              s.createElement(D.a, {
                className: N.RpcThrobber,
                size: "xlarge",
                position: "center",
              }),
            c &&
              s.createElement(
                "div",
                { className: N.FullStartTime },
                Object(j.o)(
                  "#EventDisplay_EventUpcoming_WithDateAndTime",
                  Object(j.k)(
                    c,
                    Object(k.c)(
                      new Date(1e3 * c),
                      p.b.GetTimeNowWithOverrideAsDate(),
                    ),
                  ),
                  Object(C.e)(c, !0),
                ),
              ),
            s.createElement(
              "div",
              { className: N.ReminderOptionsHeader },
              Object(j.f)("#EventDisplay_Reminder_GetNotification_Via"),
            ),
            s.createElement(
              "div",
              { className: Object(R.a)(N.ReminderOption, !o && N.Unverified) },
              s.createElement(
                I.a,
                {
                  className: N.CheckboxWrapper,
                  strTooltipClassname: N.ReminderOptionTooltip,
                  toolTipContent: Object(j.f)(
                    o
                      ? "#EventReminder_NotifyByEmail_ttip"
                      : "#EventReminder_NotifyByEmail_Missing",
                  ),
                },
                s.createElement(E.f, {
                  label: Object(j.f)("#EventDisplay_Reminder_ViaEmail"),
                  disabled: !o,
                  checked: h.a
                    .Get()
                    .BFollowsEventAndNotifiedBy(
                      e.clanSteamID,
                      e.GID,
                      h.b.k_ENotifyFlagByEmail,
                    ),
                  onChange: this.OnChangeFollowByEmail,
                }),
              ),
              !o &&
                s.createElement(
                  "div",
                  { className: F.FlexColumnContainer },
                  s.createElement(
                    "a",
                    {
                      href: g.c.STORE_BASE_URL + "account/",
                      target: g.c.IN_CLIENT ? void 0 : "_blank",
                      onClick: () =>
                        this.TrackEventAction(m.a.k_eReminder_EmailUnverified),
                    },
                    Object(j.f)("#EventReminder_NotifyByEmail_Missing_Add"),
                  ),
                ),
            ),
            s.createElement(
              "div",
              { className: Object(R.a)(N.ReminderOption, !l && N.Unverified) },
              s.createElement(
                I.a,
                {
                  className: N.CheckboxWrapper,
                  strTooltipClassname: N.ReminderOptionTooltip,
                  toolTipContent: Object(j.f)(
                    l
                      ? "#EventReminder_NotifyByMobile_ttip"
                      : "#EventReminder_NotifyByMobile_Missing",
                  ),
                },
                s.createElement(E.f, {
                  label: Object(j.f)("#EventDisplay_Reminder_ViaMobileApp"),
                  disabled: !l,
                  checked: h.a
                    .Get()
                    .BFollowsEventAndNotifiedBy(
                      e.clanSteamID,
                      e.GID,
                      h.b.k_ENotifyFlagByPush,
                    ),
                  onChange: this.OnChangeFollowByPush,
                }),
              ),
              !l &&
                s.createElement(
                  "div",
                  { className: F.FlexColumnContainer },
                  s.createElement(
                    "a",
                    {
                      href: g.c.STORE_BASE_URL + "mobile/?show=steamapp",
                      target: g.c.IN_CLIENT ? void 0 : "_blank",
                      onClick: () =>
                        this.TrackEventAction(
                          m.a.k_eReminder_MobilePushMissing,
                        ),
                    },
                    Object(j.f)("#EventReminder_NotifyByMobile_Install"),
                  ),
                ),
            ),
            s.createElement(
              s.Fragment,
              null,
              s.createElement(
                "div",
                { className: N.ReminderOptionsHeader },
                Object(j.f)("#EventDisplay_Reminder_AddToCalendar"),
              ),
              s.createElement(
                "div",
                { className: N.ReminderCalendarOptions },
                s.createElement(
                  "a",
                  {
                    className: N.ReminderOption,
                    href: this.GetICSDownloadLink("ics"),
                    onClick: () =>
                      this.TrackEventAction(m.a.k_eReminder_CalendarApple),
                  },
                  Object(j.f)("#EventDisplay_Reminder_AppleCalendar_Short"),
                ),
                s.createElement(
                  "a",
                  {
                    className: N.ReminderOption,
                    target: g.c.IN_CLIENT ? void 0 : "_blank",
                    href: this.GetGoogleCalendarLink(),
                    onClick: () =>
                      this.TrackEventAction(m.a.k_eReminder_CalendarGoogle),
                  },
                  Object(j.f)("#EventDisplay_Reminder_GoogleCalendar_Short"),
                ),
                s.createElement(
                  "a",
                  {
                    className: N.ReminderOption,
                    href: this.GetICSDownloadLink("outlook"),
                    onClick: () =>
                      this.TrackEventAction(m.a.k_eReminder_CalendarOutlook),
                  },
                  Object(j.f)("#EventDisplay_Reminder_OutlookCalendar_Short"),
                ),
              ),
            ),
            !1,
          ),
        );
      }
    };
    Object(a.b)([A.b], H.prototype, "OnChangeFollowByEmail", null),
      Object(a.b)([A.b], H.prototype, "OnChangeFollowByPush", null),
      Object(a.b)([A.b], H.prototype, "TrackEventAction", null),
      (H = Object(a.b)([r.a], H));
  },
  v2zI: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return a;
    }),
      n.d(t, "d", function () {
        return o;
      }),
      n.d(t, "b", function () {
        return l;
      }),
      n.d(t, "c", function () {
        return c;
      });
    var a,
      r = n("A5uu"),
      i = (n("AQa9"), n("Q8oI"), n("REtK")),
      s = n("CqJL");
    !(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");
    })(a || (a = {}));
    class o {
      GetSource() {
        return this.appInfo ? this.appInfo.source : this.clanInfo.source;
      }
      static GetEntityNameForID(e, t) {
        var n;
        if (e)
          return null === (n = r.a.Get().GetApp(e)) || void 0 === n
            ? void 0
            : n.GetName();
        if (t) {
          const e = i.a.GetClanInfoByClanAccountID(t);
          if (e) return e.group_name;
        }
        return Object(s.f)("#EventCalendar_MuteApp_Unknown");
      }
      static BHasEntityNameForID(e, t) {
        var n, a;
        return e
          ? Boolean(
              null === (n = r.a.Get().GetApp(e)) || void 0 === n
                ? void 0
                : n.GetName(),
            )
          : !!t &&
              !!(null === (a = i.a.GetClanInfoByClanAccountID(t)) ||
              void 0 === a
                ? void 0
                : a.group_name);
      }
      GetEntityName() {
        return o.GetEntityNameForID(this.appid, this.clanid);
      }
      GetGameCapsule() {
        var e, t;
        if (this.appInfo)
          return null ===
            (t =
              null === (e = r.a.Get().GetApp(this.appInfo.appid)) ||
              void 0 === e
                ? void 0
                : e.GetAssets()) || void 0 === t
            ? void 0
            : t.GetMainCapsuleURL();
        if (this.clanInfo) {
          let e = i.a.GetClanInfoByClanAccountID(this.clanInfo.clanid);
          if (e) return e.avatar_full_url;
        }
        return Object(s.f)("#EventCalendar_MuteApp_Unknown");
      }
      GetGameIcon() {
        var e, t;
        if (this.appInfo)
          return null ===
            (t =
              null === (e = r.a.Get().GetApp(this.appInfo.appid)) ||
              void 0 === e
                ? void 0
                : e.GetAssets()) || void 0 === t
            ? void 0
            : t.GetCommunityIconURL();
        if (this.clanInfo) {
          let e = i.a.GetClanInfoByClanAccountID(this.clanInfo.clanid);
          if (e) return e.avatar_full_url;
        }
        return Object(s.f)("#EventCalendar_MuteApp_Unknown");
      }
    }
    class l {}
    class c {}
  },
  v7lb: function (e, t) {
    e.exports =
      "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAIAAgAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/P4mW5nmllmeSR3LMzMSSc1a07R73V72KzsILi9u5TiOC2RpJHPoFGSarQ/ef6n+de4fAn9oaL4D+DfGX9i6Uf8AhO9XSKDT9eZY3WxiDZcBGByTkn0JCZBxQB41qeiX+iXslnqNtdWF3H9+3uo2jkX6q2CKpgy208MsUzxyI4ZWViCDmvsr9rrUdT1j9nb4T6h8RBbH4qXUs0zMsSxXJ04hivnKoAU5MPGBg7uM7q+NpvvJ9R/OgAh+8/1P867T4POI/iz4Mc6U+u7NZtG/suPbuu8TKfKG4hct93njnmuKIltp5opYXjkRyrKykEHNWbDVbvSr63vbKaezvLeRZYbi3ZkkidTlWVhyCCMgjpQB6l+1F411nx58dPFWpa5a3mnXaXP2ZNOvXVpLKNBhYflJUY5PB5JJ6k15LN95PqP51a1PWr7WtQnvtRuLm/vrhzJNc3TtJLIx6lmbJJ9zVQCW5nhiiheSR3CqqqSSc0Af/9k=";
  },
  v85R: function (e, t, n) {
    e.exports = {
      BodyNoScroll: "modals_BodyNoScroll_18M-m",
      BodyNoScrollDialog: "modals_BodyNoScrollDialog_1z8lz",
      OverlayModal: "modals_OverlayModal_33Ku8",
      GamepadOnlyModalWrapper: "modals_GamepadOnlyModalWrapper_sxEIJ",
      GamepadOnlyPanelWrapper: "modals_GamepadOnlyPanelWrapper_2PCDj",
    };
  },
  vBpD: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return u;
    }),
      n.d(t, "c", function () {
        return g;
      }),
      n.d(t, "d", function () {
        return b;
      }),
      n.d(t, "b", function () {
        return S;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = n("3wCP"),
      o = n("0CSJ"),
      l = n("uaeK"),
      c = n("XUgT"),
      d = n("h3FJ");
    class u extends i.a.Component {
      constructor(e) {
        super(e), (this.state = { activeIndex: e.initialActiveIndex || 0 });
      }
      render() {
        const { config: e } = this.props,
          { activeIndex: t } = this.state,
          n = e[t] && e[t].renderContent ? e[t].renderContent() : null,
          a = e.length > 1,
          r = a
            ? ({ detail: { button: t } }) => {
                t === c.a.BUMPER_LEFT
                  ? this.setState({
                      activeIndex: Math.max(0, this.state.activeIndex - 1),
                    })
                  : t === c.a.BUMPER_RIGHT &&
                    this.setState({
                      activeIndex: Math.min(
                        e.length - 1,
                        this.state.activeIndex + 1,
                      ),
                    });
              }
            : void 0;
        return i.a.createElement(
          l.a,
          { className: d.Picker, onButtonDown: r },
          a && i.a.createElement(m, null, this.RenderTabs()),
          n,
        );
      }
      RenderTabs() {
        return this.props.config.map(({ renderTab: e }, t) => {
          const n = this.state.activeIndex === t;
          return i.a.createElement(
            h,
            {
              key: t,
              active: n,
              onClick: () => this.setState({ activeIndex: t }),
            },
            e(n),
          );
        });
      }
    }
    function m(e) {
      return i.a.createElement(
        l.a,
        { className: d.Tabs, "flow-children": "row" },
        e.children,
      );
    }
    function p(e) {
      return i.a.createElement("div", { className: d.Content }, e.children);
    }
    function h(e) {
      const { active: t, children: n, onClick: a } = e;
      return i.a.createElement(
        l.a,
        {
          className: Object(s.a)(d.Tab, t && d.Active),
          focusClassName: d.Focus,
          onActivate: a,
        },
        i.a.createElement(
          "div",
          { className: Object(s.a)(d.TabContent, t && d.Active) },
          n,
        ),
      );
    }
    function _(e) {
      const {
        items: t,
        renderItem: n,
        onItemSelect: a,
        keyExtractor: r,
        renderEmpty: s,
      } = e;
      let o = t.map((e, s) =>
        i.a.createElement(
          l.a,
          {
            key: r(e),
            className: d.Item,
            onActivate: () => a(t[s]),
            autoFocus: 0 === s,
            focusClassName: d.Focus,
          },
          n(t[s]),
        ),
      );
      return (
        0 === t.length && s && (o = s()),
        i.a.createElement(
          l.a,
          { "flow-children": "grid", className: d.ItemList },
          o,
        )
      );
    }
    function g(e) {
      const { title: t, onFilterChange: n, filter: r, onSubmit: s } = e,
        o = Object(a.c)(e, ["title", "onFilterChange", "filter", "onSubmit"]);
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(
          p,
          null,
          i.a.createElement(
            f,
            { title: t },
            i.a.createElement(_, Object.assign({}, o)),
          ),
        ),
        i.a.createElement(v, { value: r, onChange: n, onSubmit: s }),
      );
    }
    function b(e) {
      const { onFilterChange: t, filter: n, sections: r, title: s } = e;
      return i.a.createElement(
        i.a.Fragment,
        null,
        i.a.createElement(
          p,
          null,
          s && i.a.createElement("div", { className: d.SectionedPageTitle }, s),
          r.map((e) => {
            var { title: t } = e,
              n = Object(a.c)(e, ["title"]);
            return i.a.createElement(
              f,
              { title: t, key: t },
              i.a.createElement(_, Object.assign({}, n)),
            );
          }),
        ),
        i.a.createElement(v, { value: n, onChange: t }),
      );
    }
    function f(e) {
      return i.a.createElement(
        "div",
        { className: d.Section },
        i.a.createElement("div", { className: d.SectionTitle }, e.title),
        i.a.createElement("div", { className: d.SectionContent }, e.children),
      );
    }
    function v(e) {
      const { value: t, onChange: n, onSubmit: a } = e;
      return i.a.createElement(
        "div",
        { className: d.FilterInputContainer },
        i.a.createElement(o.z, {
          type: "text",
          placeholder: "Search...",
          className: d.FilterInput,
          value: t,
          onChange: (e) => n(e.target.value),
          onSubmit: a,
        }),
      );
    }
    function S(e) {
      const { className: t } = e,
        n = Object(a.c)(e, ["className"]);
      return i.a.createElement(
        "div",
        Object.assign({ className: Object(s.a)(t, d.AddonPickerMessage) }, n),
      );
    }
  },
  vSSf: function (e, t, n) {
    e.exports = {
      ImagesOuterContainer: "clanimagechooser_ImagesOuterContainer_3ImTf",
      Hilight: "clanimagechooser_Hilight_Yr_pw",
      ImageContainer: "clanimagechooser_ImageContainer_RohVa",
      Image: "clanimagechooser_Image_28gJt",
      ImageFilename: "clanimagechooser_ImageFilename_2Gjp4",
    };
  },
  vWpT: function (e, t, n) {
    e.exports = {
      countdownCtn: "giveawaynextdraw_countdownCtn_2Y059",
      Closed: "giveawaynextdraw_Closed_3nCnN",
      CountDownCtn: "giveawaynextdraw_CountDownCtn_3oMf2",
      CountDownTime: "giveawaynextdraw_CountDownTime_22hNT",
      CountDownText: "giveawaynextdraw_CountDownText_SETc0",
      LearnMore: "giveawaynextdraw_LearnMore_1N7Oy",
      Throbber: "giveawaynextdraw_Throbber_2XVl6",
      WinnerInfo: "giveawaynextdraw_WinnerInfo_2b8Ul",
      WinnerCount: "giveawaynextdraw_WinnerCount_20_b8",
      WinnerText: "giveawaynextdraw_WinnerText_16Gnq",
    };
  },
  vbfM: function (e, t, n) {},
  vfQD: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return a;
    }),
      n.d(t, "b", function () {
        return _;
      }),
      n.d(t, "a", function () {
        return v;
      });
    var a,
      r = n("mrSG"),
      i = n("2vnA"),
      s = (n("AQa9"), n("Q8oI")),
      o = n("v2zI"),
      l = n("fvA7"),
      c = n("aaBf"),
      d = n("PVYc"),
      u = n("DAjO");
    !(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");
    })(a || (a = {}));
    const m = [
        a.k_ELibrary,
        a.k_EWishlist,
        a.k_EFollowing,
        a.k_ERecommended,
        a.k_ESteam,
        a.k_ECurator,
      ],
      p = [...m, a.k_EFeatured],
      h = [a.k_EFeatured];
    var _;
    !(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");
    })(_ || (_ = {}));
    const g = [
        _.k_ENews,
        _.k_EEvents,
        _.k_EStreaming,
        _.k_EUpdates,
        _.k_EReleases,
        _.k_ESales,
      ],
      b = new Map([
        [_.k_ENews, [28]],
        [_.k_EEvents, [9, 27, 22, 23, 24, 35, 25, 26]],
        [_.k_EStreaming, [11]],
        [_.k_EUpdates, [12, 13, 14]],
        [_.k_EReleases, [10, 29, 16, 15, 32]],
        [_.k_ESales, [20, 21, 31, 34]],
      ]);
    function f(e) {
      return new Map(e.map((e) => [e, !0]));
    }
    class v {
      constructor() {
        (this.m_mapEventTypeGroupsAllowed = new Map()),
          (this.m_mapGameSources = new Map()),
          (this.m_bCuratorUnhideOnFollowDialogDismissed = !1),
          (this.m_eStorageType = "session");
      }
      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((n, a) => {
            -1 !== n.indexOf(e) && (t = a);
          }),
          t || _.k_EEvents
        );
      }
      InitDefaultCheckboxes(e, t, n) {
        (this.m_bInitializedForUpdatesOnly = t),
          (this.m_mapEventTypeGroupsAllowed = f(t ? [_.k_EUpdates] : g));
        const r = c.c.EREALM === s.ESteamRealm.k_ESteamRealmChina ? p : m;
        (this.m_mapGameSources = f(e ? r : h)),
          n && this.m_mapGameSources.set(a.k_EFeatured, !0);
      }
      Init(e, t, n, a, r) {
        (this.m_eStorageType = r), (this.m_strStorageKey = a);
        const i = this.GetStorageObject(),
          s = i ? i.getItem(this.GetPreferencesStorageKey()) : null;
        if (s) {
          const e = JSON.parse(s);
          if (e.rgEventTypeGroupsAllowed && e.rgGameSources) {
            const { rgEventTypeGroupsAllowed: t, rgGameSources: n } = e;
            return (
              (this.m_mapEventTypeGroupsAllowed = f(t)),
              (this.m_mapGameSources = f(n)),
              void (
                void 0 !== e.bCuratorUnhideOnFollowDismissed &&
                (this.m_bCuratorUnhideOnFollowDialogDismissed =
                  e.bCuratorUnhideOnFollowDismissed)
              )
            );
          }
        }
        this.InitDefaultCheckboxes(e, t, n);
      }
      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 === a.k_EFollowing && !u.b.bIsFollowingEnabled) &&
          !(e === a.k_ECurator && !u.b.bIsCuratorsEnabled) &&
          this.m_mapGameSources.has(e)
        );
      }
      SetEventTypeGroupAllowed(e, t) {
        t
          ? this.m_mapEventTypeGroupsAllowed.set(e, !0)
          : this.m_mapEventTypeGroupsAllowed.delete(e),
          this.SaveFilterPreferences(),
          d.b.RecordFilterChangeEvent(this);
      }
      SetGameSourceAllowed(e, t) {
        t
          ? (this.m_mapGameSources.set(e, !0),
            e == a.k_ERecent
              ? this.m_mapGameSources.delete(a.k_ELibrary)
              : e == a.k_ELibrary &&
                (Object(l.a)(
                  !this.m_mapGameSources.has(a.k_ERecent),
                  "Setting Library although Recent already set - illusion was broken",
                ),
                this.m_mapGameSources.delete(a.k_ERecent)))
          : (this.m_mapGameSources.delete(e),
            e == a.k_ERecent
              ? this.m_mapGameSources.set(a.k_ELibrary, !0)
              : e == a.k_ELibrary && this.m_mapGameSources.delete(a.k_ERecent)),
          this.SaveFilterPreferences(),
          d.b.RecordFilterChangeEvent(this);
      }
      BShouldDisplayEvent(e) {
        const t = e.GetSource(),
          n = Boolean(
            e.appInfo &&
              e.appInfo.last_played &&
              e.appInfo.last_played + 15552e3 >= u.b.GetTimeNowWithOverride(),
          );
        return (
          !!(
            this.enabledEventTypeSet.has(e.event_type) ||
            (this.m_bInitializedForUpdatesOnly &&
              this.BIsEventTypeGroupAllowed(_.k_EUpdates) &&
              28 == e.event_type &&
              e.start_time < 1599202800)
          ) &&
          (!!(t & o.a.k_eRequired || t & o.a.k_eReposted) ||
            Boolean(
              (this.BIsGameSourceAllowed(a.k_ERecent) && n) ||
                (this.BIsGameSourceAllowed(a.k_ELibrary) &&
                  t & o.a.k_eLibrary) ||
                (this.BIsGameSourceAllowed(a.k_EWishlist) &&
                  t & o.a.k_eWishlist) ||
                (this.BIsGameSourceAllowed(a.k_EFollowing) &&
                  t & o.a.k_eFollowing) ||
                (this.BIsGameSourceAllowed(a.k_ERecommended) &&
                  t & o.a.k_eRecommended) ||
                (this.BIsGameSourceAllowed(a.k_ESteam) && t & o.a.k_eSteam) ||
                (this.BIsGameSourceAllowed(a.k_EFeatured) &&
                  t & o.a.k_eFeatured) ||
                (this.BIsGameSourceAllowed(a.k_ECurator) && t & o.a.k_eCurator),
            ))
        );
      }
      BAreAllEventsHidden() {
        return (
          0 == this.m_mapEventTypeGroupsAllowed.size ||
          0 == this.m_mapGameSources.size
        );
      }
      BAreAnyEventsFiltered(e) {
        const t = c.c.EREALM === s.ESteamRealm.k_ESteamRealmChina ? p : m;
        return (
          (e ? t : h).some((e) => !this.BIsGameSourceAllowed(e)) ||
          g.some((e) => !this.BIsEventTypeGroupAllowed(e))
        );
      }
    }
    Object(r.b)([i.C], v.prototype, "m_mapEventTypeGroupsAllowed", void 0),
      Object(r.b)([i.C], v.prototype, "m_mapGameSources", void 0),
      Object(r.b)(
        [i.C],
        v.prototype,
        "m_bCuratorUnhideOnFollowDialogDismissed",
        void 0,
      ),
      Object(r.b)(
        [Object(i.n)({ keepAlive: !0, equals: i.m.structural })],
        v.prototype,
        "enabledEventTypeSet",
        null,
      ),
      Object(r.b)([i.k], v.prototype, "SetEventTypeGroupAllowed", null),
      Object(r.b)([i.k], v.prototype, "SetGameSourceAllowed", null);
  },
  vieE: function (e, t, n) {
    e.exports = {
      TogglePasswordVisibilityBtn:
        "gamepadinput_TogglePasswordVisibilityBtn_1Ozw-",
      Digits: "gamepadinput_Digits_KKca5",
    };
  },
  vnDA: function (e, t, n) {
    e.exports = {
      CalendarGridCtn: "dailydealcalendar_CalendarGridCtn_2smJ3",
      NavBar: "dailydealcalendar_NavBar_3h36H",
      NavButton: "dailydealcalendar_NavButton_TRinQ",
      CalendarGrid: "dailydealcalendar_CalendarGrid_1dtYb",
      CalendarCol: "dailydealcalendar_CalendarCol_RdS93",
      DayOfTheWeek: "dailydealcalendar_DayOfTheWeek_1gW_B",
      DailyDealCtn: "dailydealcalendar_DailyDealCtn_2XgAJ",
      Available: "dailydealcalendar_Available_qoXiK",
      Taken: "dailydealcalendar_Taken_uhJP7",
      Reserved: "dailydealcalendar_Reserved_s-YTZ",
      DailyDealImage: "dailydealcalendar_DailyDealImage_1Hprj",
      DailyDealImageFallback: "dailydealcalendar_DailyDealImageFallback_8wyyU",
      NotesIcon: "dailydealcalendar_NotesIcon_1t0Rh",
      Pct: "dailydealcalendar_Pct_1mEh6",
      DealSection: "dailydealcalendar_DealSection_jxKWo",
      DayName: "dailydealcalendar_DayName_3-2Cu",
      PastEntry: "dailydealcalendar_PastEntry_3E1Fg",
      TodayEntry: "dailydealcalendar_TodayEntry_lafVM",
      FutureEntry: "dailydealcalendar_FutureEntry_15wQf",
      Blocked: "dailydealcalendar_Blocked_E1Gps",
    };
  },
  "w+EE": function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      mentionDialogPosition: "suggestdialog_mentionDialogPosition_1z636",
      mentionDialog: "suggestdialog_mentionDialog_HApJl",
      mentionSearchText: "suggestdialog_mentionSearchText_1dD3t",
      suggestOption: "suggestdialog_suggestOption_1QvuK",
      mentionSearchOption: "suggestdialog_mentionSearchOption_sFiDx",
      manyMatches: "suggestdialog_manyMatches_22yFX",
      selected: "suggestdialog_selected_G1CRe",
      nickname: "suggestdialog_nickname_oIL9F",
      mentionSearchMatch: "suggestdialog_mentionSearchMatch_1t0Xl",
    };
  },
  wFY3: function (e, t) {},
  wRr3: function (e, t, n) {
    e.exports = { "duration-app-launch": "800ms" };
  },
  wU9F: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return i;
    }),
      n.d(t, "a", function () {
        return s;
      });
    var a = n("q1tI"),
      r = n("l1Mn");
    n("xjhW"), n("aaBf");
    function i() {
      return a.createElement(r.R, null);
    }
    function s() {
      return a.createElement(r.y, null);
    }
  },
  wWru: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return d;
    });
    var a = n("XUgT"),
      r = (n("hqYq"), n("+h+B")),
      i = n("DRUm"),
      s = n("IDaJ"),
      o = (n("x+8X"), n("DV2j"), n("7DIv"));
    const l = new i.a("FocusNavigation").Debug,
      c = new i.a("GamepadEvents").Debug;
    class d {
      constructor(e, t) {
        (this.m_onActivateCallbacks = new r.a()),
          (this.m_onDeactivateCallbacks = new r.a()),
          (this.m_onActiveFocusStateChangedCallbacks = new r.a()),
          (this.m_lastFocusNodeXMovement = new u()),
          (this.m_lastFocusNodeYMovement = new u()),
          (this.m_DeferredFocus = new m(this)),
          (this.m_Controller = e),
          (this.m_ID = t),
          (this.m_Root = new o.a(this, null, null)),
          this.m_Root.SetProperties({ layout: o.c.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;
      }
      BUseVirtualFocus() {
        return this.m_bVirtualFocus;
      }
      CreateNode(e, t) {
        return new o.a(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);
      }
      IsActiveFocusNavTree() {
        return this.m_Controller.IsActiveFocusNavTree(this);
      }
      TakeFocus(e, t = !1) {
        let n = !1;
        t
          ? (n = this.Root.BVisibleChildTakeFocus(e))
          : this.m_lastFocusNode && (n = this.m_lastFocusNode.BTakeFocus(e)),
          n || (n = this.Root.BTakeFocus(e)),
          n || this.TransferFocus(e, this.Root);
      }
      Activate(e = !1) {
        this.m_Controller.OnGamepadNavigationTreeActivated(this, e);
      }
      Deactivate() {
        this.m_Controller.BlurNavTree(this);
      }
      BIsActive() {
        return (
          this.m_Controller.IsActiveNavTree(this) ||
          this.m_Controller.IsActiveFocusNavTree(this)
        );
      }
      BIsActiveFocus() {
        return this.m_Controller.IsActiveFocusNavTree(this);
      }
      SetIsMounted() {
        const e = this.m_Root.Element;
        (e.__nav_tree = this),
          e.__nav_wrapper && e.__nav_wrapper.BindTree(this),
          (this.m_bIsMounted = !0);
      }
      SetParentEmbeddedNavTree(e) {
        this.m_ParentEmbeddedNavTree = e;
      }
      GetParentEmbeddedNavTree() {
        return this.m_ParentEmbeddedNavTree;
      }
      SetOnUnhandledButtonCallback(e) {
        this.m_onUnhandledButton = e;
      }
      HandleButtonDownEventAsLogicalEvent(e) {
        let { bUnhandled: t, bHadLogicalEventMapping: n } = Object(s.d)(e);
        return (
          c(
            `Logical gamepad Event fired: ${a.a[e.detail.button]}, had logical event: ${n}, 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, n) {
        this.m_Controller.BatchedUpdate(() =>
          this.TransferFocusInternal(e, t, n),
        );
      }
      TransferFocusInternal(e, t, n) {
        const a = this.m_lastFocusNode;
        if (
          a == t &&
          (this.m_bWasActiveForLastFocusChange || !this.BIsActive())
        )
          return;
        l(
          `Transfer focus in ${this.id}, source: ${s.c[e]}, from/to:`,
          null == a ? void 0 : a.m_element,
          null == t ? void 0 : t.m_element,
        );
        const r = { blurredNode: a, focusedNode: t, source: e },
          i = (function (e, t) {
            if (!t || !e) return null;
            let n = t,
              a = e;
            for (; n.GetDepth() > a.GetDepth() && n.Parent; ) n = n.Parent;
            for (; a.GetDepth() > n.GetDepth() && a.Parent; ) a = a.Parent;
            for (; n != a && n && a; ) (n = n.Parent), (a = a.Parent);
            return n;
          })(a, t);
        if (a) {
          a.SetHasFocus(!1);
          for (let e = a; e && e != i; e = e.Parent) e.SetFocusWithin(!1);
        }
        if (t) {
          t.SetHasFocus(!0);
          for (let e = t; e && e != i; e = e.Parent) e.SetFocusWithin(!0);
        }
        let o = this.m_Controller.OnFocusChangeStart(e, this, a, t);
        t && t.SetDOMFocusAndScroll(e, a),
          a &&
            (Object(s.b)(a.Element, "vgp_onblur", r),
            !a.m_FocusRing ||
              (t && a.m_FocusRing == t.m_FocusRing) ||
              a.m_FocusRing.OnBlur(e, a, t)),
          t &&
            (Object(s.b)(t.Element, "vgp_onfocus", r),
            t.m_FocusRing &&
              (a && t.m_FocusRing == a.m_FocusRing
                ? t.m_FocusRing.OnFocusChange(e, a, t)
                : t.m_FocusRing.OnFocus(e, t, a))),
          (this.m_lastFocusNode = t),
          (this.m_bWasActiveForLastFocusChange = this.BIsActive()),
          "x" == n
            ? this.m_lastFocusNodeXMovement.SetNode(t.Element)
            : "y" == n
              ? this.m_lastFocusNodeYMovement.SetNode(t.Element)
              : (this.m_lastFocusNodeXMovement.Reset(),
                this.m_lastFocusNodeYMovement.Reset()),
          this.m_Controller.OnFocusChangeComplete(o);
      }
    }
    class u {
      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 m {
      constructor(e) {
        (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_interval = window.setTimeout(() => {
                (this.m_interval = void 0), this.ExecuteQueuedFocus();
              }, 1)))
          : (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;
      }
      Reset() {
        (this.m_bSuppressed = !1),
          (this.m_target = void 0),
          this.ClearInterval();
      }
      ClearInterval() {
        this.m_interval &&
          (window.clearInterval(this.m_interval), (this.m_interval = void 0));
      }
      ExecuteQueuedFocus() {
        if (((this.m_bSuppressed = !1), this.m_target)) {
          const { node: e, bFocusDescendant: t } = this.m_target;
          (this.m_target = void 0),
            l(
              `DeferredFocus in ${this.m_tree.id} - focusing ${t ? "descendant of" : "node"} ${e.NavKey}`,
            ),
            t
              ? e.BChildTakeFocus(s.c.APPLICATION) ||
                this.m_tree.TransferFocus(s.c.APPLICATION, e)
              : e.BTakeFocus(s.c.APPLICATION);
        }
      }
    }
  },
  wb6w: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return c;
    });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n.n(r),
      s = (n("IDaJ"), n("DV2j"), n("KT6v")),
      o = (n("XUgT"), n("uaeK")),
      l = n("BDyy");
    const c = i.a.forwardRef(function (e, t) {
      const {
          onExplicitFocusLevelChanged: n,
          onOKButton: r,
          onCancelButton: l,
          navRef: c,
          focusable: u,
        } = e,
        m = Object(a.c)(e, [
          "onExplicitFocusLevelChanged",
          "onOKButton",
          "onCancelButton",
          "navRef",
          "focusable",
        ]),
        p = i.a.useRef(),
        { fnOnOKButton: h, fnOnCancelButton: _ } = d({
          navRefPanel: p,
          onOKButton: r,
          onCancelButton: l,
          onExplicitFocusLevelChanged: n,
        }),
        g = Object(s.g)(c, p);
      return i.a.createElement(
        o.a,
        Object.assign({}, m, {
          onOKButton: h,
          onCancelButton: _,
          navRef: g,
          ref: t,
          focusable: !1 !== u,
        }),
      );
    });
    i.a.forwardRef(function (e, t) {
      const { onOKButton: n, onCancelButton: r, navRef: o, focusable: c } = e,
        u = Object(a.c)(e, [
          "onOKButton",
          "onCancelButton",
          "navRef",
          "focusable",
        ]),
        m = i.a.useRef(),
        p = i.a.useRef(),
        h = i.a.useCallback((e, t) => e.FocusVisibleChild(), []),
        { fnOnOKButton: _, fnOnCancelButton: g } = d({
          navRefPanel: m,
          onOKButton: n,
          onCancelButton: r,
          fnFocusChildren: h,
        }),
        b = Object(s.g)(p, t),
        f = Object(s.g)(o, m);
      return i.a.createElement(
        l.a,
        Object.assign({}, u, {
          onOKButton: (e) => _(e),
          onCancelButton: g,
          navRef: f,
          ref: b,
          focusable: !1 !== c,
        }),
      );
    });
    function d(e) {
      let {
        navRefPanel: t,
        onOKButton: n,
        onCancelButton: a,
        onExplicitFocusLevelChanged: r,
        fnFocusChildren: s,
      } = e;
      s = null != s ? s : u;
      return {
        fnOnOKButton: i.a.useCallback(
          (e) => {
            const a = t.current;
            return a.BHasFocus() && s(a, e.detail.button)
              ? (r && r(!0), !0)
              : !!n && n(e);
          },
          [t, n, r, s],
        ),
        fnOnCancelButton: i.a.useCallback(
          (e) => {
            const n = t.current;
            return n.BFocusWithin() &&
              !n.BHasFocus() &&
              n.TakeFocus(e.detail.button)
              ? (r && r(!1), !0)
              : !!a && a(e);
          },
          [t, a, r],
        ),
      };
    }
    function u(e, t) {
      return e.ChildTakeFocus(t);
    }
  },
  wkCc: function (e, t, n) {
    "use strict";
    var a, r;
    !(function (e) {
      (e[(e.Input = 0)] = "Input"), (e[(e.Output = 1)] = "Output");
    })(a || (a = {})),
      (function (e) {
        (e[(e.Input = 0)] = "Input"),
          (e[(e.AllOutput = 1)] = "AllOutput"),
          (e[(e.Left = 2)] = "Left"),
          (e[(e.Right = 3)] = "Right"),
          (e[(e.Sub = 4)] = "Sub"),
          (e[(e.BackLeft = 5)] = "BackLeft"),
          (e[(e.BackRight = 6)] = "BackRight");
      })(r || (r = {}));
  },
  wkCk: function (e, t, n) {
    "use strict";
    n.d(t, "b", function () {
      return T;
    }),
      n.d(t, "a", function () {
        return R;
      }),
      n.d(t, "c", function () {
        return j;
      });
    var a = n("q1tI"),
      r = n.n(a),
      i = (n("Q8oI"), n("ERCR")),
      s = (n("TYQL"), n("hRO2"));
    n("gFJg");
    s.Message;
    var o = n("mrSG"),
      l = n("vDqi"),
      c = n.n(l),
      d = (n("AQa9"), n("/loZ"), n("D6PB")),
      u = n("+h+B"),
      m = n("KT6v"),
      p = n("aaBf");
    class h {
      constructor() {
        if (
          ((this.m_mapAppResults = new Map()),
          (this.m_mapAppCallbackList = new Map()),
          (this.m_mapAppResultsPromises = new Map()),
          document.getElementById("application_config"))
        ) {
          let e = Object(p.g)("deckcompatibility", "application_config");
          h.ValidateCompatabilityResult(e) &&
            (this.AddCompatabilityResult(e),
            "dev" == p.c.WEB_UNIVERSE &&
              console.log(
                "CDeckCompatibilityDetailsStore compatability loaded: ",
                e,
              ));
        }
      }
      GetCompatabilityResultForApp(e) {
        return this.m_mapAppResults.get(e);
      }
      BHasCompatabilityResultForApp(e) {
        return this.m_mapAppResults.has(e);
      }
      GetCallbackForAppList(e) {
        return (
          this.m_mapAppCallbackList.has(e) ||
            this.m_mapAppCallbackList.set(e, new u.a()),
          this.m_mapAppCallbackList.get(e)
        );
      }
      AddCompatabilityResult(e) {
        this.m_mapAppResults.set(e.appid, e),
          this.GetCallbackForAppList(e.appid).Dispatch(e);
      }
      LoadAppCompabitilityResult(e) {
        return Object(o.a)(this, void 0, void 0, function* () {
          return (
            !!this.m_mapAppResults.has(e) ||
            (this.m_mapAppResultsPromises.has(e) ||
              this.m_mapAppResultsPromises.set(
                e,
                this.InternalLoadAppCompatability(e),
              ),
            this.m_mapAppResultsPromises.get(e))
          );
        });
      }
      InternalLoadAppCompatability(e) {
        var t, n;
        return Object(o.a)(this, void 0, void 0, function* () {
          let a = null;
          try {
            const r = { nAppID: e, l: p.c.LANGUAGE, cc: p.c.COUNTRY };
            let i =
              p.c.STORE_BASE_URL +
              "saleaction/ajaxgetdeckappcompatibilityreport";
            const s = yield c.a.get(i, { params: r, withCredentials: !0 });
            if (
              200 == (null == s ? void 0 : s.status) &&
              1 ==
                (null === (t = s.data) || void 0 === t ? void 0 : t.success) &&
              (null === (n = s.data) || void 0 === n ? void 0 : n.results)
            )
              return this.AddCompatabilityResult(s.data.results), !0;
            a = Object(d.a)(s);
          } catch (e) {
            a = Object(d.a)(e);
          }
          return (
            console.error(
              "CDeckVerifiedDetailsStore.InternalLoadAppCompatability failed: " +
                (null == a ? void 0 : a.strErrorMsg),
              a,
            ),
            !1
          );
        });
      }
      static Get() {
        return (
          h.s_Singleton ||
            ((h.s_Singleton = new h()),
            ("dev" != p.c.WEB_UNIVERSE && "beta" != p.c.WEB_UNIVERSE) ||
              (window.g_DeckVerifiedDetailStores = h.s_Singleton)),
          h.s_Singleton
        );
      }
      static ValidateCompatabilityResult(e) {
        const t = e;
        return (
          t &&
          "number" == typeof t.appid &&
          "number" == typeof t.resolved_category &&
          "object" == typeof t.resolved_items
        );
      }
    }
    Object(o.b)([m.b], h.prototype, "LoadAppCompabitilityResult", null);
    var _ = n("bznR"),
      g = n("CqJL"),
      b = n("uaeK"),
      f = (n("A2YN"), n("wWru"), n("x+8X"), n("IDaJ"), n("AWEE")),
      v = n.n(f),
      S = n("+d5k"),
      y = n("hHds"),
      E = n("BDyy"),
      C = n("3o+G"),
      w = n("0CSJ"),
      B = n("XL31"),
      O = n("l1Mn"),
      D = n("5ZQm"),
      I = n("4o1L");
    n("XGRy"), n("QM4O");
    function T(e) {
      var t, n;
      const {
          results: a,
          appName: i,
          buttonProps: s,
          autoFocus: o,
          onOpenBlogPost: l,
        } = e,
        [c, d] = r.a.useState(!1),
        u = r.a.useCallback(() => c, [c]),
        m = r.a.useRef(),
        h = p.c.IN_GAMEPADUI;
      if (
        (r.a.useEffect(() => {
          var e, t;
          d(
            (null === (e = null == m ? void 0 : m.current) || void 0 === e
              ? void 0
              : e.scrollHeight) >
              (null === (t = null == m ? void 0 : m.current) || void 0 === t
                ? void 0
                : t.clientHeight),
          );
        }, []),
        !a)
      )
        return null;
      const _ = () => {
        l ? l() : (window.location.href = a.steam_deck_blog_url);
      };
      let f = null != s ? s : {},
        S = null;
      a.steam_deck_blog_url &&
        ((f.onOptionsActionDescription = Object(g.f)(
          "#SteamDeckVerified_ViewDeveloperPost",
        )),
        (f.onOptionsButton = _),
        (S = r.a.createElement(k, { blogURL: a.steam_deck_blog_url })));
      const y =
        -1 !==
        (null === (t = a.resolved_items) || void 0 === t
          ? void 0
          : t.findIndex((e) => 1 == e.display_type));
      return (
        null === (n = a.resolved_items) || void 0 === n
          ? void 0
          : n.length
      )
        ? r.a.createElement(
            b.a,
            Object.assign(
              {
                className: h
                  ? v.a.CompatibilityDetailsContainer
                  : v.a.CompatibilityDetailsContainerDesktop,
              },
              f,
            ),
            r.a.createElement(
              "div",
              null,
              r.a.createElement(
                "div",
                { className: v.a.DialogHeader },
                r.a.createElement(
                  "div",
                  { className: v.a.DialogTitle },
                  Object(g.f)(
                    "#SteamDeckVerified_Store_CompatSectionHeader_GamepadUI",
                  ),
                ),
                r.a.createElement(
                  "div",
                  { className: v.a.AppTitleCategory },
                  r.a.createElement(P, { category: a.resolved_category }),
                ),
              ),
              r.a.createElement(L, {
                category: a.resolved_category,
                appName: i,
              }),
            ),
            S,
            r.a.createElement("div", {
              className: v.a.CompatibilityDetailsSeparator,
            }),
            r.a.createElement(
              E.a,
              {
                ref: m,
                className: u()
                  ? v.a.CompatibilityDetailsInterior_Scroll
                  : v.a.CompatibilityDetailsInterior_NoScroll,
              },
              r.a.createElement(
                b.a,
                {
                  autoFocus: o,
                  focusableIfNoChildren: o || u(),
                  noFocusRing: !0,
                },
                a.resolved_items
                  .filter((e) => 1 !== e.display_type)
                  .map((e) =>
                    r.a.createElement(
                      "div",
                      {
                        key: e.loc_token + e.display_type,
                        className: v.a.CompatibilityDetailsRow,
                      },
                      r.a.createElement(M, { displaytype: e.display_type }),
                      r.a.createElement("span", null, Object(g.f)(e.loc_token)),
                    ),
                  ),
                y &&
                  r.a.createElement(
                    "div",
                    { className: v.a.CompatibilityNotes },
                    a.resolved_items
                      .filter((e) => 1 == e.display_type)
                      .map((e) =>
                        r.a.createElement(
                          "div",
                          {
                            key: e.loc_token + e.display_type,
                            className: v.a.CompatibilityDetailsNoteRow,
                          },
                          r.a.createElement(
                            "span",
                            null,
                            Object(g.f)(e.loc_token),
                          ),
                        ),
                      ),
                  ),
              ),
            ),
          )
        : r.a.createElement(
            b.a,
            Object.assign(
              {
                autoFocus: o,
                focusableIfNoChildren: o,
                noFocusRing: !0,
                className: v.a.CompatibilityDetailsContainer,
              },
              f,
            ),
            r.a.createElement(
              "div",
              null,
              r.a.createElement(
                "div",
                { className: v.a.DialogHeader },
                r.a.createElement(
                  "div",
                  { className: v.a.DialogTitle },
                  Object(g.f)(
                    "#SteamDeckVerified_Store_CompatSectionHeader_GamepadUI",
                  ),
                ),
                r.a.createElement(
                  "div",
                  { className: v.a.AppTitleCategory },
                  r.a.createElement(P, { category: a.resolved_category }),
                ),
              ),
              r.a.createElement(L, {
                category: a.resolved_category,
                appName: i,
              }),
              S,
            ),
          );
    }
    function R(e) {
      const { nAppID: t } = e;
      return r.a.createElement(
        "div",
        { className: v.a.LearnMoreCtn },
        r.a.createElement(
          i.c,
          {
            onClick: (e) =>
              (function (e, t) {
                Object(S.d)(r.a.createElement(A, { nAppID: t }), e);
              })(Object(y.o)(e), t),
          },
          r.a.createElement(
            "span",
            { className: v.a.LearnMorePC },
            Object(g.f)("#SteamDeckVerified_Store_CompatSectionHeader_Desktop"),
          ),
        ),
      );
    }
    function j(e) {
      var t;
      const { dataprops: n, results: a } = e;
      let i = null;
      const s = null !== (t = n.appid) && void 0 !== t ? t : null;
      if (s && a && a.length > 0) {
        let e = a.findIndex((e) => e.appid == s);
        i = -1 != e ? a[e] : null;
      }
      return i ? r.a.createElement(T, { results: i }) : null;
    }
    function A(e) {
      const { nAppID: t, closeModal: n } = e,
        a = (function (e) {
          const [t, n] = r.a.useState(h.Get().GetCompatabilityResultForApp(e));
          return (
            Object(m.e)(h.Get().GetCallbackForAppList(e), n),
            r.a.useEffect(() => {
              h.Get().BHasCompatabilityResultForApp(e) ||
                h
                  .Get()
                  .LoadAppCompabitilityResult(e)
                  .then(() => n(h.Get().GetCompatabilityResultForApp(e)));
            }, [e]),
            t
          );
        })(t);
      return r.a.createElement(
        _.f,
        {
          modalClassName: "DeckVerifiedModalDialog",
          closeModal: n,
          onCancel: n,
        },
        r.a.createElement(
          w.c,
          null,
          r.a.createElement(
            b.a,
            { focusable: !1, "flow-children": "column" },
            Boolean(a)
              ? r.a.createElement(T, { results: a })
              : r.a.createElement(B.a, {
                  size: "medium",
                  position: "center",
                  string: Object(g.f)("#Loading"),
                }),
          ),
        ),
      );
    }
    function k(e) {
      const { blogURL: t } = e;
      return t
        ? p.c.IN_GAMEPADUI
          ? r.a.createElement(
              "div",
              { className: v.a.CompatibilityDetailRatingSummary },
              Object(g.f)("#SteamDeckVerified_DescriptionHeader_DeveloperBlog"),
              r.a.createElement(
                "div",
                { className: v.a.DeveloperBlogYButton },
                r.a.createElement(D.a, { button: I.a.Y, type: D.c.Knockout }),
              ),
            )
          : r.a.createElement(
              "div",
              { className: v.a.CompatibilityDetailRatingSummary },
              Object(g.f)(
                "#SteamDeckVerified_DescriptionHeader_DeveloperBlog_Desktop",
              ),
              r.a.createElement(
                "a",
                { href: t, className: v.a.DeveloperBlockLinkDesktop },
                Object(g.f)("#SteamDeckVerified_ViewDeveloperPost"),
              ),
            )
        : null;
    }
    function M(e) {
      const { displaytype: t } = e;
      switch (t) {
        case 4:
          return r.a.createElement(O.ib, {
            className: v.a.CompatibilityDetailsResultIcon,
          });
        case 3:
          return r.a.createElement(O.fb, {
            className: v.a.CompatibilityDetailsResultIcon,
          });
        case 2:
          return r.a.createElement(O.hb, {
            className: v.a.CompatibilityDetailsResultIcon,
          });
        case 0:
          return r.a.createElement(O.gb, {
            className: v.a.CompatibilityDetailsResultIcon,
          });
        case 1:
          return (
            "dev" == p.c.WEB_UNIVERSE &&
              console.error(
                "deck verified banner shouldn't try to display the information display type for appid",
              ),
            null
          );
      }
    }
    function P(e) {
      const { category: t } = e;
      switch (t) {
        case 3:
          return r.a.createElement(O.ib, { className: v.a.CategoryIcon });
        case 2:
          return r.a.createElement(O.fb, { className: v.a.CategoryIcon });
        case 1:
          return r.a.createElement(O.hb, { className: v.a.CategoryIcon });
        case 0:
          return r.a.createElement(O.gb, { className: v.a.CategoryIcon });
      }
    }
    function L(e) {
      const { category: t, appName: n, descriptionToken: a } = e;
      if (0 == t)
        return r.a.createElement(
          "div",
          { className: v.a.CompatibilityDetailRatingSummary },
          n
            ? Object(g.o)(
                "#SteamDeckVerified_DescriptionHeader_Unknown_WithAppName",
                r.a.createElement("b", null, Object(C.b)(n)),
              )
            : Object(g.f)("#SteamDeckVerified_DescriptionHeader_Unknown"),
        );
      let i = "",
        s = null;
      switch (t) {
        case 3:
          (i = "#SteamDeckVerified_DescriptionHeader_Verified"),
            (s = v.a.Verified);
          break;
        case 2:
          (i = "#SteamDeckVerified_DescriptionHeader_Playable"),
            (s = v.a.Playable);
          break;
        case 1:
          (i = "#SteamDeckVerified_DescriptionHeader_Unsupported"),
            (s = v.a.Unsupported);
      }
      const o = r.a.createElement("span", { className: s }, Object(g.f)(G(t))),
        l = r.a.createElement(
          "span",
          { className: v.a.CompatibilityDetailRatingSummary },
          Object(g.f)(a || i),
        ),
        c = n
          ? Object(g.o)(
              "#SteamDeckVerified_DescriptionHeader_WithAppName",
              r.a.createElement("b", null, Object(C.b)(n)),
              o,
              l,
            )
          : Object(g.o)("#SteamDeckVerified_DescriptionHeader", o, l);
      return r.a.createElement(
        "div",
        { className: v.a.CompatibilityDetailRatingSummary },
        c,
      );
    }
    function G(e) {
      switch (e) {
        case 3:
          return "#SteamDeckVerified_Category_Verified";
        case 2:
          return "#SteamDeckVerified_Category_Playable";
        case 1:
          return "#SteamDeckVerified_Category_Unsupported";
        default:
          return "#SteamDeckVerified_Category_Unknown";
      }
    }
  },
  wpbL: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      OtherEventsCtn: "eventrow_OtherEventsCtn_2t60e",
      OtherEvents_MainImageCtn: "eventrow_OtherEvents_MainImageCtn_16dVS",
      OtherEvents: "eventrow_OtherEvents_2PKSF",
      OtherEvents_EventCtn: "eventrow_OtherEvents_EventCtn_plQje",
      OtherEvents_MainImage: "eventrow_OtherEvents_MainImage_22YMK",
      OtherEvents_BGImage: "eventrow_OtherEvents_BGImage_srFw-",
      OtherEvents_ContentCtn: "eventrow_OtherEvents_ContentCtn_1VOks",
      OtherEvents_TextCtn: "eventrow_OtherEvents_TextCtn_363HF",
      OtherEvents_TextTitle: "eventrow_OtherEvents_TextTitle_2v89C",
      UpcomingCtn: "eventrow_UpcomingCtn_3eDGq",
      OtherEvents_SubTitle: "eventrow_OtherEvents_SubTitle_3xGEM",
      HoversEnabled: "eventrow_HoversEnabled_1jkU3",
      PartnerEventRowCapsule_MainImage:
        "eventrow_PartnerEventRowCapsule_MainImage_29_i5",
      EventSummaryContainer: "eventrow_EventSummaryContainer_1ajZA",
      EventSummaryText: "eventrow_EventSummaryText_1759z",
      EventSummaryType: "eventrow_EventSummaryType_1NzYB",
      HorizontalEvent: "eventrow_HorizontalEvent_2p0Kk",
      HorizontalSummary: "eventrow_HorizontalSummary_31D57",
      HorizontalTitle: "eventrow_HorizontalTitle_2dVGu",
      HorizontalDescriptionCtn: "eventrow_HorizontalDescriptionCtn_9BSHv",
      HorizontalDescription: "eventrow_HorizontalDescription_8fe9A",
      AppCapsuleImage: "eventrow_AppCapsuleImage_1Vvcd",
      AppCapsuleCtn: "eventrow_AppCapsuleCtn_1eL0b",
      AppCapsuleImageHover: "eventrow_AppCapsuleImageHover_3CgUV",
      AppCapsulePrice: "eventrow_AppCapsulePrice_1d-9u",
    };
  },
  "x+8X": function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return _;
    });
    var a = n("mrSG"),
      r = n("XUgT"),
      i = n("Mx8f"),
      s = n("fvA7"),
      o = n("VQwQ"),
      l = n("+h+B"),
      c = n("hHds"),
      d = n("DRUm"),
      u = n("IDaJ"),
      m = (n("7DIv"), n("wWru"));
    const p = new d.a("FocusNavigation").Debug,
      h = (new d.a("GamepadEvents").Debug, "focus-nav-show-debug-focus-ring");
    class _ {
      constructor() {
        (this.m_rgGamepadInputSources = []),
          (this.m_rgGamepadNavigationTrees = []),
          (this.m_LastActiveNavTree = null),
          (this.m_LastActiveFocusNavTree = null),
          (this.m_bGlobalEventsInitialized = !1),
          (this.m_bSuppressGamepadInput = !1),
          (this.m_FocusChangedCallbacks = new l.a()),
          (this.m_UnhandledButtonEventsCallbacks = new l.a()),
          (this.m_navigationSource = Object(l.e)({
            eActivationSourceType: r.b.UNKNOWN,
            nActiveGamepadIndex: -1,
            nLastActiveGamepadIndex: -1,
          })),
          (this.m_bShowDebugFocusRing = Object(l.e)(!1)),
          (this.m_bRestoringHistory = !1),
          (this.m_fnGamepadEventUpdateBatcher = (e) => e()),
          (this.m_iFocusChangeStack = 0),
          (window.FocusNavController = this),
          this.m_bShowDebugFocusRing.Set("shown" == sessionStorage.getItem(h));
      }
      SetShowDebugFocusRing(e) {
        this.m_bShowDebugFocusRing.Set(e),
          (function (e) {
            sessionStorage.setItem(h, e ? "shown" : void 0);
          })(e);
      }
      GetShowDebugFocusRing() {
        return this.m_bShowDebugFocusRing;
      }
      RegisterInputSource(e) {
        this.m_rgGamepadInputSources.push(e),
          e.RegisterForGamepadButtonDown(this.OnButtonDown),
          e.RegisterForGamepadButtonUp(this.OnButtonUp),
          e.RegisterForNavigationTypeChange(this.OnNavigationTypeChange);
      }
      SetGamepadEventUpdateBatcher(e) {
        this.m_fnGamepadEventUpdateBatcher = e;
      }
      get FocusChangedCallbacks() {
        return this.m_FocusChangedCallbacks;
      }
      get NavigationSource() {
        return this.m_navigationSource;
      }
      DispatchVirtualButtonPress(e) {
        this.OnButtonDown(e, r.b.UNKNOWN, -1);
      }
      DispatchVirtualButtonClick(e) {
        this.OnButtonDown(e, r.b.GAMEPAD, -1),
          this.OnButtonUp(e, r.b.GAMEPAD, -1);
      }
      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 === r.a.STEAM_GUIDE ||
          e === r.a.STEAM_QUICK_MENU ||
          e === r.a.CANCEL
        );
      }
      GetEventTarget(e, t = !1) {
        let n = document.activeElement;
        if (this.m_LastActiveNavTree) {
          let a = this.m_navigationSource.Value.eActivationSourceType;
          if (
            !(
              (a != r.b.GAMEPAD && a != r.b.KEYBOARD) ||
              this.m_LastActiveNavTree.GetLastFocusedNode() ||
              (t && this.m_LastActiveNavTree.TakeFocus(u.c.GAMEPAD, !0),
              this.BGlobalGamepadButton(e))
            )
          )
            return null;
          this.m_LastActiveNavTree.GetLastFocusedNode() &&
            (n = this.m_LastActiveNavTree.GetLastFocusedNode().Element);
        }
        return n;
      }
      ChangeNavigationSource(e, t) {
        let n = this.m_navigationSource.Value,
          a = n.nLastActiveGamepadIndex;
        n.nActiveGamepadIndex >= 0 && (a = n.nActiveGamepadIndex),
          this.m_navigationSource.Set({
            eActivationSourceType: e,
            nActiveGamepadIndex: t,
            nLastActiveGamepadIndex: a,
          });
      }
      OnButtonDown(e, t, n, a) {
        var i;
        if (this.m_bSuppressGamepadInput)
          return void p(
            "Ignoring button press - gamepad input is suppressed by parent window",
          );
        this.ChangeNavigationSource(t, n);
        const s = this.GetEventTarget(e, !0);
        p(
          `Firing ${r.a[e]} in tree ${null === (i = this.m_LastActiveNavTree) || void 0 === i ? void 0 : i.id} at `,
          s,
        ),
          this.BatchedUpdate(() =>
            Object(u.b)(s, "vgp_onbuttondown", {
              button: e,
              source: t,
              is_repeat: a,
            }),
          );
      }
      OnButtonUp(e, t, n) {
        if (this.m_bSuppressGamepadInput) return;
        this.ChangeNavigationSource(t, n);
        const a = this.GetEventTarget();
        this.BatchedUpdate(() =>
          Object(u.b)(a, "vgp_onbuttonup", {
            button: e,
            source: t,
            is_repeat: !1,
          }),
        );
      }
      BatchedUpdate(e) {
        this.m_fnGamepadEventUpdateBatcher(e);
      }
      OnNavigationTypeChange(e) {
        var t;
        if (
          (this.ChangeNavigationSource(e, -1),
          document.hasFocus() &&
            (e == r.b.MOUSE || e == r.b.TOUCH) &&
            this.m_LastActiveNavTree)
        ) {
          const e = this.m_LastActiveNavTree.GetLastFocusedNode(),
            n = (function (e) {
              if (!Object(c.q)(e)) return !1;
              const t = e.tagName,
                n = Object(c.s)(e) ? e.type : null;
              return Object(c.r)(t, n);
            })(null == e ? void 0 : e.Element)
              ? e
              : null;
          null === (t = this.m_LastActiveNavTree) ||
            void 0 === t ||
            t.TransferFocus(u.c.BROWSER, n);
        }
      }
      NewGamepadNavigationTree(e) {
        return new m.a(this, e);
      }
      RegisterGamepadNavigationTree(e, t) {
        return (
          e.SetIsMounted(),
          t
            ? this.m_rgGamepadNavigationTrees.unshift(e)
            : (this.m_rgGamepadNavigationTrees.push(e),
              this.SetActiveNavTree(e, !0)),
          this.m_bGlobalEventsInitialized || this.BindGlobalEventHandlers(),
          () => this.UnregisterGamepadNavigationTree(e)
        );
      }
      UnregisterGamepadNavigationTree(e) {
        i.b(this.m_rgGamepadNavigationTrees, e),
          this.m_LastActiveNavTree == e &&
            ((this.m_LastActiveNavTree = null),
            this.SetActiveNavTree(null, !0));
      }
      GetGamepadNavTreeByID(e) {
        const t = this.m_rgGamepadNavigationTrees.findIndex((t) => t.id == e);
        return t >= 0 ? this.m_rgGamepadNavigationTrees[t] : null;
      }
      OnGamepadNavigationTreeActivated(e, t = !1) {
        this.SetActiveNavTree(e, t);
      }
      OnGamepadNavigationTreeFocused(e, t, n = !1) {
        e != this.m_LastActiveFocusNavTree &&
          e != this.m_LastActiveNavTree &&
          (this.m_LastActiveFocusNavTree.GetParentEmbeddedNavTree() == e ||
          e.GetParentEmbeddedNavTree() == this.m_LastActiveFocusNavTree
            ? (p(
                `There was a focus event in ${e.id}, allowing focus transfer to activate nav tree due to parent embedded relationship`,
              ),
              e.Activate())
            : p(
                `There was a focus event in ${e.id}, but the active nav tree is ${this.m_LastActiveFocusNavTree.id} so it is being ignored.  Source: ${u.c[t]}.`,
              ));
      }
      BlurNavTree(e) {
        this.m_LastActiveNavTree == e && this.SetActiveNavTree(null, !0),
          i.b(this.m_rgGamepadNavigationTrees, e),
          this.m_rgGamepadNavigationTrees.unshift(e);
      }
      IsActiveFocusNavTree(e) {
        return e == this.m_LastActiveFocusNavTree;
      }
      IsActiveNavTree(e) {
        return e == this.m_LastActiveNavTree;
      }
      SetActiveNavTree(e, t = !1) {
        if (e && this.m_LastActiveNavTree == e) return;
        const n = this.m_LastActiveNavTree;
        n && i.b(this.m_rgGamepadNavigationTrees, n),
          e ||
            (this.m_rgGamepadNavigationTrees.length &&
              (e =
                this.m_rgGamepadNavigationTrees[
                  this.m_rgGamepadNavigationTrees.length - 1
                ]));
        const a = this.m_LastActiveFocusNavTree == e;
        e && i.b(this.m_rgGamepadNavigationTrees, e),
          (this.m_LastActiveNavTree = e),
          (e && e.BUseVirtualFocus()) || (this.m_LastActiveFocusNavTree = e),
          p(
            `Move from nav tree ${null == n ? void 0 : n.id} to nav tree ${null == e ? void 0 : e.id} ${t ? "taking focus" : "no focus"}`,
          ),
          n && this.m_rgGamepadNavigationTrees.push(n),
          e &&
            (this.m_rgGamepadNavigationTrees.push(e),
            !a && t && e.TakeFocus(u.c.APPLICATION)),
          n && n != this.m_LastActiveFocusNavTree && n.OnDeactivate(e),
          e && !a && e.OnActivate(n);
      }
      BindGlobalEventHandlers() {
        this.m_bGlobalEventsInitialized ||
          (this.m_bGlobalEventsInitialized = !0);
      }
      OnFocusChangeStart(e, t, n, a) {
        return (
          0 == this.m_iFocusChangeStack
            ? (this.m_ActiveFocusChange = { source: e, from: n, to: a })
            : !this.m_ActiveFocusChange.from &&
              n &&
              (this.m_ActiveFocusChange.from = n),
          this.m_iFocusChangeStack++
        );
      }
      OnFocusChangeComplete(e) {
        if (
          (this.m_iFocusChangeStack--,
          Object(s.a)(e == this.m_iFocusChangeStack, "out of order focus pop"),
          0 == this.m_iFocusChangeStack)
        ) {
          const { source: e, from: t, to: n } = this.m_ActiveFocusChange;
          this.m_FocusChangedCallbacks.Dispatch(e, t, n);
        }
      }
      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_bSuppressGamepadInput = e;
      }
      TakeFocusChangingIFrame() {
        window.focus();
        let e = this.m_LastActiveFocusNavTree || this.m_LastActiveNavTree;
        e && e.TakeFocus(u.c.APPLICATION);
      }
      BIsRestoringHistory() {
        return this.m_bRestoringHistory;
      }
      RestoreHistoryTransaction(e) {
        return Object(a.a)(this, void 0, void 0, function* () {
          this.m_bRestoringHistory = !0;
          try {
            yield e();
          } finally {
            this.m_bRestoringHistory = !1;
          }
        });
      }
    }
    Object(a.b)([o.a], _.prototype, "OnButtonDown", null),
      Object(a.b)([o.a], _.prototype, "OnButtonUp", null),
      Object(a.b)([o.a], _.prototype, "OnNavigationTypeChange", null);
  },
  x0JQ: function (e, t, n) {
    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",
    };
  },
  x8gZ: function (e, t, n) {
    e.exports = {
      strMaxMobileWidth: "700px",
      strMinMobileHeight: "360px",
      strDesktopControlBarWidth: "300px",
      strDesktopGlobalHeaderHeight: "104px",
      strMobileGlobalHeaderHeight: "62px",
      strDesktopLabsBannerHeight: "46px",
      strMobileLabsBannerHeight: "42px",
      strDesktopHubBannerHeight: "80px",
      strMobileHubBannerHeight: "80px",
      strJumboHubBannerHeight: "150px",
      strDesktopGroupHeaderHeight: "70px",
      strMobileGroupHeaderHeight: "37px",
      strMobileNavBannerHeight: "52px",
      strLogInBannerLargeHeight: "239px",
      strLogInBannerSmallHeight: "70px",
      HubBanner: "eventcalendar_HubBanner_EJ2G7",
      LargeMode: "eventcalendar_LargeMode_PKc5z",
      CloseFilterPage: "eventcalendar_CloseFilterPage_OXu3f",
      ShowSettings: "eventcalendar_ShowSettings_3EBeH",
      ControlPageContainer: "eventcalendar_ControlPageContainer_O79xT",
      FiltersTitle: "eventcalendar_FiltersTitle_1sQcX",
      FiltersDescription: "eventcalendar_FiltersDescription_1xw8-",
      SideSteamLabsBannerCtn: "eventcalendar_SideSteamLabsBannerCtn_1OvA0",
      SteamLabsIdentifiers: "eventcalendar_SteamLabsIdentifiers_oy2Wg",
      SteamLabsName: "eventcalendar_SteamLabsName_29H3u",
      SteamLabsNumber: "eventcalendar_SteamLabsNumber_wcIU0",
      SteamLabsButton: "eventcalendar_SteamLabsButton_2VeMB",
      SteamLabsBanner: "eventcalendar_SteamLabsBanner_1OMtW",
      SteamLabsBannerCtn: "eventcalendar_SteamLabsBannerCtn_2zNOC",
      SidebarContainer: "eventcalendar_SidebarContainer_2wR83",
      SidebarCollapsed: "eventcalendar_SidebarCollapsed_3OgeR",
      CollapseButton: "eventcalendar_CollapseButton_MZ_1n",
      DesktopButton: "eventcalendar_DesktopButton_2Zces",
      SidebarBackground: "eventcalendar_SidebarBackground_3-4jn",
      Sidebar: "eventcalendar_Sidebar_1TnRC",
      SidebarTitle: "eventcalendar_SidebarTitle_3EmVe",
      FilterControlPage: "eventcalendar_FilterControlPage_2nWs5",
      FilterOption: "eventcalendar_FilterOption_1Wf6U",
      FilterSubOption: "eventcalendar_FilterSubOption_35jQz",
      SideBarFilterNavLinks: "eventcalendar_SideBarFilterNavLinks_28jMX",
      FilterLink: "eventcalendar_FilterLink_SeG-K",
      NumberDisplay: "eventcalendar_NumberDisplay_2jwHq",
      FilterSettingsCtn: "eventcalendar_FilterSettingsCtn_SjSqT",
      OpenFilterSettings: "eventcalendar_OpenFilterSettings_3U8wR",
      SidebarBackLink: "eventcalendar_SidebarBackLink_x43vT",
      MobileCloseButton: "eventcalendar_MobileCloseButton_1L0UT",
      FilterSection: "eventcalendar_FilterSection_3-Mgl",
      FilterSubSection: "eventcalendar_FilterSubSection_3fh5q",
      FilterSubSectionTitle: "eventcalendar_FilterSubSectionTitle_1M42i",
      ConfigPanelSteamLabs: "eventcalendar_ConfigPanelSteamLabs_PBh3B",
      ForceResponsiveLink: "eventcalendar_ForceResponsiveLink_1yhF3",
      SidebarLink: "eventcalendar_SidebarLink_1nRol",
      SidebarManageMutedApps: "eventcalendar_SidebarManageMutedApps_32UMJ",
      MutedSourcesGroup: "eventcalendar_MutedSourcesGroup_1eXoi",
      MutedSourcesCount: "eventcalendar_MutedSourcesCount_3rJRI",
      SidebarFooter: "eventcalendar_SidebarFooter_3mHos",
      FooterLegal: "eventcalendar_FooterLegal_xbQrT",
      MobileButton: "eventcalendar_MobileButton_MpvMf",
      BodyNoScroll: "eventcalendar_BodyNoScroll_27i1k",
      EventCalendarContainer: "eventcalendar_EventCalendarContainer_1-onb",
      ReserveControlSpace: "eventcalendar_ReserveControlSpace_1pzOc",
      WideLeftGutter: "eventcalendar_WideLeftGutter_Fevia",
      LogInFeedRow: "eventcalendar_LogInFeedRow_FjUD7",
      RowContainer: "eventcalendar_RowContainer_wiiK1",
      Loading: "eventcalendar_Loading_2OUyk",
      LoadingProgress: "eventcalendar_LoadingProgress_2MINz",
      AdjustFiltersText: "eventcalendar_AdjustFiltersText_11fHK",
      Rows: "eventcalendar_Rows_zmHQM",
      FutureSection: "eventcalendar_FutureSection_14_xp",
      PastSection: "eventcalendar_PastSection_2pax0",
      DarkerBackground: "eventcalendar_DarkerBackground_1G6_r",
      EmptySectionText: "eventcalendar_EmptySectionText_3NHH9",
      CalendarEventListRow: "eventcalendar_CalendarEventListRow_20Cz7",
      CalendarEventListContainer:
        "eventcalendar_CalendarEventListContainer_im5BA",
      CalendarRow: "eventcalendar_CalendarRow_2to4M",
      EventListTitle: "eventcalendar_EventListTitle_27ORW",
      GroupHeader: "eventcalendar_GroupHeader_36Cpr",
      GroupHeaderTitle: "eventcalendar_GroupHeaderTitle_3QKyr",
      GroupHeaderLine: "eventcalendar_GroupHeaderLine_31MpK",
      SeeAllLink: "eventcalendar_SeeAllLink_3i4vq",
      SeeAllCount: "eventcalendar_SeeAllCount_3POnd",
      HorizontalTileContainer: "eventcalendar_HorizontalTileContainer_3HAiv",
      HorizontalTiles: "eventcalendar_HorizontalTiles_4gCPy",
      HeaderAtTop: "eventcalendar_HeaderAtTop_2E2LN",
      EndOfRows: "eventcalendar_EndOfRows_yQKJQ",
      BackToThePast: "eventcalendar_BackToThePast_mYDzr",
      MobileSeeAllink: "eventcalendar_MobileSeeAllink_3gwsD",
      NoCount: "eventcalendar_NoCount_2nESl",
      LiveText: "eventcalendar_LiveText_irUb-",
      UpdatePageBanner: "eventcalendar_UpdatePageBanner_2j9E5",
      LoginPrompt: "eventcalendar_LoginPrompt_2QoF2",
      LoginButton: "eventcalendar_LoginButton_ObEgb",
      SpecialEventListGroup: "eventcalendar_SpecialEventListGroup_1hxO0",
      SpecialEventListTitle: "eventcalendar_SpecialEventListTitle_1ei0p",
      SpecialEventList: "eventcalendar_SpecialEventList_80fE5",
      SpecialEvent: "eventcalendar_SpecialEvent_2Ok9B",
      SpecialEventTitle: "eventcalendar_SpecialEventTitle_1IN39",
      SpecialEventTime: "eventcalendar_SpecialEventTime_1bgAa",
      NewsChannelGroup: "eventcalendar_NewsChannelGroup_3YVuO",
      NewsChannelListTitle: "eventcalendar_NewsChannelListTitle_34vNb",
      NewsChannelList: "eventcalendar_NewsChannelList_2mVH_",
      NewsChannel: "eventcalendar_NewsChannel_3S0-4",
      NewsChannelText: "eventcalendar_NewsChannelText_3qKK3",
      NewsChannelCount: "eventcalendar_NewsChannelCount_2yPXF",
      NewsChannelOnPage: "eventcalendar_NewsChannelOnPage_22y26",
      NewsChannelTitle: "eventcalendar_NewsChannelTitle_20iJZ",
      NewsChannelSubtitle: "eventcalendar_NewsChannelSubtitle_3A5Ky",
      DiscoverGroup: "eventcalendar_DiscoverGroup_1smn0",
      NewsChannelIcon: "eventcalendar_NewsChannelIcon_2FhgK",
      SidePanelGameSearch: "eventcalendar_SidePanelGameSearch_1ToxH",
      MobileNavBannerCtn: "eventcalendar_MobileNavBannerCtn_2dwco",
      SearchDismiss: "eventcalendar_SearchDismiss_1kYjg",
      SearchBox: "eventcalendar_SearchBox_1Q_Zx",
      SearchExpanded: "eventcalendar_SearchExpanded_2C7hU",
      SettingsPanel: "eventcalendar_SettingsPanel_1Stak",
      MobileNavHScroll: "eventcalendar_MobileNavHScroll_x3Nug",
      MobileNavBannerList: "eventcalendar_MobileNavBannerList_F7R9I",
      MobileNavButton: "eventcalendar_MobileNavButton_3YgQd",
      MobileNavCount: "eventcalendar_MobileNavCount_K774p",
      MobileNavButtonActive: "eventcalendar_MobileNavButtonActive_1KeJX",
      CalendarEventList: "eventcalendar_CalendarEventList_1fvbM",
      LogInSmallMode: "eventcalendar_LogInSmallMode_3Ia-8",
      LogInFeedText: "eventcalendar_LogInFeedText_syU9i",
      PromptCtn: "eventcalendar_PromptCtn_3AA3Q",
      LogInFeedTitle: "eventcalendar_LogInFeedTitle_gJLQE",
      LogInButton: "eventcalendar_LogInButton_3_Wn0",
      LazyCalendarSectionCtn: "eventcalendar_LazyCalendarSectionCtn_2PTR2",
      TimeEventRow: "eventcalendar_TimeEventRow_gvMTA",
      TimeEventLastPlayed: "eventcalendar_TimeEventLastPlayed_1UHof",
      TimeEventWishlisted: "eventcalendar_TimeEventWishlisted_eVtmZ",
    };
  },
  xGKe: function (e, t, n) {
    e.exports = {
      StoreSalePriceWidget: "packagepricewidget_StoreSalePriceWidget_3NUFg",
      StoreSaleDiscountedPriceCtn:
        "packagepricewidget_StoreSaleDiscountedPriceCtn_14IVg",
      StoreSalePriceBox: "packagepricewidget_StoreSalePriceBox_1RMFX",
      StoreSaleReservationPriceBox:
        "packagepricewidget_StoreSaleReservationPriceBox_35nMS",
      StoreSaleDiscountBox: "packagepricewidget_StoreSaleDiscountBox_3NtOh",
      StoreOrignalPrice: "packagepricewidget_StoreOrignalPrice_3b2t6",
    };
  },
  xSFm: function (e, t, n) {
    "use strict";
    n.d(t, "n", function () {
      return a;
    }),
      n.d(t, "m", function () {
        return r;
      }),
      n.d(t, "k", function () {
        return i;
      }),
      n.d(t, "h", function () {
        return s;
      }),
      n.d(t, "j", function () {
        return o;
      }),
      n.d(t, "b", function () {
        return l;
      }),
      n.d(t, "c", function () {
        return c;
      }),
      n.d(t, "l", function () {
        return d;
      }),
      n.d(t, "g", function () {
        return u;
      }),
      n.d(t, "f", function () {
        return m;
      }),
      n.d(t, "q", function () {
        return p;
      }),
      n.d(t, "p", function () {
        return h;
      }),
      n.d(t, "r", function () {
        return _;
      }),
      n.d(t, "o", function () {
        return g;
      }),
      n.d(t, "a", function () {
        return b;
      }),
      n.d(t, "d", function () {
        return f;
      }),
      n.d(t, "i", function () {
        return v;
      }),
      n.d(t, "e", function () {
        return S;
      });
    var a;
    n("Q8oI"), n("L/yF"), n("RYKw");
    function r(e) {
      return "app" == e ? 0 : "sub" == e ? 1 : 2;
    }
    function i(e) {
      return (null == e ? void 0 : e.appid)
        ? 0
        : (null == e ? void 0 : e.packageid)
          ? 1
          : (null == e ? void 0 : e.bundleid)
            ? 2
            : -1;
    }
    function s(e) {
      switch (e) {
        case 0:
          return "app";
        case 2:
          return "bundle";
        case 1:
          return "package";
        case 3:
          return "mtx";
      }
      return "invalid";
    }
    function o(e) {
      switch (e) {
        case "sub":
          return 1;
        case "bundle":
          return 2;
        default:
          return 0;
      }
    }
    function l(e, t) {
      switch (e) {
        case 2:
          return "bundle";
        case 1:
          return "sub";
        default:
          switch (t) {
            case 0:
            default:
              return "game";
            case 12:
              return "beta";
            case 4:
              return "dlc";
            case 1:
              return "demo";
            case 6:
              return "software";
            case 7:
            case 3:
              return "video";
            case 10:
              return "hardware";
            case 11:
              return "music";
            case 13:
              return "tool";
            case 2:
              return "mod";
            case 9:
              return "episode";
            case 8:
              return "series";
          }
      }
    }
    function c(e) {
      switch (e) {
        case 2:
          return "bundle";
        case 1:
          return "sub";
        default:
          return "app";
      }
    }
    function d(e, t, n) {
      return e
        ? { id: e, item_type: "app" }
        : t
          ? { id: t, item_type: "sub" }
          : { id: n, item_type: "bundle" };
    }
    function u(e, t) {
      return 0 == t
        ? { id: e, item_type: "app" }
        : 1 == t
          ? { id: e, item_type: "sub" }
          : 2 == t
            ? { id: e, item_type: "bundle" }
            : (console.error(
                "ConvertEStoreItemTypeToStoreItemKey unexpected item type: ",
                t,
              ),
              { id: 0, item_type: "app" });
    }
    function m(e, t) {
      return 0 == t
        ? { appid: e }
        : 1 == t
          ? { packageid: e }
          : 2 == t
            ? { bundleid: e }
            : null;
    }
    function p(e) {
      return (null == e ? void 0 : e.appid)
        ? "a" + e.appid
        : (null == e ? void 0 : e.packageid)
          ? "p" + e.packageid
          : (null == e ? void 0 : e.bundleid)
            ? "b" + e.bundleid
            : "unknown0";
    }
    function h(e) {
      return (null == e ? void 0 : e.appid)
        ? e.appid
        : (null == e ? void 0 : e.packageid)
          ? e.packageid
          : (null == e ? void 0 : e.bundleid)
            ? e.bundleid
            : 0;
    }
    function _(e) {
      return "app" == (null == e ? void 0 : e.item_type)
        ? 0
        : "sub" == (null == e ? void 0 : e.item_type)
          ? 1
          : "bundle" == (null == e ? void 0 : e.item_type)
            ? 2
            : -1;
    }
    function g(e) {
      const t = Number.parseInt(e.substring(1));
      switch (e.charAt(0)) {
        case "a":
          return { appid: t };
        case "p":
          return { packageid: t };
        default:
          return { bundleid: t };
      }
    }
    function b(e) {
      return "application" == e
        ? 0
        : "bundle" == e
          ? 2
          : "package" == e
            ? 1
            : -1;
    }
    function f(e) {
      return 0 == e
        ? "application"
        : 1 == e
          ? "package"
          : 2 == e
            ? "bundle"
            : null;
    }
    function v(e) {
      return 1 == e ? 0 : 5 == e ? 2 : 2 == e ? 1 : -1;
    }
    function S(e) {
      return 0 == e ? 1 : 1 == e ? 2 : 2 == e ? 5 : null;
    }
    !(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");
    })(a || (a = {}));
  },
  "xZ/t": function (e, t, n) {
    e.exports = {
      PromoTitle: "dailydealeditor_PromoTitle_1rgqM",
      DiscountEventLinks: "dailydealeditor_DiscountEventLinks_1LKk1",
      SectionCtn: "dailydealeditor_SectionCtn_247gA",
      GroupCtn: "dailydealeditor_GroupCtn_nfAaj",
      SectionHdr: "dailydealeditor_SectionHdr_14AcV",
      CheckBoxSize: "dailydealeditor_CheckBoxSize_1wywL",
      EditCtn: "dailydealeditor_EditCtn_1arRU",
      LocationCtn: "dailydealeditor_LocationCtn_1TvAw",
      ButtonRow: "dailydealeditor_ButtonRow_2fO-C",
      ButtonRowSpacer: "dailydealeditor_ButtonRowSpacer_3PObg",
      DDAdminColums: "dailydealeditor_DDAdminColums_1KdA5",
      Column: "dailydealeditor_Column_3tD9K",
      DiscountEventCtn: "dailydealeditor_DiscountEventCtn_2Pk6W",
    };
  },
  xdsl: function (e, t, n) {
    "use strict";
    n("6FYJ"), n("5VAZ");
  },
  xjhW: function (e, t, n) {
    "use strict";
    n.d(t, "d", function () {
      return i;
    }),
      n.d(t, "b", function () {
        return s;
      }),
      n.d(t, "c", function () {
        return o;
      }),
      n.d(t, "a", function () {
        return l;
      }),
      n.d(t, "h", function () {
        return c;
      }),
      n.d(t, "g", function () {
        return d;
      }),
      n.d(t, "e", function () {
        return u;
      }),
      n.d(t, "f", function () {
        return m;
      });
    var a = n("mrSG"),
      r = n("q1tI");
    n("Q8oI"), n("3wCP"), n("HdPs"), n("TYQL");
    function i(e) {
      return r.createElement(
        "svg",
        Object.assign(
          {
            xmlns: "http://www.w3.org/2000/svg",
            viewBox: "0 0 36 36",
            fill: "none",
          },
          e,
        ),
        r.createElement("path", {
          d: "M31.09 4.38L13 22.46L5.41 14.88L1.88 18.41L13 29.54L34.62 7.91L31.09 4.38Z",
          fill: "currentColor",
        }),
      );
    }
    function s(e) {
      const { direction: t } = e,
        n = Object(a.c)(e, ["direction"]);
      switch (t) {
        case "up":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M26.23 17.31L20.5 11.58V33.54H15.5V11.58L9.76998 17.31L6.22998 13.77L18 2.00001L29.77 13.77L26.23 17.31Z",
              fill: "currentColor",
            }),
          );
        case "down":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M26.23 18.23L20.5 23.96V2H15.5V23.96L9.76998 18.23L6.22998 21.77L18 33.54L29.77 21.77L26.23 18.23Z",
              fill: "currentColor",
            }),
          );
        case "left":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M17.54 9.53998L11.81 15.27L33.77 15.27V20.27H11.81L17.54 26L14 29.54L2.23002 17.77L14 5.99998L17.54 9.53998Z",
              fill: "currentColor",
            }),
          );
        case "right":
          return r.createElement(
            "svg",
            Object.assign(
              {
                viewBox: "0 0 36 36",
                fill: "none",
                xmlns: "http://www.w3.org/2000/svg",
              },
              n,
            ),
            r.createElement("path", {
              d: "M18.46 9.54004L24.19 15.27L2.22998 15.27L2.22998 20.27H24.19L18.46 26L22 29.54L33.77 17.77L22 6.00004L18.46 9.54004Z",
              fill: "currentColor",
            }),
          );
      }
    }
    function o(e) {
      const { direction: t } = e,
        n = Object(a.c)(e, ["direction"]);
      switch (t) {
        case "up":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M17.98 10.23L3.20996 25H32.75L17.98 10.23Z",
              fill: "currentColor",
            }),
          );
        case "down":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M17.98 26.54L3.20996 11.77H32.75L17.98 26.54Z",
              fill: "currentColor",
            }),
          );
        case "left":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M9.82497 18.385L24.595 3.61499L24.595 33.155L9.82497 18.385Z",
              fill: "currentColor",
            }),
          );
        case "right":
          return r.createElement(
            "svg",
            Object.assign(
              {
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 36 36",
                fill: "none",
              },
              n,
            ),
            r.createElement("path", {
              d: "M26.135 18.385L11.365 33.155L11.365 3.61503L26.135 18.385Z",
              fill: "currentColor",
            }),
          );
      }
    }
    function l(e) {
      return r.createElement(
        "svg",
        Object.assign(
          {
            xmlns: "http://www.w3.org/2000/svg",
            viewBox: "0 0 36 36",
            fill: "none",
          },
          e,
        ),
        r.createElement("path", {
          d: "M16 34V21H3V16H16V3H21V16H34V21H21V34H16Z",
          fill: "currentColor",
        }),
      );
    }
    function c(e) {
      return r.createElement(
        "svg",
        Object.assign(
          {
            xmlns: "http://www.w3.org/2000/svg",
            viewBox: "0 0 36 36",
            fill: "none",
          },
          e,
        ),
        r.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 d(e) {
      return r.createElement(
        "svg",
        Object.assign(
          {
            xmlns: "http://www.w3.org/2000/svg",
            viewBox: "0 0 36 36",
            fill: "none",
          },
          e,
        ),
        r.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",
        }),
        r.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 u(e) {
      return r.createElement(
        "svg",
        {
          width: "5",
          height: "19",
          viewBox: "0 0 5 19",
          fill: "none",
          xmlns: "http://www.w3.org/2000/svg",
        },
        r.createElement("path", {
          d: "M5 0H3C1.34315 0 0 1.34315 0 3V16C0 17.6569 1.34315 19 3 19H5V0Z",
          fill: "white",
        }),
      );
    }
    function m(e) {
      return r.createElement(
        "svg",
        {
          width: "5",
          height: "19",
          viewBox: "0 0 5 19",
          fill: "none",
          xmlns: "http://www.w3.org/2000/svg",
        },
        r.createElement("path", {
          d: "M0 0H2C3.65685 0 5 1.34315 5 3V16C5 17.6569 3.65685 19 2 19H0V0Z",
          fill: "white",
        }),
      );
    }
  },
  xqyv: function (e, t, n) {
    e.exports = {
      Container: "fakeappdetailsrow_Container_ImYU5",
      StickyHeader: "fakeappdetailsrow_StickyHeader_2C2bs",
      Row: "fakeappdetailsrow_Row_3i6Bc",
      ActionSection: "fakeappdetailsrow_ActionSection_18DZH",
      StatusAndStats: "fakeappdetailsrow_StatusAndStats_2dtS1",
      PermanentlyUnavailable: "fakeappdetailsrow_PermanentlyUnavailable_dy473",
      GameStatsSection: "fakeappdetailsrow_GameStatsSection_12DXx",
      RightControls: "fakeappdetailsrow_RightControls_18x3w",
      AppButtonsContainer: "fakeappdetailsrow_AppButtonsContainer_2UjH5",
      GameInfoButton: "fakeappdetailsrow_GameInfoButton_n3SLd",
      Arrow: "fakeappdetailsrow_Arrow_C0opA",
      MenuButton: "fakeappdetailsrow_MenuButton_19jdY",
      DetailsSection: "fakeappdetailsrow_DetailsSection_3Ajg1",
      DetailsSectionStatus: "fakeappdetailsrow_DetailsSectionStatus_2ZJjH",
      DetailsSectionExtra: "fakeappdetailsrow_DetailsSectionExtra_1wzuG",
      DetailsProgressContainer:
        "fakeappdetailsrow_DetailsProgressContainer_1pcsx",
      DetailsProgressBar: "fakeappdetailsrow_DetailsProgressBar_2KOE1",
      InvalidPlatform: "fakeappdetailsrow_InvalidPlatform_31Ep4",
      Icons: "fakeappdetailsrow_Icons_3sb86",
      Icon: "fakeappdetailsrow_Icon_fJP-Y",
      MiniAchievements: "fakeappdetailsrow_MiniAchievements_omt3i",
      AchievementLeft: "fakeappdetailsrow_AchievementLeft_wiXRi",
      AchievementRight: "fakeappdetailsrow_AchievementRight_2LYsH",
      AchievementProgressRow: "fakeappdetailsrow_AchievementProgressRow_2cJRw",
      AchievementLabel: "fakeappdetailsrow_AchievementLabel_2ZFed",
      AchievementCountLabel: "fakeappdetailsrow_AchievementCountLabel_1hPIv",
      Playtime: "fakeappdetailsrow_Playtime_2JGJB",
      PlaytimeLeft: "fakeappdetailsrow_PlaytimeLeft_2QY4p",
      PlaytimeRight: "fakeappdetailsrow_PlaytimeRight_1LPuQ",
      PlaytimeLabel: "fakeappdetailsrow_PlaytimeLabel_3MSPY",
      PlaytimeInfo: "fakeappdetailsrow_PlaytimeInfo_1SIEL",
      LastPlayed: "fakeappdetailsrow_LastPlayed_oWVFW",
      LastPlayedRight: "fakeappdetailsrow_LastPlayedRight_WRJ1X",
      LastPlayedLabel: "fakeappdetailsrow_LastPlayedLabel_2-xkM",
      LastPlayedInfo: "fakeappdetailsrow_LastPlayedInfo_1fGHk",
      RecentlyUpdated: "fakeappdetailsrow_RecentlyUpdated_1bxok",
      RecentlyUpdatedIcon: "fakeappdetailsrow_RecentlyUpdatedIcon_aYj4F",
      RecentlyUpdatedText: "fakeappdetailsrow_RecentlyUpdatedText_3rzHt",
      RecentlyUpdatedLink: "fakeappdetailsrow_RecentlyUpdatedLink_3Yyra",
      PlayButtonContainer: "fakeappdetailsrow_PlayButtonContainer_3dlYJ",
      PlayButton: "fakeappdetailsrow_PlayButton_3MzeF",
      Green: "fakeappdetailsrow_Green_Y4sii",
      Disabled: "fakeappdetailsrow_Disabled_o6V6t",
      NoAction: "fakeappdetailsrow_NoAction_GALfz",
      ThrobberContainer: "fakeappdetailsrow_ThrobberContainer_2OBm7",
      Throbber: "fakeappdetailsrow_Throbber_1uJfK",
      ButtonText: "fakeappdetailsrow_ButtonText_3PV-5",
    };
  },
  xuO9: function (e, t, n) {
    e.exports = {
      CreateCustomDiscountCtn:
        "discountcustomdialog_CreateCustomDiscountCtn_2T8Dy",
      TimezoneNotice: "discountcustomdialog_TimezoneNotice_3b_Fw",
      Section: "discountcustomdialog_Section_1LCTi",
      InstructionsCtn: "discountcustomdialog_InstructionsCtn_FnFwd",
      Warning: "discountcustomdialog_Warning_2RAeX",
      RequiredFieldWarning: "discountcustomdialog_RequiredFieldWarning_1Jnjb",
      CustomInstructionsCtn: "discountcustomdialog_CustomInstructionsCtn_2tqOE",
      DiscountCtn: "discountcustomdialog_DiscountCtn_1fE6J",
      DiscountHelperCtn: "discountcustomdialog_DiscountHelperCtn_3B4DZ",
      HistoryLine: "discountcustomdialog_HistoryLine_ZmVYL",
      AvailableRange: "discountcustomdialog_AvailableRange_trSI7",
      DiscountedRange: "discountcustomdialog_DiscountedRange_2ysY6",
      Dates: "discountcustomdialog_Dates_6Z2m0",
      SelectedEvent: "discountcustomdialog_SelectedEvent_13wZt",
      DiscountName: "discountcustomdialog_DiscountName_3UxnE",
      DiscountPercentage: "discountcustomdialog_DiscountPercentage_IAC4v",
      DiscountRange: "discountcustomdialog_DiscountRange_mddbO",
      AvailableLabel: "discountcustomdialog_AvailableLabel_VN_up",
      DiscountEventSelectDropDown:
        "discountcustomdialog_DiscountEventSelectDropDown_1TuVi",
      DiscountPctHistory: "discountcustomdialog_DiscountPctHistory_PO8Y8",
      DropDownScroll: "discountcustomdialog_DropDownScroll_3jSyZ",
      DateCtn: "discountcustomdialog_DateCtn_3ylap",
      DatePicker: "discountcustomdialog_DatePicker_2n6Ed",
      SelectedPackage: "discountcustomdialog_SelectedPackage_3BWNE",
      OnePackageResult: "discountcustomdialog_OnePackageResult_1HqM3",
      PackageName: "discountcustomdialog_PackageName_3xE_Q",
      ClearSelectedPackage: "discountcustomdialog_ClearSelectedPackage_27zzr",
      SearchResults: "discountcustomdialog_SearchResults_2m4PZ",
      SummaryLine: "discountcustomdialog_SummaryLine_1XXEb",
      PackageList: "discountcustomdialog_PackageList_vwVXi",
      PackageHeaderImage: "discountcustomdialog_PackageHeaderImage_2eRO8",
      DiscountLengthCtn: "discountcustomdialog_DiscountLengthCtn_U9VTO",
      DiscountPercentCtn: "discountcustomdialog_DiscountPercentCtn_2YPdF",
    };
  },
  xvkT: function (e, t, n) {
    "use strict";
    n.d(t, "c", function () {
      return C;
    }),
      n.d(t, "d", function () {
        return w;
      }),
      n.d(t, "b", function () {
        return B;
      }),
      n.d(t, "e", function () {
        return O;
      }),
      n.d(t, "a", function () {
        return D;
      }),
      n.d(t, "f", function () {
        return T;
      }),
      n.d(t, "g", function () {
        return R;
      }),
      n.d(t, "h", function () {
        return j;
      }),
      n.d(t, "n", function () {
        return k;
      }),
      n.d(t, "i", function () {
        return M;
      }),
      n.d(t, "l", function () {
        return P;
      }),
      n.d(t, "j", function () {
        return L;
      }),
      n.d(t, "m", function () {
        return G;
      }),
      n.d(t, "k", function () {
        return F;
      }),
      n.d(t, "o", function () {
        return x;
      }),
      n.d(t, "p", function () {
        return z;
      });
    var a = n("mrSG"),
      r = n("q1tI"),
      i = n("AQa9"),
      s = n("Q8oI"),
      o = n("ERCR"),
      l = (n("WDYG"), n("5VAZ"), n("1j+z")),
      c = n("I8QC"),
      d = n("pIgH"),
      u = n("cKYR"),
      m = n("ulcR"),
      p = n("G0wi"),
      h = n("l1Mn"),
      _ = n("dqrJ"),
      g = n("3wCP"),
      b = n("CqJL"),
      f = n("4uD3"),
      v = n("aaBf"),
      S = n("Cug9"),
      y = n("AEPT"),
      E = n.n(y);
    const C = new Map([
      [
        "b",
        {
          Constructor: function (e) {
            return r.createElement("div", { className: E.a.Bold }, e.children);
          },
          autocloses: !1,
        },
      ],
      [
        "i",
        {
          Constructor: function (e) {
            return r.createElement(
              "div",
              { className: Object(g.a)(E.a.Italic, "BB_Italic") },
              e.children,
            );
          },
          autocloses: !1,
        },
      ],
      ["h1", { Constructor: T, autocloses: !1, skipFollowingNewline: !0 }],
      ["h2", { Constructor: R, autocloses: !1, skipFollowingNewline: !0 }],
      ["h3", { Constructor: j, autocloses: !1, skipFollowingNewline: !0 }],
      [
        "h4",
        {
          Constructor: function (e) {
            return I(e, Object(g.a)(E.a.Header4, "BB_Header4"));
          },
          autocloses: !1,
          skipFollowingNewline: !0,
        },
      ],
      [
        "h5",
        {
          Constructor: function (e) {
            return I(e, Object(g.a)(E.a.Header5, "BB_Header5"));
          },
          autocloses: !1,
          skipFollowingNewline: !0,
        },
      ],
      [
        "smalltext",
        {
          Constructor: function (e) {
            return I(e, Object(g.a)(E.a.SmallText, "BB_SmallText"));
          },
          autocloses: !1,
          skipFollowingNewline: !0,
        },
      ],
      [
        "u",
        {
          Constructor: function (e) {
            return r.createElement(
              "div",
              { className: E.a.Underline },
              e.children,
            );
          },
          autocloses: !1,
        },
      ],
      [
        "strike",
        {
          Constructor: function (e) {
            return r.createElement(
              "div",
              { className: E.a.Strike },
              e.children,
            );
          },
          autocloses: !1,
        },
      ],
      [
        "spoiler",
        {
          Constructor: function (e) {
            return r.createElement(
              "span",
              { className: E.a.Spoiler },
              r.createElement(
                "span",
                { className: E.a.SpoilerText },
                e.children,
              ),
            );
          },
          autocloses: !1,
        },
      ],
      [
        "hr",
        {
          Constructor: function (e) {
            return r.createElement("div", { className: E.a.HR });
          },
          autocloses: !1,
        },
      ],
      [
        "noparse",
        {
          Constructor: function (e) {
            return e.children;
          },
          autocloses: !1,
        },
      ],
      [
        "url",
        {
          Constructor: function (e) {
            const t = O(e.args),
              n = "button" == O(e.args, "style") ? E.a.LinkButton : null;
            let a = O(e.args, "id");
            a &&
              "string" == typeof a &&
              a.length > 0 &&
              "#" === a[0] &&
              (a = a.substring(1));
            if (void 0 === t && !a) return e.children || "";
            if (
              void 0 === t ||
              ("string" == typeof t && t.length > 0 && "#" == t[0])
            )
              return r.createElement(
                "a",
                { href: null != t ? t : null, id: a },
                e.children,
              );
            return r.createElement(
              A,
              { className: n, href: t, id: a },
              e.children,
            );
          },
          autocloses: !1,
        },
      ],
      ["quote", { Constructor: k, autocloses: !1 }],
      [
        "pullquote",
        {
          Constructor: function (e) {
            return r.createElement(
              "div",
              { className: E.a.PullQuote },
              e.children,
            );
          },
          autocloses: !1,
        },
      ],
      [
        "code",
        {
          Constructor: function (e) {
            return r.createElement("div", { className: E.a.Code }, e.children);
          },
          autocloses: !1,
        },
      ],
      ["list", { Constructor: M, autocloses: !1, skipInternalNewline: !0 }],
      ["olist", { Constructor: P, autocloses: !1, skipInternalNewline: !0 }],
      ["*", { Constructor: L, autocloses: !0, skipInternalNewline: !0 }],
      [
        "table",
        {
          Constructor: function (e) {
            const t = O(e.args, "noborder"),
              n = O(e.args, "equalcells");
            return r.createElement(
              "div",
              {
                className: Object(g.a)(
                  E.a.Table,
                  "BB_Table",
                  t && E.a.NoBorder,
                  n && E.a.EqualCells,
                ),
              },
              e.children,
            );
          },
          autocloses: !1,
          skipInternalNewline: !0,
        },
      ],
      [
        "tr",
        {
          Constructor: function (e) {
            return r.createElement(
              "div",
              { className: Object(g.a)(E.a.TableRow, "BB_TableRow") },
              e.children,
            );
          },
          autocloses: !1,
          skipInternalNewline: !0,
          skipFollowingNewline: !0,
        },
      ],
      [
        "th",
        {
          Constructor: function (e) {
            return r.createElement(
              "div",
              { className: E.a.TableHeader },
              e.children,
            );
          },
          autocloses: !1,
          skipInternalNewline: !0,
          skipFollowingNewline: !0,
        },
      ],
      [
        "td",
        {
          Constructor: function (e) {
            const t = O(e.args, "width");
            return r.createElement(
              "div",
              {
                className: Object(g.a)(E.a.TableData, "BB_TableData"),
                style: t && { width: t },
              },
              e.children,
            );
          },
          autocloses: !1,
          skipInternalNewline: !0,
          skipFollowingNewline: !0,
        },
      ],
      [
        "expand",
        {
          Constructor: function (e) {
            const t = Boolean(O(e.args, "expanded")),
              [n, a] = r.useState(t),
              i = (function (e, t) {
                switch (e) {
                  case "details":
                    return {
                      collapsed: "#Bbcode_Expand_Details_Collapsed",
                      expanded: "#Bbcode_Expand_Details_Expanded",
                      style: E.a.ExpandSection_Details,
                    };
                  case "spoiler":
                    return {
                      collapsed: "#Bbcode_Expand_Spoiler_Collapsed",
                      expanded: "#Bbcode_Expand_Spoiler_Expanded",
                      style: E.a.ExpandSection_Spoiler,
                    };
                  case "title":
                    return {
                      collapsed: t || "#Bbcode_Expand_ShowMore_Collapsed",
                      expanded: t || "#Bbcode_Expand_ShowMore_Expanded",
                      style: E.a.ExpandSection_WithTitle,
                    };
                  default:
                    return {
                      collapsed: "#Bbcode_Expand_ShowMore_Collapsed",
                      expanded: "#Bbcode_Expand_ShowMore_Expanded",
                      style: E.a.ExpandSection_ShowMore,
                    };
                }
              })(O(e.args, "type"), O(e.args, "title"));
            return r.createElement(
              "div",
              {
                className: Object(g.a)(
                  E.a.ExpandSectionBlock,
                  i.style,
                  n ? E.a.ExpandSectionExpanded : E.a.ExpandSectionCollapsed,
                ),
              },
              r.createElement(
                "div",
                { className: E.a.ExpandSectionHeader, onClick: () => a(!n) },
                Object(b.f)(n ? i.expanded : i.collapsed),
                r.createElement(
                  "div",
                  { className: E.a.EmbedArrow },
                  r.createElement(h.A, { angle: n ? 180 : 0 }),
                ),
              ),
              n &&
                r.createElement(
                  "div",
                  { className: E.a.ExpandSectionBody },
                  e.children,
                ),
            );
          },
          autocloses: !1,
          skipInternalNewline: !0,
          allowWrapTextForCopying: !0,
        },
      ],
      [
        "remindme",
        {
          Constructor: function (e) {
            const { event: t } = e.context,
              n = O(e.args);
            if (n) return r.createElement(m.a, { eventGID: n });
            if (t) {
              const e = Object(i.g)(v.c.LANGUAGE);
              return r.createElement(m.b, { eventModel: t, lang: e });
            }
            return null;
          },
          autocloses: !1,
        },
      ],
      [
        "doclink",
        {
          Constructor: function (e) {
            const t = O(e.args),
              n = "button" == O(e.args, "style") ? E.a.LinkButton : null;
            return r.createElement(
              A,
              { className: n, href: `${v.c.PARTNER_BASE_URL}doc/${t}` },
              e.children,
            );
          },
          autocloses: !1,
        },
      ],
    ]);
    new Map([
      ["looping_media", { Constructor: F, autocloses: !1 }],
      ["video", { Constructor: x, autocloses: !1 }],
      ["youtubeorvideo", { Constructor: z, autocloses: !1 }],
      ["previewyoutube", { Constructor: G, autocloses: !1 }],
    ]);
    function w(e, t, n = 0) {
      const a = v.c.MEDIA_CDN_COMMUNITY_URL + "images/clans/";
      if (void 0 !== e && e.startsWith(S.e))
        return a + e.substring(S.e.length + 1);
      if (void 0 !== e && e.startsWith(S.d)) {
        const r = new Array(),
          i = e.substr(S.d.length + 1),
          o = c.a.GetHashFromHashAndExt(i),
          l = c.a.GetExtensionStringFromHashAndExt(i);
        if (null != t) {
          let e = Object(s.ELanguagePchLanguage)(t);
          r.push(a + o + "/" + e + l + "?t=" + n),
            4 == t &&
              ((e = Object(s.MapKoreanaToKorean)(
                Object(s.ELanguagePchLanguage)(t),
              )),
              r.push(a + o + "/" + e + l + "?t=" + n));
        }
        return r.push(a + i), r;
      }
      return e;
    }
    function B(e, t) {
      if (e.startsWith("steam://")) return !1;
      if (e.startsWith("/")) return !1;
      const n = Object(f.d)(e).toLowerCase(),
        a = Object(f.d)(v.c.COMMUNITY_BASE_URL).toLowerCase(),
        r = Object(f.d)(v.c.STORE_BASE_URL).toLowerCase(),
        i = Object(f.d)(v.c.HELP_BASE_URL).toLowerCase(),
        s = Object(f.d)(v.c.PARTNER_BASE_URL || "").toLowerCase();
      return (
        n !== a &&
        n !== r &&
        n !== i &&
        "support.steampowered.com" !== n &&
        n !== s &&
        (!t || 0 == t.filter((e) => n == e).length)
      );
    }
    function O(e, t) {
      return void 0 === t ? e[""] : e[t];
    }
    function D(e, t) {
      return (n) =>
        e(
          Object.assign(Object.assign({}, n), {
            className: Object(g.a)(n.className, t),
          }),
        );
    }
    function I(e, t) {
      let n = O(e.args, "id");
      return (
        n &&
          "string" == typeof n &&
          n.length > 0 &&
          "#" === n[0] &&
          (n = n.substring(1)),
        r.createElement(
          "div",
          { id: n || void 0, className: Object(g.a)(t, e.className) },
          e.children,
        )
      );
    }
    function T(e) {
      return I(e, Object(g.a)(E.a.Header1, "BB_Header1"));
    }
    function R(e) {
      return I(e, Object(g.a)(E.a.Header2, "BB_Header2"));
    }
    function j(e) {
      return I(e, Object(g.a)(E.a.Header3, "BB_Header3"));
    }
    const A = (e) => {
      const { href: t } = e,
        n = Object(a.c)(e, ["href"]),
        i = Object(_.c)();
      let s,
        c = Object(l.d)(t, i);
      B(c) &&
        ((c =
          (v.c.IN_CLIENT ? "steam://openurl_external/" : "") +
          v.c.COMMUNITY_BASE_URL +
          "linkfilter/?url=" +
          c),
        (s = "noopener nofollow"));
      const d =
        "string" == typeof e.children &&
        e.children.length > 0 &&
        t &&
        !t.startsWith("steam://")
          ? Object(f.e)(t)
          : void 0;
      return r.createElement(
        o.c,
        Object.assign({}, n, { href: c, rel: s }),
        r.createElement("span", { "data-tooltip-text": d }, e.children),
      );
    };
    function k(e) {
      const t = O(e.args, "author");
      return r.createElement(
        "blockquote",
        { className: Object(g.a)(E.a.BlockQuote, e.className) },
        !!t &&
          r.createElement(
            "div",
            { className: E.a.QuoteAuthor },
            Object(b.f)("#Bbcode_Originally_Posted_By") + " ",
            " ",
            r.createElement("b", null, t + ":"),
          ),
        e.children,
      );
    }
    function M(e) {
      return r.createElement("ul", { className: E.a.List }, e.children);
    }
    function P(e) {
      return r.createElement("ol", { className: E.a.OrderedList }, e.children);
    }
    function L(e) {
      let t = O(e.args, "id");
      return (
        t &&
          "string" == typeof t &&
          t.length > 0 &&
          "#" === t[0] &&
          (t = t.substring(1)),
        r.createElement(
          "li",
          { className: E.a.ListItem, id: t || void 0 },
          e.children,
        )
      );
    }
    function G(e) {
      if (v.c.EREALM === s.ESteamRealm.k_ESteamRealmChina) return null;
      let t = O(e.args);
      if (t) {
        let e = t.split(";");
        if (2 == e.length) {
          let t = e[0],
            n = e[1].toLocaleLowerCase(),
            a = "full" == n ? u.sizeFull : u.sizeThumb,
            i =
              "full" == n ? "" : "leftthumb" == n ? u.floatLeft : u.floatRight;
          return r.createElement(d.a, {
            videoID: t,
            classNameAlign: i,
            classNameSize: a,
            bShowVideoImmediately: !0,
          });
        }
      }
      return r.createElement(r.Fragment, null);
    }
    function N(e) {
      let t = O(e.args, "poster");
      t && (t = Object(f.g)(t));
      const n = new Array();
      {
        const t = O(e.args, "mp4");
        t && n.push({ sURL: Object(f.g)(t), sFormat: "video/mp4" });
        const a = O(e.args, "webm");
        a && n.push({ sURL: Object(f.g)(a), sFormat: "video/webm" });
      }
      const a = Object(i.g)(v.c.LANGUAGE),
        r = 0 != a,
        o = new Array();
      for (let t = 0; t < 30; t++) {
        const n = O(e.args, "sub_" + Object(s.ELanguagePchWebLanguageCode)(t));
        n &&
          o.push({
            sURL: Object(f.g)(n),
            eLanguage: t,
            sKind: "subtitles",
            bDefault: r && t == a,
          });
        const i = O(e.args, "cap_" + Object(s.ELanguagePchWebLanguageCode)(t));
        i &&
          o.push({
            sURL: Object(f.g)(i),
            eLanguage: t,
            sKind: "captions",
            bDefault: r && t == a,
          });
      }
      return { sPoster: t, rgVideoSources: n, rgVideoTracks: o };
    }
    function F(e) {
      const t = N(e);
      return r.createElement(p.a, {
        video: t,
        bAutoPlay: !0,
        bControls: !1,
        bLoop: !0,
      });
    }
    function x(e) {
      const t = N(e),
        n = e.children ? e.children.toString() : void 0;
      n &&
        n.startsWith("http") &&
        t.rgVideoSources.push({ sURL: Object(f.g)(n), sFormat: "video/webm" });
      const a = O(e.args, "autoplay"),
        i = "0" !== a && "off" !== a && "false" !== a,
        s = O(e.args, "controls"),
        o = "0" !== s && "off" !== s && "false" !== s;
      return r.createElement(p.a, {
        video: t,
        bAutoPlay: i,
        bControls: o,
        bLoop: i,
      });
    }
    function z(e) {
      if (
        v.c.EREALM === s.ESteamRealm.k_ESteamRealmChina ||
        "CN" == v.c.COUNTRY.toLocaleUpperCase()
      )
        return x(e);
      const t = O(e.args, "youtubeid"),
        n = O(e.args, "size"),
        a = O(e.args, "seconds");
      let i = "full" == n ? u.sizeFull : u.sizeThumb,
        o = "full" == n ? "" : "leftthumb" == n ? u.floatLeft : u.floatRight;
      return r.createElement(d.a, {
        videoID: t,
        nStartSeconds: a ? Number.parseInt(a) : void 0,
        classNameAlign: o,
        classNameSize: i,
        bShowVideoImmediately: !0,
      });
    }
  },
  xwVz: function (e, t) {
    e.exports =
      "data:image/png;base64, ";
  },
  y1pX: function (e, t, n) {
    e.exports = {
      CenterAlign: "optin_admin_email_editor_CenterAlign_30g6t",
      EmailEditorContent: "optin_admin_email_editor_EmailEditorContent_BLEK0",
      Columns: "optin_admin_email_editor_Columns_3dWS0",
      LeftCol: "optin_admin_email_editor_LeftCol_3v4Ve",
      RightCol: "optin_admin_email_editor_RightCol_2XdIS",
      ConfTitle: "optin_admin_email_editor_ConfTitle_1034q",
      EmailSubjectCtn: "optin_admin_email_editor_EmailSubjectCtn_Ky6vQ",
      EmailOptionTitle: "optin_admin_email_editor_EmailOptionTitle_2byFL",
      EmailTemplate: "optin_admin_email_editor_EmailTemplate_4QEkY",
      RightAlign: "optin_admin_email_editor_RightAlign_jGzd4",
      DevEmailTemplate: "optin_admin_email_editor_DevEmailTemplate_1Mnom",
      DevEmail_Content: "optin_admin_email_editor_DevEmail_Content_3Ot-a",
      DevEmail_Headline1: "optin_admin_email_editor_DevEmail_Headline1_3dKOm",
      DevEmail_TopLogo: "optin_admin_email_editor_DevEmail_TopLogo_1cVtv",
      DevEmail_TopHeader: "optin_admin_email_editor_DevEmail_TopHeader_I1TnL",
      DevEmail_Headline2: "optin_admin_email_editor_DevEmail_Headline2_2Jqt0",
      EventCtn: "optin_admin_email_editor_EventCtn_3LekG",
      EventTitle: "optin_admin_email_editor_EventTitle_Zmpp3",
      EventDates: "optin_admin_email_editor_EventDates_300LP",
      DevEmail_SignOff_Img:
        "optin_admin_email_editor_DevEmail_SignOff_Img_3O708",
      DevEmail_Signoff: "optin_admin_email_editor_DevEmail_Signoff_3AVDI",
      DevEmail_Footer_Ctn: "optin_admin_email_editor_DevEmail_Footer_Ctn_FpCTM",
      DevEmail_Footer_Reason:
        "optin_admin_email_editor_DevEmail_Footer_Reason_oQkDs",
      DevEmail_Footer_SubSection:
        "optin_admin_email_editor_DevEmail_Footer_SubSection_2fxkC",
      DevEmail_Footer_Bold:
        "optin_admin_email_editor_DevEmail_Footer_Bold_3dqoc",
      DevEmail_Footer_Regular:
        "optin_admin_email_editor_DevEmail_Footer_Regular_pleWj",
      DevEmail_Follow: "optin_admin_email_editor_DevEmail_Follow_1i4xt",
      DevEmail_RecipientTable:
        "optin_admin_email_editor_DevEmail_RecipientTable_wkKaz",
      MetaDataCtn: "optin_admin_email_editor_MetaDataCtn_1-s0h",
      MetaDataSummary: "optin_admin_email_editor_MetaDataSummary_22Gai",
      MetaDataRow: "optin_admin_email_editor_MetaDataRow_1Pb5P",
      MetaDataRowTitle: "optin_admin_email_editor_MetaDataRowTitle_393Gu",
      MaxEventCount: "optin_admin_email_editor_MaxEventCount_1E7zP",
      SectionCtn: "optin_admin_email_editor_SectionCtn_2LeZ2",
      SectionTitle: "optin_admin_email_editor_SectionTitle_Ypz5S",
      SectionEntryTitle: "optin_admin_email_editor_SectionEntryTitle_ScsuE",
      SectionBody: "optin_admin_email_editor_SectionBody_2JTPY",
      ChangeBtnCtn: "optin_admin_email_editor_ChangeBtnCtn_1LZ2L",
      AddSectionCtn: "optin_admin_email_editor_AddSectionCtn_2H_OO",
      StatCtn: "optin_admin_email_editor_StatCtn_3lCM2",
      StatNumber: "optin_admin_email_editor_StatNumber_3gAEw",
      BigButton: "optin_admin_email_editor_BigButton_2d5qK",
    };
  },
  y2HL: function (e, t, n) {
    e.exports = {
      MainBlock: "salesectionsubscription_MainBlock_33wZe",
      SelectAPlan: "salesectionsubscription_SelectAPlan_38KtW",
      SubscriptionListBlock:
        "salesectionsubscription_SubscriptionListBlock_2EdQd",
      SubscriptionBlock: "salesectionsubscription_SubscriptionBlock_18tv9",
      LogoImg: "salesectionsubscription_LogoImg_3G4nB",
      PriceBlock: "salesectionsubscription_PriceBlock_2QIlG",
      PriceDisplay: "salesectionsubscription_PriceDisplay_18l_w",
      LimitedDiscount: "salesectionsubscription_LimitedDiscount_fqvhJ",
      SavingsDisplay: "salesectionsubscription_SavingsDisplay_2PFhK",
      BodyTextBlock: "salesectionsubscription_BodyTextBlock_3k6h9",
      ExpirationTextBlock: "salesectionsubscription_ExpirationTextBlock_3FAPQ",
      PurchaseButton: "salesectionsubscription_PurchaseButton_1Gb8q",
      AlreadyOwnedPackage: "salesectionsubscription_AlreadyOwnedPackage_FZ5xr",
      AlreadyOwnedApp: "salesectionsubscription_AlreadyOwnedApp_3vxFA",
      UnOwned: "salesectionsubscription_UnOwned_3z8Kr",
      DiscountPriceBlock: "salesectionsubscription_DiscountPriceBlock_3i1oi",
    };
  },
  y6Yv: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return s;
    }),
      n.d(t, "b", function () {
        return o;
      });
    var a = n("hRO2"),
      r = (n("AQa9"), n("hc+a"), n("RfXg"), n("HgJB")),
      i = (n("9yZi"), n("cCSw"));
    class s {
      constructor(e, t, n, i, s) {
        if (i)
          (this.m_eMsg = i.m_eMsg),
            (this.m_bValid = i.m_bValid),
            this.m_bValid &&
              ((this.m_netPacket = i.m_netPacket),
              (this.m_cubHeader = i.m_cubHeader),
              (this.m_header = i.m_header),
              this.InitForType(n));
        else {
          if (((this.m_header = new r.d(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 {
                r.d.deserializeBinaryFromReader(
                  this.m_header,
                  new a.BinaryReader(
                    this.m_netPacket.GetPacket(),
                    this.m_netPacket.TellGet(),
                    this.m_cubHeader,
                  ),
                ),
                  this.m_netPacket.SeekGetCurrent(this.m_cubHeader),
                  n && this.InitForType(n);
              } catch (e) {
                console.error("Exception deserializing protobuf", e),
                  (this.m_bValid = !1);
              }
            } else this.m_bValid = !1;
          else e && (this.m_eMsg = e), n && (this.m_body = new n());
          s && this.m_header.set_jobid_target(s.Hdr().jobid_target());
        }
      }
      static InstallErrorReportingStore(e) {
        this.sm_ErrorReportingStore = e;
      }
      static InitHeaderFromPacket(e) {
        return new s(void 0, e);
      }
      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 a.BinaryReader(
                this.m_netPacket.GetPacket(),
                this.m_netPacket.TellGet(),
                this.m_netPacket.GetCountBytesRemaining(),
              ),
            );
          } catch (e) {
            this.m_bValid = !1;
            const t = s.sm_ErrorReportingStore,
              n = `Exception parsing protobuf message body of type ${this.m_eMsg}.  Definitions may be out of sync with server version.`;
            t &&
              t.ReportError(new Error(n), { bIncludeMessageInIdentifier: !0 }),
              console.warn(n),
              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();
      }
      Serialize() {
        let e = this.m_header.serializeBinary(),
          t = this.m_body.serializeBinary(),
          n = 2147483648 | this.m_eMsg,
          a = new Uint8Array(8 + e.length + t.length),
          r = new i.a(a);
        return (
          r.PutUint32(n), r.PutUint32(e.length), r.PutBytes(e), r.PutBytes(t), a
        );
      }
      SerializeBody() {
        let e = this.m_body.serializeBinary(),
          t = new Uint8Array(e.length);
        return new i.a(t).PutBytes(e), t;
      }
      DEBUG_ToObject() {
        return {};
      }
      DEBUG_LogToConsole() {
        0;
      }
    }
    class o extends s {
      constructor(e, t = 0, n, a) {
        super(t, n, e, a);
      }
      static InitFromPacket(e, t) {
        return new o(e, 0, t);
      }
      static InitFromMsg(e, t) {
        return new o(e, void 0, void 0, t);
      }
      static Init(e, t) {
        return new o(e, t);
      }
      Body() {
        return super.Body();
      }
      SetBodyFields(e) {
        for (let 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]);
      }
    }
  },
  yJRL: function (e, t, n) {
    e.exports = {
      Dark: "footericons_Dark_37xwx",
      Background: "footericons_Background_2fMyS",
      Foreground: "footericons_Foreground_9bLCz",
      Light: "footericons_Light_2Yw_g",
      Knockout: "footericons_Knockout_3ezNH",
      SizeSmall: "footericons_SizeSmall_InLV7",
      SizeMedium: "footericons_SizeMedium_2jeha",
      SizeLarge: "footericons_SizeLarge_30ApC",
      ChordSummary: "footericons_ChordSummary_2Ocgw",
    };
  },
  yKoY: function (e, t, n) {
    e.exports = {
      RowCtn: "promoagendarow_RowCtn_1Cq0N",
      Public: "promoagendarow_Public_2p_SN",
      Row: "promoagendarow_Row_2KUhB",
      Primary: "promoagendarow_Primary_2tQk8",
      Col: "promoagendarow_Col_2x28W",
      ItemName: "promoagendarow_ItemName_K3sWB",
      Type: "promoagendarow_Type_1hntl",
      Date: "promoagendarow_Date_17dLA",
      Creator: "promoagendarow_Creator_3VjL-",
      Visibility: "promoagendarow_Visibility_wvE-j",
      CountryList: "promoagendarow_CountryList_17dzI",
      OwnerLimit: "promoagendarow_OwnerLimit_LDwRn",
      CapsulePlatform: "promoagendarow_CapsulePlatform_2OJsE",
    };
  },
  yS5A: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return l;
    }),
      n.d(t, "b", function () {
        return c;
      });
    var a = n("mrSG"),
      r = n("Zj+z"),
      i = n("aaBf"),
      s = n("vDqi"),
      o = n.n(s);
    n("q2g5");
    class l extends r.a {
      constructor() {
        super();
      }
      BInitialized() {
        return !0;
      }
      GetServerTime() {
        return i.c.PAGE_TIMESTAMP + Math.floor(performance.now() / 1e3);
      }
      RequestEmoticonListInternal() {
        return Object(a.a)(this, void 0, void 0, function* () {
          let e = [];
          try {
            let t = yield o.a.get(i.c.CHAT_BASE_URL + "actions/EmoticonData", {
              withCredentials: !0,
            });
            if (t.data.emoticons)
              for (let n of t.data.emoticons) {
                let t = n.name;
                if (t.startsWith("^")) e.push({ name: t });
                else {
                  let a = { name: t.substr(1, t.length - 2) },
                    r = a.name.toLowerCase();
                  r != a.name && (a.name_normalized = r),
                    n.time_last_used && (a.last_used = n.time_last_used),
                    n.use_count && (a.use_count = n.use_count),
                    n.time_received && (a.time_received = n.time_received),
                    n.appid && (a.appid = n.appid),
                    e.push(a);
                }
              }
          } catch (e) {
            console.error("error loading emoticon list", e);
          }
          this.OnEmoticonListReceived(e);
        });
      }
    }
    const c = new l();
  },
  yd9a: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      headerCapsuleImgWidth: "460",
      headerCapsuleImgHeight: "215",
      mainCapsuleImgWidth: "616",
      mainCapsuleImgHeight: "353",
      libraryAssetImgWidth: "300",
      libraryAssetImgHeight: "450",
      StoreSaleWidgetContainer:
        "salepreviewwidgets_StoreSaleWidgetContainer_3zqVO",
      LibraryAssetExpandedDisplay:
        "salepreviewwidgets_LibraryAssetExpandedDisplay_2oeoi",
      SaleItemDefaultCapsuleDisplay:
        "salepreviewwidgets_SaleItemDefaultCapsuleDisplay_1aVmE",
      StoreSaleWidgetHalfLeft:
        "salepreviewwidgets_StoreSaleWidgetHalfLeft_1A66D",
      StoreSaleWidgetRight: "salepreviewwidgets_StoreSaleWidgetRight_2e3GD",
      StoreSaleDiscountBox: "salepreviewwidgets_StoreSaleDiscountBox_39MVk",
      StoreSaleWidgetLibraryAssetExtendedTop:
        "salepreviewwidgets_StoreSaleWidgetLibraryAssetExtendedTop_10t6X",
      StoreSaleWidgetImage: "salepreviewwidgets_StoreSaleWidgetImage_3o5Xg",
      CapsuleMicroTrailer: "salepreviewwidgets_CapsuleMicroTrailer_hTVgJ",
      StoreSaleWidgetTitle: "salepreviewwidgets_StoreSaleWidgetTitle_wEN2h",
      CapsulePlatform: "salepreviewwidgets_CapsulePlatform_2WmOV",
      StoreSaleWidgetContents:
        "salepreviewwidgets_StoreSaleWidgetContents_3rjbq",
      StoreMetaDataCtn: "salepreviewwidgets_StoreMetaDataCtn_17gSb",
      StoreSaleItemRelease: "salepreviewwidgets_StoreSaleItemRelease_uz4zV",
      StoreSaleItemDev: "salepreviewwidgets_StoreSaleItemDev_vRaYM",
      StoreSaleItemReview: "salepreviewwidgets_StoreSaleItemReview_Rgo8-",
      StoreSaleWidgetLeft: "salepreviewwidgets_StoreSaleWidgetLeft_2cD_F",
      TitleCtn: "salepreviewwidgets_TitleCtn_OPaZY",
      StoreSaleWidgetCrossCenterRight:
        "salepreviewwidgets_StoreSaleWidgetCrossCenterRight_3xZtK",
      CapsuleBottomBar: "salepreviewwidgets_CapsuleBottomBar_2ExA7",
      StoreActionWidgetContainer:
        "salepreviewwidgets_StoreActionWidgetContainer_2Z4Yn",
      StoreSalePriceWidgetContainer:
        "salepreviewwidgets_StoreSalePriceWidgetContainer_1M5Z_",
      StoreSaleWidgetBgTint: "salepreviewwidgets_StoreSaleWidgetBgTint_3UvN8",
      LibraryFallbackAssetImageContainer:
        "salepreviewwidgets_LibraryFallbackAssetImageContainer_2iRRt",
      FallbackBackground: "salepreviewwidgets_FallbackBackground_3C9jN",
      SaleTagBlockCtn: "salepreviewwidgets_SaleTagBlockCtn_136qJ",
      StoreSaleWidgetCenter: "salepreviewwidgets_StoreSaleWidgetCenter_s1Qf5",
      StoreSaleWidgetReleaseAndTags:
        "salepreviewwidgets_StoreSaleWidgetReleaseAndTags_2ofsN",
      Bundle: "salepreviewwidgets_Bundle_3JlLI",
      WidgetReleaseDateAndPlatformCtn:
        "salepreviewwidgets_WidgetReleaseDateAndPlatformCtn_1TLXA",
      SaleItemBrowserRow: "salepreviewwidgets_SaleItemBrowserRow_11Ka5",
      StoreSaleWidgetRelease: "salepreviewwidgets_StoreSaleWidgetRelease_2tGoS",
      StoreSaleWidgetTags: "salepreviewwidgets_StoreSaleWidgetTags_1Z-HK",
      AppTag: "salepreviewwidgets_AppTag_2gNUy",
      StoreSaleWidgetShortDesc:
        "salepreviewwidgets_StoreSaleWidgetShortDesc_1ZwKj",
      TagTitle: "salepreviewwidgets_TagTitle_1jnaD",
      TagBox: "salepreviewwidgets_TagBox_On4kw",
      SaleItemFullCapsuleDisplay:
        "salepreviewwidgets_SaleItemFullCapsuleDisplay_R6Co5",
      Tag: "salepreviewwidgets_Tag_1zb4H",
      StoreSaleBroadcastWidgetRight:
        "salepreviewwidgets_StoreSaleBroadcastWidgetRight_1gF_L",
      StoreSalePriceActionWidgetContainer:
        "salepreviewwidgets_StoreSalePriceActionWidgetContainer_3mdQ8",
      Discounted: "salepreviewwidgets_Discounted_2eiid",
      WishList: "salepreviewwidgets_WishList_dgq7f",
      Action: "salepreviewwidgets_Action_213r2",
      SingleLineMode: "salepreviewwidgets_SingleLineMode_3a3Zp",
      StoreSaleDiscountedPriceCtn:
        "salepreviewwidgets_StoreSaleDiscountedPriceCtn_1ifrw",
      StoreSalePriceBox: "salepreviewwidgets_StoreSalePriceBox_37Uyz",
      StoreOriginalPrice: "salepreviewwidgets_StoreOriginalPrice_1eYuV",
      InGameHover: "salepreviewwidgets_InGameHover_28pKV",
      StoreSalePrepurchaseLabel:
        "salepreviewwidgets_StoreSalePrepurchaseLabel_AF28s",
      SingleLineOriginalPrice:
        "salepreviewwidgets_SingleLineOriginalPrice_3sjaQ",
      BaseDiscount: "salepreviewwidgets_BaseDiscount_HLfF2",
      StoreSalePriceButton: "salepreviewwidgets_StoreSalePriceButton_1x2cn",
      OuterCapsuleContainer: "salepreviewwidgets_OuterCapsuleContainer_1emnN",
      CapsuleContainer: "salepreviewwidgets_CapsuleContainer_1uut8",
      EventRow: "salepreviewwidgets_EventRow_lbY0n",
      Muted: "salepreviewwidgets_Muted_2jgFB",
      BottomCreatorRow: "salepreviewwidgets_BottomCreatorRow_2SWQX",
      CreatorLogo: "salepreviewwidgets_CreatorLogo_1z46W",
      CreatorName: "salepreviewwidgets_CreatorName_35_AW",
      BottomBarPriceInfo: "salepreviewwidgets_BottomBarPriceInfo_giOU4",
      PlayNowButton: "salepreviewwidgets_PlayNowButton_LWkoT",
      AddToLibraryButton: "salepreviewwidgets_AddToLibraryButton_Cm7o-",
      HeaderCapsuleImageContainer:
        "salepreviewwidgets_HeaderCapsuleImageContainer_38USo",
      MainCapsuleImageContainer:
        "salepreviewwidgets_MainCapsuleImageContainer_1AAo3",
      LibraryAssetImageContainer:
        "salepreviewwidgets_LibraryAssetImageContainer_MVrpO",
      CapsuleImage: "salepreviewwidgets_CapsuleImage_x7F3P",
      LinkCapsuleImage: "salepreviewwidgets_LinkCapsuleImage_2hBVC",
      CapsuleParentInfo: "salepreviewwidgets_CapsuleParentInfo_34Y-W",
      ParentType: "salepreviewwidgets_ParentType_1T_p3",
      Banner: "salepreviewwidgets_Banner_NDRdV",
      Blue: "salepreviewwidgets_Blue_23SGs",
      LinesImg: "salepreviewwidgets_LinesImg_14spi",
      CapsuleDecorators: "salepreviewwidgets_CapsuleDecorators_1A_Pc",
      BundleContentsCtnTransition:
        "salepreviewwidgets_BundleContentsCtnTransition_2a96P",
      Expanding: "salepreviewwidgets_Expanding_viiqL",
      Expanded: "salepreviewwidgets_Expanded_1WpUD",
      Collapsing: "salepreviewwidgets_Collapsing_3_tE7",
      BundleContentsCtn: "salepreviewwidgets_BundleContentsCtn_BcD0k",
      BundleContentsTitle: "salepreviewwidgets_BundleContentsTitle_3HtK2",
      BundleShowButton: "salepreviewwidgets_BundleShowButton_Vi9_9",
      ShowContentsButton: "salepreviewwidgets_ShowContentsButton_2Gerj",
      ShowContentsSection: "salepreviewwidgets_ShowContentsSection_3dkaf",
      BundleContentItem: "salepreviewwidgets_BundleContentItem_1oI3H",
      BundleContentPreview: "salepreviewwidgets_BundleContentPreview_kR3MM",
      StoreSaleWidgetOuterContainer:
        "salepreviewwidgets_StoreSaleWidgetOuterContainer_15xV_",
      ContentsCount: "salepreviewwidgets_ContentsCount_1rG6L",
      PreviewCtn: "salepreviewwidgets_PreviewCtn_2H1MK",
      PreviewItem: "salepreviewwidgets_PreviewItem_1JUHV",
      PreviewImg: "salepreviewwidgets_PreviewImg_3q68x",
      bordered_live_stream_icon:
        "salepreviewwidgets_bordered_live_stream_icon_3JG__",
      DemoLayoutPopup: "salepreviewwidgets_DemoLayoutPopup_bSrzD",
      FreeWeekendBar: "salepreviewwidgets_FreeWeekendBar_vtvt7",
      FreeWeekendLabel: "salepreviewwidgets_FreeWeekendLabel_157wR",
      RecommendationReason: "salepreviewwidgets_RecommendationReason_2ox6m",
      LocalizationSpan: "salepreviewwidgets_LocalizationSpan_3C02K",
    };
  },
  zEae: function (e, t, n) {
    e.exports = {
      "duration-app-launch": "800ms",
      strWidescreenWidth: "1420px",
      strPhoneWidth: "768px",
      FacetedBrowseInnerCtn: "facetedbrowse_FacetedBrowseInnerCtn_1cvmb",
      FacetedBrowseControls: "facetedbrowse_FacetedBrowseControls_2SS84",
      FacetMenuTitle: "facetedbrowse_FacetMenuTitle_2wY0i",
      FacetedBrowseMatchCount: "facetedbrowse_FacetedBrowseMatchCount_2Ru8O",
      FacetedBrowseReset: "facetedbrowse_FacetedBrowseReset_2C5jA",
      Facet: "facetedbrowse_Facet_hvtGW",
      FacetTitle: "facetedbrowse_FacetTitle_2h2X1",
      FacetValue: "facetedbrowse_FacetValue_2UfiC",
      FacetValueEnabled: "facetedbrowse_FacetValueEnabled_1HuLd",
      FacetValueDeactivated: "facetedbrowse_FacetValueDeactivated_2nUuG",
      FacetValueName: "facetedbrowse_FacetValueName_2F3gi",
      FacetValueDescription: "facetedbrowse_FacetValueDescription_1hGOV",
      FacetValueShowMore: "facetedbrowse_FacetValueShowMore_3yM5S",
      FacetedBrowseItems: "facetedbrowse_FacetedBrowseItems_34Tgy",
      FacetedBrowsePopupCtn: "facetedbrowse_FacetedBrowsePopupCtn_1we8N",
      FacetedBrowsePopupLabel: "facetedbrowse_FacetedBrowsePopupLabel_2Qd4Q",
      FacetedBrowsePopup: "facetedbrowse_FacetedBrowsePopup_1Fctl",
      FacetedBrowseFeedbackLink:
        "facetedbrowse_FacetedBrowseFeedbackLink_3q8QL",
      FacetValuePriceSlider: "facetedbrowse_FacetValuePriceSlider_1_u6W",
      SelectedFacetValuesTitle: "facetedbrowse_SelectedFacetValuesTitle_Mv8-a",
      SelectedFacetValuesList: "facetedbrowse_SelectedFacetValuesList_2kX7i",
      SelectedFacetValueCtn: "facetedbrowse_SelectedFacetValueCtn_2lqof",
      FacetValueSearch: "facetedbrowse_FacetValueSearch_1iAk3",
    };
  },
  ztQu: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return i;
    });
    var a = n("eMIp"),
      r = n.n(a);
    function i() {
      return window.innerWidth < parseInt(r.a.strMaxMobileWidth);
    }
  },
  zyuZ: function (e, t, n) {
    "use strict";
    n.d(t, "a", function () {
      return i;
    });
    var a = n("mrSG"),
      r = n("q1tI");
    function i(e) {
      const { component: t, fallback: n, componentRef: i } = e,
        s = Object(a.c)(e, ["component", "fallback", "componentRef"]),
        [[o, l]] = r.useState([t, n]),
        c = null != o ? o : l;
      return r.createElement(
        c,
        Object.assign(Object.assign({}, s), { ref: i }),
      );
    }
  },
});
