UNPKG

matrix-react-sdk

Version:
107 lines (104 loc) 15.9 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 _classnames = _interopRequireDefault(require("classnames")); var _languageHandler = require("../../../languageHandler"); var _MemberAvatar = _interopRequireDefault(require("../avatars/MemberAvatar")); var _BaseDialog = _interopRequireDefault(require("./BaseDialog")); var _DialogButtons = _interopRequireDefault(require("../elements/DialogButtons")); var _Field = _interopRequireDefault(require("../elements/Field")); var _UserIdentifier = _interopRequireDefault(require("../../../customisations/UserIdentifier")); /* Copyright 2024 New Vector Ltd. Copyright 2017 Vector Creations Ltd SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /* * A dialog for confirming an operation on another user. * Takes a user ID and a verb, displays the target user prominently * such that it should be easy to confirm that the operation is being * performed on the right person, and displays the operation prominently * to make it obvious what is going to happen. * Also tweaks the style for 'dangerous' actions (albeit only with colour) */ class ConfirmUserActionDialog extends _react.default.Component { constructor(props) { super(props); (0, _defineProperty2.default)(this, "onOk", ev => { ev.preventDefault(); this.props.onFinished(true, this.state.reason); }); (0, _defineProperty2.default)(this, "onCancel", () => { this.props.onFinished(false); }); (0, _defineProperty2.default)(this, "onReasonChange", ev => { this.setState({ reason: ev.target.value }); }); this.state = { reason: "" }; } render() { const confirmButtonClass = this.props.danger ? "danger" : ""; let reasonBox; if (this.props.askReason) { reasonBox = /*#__PURE__*/_react.default.createElement("form", { onSubmit: this.onOk }, /*#__PURE__*/_react.default.createElement(_Field.default, { type: "text", onChange: this.onReasonChange, value: this.state.reason, className: "mx_ConfirmUserActionDialog_reasonField", label: (0, _languageHandler._t)("room_settings|permissions|ban_reason"), autoFocus: true })); } const avatar = /*#__PURE__*/_react.default.createElement(_MemberAvatar.default, { member: this.props.member, size: "48px" }); const name = this.props.member.name; const userId = this.props.member.userId; const displayUserIdentifier = _UserIdentifier.default.getDisplayUserIdentifier(userId, { roomId: this.props.roomId, withDisplayName: true }); return /*#__PURE__*/_react.default.createElement(_BaseDialog.default, { className: (0, _classnames.default)("mx_ConfirmUserActionDialog", this.props.className), onFinished: this.props.onFinished, title: this.props.title, contentId: "mx_Dialog_content" }, /*#__PURE__*/_react.default.createElement("div", { id: "mx_Dialog_content", className: "mx_Dialog_content" }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_ConfirmUserActionDialog_user" }, /*#__PURE__*/_react.default.createElement("div", { className: "mx_ConfirmUserActionDialog_avatar" }, avatar), /*#__PURE__*/_react.default.createElement("div", { className: "mx_ConfirmUserActionDialog_name" }, name), /*#__PURE__*/_react.default.createElement("div", { className: "mx_ConfirmUserActionDialog_userId" }, displayUserIdentifier)), reasonBox, this.props.children), /*#__PURE__*/_react.default.createElement(_DialogButtons.default, { primaryButton: this.props.action, onPrimaryButtonClick: this.onOk, primaryButtonClass: confirmButtonClass, focus: !this.props.askReason, onCancel: this.onCancel })); } } exports.default = ConfirmUserActionDialog; (0, _defineProperty2.default)(ConfirmUserActionDialog, "defaultProps", { danger: false, askReason: false }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9NZW1iZXJBdmF0YXIiLCJfQmFzZURpYWxvZyIsIl9EaWFsb2dCdXR0b25zIiwiX0ZpZWxkIiwiX1VzZXJJZGVudGlmaWVyIiwiQ29uZmlybVVzZXJBY3Rpb25EaWFsb2ciLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImV2IiwicHJldmVudERlZmF1bHQiLCJvbkZpbmlzaGVkIiwic3RhdGUiLCJyZWFzb24iLCJzZXRTdGF0ZSIsInRhcmdldCIsInZhbHVlIiwicmVuZGVyIiwiY29uZmlybUJ1dHRvbkNsYXNzIiwiZGFuZ2VyIiwicmVhc29uQm94IiwiYXNrUmVhc29uIiwiY3JlYXRlRWxlbWVudCIsIm9uU3VibWl0Iiwib25PayIsInR5cGUiLCJvbkNoYW5nZSIsIm9uUmVhc29uQ2hhbmdlIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfdCIsImF1dG9Gb2N1cyIsImF2YXRhciIsIm1lbWJlciIsInNpemUiLCJuYW1lIiwidXNlcklkIiwiZGlzcGxheVVzZXJJZGVudGlmaWVyIiwiVXNlcklkZW50aWZpZXJDdXN0b21pc2F0aW9ucyIsImdldERpc3BsYXlVc2VySWRlbnRpZmllciIsInJvb21JZCIsIndpdGhEaXNwbGF5TmFtZSIsImNsYXNzTmFtZXMiLCJ0aXRsZSIsImNvbnRlbnRJZCIsImlkIiwiY2hpbGRyZW4iLCJwcmltYXJ5QnV0dG9uIiwiYWN0aW9uIiwib25QcmltYXJ5QnV0dG9uQ2xpY2siLCJwcmltYXJ5QnV0dG9uQ2xhc3MiLCJmb2N1cyIsIm9uQ2FuY2VsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyBDaGFuZ2VFdmVudCwgRm9ybUV2ZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFJvb21NZW1iZXIgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuXG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBNZW1iZXJBdmF0YXIgZnJvbSBcIi4uL2F2YXRhcnMvTWVtYmVyQXZhdGFyXCI7XG5pbXBvcnQgQmFzZURpYWxvZyBmcm9tIFwiLi9CYXNlRGlhbG9nXCI7XG5pbXBvcnQgRGlhbG9nQnV0dG9ucyBmcm9tIFwiLi4vZWxlbWVudHMvRGlhbG9nQnV0dG9uc1wiO1xuaW1wb3J0IEZpZWxkIGZyb20gXCIuLi9lbGVtZW50cy9GaWVsZFwiO1xuaW1wb3J0IFVzZXJJZGVudGlmaWVyQ3VzdG9taXNhdGlvbnMgZnJvbSBcIi4uLy4uLy4uL2N1c3RvbWlzYXRpb25zL1VzZXJJZGVudGlmaWVyXCI7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIC8vIG1hdHJpeC1qcy1zZGsgKHJvb20pIG1lbWJlciBvYmplY3QuXG4gICAgbWVtYmVyOiBSb29tTWVtYmVyO1xuICAgIGFjdGlvbjogc3RyaW5nOyAvLyBlZy4gJ0JhbidcbiAgICB0aXRsZTogc3RyaW5nOyAvLyBlZy4gJ0JhbiB0aGlzIHVzZXI/J1xuXG4gICAgLy8gV2hldGhlciB0byBkaXNwbGF5IGEgdGV4dCBmaWVsZCBmb3IgYSByZWFzb25cbiAgICAvLyBJZiB0cnVlLCB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIG9uRmluaXNoZWQgd2lsbFxuICAgIC8vIGJlIHRoZSBzdHJpbmcgZW50ZXJlZC5cbiAgICBhc2tSZWFzb24/OiBib29sZWFuO1xuICAgIGRhbmdlcj86IGJvb2xlYW47XG4gICAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIHJvb21JZD86IHN0cmluZztcbiAgICBvbkZpbmlzaGVkOiAoc3VjY2Vzcz86IGJvb2xlYW4sIHJlYXNvbj86IHN0cmluZykgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIElTdGF0ZSB7XG4gICAgcmVhc29uOiBzdHJpbmc7XG59XG5cbi8qXG4gKiBBIGRpYWxvZyBmb3IgY29uZmlybWluZyBhbiBvcGVyYXRpb24gb24gYW5vdGhlciB1c2VyLlxuICogVGFrZXMgYSB1c2VyIElEIGFuZCBhIHZlcmIsIGRpc3BsYXlzIHRoZSB0YXJnZXQgdXNlciBwcm9taW5lbnRseVxuICogc3VjaCB0aGF0IGl0IHNob3VsZCBiZSBlYXN5IHRvIGNvbmZpcm0gdGhhdCB0aGUgb3BlcmF0aW9uIGlzIGJlaW5nXG4gKiBwZXJmb3JtZWQgb24gdGhlIHJpZ2h0IHBlcnNvbiwgYW5kIGRpc3BsYXlzIHRoZSBvcGVyYXRpb24gcHJvbWluZW50bHlcbiAqIHRvIG1ha2UgaXQgb2J2aW91cyB3aGF0IGlzIGdvaW5nIHRvIGhhcHBlbi5cbiAqIEFsc28gdHdlYWtzIHRoZSBzdHlsZSBmb3IgJ2Rhbmdlcm91cycgYWN0aW9ucyAoYWxiZWl0IG9ubHkgd2l0aCBjb2xvdXIpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElQcm9wcywgSVN0YXRlPiB7XG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0UHJvcHM6IFBhcnRpYWw8SVByb3BzPiA9IHtcbiAgICAgICAgZGFuZ2VyOiBmYWxzZSxcbiAgICAgICAgYXNrUmVhc29uOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBJUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICByZWFzb246IFwiXCIsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbk9rID0gKGV2OiBGb3JtRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKHRydWUsIHRoaXMuc3RhdGUucmVhc29uKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvbkNhbmNlbCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5wcm9wcy5vbkZpbmlzaGVkKGZhbHNlKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvblJlYXNvbkNoYW5nZSA9IChldjogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICByZWFzb246IGV2LnRhcmdldC52YWx1ZSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbkNsYXNzID0gdGhpcy5wcm9wcy5kYW5nZXIgPyBcImRhbmdlclwiIDogXCJcIjtcblxuICAgICAgICBsZXQgcmVhc29uQm94O1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hc2tSZWFzb24pIHtcbiAgICAgICAgICAgIHJlYXNvbkJveCA9IChcbiAgICAgICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17dGhpcy5vbk9rfT5cbiAgICAgICAgICAgICAgICAgICAgPEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblJlYXNvbkNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnJlYXNvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3JlYXNvbkZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtfdChcInJvb21fc2V0dGluZ3N8cGVybWlzc2lvbnN8YmFuX3JlYXNvblwiKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXZhdGFyID0gPE1lbWJlckF2YXRhciBtZW1iZXI9e3RoaXMucHJvcHMubWVtYmVyfSBzaXplPVwiNDhweFwiIC8+O1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5wcm9wcy5tZW1iZXIubmFtZTtcbiAgICAgICAgY29uc3QgdXNlcklkID0gdGhpcy5wcm9wcy5tZW1iZXIudXNlcklkO1xuXG4gICAgICAgIGNvbnN0IGRpc3BsYXlVc2VySWRlbnRpZmllciA9IFVzZXJJZGVudGlmaWVyQ3VzdG9taXNhdGlvbnMuZ2V0RGlzcGxheVVzZXJJZGVudGlmaWVyKHVzZXJJZCwge1xuICAgICAgICAgICAgcm9vbUlkOiB0aGlzLnByb3BzLnJvb21JZCxcbiAgICAgICAgICAgIHdpdGhEaXNwbGF5TmFtZTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCYXNlRGlhbG9nXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwibXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dcIiwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgIG9uRmluaXNoZWQ9e3RoaXMucHJvcHMub25GaW5pc2hlZH1cbiAgICAgICAgICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICAgICAgICBjb250ZW50SWQ9XCJteF9EaWFsb2dfY29udGVudFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cIm14X0RpYWxvZ19jb250ZW50XCIgY2xhc3NOYW1lPVwibXhfRGlhbG9nX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ191c2VyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX2F2YXRhclwiPnthdmF0YXJ9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX25hbWVcIj57bmFtZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfdXNlcklkXCI+e2Rpc3BsYXlVc2VySWRlbnRpZmllcn08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAge3JlYXNvbkJveH1cbiAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPERpYWxvZ0J1dHRvbnNcbiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeUJ1dHRvbj17dGhpcy5wcm9wcy5hY3Rpb259XG4gICAgICAgICAgICAgICAgICAgIG9uUHJpbWFyeUJ1dHRvbkNsaWNrPXt0aGlzLm9uT2t9XG4gICAgICAgICAgICAgICAgICAgIHByaW1hcnlCdXR0b25DbGFzcz17Y29uZmlybUJ1dHRvbkNsYXNzfVxuICAgICAgICAgICAgICAgICAgICBmb2N1cz17IXRoaXMucHJvcHMuYXNrUmVhc29ufVxuICAgICAgICAgICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5vbkNhbmNlbH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9CYXNlRGlhbG9nPlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssY0FBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sZUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWtDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTVEsdUJBQXVCLFNBQVNDLGNBQUssQ0FBQ0MsU0FBUyxDQUFpQjtFQU0xRUMsV0FBV0EsQ0FBQ0MsS0FBYSxFQUFFO0lBQzlCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUMsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSxnQkFPREMsRUFBYSxJQUFXO01BQ3BDQSxFQUFFLENBQUNDLGNBQWMsQ0FBQyxDQUFDO01BQ25CLElBQUksQ0FBQ0osS0FBSyxDQUFDSyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxNQUFNLENBQUM7SUFDbEQsQ0FBQztJQUFBLElBQUFOLGdCQUFBLENBQUFDLE9BQUEsb0JBRWtCLE1BQVk7TUFDM0IsSUFBSSxDQUFDRixLQUFLLENBQUNLLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUFBLElBQUFKLGdCQUFBLENBQUFDLE9BQUEsMEJBRXlCQyxFQUFpQyxJQUFXO01BQ2xFLElBQUksQ0FBQ0ssUUFBUSxDQUFDO1FBQ1ZELE1BQU0sRUFBRUosRUFBRSxDQUFDTSxNQUFNLENBQUNDO01BQ3RCLENBQUMsQ0FBQztJQUNOLENBQUM7SUFsQkcsSUFBSSxDQUFDSixLQUFLLEdBQUc7TUFDVEMsTUFBTSxFQUFFO0lBQ1osQ0FBQztFQUNMO0VBaUJPSSxNQUFNQSxDQUFBLEVBQW9CO0lBQzdCLE1BQU1DLGtCQUFrQixHQUFHLElBQUksQ0FBQ1osS0FBSyxDQUFDYSxNQUFNLEdBQUcsUUFBUSxHQUFHLEVBQUU7SUFFNUQsSUFBSUMsU0FBUztJQUNiLElBQUksSUFBSSxDQUFDZCxLQUFLLENBQUNlLFNBQVMsRUFBRTtNQUN0QkQsU0FBUyxnQkFDTDVCLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQWMsYUFBQTtRQUFNQyxRQUFRLEVBQUUsSUFBSSxDQUFDQztNQUFLLGdCQUN0QmhDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQWMsYUFBQSxDQUFDdEIsTUFBQSxDQUFBUSxPQUFLO1FBQ0ZpQixJQUFJLEVBQUMsTUFBTTtRQUNYQyxRQUFRLEVBQUUsSUFBSSxDQUFDQyxjQUFlO1FBQzlCWCxLQUFLLEVBQUUsSUFBSSxDQUFDSixLQUFLLENBQUNDLE1BQU87UUFDekJlLFNBQVMsRUFBQyx3Q0FBd0M7UUFDbERDLEtBQUssRUFBRSxJQUFBQyxtQkFBRSxFQUFDLHNDQUFzQyxDQUFFO1FBQ2xEQyxTQUFTLEVBQUU7TUFBSyxDQUNuQixDQUNDLENBQ1Q7SUFDTDtJQUVBLE1BQU1DLE1BQU0sZ0JBQUd4QyxNQUFBLENBQUFnQixPQUFBLENBQUFjLGFBQUEsQ0FBQ3pCLGFBQUEsQ0FBQVcsT0FBWTtNQUFDeUIsTUFBTSxFQUFFLElBQUksQ0FBQzNCLEtBQUssQ0FBQzJCLE1BQU87TUFBQ0MsSUFBSSxFQUFDO0lBQU0sQ0FBRSxDQUFDO0lBQ3RFLE1BQU1DLElBQUksR0FBRyxJQUFJLENBQUM3QixLQUFLLENBQUMyQixNQUFNLENBQUNFLElBQUk7SUFDbkMsTUFBTUMsTUFBTSxHQUFHLElBQUksQ0FBQzlCLEtBQUssQ0FBQzJCLE1BQU0sQ0FBQ0csTUFBTTtJQUV2QyxNQUFNQyxxQkFBcUIsR0FBR0MsdUJBQTRCLENBQUNDLHdCQUF3QixDQUFDSCxNQUFNLEVBQUU7TUFDeEZJLE1BQU0sRUFBRSxJQUFJLENBQUNsQyxLQUFLLENBQUNrQyxNQUFNO01BQ3pCQyxlQUFlLEVBQUU7SUFDckIsQ0FBQyxDQUFDO0lBRUYsb0JBQ0lqRCxNQUFBLENBQUFnQixPQUFBLENBQUFjLGFBQUEsQ0FBQ3hCLFdBQUEsQ0FBQVUsT0FBVTtNQUNQb0IsU0FBUyxFQUFFLElBQUFjLG1CQUFVLEVBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDcEMsS0FBSyxDQUFDc0IsU0FBUyxDQUFFO01BQzFFakIsVUFBVSxFQUFFLElBQUksQ0FBQ0wsS0FBSyxDQUFDSyxVQUFXO01BQ2xDZ0MsS0FBSyxFQUFFLElBQUksQ0FBQ3JDLEtBQUssQ0FBQ3FDLEtBQU07TUFDeEJDLFNBQVMsRUFBQztJQUFtQixnQkFFN0JwRCxNQUFBLENBQUFnQixPQUFBLENBQUFjLGFBQUE7TUFBS3VCLEVBQUUsRUFBQyxtQkFBbUI7TUFBQ2pCLFNBQVMsRUFBQztJQUFtQixnQkFDckRwQyxNQUFBLENBQUFnQixPQUFBLENBQUFjLGFBQUE7TUFBS00sU0FBUyxFQUFDO0lBQWlDLGdCQUM1Q3BDLE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQWMsYUFBQTtNQUFLTSxTQUFTLEVBQUM7SUFBbUMsR0FBRUksTUFBWSxDQUFDLGVBQ2pFeEMsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBYyxhQUFBO01BQUtNLFNBQVMsRUFBQztJQUFpQyxHQUFFTyxJQUFVLENBQUMsZUFDN0QzQyxNQUFBLENBQUFnQixPQUFBLENBQUFjLGFBQUE7TUFBS00sU0FBUyxFQUFDO0lBQW1DLEdBQUVTLHFCQUEyQixDQUM5RSxDQUFDLEVBRUxqQixTQUFTLEVBQ1QsSUFBSSxDQUFDZCxLQUFLLENBQUN3QyxRQUNYLENBQUMsZUFDTnRELE1BQUEsQ0FBQWdCLE9BQUEsQ0FBQWMsYUFBQSxDQUFDdkIsY0FBQSxDQUFBUyxPQUFhO01BQ1Z1QyxhQUFhLEVBQUUsSUFBSSxDQUFDekMsS0FBSyxDQUFDMEMsTUFBTztNQUNqQ0Msb0JBQW9CLEVBQUUsSUFBSSxDQUFDekIsSUFBSztNQUNoQzBCLGtCQUFrQixFQUFFaEMsa0JBQW1CO01BQ3ZDaUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDN0MsS0FBSyxDQUFDZSxTQUFVO01BQzdCK0IsUUFBUSxFQUFFLElBQUksQ0FBQ0E7SUFBUyxDQUMzQixDQUNPLENBQUM7RUFFckI7QUFDSjtBQUFDQyxPQUFBLENBQUE3QyxPQUFBLEdBQUFOLHVCQUFBO0FBQUEsSUFBQUssZ0JBQUEsQ0FBQUMsT0FBQSxFQXBGb0JOLHVCQUF1QixrQkFDTTtFQUMxQ2lCLE1BQU0sRUFBRSxLQUFLO0VBQ2JFLFNBQVMsRUFBRTtBQUNmLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=