tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
272 lines (244 loc) • 33.8 kB
JavaScript
"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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _ActionsArea = _interopRequireDefault(require("./ActionsArea"));
var _CheckArea = _interopRequireDefault(require("./CheckArea"));
var _SaveArea = _interopRequireDefault(require("./SaveArea"));
var _DialogComponent = _interopRequireDefault(require("./DialogComponent"));
var _IconIndicators = _interopRequireDefault(require("./IconIndicators"));
require("./VerseCheck.styles.css");
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
var VerseCheck = /*#__PURE__*/function (_Component) {
(0, _inherits2["default"])(VerseCheck, _Component);
var _super = _createSuper(VerseCheck);
function VerseCheck() {
(0, _classCallCheck2["default"])(this, VerseCheck);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(VerseCheck, [{
key: "render",
value: function render() {
var _this$props = this.props,
translate = _this$props.translate,
alignedGLText = _this$props.alignedGLText,
verseText = _this$props.verseText,
unfilteredVerseText = _this$props.unfilteredVerseText,
mode = _this$props.mode,
dialogModalVisibility = _this$props.dialogModalVisibility,
isCommentChanged = _this$props.isCommentChanged,
tags = _this$props.tags,
isVerseChanged = _this$props.isVerseChanged,
saveSelection = _this$props.saveSelection,
cancelSelection = _this$props.cancelSelection,
clearSelection = _this$props.clearSelection,
handleSkip = _this$props.handleSkip,
toggleNothingToSelect = _this$props.toggleNothingToSelect,
localNothingToSelect = _this$props.localNothingToSelect,
maximumSelections = _this$props.maximumSelections,
selections = _this$props.selections,
newSelections = _this$props.newSelections,
nothingToSelect = _this$props.nothingToSelect,
isVerseEdited = _this$props.isVerseEdited,
commentText = _this$props.commentText,
bookmarkEnabled = _this$props.bookmarkEnabled,
isVerseInvalidated = _this$props.isVerseInvalidated,
contextId = _this$props.contextId,
targetBible = _this$props.targetBible,
toolsSettings = _this$props.toolsSettings,
handleCloseDialog = _this$props.handleCloseDialog,
handleGoToNext = _this$props.handleGoToNext,
handleGoToPrevious = _this$props.handleGoToPrevious,
handleOpenDialog = _this$props.handleOpenDialog,
openAlertDialog = _this$props.openAlertDialog,
changeSelectionsInLocalState = _this$props.changeSelectionsInLocalState,
toggleBookmark = _this$props.toggleBookmark,
changeMode = _this$props.changeMode,
cancelEditVerse = _this$props.cancelEditVerse,
saveEditVerse = _this$props.saveEditVerse,
handleComment = _this$props.handleComment,
cancelComment = _this$props.cancelComment,
saveComment = _this$props.saveComment,
bookDetails = _this$props.bookDetails,
setToolSettings = _this$props.setToolSettings,
targetLanguageDetails = _this$props.targetLanguageDetails,
handleTagsCheckbox = _this$props.handleTagsCheckbox,
handleEditVerse = _this$props.handleEditVerse,
checkIfVerseChanged = _this$props.checkIfVerseChanged,
checkIfCommentChanged = _this$props.checkIfCommentChanged,
validateSelections = _this$props.validateSelections,
manifest = _this$props.manifest;
var targetLanguageFont = manifest && manifest.projectFont || '';
var titleText;
var saveArea;
switch (mode) {
case 'edit':
titleText = translate('edit_verse');
saveArea = /*#__PURE__*/_react["default"].createElement("div", null);
break;
case 'comment':
titleText = translate('comment');
saveArea = /*#__PURE__*/_react["default"].createElement("div", null);
break;
case 'select':
titleText = translate('select');
saveArea = /*#__PURE__*/_react["default"].createElement("div", null);
break;
default:
titleText = translate('step2_check');
saveArea = /*#__PURE__*/_react["default"].createElement(_SaveArea["default"], {
translate: translate,
selections: selections,
nothingToSelect: nothingToSelect,
handleGoToNext: handleGoToNext,
handleGoToPrevious: handleGoToPrevious,
handleOpenDialog: handleOpenDialog
});
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: "verse-check"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "verse-check-flex"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "verse-check-card"
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "title-bar"
}, /*#__PURE__*/_react["default"].createElement("span", null, titleText), /*#__PURE__*/_react["default"].createElement(_IconIndicators["default"], {
isVerseEdited: isVerseEdited,
selections: selections,
comment: commentText,
bookmarkEnabled: bookmarkEnabled,
translate: translate,
nothingToSelect: nothingToSelect,
invalidated: isVerseInvalidated
})), /*#__PURE__*/_react["default"].createElement(_CheckArea["default"], {
mode: mode,
tags: tags,
verseText: verseText,
comment: commentText,
translate: translate,
contextId: contextId,
selections: selections,
bookDetails: bookDetails,
targetBible: targetBible,
toolsSettings: toolsSettings,
newSelections: newSelections,
alignedGLText: alignedGLText,
handleComment: handleComment,
isVerseChanged: isVerseChanged,
invalidated: isVerseInvalidated,
setToolSettings: setToolSettings,
nothingToSelect: nothingToSelect,
openAlertDialog: openAlertDialog,
handleEditVerse: handleEditVerse,
maximumSelections: maximumSelections,
handleTagsCheckbox: handleTagsCheckbox,
validateSelections: validateSelections,
targetLanguageFont: targetLanguageFont,
unfilteredVerseText: unfilteredVerseText,
checkIfVerseChanged: checkIfVerseChanged,
targetLanguageDetails: targetLanguageDetails,
checkIfCommentChanged: checkIfCommentChanged,
changeSelectionsInLocalState: changeSelectionsInLocalState
}), /*#__PURE__*/_react["default"].createElement(_ActionsArea["default"], {
mode: mode,
tags: tags,
toggleNothingToSelect: toggleNothingToSelect,
localNothingToSelect: localNothingToSelect,
nothingToSelect: nothingToSelect,
isCommentChanged: isCommentChanged,
selections: selections,
newSelections: newSelections,
translate: translate,
bookmarkEnabled: bookmarkEnabled,
saveSelection: saveSelection,
cancelSelection: cancelSelection,
clearSelection: clearSelection,
toggleBookmark: toggleBookmark,
changeMode: changeMode,
cancelEditVerse: cancelEditVerse,
saveEditVerse: saveEditVerse,
cancelComment: cancelComment,
saveComment: saveComment
})), saveArea), /*#__PURE__*/_react["default"].createElement(_DialogComponent["default"], {
handleSkip: handleSkip,
dialogModalVisibility: dialogModalVisibility,
handleClose: handleCloseDialog,
translate: translate
}));
}
}]);
return VerseCheck;
}(_react.Component);
VerseCheck.propTypes = {
tags: _propTypes["default"].array.isRequired,
mode: _propTypes["default"].string.isRequired,
translate: _propTypes["default"].func.isRequired,
changeMode: _propTypes["default"].func.isRequired,
selections: _propTypes["default"].array.isRequired,
contextId: _propTypes["default"].object.isRequired,
verseText: _propTypes["default"].string.isRequired,
isVerseEdited: _propTypes["default"].bool.isRequired,
commentText: _propTypes["default"].string.isRequired,
targetBible: _propTypes["default"].object.isRequired,
bookDetails: _propTypes["default"].object.isRequired,
newSelections: _propTypes["default"].array.isRequired,
isVerseChanged: _propTypes["default"].bool.isRequired,
handleGoToNext: _propTypes["default"].func.isRequired,
nothingToSelect: _propTypes["default"].bool.isRequired,
bookmarkEnabled: _propTypes["default"].bool.isRequired,
toolsSettings: _propTypes["default"].object.isRequired,
alignedGLText: _propTypes["default"].string.isRequired,
isCommentChanged: _propTypes["default"].bool.isRequired,
isVerseInvalidated: _propTypes["default"].bool.isRequired,
targetLanguageDetails: _propTypes["default"].object.isRequired,
unfilteredVerseText: _propTypes["default"].string.isRequired,
dialogModalVisibility: _propTypes["default"].bool.isRequired,
localNothingToSelect: _propTypes["default"].bool.isRequired,
maximumSelections: _propTypes["default"].number.isRequired,
handleCloseDialog: _propTypes["default"].func.isRequired,
handleGoToPrevious: _propTypes["default"].func.isRequired,
handleOpenDialog: _propTypes["default"].func.isRequired,
openAlertDialog: _propTypes["default"].func.isRequired,
toggleBookmark: _propTypes["default"].func.isRequired,
cancelEditVerse: _propTypes["default"].func.isRequired,
saveEditVerse: _propTypes["default"].func.isRequired,
handleComment: _propTypes["default"].func.isRequired,
cancelComment: _propTypes["default"].func.isRequired,
saveComment: _propTypes["default"].func.isRequired,
toggleNothingToSelect: _propTypes["default"].func.isRequired,
saveSelection: _propTypes["default"].func.isRequired,
cancelSelection: _propTypes["default"].func.isRequired,
clearSelection: _propTypes["default"].func.isRequired,
handleSkip: _propTypes["default"].func.isRequired,
setToolSettings: _propTypes["default"].func.isRequired,
handleEditVerse: _propTypes["default"].func.isRequired,
checkIfVerseChanged: _propTypes["default"].func.isRequired,
checkIfCommentChanged: _propTypes["default"].func.isRequired,
validateSelections: _propTypes["default"].func.isRequired,
handleTagsCheckbox: _propTypes["default"].func.isRequired,
changeSelectionsInLocalState: _propTypes["default"].func.isRequired,
manifest: _propTypes["default"].object
};
VerseCheck.defaultProps = {
translate: function translate(key) {
return key;
},
verseText: '',
unfilteredVerseText: '',
commentText: ''
};
var _default = VerseCheck;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WZXJzZUNoZWNrL1ZlcnNlQ2hlY2suanMiXSwibmFtZXMiOlsiVmVyc2VDaGVjayIsInByb3BzIiwidHJhbnNsYXRlIiwiYWxpZ25lZEdMVGV4dCIsInZlcnNlVGV4dCIsInVuZmlsdGVyZWRWZXJzZVRleHQiLCJtb2RlIiwiZGlhbG9nTW9kYWxWaXNpYmlsaXR5IiwiaXNDb21tZW50Q2hhbmdlZCIsInRhZ3MiLCJpc1ZlcnNlQ2hhbmdlZCIsInNhdmVTZWxlY3Rpb24iLCJjYW5jZWxTZWxlY3Rpb24iLCJjbGVhclNlbGVjdGlvbiIsImhhbmRsZVNraXAiLCJ0b2dnbGVOb3RoaW5nVG9TZWxlY3QiLCJsb2NhbE5vdGhpbmdUb1NlbGVjdCIsIm1heGltdW1TZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm5ld1NlbGVjdGlvbnMiLCJub3RoaW5nVG9TZWxlY3QiLCJpc1ZlcnNlRWRpdGVkIiwiY29tbWVudFRleHQiLCJib29rbWFya0VuYWJsZWQiLCJpc1ZlcnNlSW52YWxpZGF0ZWQiLCJjb250ZXh0SWQiLCJ0YXJnZXRCaWJsZSIsInRvb2xzU2V0dGluZ3MiLCJoYW5kbGVDbG9zZURpYWxvZyIsImhhbmRsZUdvVG9OZXh0IiwiaGFuZGxlR29Ub1ByZXZpb3VzIiwiaGFuZGxlT3BlbkRpYWxvZyIsIm9wZW5BbGVydERpYWxvZyIsImNoYW5nZVNlbGVjdGlvbnNJbkxvY2FsU3RhdGUiLCJ0b2dnbGVCb29rbWFyayIsImNoYW5nZU1vZGUiLCJjYW5jZWxFZGl0VmVyc2UiLCJzYXZlRWRpdFZlcnNlIiwiaGFuZGxlQ29tbWVudCIsImNhbmNlbENvbW1lbnQiLCJzYXZlQ29tbWVudCIsImJvb2tEZXRhaWxzIiwic2V0VG9vbFNldHRpbmdzIiwidGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzIiwiaGFuZGxlVGFnc0NoZWNrYm94IiwiaGFuZGxlRWRpdFZlcnNlIiwiY2hlY2tJZlZlcnNlQ2hhbmdlZCIsImNoZWNrSWZDb21tZW50Q2hhbmdlZCIsInZhbGlkYXRlU2VsZWN0aW9ucyIsIm1hbmlmZXN0IiwidGFyZ2V0TGFuZ3VhZ2VGb250IiwicHJvamVjdEZvbnQiLCJ0aXRsZVRleHQiLCJzYXZlQXJlYSIsIkNvbXBvbmVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImFycmF5IiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImZ1bmMiLCJvYmplY3QiLCJib29sIiwibnVtYmVyIiwiZGVmYXVsdFByb3BzIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7O0lBRU1BLFU7Ozs7Ozs7Ozs7Ozs2QkFDSztBQUFBLHdCQWtESCxLQUFLQyxLQWxERjtBQUFBLFVBRUxDLFNBRkssZUFFTEEsU0FGSztBQUFBLFVBR0xDLGFBSEssZUFHTEEsYUFISztBQUFBLFVBSUxDLFNBSkssZUFJTEEsU0FKSztBQUFBLFVBS0xDLG1CQUxLLGVBS0xBLG1CQUxLO0FBQUEsVUFNTEMsSUFOSyxlQU1MQSxJQU5LO0FBQUEsVUFPTEMscUJBUEssZUFPTEEscUJBUEs7QUFBQSxVQVFMQyxnQkFSSyxlQVFMQSxnQkFSSztBQUFBLFVBU0xDLElBVEssZUFTTEEsSUFUSztBQUFBLFVBVUxDLGNBVkssZUFVTEEsY0FWSztBQUFBLFVBV0xDLGFBWEssZUFXTEEsYUFYSztBQUFBLFVBWUxDLGVBWkssZUFZTEEsZUFaSztBQUFBLFVBYUxDLGNBYkssZUFhTEEsY0FiSztBQUFBLFVBY0xDLFVBZEssZUFjTEEsVUFkSztBQUFBLFVBZUxDLHFCQWZLLGVBZUxBLHFCQWZLO0FBQUEsVUFnQkxDLG9CQWhCSyxlQWdCTEEsb0JBaEJLO0FBQUEsVUFpQkxDLGlCQWpCSyxlQWlCTEEsaUJBakJLO0FBQUEsVUFrQkxDLFVBbEJLLGVBa0JMQSxVQWxCSztBQUFBLFVBbUJMQyxhQW5CSyxlQW1CTEEsYUFuQks7QUFBQSxVQW9CTEMsZUFwQkssZUFvQkxBLGVBcEJLO0FBQUEsVUFxQkxDLGFBckJL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QSxhQUFhLEVBQUU2QyxzQkFBVUksSUFBVixDQUFlRixVQXJDVDtBQXNDckI5QyxFQUFBQSxlQUFlLEVBQUU0QyxzQkFBVUksSUFBVixDQUFlRixVQXRDWDtBQXVDckI3QyxFQUFBQSxjQUFjLEVBQUUyQyxzQkFBVUksSUFBVixDQUFlRixVQXZDVjtBQXdDckI1QyxFQUFBQSxVQUFVLEVBQUUwQyxzQkFBVUksSUFBVixDQUFlRixVQXhDTjtBQXlDckJoQixFQUFBQSxlQUFlLEVBQUVjLHNCQUFVSSxJQUFWLENBQWVGLFVBekNYO0FBMENyQmIsRUFBQUEsZUFBZSxFQUFFVyxzQkFBVUksSUFBVixDQUFlRixVQTFDWDtBQTJDckJaLEVBQUFBLG1CQUFtQixFQUFFVSxzQkFBVUksSUFBVixDQUFlRixVQTNDZjtBQTRDckJYLEVBQUFBLHFCQUFxQixFQUFFUyxzQkFBVUksSUFBVixDQUFlRixVQTVDakI7QUE2Q3JCVixFQUFBQSxrQkFBa0IsRUFBRVEsc0JBQVVJLElBQVYsQ0FBZUYsVUE3Q2Q7QUE4Q3JCZCxFQUFBQSxrQkFBa0IsRUFBRVksc0JBQVVJLElBQVYsQ0FBZUYsVUE5Q2Q7QUErQ3JCekIsRUFBQUEsNEJBQTRCLEVBQUV1QixzQkFBVUksSUFBVixDQUFlRixVQS9DeEI7QUFnRHJCVCxFQUFBQSxRQUFRLEVBQUVPLHNCQUFVSztBQWhEQyxDQUF2QjtBQW1EQTdELFVBQVUsQ0FBQ2dFLFlBQVgsR0FBMEI7QUFDeEI5RCxFQUFBQSxTQUFTLEVBQUUsbUJBQUErRCxHQUFHO0FBQUEsV0FBSUEsR0FBSjtBQUFBLEdBRFU7QUFFeEI3RCxFQUFBQSxTQUFTLEVBQUUsRUFGYTtBQUd4QkMsRUFBQUEsbUJBQW1CLEVBQUUsRUFIRztBQUl4QmlCLEVBQUFBLFdBQVcsRUFBRTtBQUpXLENBQTFCO2VBT2V0QixVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW5kZW50ICovXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBBY3Rpb25zQXJlYSBmcm9tICcuL0FjdGlvbnNBcmVhJztcbmltcG9ydCBDaGVja0FyZWEgZnJvbSAnLi9DaGVja0FyZWEnO1xuaW1wb3J0IFNhdmVBcmVhIGZyb20gJy4vU2F2ZUFyZWEnO1xuaW1wb3J0IERpYWxvZ0NvbXBvbmVudCBmcm9tICcuL0RpYWxvZ0NvbXBvbmVudCc7XG5pbXBvcnQgSWNvbkluZGljYXRvcnMgZnJvbSAnLi9JY29uSW5kaWNhdG9ycyc7XG5cbmltcG9ydCAnLi9WZXJzZUNoZWNrLnN0eWxlcy5jc3MnO1xuXG5jbGFzcyBWZXJzZUNoZWNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHRyYW5zbGF0ZSxcbiAgICAgIGFsaWduZWRHTFRleHQsXG4gICAgICB2ZXJzZVRleHQsXG4gICAgICB1bmZpbHRlcmVkVmVyc2VUZXh0LFxuICAgICAgbW9kZSxcbiAgICAgIGRpYWxvZ01vZGFsVmlzaWJpbGl0eSxcbiAgICAgIGlzQ29tbWVudENoYW5nZWQsXG4gICAgICB0YWdzLFxuICAgICAgaXNWZXJzZUNoYW5nZWQsXG4gICAgICBzYXZlU2VsZWN0aW9uLFxuICAgICAgY2FuY2VsU2VsZWN0aW9uLFxuICAgICAgY2xlYXJTZWxlY3Rpb24sXG4gICAgICBoYW5kbGVTa2lwLFxuICAgICAgdG9nZ2xlTm90aGluZ1RvU2VsZWN0LFxuICAgICAgbG9jYWxOb3RoaW5nVG9TZWxlY3QsXG4gICAgICBtYXhpbXVtU2VsZWN0aW9ucyxcbiAgICAgIHNlbGVjdGlvbnMsXG4gICAgICBuZXdTZWxlY3Rpb25zLFxuICAgICAgbm90aGluZ1RvU2VsZWN0LFxuICAgICAgaXNWZXJzZUVkaXRlZCxcbiAgICAgIGNvbW1lbnRUZXh0LFxuICAgICAgYm9va21hcmtFbmFibGVkLFxuICAgICAgaXNWZXJzZUludmFsaWRhdGVkLFxuICAgICAgY29udGV4dElkLFxuICAgICAgdGFyZ2V0QmlibGUsXG4gICAgICB0b29sc1NldHRpbmdzLFxuICAgICAgaGFuZGxlQ2xvc2VEaWFsb2csXG4gICAgICBoYW5kbGVHb1RvTmV4dCxcbiAgICAgIGhhbmRsZUdvVG9QcmV2aW91cyxcbiAgICAgIGhhbmRsZU9wZW5EaWFsb2csXG4gICAgICBvcGVuQWxlcnREaWFsb2csXG4gICAgICBjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlLFxuICAgICAgdG9nZ2xlQm9va21hcmssXG4gICAgICBjaGFuZ2VNb2RlLFxuICAgICAgY2FuY2VsRWRpdFZlcnNlLFxuICAgICAgc2F2ZUVkaXRWZXJzZSxcbiAgICAgIGhhbmRsZUNvbW1lbnQsXG4gICAgICBjYW5jZWxDb21tZW50LFxuICAgICAgc2F2ZUNvbW1lbnQsXG4gICAgICBib29rRGV0YWlscyxcbiAgICAgIHNldFRvb2xTZXR0aW5ncyxcbiAgICAgIHRhcmdldExhbmd1YWdlRGV0YWlscyxcbiAgICAgIGhhbmRsZVRhZ3NDaGVja2JveCxcbiAgICAgIGhhbmRsZUVkaXRWZXJzZSxcbiAgICAgIGNoZWNrSWZWZXJzZUNoYW5nZWQsXG4gICAgICBjaGVja0lmQ29tbWVudENoYW5nZWQsXG4gICAgICB2YWxpZGF0ZVNlbGVjdGlvbnMsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB0YXJnZXRMYW5ndWFnZUZvbnQgPSBtYW5pZmVzdCAmJiBtYW5pZmVzdC5wcm9qZWN0Rm9udCB8fCAnJztcbiAgICBsZXQgdGl0bGVUZXh0O1xuICAgIGxldCBzYXZlQXJlYTtcblxuICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgY2FzZSAnZWRpdCc6XG4gICAgICAgIHRpdGxlVGV4dCA9IHRyYW5zbGF0ZSgnZWRpdF92ZXJzZScpO1xuICAgICAgICBzYXZlQXJlYSA9IDxkaXYgLz47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgIHRpdGxlVGV4dCA9IHRyYW5zbGF0ZSgnY29tbWVudCcpO1xuICAgICAgICBzYXZlQXJlYSA9IDxkaXYgLz47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgdGl0bGVUZXh0ID0gdHJhbnNsYXRlKCdzZWxlY3QnKTtcbiAgICAgICAgc2F2ZUFyZWEgPSA8ZGl2IC8+O1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRpdGxlVGV4dCA9IHRyYW5zbGF0ZSgnc3RlcDJfY2hlY2snKTtcbiAgICAgICAgc2F2ZUFyZWEgPSAoXG4gICAgICAgICAgPFNhdmVBcmVhXG4gICAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICAgIHNlbGVjdGlvbnM9e3NlbGVjdGlvbnN9XG4gICAgICAgICAgICBub3RoaW5nVG9TZWxlY3Q9e25vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICAgIGhhbmRsZUdvVG9OZXh0PXtoYW5kbGVHb1RvTmV4dH1cbiAgICAgICAgICAgIGhhbmRsZUdvVG9QcmV2aW91cz17aGFuZGxlR29Ub1ByZXZpb3VzfVxuICAgICAgICAgICAgaGFuZGxlT3BlbkRpYWxvZz17aGFuZGxlT3BlbkRpYWxvZ31cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT0ndmVyc2UtY2hlY2snPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ndmVyc2UtY2hlY2stZmxleCc+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3ZlcnNlLWNoZWNrLWNhcmQnPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RpdGxlLWJhcic+XG4gICAgICAgICAgICAgIDxzcGFuPnt0aXRsZVRleHR9PC9zcGFuPlxuICAgICAgICAgICAgICA8SWNvbkluZGljYXRvcnNcbiAgICAgICAgICAgICAgICBpc1ZlcnNlRWRpdGVkPXtpc1ZlcnNlRWRpdGVkfVxuICAgICAgICAgICAgICAgIHNlbGVjdGlvbnM9e3NlbGVjdGlvbnN9XG4gICAgICAgICAgICAgICAgY29tbWVudD17Y29tbWVudFRleHR9XG4gICAgICAgICAgICAgICAgYm9va21hcmtFbmFibGVkPXtib29rbWFya0VuYWJsZWR9XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICAgICAgbm90aGluZ1RvU2VsZWN0PXtub3RoaW5nVG9TZWxlY3R9XG4gICAgICAgICAgICAgICAgaW52YWxpZGF0ZWQ9e2lzVmVyc2VJbnZhbGlkYXRlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPENoZWNrQXJlYVxuICAgICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgICAgICB0YWdzPXt0YWdzfVxuICAgICAgICAgICAgICB2ZXJzZVRleHQ9e3ZlcnNlVGV4dH1cbiAgICAgICAgICAgICAgY29tbWVudD17Y29tbWVudFRleHR9XG4gICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICBjb250ZXh0SWQ9e2NvbnRleHRJZH1cbiAgICAgICAgICAgICAgc2VsZWN0aW9ucz17c2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgYm9va0RldGFpbHM9e2Jvb2tEZXRhaWxzfVxuICAgICAgICAgICAgICB0YXJnZXRCaWJsZT17dGFyZ2V0QmlibGV9XG4gICAgICAgICAgICAgIHRvb2xzU2V0dGluZ3M9e3Rvb2xzU2V0dGluZ3N9XG4gICAgICAgICAgICAgIG5ld1NlbGVjdGlvbnM9e25ld1NlbGVjdGlvbnN9XG4gICAgICAgICAgICAgIGFsaWduZWRHTFRleHQ9e2FsaWduZWRHTFRleHR9XG4gICAgICAgICAgICAgIGhhbmRsZUNvbW1lbnQ9e2hhbmRsZUNvbW1lbnR9XG4gICAgICAgICAgICAgIGlzVmVyc2VDaGFuZ2VkPXtpc1ZlcnNlQ2hhbmdlZH1cbiAgICAgICAgICAgICAgaW52YWxpZGF0ZWQ9e2lzVmVyc2VJbnZhbGlkYXRlZH1cbiAgICAgICAgICAgICAgc2V0VG9vbFNldHRpbmdzPXtzZXRUb29sU2V0dGluZ3N9XG4gICAgICAgICAgICAgIG5vdGhpbmdUb1NlbGVjdD17bm90aGluZ1RvU2VsZWN0fVxuICAgICAgICAgICAgICBvcGVuQWxlcnREaWFsb2c9e29wZW5BbGVydERpYWxvZ31cbiAgICAgICAgICAgICAgaGFuZGxlRWRpdFZlcnNlPXtoYW5kbGVFZGl0VmVyc2V9XG4gICAgICAgICAgICAgIG1heGltdW1TZWxlY3Rpb25zPXttYXhpbXVtU2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgaGFuZGxlVGFnc0NoZWNrYm94PXtoYW5kbGVUYWdzQ2hlY2tib3h9XG4gICAgICAgICAgICAgIHZhbGlkYXRlU2VsZWN0aW9ucz17dmFsaWRhdGVTZWxlY3Rpb25zfVxuICAgICAgICAgICAgICB0YXJnZXRMYW5ndWFnZUZvbnQ9e3RhcmdldExhbmd1YWdlRm9udH1cbiAgICAgICAgICAgICAgdW5maWx0ZXJlZFZlcnNlVGV4dD17dW5maWx0ZXJlZFZlcnNlVGV4dH1cbiAgICAgICAgICAgICAgY2hlY2tJZlZlcnNlQ2hhbmdlZD17Y2hlY2tJZlZlcnNlQ2hhbmdlZH1cbiAgICAgICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzPXt0YXJnZXRMYW5ndWFnZURldGFpbHN9XG4gICAgICAgICAgICAgIGNoZWNrSWZDb21tZW50Q2hhbmdlZD17Y2hlY2tJZkNvbW1lbnRDaGFuZ2VkfVxuICAgICAgICAgICAgICBjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlPXtjaGFuZ2VTZWxlY3Rpb25zSW5Mb2NhbFN0YXRlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxBY3Rpb25zQXJlYVxuICAgICAgICAgICAgICBtb2RlPXttb2RlfVxuICAgICAgICAgICAgICB0YWdzPXt0YWdzfVxuICAgICAgICAgICAgICB0b2dnbGVOb3RoaW5nVG9TZWxlY3Q9e3RvZ2dsZU5vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICAgICAgbG9jYWxOb3RoaW5nVG9TZWxlY3Q9e2xvY2FsTm90aGluZ1RvU2VsZWN0fVxuICAgICAgICAgICAgICBub3RoaW5nVG9TZWxlY3Q9e25vdGhpbmdUb1NlbGVjdH1cbiAgICAgICAgICAgICAgaXNDb21tZW50Q2hhbmdlZD17aXNDb21tZW50Q2hhbmdlZH1cbiAgICAgICAgICAgICAgc2VsZWN0aW9ucz17c2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgbmV3U2VsZWN0aW9ucz17bmV3U2VsZWN0aW9uc31cbiAgICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICAgIGJvb2ttYXJrRW5hYmxlZD17Ym9va21hcmtFbmFibGVkfVxuICAgICAgICAgICAgICBzYXZlU2VsZWN0aW9uPXtzYXZlU2VsZWN0aW9ufVxuICAgICAgICAgICAgICBjYW5jZWxTZWxlY3Rpb249e2NhbmNlbFNlbGVjdGlvbn1cbiAgICAgICAgICAgICAgY2xlYXJTZWxlY3Rpb249e2NsZWFyU2VsZWN0aW9ufVxuICAgICAgICAgICAgICB0b2dnbGVCb29rbWFyaz17dG9nZ2xlQm9va21hcmt9XG4gICAgICAgICAgICAgIGNoYW5nZU1vZGU9e2NoYW5nZU1vZGV9XG4gICAgICAgICAgICAgIGNhbmNlbEVkaXRWZXJzZT17Y2FuY2VsRWRpdFZlcnNlfVxuICAgICAgICAgICAgICBzYXZlRWRpdFZlcnNlPXtzYXZlRWRpdFZlcnNlfVxuICAgICAgICAgICAgICBjYW5jZWxDb21tZW50PXtjYW5jZWxDb21tZW50fVxuICAgICAgICAgICAgICBzYXZlQ29tbWVudD17c2F2ZUNvbW1lbnR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzYXZlQXJlYX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxEaWFsb2dDb21wb25lbnRcbiAgICAgICAgICBoYW5kbGVTa2lwPXtoYW5kbGVTa2lwfVxuICAgICAgICAgIGRpYWxvZ01vZGFsVmlzaWJpbGl0eT17ZGlhbG9nTW9kYWxWaXNpYmlsaXR5fVxuICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZURpYWxvZ31cbiAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuXG5WZXJzZUNoZWNrLnByb3BUeXBlcyA9IHtcbiAgdGFnczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgdHJhbnNsYXRlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjaGFuZ2VNb2RlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzZWxlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgY29udGV4dElkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHZlcnNlVGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBpc1ZlcnNlRWRpdGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBjb21tZW50VGV4dDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB0YXJnZXRCaWJsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBib29rRGV0YWlsczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBuZXdTZWxlY3Rpb25zOiBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgaXNWZXJzZUNoYW5nZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUdvVG9OZXh0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBub3RoaW5nVG9TZWxlY3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGJvb2ttYXJrRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgdG9vbHNTZXR0aW5nczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBhbGlnbmVkR0xUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlzQ29tbWVudENoYW5nZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGlzVmVyc2VJbnZhbGlkYXRlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VEZXRhaWxzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHVuZmlsdGVyZWRWZXJzZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgZGlhbG9nTW9kYWxWaXNpYmlsaXR5OiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBsb2NhbE5vdGhpbmdUb1NlbGVjdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgbWF4aW11bVNlbGVjdGlvbnM6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgaGFuZGxlQ2xvc2VEaWFsb2c6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUdvVG9QcmV2aW91czogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgaGFuZGxlT3BlbkRpYWxvZzogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb3BlbkFsZXJ0RGlhbG9nOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB0b2dnbGVCb29rbWFyazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2FuY2VsRWRpdFZlcnNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlRWRpdFZlcnNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBoYW5kbGVDb21tZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjYW5jZWxDb21tZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlQ29tbWVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdG9nZ2xlTm90aGluZ1RvU2VsZWN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzYXZlU2VsZWN0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjYW5jZWxTZWxlY3Rpb246IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGNsZWFyU2VsZWN0aW9uOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBoYW5kbGVTa2lwOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzZXRUb29sU2V0dGluZ3M6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUVkaXRWZXJzZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZlZlcnNlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZkNvbW1lbnRDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB2YWxpZGF0ZVNlbGVjdGlvbnM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZVRhZ3NDaGVja2JveDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hhbmdlU2VsZWN0aW9uc0luTG9jYWxTdGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgbWFuaWZlc3Q6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5WZXJzZUNoZWNrLmRlZmF1bHRQcm9wcyA9IHtcbiAgdHJhbnNsYXRlOiBrZXkgPT4ga2V5LFxuICB2ZXJzZVRleHQ6ICcnLFxuICB1bmZpbHRlcmVkVmVyc2VUZXh0OiAnJyxcbiAgY29tbWVudFRleHQ6ICcnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVmVyc2VDaGVjaztcbiJdfQ==