UNPKG

matrix-react-sdk

Version:
92 lines (90 loc) 17.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _logger = require("matrix-js-sdk/src/logger"); var _notifications = _interopRequireDefault(require("@vector-im/compound-design-tokens/assets/web/icons/notifications")); var _languageHandler = require("../../languageHandler"); var _MatrixClientPeg = require("../../MatrixClientPeg"); var _BaseCard = _interopRequireDefault(require("../views/right_panel/BaseCard")); var _TimelinePanel = _interopRequireDefault(require("./TimelinePanel")); var _Spinner = _interopRequireDefault(require("../views/elements/Spinner")); var _Layout = require("../../settings/enums/Layout"); var _RoomContext = _interopRequireWildcard(require("../../contexts/RoomContext")); var _Measured = _interopRequireDefault(require("../views/elements/Measured")); var _EmptyState = _interopRequireDefault(require("../views/right_panel/EmptyState")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* Copyright 2024 New Vector Ltd. Copyright 2016-2022 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /* * Component which shows the global notification list using a TimelinePanel */ class NotificationPanel extends _react.default.PureComponent { constructor(props, context) { super(props, context); (0, _defineProperty2.default)(this, "card", /*#__PURE__*/_react.default.createRef()); (0, _defineProperty2.default)(this, "onMeasurement", narrow => { this.setState({ narrow }); }); this.state = { narrow: false }; } render() { const emptyState = /*#__PURE__*/_react.default.createElement(_EmptyState.default, { Icon: _notifications.default, title: (0, _languageHandler._t)("notif_panel|empty_heading"), description: (0, _languageHandler._t)("notif_panel|empty_description") }); let content; const timelineSet = _MatrixClientPeg.MatrixClientPeg.safeGet().getNotifTimelineSet(); if (timelineSet) { // wrap a TimelinePanel with the jump-to-event bits turned off. content = /*#__PURE__*/_react.default.createElement(_TimelinePanel.default, { manageReadReceipts: false, manageReadMarkers: false, timelineSet: timelineSet, showUrlPreview: false, empty: emptyState, alwaysShowTimestamps: true, layout: _Layout.Layout.Group }); } else { _logger.logger.error("No notifTimelineSet available!"); content = /*#__PURE__*/_react.default.createElement(_Spinner.default, null); } return /*#__PURE__*/_react.default.createElement(_RoomContext.default.Provider, { value: _objectSpread(_objectSpread({}, this.context), {}, { timelineRenderingType: _RoomContext.TimelineRenderingType.Notification, narrow: this.state.narrow }) }, /*#__PURE__*/_react.default.createElement(_BaseCard.default, { header: (0, _languageHandler._t)("notifications|enable_prompt_toast_title") /** * Need to rename this CSS class to something more generic * Will be done once all the panels are using a similar layout */, className: "mx_ThreadPanel", onClose: this.props.onClose, withoutScrollContainer: true }, this.card.current && /*#__PURE__*/_react.default.createElement(_Measured.default, { sensor: this.card.current, onMeasurement: this.onMeasurement }), content)); } } exports.default = NotificationPanel; (0, _defineProperty2.default)(NotificationPanel, "contextType", _RoomContext.default); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfbm90aWZpY2F0aW9ucyIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfTWF0cml4Q2xpZW50UGVnIiwiX0Jhc2VDYXJkIiwiX1RpbWVsaW5lUGFuZWwiLCJfU3Bpbm5lciIsIl9MYXlvdXQiLCJfUm9vbUNvbnRleHQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NZWFzdXJlZCIsIl9FbXB0eVN0YXRlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiTm90aWZpY2F0aW9uUGFuZWwiLCJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiY29udGV4dCIsImNyZWF0ZVJlZiIsIm5hcnJvdyIsInNldFN0YXRlIiwic3RhdGUiLCJyZW5kZXIiLCJlbXB0eVN0YXRlIiwiY3JlYXRlRWxlbWVudCIsIkljb24iLCJOb3RpZmljYXRpb25zSWNvbiIsInRpdGxlIiwiX3QiLCJkZXNjcmlwdGlvbiIsImNvbnRlbnQiLCJ0aW1lbGluZVNldCIsIk1hdHJpeENsaWVudFBlZyIsInNhZmVHZXQiLCJnZXROb3RpZlRpbWVsaW5lU2V0IiwibWFuYWdlUmVhZFJlY2VpcHRzIiwibWFuYWdlUmVhZE1hcmtlcnMiLCJzaG93VXJsUHJldmlldyIsImVtcHR5IiwiYWx3YXlzU2hvd1RpbWVzdGFtcHMiLCJsYXlvdXQiLCJMYXlvdXQiLCJHcm91cCIsImxvZ2dlciIsImVycm9yIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsInRpbWVsaW5lUmVuZGVyaW5nVHlwZSIsIlRpbWVsaW5lUmVuZGVyaW5nVHlwZSIsIk5vdGlmaWNhdGlvbiIsImhlYWRlciIsImNsYXNzTmFtZSIsIm9uQ2xvc2UiLCJ3aXRob3V0U2Nyb2xsQ29udGFpbmVyIiwiY2FyZCIsImN1cnJlbnQiLCJzZW5zb3IiLCJvbk1lYXN1cmVtZW50IiwiZXhwb3J0cyIsIlJvb21Db250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3RydWN0dXJlcy9Ob3RpZmljYXRpb25QYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMTYtMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbG9nZ2VyXCI7XG5pbXBvcnQgTm90aWZpY2F0aW9uc0ljb24gZnJvbSBcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2ljb25zL25vdGlmaWNhdGlvbnNcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBNYXRyaXhDbGllbnRQZWcgfSBmcm9tIFwiLi4vLi4vTWF0cml4Q2xpZW50UGVnXCI7XG5pbXBvcnQgQmFzZUNhcmQgZnJvbSBcIi4uL3ZpZXdzL3JpZ2h0X3BhbmVsL0Jhc2VDYXJkXCI7XG5pbXBvcnQgVGltZWxpbmVQYW5lbCBmcm9tIFwiLi9UaW1lbGluZVBhbmVsXCI7XG5pbXBvcnQgU3Bpbm5lciBmcm9tIFwiLi4vdmlld3MvZWxlbWVudHMvU3Bpbm5lclwiO1xuaW1wb3J0IHsgTGF5b3V0IH0gZnJvbSBcIi4uLy4uL3NldHRpbmdzL2VudW1zL0xheW91dFwiO1xuaW1wb3J0IFJvb21Db250ZXh0LCB7IFRpbWVsaW5lUmVuZGVyaW5nVHlwZSB9IGZyb20gXCIuLi8uLi9jb250ZXh0cy9Sb29tQ29udGV4dFwiO1xuaW1wb3J0IE1lYXN1cmVkIGZyb20gXCIuLi92aWV3cy9lbGVtZW50cy9NZWFzdXJlZFwiO1xuaW1wb3J0IEVtcHR5U3RhdGUgZnJvbSBcIi4uL3ZpZXdzL3JpZ2h0X3BhbmVsL0VtcHR5U3RhdGVcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgb25DbG9zZSgpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgSVN0YXRlIHtcbiAgICBuYXJyb3c6IGJvb2xlYW47XG59XG5cbi8qXG4gKiBDb21wb25lbnQgd2hpY2ggc2hvd3MgdGhlIGdsb2JhbCBub3RpZmljYXRpb24gbGlzdCB1c2luZyBhIFRpbWVsaW5lUGFuZWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm90aWZpY2F0aW9uUGFuZWwgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElQcm9wcywgSVN0YXRlPiB7XG4gICAgcHVibGljIHN0YXRpYyBjb250ZXh0VHlwZSA9IFJvb21Db250ZXh0O1xuICAgIHB1YmxpYyBkZWNsYXJlIGNvbnRleHQ6IFJlYWN0LkNvbnRleHRUeXBlPHR5cGVvZiBSb29tQ29udGV4dD47XG5cbiAgICBwcml2YXRlIGNhcmQgPSBSZWFjdC5jcmVhdGVSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcywgY29udGV4dDogUmVhY3QuQ29udGV4dFR5cGU8dHlwZW9mIFJvb21Db250ZXh0Pikge1xuICAgICAgICBzdXBlcihwcm9wcywgY29udGV4dCk7XG5cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIG5hcnJvdzogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbk1lYXN1cmVtZW50ID0gKG5hcnJvdzogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbmFycm93IH0pO1xuICAgIH07XG5cbiAgICBwdWJsaWMgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgICAgIGNvbnN0IGVtcHR5U3RhdGUgPSAoXG4gICAgICAgICAgICA8RW1wdHlTdGF0ZVxuICAgICAgICAgICAgICAgIEljb249e05vdGlmaWNhdGlvbnNJY29ufVxuICAgICAgICAgICAgICAgIHRpdGxlPXtfdChcIm5vdGlmX3BhbmVsfGVtcHR5X2hlYWRpbmdcIil9XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb249e190KFwibm90aWZfcGFuZWx8ZW1wdHlfZGVzY3JpcHRpb25cIil9XG4gICAgICAgICAgICAvPlxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBjb250ZW50OiBKU1guRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGltZWxpbmVTZXQgPSBNYXRyaXhDbGllbnRQZWcuc2FmZUdldCgpLmdldE5vdGlmVGltZWxpbmVTZXQoKTtcbiAgICAgICAgaWYgKHRpbWVsaW5lU2V0KSB7XG4gICAgICAgICAgICAvLyB3cmFwIGEgVGltZWxpbmVQYW5lbCB3aXRoIHRoZSBqdW1wLXRvLWV2ZW50IGJpdHMgdHVybmVkIG9mZi5cbiAgICAgICAgICAgIGNvbnRlbnQgPSAoXG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lUGFuZWxcbiAgICAgICAgICAgICAgICAgICAgbWFuYWdlUmVhZFJlY2VpcHRzPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgbWFuYWdlUmVhZE1hcmtlcnM9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0aW1lbGluZVNldD17dGltZWxpbmVTZXR9XG4gICAgICAgICAgICAgICAgICAgIHNob3dVcmxQcmV2aWV3PXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgZW1wdHk9e2VtcHR5U3RhdGV9XG4gICAgICAgICAgICAgICAgICAgIGFsd2F5c1Nob3dUaW1lc3RhbXBzPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBsYXlvdXQ9e0xheW91dC5Hcm91cH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcihcIk5vIG5vdGlmVGltZWxpbmVTZXQgYXZhaWxhYmxlIVwiKTtcbiAgICAgICAgICAgIGNvbnRlbnQgPSA8U3Bpbm5lciAvPjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Um9vbUNvbnRleHQuUHJvdmlkZXJcbiAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbnRleHQsXG4gICAgICAgICAgICAgICAgICAgIHRpbWVsaW5lUmVuZGVyaW5nVHlwZTogVGltZWxpbmVSZW5kZXJpbmdUeXBlLk5vdGlmaWNhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgbmFycm93OiB0aGlzLnN0YXRlLm5hcnJvdyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxCYXNlQ2FyZFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXI9e190KFwibm90aWZpY2F0aW9uc3xlbmFibGVfcHJvbXB0X3RvYXN0X3RpdGxlXCIpfVxuICAgICAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgICAgICogTmVlZCB0byByZW5hbWUgdGhpcyBDU1MgY2xhc3MgdG8gc29tZXRoaW5nIG1vcmUgZ2VuZXJpY1xuICAgICAgICAgICAgICAgICAgICAgKiBXaWxsIGJlIGRvbmUgb25jZSBhbGwgdGhlIHBhbmVscyBhcmUgdXNpbmcgYSBzaW1pbGFyIGxheW91dFxuICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXhfVGhyZWFkUGFuZWxcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXt0aGlzLnByb3BzLm9uQ2xvc2V9XG4gICAgICAgICAgICAgICAgICAgIHdpdGhvdXRTY3JvbGxDb250YWluZXI9e3RydWV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5jYXJkLmN1cnJlbnQgJiYgPE1lYXN1cmVkIHNlbnNvcj17dGhpcy5jYXJkLmN1cnJlbnR9IG9uTWVhc3VyZW1lbnQ9e3RoaXMub25NZWFzdXJlbWVudH0gLz59XG4gICAgICAgICAgICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICAgICAgICAgIDwvQmFzZUNhcmQ+XG4gICAgICAgICAgICA8L1Jvb21Db250ZXh0LlByb3ZpZGVyPlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxnQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIs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O1FBQ1ZvRCxrQkFBa0IsRUFBRSxLQUFNO1FBQzFCQyxpQkFBaUIsRUFBRSxLQUFNO1FBQ3pCTCxXQUFXLEVBQUVBLFdBQVk7UUFDekJNLGNBQWMsRUFBRSxLQUFNO1FBQ3RCQyxLQUFLLEVBQUVmLFVBQVc7UUFDbEJnQixvQkFBb0IsRUFBRSxJQUFLO1FBQzNCQyxNQUFNLEVBQUVDLGNBQU0sQ0FBQ0M7TUFBTSxDQUN4QixDQUNKO0lBQ0wsQ0FBQyxNQUFNO01BQ0hDLGNBQU0sQ0FBQ0MsS0FBSyxDQUFDLGdDQUFnQyxDQUFDO01BQzlDZCxPQUFPLGdCQUFHcEUsTUFBQSxDQUFBcUIsT0FBQSxDQUFBeUMsYUFBQSxDQUFDckQsUUFBQSxDQUFBWSxPQUFPLE1BQUUsQ0FBQztJQUN6QjtJQUVBLG9CQUNJckIsTUFBQSxDQUFBcUIsT0FBQSxDQUFBeUMsYUFBQSxDQUFDbkQsWUFBQSxDQUFBVSxPQUFXLENBQUM4RCxRQUFRO01BQ2pCQyxLQUFLLEVBQUF6QyxhQUFBLENBQUFBLGFBQUEsS0FDRSxJQUFJLENBQUNZLE9BQU87UUFDZjhCLHFCQUFxQixFQUFFQyxrQ0FBcUIsQ0FBQ0MsWUFBWTtRQUN6RDlCLE1BQU0sRUFBRSxJQUFJLENBQUNFLEtBQUssQ0FBQ0Y7TUFBTTtJQUMzQixnQkFFRnpELE1BQUEsQ0FBQXFCLE9BQUEsQ0FBQXlDLGFBQUEsQ0FBQ3ZELFNBQUEsQ0FBQWMsT0FBUTtNQUNMbUUsTUFBTSxFQUFFLElBQUF0QixtQkFBRSxFQUFDLHlDQUF5QztNQUNwRDtBQUNwQjtBQUNBO0FBQ0EsU0FIb0I7TUFJQXVCLFNBQVMsRUFBQyxnQkFBZ0I7TUFDMUJDLE9BQU8sRUFBRSxJQUFJLENBQUNwQyxLQUFLLENBQUNvQyxPQUFRO01BQzVCQyxzQkFBc0IsRUFBRTtJQUFLLEdBRTVCLElBQUksQ0FBQ0MsSUFBSSxDQUFDQyxPQUFPLGlCQUFJN0YsTUFBQSxDQUFBcUIsT0FBQSxDQUFBeUMsYUFBQSxDQUFDakQsU0FBQSxDQUFBUSxPQUFRO01BQUN5RSxNQUFNLEVBQUUsSUFBSSxDQUFDRixJQUFJLENBQUNDLE9BQVE7TUFBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQ0E7SUFBYyxDQUFFLENBQUMsRUFDL0YzQixPQUNLLENBQ1EsQ0FBQztFQUUvQjtBQUNKO0FBQUM0QixPQUFBLENBQUEzRSxPQUFBLEdBQUE2QixpQkFBQTtBQUFBLElBQUFILGdCQUFBLENBQUExQixPQUFBLEVBdkVvQjZCLGlCQUFpQixpQkFDTitDLG9CQUFXIiwiaWdub3JlTGlzdCI6W119