(self.webpackChunktradingview = self.webpackChunktradingview || []).push([
    [97575], {
        845658: e => {
            e.exports = {
                small: "small-CtnpmPzP",
                medium: "medium-CtnpmPzP",
                large: "large-CtnpmPzP",
                switchView: "switchView-CtnpmPzP",
                checked: "checked-CtnpmPzP",
                disabled: "disabled-CtnpmPzP",
                track: "track-CtnpmPzP",
                thumb: "thumb-CtnpmPzP"
            }
        },
        420071: e => {
            e.exports = {
                switcher: "switcher-fwE97QDf",
                input: "input-fwE97QDf",
                thumbWrapper: "thumbWrapper-fwE97QDf",
                disabled: "disabled-fwE97QDf",
                checked: "checked-fwE97QDf"
            }
        },
        600830: e => {
            e.exports = {
                wrap: "wrap-HXzRntFl",
                input: "input-HXzRntFl",
                box: "box-HXzRntFl",
                hoverDot: "hoverDot-HXzRntFl",
                red: "red-HXzRntFl",
                blue: "blue-HXzRntFl",
                green: "green-HXzRntFl",
                orange: "orange-HXzRntFl",
                purple: "purple-HXzRntFl",
                cyan: "cyan-HXzRntFl",
                pink: "pink-HXzRntFl",
                large: "large-HXzRntFl",
                pickerDot: "pickerDot-HXzRntFl"
            }
        },
        534714: e => {
            e.exports = {
                wrapper: "wrapper-xPNB6vOB",
                selector: "selector-xPNB6vOB",
                arrowLeft: "arrowLeft-xPNB6vOB",
                colorSelectButton: "colorSelectButton-xPNB6vOB",
                popup: "popup-xPNB6vOB"
            }
        },
        331668: e => {
            e.exports = {
                item: "item-GJX1EXhk",
                interactive: "interactive-GJX1EXhk",
                hovered: "hovered-GJX1EXhk",
                disabled: "disabled-GJX1EXhk",
                active: "active-GJX1EXhk",
                shortcut: "shortcut-GJX1EXhk",
                normal: "normal-GJX1EXhk",
                big: "big-GJX1EXhk",
                iconCell: "iconCell-GJX1EXhk",
                icon: "icon-GJX1EXhk",
                checkmark: "checkmark-GJX1EXhk",
                content: "content-GJX1EXhk",
                label: "label-GJX1EXhk",
                checked: "checked-GJX1EXhk",
                toolbox: "toolbox-GJX1EXhk",
                showToolboxOnHover: "showToolboxOnHover-GJX1EXhk",
                arrowIcon: "arrowIcon-GJX1EXhk",
                subMenu: "subMenu-GJX1EXhk",
                invisibleHotkey: "invisibleHotkey-GJX1EXhk"
            }
        },
        670159: e => {
            e.exports = {
                item: "item-WJDah4zD",
                emptyIcons: "emptyIcons-WJDah4zD",
                loading: "loading-WJDah4zD",
                disabled: "disabled-WJDah4zD",
                interactive: "interactive-WJDah4zD",
                hovered: "hovered-WJDah4zD",
                normal: "normal-WJDah4zD",
                big: "big-WJDah4zD",
                icon: "icon-WJDah4zD",
                label: "label-WJDah4zD",
                title: "title-WJDah4zD",
                nested: "nested-WJDah4zD",
                shortcut: "shortcut-WJDah4zD",
                remove: "remove-WJDah4zD"
            }
        },
        20669: e => {
            e.exports = {
                separator: "separator-Ymxd0dt_"
            }
        },
        536718: e => {
            e.exports = {
                "default-drawer-min-top-distance": "100px",
                wrap: "wrap-_HnK0UIN",
                positionBottom: "positionBottom-_HnK0UIN",
                backdrop: "backdrop-_HnK0UIN",
                drawer: "drawer-_HnK0UIN",
                positionLeft: "positionLeft-_HnK0UIN"
            }
        },
        667046: (e, t, s) => {
            "use strict";
            s.d(t, {
                ColorSelector: () => k
            });
            var o = s(50959),
                r = s(54068),
                n = s(591800),
                i = s(364511),
                l = s(871646),
                c = s(257772),
                a = s(497754),
                h = s.n(a),
                u = s(79205),
                d = s(444372),
                m = s(948019),
                v = s(263361),
                g = s(676809),
                p = s(24122),
                _ = s(600830);
            const w = (0, i.makeSwitchGroupItem)((function(e) {
                    var t;
                    const {
                        className: n,
                        value: i = r.ListColor.Red,
                        name: l,
                        checked: c
                    } = e, [a, w] = (0, v.useRovingTabindexElement)(null), f = (0, o.useContext)(m.ContextMenuContext), k = null !== (t = null == f ? void 0 : f.type) && void 0 !== t ? t : "menu", C = i;
                    return o.createElement("label", {
                        ref: a,
                        tabIndex: w,
                        className: h()(n, _.wrap, "drawer" === k && _.large),
                        "data-color": C,
                        role: "menuitem",
                        "aria-label": d.t(null, {
                            replace: {
                                color: C
                            }
                        }, s(958673)),
                        "aria-checked": c
                    }, o.createElement("input", {
                        className: _.input,
                        type: "radio",
                        name: l,
                        value: i,
                        checked: c,
                        onChange: function() {
                            e.onChange && e.onChange(i)
                        },
                        onClick: c ? function() {
                            e.onClickIfChecked && e.onClickIfChecked(i)
                        } : void 0
                    }), o.createElement("div", {
                        className: h()(_.box, _[C], "drawer" === k && _.large)
                    }, c ? o.createElement(u.Icon, {
                        icon: g
                    }) : o.createElement("div", {
                        className: _.pickerDot
                    }, o.createElement(u.Icon, {
                        className: _.hoverDot,
                        icon: p
                    }))))
                })),
                f = [39, 37, 13, 32, 27];

            function k(e) {
                const {
                    buttonClassName: t,
                    value: s,
                    onSelectedClick: a,
                    fromKeyboard: h
                } = e, u = (0, o.useRef)(null), d = (0, o.useCallback)((e => {
                    if (!u.current || e.defaultPrevented) return;
                    const t = (0, n.hashFromEvent)(e);
                    if (!f.includes(t)) return;
                    e.preventDefault();
                    const o = (0, l.queryFocusableElements)(u.current).sort(l.navigationOrderComparator),
                        i = o.findIndex((e => e === document.activeElement));
                    if (-1 === i) return;
                    const a = o[i];
                    let h;
                    switch (t) {
                        case 13:
                        case 32:
                            v(a.dataset.color || r.ListColor.Red);
                            break;
                        case 27:
                            v(s)
                    }
                    switch ((0, l.mapKeyCodeToDirection)(t)) {
                        case "inlineNext":
                            h = o[i + 1] || o[0];
                            break;
                        case "inlinePrev":
                            h = o[i - 1] || o[o.length - 1]
                    }
                    h instanceof HTMLLabelElement && ((0, c.becomeSecondaryElement)(a), (0, c.becomeMainElement)(h), h.focus())
                }), []);
                (0, o.useLayoutEffect)((() => {
                    if (!h) return;
                    const e = document.activeElement,
                        t = u.current;
                    if (!t) return;
                    const [s] = (0, l.queryFocusableElements)(t).sort(l.navigationOrderComparator);
                    return s ? ((0, c.becomeMainElement)(s), s.focus(), () => {
                        e instanceof HTMLElement && e.focus()
                    }) : void 0
                }), []);
                const m = r.LIST_COLORS.map(((e, s) => o.createElement(w, {
                    key: s,
                    className: t,
                    onClickIfChecked: a,
                    value: e
                })));
                return o.createElement("menu", {
                    ref: u,
                    onKeyDown: d
                }, o.createElement(i.SwitchGroup, {
                    name: "color-selector",
                    onChange: v,
                    values: void 0 !== s ? [s] : []
                }, m));

                function v(t) {
                    e.onChange && void 0 !== t && e.onChange(t)
                }
            }
        },
        813797: (e, t, s) => {
            "use strict";
            s.d(t, {
                PopupColorSelector: () => C
            });
            var o = s(50959),
                r = s(670797),
                n = s(642709),
                i = s(18182),
                l = s(332585),
                c = s(67812),
                a = s(762852),
                h = s(881025),
                u = s(707533),
                d = s(667046),
                m = s(778785),
                v = s(534714);
            class g extends o.PureComponent {
                constructor() {
                    super(...arguments), this._popUpElem = null, this._onChange = e => {
                        this.props.onSelectColor(e), this.props.hide()
                    }, this._onTargetMouseLeave = e => {
                        const t = !!e.relatedTarget.nodeName,
                            s = e.relatedTarget === this._popUpElem,
                            o = this._popUpElem && t && this._popUpElem.contains(e.relatedTarget);
                        s || o || this.props.hide()
                    }, this._onPopUpMouseLeave = e => {
                        const t = !!e.nativeEvent.relatedTarget.nodeName,
                            s = e.nativeEvent.relatedTarget === this.props.elem,
                            o = t && this.props.elem.contains(e.nativeEvent.relatedTarget);
                        s || o || this.props.hide()
                    }, this._onTouchStart = e => {
                        const t = !!e.target.nodeName,
                            s = e.target === this.props.elem,
                            o = e.target === this._popUpElem,
                            r = t && this.props.elem.contains(e.target),
                            n = this._popUpElem && t && this._popUpElem.contains(e.target);
                        s || r || o || n || this.props.hide()
                    }, this._setPopUpElem = e => {
                        this._popUpElem = e
                    }
                }
                componentDidMount() {
                    document.documentElement && (m.mobiletouch ? document.documentElement.addEventListener("touchstart", this._onTouchStart) : (this.props.elem.addEventListener("mouseleave", this._onTargetMouseLeave), document.body.addEventListener("scroll", this.props.hide)))
                }
                componentWillUnmount() {
                    document.documentElement && (m.mobiletouch ? document.documentElement.removeEventListener("touchstart", this._onTouchStart) : this.props.elem && (this.props.elem.removeEventListener("mouseleave", this._onTargetMouseLeave), document.documentElement.removeEventListener("scroll", this.props.hide)))
                }
                render() {
                    const e = {
                        top: 0,
                        left: 0
                    };
                    if (this.props.elem) {
                        const t = this.props.elem.getBoundingClientRect();
                        e.top = t.top + t.height / 2, e.left = t.left + ((0, h.isRtl)() ? 0 : t.width)
                    }
                    return o.createElement(u.Portal, null, o.createElement("div", {
                        style: e,
                        className: v.popup,
                        ref: this._setPopUpElem,
                        onMouseLeave: m.mobiletouch ? void 0 : this._onPopUpMouseLeave
                    }, o.createElement("div", {
                        className: v.wrapper
                    }, o.createElement("div", {
                        className: v.selector
                    }, o.createElement("div", {
                        className: v.arrowLeft
                    }), o.createElement(d.ColorSelector, {
                        buttonClassName: v.colorSelectButton,
                        value: this.props.currentColor,
                        fromKeyboard: this.props.fromKeyboard,
                        onChange: this._onChange
                    })))))
                }
            }
            var p = s(948019);

            function _(e) {
                const {
                    actions: t,
                    ...s
                } = e;
                return o.createElement(i.MatchMedia, {
                    rule: n.DialogBreakpoints.TabletSmall
                }, (e => e && t ? o.createElement(l.DrawerManager, null, o.createElement(p.ContextMenuContext.Provider, {
                    value: {
                        type: "drawer"
                    }
                }, o.createElement(a.Drawer, {
                    onClose: s.hide,
                    position: "Bottom"
                }, o.createElement(c.ContextMenuList, {
                    items: t
                })))) : o.createElement(g, { ...s
                })))
            }
            var w = s(631456);
            let f = null,
                k = null;
            var C;
            ! function(e) {
                function t() {
                    f && (null == k || k.unmount())
                }
                e.show = function(e) {
                    f || (f = document.createElement("div")), t(), k = (0, w.createReactRoot)(o.createElement(r.SlotContext.Provider, {
                        value: e.manager || null
                    }, o.createElement(_, { ...e,
                        hide: t
                    })), f)
                }, e.hide = t
            }(C || (C = {}))
        },
        367254: (e, t, s) => {
            "use strict";
            s.d(t, {
                SwitchGroup: () => n
            });
            var o = s(50959),
                r = s(973920);
            class n extends o.PureComponent {
                constructor(e) {
                    super(e), this._subscriptions = new Set, this._getName = () => this.props.name, this._getValues = () => this.props.values, this._getOnChange = () => this.props.onChange, this._subscribe = e => {
                        this._subscriptions.add(e)
                    }, this._unsubscribe = e => {
                        this._subscriptions.delete(e)
                    }, this.state = {
                        switchGroupContext: {
                            getName: this._getName,
                            getValues: this._getValues,
                            getOnChange: this._getOnChange,
                            subscribe: this._subscribe,
                            unsubscribe: this._unsubscribe
                        }
                    }
                }
                render() {
                    return o.createElement(r.SwitchGroupContext.Provider, {
                        value: this.state.switchGroupContext
                    }, this.props.children)
                }
                componentDidUpdate(e) {
                    this._notify(this._getUpdates(this.props.values, e.values))
                }
                _notify(e) {
                    this._subscriptions.forEach((t => t(e)))
                }
                _getUpdates(e, t) {
                    return [...t, ...e].filter((s => t.includes(s) ? !e.includes(s) : e.includes(s)))
                }
            }
        },
        694553: (e, t, s) => {
            "use strict";
            s.d(t, {
                Switch: () => h,
                SwitchView: () => i.SwitchView
            });
            var o = s(50959),
                r = s(497754),
                n = s(169986),
                i = s(840513),
                l = s(591800),
                c = s(420071),
                a = s.n(c);

            function h(e) {
                const t = (0, o.useContext)(n.CustomBehaviourContext),
                    {
                        size: s,
                        intent: c = "default",
                        checked: h,
                        className: u,
                        enableActiveStateStyles: d = t.enableActiveStateStyles,
                        disabled: m,
                        onChange: v,
                        title: g,
                        id: p,
                        name: _,
                        value: w,
                        tabIndex: f,
                        role: k = "switch",
                        ariaDisabled: C,
                        reference: x,
                        ariaLabelledBy: b,
                        ariaLabel: E,
                        ...I
                    } = e;
                return o.createElement("span", {
                    className: r(u, a().switcher)
                }, o.createElement("input", { ...I,
                    type: "checkbox",
                    className: r(a().input, d && a().activeStylesEnabled, h && a().checked, m && a().disabled),
                    role: k,
                    "aria-checked": h,
                    checked: h,
                    onKeyDown: e => {
                        var t;
                        13 === (0, l.hashFromEvent)(e) && (null === (t = e.currentTarget) || void 0 === t || t.click())
                    },
                    onChange: v,
                    disabled: m,
                    "aria-disabled": C,
                    title: g,
                    id: p,
                    name: _,
                    value: w,
                    ref: x,
                    "aria-label": E,
                    "aria-labelledby": b
                }), o.createElement("span", {
                    className: r(a().thumbWrapper, a()[c])
                }, o.createElement(i.SwitchView, {
                    checked: h,
                    size: s,
                    disabled: m
                })))
            }
        },
        840513: (e, t, s) => {
            "use strict";
            s.d(t, {
                SwitchView: () => l
            });
            var o = s(50959),
                r = s(497754),
                n = s.n(r),
                i = s(845658);

            function l(e) {
                const {
                    size: t = "small",
                    checked: s,
                    disabled: r
                } = e;
                return o.createElement("span", {
                    className: n()(i.switchView, i[t], r && i.disabled, s && i.checked)
                }, o.createElement("span", {
                    className: i.track
                }), o.createElement("span", {
                    className: i.thumb
                }))
            }
        },
        793242: (e, t, s) => {
            "use strict";
            s.d(t, {
                MarketDialogContext: () => n,
                MarketDialogMode: () => o
            });
            var o, r = s(50959);
            ! function(e) {
                e.Single = "single", e.Multi = "multi"
            }(o || (o = {}));
            const n = (0, r.createContext)(null)
        },
        162469: (e, t, s) => {
            "use strict";
            s.d(t, {
                getMarketDialogMode: () => a,
                saveMarketSelectModeSetting: () => c
            });
            var o = s(62802),
                r = s.n(o),
                n = s(793242);
            if (25242 != s.j) var i = s(157234);
            const l = "screener-market-select-mode";

            function c(e) {
                r().setValue(l, e)
            }

            function a() {
                return (0, i.isGlobalScreenerAvailable)() ? r().getValue(l, n.MarketDialogMode.Single) : n.MarketDialogMode.Single
            }
        },
        157234: (e, t, s) => {
            "use strict";

            function o() {
                return window.is_authenticated
            }
            s.d(t, {
                isGlobalScreenerAvailable: () => o
            })
        },
        748027: (e, t, s) => {
            "use strict";
            s.d(t, {
                Deletion: () => o
            });
            class o {
                constructor(e) {
                    this._selection = e.selection, this._selection.hotkeys.add({
                        desc: "Delete",
                        hotkey: 46,
                        handler: this._delete.bind(this, "del"),
                        element: e.globalHotkeyElement
                    })
                }
                _delete(e) {
                    const t = this._selection.getSelectedItems(),
                        s = this._selection.getCursorItem();
                    s && t.length > 0 ? this._selection.onDelete(t, e, s) : s && this._selection.onDelete([s], e, s)
                }
            }
        },
        383129: (e, t, s) => {
            "use strict";
            s.d(t, {
                LiveCollection: () => o
            });
            class o {
                constructor(e) {
                    this._coll = e
                }
                getItemByIdx(e) {
                    return this._coll.item(e)
                }
                getItems() {
                    return Array.from(this._coll)
                }
                getFirstItem() {
                    return this.getItemByIdx(0)
                }
                getLastItem() {
                    const e = this._coll.length;
                    return this.getItemByIdx(e - 1)
                }
                getItemIdx(e) {
                    return Array.prototype.findIndex.call(this._coll, (t => t === e))
                }
                getLength() {
                    return this._coll.length
                }
                contains(e) {
                    return -1 !== this.getItemIdx(e)
                }
            }
        },
        848363: (e, t, s) => {
            "use strict";
            s.d(t, {
                createSelectableList: () => g
            });
            var o, r = s(383129),
                n = s(799786);
            ! function(e) {
                e[e.Prev = -1] = "Prev", e[e.Next = 1] = "Next"
            }(o || (o = {}));
            const i = "cursor";
            class l {
                constructor(e) {
                    this._list = e.list, this._items = new r.LiveCollection(this._list.getElementsByClassName(e.listItemClass)), this._focused = new r.LiveCollection(this._list.getElementsByClassName(e.focusedListItemClass)), this._selected = new r.LiveCollection(this._list.getElementsByClassName(e.selectedListItemClass)), this._cursor = new r.LiveCollection(this._list.getElementsByClassName(i)), this._selectedListItemClass = e.selectedListItemClass, this._focusedListItemClass = e.focusedListItemClass, this._onSelect = e.onSelect, this._onNavigate = e.onNavigate,
                        this._onConfirm = e.onConfirm, this._onDelete = e.onDelete, this._mouseActions = new Map, this.hotkeys = (0, n.createGroup)({
                            desc: "Selectable list"
                        }), e.modes && e.modes.forEach((t => new t({
                            selection: this,
                            localHotkeyElement: this._list,
                            globalHotkeyElement: e.globalHotkeys ? null : this._list
                        })))
                }
                selectItem(e) {
                    e.classList.add(this._selectedListItemClass)
                }
                unselectItem(e) {
                    e.classList.remove(this._selectedListItemClass)
                }
                focusItem(e) {
                    this.removeFocus(), e.classList.add(this._focusedListItemClass), this.setCursor(e)
                }
                getFocusedItemIdx() {
                    const e = this._focused.getFirstItem();
                    return e ? this._items.getItemIdx(e) : -1
                }
                getFocusedItem() {
                    return this._focused.getFirstItem()
                }
                isSelected(e) {
                    return this._selected.contains(e)
                }
                isFocused(e) {
                    return this._focused.contains(e)
                }
                isListItem(e) {
                    return this._items.contains(e)
                }
                removeSelections() {
                    this._selected.getItems().forEach((e => e.classList.remove(this._selectedListItemClass)))
                }
                removeFocus() {
                    this._focused.getItems().forEach((e => e.classList.remove(this._focusedListItemClass)))
                }
                move(e, t, s) {
                    const o = e ? this._items.getItemIdx(e) : -1;
                    let r;
                    r = "number" == typeof t ? this._items.getItemByIdx(this._calcNextItemIdx(o, t)) : t, r && (s(r, e), this._scrollIfNotVisible(r))
                }
                getSelectedItems() {
                    return this._selected.getItems()
                }
                getList() {
                    return this._list
                }
                getItemsCollection() {
                    return this._items
                }
                getSelectedCollection() {
                    return this._selected
                }
                setCursor(e) {
                    this.removeCursor(), e.classList.add(i)
                }
                removeCursor() {
                    this._cursor.getItems().forEach((e => e.classList.remove(i)))
                }
                getCursorItem() {
                    return this._cursor.getFirstItem()
                }
                getCursorItemIdx() {
                    const e = this.getCursorItem();
                    return e ? this._items.getItemIdx(e) : -1
                }
                onSelect(e, t) {
                    this._onSelect && this._onSelect({
                        cursor: t,
                        items: this.getSelectedItems(),
                        action: e
                    })
                }
                onNavigate(e, t) {
                    this._onNavigate && this._onNavigate({
                        cursor: e,
                        cursorIdx: this.getCursorItemIdx(),
                        items: [e],
                        action: t
                    })
                }
                onConfirm(e, t) {
                    this._onConfirm && this._onConfirm({
                        cursor: e,
                        items: [e],
                        action: t
                    })
                }
                onDelete(e, t, s) {
                    this._onDelete && this._onDelete({
                        cursor: s,
                        items: e,
                        action: t
                    })
                }
                registerMouseAction(e, t) {
                    this._mouseActions.set(e, t)
                }
                dispatchMouseEvent(e, t) {
                    const s = this._mouseActions.get(e);
                    s && s(t)
                }
                delegateClick(e) {
                    return t => {
                        if (!t.defaultPrevented) {
                            const s = this._list.contains(t.target);
                            let o = t.target;
                            for (; s && o !== this._list;) {
                                if (o && this.isListItem(o)) return void e(o);
                                o = o && o.parentElement
                            }
                        }
                    }
                }
                clear() {
                    this.removeSelections(), this.removeFocus(), this.removeCursor()
                }
                destroy() {
                    this.hotkeys.destroy(), delete this._list, delete this._items, delete this._selected, delete this._focused, delete this._cursor, delete this._mouseActions
                }
                _scrollIfNotVisible(e) {
                    const t = this._list.getBoundingClientRect(),
                        s = e.getBoundingClientRect(),
                        o = t.top,
                        r = t.bottom,
                        n = s.top,
                        i = s.bottom;
                    n < o ? this._list.scrollTop -= o - n : i > r && (this._list.scrollTop += i - r)
                }
                _calcNextItemIdx(e, t) {
                    const s = this._items.getLength() - 1;
                    let o = e + t;
                    return o < 0 && (o = s), o > s && (o = 0), o
                }
            }
            class c {
                constructor(e) {
                    this._focusNext = () => {
                        if (!this._isValidNavigation()) return;
                        const e = this._selection.getCursorItem();
                        this._selection.move(e, o.Next, this._focusItem.bind(this, "down"))
                    }, this._focusPrev = () => {
                        if (!this._isValidNavigation()) return;
                        const e = this._selection.getCursorItem();
                        this._selection.move(e, o.Prev, this._focusItem.bind(this, "up"))
                    }, this._focusFirst = () => {
                        if (!this._isValidNavigation()) return;
                        const e = this._selection.getItemsCollection().getFirstItem(),
                            t = this._selection.getFocusedItem();
                        this._selection.move(t, e, this._focusItem.bind(this, "home"))
                    }, this._focusLast = () => {
                        if (!this._isValidNavigation()) return;
                        const e = this._selection.getItemsCollection().getLastItem(),
                            t = this._selection.getFocusedItem();
                        this._selection.move(t, e, this._focusItem.bind(this, "end"))
                    }, this._selection = e.selection, this._selection.registerMouseAction("click", this._selection.delegateClick(this._focusItem.bind(this, "click"))), this._selection.hotkeys.add({
                        desc: "Focus Previous",
                        hotkey: 38,
                        handler: this._focusPrev,
                        element: e.globalHotkeyElement
                    }), this._selection.hotkeys.add({
                        desc: "Focus Next",
                        hotkey: 40,
                        handler: this._focusNext,
                        element: e.globalHotkeyElement
                    }), this._selection.hotkeys.add({
                        desc: "Focus Previous",
                        hotkey: n.Modifiers.Shift + 32,
                        handler: this._focusPrev,
                        element: e.globalHotkeyElement
                    }), this._selection.hotkeys.add({
                        desc: "Focus Next",
                        hotkey: 32,
                        handler: this._focusNext,
                        element: e.globalHotkeyElement
                    }), this._selection.hotkeys.add({
                        desc: "Focus First",
                        hotkey: 36,
                        handler: this._focusFirst,
                        element: e.globalHotkeyElement
                    }), this._selection.hotkeys.add({
                        desc: "Focus Last",
                        hotkey: 35,
                        handler: this._focusLast,
                        element: e.globalHotkeyElement
                    })
                }
                _focusItem(e, t) {
                    this._selection.removeSelections(), this._selection.focusItem(t), this._selection.setCursor(t), this._selection.selectItem(t), this._selection.onNavigate(t, e)
                }
                _isValidNavigation() {
                    return document.activeElement === document.body || this._selection.getList().contains(document.activeElement)
                }
            }
            class a {
                constructor(e) {
                    this._selection = e.selection, this._selection.hotkeys.add({
                        hotkey: n.Modifiers.Alt + 13,
                        handler: this._onItemKeyDown.bind(this, "alt+return"),
                        element: e.localHotkeyElement
                    }), this._selection.hotkeys.add({
                        hotkey: n.Modifiers.Alt + n.Modifiers.Shift + 13,
                        handler: this._onItemKeyDown.bind(this, "alt+return"),
                        element: e.localHotkeyElement
                    })
                }
                _onItemKeyDown(e, t) {
                    const s = this._selection.getCursorItem();
                    s && this._selection.onConfirm(s, e)
                }
            }
            class h {
                constructor(e) {
                    this._selection = e.selection, this._selection.registerMouseAction("shift+click", this._selection.delegateClick(this._onItemClick.bind(this, "shift+click"))), this._selection.hotkeys.add({
                        desc: "Extend Selection Down",
                        hotkey: n.Modifiers.Shift + 40,
                        handler: this._nextRangeItem.bind(this, "shift+down"),
                        element: e.localHotkeyElement
                    }), this._selection.hotkeys.add({
                        desc: "Extend Selection Up",
                        hotkey: n.Modifiers.Shift + 38,
                        handler: this._prevRangeItem.bind(this, "shift+up"),
                        element: e.localHotkeyElement
                    })
                }
                _nextRangeItem(e) {
                    const t = this._selection.getItemsCollection(),
                        s = this._selection.getCursorItem();
                    this._selection.getCursorItemIdx() !== t.getLength() - 1 && this._selection.move(s, o.Next, this._addItemToRange(e, ((e, t) => e < t)))
                }
                _prevRangeItem(e) {
                    const t = this._selection.getCursorItem();
                    0 !== this._selection.getCursorItemIdx() && this._selection.move(t, o.Prev, this._addItemToRange(e, ((e, t) => e > t)))
                }
                _onItemClick(e, t) {
                    const s = this._selection.getItemsCollection().getItems(),
                        o = this._getRangeInfo(t);
                    this._selection.removeSelections();
                    for (let e = o.start; e <= o.end; e++) this._selection.isSelected(s[e]) || this._selection.selectItem(s[e]);
                    this._selection.setCursor(t), this._selection.onSelect(e, t)
                }
                _getRangeInfo(e) {
                    const t = this._selection.getItemsCollection().getItemIdx(e),
                        s = this._selection.getFocusedItemIdx(),
                        o = -1 !== s ? s : 0;
                    return t > o ? {
                        start: o,
                        end: t
                    } : {
                        start: t,
                        end: o
                    }
                }
                _addItemToRange(e, t) {
                    return (s, o) => {
                        const r = this._selection.getItemsCollection().getItemIdx(s),
                            n = this._selection.getFocusedItemIdx();
                        0 === this._selection.getSelectedCollection().getLength() && o && this._selection.selectItem(o), t(n, r) ? this._selection.selectItem(s) : o && this._selection.unselectItem(o), this._selection.setCursor(s), this._selection.onSelect(e, s)
                    }
                }
            }
            class u {
                constructor(e) {
                    this._selection = e.selection, this._selection.registerMouseAction("ctrl+click", this._selection.delegateClick(this._onItemClick.bind(this, "ctrl+click"))), this._selection.registerMouseAction("meta+click", this._selection.delegateClick(this._onItemClick.bind(this, "meta+click"))), this._selection.hotkeys.add({
                        hotkey: n.Modifiers.Mod + 65,
                        handler: this._selectAll.bind(this, "ctrl+a"),
                        element: e.localHotkeyElement
                    }), this._selection.hotkeys.add({
                        hotkey: 27,
                        handler: this._unselectAll.bind(this, "esc"),
                        element: e.localHotkeyElement
                    })
                }
                _onItemClick(e, t) {
                    const s = this._selection.getFocusedItem(),
                        o = this._selection.getSelectedCollection().getLength();
                    s && 0 === o && this._selection.selectItem(s), this._toggleSelection(t), this._selection.onSelect(e, t)
                }
                _toggleSelection(e) {
                    this._selection.isSelected(e) ? this._selection.unselectItem(e) : this._selection.selectItem(e), this._selection.setCursor(e)
                }
                _selectAll(e) {
                    this._selection.getItemsCollection().getItems().forEach((e => this._selection.selectItem(e))), this._selection.onSelect(e)
                }
                _unselectAll(e) {
                    this._selection.removeSelections();
                    const t = this._selection.getFocusedItem();
                    t && this._selection.setCursor(t), this._selection.onSelect(e)
                }
            }
            var d = s(748027),
                m = s(638456);
            class v {
                constructor(e) {
                    this._dispatchClick = e => {
                        e.ctrlKey && !(0, m.isMac)() ? this._selection.dispatchMouseEvent("ctrl+click", e) : e.shiftKey ? this._selection.dispatchMouseEvent("shift+click", e) : e.metaKey && (0, m.isMac)() ? this._selection.dispatchMouseEvent("meta+click", e) : this._selection.dispatchMouseEvent("click", e)
                    }, this._onSelect = e => {
                        this._collectKeys(), this._opts.onSelect && this._opts.onSelect(e)
                    }, this._onNavigate = e => {
                        this._collectKeys(), this._opts.onNavigate && this._opts.onNavigate(e)
                    }, this._disableSelection = () => {
                        this._list.onselectstart = () => !1
                    }, this._enableSelection = () => {
                        this._list.onselectstart = () => null
                    }, this._opts = e, this._list = e.list, this._selection = new l({
                        list: e.list,
                        listItemClass: e.listItemClass,
                        selectedListItemClass: e.selectedListItemClass,
                        focusedListItemClass: e.focusedListItemClass,
                        onSelect: this._onSelect,
                        onNavigate: this._onNavigate,
                        onConfirm: e.onConfirm,
                        onDelete: e.onDelete,
                        modes: e.modes,
                        globalHotkeys: Boolean(e.globalHotkeys)
                    }), this._selectedKeys = [], this._focusedKey = null, this._cursorKey = null, this.activate(), this._collectKeys()
                }
                activate() {
                    this._list.addEventListener("click", this._dispatchClick), this._list.addEventListener("keydown", this._disableSelection), this._list.addEventListener("keyup", this._enableSelection), this._selection.hotkeys.promote()
                }
                deactivate() {
                    this._list.removeEventListener("click", this._dispatchClick), this._list.removeEventListener("keydown", this._disableSelection), this._list.removeEventListener("keyup", this._enableSelection)
                }
                focusItem(e) {
                    this._selection.isSelected(e) || this._selection.isFocused(e) || (this._selection.removeSelections(), this._selection.focusItem(e))
                }
                removeFocus() {
                    this._selection.removeFocus()
                }
                restore() {
                    if (this._opts.getNodeKey) {
                        const e = this._selection.getItemsCollection().getItems(),
                            t = this._opts.getNodeKey;
                        e.forEach((e => {
                            const s = t(e);
                            this._focusedKey === s && this._selection.focusItem(e), this._cursorKey === s && this._selection.setCursor(e), this._selectedKeys.includes(s) && this._selection.selectItem(e)
                        }))
                    }
                }
                getSelectedKeys() {
                    return this._collectKeys(), this._selectedKeys
                }
                getFocusedKey() {
                    return this._collectKeys(), this._focusedKey || null
                }
                clear() {
                    this._selection.clear()
                }
                destroy() {
                    this.deactivate(), this._selection.destroy(), delete this._selection, delete this._list, delete this._opts
                }
                _collectKeys() {
                    if (this._opts.getNodeKey) {
                        const e = this._opts.getNodeKey,
                            t = this._selection.getSelectedItems(),
                            s = this._selection.getFocusedItem(),
                            o = this._selection.getCursorItem();
                        this._selectedKeys = t.map((t => e(t))), this._focusedKey = s ? e(s) : null, this._cursorKey = o ? e(o) : null
                    }
                }
            }

            function g(e) {
                return new v(Object.assign({}, {
                    modes: [c, a, d.Deletion, u, h]
                }, e))
            }
        },
        552279: (e, t, s) => {
            "use strict";
            s.d(t, {
                reloginOrGoPro: () => u,
                runOrGoPro: () => h,
                runOrGoProWithoutSync: () => a
            });
            var o = s(526225),
                r = s(590508),
                n = s(778016);

            function i(e, t, s) {
                return t.value || (0, n.enabled)(e, s)
            }

            function l(e, t, s) {
                switch (e) {
                    case "SCREENER_INTERVALS":
                        return function(e, t) {
                            const s = (0, n.getConfig)("SCREENER_INTERVALS", t);
                            return !(!s || !s.interval) && s.interval.includes(e.interval)
                        }(t, s);
                    case "SCREENER_AUTO_REFRESH":
                        return i("SCREENER_AUTO_REFRESH", t, s);
                    case "ALERTS_NO_EXPIRATION":
                        return i("ALERTS_NO_EXPIRATION", t, s);
                    default:
                        return (0, n.enabled)(e, s)
                }
            }
            var c = s(802588);

            function a(e, t, s, o) {
                l(t, o) ? e() : (0, r.createGoProDialog)({ ...s,
                    runOrGoproWithFeatureCheckOptions: {
                        featureCheck: () => l(t, o),
                        signInSuccess: e
                    }
                })
            }
            async function h(e, t, s, r = {}) {
                const n = window.is_authenticated;
                window.is_authenticated && window.user.is_pro && await (0, o.syncUserData)("gopro"), n === window.is_authenticated ? a(e, t, s, r) : (0, c.showSignModal)({
                    source: s.goproSource,
                    feature: s.feature,
                    signinSuccess: e
                })
            }
            async function u(e) {
                const t = window.is_authenticated;
                window.is_authenticated && window.user.is_pro && await (0, o.syncUserData)("gopro"), t === window.is_authenticated ? (0, r.createGoProDialog)(e) : (0, c.showSignModal)({
                    source: e.goproSource,
                    feature: e.feature
                })
            }
        },
        920389: (e, t, s) => {
            "use strict";
            s.d(t, {
                runOrSignIn: () => i,
                runOrSignInWithPromo: () => l
            });
            var o = s(764829),
                r = s(457965);
            const n = o.enabled("widget");

            function i(e, t) {
                n ? e() : window.runOrSignIn(e, t)
            }

            function l(e, t, s) {
                n ? s() : (0, r.runOrSigninWithFeature)(s, { ...t,
                    feature: e
                })
            }
        },
        948019: (e, t, s) => {
            "use strict";
            s.d(t, {
                ContextMenuContext: () => o
            });
            const o = s(50959).createContext(null)
        },
        582997: (e, t, s) => {
            "use strict";
            s.d(t, {
                Hint: () => l
            });
            var o = s(50959),
                r = s(497754),
                n = s.n(r),
                i = s(331668);

            function l(e) {
                const {
                    text: t = "",
                    className: s
                } = e;
                return o.createElement("span", {
                    className: n()(i.shortcut, s)
                }, t)
            }
        },
        886004: (e, t, s) => {
            "use strict";
            s.d(t, {
                ContextMenuItem: () => v
            });
            var o = s(50959),
                r = s(497754),
                n = s.n(r),
                i = s(79205),
                l = s(265005),
                c = s(302478),
                a = s(582997),
                h = s(339750),
                u = s(379978),
                d = s(460925),
                m = s(670159);

            function v(e) {
                const {
                    className: t,
                    isTitle: s,
                    isLoading: r,
                    isHovered: v,
                    active: g,
                    checkable: p,
                    disabled: _,
                    checked: w,
                    icon: f,
                    iconChecked: k,
                    hint: C,
                    subItems: x,
                    label: b,
                    styledLabel: E,
                    onClick: I,
                    children: M,
                    toolbox: y,
                    jsxLabel: S,
                    size: N = "normal"
                } = e, D = (0, o.useContext)(c.EmptyIconsContext), L = !!x.length;
                return r ? o.createElement("li", {
                    className: n()(t, m.item, m.loading, m[N])
                }, o.createElement(l.Loader, null)) : o.createElement("li", {
                    className: n()(t, m.item, m.interactive, s && m.title, _ && m.disabled, v && m.hovered, g && m.active, D && m.emptyIcons, m[N]),
                    onClick: I
                }, o.createElement(i.Icon, {
                    className: n()(m.icon),
                    icon: function() {
                        if (p && w) return k || f || h;
                        return f
                    }()
                }), o.createElement("span", {
                    className: n()(m.label)
                }, !S && E ? E.map((({
                    text: e,
                    ...t
                }, s) => o.createElement("span", {
                    key: s,
                    style: t
                }, e))) : null != S ? S : b), !!y && o.createElement(i.Icon, {
                    onClick: function() {
                        y && y.action()
                    },
                    className: m.remove,
                    icon: d
                }), !L && C && o.createElement(a.Hint, {
                    className: m.shortcut,
                    text: C
                }), L && o.createElement(i.Icon, {
                    className: m.nested,
                    icon: u
                }), M)
            }
        },
        67812: (e, t, s) => {
            "use strict";
            s.d(t, {
                ContextMenuList: () => v
            });
            var o = s(50959),
                r = s(20669);

            function n(e) {
                return o.createElement("li", {
                    className: r.separator
                })
            }
            var i = s(886004),
                l = s(125226),
                c = s(762852),
                a = s(224743);
            const h = (0, l.isFeatureEnabled)("force_disable_jsx_menu_items_rendering");

            function u(e) {
                var t;
                const s = h ? e.action : null !== (t = e.action.custom()) && void 0 !== t ? t : e.action,
                    [r, n] = (0, o.useState)((() => s.getState())),
                    [l, u] = (0, o.useState)(!1),
                    d = !!r.subItems.length,
                    m = d && l;
                return (0, o.useEffect)((() => {
                    const e = () => n(s.getState());
                    return s.onUpdate().subscribe(null, e), () => {
                        s.onUpdate().unsubscribe(null, e)
                    }
                }), []), o.createElement(i.ContextMenuItem, { ...r,
                    onClick: function(e) {
                        if (r.disabled || e.defaultPrevented) return;
                        if (d) return void u(!0);
                        r.doNotCloseOnClick || (0, a.globalCloseMenu)();
                        s.execute()
                    },
                    isLoading: r.loading,
                    isHovered: m
                }, m && o.createElement(c.Drawer, {
                    onClose: g
                }, o.createElement(v, {
                    items: r.subItems,
                    parentAction: s,
                    closeNested: g
                })));

                function g(e) {
                    e && e.preventDefault(), u(!1)
                }
            }
            var d = s(302478),
                m = s(366493);

            function v(e) {
                const {
                    items: t,
                    parentAction: s,
                    closeNested: r
                } = e, l = !Boolean(s) && t.every((e => !Boolean("separator" !== e.type && (e.getState().icon || e.getState().checkable))));
                return o.createElement(d.EmptyIconsContext.Provider, {
                    value: l
                }, o.createElement("ul", null, s && o.createElement(o.Fragment, null, o.createElement(i.ContextMenuItem, {
                    label: s.getState().label,
                    isTitle: !0,
                    active: !1,
                    disabled: !1,
                    subItems: [],
                    checkable: !1,
                    checked: !1,
                    doNotCloseOnClick: !1,
                    icon: m,
                    onClick: r
                }), o.createElement(n, null)), t.map((e => {
                    switch (e.type) {
                        case "action":
                            return o.createElement(u, {
                                key: e.id,
                                action: e
                            });
                        case "separator":
                            return o.createElement(n, {
                                key: e.id
                            })
                    }
                }))))
            }
        },
        302478: (e, t, s) => {
            "use strict";
            s.d(t, {
                EmptyIconsContext: () => o
            });
            const o = s(50959).createContext(!1)
        },
        332585: (e, t, s) => {
            "use strict";
            s.d(t, {
                DrawerContext: () => i,
                DrawerManager: () => n
            });
            var o = s(50959),
                r = s(575658);
            class n extends o.PureComponent {
                constructor(e) {
                    super(e), this._isBodyFixed = !1, this._addDrawer = e => {
                        this.setState((t => ({
                            stack: [...t.stack, e]
                        })))
                    }, this._removeDrawer = e => {
                        this.setState((t => ({
                            stack: t.stack.filter((t => t !== e))
                        })))
                    }, this.state = {
                        stack: []
                    }
                }
                componentDidUpdate(e, t) {
                    !t.stack.length && this.state.stack.length && ((0, r.setFixedBodyState)(!0), this._isBodyFixed = !0), t.stack.length && !this.state.stack.length && this._isBodyFixed && ((0, r.setFixedBodyState)(!1), this._isBodyFixed = !1)
                }
                componentWillUnmount() {
                    this.state.stack.length && this._isBodyFixed && (0, r.setFixedBodyState)(!1)
                }
                render() {
                    return o.createElement(i.Provider, {
                        value: {
                            addDrawer: this._addDrawer,
                            removeDrawer: this._removeDrawer,
                            currentDrawer: this.state.stack.length ? this.state.stack[this.state.stack.length - 1] : null
                        }
                    }, this.props.children)
                }
            }
            const i = o.createContext(null)
        },
        762852: (e, t, s) => {
            "use strict";
            s.d(t, {
                Drawer: () => d
            });
            var o = s(50959),
                r = s(650151),
                n = s(497754),
                i = s(79342),
                l = s(707533),
                c = s(332585),
                a = s(320116),
                h = s(150881),
                u = s(536718);

            function d(e) {
                const {
                    position: t = "Bottom",
                    onClose: s,
                    children: h,
                    reference: d,
                    className: v,
                    theme: g = u
                } = e, p = (0, r.ensureNotNull)((0, o.useContext)(c.DrawerContext)), [_] = (0, o.useState)((() => (0, i.randomHash)())), w = (0, o.useRef)(null), f = (0, o.useContext)(a.CloseDelegateContext);
                return (0, o.useLayoutEffect)((() => ((0, r.ensureNotNull)(w.current).focus({
                    preventScroll: !0
                }), f.subscribe(p, s), p.addDrawer(_), () => {
                    p.removeDrawer(_), f.unsubscribe(p, s)
                })), []), o.createElement(l.Portal, null, o.createElement("div", {
                    ref: d,
                    className: n(u.wrap, u[`position${t}`])
                }, _ === p.currentDrawer && o.createElement("div", {
                    className: u.backdrop,
                    onClick: s
                }), o.createElement(m, {
                    className: n(g.drawer, u[`position${t}`], v),
                    ref: w,
                    "data-name": e["data-name"]
                }, h)))
            }
            const m = (0, o.forwardRef)(((e, t) => {
                const {
                    className: s,
                    ...r
                } = e;
                return o.createElement(h.TouchScrollContainer, {
                    className: n(u.drawer, s),
                    tabIndex: -1,
                    ref: t,
                    ...r
                })
            }))
        },
        432059: (e, t, s) => {
            "use strict";
            s.r(t), s.d(t, {
                alphaToTransparency: () => i,
                applyAlpha: () => n,
                applyTransparency: () => c,
                colorFromBackground: () => d,
                colorToInteger: () => _,
                generateColor: () => r,
                getLuminance: () => h,
                gradientColorAtPercent: () => m,
                isColorDark: () => v,
                isHexColor: () => u,
                resetTransparency: () => a,
                rgbaFromInteger: () => g,
                rgbaToInteger: () => p,
                transparencyToAlpha: () => l
            });
            var o = s(724377);

            function r(e, t, s) {
                if (t = t || 0, !u(e)) return s ? (0, o.rgbaToString)((0, o.rgba)((0, o.parseRgb)(e), (0, o.normalizeAlphaComponent)(l(t)))) : e;
                const [r, n, i] = (0, o.parseRgb)(e), c = (0, o.normalizeAlphaComponent)(l(t));
                return (0, o.rgbaToString)([r, n, i, c])
            }

            function n(e, t, s) {
                const r = (0, o.tryParseRgba)(e);
                if (null === r) throw new Error(`Invalid color: ${e}`);
                const [n, i, l, c] = r, a = (0, o.normalizeAlphaComponent)(t * (s ? c : 1));
                return (0, o.rgbaToString)((0, o.rgba)([n, i, l], a))
            }

            function i(e) {
                return 100 * (1 - e)
            }

            function l(e) {
                if (e < 0 || e > 100) throw new Error("invalid transparency");
                return 1 - e / 100
            }

            function c(e, t) {
                if ("transparent" === e) return e;
                const s = (0, o.parseRgba)(e),
                    r = s[3];
                return (0, o.rgbaToString)((0,
                    o.rgba)(s[0], s[1], s[2], l(t) * r))
            }

            function a(e) {
                return "transparent" === e ? e : u(e) ? e.slice(0, 7) : (0, o.rgbaToString)((0, o.rgba)((0, o.parseRgb)(e), (0, o.normalizeAlphaComponent)(1)))
            }

            function h(e) {
                const t = (0, o.parseRgb)(e).map((e => (e /= 255) <= .03928 ? e / 12.92 : Math.pow((e + .055) / 1.055, 2.4)));
                return Number((.2126 * t[0] + .7152 * t[1] + .0722 * t[2]).toFixed(3))
            }

            function u(e) {
                return 0 === e.indexOf("#")
            }

            function d(e) {
                return "black" === (0, o.rgbToBlackWhiteString)((0, o.parseRgb)(e), 150) ? "#ffffff" : "#000000"
            }

            function m(e, t, s) {
                const [r, n, i, l] = (0, o.parseRgba)(e), [c, a, h, u] = (0, o.parseRgba)(t), d = (0, o.rgba)(Math.round(r + s * (c - r)), Math.round(n + s * (a - n)), Math.round(i + s * (h - i)), l + s * (u - l));
                return (0, o.rgbaToString)(d)
            }

            function v(e) {
                return h(a(e)) < .5
            }

            function g(e) {
                const t = (e = Math.round(e)) % 256;
                e -= t;
                const s = (e /= 256) % 256;
                e -= s;
                const o = (e /= 256) % 256;
                e -= o;
                return `rgba(${t},${s},${o},${(e/=256)/255})`
            }

            function p(e) {
                const t = Math.round(255 * e[3]);
                return e[0] + 256 * e[1] + 65536 * e[2] + 16777216 * t
            }

            function _(e) {
                const t = (0, o.tryParseRgba)(e);
                return null === t ? 0 : p(t)
            }
        },
        708050: (e, t, s) => {
            "use strict";
            async function o(e) {
                (await Promise.all([s.e(56242), s.e(55570), s.e(75816), s.e(46445), s.e(65857), s.e(22164), s.e(36010), s.e(33253), s.e(491), s.e(34693), s.e(88778), s.e(43311), s.e(35955), s.e(20431), s.e(82321), s.e(29147), s.e(24229), s.e(45113), s.e(94913)]).then(s.bind(s, 535571))).renderRunOrSigninWithFeatureDialog(e)
            }
            s.d(t, {
                createRunOrSigniWithFeatureDialog: () => o
            })
        },
        457965: (e, t, s) => {
            "use strict";
            s.d(t, {
                runOrSigninWithFeature: () => i
            });
            var o = s(469959),
                r = s(708050),
                n = s(314802);
            const i = (e, t) => {
                {
                    if ((0, n.isOnMobileAppPage)("any")) return void window.runOrSignIn(e, t);
                    const s = [];
                    if (t.paidAccountCheck && s.push((() => (0, o.paidAccountCheck)({
                            successButtonText: t.paidAccountSuccessButtonText
                        }))), window.is_authenticated) s.reduce(((e, t) => e.then(t)), Promise.resolve()).then(e).catch((() => {}));
                    else {
                        const s = {
                            source: t.source,
                            sourceMeta: t.sourceMeta,
                            feature: t.feature,
                            mode: t.mode,
                            startTrial: t.startTrial
                        };
                        (0, r.createRunOrSigniWithFeatureDialog)({
                            signInSuccess: e,
                            options: s
                        })
                    }
                }
            };
            window.TradingView.runOrSigninWithFeature = i
        },
        875385: (e, t, s) => {
            "use strict";
            s.d(t, {
                getProPlanDetailsForUser: () => d,
                getProPlanWeight: () => l,
                isExpertFeature: () => u
            });
            var o = s(778016),
                r = s(549358),
                n = s(702598),
                i = s(296638);

            function l(e) {
                return window.pro ? "free" === e ? -1 : window.pro.getProduct((0, r.getProductForTrial)(e)).upgrade_weight : 0
            }

            function c(e) {
                return window.pro ? window.pro.getProduct((0, r.getProductForTrial)(e)).upgrade_weight : 0
            }

            function a(e) {
                return function(e) {
                    return e.sort(((e, t) => l(e) - l(t)))
                }((0, o.getProPlansWithFeature)(e).filter((e => !(0, r.isTrialProduct)(e))))[0] || null
            }

            function h(e) {
                return function(e) {
                    return e.sort(((e, t) => c(e) - c(t)))
                }((0, o.getExpertPlansWithFeature)(e))[0] || null
            }

            function u(e) {
                const t = h(e),
                    s = a(e);
                return Boolean(t) && !Boolean(s)
            }
            async function d() {
                const e = await (0, n.fetch)("/pro-plans/profile/"),
                    t = await e.json();
                if (e.ok) return t;
                if (403 === e.status) {
                    const s = t;
                    throw new i.ApiError(s.detail, e.status, s.code)
                }
                throw new Error(`Unable to handle unexpected response: ${String(e.text())}`)
            }
        },
        366493: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16.5 20L11 14.5 16.5 9"/></svg>'
        },
        379978: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 5l3.5 3.5L8 12"/></svg>'
        },
        339750: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M7 15l5 5L23 9"/></svg>'
        },
        24122: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M4 8a4 4 0 1 0 8 0 4 4 0 1 0-8 0"/></svg>'
        },
        676809: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M0 8a8 8 0 1 0 16 0A8 8 0 1 0 0 8zm2 0a6 6 0 1 0 12 0A6 6 0 1 0 2 8zm2 0a4 4 0 1 0 8 0 4 4 0 1 0-8 0"/></svg>'
        },
        238739: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" d="M3.5 10.5h2v5h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M4.5 8.5v2m0 5v2"/><path fill="currentColor" d="M14 8h3v6h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M15.5 6.5v9m-7-11h4m-2-2v4"/></g></svg>'
        },
        554794: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" d="M14.5 4.5h2v6h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M15.5 2.5v2m0 6v2"/><path fill="currentColor" d="M3 4h3v6H3z"/><path stroke="currentColor" stroke-linecap="square" d="M4.5 2.5v9m4 4h4m-2-2v4"/></g></svg>'
        },
        48632: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="square" d="M14.5 10.5v7m-1-7h2m-5 1v-4m-3 2v-4m-3 2v-4"/></svg>'
        },
        502506: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="square" d="M14.5 2.5v7m-1 0h2m-5 2v-4m-3 7v-4m-3 6v-4"/></svg>'
        },
        162088: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="square" d="M10.5 6.5v7m-2-4h4"/></svg>'
        },
        601285: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M15 4h3v12h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M16.5 17.5v-15"/><path stroke="currentColor" d="M10.5 7.5h2v4h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M11.5 5.5v2m0 4v2m-4 2v-4m-3 5v-4m-3 5v-4"/></g></svg>'
        },
        383425: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M9 8h3v6H9z"/><path stroke="currentColor" stroke-linecap="square" d="M10.5 6.5v9"/><path stroke="currentColor" d="M14.5 4.5h2v11h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M15.5 2.5v2m-9 4v-4m-3 3v-4m12 12v2"/></g></svg>'
        },
        829016: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" d="M6.5 6.5h2v5h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M7.5 4.5v2m0 5v2"/><path fill="currentColor" d="M16 5h3v6h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M17.5 3.5v9"/><path fill="currentColor" d="M11 3h3v2h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M12.5 2.5v3m-8 11v-4m-2 6v-4"/></g></svg>'
        },
        14723: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="square" d="M11.5 9.5v8m-4-8v-4m8 4v-4m-11 2v-4"/><path fill="currentColor" d="M10 9h3v4h-3z"/></g></svg>'
        },
        693505: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="square" d="M11.5 4.5v10m-4-3v-4m-3 7v-4"/><path fill="currentColor" d="M10 4h3v3h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M15.5 11.5v-4"/></g></svg>'
        },
        159402: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" d="M10.5 5.5h2v7h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M11.5 3.5v2m0 7v2"/><path fill="currentColor" d="M15 5h3v3h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M16.5 3.5v6.07m-9 3.93v-4m-3 6v-4m-3 6v-4"/></g></svg>'
        },
        364697: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M10 7h3v8h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M11.5 5.5v11"/><path stroke="currentColor" d="M15.5 7.5h2v3h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M16.5 5.5v2m0 3v2m-9-2v-4m-3 2v-4m-3 2v-4"/></g></svg>'
        },
        110416: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path stroke-linecap="square" d="M11.5 6.5v7m-4 0v-4m8 4v-4m-11 2v-4"/><path d="M10.5 13.5h2v3h-2z"/></g></svg>'
        },
        623788: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M15 9h3v4h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M11.5 9.5v-2m0-5v2m5 3v7m0-5v2"/><path stroke="currentColor" d="M10.5 4.5h2v3h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M7.5 13.5v-2m0-5v2"/><path stroke="currentColor" d="M6.5 8.5h2v3h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M3.5 17.5v-2m0-5v2"/><path stroke="currentColor" d="M2.5 12.5h2v3h-2z"/></g></svg>'
        },
        492619: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M15 7h3v4h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M11.5 17.5v-2m0-5v2m5-7v7m0-3v2"/><path stroke="currentColor" d="M10.5 12.5h2v3h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M7.5 13.5v-2m0-5v2"/><path stroke="currentColor" d="M6.5 8.5h2v3h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M3.5 9.5v-2m0-5v2"/><path stroke="currentColor" d="M2.5 4.5h2v3h-2z"/></g></svg>'
        },
        11951: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="square" d="M9.5 9.5v8m-4-9v-4m-3 2v-4"/><path fill="currentColor" d="M8 7h3v5H8z"/><path stroke="currentColor" stroke-linecap="square" d="M14.5 11.5v4"/><path stroke="currentColor" d="M13.5 7.5h2v4h-2z"/></g></svg>'
        },
        630410: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="square" d="M9.5 11.5v2m-4 2v-4m-3 6v-4"/><path stroke="currentColor" d="M8.5 7.5h2v4h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M14.5 2.5v5"/><path fill="currentColor" d="M13 7h3v5h-3z"/></g></svg>'
        },
        672687: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M13 4h3v12h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M10.5 11.5v-4m-3 2v-4m-3 2v-4"/></g></svg>'
        },
        651316: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path d="M13.5 4.5h2v11h-2z"/><path stroke-linecap="square" d="M10.5 12.5v-4m-3 6v-4m-3 6v-4"/></g></svg>'
        },
        601354: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="square" d="M4.5 2.5v11"/><path fill="currentColor" d="M3 4h3v8H3z"/><path stroke="currentColor" stroke-linecap="square" d="M14.5 4.5v2m0 7v2"/><path stroke="currentColor" d="M13.5 6.5h2v7h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M9.5 12.5v5"/><path fill="currentColor" d="M8 14h3v2H8z"/></g></svg>'
        },
        829605: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path d="M10.5 9.5h2v3h-2z"/><path stroke-linecap="square" d="M11.5 8.5v-6m-4 13v-4m8 4v-4m-11 6v-4"/></g></svg>'
        },
        488287: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="square" d="M10.5 3.5v13"/><path fill="currentColor" d="M9 8h3v4H9z"/></g></svg>'
        },
        636627: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path stroke-linecap="square" d="M10.5 3.5v5m0 3v5"/><path d="M9.5 8.5h2v3h-2z"/></g></svg>'
        },
        775110: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M15 12h3v4h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M16.5 10.5v7"/><path fill="currentColor" d="M11 8h3v4h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M12.5 6.5v7"/><path fill="currentColor" d="M7 4h3v4H7z"/><path stroke="currentColor" stroke-linecap="square" d="M8.5 2.5v7m-4 1v-4m-2 6v-4"/></g></svg>'
        },
        923549: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M15 4h3v2h-3z"/><path stroke="currentColor" stroke-linecap="square" d="M11.5 11.5v-2m0-7v2m5-2v5"/><path stroke="currentColor" d="M10.5 4.5h2v5h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M7.5 14.5v-2m0-7v2"/><path stroke="currentColor" d="M6.5 7.5h2v5h-2z"/><path stroke="currentColor" stroke-linecap="square" d="M3.5 17.5v-2m0-7v2"/><path stroke="currentColor" d="M2.5 10.5h2v5h-2z"/></g></svg>'
        },
        837553: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="square" d="M14.5 8.5h4m-2-2v4m-7-6h4m-2-2v4m-6 2h4m-2-2v4m-3 5v-4m-2 6v-4"/></svg>'
        },
        249478: e => {
            e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20"><path fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="square" d="M14.5 11.5h4m-2-2v4m-7 2h4m-2-2v4m-6-6h4m-2-2v4m-3-5v-4m-2 2v-4"/></svg>'
        }
    }
]);