UNPKG

tc-ui-toolkit

Version:

React components used to develop tools for the desktop app translationCore

219 lines (196 loc) 25.3 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 _propTypes = _interopRequireDefault(require("prop-types")); var _DefaultArea = _interopRequireDefault(require("../DefaultArea")); var _SelectionArea = _interopRequireDefault(require("../SelectionArea")); var _InstructionsArea = _interopRequireDefault(require("../InstructionsArea")); var _EditVerseArea = _interopRequireDefault(require("../EditVerseArea")); var _CommentArea = _interopRequireDefault(require("../CommentArea")); require("./CheckArea.styles.css"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } var CheckArea = function CheckArea(_ref) { var mode = _ref.mode, tags = _ref.tags, comment = _ref.comment, verseText = _ref.verseText, translate = _ref.translate, contextId = _ref.contextId, selections = _ref.selections, invalidated = _ref.invalidated, targetBible = _ref.targetBible, bookDetails = _ref.bookDetails, newSelections = _ref.newSelections, alignedGLText = _ref.alignedGLText, handleComment = _ref.handleComment, toolsSettings = _ref.toolsSettings, isVerseChanged = _ref.isVerseChanged, nothingToSelect = _ref.nothingToSelect, openAlertDialog = _ref.openAlertDialog, handleEditVerse = _ref.handleEditVerse, setToolSettings = _ref.setToolSettings, maximumSelections = _ref.maximumSelections, handleTagsCheckbox = _ref.handleTagsCheckbox, validateSelections = _ref.validateSelections, targetLanguageFont = _ref.targetLanguageFont, unfilteredVerseText = _ref.unfilteredVerseText, checkIfVerseChanged = _ref.checkIfVerseChanged, checkIfCommentChanged = _ref.checkIfCommentChanged, targetLanguageDetails = _ref.targetLanguageDetails, changeSelectionsInLocalState = _ref.changeSelectionsInLocalState; var modeArea; var _ref2 = targetLanguageDetails || {}, _ref2$direction = _ref2.direction, targetLanguageDirection = _ref2$direction === void 0 ? 'ltr' : _ref2$direction; switch (mode) { case 'edit': var fontSize = toolsSettings['CheckArea'] && toolsSettings['CheckArea'].fontSize || 100; modeArea = /*#__PURE__*/_react["default"].createElement(_EditVerseArea["default"], { tags: tags, verseText: unfilteredVerseText, isVerseChanged: isVerseChanged, handleTagsCheckbox: handleTagsCheckbox, handleEditVerse: handleEditVerse, checkIfVerseChanged: checkIfVerseChanged, languageDirection: targetLanguageDirection, translate: translate, targetLanguageFont: targetLanguageFont, targetLanguageFontSize: "".concat(fontSize, "%") }); break; case 'comment': modeArea = /*#__PURE__*/_react["default"].createElement(_CommentArea["default"], { comment: comment, translate: translate, handleComment: handleComment, checkIfCommentChanged: checkIfCommentChanged }); break; case 'select': modeArea = /*#__PURE__*/_react["default"].createElement("div", { style: { WebkitUserSelect: 'none', display: 'flex', flex: '1', justifyContent: 'center', alignItems: 'center', overflow: 'auto' } }, /*#__PURE__*/_react["default"].createElement(_InstructionsArea["default"], { verseText: verseText, selections: selections, alignedGLText: alignedGLText, mode: mode, translate: translate, invalidated: invalidated, targetLanguageFont: targetLanguageFont, targetLanguageDirection: targetLanguageDirection })); break; case 'default': default: modeArea = /*#__PURE__*/_react["default"].createElement("div", { style: { WebkitUserSelect: 'none', display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100%' } }, /*#__PURE__*/_react["default"].createElement(_InstructionsArea["default"], { dontShowTranslation: true, verseText: verseText, selections: selections, alignedGLText: alignedGLText, translate: translate, invalidated: invalidated, nothingToSelect: nothingToSelect, targetLanguageFont: targetLanguageFont, targetLanguageDirection: targetLanguageDirection })); } var reference = contextId.reference; if (contextId.verseSpan) { // if are in a verse span, use it reference = _objectSpread(_objectSpread({}, contextId.reference), {}, { verse: contextId.verseSpan }); } return /*#__PURE__*/_react["default"].createElement("div", { className: "check-area" }, mode === 'select' ? /*#__PURE__*/_react["default"].createElement(_SelectionArea["default"], { mode: mode, translate: translate, verseText: verseText, bookDetails: bookDetails, targetBible: targetBible, selections: newSelections, toolsSettings: toolsSettings, reference: reference, setToolSettings: setToolSettings, openAlertDialog: openAlertDialog, maximumSelections: maximumSelections, targetLanguageFont: targetLanguageFont, targetLanguageDetails: targetLanguageDetails, changeSelectionsInLocalState: changeSelectionsInLocalState }) : /*#__PURE__*/_react["default"].createElement(_DefaultArea["default"], { translate: translate, verseText: verseText, selections: selections, targetBible: targetBible, bookDetails: bookDetails, toolsSettings: toolsSettings, reference: reference, setToolSettings: setToolSettings, validateSelections: validateSelections, targetLanguageFont: targetLanguageFont, targetLanguageDetails: targetLanguageDetails }), /*#__PURE__*/_react["default"].createElement("div", { style: { borderLeft: '1px solid var(--border-color)', flex: 1, overflowY: 'auto', display: 'flex', justifyContent: 'center' } }, modeArea)); }; CheckArea.propTypes = { tags: _propTypes["default"].array.isRequired, mode: _propTypes["default"].string.isRequired, targetLanguageFont: _propTypes["default"].string, translate: _propTypes["default"].func.isRequired, comment: _propTypes["default"].string.isRequired, invalidated: _propTypes["default"].bool.isRequired, verseText: _propTypes["default"].string.isRequired, contextId: _propTypes["default"].object.isRequired, selections: _propTypes["default"].array.isRequired, bookDetails: _propTypes["default"].object.isRequired, handleComment: _propTypes["default"].func.isRequired, targetBible: _propTypes["default"].object.isRequired, newSelections: _propTypes["default"].array.isRequired, isVerseChanged: _propTypes["default"].bool.isRequired, alignedGLText: _propTypes["default"].string.isRequired, nothingToSelect: _propTypes["default"].bool.isRequired, handleEditVerse: _propTypes["default"].func.isRequired, openAlertDialog: _propTypes["default"].func.isRequired, toolsSettings: _propTypes["default"].object.isRequired, setToolSettings: _propTypes["default"].func.isRequired, validateSelections: _propTypes["default"].func.isRequired, handleTagsCheckbox: _propTypes["default"].func.isRequired, checkIfVerseChanged: _propTypes["default"].func.isRequired, maximumSelections: _propTypes["default"].number.isRequired, unfilteredVerseText: _propTypes["default"].string.isRequired, checkIfCommentChanged: _propTypes["default"].func.isRequired, targetLanguageDetails: _propTypes["default"].object.isRequired, changeSelectionsInLocalState: _propTypes["default"].func.isRequired }; var _default = CheckArea; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WZXJzZUNoZWNrL0NoZWNrQXJlYS9pbmRleC5qcyJdLCJuYW1lcyI6WyJDaGVja0FyZWEiLCJtb2RlIiwidGFncyIsImNvbW1lbnQiLCJ2ZXJzZVRleHQiLCJ0cmFuc2xhdGUiLCJjb250ZXh0SWQiLCJzZWxlY3Rpb25zIiwiaW52YWxpZGF0ZWQiLCJ0YXJnZXRCaWJsZSIsImJvb2tEZXRhaWxzIiwibmV3U2VsZWN0aW9ucyIsImFsaWduZWRHTFRleHQiLCJoYW5kbGVDb21tZW50IiwidG9vbHNTZXR0aW5ncyIsImlzVmVyc2VDaGFuZ2VkIiwibm90aGluZ1RvU2VsZWN0Iiwib3BlbkFsZXJ0RGlhbG9nIiwiaGFuZGxlRWRpdFZlcnNlIiwic2V0VG9vbFNldHRpbmdzIiwibWF4aW11bVNlbGVjdGlvbnMiLCJoYW5kbGVUYWdzQ2hlY2tib3giLCJ2YWxpZGF0ZVNlbGVjdGlvbnMiLCJ0YXJnZXRMYW5ndWFnZUZvbnQiLCJ1bmZpbHRlcmVkVmVyc2VUZXh0IiwiY2hlY2tJZlZlcnNlQ2hhbmdlZCIsImNoZWNrSWZDb21tZW50Q2hhbmdlZCIsInRhcmdldExhbmd1YWdlRGV0YWlscyIsImNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGUiLCJtb2RlQXJlYSIsImRpcmVjdGlvbiIsInRhcmdldExhbmd1YWdlRGlyZWN0aW9uIiwiZm9udFNpemUiLCJXZWJraXRVc2VyU2VsZWN0IiwiZGlzcGxheSIsImZsZXgiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJvdmVyZmxvdyIsImhlaWdodCIsInJlZmVyZW5jZSIsInZlcnNlU3BhbiIsInZlcnNlIiwiYm9yZGVyTGVmdCIsIm92ZXJmbG93WSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5IiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImZ1bmMiLCJib29sIiwib2JqZWN0IiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNB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VUFkWDtBQWVwQnBDLEVBQUFBLGFBQWEsRUFBRWtDLHNCQUFVRyxNQUFWLENBQWlCRCxVQWZaO0FBZ0JwQmhDLEVBQUFBLGVBQWUsRUFBRThCLHNCQUFVSyxJQUFWLENBQWVILFVBaEJaO0FBaUJwQjlCLEVBQUFBLGVBQWUsRUFBRTRCLHNCQUFVSSxJQUFWLENBQWVGLFVBakJaO0FBa0JwQi9CLEVBQUFBLGVBQWUsRUFBRTZCLHNCQUFVSSxJQUFWLENBQWVGLFVBbEJaO0FBbUJwQmxDLEVBQUFBLGFBQWEsRUFBRWdDLHNCQUFVTSxNQUFWLENBQWlCSixVQW5CWjtBQW9CcEI3QixFQUFBQSxlQUFlLEVBQUUyQixzQkFBVUksSUFBVixDQUFlRixVQXBCWjtBQXFCcEIxQixFQUFBQSxrQkFBa0IsRUFBRXdCLHNCQUFVSSxJQUFWLENBQWVGLFVBckJmO0FBc0JwQjNCLEVBQUFBLGtCQUFrQixFQUFFeUIsc0JBQVVJLElBQVYsQ0FBZUYsVUF0QmY7QUF1QnBCdkIsRUFBQUEsbUJBQW1CLEVBQUVxQixzQkFBVUksSUFBVixDQUFlRixVQXZCaEI7QUF3QnBCNUIsRUFBQUEsaUJBQWlCLEVBQUUwQixzQkFBVU8sTUFBVixDQUFpQkwsVUF4QmhCO0FBeUJwQnhCLEVBQUFBLG1CQUFtQixFQUFFc0Isc0JBQVVHLE1BQVYsQ0FBaUJELFVBekJsQjtBQTBCcEJ0QixFQUFBQSxxQkFBcUIsRUFBRW9CLHNCQUFVSSxJQUFWLENBQWVGLFVBMUJsQjtBQTJCcEJyQixFQUFBQSxxQkFBcUIsRUFBRW1CLHNCQUFVTSxNQUFWLENBQWlCSixVQTNCcEI7QUE0QnBCcEIsRUFBQUEsNEJBQTRCLEVBQUVrQixzQkFBVUksSUFBVixDQUFlRjtBQTVCekIsQ0FBdEI7ZUErQmVoRCxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG4vLyBjb21wb25lbnRzXG5pbXBvcnQgRGVmYXVsdEFyZWEgZnJvbSAnLi4vRGVmYXVsdEFyZWEnO1xuaW1wb3J0IFNlbGVjdGlvbkFyZWEgZnJvbSAnLi4vU2VsZWN0aW9uQXJlYSc7XG5pbXBvcnQgSW5zdHJ1Y3Rpb25zQXJlYSBmcm9tICcuLi9JbnN0cnVjdGlvbnNBcmVhJztcbmltcG9ydCBFZGl0VmVyc2VBcmVhIGZyb20gJy4uL0VkaXRWZXJzZUFyZWEnO1xuaW1wb3J0IENvbW1lbnRBcmVhIGZyb20gJy4uL0NvbW1lbnRBcmVhJztcbmltcG9ydCAnLi9DaGVja0FyZWEuc3R5bGVzLmNzcyc7XG5cbmNvbnN0IENoZWNrQXJlYSA9ICh7XG4gIG1vZGUsXG4gIHRhZ3MsXG4gIGNvbW1lbnQsXG4gIHZlcnNlVGV4dCxcbiAgdHJhbnNsYXRlLFxuICBjb250ZXh0SWQsXG4gIHNlbGVjdGlvbnMsXG4gIGludmFsaWRhdGVkLFxuICB0YXJnZXRCaWJsZSxcbiAgYm9va0RldGFpbHMsXG4gIG5ld1NlbGVjdGlvbnMsXG4gIGFsaWduZWRHTFRleHQsXG4gIGhhbmRsZUNvbW1lbnQsXG4gIHRvb2xzU2V0dGluZ3MsXG4gIGlzVmVyc2VDaGFuZ2VkLFxuICBub3RoaW5nVG9TZWxlY3QsXG4gIG9wZW5BbGVydERpYWxvZyxcbiAgaGFuZGxlRWRpdFZlcnNlLFxuICBzZXRUb29sU2V0dGluZ3MsXG4gIG1heGltdW1TZWxlY3Rpb25zLFxuICBoYW5kbGVUYWdzQ2hlY2tib3gsXG4gIHZhbGlkYXRlU2VsZWN0aW9ucyxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250LFxuICB1bmZpbHRlcmVkVmVyc2VUZXh0LFxuICBjaGVja0lmVmVyc2VDaGFuZ2VkLFxuICBjaGVja0lmQ29tbWVudENoYW5nZWQsXG4gIHRhcmdldExhbmd1YWdlRGV0YWlscyxcbiAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZSxcbn0pID0+IHtcbiAgbGV0IG1vZGVBcmVhO1xuICBjb25zdCB7IGRpcmVjdGlvbjogdGFyZ2V0TGFuZ3VhZ2VEaXJlY3Rpb24gPSAnbHRyJyB9ID0gdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzIHx8IHt9O1xuXG4gIHN3aXRjaCAobW9kZSkge1xuICBjYXNlICdlZGl0JzpcbiAgICB2YXIgZm9udFNpemUgPSAodG9vbHNTZXR0aW5nc1snQ2hlY2tBcmVhJ10gJiYgdG9vbHNTZXR0aW5nc1snQ2hlY2tBcmVhJ10uZm9udFNpemUpIHx8IDEwMDtcblxuICAgIG1vZGVBcmVhID0gKFxuICAgICAgPEVkaXRWZXJzZUFyZWFcbiAgICAgICAgdGFncz17dGFnc31cbiAgICAgICAgdmVyc2VUZXh0PXt1bmZpbHRlcmVkVmVyc2VUZXh0fVxuICAgICAgICBpc1ZlcnNlQ2hhbmdlZD17aXNWZXJzZUNoYW5nZWR9XG4gICAgICAgIGhhbmRsZVRhZ3NDaGVja2JveD17aGFuZGxlVGFnc0NoZWNrYm94fVxuICAgICAgICBoYW5kbGVFZGl0VmVyc2U9e2hhbmRsZUVkaXRWZXJzZX1cbiAgICAgICAgY2hlY2tJZlZlcnNlQ2hhbmdlZD17Y2hlY2tJZlZlcnNlQ2hhbmdlZH1cbiAgICAgICAgbGFuZ3VhZ2VEaXJlY3Rpb249e3RhcmdldExhbmd1YWdlRGlyZWN0aW9ufVxuICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250PXt0YXJnZXRMYW5ndWFnZUZvbnR9XG4gICAgICAgIHRhcmdldExhbmd1YWdlRm9udFNpemU9e2Ake2ZvbnRTaXplfSVgfVxuICAgICAgLz5cbiAgICApO1xuICAgIGJyZWFrO1xuICBjYXNlICdjb21tZW50JzpcbiAgICBtb2RlQXJlYSA9IChcbiAgICAgIDxDb21tZW50QXJlYVxuICAgICAgICBjb21tZW50PXtjb21tZW50fVxuICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgaGFuZGxlQ29tbWVudD17aGFuZGxlQ29tbWVudH1cbiAgICAgICAgY2hlY2tJZkNvbW1lbnRDaGFuZ2VkPXtjaGVja0lmQ29tbWVudENoYW5nZWR9XG4gICAgICAvPlxuICAgICk7XG4gICAgYnJlYWs7XG4gIGNhc2UgJ3NlbGVjdCc6XG4gICAgbW9kZUFyZWEgPSAoXG4gICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgIFdlYmtpdFVzZXJTZWxlY3Q6ICdub25lJywgZGlzcGxheTogJ2ZsZXgnLCBmbGV4OiAnMScsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgYWxpZ25JdGVtczogJ2NlbnRlcicsIG92ZXJmbG93OiAnYXV0bycsXG4gICAgICB9fT5cbiAgICAgICAgPEluc3RydWN0aW9uc0FyZWFcbiAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICBzZWxlY3Rpb25zPXtzZWxlY3Rpb25zfVxuICAgICAgICAgIGFsaWduZWRHTFRleHQ9e2FsaWduZWRHTFRleHR9XG4gICAgICAgICAgbW9kZT17bW9kZX1cbiAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICBpbnZhbGlkYXRlZD17aW52YWxpZGF0ZWR9XG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250PXt0YXJnZXRMYW5ndWFnZUZvbnR9XG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VEaXJlY3Rpb249e3RhcmdldExhbmd1YWdlRGlyZWN0aW9ufVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+KTtcbiAgICBicmVhaztcbiAgY2FzZSAnZGVmYXVsdCc6XG4gIGRlZmF1bHQ6XG4gICAgbW9kZUFyZWEgPSAoXG4gICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgIFdlYmtpdFVzZXJTZWxlY3Q6ICdub25lJywgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIH19PlxuICAgICAgICA8SW5zdHJ1Y3Rpb25zQXJlYVxuICAgICAgICAgIGRvbnRTaG93VHJhbnNsYXRpb249e3RydWV9XG4gICAgICAgICAgdmVyc2VUZXh0PXt2ZXJzZVRleHR9XG4gICAgICAgICAgc2VsZWN0aW9ucz17c2VsZWN0aW9uc31cbiAgICAgICAgICBhbGlnbmVkR0xUZXh0PXthbGlnbmVkR0xUZXh0fVxuICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgIGludmFsaWRhdGVkPXtpbnZhbGlkYXRlZH1cbiAgICAgICAgICBub3RoaW5nVG9TZWxlY3Q9e25vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZUZvbnQ9e3RhcmdldExhbmd1YWdlRm9udH1cbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZURpcmVjdGlvbj17dGFyZ2V0TGFuZ3VhZ2VEaXJlY3Rpb259XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgbGV0IHJlZmVyZW5jZSA9IGNvbnRleHRJZC5yZWZlcmVuY2U7XG5cbiAgaWYgKGNvbnRleHRJZC52ZXJzZVNwYW4pIHsgLy8gaWYgYXJlIGluIGEgdmVyc2Ugc3BhbiwgdXNlIGl0XG4gICAgcmVmZXJlbmNlID0ge1xuICAgICAgLi4uY29udGV4dElkLnJlZmVyZW5jZSxcbiAgICAgIHZlcnNlOiBjb250ZXh0SWQudmVyc2VTcGFuLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdjaGVjay1hcmVhJz5cbiAgICAgIHttb2RlID09PSAnc2VsZWN0JyA/XG4gICAgICAgIDxTZWxlY3Rpb25BcmVhXG4gICAgICAgICAgbW9kZT17bW9kZX1cbiAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICBib29rRGV0YWlscz17Ym9va0RldGFpbHN9XG4gICAgICAgICAgdGFyZ2V0QmlibGU9e3RhcmdldEJpYmxlfVxuICAgICAgICAgIHNlbGVjdGlvbnM9e25ld1NlbGVjdGlvbnN9XG4gICAgICAgICAgdG9vbHNTZXR0aW5ncz17dG9vbHNTZXR0aW5nc31cbiAgICAgICAgICByZWZlcmVuY2U9e3JlZmVyZW5jZX1cbiAgICAgICAgICBzZXRUb29sU2V0dGluZ3M9e3NldFRvb2xTZXR0aW5nc31cbiAgICAgICAgICBvcGVuQWxlcnREaWFsb2c9e29wZW5BbGVydERpYWxvZ31cbiAgICAgICAgICBtYXhpbXVtU2VsZWN0aW9ucz17bWF4aW11bVNlbGVjdGlvbnN9XG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250PXt0YXJnZXRMYW5ndWFnZUZvbnR9XG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzPXt0YXJnZXRMYW5ndWFnZURldGFpbHN9XG4gICAgICAgICAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZT17Y2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZX1cbiAgICAgICAgLz5cbiAgICAgICAgOlxuICAgICAgICA8RGVmYXVsdEFyZWFcbiAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICBzZWxlY3Rpb25zPXtzZWxlY3Rpb25zfVxuICAgICAgICAgIHRhcmdldEJpYmxlPXt0YXJnZXRCaWJsZX1cbiAgICAgICAgICBib29rRGV0YWlscz17Ym9va0RldGFpbHN9XG4gICAgICAgICAgdG9vbHNTZXR0aW5ncz17dG9vbHNTZXR0aW5nc31cbiAgICAgICAgICByZWZlcmVuY2U9e3JlZmVyZW5jZX1cbiAgICAgICAgICBzZXRUb29sU2V0dGluZ3M9e3NldFRvb2xTZXR0aW5nc31cbiAgICAgICAgICB2YWxpZGF0ZVNlbGVjdGlvbnM9e3ZhbGlkYXRlU2VsZWN0aW9uc31cbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZUZvbnQ9e3RhcmdldExhbmd1YWdlRm9udH1cbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZURldGFpbHM9e3RhcmdldExhbmd1YWdlRGV0YWlsc31cbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgYm9yZGVyTGVmdDogJzFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpJywgZmxleDogMSwgb3ZlcmZsb3dZOiAnYXV0bycsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgfX0+XG4gICAgICAgIHttb2RlQXJlYX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuQ2hlY2tBcmVhLnByb3BUeXBlcyA9IHtcbiAgdGFnczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0cmFuc2xhdGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGNvbW1lbnQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgaW52YWxpZGF0ZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHZlcnNlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjb250ZXh0SWQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgc2VsZWN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIGJvb2tEZXRhaWxzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGhhbmRsZUNvbW1lbnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHRhcmdldEJpYmxlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIG5ld1NlbGVjdGlvbnM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICBpc1ZlcnNlQ2hhbmdlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgYWxpZ25lZEdMVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBub3RoaW5nVG9TZWxlY3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUVkaXRWZXJzZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb3BlbkFsZXJ0RGlhbG9nOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB0b29sc1NldHRpbmdzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHNldFRvb2xTZXR0aW5nczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdmFsaWRhdGVTZWxlY3Rpb25zOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBoYW5kbGVUYWdzQ2hlY2tib3g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGNoZWNrSWZWZXJzZUNoYW5nZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG1heGltdW1TZWxlY3Rpb25zOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHVuZmlsdGVyZWRWZXJzZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZkNvbW1lbnRDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB0YXJnZXRMYW5ndWFnZURldGFpbHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENoZWNrQXJlYTtcbiJdfQ==