UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

180 lines (159 loc) 21.5 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _RenderSelectionTextComponent = _interopRequireDefault(require("../RenderSelectionTextComponent")); var _ThreeDotMenu = _interopRequireDefault(require("../ThreeDotMenu")); var _MyLanguageModal = _interopRequireDefault(require("../MyLanguageModal")); var _ = require("../.."); var _fontUtils = require("../../common/fontUtils"); require("../VerseCheck.styles.css"); // components var NAMESPACE = 'CheckArea'; var SelectionArea = function SelectionArea(_ref) { var mode = _ref.mode, translate = _ref.translate, reference = _ref.reference, verseText = _ref.verseText, selections = _ref.selections, bookDetails = _ref.bookDetails, targetBible = _ref.targetBible, toolsSettings = _ref.toolsSettings, setToolSettings = _ref.setToolSettings, openAlertDialog = _ref.openAlertDialog, maximumSelections = _ref.maximumSelections, targetLanguageFont = _ref.targetLanguageFont, targetLanguageDetails = _ref.targetLanguageDetails, changeSelectionsInLocalState = _ref.changeSelectionsInLocalState; var book = targetLanguageDetails.book, direction = targetLanguageDetails.direction, languageCode = targetLanguageDetails.id; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), isModalVisible = _useState2[0], changeModalVisibility = _useState2[1]; var bookName = book && book.name ? book.name : bookDetails.name; var languageName = targetLanguageDetails.name || null; var languageStr = (0, _.getTitleWithId)(languageName, languageCode); var refStr = (0, _.getReferenceStr)(reference.chapter, reference.verse); var title = (0, _.getTitleStr)(bookName, refStr); var isLTR_ = (0, _.isLTR)(direction); var style = { display: 'flex', flexDirection: 'column' }; var targetLanguageFontClassName = (0, _fontUtils.getFontClassName)(targetLanguageFont); var verseTitleClassName = targetLanguageFontClassName ? "verse-title-title ".concat(targetLanguageFontClassName) : 'verse-title-title'; var verseSubtitleClassName = targetLanguageFontClassName ? "verse-title-subtitle ".concat(targetLanguageFontClassName) : 'verse-title-subtitle'; var lineHeightStyle = targetLanguageFontClassName ? { lineHeight: 1.4, padding: targetLanguageFontClassName.includes('Awami') ? '0 0 10px' : 0 } : {}; var _ref2 = toolsSettings[NAMESPACE] || {}, fontSize = _ref2.fontSize; var textStyle = fontSize ? { fontSize: "".concat(fontSize, "%") } : {}; if (!isLTR_) { // for RTL style.justifyContent = 'right'; style.width = '100%'; style.direction = 'rtl'; style.paddingRight = '15px'; } return /*#__PURE__*/_react["default"].createElement("div", { className: "selection-area-root" }, /*#__PURE__*/_react["default"].createElement("div", { className: "verse-title" }, isLTR_ ? '' : /*#__PURE__*/_react["default"].createElement(_ThreeDotMenu["default"], { namespace: NAMESPACE, toolsSettings: toolsSettings, setToolSettings: setToolSettings, label: translate('expand_verses'), title: translate('click_show_expanded'), handleMyLanguageModal: function handleMyLanguageModal() { return changeModalVisibility(true); } }), /*#__PURE__*/_react["default"].createElement("div", { className: "pane", style: style }, /*#__PURE__*/_react["default"].createElement("span", { className: verseTitleClassName, style: lineHeightStyle }, languageStr), /*#__PURE__*/_react["default"].createElement("span", { className: verseSubtitleClassName, style: lineHeightStyle }, title)), isLTR_ ? /*#__PURE__*/_react["default"].createElement(_ThreeDotMenu["default"], { anchorOrigin: { vertical: 'bottom', horizontal: 'left' }, transformOrigin: { vertical: 'top', horizontal: 'left' }, namespace: NAMESPACE, toolsSettings: toolsSettings, setToolSettings: setToolSettings, label: translate('expand_verses'), title: translate('click_show_expanded'), handleMyLanguageModal: function handleMyLanguageModal() { return changeModalVisibility(true); } }) : '', isModalVisible && /*#__PURE__*/_react["default"].createElement(_MyLanguageModal["default"], { bookName: bookName, show: isModalVisible, translate: translate, fontSize: "".concat(fontSize, "%"), targetBible: targetBible, chapter: reference.chapter, currentVerse: reference.verse, targetLanguageFont: targetLanguageFont, targetLanguageDetails: targetLanguageDetails, languageDirection: direction || 'ltr', onHide: function onHide() { return changeModalVisibility(false); } })), /*#__PURE__*/_react["default"].createElement("div", { style: { overflow: 'auto' } }, /*#__PURE__*/_react["default"].createElement("div", { className: direction === 'ltr' ? 'ltr-content' : 'rtl-content', style: textStyle }, /*#__PURE__*/_react["default"].createElement(_RenderSelectionTextComponent["default"], { mode: mode, translate: translate, verseText: verseText, selections: selections, openAlertDialog: openAlertDialog, maximumSelections: maximumSelections, targetLanguageFontClassName: targetLanguageFontClassName, changeSelectionsInLocalState: changeSelectionsInLocalState })))); }; SelectionArea.propTypes = { mode: _propTypes["default"].string.isRequired, targetLanguageFont: _propTypes["default"].string, translate: _propTypes["default"].func.isRequired, reference: _propTypes["default"].object.isRequired, verseText: _propTypes["default"].string.isRequired, selections: _propTypes["default"].array.isRequired, targetBible: _propTypes["default"].object.isRequired, bookDetails: _propTypes["default"].object.isRequired, toolsSettings: _propTypes["default"].object.isRequired, openAlertDialog: _propTypes["default"].func.isRequired, setToolSettings: _propTypes["default"].func.isRequired, maximumSelections: _propTypes["default"].number.isRequired, targetLanguageDetails: _propTypes["default"].object.isRequired, changeSelectionsInLocalState: _propTypes["default"].func.isRequired }; var _default = SelectionArea; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WZXJzZUNoZWNrL1NlbGVjdGlvbkFyZWEvaW5kZXguanMiXSwibmFtZXMiOlsiTkFNRVNQQUNFIiwiU2VsZWN0aW9uQXJlYSIsIm1vZGUiLCJ0cmFuc2xhdGUiLCJyZWZlcmVuY2UiLCJ2ZXJzZVRleHQiLCJzZWxlY3Rpb25zIiwiYm9va0RldGFpbHMiLCJ0YXJnZXRCaWJsZSIsInRvb2xzU2V0dGluZ3MiLCJzZXRUb29sU2V0dGluZ3MiLCJvcGVuQWxlcnREaWFsb2ciLCJtYXhpbXVtU2VsZWN0aW9ucyIsInRhcmdldExhbmd1YWdlRm9udCIsInRhcmdldExhbmd1YWdlRGV0YWlscyIsImNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGUiLCJib29rIiwiZGlyZWN0aW9uIiwibGFuZ3VhZ2VDb2RlIiwiaWQiLCJpc01vZGFsVmlzaWJsZSIsImNoYW5nZU1vZGFsVmlzaWJpbGl0eSIsImJvb2tOYW1lIiwibmFtZSIsImxhbmd1YWdlTmFtZSIsImxhbmd1YWdlU3RyIiwicmVmU3RyIiwiY2hhcHRlciIsInZlcnNlIiwidGl0bGUiLCJpc0xUUl8iLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwidGFyZ2V0TGFuZ3VhZ2VGb250Q2xhc3NOYW1lIiwidmVyc2VUaXRsZUNsYXNzTmFtZSIsInZlcnNlU3VidGl0bGVDbGFzc05hbWUiLCJsaW5lSGVpZ2h0U3R5bGUiLCJsaW5lSGVpZ2h0IiwicGFkZGluZyIsImluY2x1ZGVzIiwiZm9udFNpemUiLCJ0ZXh0U3R5bGUiLCJqdXN0aWZ5Q29udGVudCIsIndpZHRoIiwicGFkZGluZ1JpZ2h0IiwidmVydGljYWwiLCJob3Jpem9udGFsIiwib3ZlcmZsb3ciLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm9iamVjdCIsImFycmF5IiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FB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L0I7QUFRRSxJQUFBLDRCQUE0QixFQUFFbkI7QUFSaEMsSUFERixDQURGLENBL0RGLENBREY7QUFnRkQsQ0EzSEQ7O0FBOEhBZCxhQUFhLENBQUNnRCxTQUFkLEdBQTBCO0FBQ3hCL0MsRUFBQUEsSUFBSSxFQUFFZ0Qsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBREM7QUFFeEJ2QyxFQUFBQSxrQkFBa0IsRUFBRXFDLHNCQUFVQyxNQUZOO0FBR3hCaEQsRUFBQUEsU0FBUyxFQUFFK0Msc0JBQVVHLElBQVYsQ0FBZUQsVUFIRjtBQUl4QmhELEVBQUFBLFNBQVMsRUFBRThDLHNCQUFVSSxNQUFWLENBQWlCRixVQUpKO0FBS3hCL0MsRUFBQUEsU0FBUyxFQUFFNkMsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBTEo7QUFNeEI5QyxFQUFBQSxVQUFVLEVBQUU0QyxzQkFBVUssS0FBVixDQUFnQkgsVUFOSjtBQU94QjVDLEVBQUFBLFdBQVcsRUFBRTBDLHNCQUFVSSxNQUFWLENBQWlCRixVQVBOO0FBUXhCN0MsRUFBQUEsV0FBVyxFQUFFMkMsc0JBQVVJLE1BQVYsQ0FBaUJGLFVBUk47QUFTeEIzQyxFQUFBQSxhQUFhLEVBQUV5QyxzQkFBVUksTUFBVixDQUFpQkYsVUFUUjtBQVV4QnpDLEVBQUFBLGVBQWUsRUFBRXVDLHNCQUFVRyxJQUFWLENBQWVELFVBVlI7QUFXeEIxQyxFQUFBQSxlQUFlLEVBQUV3QyxzQkFBVUcsSUFBVixDQUFlRCxVQVhSO0FBWXhCeEMsRUFBQUEsaUJBQWlCLEVBQUVzQyxzQkFBVU0sTUFBVixDQUFpQkosVUFaWjtBQWF4QnRDLEVBQUFBLHFCQUFxQixFQUFFb0Msc0JBQVVJLE1BQVYsQ0FBaUJGLFVBYmhCO0FBY3hCckMsRUFBQUEsNEJBQTRCLEVBQUVtQyxzQkFBVUcsSUFBVixDQUFlRDtBQWRyQixDQUExQjtlQWlCZW5ELGEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuLy8gY29tcG9uZW50c1xuaW1wb3J0IFJlbmRlclNlbGVjdGlvblRleHRDb21wb25lbnQgZnJvbSAnLi4vUmVuZGVyU2VsZWN0aW9uVGV4dENvbXBvbmVudCc7XG5pbXBvcnQgVGhyZWVEb3RNZW51IGZyb20gJy4uL1RocmVlRG90TWVudSc7XG5pbXBvcnQgTXlMYW5ndWFnZU1vZGFsIGZyb20gJy4uL015TGFuZ3VhZ2VNb2RhbCc7XG5pbXBvcnQge1xuICBnZXRSZWZlcmVuY2VTdHIsXG4gIGdldFRpdGxlU3RyLFxuICBnZXRUaXRsZVdpdGhJZCxcbiAgaXNMVFIsXG59IGZyb20gJy4uLy4uJztcbmltcG9ydCB7IGdldEZvbnRDbGFzc05hbWUgfSBmcm9tICcuLi8uLi9jb21tb24vZm9udFV0aWxzJztcbmltcG9ydCAnLi4vVmVyc2VDaGVjay5zdHlsZXMuY3NzJztcbmNvbnN0IE5BTUVTUEFDRSA9ICdDaGVja0FyZWEnO1xuXG5jb25zdCBTZWxlY3Rpb25BcmVhID0gKHtcbiAgbW9kZSxcbiAgdHJhbnNsYXRlLFxuICByZWZlcmVuY2UsXG4gIHZlcnNlVGV4dCxcbiAgc2VsZWN0aW9ucyxcbiAgYm9va0RldGFpbHMsXG4gIHRhcmdldEJpYmxlLFxuICB0b29sc1NldHRpbmdzLFxuICBzZXRUb29sU2V0dGluZ3MsXG4gIG9wZW5BbGVydERpYWxvZyxcbiAgbWF4aW11bVNlbGVjdGlvbnMsXG4gIHRhcmdldExhbmd1YWdlRm9udCxcbiAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzLFxuICBjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgYm9vayxcbiAgICBkaXJlY3Rpb24sXG4gICAgaWQ6bGFuZ3VhZ2VDb2RlLFxuICB9ID0gdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzO1xuICBjb25zdCBbaXNNb2RhbFZpc2libGUsIGNoYW5nZU1vZGFsVmlzaWJpbGl0eV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGJvb2tOYW1lID0gYm9vayAmJiBib29rLm5hbWUgPyBib29rLm5hbWUgOiBib29rRGV0YWlscy5uYW1lO1xuICBjb25zdCBsYW5ndWFnZU5hbWUgPSB0YXJnZXRMYW5ndWFnZURldGFpbHMubmFtZSB8fCBudWxsO1xuICBjb25zdCBsYW5ndWFnZVN0ciA9IGdldFRpdGxlV2l0aElkKGxhbmd1YWdlTmFtZSwgbGFuZ3VhZ2VDb2RlKTtcbiAgY29uc3QgcmVmU3RyID0gZ2V0UmVmZXJlbmNlU3RyKHJlZmVyZW5jZS5jaGFwdGVyLCByZWZlcmVuY2UudmVyc2UpO1xuICBjb25zdCB0aXRsZSA9IGdldFRpdGxlU3RyKGJvb2tOYW1lLCByZWZTdHIpO1xuICBjb25zdCBpc0xUUl8gPSBpc0xUUihkaXJlY3Rpb24pO1xuICBjb25zdCBzdHlsZSA9IHsgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyB9O1xuICBjb25zdCB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPSBnZXRGb250Q2xhc3NOYW1lKHRhcmdldExhbmd1YWdlRm9udCk7XG4gIGNvbnN0IHZlcnNlVGl0bGVDbGFzc05hbWUgPSB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPyBgdmVyc2UtdGl0bGUtdGl0bGUgJHt0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWV9YCA6ICd2ZXJzZS10aXRsZS10aXRsZSc7XG4gIGNvbnN0IHZlcnNlU3VidGl0bGVDbGFzc05hbWUgPSB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPyBgdmVyc2UtdGl0bGUtc3VidGl0bGUgJHt0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWV9YCA6ICd2ZXJzZS10aXRsZS1zdWJ0aXRsZSc7XG4gIGNvbnN0IGxpbmVIZWlnaHRTdHlsZSA9IHRhcmdldExhbmd1YWdlRm9udENsYXNzTmFtZSA/IHsgbGluZUhlaWdodDogMS40LCBwYWRkaW5nOiB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUuaW5jbHVkZXMoJ0F3YW1pJykgPyAnMCAwIDEwcHgnIDogMCB9IDoge307XG4gIGNvbnN0IHsgZm9udFNpemUgfSA9IHRvb2xzU2V0dGluZ3NbTkFNRVNQQUNFXSB8fCB7fTtcbiAgY29uc3QgdGV4dFN0eWxlID0gZm9udFNpemUgPyB7IGZvbnRTaXplOiBgJHtmb250U2l6ZX0lYCB9IDoge307XG5cbiAgaWYgKCFpc0xUUl8pIHsgLy8gZm9yIFJUTFxuICAgIHN0eWxlLmp1c3RpZnlDb250ZW50ID0gJ3JpZ2h0JztcbiAgICBzdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICBzdHlsZS5kaXJlY3Rpb24gPSAncnRsJztcbiAgICBzdHlsZS5wYWRkaW5nUmlnaHQgPSAnMTVweCc7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdzZWxlY3Rpb24tYXJlYS1yb290Jz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSd2ZXJzZS10aXRsZSc+XG4gICAgICAgIHsvKiBwdXQgaWNvbiBoZXJlIGlmIFJUTCAqL31cbiAgICAgICAge1xuICAgICAgICAgIGlzTFRSXyA/XG4gICAgICAgICAgICAnJ1xuICAgICAgICAgICAgOlxuICAgICAgICAgICAgPFRocmVlRG90TWVudVxuICAgICAgICAgICAgICBuYW1lc3BhY2U9e05BTUVTUEFDRX1cbiAgICAgICAgICAgICAgdG9vbHNTZXR0aW5ncz17dG9vbHNTZXR0aW5nc31cbiAgICAgICAgICAgICAgc2V0VG9vbFNldHRpbmdzPXtzZXRUb29sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIGxhYmVsPXt0cmFuc2xhdGUoJ2V4cGFuZF92ZXJzZXMnKX1cbiAgICAgICAgICAgICAgdGl0bGU9e3RyYW5zbGF0ZSgnY2xpY2tfc2hvd19leHBhbmRlZCcpfVxuICAgICAgICAgICAgICBoYW5kbGVNeUxhbmd1YWdlTW9kYWw9eygpID0+IGNoYW5nZU1vZGFsVmlzaWJpbGl0eSh0cnVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3BhbmUnIHN0eWxlPXtzdHlsZX0+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXt2ZXJzZVRpdGxlQ2xhc3NOYW1lfSBzdHlsZT17bGluZUhlaWdodFN0eWxlfT5cbiAgICAgICAgICAgIHtsYW5ndWFnZVN0cn1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXt2ZXJzZVN1YnRpdGxlQ2xhc3NOYW1lfSBzdHlsZT17bGluZUhlaWdodFN0eWxlfT5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7LyogcHV0IGljb24gaGVyZSBpZiBMVFIgKi99XG4gICAgICAgIHtcbiAgICAgICAgICBpc0xUUl8gP1xuICAgICAgICAgICAgPFRocmVlRG90TWVudVxuICAgICAgICAgICAgICBhbmNob3JPcmlnaW49e3tcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3tcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogJ3RvcCcsXG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBuYW1lc3BhY2U9e05BTUVTUEFDRX1cbiAgICAgICAgICAgICAgdG9vbHNTZXR0aW5ncz17dG9vbHNTZXR0aW5nc31cbiAgICAgICAgICAgICAgc2V0VG9vbFNldHRpbmdzPXtzZXRUb29sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIGxhYmVsPXt0cmFuc2xhdGUoJ2V4cGFuZF92ZXJzZXMnKX1cbiAgICAgICAgICAgICAgdGl0bGU9e3RyYW5zbGF0ZSgnY2xpY2tfc2hvd19leHBhbmRlZCcpfVxuICAgICAgICAgICAgICBoYW5kbGVNeUxhbmd1YWdlTW9kYWw9eygpID0+IGNoYW5nZU1vZGFsVmlzaWJpbGl0eSh0cnVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA6XG4gICAgICAgICAgICAnJ1xuICAgICAgICB9XG4gICAgICAgIHtcbiAgICAgICAgICBpc01vZGFsVmlzaWJsZSAmJlxuICAgICAgICAgIDxNeUxhbmd1YWdlTW9kYWxcbiAgICAgICAgICAgIGJvb2tOYW1lPXtib29rTmFtZX1cbiAgICAgICAgICAgIHNob3c9e2lzTW9kYWxWaXNpYmxlfVxuICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICBmb250U2l6ZT17YCR7Zm9udFNpemV9JWB9XG4gICAgICAgICAgICB0YXJnZXRCaWJsZT17dGFyZ2V0QmlibGV9XG4gICAgICAgICAgICBjaGFwdGVyPXtyZWZlcmVuY2UuY2hhcHRlcn1cbiAgICAgICAgICAgIGN1cnJlbnRWZXJzZT17cmVmZXJlbmNlLnZlcnNlfVxuICAgICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250PXt0YXJnZXRMYW5ndWFnZUZvbnR9XG4gICAgICAgICAgICB0YXJnZXRMYW5ndWFnZURldGFpbHM9e3RhcmdldExhbmd1YWdlRGV0YWlsc31cbiAgICAgICAgICAgIGxhbmd1YWdlRGlyZWN0aW9uPXtkaXJlY3Rpb24gfHwgJ2x0cid9XG4gICAgICAgICAgICBvbkhpZGU9eygpID0+IGNoYW5nZU1vZGFsVmlzaWJpbGl0eShmYWxzZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93OiAnYXV0bycgfX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtkaXJlY3Rpb24gPT09ICdsdHInID8gJ2x0ci1jb250ZW50JyA6ICdydGwtY29udGVudCd9IHN0eWxlPXt0ZXh0U3R5bGV9PlxuICAgICAgICAgIDxSZW5kZXJTZWxlY3Rpb25UZXh0Q29tcG9uZW50XG4gICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICAgIHNlbGVjdGlvbnM9e3NlbGVjdGlvbnN9XG4gICAgICAgICAgICBvcGVuQWxlcnREaWFsb2c9e29wZW5BbGVydERpYWxvZ31cbiAgICAgICAgICAgIG1heGltdW1TZWxlY3Rpb25zPXttYXhpbXVtU2VsZWN0aW9uc31cbiAgICAgICAgICAgIHRhcmdldExhbmd1YWdlRm9udENsYXNzTmFtZT17dGFyZ2V0TGFuZ3VhZ2VGb250Q2xhc3NOYW1lfVxuICAgICAgICAgICAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZT17Y2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5TZWxlY3Rpb25BcmVhLnByb3BUeXBlcyA9IHtcbiAgbW9kZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB0YXJnZXRMYW5ndWFnZUZvbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHRyYW5zbGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgcmVmZXJlbmNlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHZlcnNlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBzZWxlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0QmlibGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYm9va0RldGFpbHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgdG9vbHNTZXR0aW5nczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBvcGVuQWxlcnREaWFsb2c6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNldFRvb2xTZXR0aW5nczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbWF4aW11bVNlbGVjdGlvbnM6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZWxlY3Rpb25BcmVhO1xuIl19