tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
207 lines (188 loc) • 21.4 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styles = require("@material-ui/core/styles");
var _reactBootstrap = require("react-bootstrap");
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
var _CheckBox = _interopRequireDefault(require("@material-ui/icons/CheckBox"));
var _CheckBoxOutlineBlank = _interopRequireDefault(require("@material-ui/icons/CheckBoxOutlineBlank"));
var _editHelpers = require("../../VerseEditor/helpers/editHelpers");
var _fontUtils = require("../../common/fontUtils");
require("./EditVerseArea.styles.css");
var styles = {
formControlLabelRoot: {
height: 30
},
formControlLabel: {
justifyContent: 'flex-start',
fontSize: 16,
color: 'var(--text-color-dark)'
},
checkBox: {
'&$checked': {
color: 'var(--accent-color-dark)'
}
},
checked: {}
};
var EditVerseArea = function EditVerseArea(_ref) {
var tags = _ref.tags,
isVerseChanged = _ref.isVerseChanged,
verseText = _ref.verseText,
languageDirection = _ref.languageDirection,
translate = _ref.translate,
classes = _ref.classes,
handleTagsCheckbox = _ref.handleTagsCheckbox,
handleEditVerse = _ref.handleEditVerse,
checkIfVerseChanged = _ref.checkIfVerseChanged,
targetLanguageFont = _ref.targetLanguageFont,
targetLanguageFontSize = _ref.targetLanguageFontSize;
var tagList1 = [['spelling', translate('spelling')], ['punctuation', translate('punctuation')], ['wordChoice', translate('word_choice')]];
var tagList2 = [['meaning', translate('meaning')], ['grammar', translate('grammar')], ['other', translate('other')]];
var checkboxesColumn1 = tagList1.map(function (tag) {
return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
key: tag[0],
disabled: !isVerseChanged,
classes: {
root: classes.formControlLabelRoot,
label: classes.formControlLabel
},
control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
classes: {
root: classes.checkBox,
checked: classes.checked
},
checked: tags.includes(tag[0]),
onChange: function onChange() {
return handleTagsCheckbox(tag[0]);
},
icon: /*#__PURE__*/_react["default"].createElement(_CheckBoxOutlineBlank["default"], {
style: {
fontSize: '24px'
}
}),
checkedIcon: /*#__PURE__*/_react["default"].createElement(_CheckBox["default"], {
style: {
fontSize: '24px'
}
})
}),
label: tag[1]
});
});
var checkboxesColumn2 = tagList2.map(function (tag) {
return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
key: tag[0],
disabled: !isVerseChanged,
classes: {
root: classes.formControlLabelRoot,
label: classes.formControlLabel
},
control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
classes: {
root: classes.checkBox,
checked: classes.checked
},
checked: tags.includes(tag[0]),
onChange: function onChange() {
return handleTagsCheckbox(tag[0]);
},
icon: /*#__PURE__*/_react["default"].createElement(_CheckBoxOutlineBlank["default"], {
style: {
fontSize: '24px'
}
}),
checkedIcon: /*#__PURE__*/_react["default"].createElement(_CheckBox["default"], {
style: {
fontSize: '24px'
}
})
}),
label: tag[1]
});
});
var checkBoxText = isVerseChanged ? translate('next_change_reason') : translate('first_make_change');
var fontClass = (0, _fontUtils.getFontClassName)(targetLanguageFont) || 'default-text'; // TRICKY defaulting to the 'default-text' class prevents 'form-control' class from resetting font-size to 14px
return /*#__PURE__*/_react["default"].createElement("div", {
className: "edit-area"
}, /*#__PURE__*/_react["default"].createElement("div", {
style: {
fontWeight: 'bold'
}
}, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Glyphicon, {
glyph: "pencil",
style: {
marginRight: '5px'
}
}), translate('edit_verse')), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.FormGroup, {
style: {
flex: 'auto',
display: 'flex',
flexDirection: 'column',
marginBottom: '5px'
},
controlId: "formControlsTextarea"
}, /*#__PURE__*/_react["default"].createElement("div", {
style: {
fontSize: targetLanguageFontSize
}
}, " ", /*#__PURE__*/_react["default"].createElement(_reactBootstrap.FormControl, {
autoFocus: true,
onFocus: _editHelpers.moveCursorToEnd,
componentClass: "textarea",
type: "text",
defaultValue: verseText,
className: fontClass,
style: {
flex: 'auto',
minHeight: '110px',
direction: languageDirection
},
onBlur: handleEditVerse,
onInput: checkIfVerseChanged
})), /*#__PURE__*/_react["default"].createElement("div", {
style: {
flex: '0 0 65px',
marginTop: '5px',
fontSize: '0.9em'
}
}, checkBoxText, /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
style: {
display: 'flex'
}
}, /*#__PURE__*/_react["default"].createElement("div", {
style: {
display: 'flex',
flexDirection: 'column',
margin: '0px 0px 0px 15px'
}
}, checkboxesColumn1), /*#__PURE__*/_react["default"].createElement("div", {
style: {
display: 'flex',
flexDirection: 'column',
margin: '0px 0px 0px 15px'
}
}, checkboxesColumn2)))));
};
EditVerseArea.propTypes = {
translate: _propTypes["default"].func.isRequired,
tags: _propTypes["default"].array.isRequired,
isVerseChanged: _propTypes["default"].bool.isRequired,
verseText: _propTypes["default"].string.isRequired,
languageDirection: _propTypes["default"].string.isRequired,
classes: _propTypes["default"].object.isRequired,
handleTagsCheckbox: _propTypes["default"].func.isRequired,
handleEditVerse: _propTypes["default"].func.isRequired,
checkIfVerseChanged: _propTypes["default"].func.isRequired,
targetLanguageFont: _propTypes["default"].string,
targetLanguageFontSize: _propTypes["default"].string.isRequired
};
var _default = (0, _styles.withStyles)(styles)(EditVerseArea);
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9WZXJzZUNoZWNrL0VkaXRWZXJzZUFyZWEvaW5kZXguanMiXSwibmFtZXMiOlsic3R5bGVzIiwiZm9ybUNvbnRyb2xMYWJlbFJvb3QiLCJoZWlnaHQiLCJmb3JtQ29udHJvbExhYmVsIiwianVzdGlmeUNvbnRlbnQiLCJmb250U2l6ZSIsImNvbG9yIiwiY2hlY2tCb3giLCJjaGVja2VkIiwiRWRpdFZlcnNlQXJlYSIsInRhZ3MiLCJpc1ZlcnNlQ2hhbmdlZCIsInZlcnNlVGV4dCIsImxhbmd1YWdlRGlyZWN0aW9uIiwidHJhbnNsYXRlIiwiY2xhc3NlcyIsImhhbmRsZVRhZ3NDaGVja2JveCIsImhhbmRsZUVkaXRWZXJzZSIsImNoZWNrSWZWZXJzZUNoYW5nZWQiLCJ0YXJnZXRMYW5ndWFnZUZvbnQiLCJ0YXJnZXRMYW5ndWFnZUZvbnRTaXplIiwidGFnTGlzdDEiLCJ0YWdMaXN0MiIsImNoZWNrYm94ZXNDb2x1bW4xIiwibWFwIiwidGFnIiwicm9vdCIsImxhYmVsIiwiaW5jbHVkZXMiLCJjaGVja2JveGVzQ29sdW1uMiIsImNoZWNrQm94VGV4dCIsImZvbnRDbGFzcyIsImZvbnRXZWlnaHQiLCJtYXJnaW5SaWdodCIsImZsZXgiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsIm1hcmdpbkJvdHRvbSIsIm1vdmVDdXJzb3JUb0VuZCIsIm1pbkhlaWdodCIsImRpcmVjdGlvbiIsIm1hcmdpblRvcCIsIm1hcmdpbiIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiYXJyYXkiLCJib29sIiwic3RyaW5nIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUc7QUFDYkMsRUFBQUEsb0JBQW9CLEVBQUU7QUFBRUMsSUFBQUEsTUFBTSxFQUFFO0FB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QXNCLEVBQUV3QixzQkFBVUssTUFBVixDQUFpQkg7QUFYakIsQ0FBMUI7O2VBY2Usd0JBQVc5QyxNQUFYLEVBQW1CUyxhQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7XG4gIEdseXBoaWNvbiwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCxcbn0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCBDaGVja2JveCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9DaGVja2JveCc7XG5pbXBvcnQgRm9ybUNvbnRyb2xMYWJlbCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9Gb3JtQ29udHJvbExhYmVsJztcbmltcG9ydCBDaGVja0JveEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0NoZWNrQm94JztcbmltcG9ydCBDaGVja0JveE91dGxpbmVJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DaGVja0JveE91dGxpbmVCbGFuayc7XG5pbXBvcnQgeyBtb3ZlQ3Vyc29yVG9FbmQgfSBmcm9tICcuLi8uLi9WZXJzZUVkaXRvci9oZWxwZXJzL2VkaXRIZWxwZXJzJztcbmltcG9ydCB7IGdldEZvbnRDbGFzc05hbWUgfSBmcm9tICcuLi8uLi9jb21tb24vZm9udFV0aWxzJztcblxuaW1wb3J0ICcuL0VkaXRWZXJzZUFyZWEuc3R5bGVzLmNzcyc7XG5cbmNvbnN0IHN0eWxlcyA9IHtcbiAgZm9ybUNvbnRyb2xMYWJlbFJvb3Q6IHsgaGVpZ2h0OiAzMCB9LFxuICBmb3JtQ29udHJvbExhYmVsOiB7XG4gICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICBmb250U2l6ZTogMTYsXG4gICAgY29sb3I6ICd2YXIoLS10ZXh0LWNvbG9yLWRhcmspJyxcbiAgfSxcbiAgY2hlY2tCb3g6IHsgJyYkY2hlY2tlZCc6IHsgY29sb3I6ICd2YXIoLS1hY2NlbnQtY29sb3ItZGFyayknIH0gfSxcbiAgY2hlY2tlZDp7fSxcbn07XG5cbmNvbnN0IEVkaXRWZXJzZUFyZWEgPSAoe1xuICB0YWdzLFxuICBpc1ZlcnNlQ2hhbmdlZCxcbiAgdmVyc2VUZXh0LFxuICBsYW5ndWFnZURpcmVjdGlvbixcbiAgdHJhbnNsYXRlLFxuICBjbGFzc2VzLFxuICBoYW5kbGVUYWdzQ2hlY2tib3gsXG4gIGhhbmRsZUVkaXRWZXJzZSxcbiAgY2hlY2tJZlZlcnNlQ2hhbmdlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250LFxuICB0YXJnZXRMYW5ndWFnZUZvbnRTaXplLFxufSkgPT4ge1xuICBjb25zdCB0YWdMaXN0MSA9IFtcbiAgICBbJ3NwZWxsaW5nJywgdHJhbnNsYXRlKCdzcGVsbGluZycpXSxcbiAgICBbJ3B1bmN0dWF0aW9uJywgdHJhbnNsYXRlKCdwdW5jdHVhdGlvbicpXSxcbiAgICBbJ3dvcmRDaG9pY2UnLCB0cmFuc2xhdGUoJ3dvcmRfY2hvaWNlJyldLFxuICBdO1xuXG4gIGNvbnN0IHRhZ0xpc3QyID0gW1xuICAgIFsnbWVhbmluZycsIHRyYW5zbGF0ZSgnbWVhbmluZycpXSxcbiAgICBbJ2dyYW1tYXInLCB0cmFuc2xhdGUoJ2dyYW1tYXInKV0sXG4gICAgWydvdGhlcicsIHRyYW5zbGF0ZSgnb3RoZXInKV0sXG4gIF07XG5cbiAgY29uc3QgY2hlY2tib3hlc0NvbHVtbjEgPSB0YWdMaXN0MS5tYXAodGFnID0+XG4gICAgPEZvcm1Db250cm9sTGFiZWxcbiAgICAgIGtleT17dGFnWzBdfVxuICAgICAgZGlzYWJsZWQ9eyFpc1ZlcnNlQ2hhbmdlZH1cbiAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgcm9vdDogY2xhc3Nlcy5mb3JtQ29udHJvbExhYmVsUm9vdCxcbiAgICAgICAgbGFiZWw6IGNsYXNzZXMuZm9ybUNvbnRyb2xMYWJlbCxcbiAgICAgIH19XG4gICAgICBjb250cm9sPXtcbiAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgcm9vdDogY2xhc3Nlcy5jaGVja0JveCxcbiAgICAgICAgICAgIGNoZWNrZWQ6Y2xhc3Nlcy5jaGVja2VkLFxuICAgICAgICAgIH19XG4gICAgICAgICAgY2hlY2tlZD17dGFncy5pbmNsdWRlcyh0YWdbMF0pfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBoYW5kbGVUYWdzQ2hlY2tib3godGFnWzBdKX1cbiAgICAgICAgICBpY29uPXs8Q2hlY2tCb3hPdXRsaW5lSWNvbiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnIH19IC8+fVxuICAgICAgICAgIGNoZWNrZWRJY29uPXs8Q2hlY2tCb3hJY29uIHN0eWxlPXt7IGZvbnRTaXplOiAnMjRweCcgfX0gLz59XG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgICBsYWJlbD17dGFnWzFdfVxuICAgIC8+LFxuICApO1xuXG4gIGNvbnN0IGNoZWNrYm94ZXNDb2x1bW4yID0gdGFnTGlzdDIubWFwKHRhZyA9PlxuICAgIDxGb3JtQ29udHJvbExhYmVsXG4gICAgICBrZXk9e3RhZ1swXX1cbiAgICAgIGRpc2FibGVkPXshaXNWZXJzZUNoYW5nZWR9XG4gICAgICBjbGFzc2VzPXt7XG4gICAgICAgIHJvb3Q6IGNsYXNzZXMuZm9ybUNvbnRyb2xMYWJlbFJvb3QsXG4gICAgICAgIGxhYmVsOiBjbGFzc2VzLmZvcm1Db250cm9sTGFiZWwsXG4gICAgICB9fVxuICAgICAgY29udHJvbD17XG4gICAgICAgIDxDaGVja2JveFxuICAgICAgICAgIGNsYXNzZXM9e3tcbiAgICAgICAgICAgIHJvb3Q6IGNsYXNzZXMuY2hlY2tCb3gsXG4gICAgICAgICAgICBjaGVja2VkOmNsYXNzZXMuY2hlY2tlZCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNoZWNrZWQ9e3RhZ3MuaW5jbHVkZXModGFnWzBdKX1cbiAgICAgICAgICBvbkNoYW5nZT17KCkgPT4gaGFuZGxlVGFnc0NoZWNrYm94KHRhZ1swXSl9XG4gICAgICAgICAgaWNvbj17PENoZWNrQm94T3V0bGluZUljb24gc3R5bGU9e3sgZm9udFNpemU6ICcyNHB4JyB9fSAvPn1cbiAgICAgICAgICBjaGVja2VkSWNvbj17PENoZWNrQm94SWNvbiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnIH19IC8+fVxuICAgICAgICAvPlxuICAgICAgfVxuICAgICAgbGFiZWw9e3RhZ1sxXX1cbiAgICAvPixcbiAgKTtcbiAgY29uc3QgY2hlY2tCb3hUZXh0ID0gaXNWZXJzZUNoYW5nZWQgPyB0cmFuc2xhdGUoJ25leHRfY2hhbmdlX3JlYXNvbicpIDogdHJhbnNsYXRlKCdmaXJzdF9tYWtlX2NoYW5nZScpO1xuICBjb25zdCBmb250Q2xhc3MgPSBnZXRGb250Q2xhc3NOYW1lKHRhcmdldExhbmd1YWdlRm9udCkgfHwgJ2RlZmF1bHQtdGV4dCc7IC8vIFRSSUNLWSBkZWZhdWx0aW5nIHRvIHRoZSAnZGVmYXVsdC10ZXh0JyBjbGFzcyBwcmV2ZW50cyAnZm9ybS1jb250cm9sJyBjbGFzcyBmcm9tIHJlc2V0dGluZyBmb250LXNpemUgdG8gMTRweFxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J2VkaXQtYXJlYSc+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJyB9fT5cbiAgICAgICAgPEdseXBoaWNvbiBnbHlwaD0ncGVuY2lsJyBzdHlsZT17eyBtYXJnaW5SaWdodDogJzVweCcgfX0gLz5cbiAgICAgICAge3RyYW5zbGF0ZSgnZWRpdF92ZXJzZScpfVxuICAgICAgPC9kaXY+XG4gICAgICA8Rm9ybUdyb3VwIHN0eWxlPXt7XG4gICAgICAgIGZsZXg6ICdhdXRvJywgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgbWFyZ2luQm90dG9tOiAnNXB4JyxcbiAgICAgIH19IGNvbnRyb2xJZD0nZm9ybUNvbnRyb2xzVGV4dGFyZWEnPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRTaXplOiB0YXJnZXRMYW5ndWFnZUZvbnRTaXplIH19PiB7LyphcHBseSBkZXNpcmVkIGZvbnQgc2l6ZSBtdWx0aXBsaWVyIGJlZm9yZSBmb250IGNsYXNzIHN0eWxpbmcqL31cbiAgICAgICAgICA8Rm9ybUNvbnRyb2xcbiAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgb25Gb2N1cz17bW92ZUN1cnNvclRvRW5kfVxuICAgICAgICAgICAgY29tcG9uZW50Q2xhc3M9J3RleHRhcmVhJ1xuICAgICAgICAgICAgdHlwZT0ndGV4dCdcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17dmVyc2VUZXh0fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtmb250Q2xhc3N9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAnYXV0bycsXG4gICAgICAgICAgICAgIG1pbkhlaWdodDogJzExMHB4JyxcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiBsYW5ndWFnZURpcmVjdGlvbixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUVkaXRWZXJzZX1cbiAgICAgICAgICAgIG9uSW5wdXQ9e2NoZWNrSWZWZXJzZUNoYW5nZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICBmbGV4OiAnMCAwIDY1cHgnLCBtYXJnaW5Ub3A6ICc1cHgnLCBmb250U2l6ZTogJzAuOWVtJyxcbiAgICAgICAgfX0+XG4gICAgICAgICAge2NoZWNrQm94VGV4dH1cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JyB9fT5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgbWFyZ2luOiAnMHB4IDBweCAwcHggMTVweCcsXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge2NoZWNrYm94ZXNDb2x1bW4xfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIG1hcmdpbjogJzBweCAwcHggMHB4IDE1cHgnLFxuICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIHtjaGVja2JveGVzQ29sdW1uMn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRm9ybUdyb3VwPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuRWRpdFZlcnNlQXJlYS5wcm9wVHlwZXMgPSB7XG4gIHRyYW5zbGF0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdGFnczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIGlzVmVyc2VDaGFuZ2VkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICB2ZXJzZVRleHQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgbGFuZ3VhZ2VEaXJlY3Rpb246IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBoYW5kbGVUYWdzQ2hlY2tib3g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhbmRsZUVkaXRWZXJzZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hlY2tJZlZlcnNlQ2hhbmdlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdGFyZ2V0TGFuZ3VhZ2VGb250OiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0YXJnZXRMYW5ndWFnZUZvbnRTaXplOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoRWRpdFZlcnNlQXJlYSk7XG4iXX0=