@pie-lib/editable-html-tip-tap 1.0.12 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
15
 
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
16
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
19
 
18
20
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -63,6 +65,8 @@ var _size = require("../utils/size");
63
65
 
64
66
  var _extensions = require("../extensions");
65
67
 
68
+ var _excluded = ["customPlugins"];
69
+
66
70
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
67
71
 
68
72
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -128,13 +132,18 @@ var EditableHtml = function EditableHtml(props) {
128
132
  var toolbarOptsToUse = _objectSpread(_objectSpread({}, defaultToolbarOpts), toolbarOpts);
129
133
 
130
134
  var activePluginsToUse = (0, _react.useMemo)(function () {
131
- var _props$responseAreaPr;
135
+ var _ref3, _props$responseAreaPr;
132
136
 
133
137
  var _ref2 = props.pluginProps || {},
134
- customPlugins = _ref2.customPlugins;
138
+ customPlugins = _ref2.customPlugins,
139
+ otherPluginProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
135
140
 
136
141
  customPlugins = customPlugins || [];
137
- return (0, _extensions.buildExtensions)(props.activePlugins, customPlugins, {
142
+ var filteredActivePlugins = (_ref3 = props.activePlugins || DEFAULT_ACTIVE_PLUGINS) === null || _ref3 === void 0 ? void 0 : _ref3.filter(function (pluginName) {
143
+ var pluginInfo = otherPluginProps[pluginName] || {};
144
+ return !pluginInfo || !pluginInfo.disabled;
145
+ });
146
+ return (0, _extensions.buildExtensions)(filteredActivePlugins, customPlugins, {
138
147
  math: {},
139
148
  textAlign: {},
140
149
  html: {},
@@ -153,7 +162,7 @@ var EditableHtml = function EditableHtml(props) {
153
162
  }, [props]);
154
163
  var extensions = [_extensionTextStyle.TextStyleKit, _extensionCharacterCount.CharacterCount.configure({
155
164
  limit: props.charactersLimit
156
- }), _starterKit["default"], _extendedTable["default"], _extensionTableRow.TableRow, _extensionTableHeader.TableHeader, _extensionTableCell.TableCell, _responseArea.ResponseAreaExtension, _responseArea.ExplicitConstructedResponseNode.configure(props.responseAreaProps), _responseArea.DragInTheBlankNode.configure(props.responseAreaProps), _responseArea.InlineDropdownNode.configure(props.responseAreaProps), _math.MathNode.configure({
165
+ }), _starterKit["default"], _extendedTable["default"], _extensionTableRow.TableRow, _extensionTableHeader.TableHeader, _extensionTableCell.TableCell, _responseArea.ResponseAreaExtension.configure(props.responseAreaProps), _responseArea.ExplicitConstructedResponseNode.configure(props.responseAreaProps), _responseArea.DragInTheBlankNode.configure(props.responseAreaProps), _responseArea.InlineDropdownNode.configure(props.responseAreaProps), _math.MathNode.configure({
157
166
  toolbarOpts: toolbarOptsToUse
158
167
  }), _extensionSubscript["default"], _extensionSuperscript["default"], _extensionTextAlign["default"].configure({
159
168
  types: ['heading', 'paragraph'],
@@ -245,15 +254,23 @@ var EditableHtml = function EditableHtml(props) {
245
254
  },
246
255
  editable: !props.disabled,
247
256
  content: props.markup,
248
- onUpdate: function onUpdate(_ref3) {
249
- var _props$onChange;
257
+ onUpdate: function onUpdate(_ref4) {
258
+ var _props$responseAreaPr2;
259
+
260
+ var editor = _ref4.editor,
261
+ transaction = _ref4.transaction;
250
262
 
251
- var editor = _ref3.editor,
252
- transaction = _ref3.transaction;
253
- return transaction.isDone && ((_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, editor.getHTML()));
263
+ if (transaction.isDone) {
264
+ var _props$onChange;
265
+
266
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, editor.getHTML());
267
+ }
268
+
269
+ if ((_props$responseAreaPr2 = props.responseAreaProps) !== null && _props$responseAreaPr2 !== void 0 && _props$responseAreaPr2.onHandleAreaChange) {// props.responseAreaProps.onHandleAreaChange(editor.getHTML());
270
+ }
254
271
  },
255
- onBlur: function onBlur(_ref4) {
256
- var editor = _ref4.editor;
272
+ onBlur: function onBlur(_ref5) {
273
+ var editor = _ref5.editor;
257
274
 
258
275
  if (toolbarOptsToUse.doneOn === 'blur') {
259
276
  var _props$onDone2;
@@ -279,10 +296,10 @@ var EditableHtml = function EditableHtml(props) {
279
296
  }
280
297
  }, [props.markup, editor]);
281
298
  (0, _react.useEffect)(function () {
282
- Object.entries(cssVariables).forEach(function (_ref5) {
283
- var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
284
- key = _ref6[0],
285
- value = _ref6[1];
299
+ Object.entries(cssVariables).forEach(function (_ref6) {
300
+ var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
301
+ key = _ref7[0],
302
+ value = _ref7[1];
286
303
 
287
304
  document.documentElement.style.setProperty(key, value);
288
305
  });
@@ -366,4 +383,4 @@ var StyledEditor = (0, _styles.withStyles)({
366
383
  })(EditableHtml);
367
384
  var _default = StyledEditor;
368
385
  exports["default"] = _default;
369
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRhYmxlSHRtbC5qc3giXSwibmFtZXMiOlsiZGVmYXVsdFRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJhbGlnbm1lbnQiLCJhbHdheXNWaXNpYmxlIiwic2hvd0RvbmUiLCJkb25lT24iLCJkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMiLCJvcHRpb25zIiwicmVzcEFyZWFUb29sYmFyIiwib25IYW5kbGVBcmVhQ2hhbmdlIiwiREVGQVVMVF9BQ1RJVkVfUExVR0lOUyIsImNzc1ZhcmlhYmxlcyIsIkVkaXRhYmxlSHRtbCIsInByb3BzIiwicGx1Z2luUHJvcHMiLCJzaG93UGFyYWdyYXBocyIsInNlcGFyYXRlUGFyYWdyYXBocyIsInBlbmRpbmdJbWFnZXMiLCJzZXRQZW5kaW5nSW1hZ2VzIiwic2NoZWR1bGVkIiwic2V0U2NoZWR1bGVkIiwiY2xhc3NlcyIsInRvb2xiYXJPcHRzIiwidG9vbGJhck9wdHNUb1VzZSIsImFjdGl2ZVBsdWdpbnNUb1VzZSIsImN1c3RvbVBsdWdpbnMiLCJhY3RpdmVQbHVnaW5zIiwibWF0aCIsInRleHRBbGlnbiIsImh0bWwiLCJleHRyYUNTU1J1bGVzIiwiaW1hZ2UiLCJ0b29sYmFyIiwidGFibGUiLCJyZXNwb25zZUFyZWEiLCJ0eXBlIiwicmVzcG9uc2VBcmVhUHJvcHMiLCJsYW5ndWFnZUNoYXJhY3RlcnMiLCJsYW5ndWFnZUNoYXJhY3RlcnNQcm9wcyIsImtleVBhZENoYXJhY3RlclJlZiIsInNldEtleXBhZEludGVyYWN0aW9uIiwibWVkaWEiLCJleHRlbnNpb25zIiwiVGV4dFN0eWxlS2l0IiwiQ2hhcmFjdGVyQ291bnQiLCJjb25maWd1cmUiLCJsaW1pdCIsImNoYXJhY3RlcnNMaW1pdCIsIlN0YXJ0ZXJLaXQiLCJFeHRlbmRlZFRhYmxlIiwiVGFibGVSb3ciLCJUYWJsZUhlYWRlciIsIlRhYmxlQ2VsbCIsIlJlc3BvbnNlQXJlYUV4dGVuc2lvbiIsIkV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUiLCJEcmFnSW5UaGVCbGFua05vZGUiLCJJbmxpbmVEcm9wZG93bk5vZGUiLCJNYXRoTm9kZSIsIlN1YlNjcmlwdCIsIlN1cGVyU2NyaXB0IiwiVGV4dEFsaWduIiwidHlwZXMiLCJhbGlnbm1lbnRzIiwiSW1hZ2UiLCJJbWFnZVVwbG9hZE5vZGUiLCJpbWFnZUhhbmRsaW5nIiwiZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyIsIm9uRG9uZSIsImVkaXRvciIsImdldEhUTUwiLCJvbkRlbGV0ZSIsImltYWdlU3VwcG9ydCIsIm5vZGUiLCJkb25lIiwic3JjIiwiYXR0cnMiLCJlIiwibmV3UGVuZGluZ0ltYWdlcyIsImZpbHRlciIsImltZyIsImtleSIsIm5ld1N0YXRlIiwibGVuZ3RoIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJhZGRlZEltYWdlIiwiZ2V0SGFuZGxlciIsIm9uRmluaXNoIiwicmVzdWx0IiwiY2IiLCJvbkNoYW5nZSIsImNhbGxiYWNrIiwiaGFuZGxlciIsImFkZCIsIm1heEltYWdlV2lkdGgiLCJtYXhJbWFnZUhlaWdodCIsIk1lZGlhIiwidXBsb2FkU291bmRTdXBwb3J0IiwiQ1NTTWFyayIsImltbWVkaWF0ZWx5UmVuZGVyIiwiZWRpdG9yUHJvcHMiLCJoYW5kbGVLZXlEb3duIiwidmlldyIsImV2ZW50Iiwib25LZXlEb3duIiwiZWRpdGFibGUiLCJkaXNhYmxlZCIsImNvbnRlbnQiLCJtYXJrdXAiLCJvblVwZGF0ZSIsInRyYW5zYWN0aW9uIiwiaXNEb25lIiwib25CbHVyIiwic2V0RWRpdGFibGUiLCJjb21tYW5kcyIsInNldENvbnRlbnQiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInZhbHVlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzdHlsZSIsInNldFByb3BlcnR5IiwiZWRpdG9yU3RhdGUiLCJzZWxlY3RvciIsImN0eCIsImlzRm9jdXNlZCIsInNpemVTdHlsZSIsIm1pbldpZHRoIiwid2lkdGgiLCJtYXhXaWR0aCIsIm1pbkhlaWdodCIsImhlaWdodCIsIm1heEhlaWdodCIsInNob3dQYXJhZ3JhcGgiLCJzZXBhcmF0ZVBhcmFncmFwaCIsInJvb3QiLCJTdHlsZWRFZGl0b3IiLCJvdXRsaW5lIiwicGFkZGluZyIsIm1hcmdpbiIsImRpc3BsYXkiLCJmb250U2l6ZSIsImNvbG9yIiwibWFyZ2luQm90dG9tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxrQkFBa0IsR0FBRztBQUN6QkMsRUFBQUEsUUFBUSxFQUFFLFFBRGU7QUFFekJDLEVBQUFBLFNBQVMsRUFBRSxNQUZjO0FBR3pCQyxFQUFBQSxhQUFhLEVBQUUsS0FIVTtBQUl6QkMsRUFBQUEsUUFBUSxFQUFFLElBSmU7QUFLekJDLEVBQUFBLE1BQU0sRUFBRTtBQUxpQixDQUEzQjtBQVFBLElBQU1DLHdCQUF3QixHQUFHO0FBQy9CQyxFQUFBQSxPQUFPLEVBQUUsRUFEc0I7QUFFL0JDLEVBQUFBLGVBQWUsRUFBRSwyQkFBTSxDQUFFLENBRk07QUFHL0JDLEVBQUFBLGtCQUFrQixFQUFFLDhCQUFNLENBQUU7QUFIRyxDQUFqQztBQU1BLElBQU1DLHNCQUFzQixHQUFHLENBQzdCLE1BRDZCLEVBRTdCLFFBRjZCLEVBRzdCLFdBSDZCLEVBSTdCLGVBSjZCLEVBSzdCLE1BTDZCLEVBTTdCLGVBTjZCLEVBTzdCLGVBUDZCLEVBUTdCLE9BUjZCLEVBUzdCLE1BVDZCLEVBVTdCLG9CQVY2QixFQVc3QixZQVg2QixFQVk3QixPQVo2QixFQWE3QixPQWI2QixFQWM3QixPQWQ2QixFQWU3QixjQWY2QixFQWdCN0IsYUFoQjZCLEVBaUI3QixXQWpCNkIsRUFrQjdCLEtBbEI2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QWJWLElBVkosQ0FERjtBQTZCRCxDQWhPTTs7O0FBa09QLElBQU1xRSxZQUFZLEdBQUcsd0JBQVc7QUFDOUJELEVBQUFBLElBQUksRUFBRTtBQUNKRSxJQUFBQSxPQUFPLEVBQUUsaUJBREw7QUFFSixzQkFBa0I7QUFDaEJDLE1BQUFBLE9BQU8sRUFBRSxLQURPO0FBRWhCTixNQUFBQSxTQUFTLEVBQUUsT0FGSztBQUdoQkssTUFBQUEsT0FBTyxFQUFFLGlCQUhPO0FBSWhCekksTUFBQUEsUUFBUSxFQUFFLFNBSk07QUFLaEIsZUFBUztBQUNQMkksUUFBQUEsTUFBTSxFQUFFO0FBREQ7QUFMTztBQUZkLEdBRHdCO0FBYTlCTixFQUFBQSxhQUFhLEVBQUU7QUFDYixzQkFBa0I7QUFDaEI7QUFDQSwrQkFBeUI7QUFDdkJPLFFBQUFBLE9BQU8sRUFBRSxPQURjO0FBRXZCbkMsUUFBQUEsT0FBTyxFQUFFLEtBRmM7QUFHdkJvQyxRQUFBQSxRQUFRLEVBQUUsS0FIYTtBQUl2QkMsUUFBQUEsS0FBSyxFQUFFO0FBSmdCO0FBRlQ7QUFETCxHQWJlO0FBd0I5QlIsRUFBQUEsaUJBQWlCLEVBQUU7QUFDakIsc0JBQWtCO0FBQ2hCO0FBQ0EsNEJBQXNCO0FBQ3BCUyxRQUFBQSxZQUFZLEVBQUU7QUFETTtBQUZOO0FBREQ7QUF4QlcsQ0FBWCxFQWdDbEJwSSxZQWhDa0IsQ0FBckI7ZUFrQ2U2SCxZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IEVkaXRvckNvbnRlbnQsIHVzZUVkaXRvciwgdXNlRWRpdG9yU3RhdGUgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBTdGFydGVyS2l0IGZyb20gJ0B0aXB0YXAvc3RhcnRlci1raXQnO1xuaW1wb3J0IHsgVGV4dFN0eWxlS2l0IH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1zdHlsZSc7XG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudCB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLWNoYXJhY3Rlci1jb3VudCc7XG5pbXBvcnQgU3VwZXJTY3JpcHQgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tc3VwZXJzY3JpcHQnO1xuaW1wb3J0IFN1YlNjcmlwdCBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1zdWJzY3JpcHQnO1xuaW1wb3J0IFRleHRBbGlnbiBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10ZXh0LWFsaWduJztcbmltcG9ydCBJbWFnZSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1pbWFnZSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcblxuaW1wb3J0IEV4dGVuZGVkVGFibGUgZnJvbSAnLi4vZXh0ZW5zaW9ucy9leHRlbmRlZC10YWJsZSc7XG5pbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRhYmxlLXJvdyc7XG5pbXBvcnQgeyBUYWJsZUNlbGwgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZS1jZWxsJztcbmltcG9ydCB7IFRhYmxlSGVhZGVyIH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtaGVhZGVyJztcbmltcG9ydCB7XG4gIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUsXG4gIERyYWdJblRoZUJsYW5rTm9kZSxcbiAgSW5saW5lRHJvcGRvd25Ob2RlLFxuICBSZXNwb25zZUFyZWFFeHRlbnNpb24sXG59IGZyb20gJy4uL2V4dGVuc2lvbnMvcmVzcG9uc2VBcmVhJztcbmltcG9ydCB7IE1hdGhOb2RlIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9tYXRoJztcbmltcG9ydCB7IEltYWdlVXBsb2FkTm9kZSB9IGZyb20gJy4uL2V4dGVuc2lvbnMvaW1hZ2UnO1xuaW1wb3J0IHsgTWVkaWEgfSBmcm9tICcuLi9leHRlbnNpb25zL21lZGlhJztcbmltcG9ydCB7IENTU01hcmsgfSBmcm9tICcuLi9leHRlbnNpb25zL2Nzcyc7XG5cbmltcG9ydCBFZGl0b3JDb250YWluZXIgZnJvbSAnLi9UaXB0YXBDb250YWluZXInO1xuaW1wb3J0IHsgdmFsdWVUb1NpemUgfSBmcm9tICcuLi91dGlscy9zaXplJztcbmltcG9ydCB7IGJ1aWxkRXh0ZW5zaW9ucyB9IGZyb20gJy4uL2V4dGVuc2lvbnMnO1xuXG5jb25zdCBkZWZhdWx0VG9vbGJhck9wdHMgPSB7XG4gIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgYWxpZ25tZW50OiAnbGVmdCcsXG4gIGFsd2F5c1Zpc2libGU6IGZhbHNlLFxuICBzaG93RG9uZTogdHJ1ZSxcbiAgZG9uZU9uOiAnYmx1cicsXG59O1xuXG5jb25zdCBkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMgPSB7XG4gIG9wdGlvbnM6IHt9LFxuICByZXNwQXJlYVRvb2xiYXI6ICgpID0+IHt9LFxuICBvbkhhbmRsZUFyZWFDaGFuZ2U6ICgpID0+IHt9LFxufTtcblxuY29uc3QgREVGQVVMVF9BQ1RJVkVfUExVR0lOUyA9IFtcbiAgJ2JvbGQnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2V0aHJvdWdoJyxcbiAgJ2NvZGUnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAndGFibGUnLFxuICAndmlkZW8nLFxuICAnYXVkaW8nLFxuICAncmVzcG9uc2VBcmVhJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG4gICdjc3MnLFxuICAnaDMnLFxuICAndW5kbycsXG4gICdyZWRvJyxcbl07XG5cbmNvbnN0IGNzc1ZhcmlhYmxlcyA9IHtcbiAgJy0td2hpdGUnOiAnI2ZmZicsXG4gICctLWJsYWNrJzogJyMyZTJiMjknLFxuICAnLS1ibGFjay1jb250cmFzdCc6ICcjMTEwZjBlJyxcbiAgJy0tZ3JheS0xJzogJ3JnYmEoNjEsIDM3LCAyMCwgLjA1KScsXG4gICctLWdyYXktMic6ICdyZ2JhKDYxLCAzNywgMjAsIC4wOCknLFxuICAnLS1ncmF5LTMnOiAncmdiYSg2MSwgMzcsIDIwLCAuMTIpJyxcbiAgJy0tZ3JheS00JzogJ3JnYmEoNTMsIDM4LCAyOCwgLjMpJyxcbiAgJy0tZ3JheS01JzogJ3JnYmEoMjgsIDI1LCAyMywgLjYpJyxcbiAgJy0tZ3JlZW4nOiAnIzIyYzU1ZScsXG4gICctLXB1cnBsZSc6ICcjNmEwMGY1JyxcbiAgJy0tcHVycGxlLWNvbnRyYXN0JzogJyM1ODAwY2MnLFxuICAnLS1wdXJwbGUtbGlnaHQnOiAncmdiYSg4OCwgNSwgMjU1LCAuMDUpJyxcbiAgJy0teWVsbG93LWNvbnRyYXN0JzogJyNmYWNjMTUnLFxuICAnLS15ZWxsb3cnOiAncmdiYSgyNTAsIDIwNCwgMjEsIC40KScsXG4gICctLXllbGxvdy1saWdodCc6ICcjZmZmYWU1JyxcbiAgJy0tcmVkJzogJyNmZjVjMzMnLFxuICAnLS1yZWQtbGlnaHQnOiAnI2ZmZWJlNScsXG4gICctLXNoYWRvdyc6IGAwcHggMTJweCAzM3B4IDBweCByZ2JhKDAsIDAsIDAsIC4wNiksXG4gICAgICAgICAgICAgICAwcHggMy42MThweCA5Ljk0OXB4IDBweCByZ2JhKDAsIDAsIDAsIC4wNClgLFxufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRhYmxlSHRtbCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHNob3dQYXJhZ3JhcGhzLCBzZXBhcmF0ZVBhcmFncmFwaHMgfSA9IHByb3BzLnBsdWdpblByb3BzIHx8IHt9O1xuICBjb25zdCBbcGVuZGluZ0ltYWdlcywgc2V0UGVuZGluZ0ltYWdlc10gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtzY2hlZHVsZWQsIHNldFNjaGVkdWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHsgY2xhc3NlcywgdG9vbGJhck9wdHMgfSA9IHByb3BzO1xuXG4gIGNvbnN0IHRvb2xiYXJPcHRzVG9Vc2UgPSB7XG4gICAgLi4uZGVmYXVsdFRvb2xiYXJPcHRzLFxuICAgIC4uLnRvb2xiYXJPcHRzLFxuICB9O1xuXG4gIGNvbnN0IGFjdGl2ZVBsdWdpbnNUb1VzZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCB7IGN1c3RvbVBsdWdpbnMgfSA9IHByb3BzLnBsdWdpblByb3BzIHx8IHt9O1xuXG4gICAgY3VzdG9tUGx1Z2lucyA9IGN1c3RvbVBsdWdpbnMgfHwgW107XG5cbiAgICByZXR1cm4gYnVpbGRFeHRlbnNpb25zKHByb3BzLmFjdGl2ZVBsdWdpbnMsIGN1c3RvbVBsdWdpbnMsIHtcbiAgICAgIG1hdGg6IHt9LFxuICAgICAgdGV4dEFsaWduOiB7fSxcbiAgICAgIGh0bWw6IHt9LFxuICAgICAgZXh0cmFDU1NSdWxlczogcHJvcHMuZXh0cmFDU1NSdWxlcyB8fCB7fSxcbiAgICAgIGltYWdlOiB7fSxcbiAgICAgIHRvb2xiYXI6IHt9LFxuICAgICAgdGFibGU6IHt9LFxuICAgICAgcmVzcG9uc2VBcmVhOiB7XG4gICAgICAgIHR5cGU6IHByb3BzLnJlc3BvbnNlQXJlYVByb3BzPy50eXBlLFxuICAgICAgfSxcbiAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyczogcHJvcHMubGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHMsXG4gICAgICBrZXlQYWRDaGFyYWN0ZXJSZWY6IHt9LFxuICAgICAgc2V0S2V5cGFkSW50ZXJhY3Rpb246IHt9LFxuICAgICAgbWVkaWE6IHt9LFxuICAgIH0pO1xuICB9LCBbcHJvcHNdKTtcblxuICBjb25zdCBleHRlbnNpb25zID0gW1xuICAgIFRleHRTdHlsZUtpdCxcbiAgICBDaGFyYWN0ZXJDb3VudC5jb25maWd1cmUoe1xuICAgICAgbGltaXQ6IHByb3BzLmNoYXJhY3RlcnNMaW1pdCxcbiAgICB9KSxcbiAgICBTdGFydGVyS2l0LFxuICAgIEV4dGVuZGVkVGFibGUsXG4gICAgVGFibGVSb3csXG4gICAgVGFibGVIZWFkZXIsXG4gICAgVGFibGVDZWxsLFxuICAgIFJlc3BvbnNlQXJlYUV4dGVuc2lvbixcbiAgICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgRHJhZ0luVGhlQmxhbmtOb2RlLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgSW5saW5lRHJvcGRvd25Ob2RlLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgTWF0aE5vZGUuY29uZmlndXJlKHtcbiAgICAgIHRvb2xiYXJPcHRzOiB0b29sYmFyT3B0c1RvVXNlLFxuICAgIH0pLFxuICAgIFN1YlNjcmlwdCxcbiAgICBTdXBlclNjcmlwdCxcbiAgICBUZXh0QWxpZ24uY29uZmlndXJlKHtcbiAgICAgIHR5cGVzOiBbJ2hlYWRpbmcnLCAncGFyYWdyYXBoJ10sXG4gICAgICBhbGlnbm1lbnRzOiBbJ2xlZnQnLCAncmlnaHQnLCAnY2VudGVyJ10sXG4gICAgfSksXG4gICAgSW1hZ2UsXG4gICAgSW1hZ2VVcGxvYWROb2RlLmNvbmZpZ3VyZSh7XG4gICAgICB0b29sYmFyT3B0czogdG9vbGJhck9wdHNUb1VzZSxcbiAgICAgIGltYWdlSGFuZGxpbmc6IHtcbiAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uczogcHJvcHMuZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyxcbiAgICAgICAgb25Eb25lOiAoKSA9PiBwcm9wcy5vbkRvbmU/LihlZGl0b3IuZ2V0SFRNTCgpKSxcbiAgICAgICAgb25EZWxldGU6XG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0ICYmXG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0LmRlbGV0ZSAmJlxuICAgICAgICAgICgobm9kZSwgZG9uZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBzcmMgfSA9IG5vZGUuYXR0cnM7XG5cbiAgICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdQZW5kaW5nSW1hZ2VzID0gcGVuZGluZ0ltYWdlcy5maWx0ZXIoKGltZykgPT4gaW1nLmtleSAhPT0gbm9kZS5rZXkpO1xuICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSW1hZ2VzOiBuZXdQZW5kaW5nSW1hZ2VzLFxuICAgICAgICAgICAgICAgIHNjaGVkdWxlZDogc2NoZWR1bGVkICYmIG5ld1BlbmRpbmdJbWFnZXMubGVuZ3RoID09PSAwID8gZmFsc2UgOiBzY2hlZHVsZWQsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgc2V0UGVuZGluZ0ltYWdlcyhuZXdTdGF0ZS5wZW5kaW5nSW1hZ2VzKTtcbiAgICAgICAgICAgICAgc2V0U2NoZWR1bGVkKG5ld1N0YXRlLnNjaGVkdWxlZCk7XG4gICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICBpbnNlcnRJbWFnZVJlcXVlc3RlZDpcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQgJiZcbiAgICAgICAgICAoKGFkZGVkSW1hZ2UsIGdldEhhbmRsZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9uRmluaXNoID0gKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICBsZXQgY2I7XG5cbiAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlZCAmJiByZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5pc2ggZWRpdGluZyBvbmx5IG9uIHN1Y2Nlc3NcbiAgICAgICAgICAgICAgICBjYiA9IHByb3BzLm9uQ2hhbmdlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgbmV3UGVuZGluZ0ltYWdlcyA9IHBlbmRpbmdJbWFnZXMuZmlsdGVyKChpbWcpID0+IGltZy5rZXkgIT09IGFkZGVkSW1hZ2Uua2V5KTtcbiAgICAgICAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ltYWdlczogbmV3UGVuZGluZ0ltYWdlcyxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICBpZiAobmV3UGVuZGluZ0ltYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZS5zY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHNldFBlbmRpbmdJbWFnZXMobmV3U3RhdGUucGVuZGluZ0ltYWdlcyk7XG4gICAgICAgICAgICAgIHNldFNjaGVkdWxlZChuZXdTdGF0ZS5zY2hlZHVsZWQpO1xuICAgICAgICAgICAgICBjYj8uKGVkaXRvci5nZXRIVE1MKCkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICogVGhlIGhhbmRsZXIgaXMgdGhlIG9iamVjdCB0aHJvdWdoIHdoaWNoIHRoZSBvdXRlciBjb250ZXh0XG4gICAgICAgICAgICAgICAqIGNvbW11bmljYXRlcyBmaWxlIHVwbG9hZCBldmVudHMgbGlrZTogZmlsZUNob3NlbiwgY2FuY2VsLCBwcm9ncmVzc1xuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IGdldEhhbmRsZXIob25GaW5pc2gpO1xuICAgICAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc2V0UGVuZGluZ0ltYWdlcyhbLi4ucGVuZGluZ0ltYWdlcywgYWRkZWRJbWFnZV0pO1xuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgbWF4SW1hZ2VXaWR0aDogcHJvcHMubWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgbWF4SW1hZ2VIZWlnaHQ6IHByb3BzLm1heEltYWdlSGVpZ2h0LFxuICAgICAgfSxcbiAgICAgIGxpbWl0OiAzLFxuICAgIH0pLFxuICAgIE1lZGlhLmNvbmZpZ3VyZSh7XG4gICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ6IHByb3BzLnVwbG9hZFNvdW5kU3VwcG9ydCxcbiAgICB9KSxcbiAgICBDU1NNYXJrLmNvbmZpZ3VyZSh7XG4gICAgICBleHRyYUNTU1J1bGVzOiBwcm9wcy5leHRyYUNTU1J1bGVzLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0IGVkaXRvciA9IHVzZUVkaXRvcih7XG4gICAgZXh0ZW5zaW9ucyxcbiAgICBpbW1lZGlhdGVseVJlbmRlcjogZmFsc2UsXG4gICAgZWRpdG9yUHJvcHM6IHtcbiAgICAgIGhhbmRsZUtleURvd24odmlldywgZXZlbnQpIHtcbiAgICAgICAgaWYgKHByb3BzLm9uS2V5RG93bikge1xuICAgICAgICAgIHJldHVybiBwcm9wcy5vbktleURvd24oZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIGZhbHNlIHRvIGxldCBkZWZhdWx0IGJlaGF2aW9yIGNvbnRpbnVlXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBlZGl0YWJsZTogIXByb3BzLmRpc2FibGVkLFxuICAgIGNvbnRlbnQ6IHByb3BzLm1hcmt1cCxcbiAgICBvblVwZGF0ZTogKHsgZWRpdG9yLCB0cmFuc2FjdGlvbiB9KSA9PiB0cmFuc2FjdGlvbi5pc0RvbmUgJiYgcHJvcHMub25DaGFuZ2U/LihlZGl0b3IuZ2V0SFRNTCgpKSxcbiAgICBvbkJsdXI6ICh7IGVkaXRvciB9KSA9PiB7XG4gICAgICBpZiAodG9vbGJhck9wdHNUb1VzZS5kb25lT24gPT09ICdibHVyJykge1xuICAgICAgICBwcm9wcy5vbkRvbmU/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3I/LnNldEVkaXRhYmxlKCFwcm9wcy5kaXNhYmxlZCk7XG4gIH0sIFtwcm9wcy5kaXNhYmxlZCwgZWRpdG9yXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXJrdXAgIT09IGVkaXRvci5nZXRIVE1MKCkpIHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy5zZXRDb250ZW50KHByb3BzLm1hcmt1cCwgZmFsc2UpOyAvLyBmYWxzZSA9IGRvbuKAmXQgZW1pdCB1cGRhdGVcbiAgICB9XG4gIH0sIFtwcm9wcy5tYXJrdXAsIGVkaXRvcl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgT2JqZWN0LmVudHJpZXMoY3NzVmFyaWFibGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHZhbHVlKTtcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGVkaXRvclN0YXRlID0gdXNlRWRpdG9yU3RhdGUoe1xuICAgIGVkaXRvcixcbiAgICBzZWxlY3RvcjogKGN0eCkgPT4gKHtcbiAgICAgIGlzRm9jdXNlZDogY3R4LmVkaXRvcj8uaXNGb2N1c2VkLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCBzaXplU3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB7IG1pbldpZHRoLCB3aWR0aCwgbWF4V2lkdGgsIG1pbkhlaWdodCwgaGVpZ2h0LCBtYXhIZWlnaHQgfSA9IHByb3BzO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB2YWx1ZVRvU2l6ZSh3aWR0aCksXG4gICAgICBtaW5XaWR0aDogdmFsdWVUb1NpemUobWluV2lkdGgpLFxuICAgICAgbWF4V2lkdGg6IHZhbHVlVG9TaXplKG1heFdpZHRoKSxcbiAgICAgIGhlaWdodDogdmFsdWVUb1NpemUoaGVpZ2h0KSxcbiAgICAgIG1pbkhlaWdodDogdmFsdWVUb1NpemUobWluSGVpZ2h0KSxcbiAgICAgIG1heEhlaWdodDogdmFsdWVUb1NpemUobWF4SGVpZ2h0KSxcbiAgICB9O1xuICB9LCBbcHJvcHNdKTtcblxuICByZXR1cm4gKFxuICAgIDxFZGl0b3JDb250YWluZXJcbiAgICAgIHsuLi57XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICBhY3RpdmVQbHVnaW5zOiBhY3RpdmVQbHVnaW5zVG9Vc2UsXG4gICAgICAgIHRvb2xiYXJPcHRzOiB0b29sYmFyT3B0c1RvVXNlLFxuICAgICAgfX1cbiAgICAgIGVkaXRvclN0YXRlPXtlZGl0b3JTdGF0ZX1cbiAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgID5cbiAgICAgIHtlZGl0b3IgJiYgKFxuICAgICAgICA8RWRpdG9yQ29udGVudFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtaW5IZWlnaHQ6IHNpemVTdHlsZS5taW5IZWlnaHQsXG4gICAgICAgICAgICBoZWlnaHQ6IHNpemVTdHlsZS5oZWlnaHQsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6IHNpemVTdHlsZS5tYXhIZWlnaHQsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFtjbGFzc2VzLnNob3dQYXJhZ3JhcGhdOiBzaG93UGFyYWdyYXBocyAmJiAhc2hvd1BhcmFncmFwaHMuZGlzYWJsZWQsXG4gICAgICAgICAgICAgIFtjbGFzc2VzLnNlcGFyYXRlUGFyYWdyYXBoXTogc2VwYXJhdGVQYXJhZ3JhcGhzICYmICFzZXBhcmF0ZVBhcmFncmFwaHMuZGlzYWJsZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2xhc3Nlcy5yb290LFxuICAgICAgICAgICl9XG4gICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvRWRpdG9yQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgU3R5bGVkRWRpdG9yID0gd2l0aFN0eWxlcyh7XG4gIHJvb3Q6IHtcbiAgICBvdXRsaW5lOiAnbm9uZSAhaW1wb3J0YW50JyxcbiAgICAnJiAuUHJvc2VNaXJyb3InOiB7XG4gICAgICBwYWRkaW5nOiAnNXB4JyxcbiAgICAgIG1heEhlaWdodDogJzUwMHB4JyxcbiAgICAgIG91dGxpbmU6ICdub25lICFpbXBvcnRhbnQnLFxuICAgICAgcG9zaXRpb246ICdpbml0aWFsJyxcbiAgICAgICcmID4gcCc6IHtcbiAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHNob3dQYXJhZ3JhcGg6IHtcbiAgICAnJiAuUHJvc2VNaXJyb3InOiB7XG4gICAgICAvLyBhIHAgdGhhdCBoYXMgYSBwIGFmdGVyIGl0XG4gICAgICAnJiA+IHA6aGFzKCsgcCk6OmFmdGVyJzoge1xuICAgICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgICBjb250ZW50OiAnXCLCtlwiJyxcbiAgICAgICAgZm9udFNpemU6ICcxZW0nLFxuICAgICAgICBjb2xvcjogJyMxNDZFQjMnLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICBzZXBhcmF0ZVBhcmFncmFwaDoge1xuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIC8vIGEgcCB0aGF0IGhhcyBhIHAgYWZ0ZXIgaXRcbiAgICAgICcmID4gZGl2OmhhcygrIGRpdiknOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogJzFlbScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KShFZGl0YWJsZUh0bWwpO1xuXG5leHBvcnQgZGVmYXVsdCBTdHlsZWRFZGl0b3I7XG4iXX0=
386
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRhYmxlSHRtbC5qc3giXSwibmFtZXMiOlsiZGVmYXVsdFRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJhbGlnbm1lbnQiLCJhbHdheXNWaXNpYmxlIiwic2hvd0RvbmUiLCJkb25lT24iLCJkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMiLCJvcHRpb25zIiwicmVzcEFyZWFUb29sYmFyIiwib25IYW5kbGVBcmVhQ2hhbmdlIiwiREVGQVVMVF9BQ1RJVkVfUExVR0lOUyIsImNzc1ZhcmlhYmxlcyIsIkVkaXRhYmxlSHRtbCIsInByb3BzIiwicGx1Z2luUHJvcHMiLCJzaG93UGFyYWdyYXBocyIsInNlcGFyYXRlUGFyYWdyYXBocyIsInBlbmRpbmdJbWFnZXMiLCJzZXRQZW5kaW5nSW1hZ2VzIiwic2NoZWR1bGVkIiwic2V0U2NoZWR1bGVkIiwiY2xhc3NlcyIsInRvb2xiYXJPcHRzIiwidG9vbGJhck9wdHNUb1VzZSIsImFjdGl2ZVBsdWdpbnNUb1VzZSIsImN1c3RvbVBsdWdpbnMiLCJvdGhlclBsdWdpblByb3BzIiwiZmlsdGVyZWRBY3RpdmVQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImZpbHRlciIsInBsdWdpbk5hbWUiLCJwbHVnaW5JbmZvIiwiZGlzYWJsZWQiLCJtYXRoIiwidGV4dEFsaWduIiwiaHRtbCIsImV4dHJhQ1NTUnVsZXMiLCJpbWFnZSIsInRvb2xiYXIiLCJ0YWJsZSIsInJlc3BvbnNlQXJlYSIsInR5cGUiLCJyZXNwb25zZUFyZWFQcm9wcyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwia2V5UGFkQ2hhcmFjdGVyUmVmIiwic2V0S2V5cGFkSW50ZXJhY3Rpb24iLCJtZWRpYSIsImV4dGVuc2lvbnMiLCJUZXh0U3R5bGVLaXQiLCJDaGFyYWN0ZXJDb3VudCIsImNvbmZpZ3VyZSIsImxpbWl0IiwiY2hhcmFjdGVyc0xpbWl0IiwiU3RhcnRlcktpdCIsIkV4dGVuZGVkVGFibGUiLCJUYWJsZVJvdyIsIlRhYmxlSGVhZGVyIiwiVGFibGVDZWxsIiwiUmVzcG9uc2VBcmVhRXh0ZW5zaW9uIiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIkRyYWdJblRoZUJsYW5rTm9kZSIsIklubGluZURyb3Bkb3duTm9kZSIsIk1hdGhOb2RlIiwiU3ViU2NyaXB0IiwiU3VwZXJTY3JpcHQiLCJUZXh0QWxpZ24iLCJ0eXBlcyIsImFsaWdubWVudHMiLCJJbWFnZSIsIkltYWdlVXBsb2FkTm9kZSIsImltYWdlSGFuZGxpbmciLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwib25Eb25lIiwiZWRpdG9yIiwiZ2V0SFRNTCIsIm9uRGVsZXRlIiwiaW1hZ2VTdXBwb3J0Iiwibm9kZSIsImRvbmUiLCJzcmMiLCJhdHRycyIsImUiLCJuZXdQZW5kaW5nSW1hZ2VzIiwiaW1nIiwia2V5IiwibmV3U3RhdGUiLCJsZW5ndGgiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsImFkZGVkSW1hZ2UiLCJnZXRIYW5kbGVyIiwib25GaW5pc2giLCJyZXN1bHQiLCJjYiIsIm9uQ2hhbmdlIiwiY2FsbGJhY2siLCJoYW5kbGVyIiwiYWRkIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiTWVkaWEiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJDU1NNYXJrIiwiaW1tZWRpYXRlbHlSZW5kZXIiLCJlZGl0b3JQcm9wcyIsImhhbmRsZUtleURvd24iLCJ2aWV3IiwiZXZlbnQiLCJvbktleURvd24iLCJlZGl0YWJsZSIsImNvbnRlbnQiLCJtYXJrdXAiLCJvblVwZGF0ZSIsInRyYW5zYWN0aW9uIiwiaXNEb25lIiwib25CbHVyIiwic2V0RWRpdGFibGUiLCJjb21tYW5kcyIsInNldENvbnRlbnQiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInZhbHVlIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJzdHlsZSIsInNldFByb3BlcnR5IiwiZWRpdG9yU3RhdGUiLCJzZWxlY3RvciIsImN0eCIsImlzRm9jdXNlZCIsInNpemVTdHlsZSIsIm1pbldpZHRoIiwid2lkdGgiLCJtYXhXaWR0aCIsIm1pbkhlaWdodCIsImhlaWdodCIsIm1heEhlaWdodCIsInNob3dQYXJhZ3JhcGgiLCJzZXBhcmF0ZVBhcmFncmFwaCIsInJvb3QiLCJTdHlsZWRFZGl0b3IiLCJvdXRsaW5lIiwicGFkZGluZyIsIm1hcmdpbiIsImRpc3BsYXkiLCJmb250U2l6ZSIsImNvbG9yIiwibWFyZ2luQm90dG9tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFNQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLFFBQVEsRUFBRSxRQURlO0FBRXpCQyxFQUFBQSxTQUFTLEVBQUUsTUFGYztBQUd6QkMsRUFBQUEsYUFBYSxFQUFFLEtBSFU7QUFJekJDLEVBQUFBLFFBQVEsRUFBRSxJQUplO0FBS3pCQyxFQUFBQSxNQUFNLEVBQUU7QUFMaUIsQ0FBM0I7QUFRQSxJQUFNQyx3QkFBd0IsR0FBRztBQUMvQkMsRUFBQUEsT0FBTyxFQUFFLEVBRHNCO0FBRS9CQyxFQUFBQSxlQUFlLEVBQUUsMkJBQU0sQ0FBRSxDQUZNO0FBRy9CQyxFQUFBQSxrQkFBa0IsRUFBRSw4QkFBTSxDQUFFO0FBSEcsQ0FBakM7QUFNQSxJQUFNQyxzQkFBc0IsR0FBRyxDQUM3QixNQUQ2QixFQUU3QixRQUY2QixFQUc3QixXQUg2QixFQUk3QixlQUo2QixFQUs3QixNQUw2QixFQU03QixlQU42QixFQU83QixlQVA2QixFQVE3QixPQVI2QixFQVM3QixNQVQ2QixFQVU3QixvQkFWNkIsRUFXN0IsWUFYNkIsRUFZN0IsT0FaNkIsRUFhN0IsT0FiNkIsRUFjN0IsT0FkNkIsRUFlN0IsY0FmNkIsRUFnQjdCLGFBaEI2QixFQWlCN0IsV0FqQjZCLEVBa0I3QixLQWxCNkIsRUFtQjdCLElBbkI2QixFQW9CN0IsTUFwQjZCLEVBcUI3QixNQXJCNkIsQ0FBL0I7QUF3QkEsSUFBTUMsWUFBWSxHQUFHO0FBQ25CLGFBQVcsTUFEUTtBQUVuQixhQUFXLFNBRlE7QUFHbkIsc0JBQW9CLFNBSEQ7QUFJbkIsY0FBWSx1QkFKTztBQUtuQixjQUFZLHVCQUxPO0FBTW5CLGNBQVksdUJBTk87QUFPbkIsY0FBWSxzQkFQTztBQVFuQixjQUFZLHNCQVJPO0FBU25CLGFBQVcsU0FUUTtBQVVuQixjQUFZLFNBVk87QUFXbkIsdUJBQXFCLFNBWEY7QUFZbkIsb0JBQWtCLHVCQVpDO0FBYW5CLHVCQUFxQixTQWJGO0FBY25CLGNBQVksd0JBZE87QUFlbkIsb0JBQWtCLFNBZkM7QUFnQm5CLFdBQVMsU0FoQlU7QUFpQm5CLGlCQUFlLFNBakJJO0FBa0JuQjtBQWxCbUIsQ0FBckI7O0FBc0JPLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLEtBQUQsRUFBVztBQUFBOztBQUNyQyxhQUErQ0EsS0FBSyxDQUFDQyxXQUFOLElBQXFCLEVBQXBFO0FBQUEsTUFBUUMsY0FBUixRQUFRQSxjQUFSO0FBQUEsTUFBd0JDLGtCQUF4QixRQUF3QkEsa0JBQXhCOztBQUNBLGtCQUEwQyxxQkFBUyxFQUFULENBQTFDO0FBQUE7QUFBQSxNQUFPQyxhQUFQO0FBQUEsTUFBc0JDLGdCQUF0Qjs7QUFDQSxtQkFBa0MscUJBQVMsS0FBVCxDQUFsQztBQUFBO0FBQUEsTUFBT0MsU0FBUDtBQUFBLE1BQWtCQyxZQUFsQjs7QUFDQSxNQUFRQyxPQUFSLEdBQWlDUixLQUFqQyxDQUFRUSxPQUFSO0FBQUEsTUFBaUJDLFdBQWpCLEdBQWlDVCxLQUFqQyxDQUFpQlMsV0FBakI7O0FBRUEsTUFBTUMsZ0JBQWdCLG1DQUNqQnZCLGtCQURpQixHQUVqQnNCLFdBRmlCLENBQXRCOztBQUtBLE1BQU1FLGtCQUFrQixHQUFHLG9CQUFRLFlBQU07QUFBQTs7QUFDdkMsZ0JBQTZDWCxLQUFLLENBQUNDLFdBQU4sSUFBcUIsRUFBbEU7QUFBQSxRQUFNVyxhQUFOLFNBQU1BLGFBQU47QUFBQSxRQUF3QkMsZ0JBQXhCOztBQUVBRCxJQUFBQSxhQUFhLEdBQUdBLGFBQWEsSUFBSSxFQUFqQztBQUVBLFFBQU1FLHFCQUFxQixZQUFJZCxLQUFLLENBQUNlLGFBQU4sSUFBdUJsQixzQkFBM0IsMENBQUcsTUFBaURtQixNQUFqRCxDQUF3RCxVQUFDQyxVQUFELEVBQWdCO0FBQ3BHLFVBQU1DLFVBQVUsR0FBR0wsZ0JBQWdCLENBQUNJLFVBQUQsQ0FBaEIsSUFBZ0MsRUFBbkQ7QUFFQSxhQUFPLENBQUNDLFVBQUQsSUFBZSxDQUFDQSxVQUFVLENBQUNDLFFBQWxDO0FBQ0QsS0FKNkIsQ0FBOUI7QUFNQSxXQUFPLGlDQUFnQkwscUJBQWhCLEVBQXVDRixhQUF2QyxFQUFzRDtBQUMzRFEsTUFBQUEsSUFBSSxFQUFFLEVBRHFEO0FBRTNEQyxNQUFBQSxTQUFTLEVBQUUsRUFGZ0Q7QUFHM0RDLE1BQUFBLElBQUksRUFBRSxFQUhxRDtBQUkzREMsTUFBQUEsYUFBYSxFQUFFdkIsS0FBSyxDQUFDdUIsYUFBTixJQUF1QixFQUpxQjtBQUszREMsTUFBQUEsS0FBSyxFQUFFLEVBTG9EO0FBTTNEQyxNQUFBQSxPQUFPLEVBQUUsRUFOa0Q7QUFPM0RDLE1BQUFBLEtBQUssRUFBRSxFQVBvRDtBQVEzREMsTUFBQUEsWUFBWSxFQUFFO0FBQ1pDLFFBQUFBLElBQUksMkJBQUU1QixLQUFLLENBQUM2QixpQkFBUiwwREFBRSxzQkFBeUJEO0FBRG5CLE9BUjZDO0FBVzNERSxNQUFBQSxrQkFBa0IsRUFBRTlCLEtBQUssQ0FBQytCLHVCQVhpQztBQVkzREMsTUFBQUEsa0JBQWtCLEVBQUUsRUFadUM7QUFhM0RDLE1BQUFBLG9CQUFvQixFQUFFLEVBYnFDO0FBYzNEQyxNQUFBQSxLQUFLLEVBQUU7QUFkb0QsS0FBdEQsQ0FBUDtBQWdCRCxHQTNCMEIsRUEyQnhCLENBQUNsQyxLQUFELENBM0J3QixDQUEzQjtBQTZCQSxNQUFNbUMsVUFBVSxHQUFHLENBQ2pCQyxnQ0FEaUIsRUFFakJDLHdDQUFlQyxTQUFmLENBQXlCO0FBQ3ZCQyxJQUFBQSxLQUFLLEVBQUV2QyxLQUFLLENBQUN3QztBQURVLEdBQXpCLENBRmlCLEVBS2pCQyxzQkFMaUIsRUFNakJDLHlCQU5pQixFQU9qQkMsMkJBUGlCLEVBUWpCQyxpQ0FSaUIsRUFTakJDLDZCQVRpQixFQVVqQkMsb0NBQXNCUixTQUF0QixDQUFnQ3RDLEtBQUssQ0FBQzZCLGlCQUF0QyxDQVZpQixFQVdqQmtCLDhDQUFnQ1QsU0FBaEMsQ0FBMEN0QyxLQUFLLENBQUM2QixpQkFBaEQsQ0FYaUIsRUFZakJtQixpQ0FBbUJWLFNBQW5CLENBQTZCdEMsS0FBSyxDQUFDNkIsaUJBQW5DLENBWmlCLEVBYWpCb0IsaUNBQW1CWCxTQUFuQixDQUE2QnRDLEtBQUssQ0FBQzZCLGlCQUFuQyxDQWJpQixFQWNqQnFCLGVBQVNaLFNBQVQsQ0FBbUI7QUFDakI3QixJQUFBQSxXQUFXLEVBQUVDO0FBREksR0FBbkIsQ0FkaUIsRUFpQmpCeUMsOEJBakJpQixFQWtCakJDLGdDQWxCaUIsRUFtQmpCQywrQkFBVWYsU0FBVixDQUFvQjtBQUNsQmdCLElBQUFBLEtBQUssRUFBRSxDQUFDLFNBQUQsRUFBWSxXQUFaLENBRFc7QUFFbEJDLElBQUFBLFVBQVUsRUFBRSxDQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCLFFBQWxCO0FBRk0sR0FBcEIsQ0FuQmlCLEVBdUJqQkMsMEJBdkJpQixFQXdCakJDLHVCQUFnQm5CLFNBQWhCLENBQTBCO0FBQ3hCN0IsSUFBQUEsV0FBVyxFQUFFQyxnQkFEVztBQUV4QmdELElBQUFBLGFBQWEsRUFBRTtBQUNiQyxNQUFBQSw0QkFBNEIsRUFBRTNELEtBQUssQ0FBQzJELDRCQUR2QjtBQUViQyxNQUFBQSxNQUFNLEVBQUU7QUFBQTs7QUFBQSxnQ0FBTTVELEtBQUssQ0FBQzRELE1BQVosa0RBQU0sbUJBQUE1RCxLQUFLLEVBQVU2RCxNQUFNLENBQUNDLE9BQVAsRUFBVixDQUFYO0FBQUEsT0FGSztBQUdiQyxNQUFBQSxRQUFRLEVBQ04vRCxLQUFLLENBQUNnRSxZQUFOLElBQ0FoRSxLQUFLLENBQUNnRSxZQUFOLFVBREEsSUFFQyxVQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBZ0I7QUFDZixZQUFRQyxHQUFSLEdBQWdCRixJQUFJLENBQUNHLEtBQXJCLENBQVFELEdBQVI7QUFFQW5FLFFBQUFBLEtBQUssQ0FBQ2dFLFlBQU4sV0FBMEJHLEdBQTFCLEVBQStCLFVBQUNFLENBQUQsRUFBTztBQUNwQyxjQUFNQyxnQkFBZ0IsR0FBR2xFLGFBQWEsQ0FBQ1ksTUFBZCxDQUFxQixVQUFDdUQsR0FBRDtBQUFBLG1CQUFTQSxHQUFHLENBQUNDLEdBQUosS0FBWVAsSUFBSSxDQUFDTyxHQUExQjtBQUFBLFdBQXJCLENBQXpCO0FBQ0EsY0FBTUMsUUFBUSxHQUFHO0FBQ2ZyRSxZQUFBQSxhQUFhLEVBQUVrRSxnQkFEQTtBQUVmaEUsWUFBQUEsU0FBUyxFQUFFQSxTQUFTLElBQUlnRSxnQkFBZ0IsQ0FBQ0ksTUFBakIsS0FBNEIsQ0FBekMsR0FBNkMsS0FBN0MsR0FBcURwRTtBQUZqRCxXQUFqQjtBQUtBRCxVQUFBQSxnQkFBZ0IsQ0FBQ29FLFFBQVEsQ0FBQ3JFLGFBQVYsQ0FBaEI7QUFDQUcsVUFBQUEsWUFBWSxDQUFDa0UsUUFBUSxDQUFDbkUsU0FBVixDQUFaO0FBQ0E0RCxVQUFBQSxJQUFJO0FBQ0wsU0FWRDtBQVdELE9BcEJVO0FBcUJiUyxNQUFBQSxvQkFBb0IsRUFDbEIzRSxLQUFLLENBQUNnRSxZQUFOLElBQ0MsVUFBQ1ksVUFBRCxFQUFhQyxVQUFiLEVBQTRCO0FBQzNCLFlBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLE1BQUQsRUFBWTtBQUFBOztBQUMzQixjQUFJQyxFQUFKOztBQUVBLGNBQUkxRSxTQUFTLElBQUl5RSxNQUFqQixFQUF5QjtBQUN2QjtBQUNBQyxZQUFBQSxFQUFFLEdBQUdoRixLQUFLLENBQUNpRixRQUFYO0FBQ0Q7O0FBRUQsY0FBTVgsZ0JBQWdCLEdBQUdsRSxhQUFhLENBQUNZLE1BQWQsQ0FBcUIsVUFBQ3VELEdBQUQ7QUFBQSxtQkFBU0EsR0FBRyxDQUFDQyxHQUFKLEtBQVlJLFVBQVUsQ0FBQ0osR0FBaEM7QUFBQSxXQUFyQixDQUF6QjtBQUNBLGNBQU1DLFFBQVEsR0FBRztBQUNmckUsWUFBQUEsYUFBYSxFQUFFa0U7QUFEQSxXQUFqQjs7QUFJQSxjQUFJQSxnQkFBZ0IsQ0FBQ0ksTUFBakIsS0FBNEIsQ0FBaEMsRUFBbUM7QUFDakNELFlBQUFBLFFBQVEsQ0FBQ25FLFNBQVQsR0FBcUIsS0FBckI7QUFDRDs7QUFFREQsVUFBQUEsZ0JBQWdCLENBQUNvRSxRQUFRLENBQUNyRSxhQUFWLENBQWhCO0FBQ0FHLFVBQUFBLFlBQVksQ0FBQ2tFLFFBQVEsQ0FBQ25FLFNBQVYsQ0FBWjtBQUNBLGlCQUFBMEUsRUFBRSxVQUFGLGtDQUFLbkIsTUFBTSxDQUFDQyxPQUFQLEVBQUw7QUFDRCxTQXBCRDs7QUFxQkEsWUFBTW9CLFFBQVEsR0FBRyxTQUFYQSxRQUFXLEdBQU07QUFDckI7QUFDZDtBQUNBO0FBQ0E7QUFDYyxjQUFNQyxPQUFPLEdBQUdOLFVBQVUsQ0FBQ0MsUUFBRCxDQUExQjtBQUNBOUUsVUFBQUEsS0FBSyxDQUFDZ0UsWUFBTixDQUFtQm9CLEdBQW5CLENBQXVCRCxPQUF2QjtBQUNELFNBUEQ7O0FBU0E5RSxRQUFBQSxnQkFBZ0IsK0NBQUtELGFBQUwsSUFBb0J3RSxVQUFwQixHQUFoQjtBQUNBTSxRQUFBQSxRQUFRO0FBQ1QsT0F4RFU7QUF5RGJHLE1BQUFBLGFBQWEsRUFBRXJGLEtBQUssQ0FBQ3FGLGFBekRSO0FBMERiQyxNQUFBQSxjQUFjLEVBQUV0RixLQUFLLENBQUNzRjtBQTFEVCxLQUZTO0FBOER4Qi9DLElBQUFBLEtBQUssRUFBRTtBQTlEaUIsR0FBMUIsQ0F4QmlCLEVBd0ZqQmdELGFBQU1qRCxTQUFOLENBQWdCO0FBQ2RrRCxJQUFBQSxrQkFBa0IsRUFBRXhGLEtBQUssQ0FBQ3dGO0FBRFosR0FBaEIsQ0F4RmlCLEVBMkZqQkMsYUFBUW5ELFNBQVIsQ0FBa0I7QUFDaEJmLElBQUFBLGFBQWEsRUFBRXZCLEtBQUssQ0FBQ3VCO0FBREwsR0FBbEIsQ0EzRmlCLENBQW5CO0FBZ0dBLE1BQU1zQyxNQUFNLEdBQUcsdUJBQVU7QUFDdkIxQixJQUFBQSxVQUFVLEVBQVZBLFVBRHVCO0FBRXZCdUQsSUFBQUEsaUJBQWlCLEVBQUUsS0FGSTtBQUd2QkMsSUFBQUEsV0FBVyxFQUFFO0FBQ1hDLE1BQUFBLGFBRFcseUJBQ0dDLElBREgsRUFDU0MsS0FEVCxFQUNnQjtBQUN6QixZQUFJOUYsS0FBSyxDQUFDK0YsU0FBVixFQUFxQjtBQUNuQixpQkFBTy9GLEtBQUssQ0FBQytGLFNBQU4sQ0FBZ0JELEtBQWhCLENBQVA7QUFDRCxTQUh3QixDQUt6Qjs7O0FBQ0EsZUFBTyxLQUFQO0FBQ0Q7QUFSVSxLQUhVO0FBYXZCRSxJQUFBQSxRQUFRLEVBQUUsQ0FBQ2hHLEtBQUssQ0FBQ21CLFFBYk07QUFjdkI4RSxJQUFBQSxPQUFPLEVBQUVqRyxLQUFLLENBQUNrRyxNQWRRO0FBZXZCQyxJQUFBQSxRQUFRLEVBQUUseUJBQTZCO0FBQUE7O0FBQUEsVUFBMUJ0QyxNQUEwQixTQUExQkEsTUFBMEI7QUFBQSxVQUFsQnVDLFdBQWtCLFNBQWxCQSxXQUFrQjs7QUFDckMsVUFBSUEsV0FBVyxDQUFDQyxNQUFoQixFQUF3QjtBQUFBOztBQUN0QiwyQkFBQXJHLEtBQUssQ0FBQ2lGLFFBQU4seUVBQUFqRixLQUFLLEVBQVk2RCxNQUFNLENBQUNDLE9BQVAsRUFBWixDQUFMO0FBQ0Q7O0FBRUQsb0NBQUk5RCxLQUFLLENBQUM2QixpQkFBVixtREFBSSx1QkFBeUJqQyxrQkFBN0IsRUFBaUQsQ0FDL0M7QUFDRDtBQUNGLEtBdkJzQjtBQXdCdkIwRyxJQUFBQSxNQUFNLEVBQUUsdUJBQWdCO0FBQUEsVUFBYnpDLE1BQWEsU0FBYkEsTUFBYTs7QUFDdEIsVUFBSW5ELGdCQUFnQixDQUFDbEIsTUFBakIsS0FBNEIsTUFBaEMsRUFBd0M7QUFBQTs7QUFDdEMsMEJBQUFRLEtBQUssQ0FBQzRELE1BQU4sdUVBQUE1RCxLQUFLLEVBQVU2RCxNQUFNLENBQUNDLE9BQVAsRUFBVixDQUFMO0FBQ0QsT0FGRCxNQUVPO0FBQUE7O0FBQ0wsNEJBQUE5RCxLQUFLLENBQUNpRixRQUFOLDJFQUFBakYsS0FBSyxFQUFZNkQsTUFBTSxDQUFDQyxPQUFQLEVBQVosQ0FBTDtBQUNEO0FBQ0Y7QUE5QnNCLEdBQVYsQ0FBZjtBQWlDQSx3QkFBVSxZQUFNO0FBQ2RELElBQUFBLE1BQU0sU0FBTixJQUFBQSxNQUFNLFdBQU4sWUFBQUEsTUFBTSxDQUFFMEMsV0FBUixDQUFvQixDQUFDdkcsS0FBSyxDQUFDbUIsUUFBM0I7QUFDRCxHQUZELEVBRUcsQ0FBQ25CLEtBQUssQ0FBQ21CLFFBQVAsRUFBaUIwQyxNQUFqQixDQUZIO0FBSUEsd0JBQVUsWUFBTTtBQUNkLFFBQUksQ0FBQ0EsTUFBTCxFQUFhO0FBQ1g7QUFDRDs7QUFFRCxRQUFJN0QsS0FBSyxDQUFDa0csTUFBTixLQUFpQnJDLE1BQU0sQ0FBQ0MsT0FBUCxFQUFyQixFQUF1QztBQUNyQ0QsTUFBQUEsTUFBTSxDQUFDMkMsUUFBUCxDQUFnQkMsVUFBaEIsQ0FBMkJ6RyxLQUFLLENBQUNrRyxNQUFqQyxFQUF5QyxLQUF6QyxFQURxQyxDQUNZO0FBQ2xEO0FBQ0YsR0FSRCxFQVFHLENBQUNsRyxLQUFLLENBQUNrRyxNQUFQLEVBQWVyQyxNQUFmLENBUkg7QUFVQSx3QkFBVSxZQUFNO0FBQ2Q2QyxJQUFBQSxNQUFNLENBQUNDLE9BQVAsQ0FBZTdHLFlBQWYsRUFBNkI4RyxPQUE3QixDQUFxQyxpQkFBa0I7QUFBQTtBQUFBLFVBQWhCcEMsR0FBZ0I7QUFBQSxVQUFYcUMsS0FBVzs7QUFDckRDLE1BQUFBLFFBQVEsQ0FBQ0MsZUFBVCxDQUF5QkMsS0FBekIsQ0FBK0JDLFdBQS9CLENBQTJDekMsR0FBM0MsRUFBZ0RxQyxLQUFoRDtBQUNELEtBRkQ7QUFHRCxHQUpELEVBSUcsRUFKSDtBQU1BLE1BQU1LLFdBQVcsR0FBRyw0QkFBZTtBQUNqQ3JELElBQUFBLE1BQU0sRUFBTkEsTUFEaUM7QUFFakNzRCxJQUFBQSxRQUFRLEVBQUUsa0JBQUNDLEdBQUQ7QUFBQTs7QUFBQSxhQUFVO0FBQ2xCQyxRQUFBQSxTQUFTLGlCQUFFRCxHQUFHLENBQUN2RCxNQUFOLGdEQUFFLFlBQVl3RDtBQURMLE9BQVY7QUFBQTtBQUZ1QixHQUFmLENBQXBCO0FBT0EsTUFBTUMsU0FBUyxHQUFHLG9CQUFRLFlBQU07QUFDOUIsUUFBUUMsUUFBUixHQUFvRXZILEtBQXBFLENBQVF1SCxRQUFSO0FBQUEsUUFBa0JDLEtBQWxCLEdBQW9FeEgsS0FBcEUsQ0FBa0J3SCxLQUFsQjtBQUFBLFFBQXlCQyxRQUF6QixHQUFvRXpILEtBQXBFLENBQXlCeUgsUUFBekI7QUFBQSxRQUFtQ0MsU0FBbkMsR0FBb0UxSCxLQUFwRSxDQUFtQzBILFNBQW5DO0FBQUEsUUFBOENDLE1BQTlDLEdBQW9FM0gsS0FBcEUsQ0FBOEMySCxNQUE5QztBQUFBLFFBQXNEQyxTQUF0RCxHQUFvRTVILEtBQXBFLENBQXNENEgsU0FBdEQ7QUFFQSxXQUFPO0FBQ0xKLE1BQUFBLEtBQUssRUFBRSx1QkFBWUEsS0FBWixDQURGO0FBRUxELE1BQUFBLFFBQVEsRUFBRSx1QkFBWUEsUUFBWixDQUZMO0FBR0xFLE1BQUFBLFFBQVEsRUFBRSx1QkFBWUEsUUFBWixDQUhMO0FBSUxFLE1BQUFBLE1BQU0sRUFBRSx1QkFBWUEsTUFBWixDQUpIO0FBS0xELE1BQUFBLFNBQVMsRUFBRSx1QkFBWUEsU0FBWixDQUxOO0FBTUxFLE1BQUFBLFNBQVMsRUFBRSx1QkFBWUEsU0FBWjtBQU5OLEtBQVA7QUFRRCxHQVhpQixFQVdmLENBQUM1SCxLQUFELENBWGUsQ0FBbEI7QUFhQSxzQkFDRSxnQ0FBQywyQkFBRCxnRUFFT0EsS0FGUDtBQUdJZSxJQUFBQSxhQUFhLEVBQUVKLGtCQUhuQjtBQUlJRixJQUFBQSxXQUFXLEVBQUVDO0FBSmpCO0FBTUUsSUFBQSxXQUFXLEVBQUV3RyxXQU5mO0FBT0UsSUFBQSxNQUFNLEVBQUVyRDtBQVBWLE1BU0dBLE1BQU0saUJBQ0wsZ0NBQUMscUJBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRTtBQUNMNkQsTUFBQUEsU0FBUyxFQUFFSixTQUFTLENBQUNJLFNBRGhCO0FBRUxDLE1BQUFBLE1BQU0sRUFBRUwsU0FBUyxDQUFDSyxNQUZiO0FBR0xDLE1BQUFBLFNBQVMsRUFBRU4sU0FBUyxDQUFDTTtBQUhoQixLQURUO0FBTUUsSUFBQSxTQUFTLEVBQUUsNkZBRU5wSCxPQUFPLENBQUNxSCxhQUZGLEVBRWtCM0gsY0FBYyxJQUFJLENBQUNBLGNBQWMsQ0FBQ2lCLFFBRnBELGlEQUdOWCxPQUFPLENBQUNzSCxpQkFIRixFQUdzQjNILGtCQUFrQixJQUFJLENBQUNBLGtCQUFrQixDQUFDZ0IsUUFIaEUsaUJBS1RYLE9BQU8sQ0FBQ3VILElBTEMsQ0FOYjtBQWFFLElBQUEsTUFBTSxFQUFFbEU7QUFiVixJQVZKLENBREY7QUE2QkQsQ0E5T007OztBQWdQUCxJQUFNbUUsWUFBWSxHQUFHLHdCQUFXO0FBQzlCRCxFQUFBQSxJQUFJLEVBQUU7QUFDSkUsSUFBQUEsT0FBTyxFQUFFLGlCQURMO0FBRUosc0JBQWtCO0FBQ2hCQyxNQUFBQSxPQUFPLEVBQUUsS0FETztBQUVoQk4sTUFBQUEsU0FBUyxFQUFFLE9BRks7QUFHaEJLLE1BQUFBLE9BQU8sRUFBRSxpQkFITztBQUloQjdJLE1BQUFBLFFBQVEsRUFBRSxTQUpNO0FBS2hCLGVBQVM7QUFDUCtJLFFBQUFBLE1BQU0sRUFBRTtBQUREO0FBTE87QUFGZCxHQUR3QjtBQWE5Qk4sRUFBQUEsYUFBYSxFQUFFO0FBQ2Isc0JBQWtCO0FBQ2hCO0FBQ0EsK0JBQXlCO0FBQ3ZCTyxRQUFBQSxPQUFPLEVBQUUsT0FEYztBQUV2Qm5DLFFBQUFBLE9BQU8sRUFBRSxLQUZjO0FBR3ZCb0MsUUFBQUEsUUFBUSxFQUFFLEtBSGE7QUFJdkJDLFFBQUFBLEtBQUssRUFBRTtBQUpnQjtBQUZUO0FBREwsR0FiZTtBQXdCOUJSLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCLHNCQUFrQjtBQUNoQjtBQUNBLDRCQUFzQjtBQUNwQlMsUUFBQUEsWUFBWSxFQUFFO0FBRE07QUFGTjtBQUREO0FBeEJXLENBQVgsRUFnQ2xCeEksWUFoQ2tCLENBQXJCO2VBa0NlaUksWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBFZGl0b3JDb250ZW50LCB1c2VFZGl0b3IsIHVzZUVkaXRvclN0YXRlIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgU3RhcnRlcktpdCBmcm9tICdAdGlwdGFwL3N0YXJ0ZXIta2l0JztcbmltcG9ydCB7IFRleHRTdHlsZUtpdCB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRleHQtc3R5bGUnO1xuaW1wb3J0IHsgQ2hhcmFjdGVyQ291bnQgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1jaGFyYWN0ZXItY291bnQnO1xuaW1wb3J0IFN1cGVyU2NyaXB0IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXN1cGVyc2NyaXB0JztcbmltcG9ydCBTdWJTY3JpcHQgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tc3Vic2NyaXB0JztcbmltcG9ydCBUZXh0QWxpZ24gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbic7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24taW1hZ2UnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmltcG9ydCBFeHRlbmRlZFRhYmxlIGZyb20gJy4uL2V4dGVuc2lvbnMvZXh0ZW5kZWQtdGFibGUnO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZS1yb3cnO1xuaW1wb3J0IHsgVGFibGVDZWxsIH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtY2VsbCc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlciB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRhYmxlLWhlYWRlcic7XG5pbXBvcnQge1xuICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLFxuICBEcmFnSW5UaGVCbGFua05vZGUsXG4gIElubGluZURyb3Bkb3duTm9kZSxcbiAgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLFxufSBmcm9tICcuLi9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYSc7XG5pbXBvcnQgeyBNYXRoTm9kZSB9IGZyb20gJy4uL2V4dGVuc2lvbnMvbWF0aCc7XG5pbXBvcnQgeyBJbWFnZVVwbG9hZE5vZGUgfSBmcm9tICcuLi9leHRlbnNpb25zL2ltYWdlJztcbmltcG9ydCB7IE1lZGlhIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9tZWRpYSc7XG5pbXBvcnQgeyBDU1NNYXJrIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9jc3MnO1xuXG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4vVGlwdGFwQ29udGFpbmVyJztcbmltcG9ydCB7IHZhbHVlVG9TaXplIH0gZnJvbSAnLi4vdXRpbHMvc2l6ZSc7XG5pbXBvcnQgeyBidWlsZEV4dGVuc2lvbnMgfSBmcm9tICcuLi9leHRlbnNpb25zJztcblxuY29uc3QgZGVmYXVsdFRvb2xiYXJPcHRzID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gIGFsaWdubWVudDogJ2xlZnQnLFxuICBhbHdheXNWaXNpYmxlOiBmYWxzZSxcbiAgc2hvd0RvbmU6IHRydWUsXG4gIGRvbmVPbjogJ2JsdXInLFxufTtcblxuY29uc3QgZGVmYXVsdFJlc3BvbnNlQXJlYVByb3BzID0ge1xuICBvcHRpb25zOiB7fSxcbiAgcmVzcEFyZWFUb29sYmFyOiAoKSA9PiB7fSxcbiAgb25IYW5kbGVBcmVhQ2hhbmdlOiAoKSA9PiB7fSxcbn07XG5cbmNvbnN0IERFRkFVTFRfQUNUSVZFX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgJ2l0YWxpYycsXG4gICd1bmRlcmxpbmUnLFxuICAnc3RyaWtldGhyb3VnaCcsXG4gICdjb2RlJyxcbiAgJ2J1bGxldGVkLWxpc3QnLFxuICAnbnVtYmVyZWQtbGlzdCcsXG4gICdpbWFnZScsXG4gICdtYXRoJyxcbiAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ3RhYmxlJyxcbiAgJ3ZpZGVvJyxcbiAgJ2F1ZGlvJyxcbiAgJ3Jlc3BvbnNlQXJlYScsXG4gICdzdXBlcnNjcmlwdCcsXG4gICdzdWJzY3JpcHQnLFxuICAnY3NzJyxcbiAgJ2gzJyxcbiAgJ3VuZG8nLFxuICAncmVkbycsXG5dO1xuXG5jb25zdCBjc3NWYXJpYWJsZXMgPSB7XG4gICctLXdoaXRlJzogJyNmZmYnLFxuICAnLS1ibGFjayc6ICcjMmUyYjI5JyxcbiAgJy0tYmxhY2stY29udHJhc3QnOiAnIzExMGYwZScsXG4gICctLWdyYXktMSc6ICdyZ2JhKDYxLCAzNywgMjAsIC4wNSknLFxuICAnLS1ncmF5LTInOiAncmdiYSg2MSwgMzcsIDIwLCAuMDgpJyxcbiAgJy0tZ3JheS0zJzogJ3JnYmEoNjEsIDM3LCAyMCwgLjEyKScsXG4gICctLWdyYXktNCc6ICdyZ2JhKDUzLCAzOCwgMjgsIC4zKScsXG4gICctLWdyYXktNSc6ICdyZ2JhKDI4LCAyNSwgMjMsIC42KScsXG4gICctLWdyZWVuJzogJyMyMmM1NWUnLFxuICAnLS1wdXJwbGUnOiAnIzZhMDBmNScsXG4gICctLXB1cnBsZS1jb250cmFzdCc6ICcjNTgwMGNjJyxcbiAgJy0tcHVycGxlLWxpZ2h0JzogJ3JnYmEoODgsIDUsIDI1NSwgLjA1KScsXG4gICctLXllbGxvdy1jb250cmFzdCc6ICcjZmFjYzE1JyxcbiAgJy0teWVsbG93JzogJ3JnYmEoMjUwLCAyMDQsIDIxLCAuNCknLFxuICAnLS15ZWxsb3ctbGlnaHQnOiAnI2ZmZmFlNScsXG4gICctLXJlZCc6ICcjZmY1YzMzJyxcbiAgJy0tcmVkLWxpZ2h0JzogJyNmZmViZTUnLFxuICAnLS1zaGFkb3cnOiBgMHB4IDEycHggMzNweCAwcHggcmdiYSgwLCAwLCAwLCAuMDYpLFxuICAgICAgICAgICAgICAgMHB4IDMuNjE4cHggOS45NDlweCAwcHggcmdiYSgwLCAwLCAwLCAuMDQpYCxcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0YWJsZUh0bWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBzaG93UGFyYWdyYXBocywgc2VwYXJhdGVQYXJhZ3JhcGhzIH0gPSBwcm9wcy5wbHVnaW5Qcm9wcyB8fCB7fTtcbiAgY29uc3QgW3BlbmRpbmdJbWFnZXMsIHNldFBlbmRpbmdJbWFnZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbc2NoZWR1bGVkLCBzZXRTY2hlZHVsZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGNsYXNzZXMsIHRvb2xiYXJPcHRzIH0gPSBwcm9wcztcblxuICBjb25zdCB0b29sYmFyT3B0c1RvVXNlID0ge1xuICAgIC4uLmRlZmF1bHRUb29sYmFyT3B0cyxcbiAgICAuLi50b29sYmFyT3B0cyxcbiAgfTtcblxuICBjb25zdCBhY3RpdmVQbHVnaW5zVG9Vc2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgeyBjdXN0b21QbHVnaW5zLCAuLi5vdGhlclBsdWdpblByb3BzIH0gPSBwcm9wcy5wbHVnaW5Qcm9wcyB8fCB7fTtcblxuICAgIGN1c3RvbVBsdWdpbnMgPSBjdXN0b21QbHVnaW5zIHx8IFtdO1xuXG4gICAgY29uc3QgZmlsdGVyZWRBY3RpdmVQbHVnaW5zID0gKHByb3BzLmFjdGl2ZVBsdWdpbnMgfHwgREVGQVVMVF9BQ1RJVkVfUExVR0lOUyk/LmZpbHRlcigocGx1Z2luTmFtZSkgPT4ge1xuICAgICAgY29uc3QgcGx1Z2luSW5mbyA9IG90aGVyUGx1Z2luUHJvcHNbcGx1Z2luTmFtZV0gfHwge307XG5cbiAgICAgIHJldHVybiAhcGx1Z2luSW5mbyB8fCAhcGx1Z2luSW5mby5kaXNhYmxlZDtcbiAgICB9KTtcblxuICAgIHJldHVybiBidWlsZEV4dGVuc2lvbnMoZmlsdGVyZWRBY3RpdmVQbHVnaW5zLCBjdXN0b21QbHVnaW5zLCB7XG4gICAgICBtYXRoOiB7fSxcbiAgICAgIHRleHRBbGlnbjoge30sXG4gICAgICBodG1sOiB7fSxcbiAgICAgIGV4dHJhQ1NTUnVsZXM6IHByb3BzLmV4dHJhQ1NTUnVsZXMgfHwge30sXG4gICAgICBpbWFnZToge30sXG4gICAgICB0b29sYmFyOiB7fSxcbiAgICAgIHRhYmxlOiB7fSxcbiAgICAgIHJlc3BvbnNlQXJlYToge1xuICAgICAgICB0eXBlOiBwcm9wcy5yZXNwb25zZUFyZWFQcm9wcz8udHlwZSxcbiAgICAgIH0sXG4gICAgICBsYW5ndWFnZUNoYXJhY3RlcnM6IHByb3BzLmxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiB7fSxcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiB7fSxcbiAgICAgIG1lZGlhOiB7fSxcbiAgICB9KTtcbiAgfSwgW3Byb3BzXSk7XG5cbiAgY29uc3QgZXh0ZW5zaW9ucyA9IFtcbiAgICBUZXh0U3R5bGVLaXQsXG4gICAgQ2hhcmFjdGVyQ291bnQuY29uZmlndXJlKHtcbiAgICAgIGxpbWl0OiBwcm9wcy5jaGFyYWN0ZXJzTGltaXQsXG4gICAgfSksXG4gICAgU3RhcnRlcktpdCxcbiAgICBFeHRlbmRlZFRhYmxlLFxuICAgIFRhYmxlUm93LFxuICAgIFRhYmxlSGVhZGVyLFxuICAgIFRhYmxlQ2VsbCxcbiAgICBSZXNwb25zZUFyZWFFeHRlbnNpb24uY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgRHJhZ0luVGhlQmxhbmtOb2RlLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgSW5saW5lRHJvcGRvd25Ob2RlLmNvbmZpZ3VyZShwcm9wcy5yZXNwb25zZUFyZWFQcm9wcyksXG4gICAgTWF0aE5vZGUuY29uZmlndXJlKHtcbiAgICAgIHRvb2xiYXJPcHRzOiB0b29sYmFyT3B0c1RvVXNlLFxuICAgIH0pLFxuICAgIFN1YlNjcmlwdCxcbiAgICBTdXBlclNjcmlwdCxcbiAgICBUZXh0QWxpZ24uY29uZmlndXJlKHtcbiAgICAgIHR5cGVzOiBbJ2hlYWRpbmcnLCAncGFyYWdyYXBoJ10sXG4gICAgICBhbGlnbm1lbnRzOiBbJ2xlZnQnLCAncmlnaHQnLCAnY2VudGVyJ10sXG4gICAgfSksXG4gICAgSW1hZ2UsXG4gICAgSW1hZ2VVcGxvYWROb2RlLmNvbmZpZ3VyZSh7XG4gICAgICB0b29sYmFyT3B0czogdG9vbGJhck9wdHNUb1VzZSxcbiAgICAgIGltYWdlSGFuZGxpbmc6IHtcbiAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uczogcHJvcHMuZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyxcbiAgICAgICAgb25Eb25lOiAoKSA9PiBwcm9wcy5vbkRvbmU/LihlZGl0b3IuZ2V0SFRNTCgpKSxcbiAgICAgICAgb25EZWxldGU6XG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0ICYmXG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0LmRlbGV0ZSAmJlxuICAgICAgICAgICgobm9kZSwgZG9uZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBzcmMgfSA9IG5vZGUuYXR0cnM7XG5cbiAgICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdQZW5kaW5nSW1hZ2VzID0gcGVuZGluZ0ltYWdlcy5maWx0ZXIoKGltZykgPT4gaW1nLmtleSAhPT0gbm9kZS5rZXkpO1xuICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSW1hZ2VzOiBuZXdQZW5kaW5nSW1hZ2VzLFxuICAgICAgICAgICAgICAgIHNjaGVkdWxlZDogc2NoZWR1bGVkICYmIG5ld1BlbmRpbmdJbWFnZXMubGVuZ3RoID09PSAwID8gZmFsc2UgOiBzY2hlZHVsZWQsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgc2V0UGVuZGluZ0ltYWdlcyhuZXdTdGF0ZS5wZW5kaW5nSW1hZ2VzKTtcbiAgICAgICAgICAgICAgc2V0U2NoZWR1bGVkKG5ld1N0YXRlLnNjaGVkdWxlZCk7XG4gICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICBpbnNlcnRJbWFnZVJlcXVlc3RlZDpcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQgJiZcbiAgICAgICAgICAoKGFkZGVkSW1hZ2UsIGdldEhhbmRsZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9uRmluaXNoID0gKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICBsZXQgY2I7XG5cbiAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlZCAmJiByZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5pc2ggZWRpdGluZyBvbmx5IG9uIHN1Y2Nlc3NcbiAgICAgICAgICAgICAgICBjYiA9IHByb3BzLm9uQ2hhbmdlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3QgbmV3UGVuZGluZ0ltYWdlcyA9IHBlbmRpbmdJbWFnZXMuZmlsdGVyKChpbWcpID0+IGltZy5rZXkgIT09IGFkZGVkSW1hZ2Uua2V5KTtcbiAgICAgICAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ltYWdlczogbmV3UGVuZGluZ0ltYWdlcyxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICBpZiAobmV3UGVuZGluZ0ltYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBuZXdTdGF0ZS5zY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHNldFBlbmRpbmdJbWFnZXMobmV3U3RhdGUucGVuZGluZ0ltYWdlcyk7XG4gICAgICAgICAgICAgIHNldFNjaGVkdWxlZChuZXdTdGF0ZS5zY2hlZHVsZWQpO1xuICAgICAgICAgICAgICBjYj8uKGVkaXRvci5nZXRIVE1MKCkpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICogVGhlIGhhbmRsZXIgaXMgdGhlIG9iamVjdCB0aHJvdWdoIHdoaWNoIHRoZSBvdXRlciBjb250ZXh0XG4gICAgICAgICAgICAgICAqIGNvbW11bmljYXRlcyBmaWxlIHVwbG9hZCBldmVudHMgbGlrZTogZmlsZUNob3NlbiwgY2FuY2VsLCBwcm9ncmVzc1xuICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IGdldEhhbmRsZXIob25GaW5pc2gpO1xuICAgICAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc2V0UGVuZGluZ0ltYWdlcyhbLi4ucGVuZGluZ0ltYWdlcywgYWRkZWRJbWFnZV0pO1xuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgbWF4SW1hZ2VXaWR0aDogcHJvcHMubWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgbWF4SW1hZ2VIZWlnaHQ6IHByb3BzLm1heEltYWdlSGVpZ2h0LFxuICAgICAgfSxcbiAgICAgIGxpbWl0OiAzLFxuICAgIH0pLFxuICAgIE1lZGlhLmNvbmZpZ3VyZSh7XG4gICAgICB1cGxvYWRTb3VuZFN1cHBvcnQ6IHByb3BzLnVwbG9hZFNvdW5kU3VwcG9ydCxcbiAgICB9KSxcbiAgICBDU1NNYXJrLmNvbmZpZ3VyZSh7XG4gICAgICBleHRyYUNTU1J1bGVzOiBwcm9wcy5leHRyYUNTU1J1bGVzLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0IGVkaXRvciA9IHVzZUVkaXRvcih7XG4gICAgZXh0ZW5zaW9ucyxcbiAgICBpbW1lZGlhdGVseVJlbmRlcjogZmFsc2UsXG4gICAgZWRpdG9yUHJvcHM6IHtcbiAgICAgIGhhbmRsZUtleURvd24odmlldywgZXZlbnQpIHtcbiAgICAgICAgaWYgKHByb3BzLm9uS2V5RG93bikge1xuICAgICAgICAgIHJldHVybiBwcm9wcy5vbktleURvd24oZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIGZhbHNlIHRvIGxldCBkZWZhdWx0IGJlaGF2aW9yIGNvbnRpbnVlXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBlZGl0YWJsZTogIXByb3BzLmRpc2FibGVkLFxuICAgIGNvbnRlbnQ6IHByb3BzLm1hcmt1cCxcbiAgICBvblVwZGF0ZTogKHsgZWRpdG9yLCB0cmFuc2FjdGlvbiB9KSA9PiB7XG4gICAgICBpZiAodHJhbnNhY3Rpb24uaXNEb25lKSB7XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wcy5yZXNwb25zZUFyZWFQcm9wcz8ub25IYW5kbGVBcmVhQ2hhbmdlKSB7XG4gICAgICAgIC8vIHByb3BzLnJlc3BvbnNlQXJlYVByb3BzLm9uSGFuZGxlQXJlYUNoYW5nZShlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIG9uQmx1cjogKHsgZWRpdG9yIH0pID0+IHtcbiAgICAgIGlmICh0b29sYmFyT3B0c1RvVXNlLmRvbmVPbiA9PT0gJ2JsdXInKSB7XG4gICAgICAgIHByb3BzLm9uRG9uZT8uKGVkaXRvci5nZXRIVE1MKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvcHMub25DaGFuZ2U/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGVkaXRvcj8uc2V0RWRpdGFibGUoIXByb3BzLmRpc2FibGVkKTtcbiAgfSwgW3Byb3BzLmRpc2FibGVkLCBlZGl0b3JdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWRpdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm1hcmt1cCAhPT0gZWRpdG9yLmdldEhUTUwoKSkge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnNldENvbnRlbnQocHJvcHMubWFya3VwLCBmYWxzZSk7IC8vIGZhbHNlID0gZG9u4oCZdCBlbWl0IHVwZGF0ZVxuICAgIH1cbiAgfSwgW3Byb3BzLm1hcmt1cCwgZWRpdG9yXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhjc3NWYXJpYWJsZXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZWRpdG9yU3RhdGUgPSB1c2VFZGl0b3JTdGF0ZSh7XG4gICAgZWRpdG9yLFxuICAgIHNlbGVjdG9yOiAoY3R4KSA9PiAoe1xuICAgICAgaXNGb2N1c2VkOiBjdHguZWRpdG9yPy5pc0ZvY3VzZWQsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IHNpemVTdHlsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgbWluV2lkdGgsIHdpZHRoLCBtYXhXaWR0aCwgbWluSGVpZ2h0LCBoZWlnaHQsIG1heEhlaWdodCB9ID0gcHJvcHM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHZhbHVlVG9TaXplKHdpZHRoKSxcbiAgICAgIG1pbldpZHRoOiB2YWx1ZVRvU2l6ZShtaW5XaWR0aCksXG4gICAgICBtYXhXaWR0aDogdmFsdWVUb1NpemUobWF4V2lkdGgpLFxuICAgICAgaGVpZ2h0OiB2YWx1ZVRvU2l6ZShoZWlnaHQpLFxuICAgICAgbWluSGVpZ2h0OiB2YWx1ZVRvU2l6ZShtaW5IZWlnaHQpLFxuICAgICAgbWF4SGVpZ2h0OiB2YWx1ZVRvU2l6ZShtYXhIZWlnaHQpLFxuICAgIH07XG4gIH0sIFtwcm9wc10pO1xuXG4gIHJldHVybiAoXG4gICAgPEVkaXRvckNvbnRhaW5lclxuICAgICAgey4uLntcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGFjdGl2ZVBsdWdpbnM6IGFjdGl2ZVBsdWdpbnNUb1VzZSxcbiAgICAgICAgdG9vbGJhck9wdHM6IHRvb2xiYXJPcHRzVG9Vc2UsXG4gICAgICB9fVxuICAgICAgZWRpdG9yU3RhdGU9e2VkaXRvclN0YXRlfVxuICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgPlxuICAgICAge2VkaXRvciAmJiAoXG4gICAgICAgIDxFZGl0b3JDb250ZW50XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1pbkhlaWdodDogc2l6ZVN0eWxlLm1pbkhlaWdodCxcbiAgICAgICAgICAgIGhlaWdodDogc2l6ZVN0eWxlLmhlaWdodCxcbiAgICAgICAgICAgIG1heEhlaWdodDogc2l6ZVN0eWxlLm1heEhlaWdodCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgW2NsYXNzZXMuc2hvd1BhcmFncmFwaF06IHNob3dQYXJhZ3JhcGhzICYmICFzaG93UGFyYWdyYXBocy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgW2NsYXNzZXMuc2VwYXJhdGVQYXJhZ3JhcGhdOiBzZXBhcmF0ZVBhcmFncmFwaHMgJiYgIXNlcGFyYXRlUGFyYWdyYXBocy5kaXNhYmxlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbGFzc2VzLnJvb3QsXG4gICAgICAgICAgKX1cbiAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9FZGl0b3JDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBTdHlsZWRFZGl0b3IgPSB3aXRoU3R5bGVzKHtcbiAgcm9vdDoge1xuICAgIG91dGxpbmU6ICdub25lICFpbXBvcnRhbnQnLFxuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIHBhZGRpbmc6ICc1cHgnLFxuICAgICAgbWF4SGVpZ2h0OiAnNTAwcHgnLFxuICAgICAgb3V0bGluZTogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgICBwb3NpdGlvbjogJ2luaXRpYWwnLFxuICAgICAgJyYgPiBwJzoge1xuICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgc2hvd1BhcmFncmFwaDoge1xuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIC8vIGEgcCB0aGF0IGhhcyBhIHAgYWZ0ZXIgaXRcbiAgICAgICcmID4gcDpoYXMoKyBwKTo6YWZ0ZXInOiB7XG4gICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgIGNvbnRlbnQ6ICdcIsK2XCInLFxuICAgICAgICBmb250U2l6ZTogJzFlbScsXG4gICAgICAgIGNvbG9yOiAnIzE0NkVCMycsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHNlcGFyYXRlUGFyYWdyYXBoOiB7XG4gICAgJyYgLlByb3NlTWlycm9yJzoge1xuICAgICAgLy8gYSBwIHRoYXQgaGFzIGEgcCBhZnRlciBpdFxuICAgICAgJyYgPiBkaXY6aGFzKCsgZGl2KSc6IHtcbiAgICAgICAgbWFyZ2luQm90dG9tOiAnMWVtJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pKEVkaXRhYmxlSHRtbCk7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZEVkaXRvcjtcbiJdfQ==
@@ -573,7 +573,7 @@ function MenuBar(_ref) {
573
573
  editor.chain().focus().insertResponseArea(responseAreaProps.type).run();
574
574
  },
575
575
  className: classes.button
576
- }, /*#__PURE__*/_react["default"].createElement(_ToolbarIcon.ToolbarIcon, null)), /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
576
+ }, /*#__PURE__*/_react["default"].createElement(_ToolbarIcon.ToolbarIcon, null)), toolbarOpts.showDone && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
577
577
  onClick: function onClick() {
578
578
  onChange === null || onChange === void 0 ? void 0 : onChange(editor.getHTML());
579
579
  editor.commands.blur();
@@ -691,4 +691,4 @@ var StyledMenuBar = (0, _styles.withStyles)(style, {
691
691
  })(MenuBar);
692
692
  var _default = StyledMenuBar;
693
693
  exports["default"] = _default;
694
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL01lbnVCYXIuanN4Il0sIm5hbWVzIjpbIlN1cGVyc2NyaXB0SWNvbiIsIlN1YnNjcmlwdEljb24iLCJIZWFkaW5nSWNvbiIsIndpZHRoIiwiaGVpZ2h0IiwiTWVudUJhciIsImVkaXRvciIsImNsYXNzZXMiLCJhY3RpdmVQbHVnaW5zIiwidG9vbE9wdHMiLCJ0b29sYmFyT3B0cyIsInJlc3BvbnNlQXJlYVByb3BzIiwib25DaGFuZ2UiLCJzaG93UGlja2VyIiwic2V0U2hvd1BpY2tlciIsImVkaXRvclN0YXRlIiwic2VsZWN0b3IiLCJjdHgiLCJzdGF0ZSIsInNlbGVjdGlvbiIsImN1cnJlbnROb2RlIiwiTm9kZVNlbGVjdGlvbiIsIm5vZGUiLCJoaWRlRGVmYXVsdFRvb2xiYXIiLCJpc0FjdGl2ZSIsImlzRm9jdXNlZCIsImlzQm9sZCIsImNhbkJvbGQiLCJjYW4iLCJjaGFpbiIsInRvZ2dsZUJvbGQiLCJydW4iLCJpc1RhYmxlIiwidGFibGVIYXNCb3JkZXIiLCJnZXRBdHRyaWJ1dGVzIiwiYm9yZGVyIiwiY2FuVGFibGUiLCJpbnNlcnRUYWJsZSIsImlzSXRhbGljIiwiY2FuSXRhbGljIiwidG9nZ2xlSXRhbGljIiwiaXNTdHJpa2UiLCJjYW5TdHJpa2UiLCJ0b2dnbGVTdHJpa2UiLCJpc0NvZGUiLCJjYW5Db2RlIiwidG9nZ2xlQ29kZSIsImNhbkNsZWFyTWFya3MiLCJ1bnNldEFsbE1hcmtzIiwiaXNVbmRlcmxpbmUiLCJpc1N1YlNjcmlwdCIsImlzU3VwZXJTY3JpcHQiLCJpc1BhcmFncmFwaCIsImlzSGVhZGluZzEiLCJsZXZlbCIsImlzSGVhZGluZzIiLCJpc0hlYWRpbmczIiwiaXNIZWFkaW5nNCIsImlzSGVhZGluZzUiLCJpc0hlYWRpbmc2IiwiaXNCdWxsZXRMaXN0IiwiaXNPcmRlcmVkTGlzdCIsImlzQ29kZUJsb2NrIiwiaXNCbG9ja3F1b3RlIiwiY2FuVW5kbyIsInVuZG8iLCJjYW5SZWRvIiwicmVkbyIsImhhc0RvbmVCdXR0b24iLCJhdXRvV2lkdGgiLCJuYW1lcyIsInRvb2xiYXIiLCJQSUVfVE9PTEJBUl9fQ0xBU1MiLCJ0b29sYmFyV2l0aE5vRG9uZSIsInRvb2xiYXJUb3AiLCJwb3NpdGlvbiIsInRvb2xiYXJSaWdodCIsImFsaWdubWVudCIsImZvY3VzZWQiLCJhbHdheXNWaXNpYmxlIiwiX3Rvb2xiYXJPcGVuZWQiLCJmdWxsV2lkdGgiLCJoaWRkZW4iLCJpc0hpZGRlbiIsImN1c3RvbVN0eWxlcyIsIm1pbldpZHRoIiwidW5kZWZpbmVkIiwiaGFuZGxlTW91c2VEb3duIiwiZSIsInByZXZlbnREZWZhdWx0IiwidG9vbGJhckJ1dHRvbnMiLCJpY29uIiwib25DbGljayIsImZvY3VzIiwicm93cyIsImNvbHMiLCJ3aXRoSGVhZGVyUm93IiwiaW5jbHVkZXMiLCJpc0Rpc2FibGVkIiwiYWRkUm93QWZ0ZXIiLCJkZWxldGVSb3ciLCJhZGRDb2x1bW5BZnRlciIsImRlbGV0ZUNvbHVtbiIsImRlbGV0ZVRhYmxlIiwidGFibGVBdHRycyIsInVwZGF0ZSIsImNvbW1hbmRzIiwidXBkYXRlQXR0cmlidXRlcyIsInRvZ2dsZVVuZGVybGluZSIsInRvZ2dsZVN1YnNjcmlwdCIsInRvZ2dsZVN1cGVyc2NyaXB0Iiwic2V0SW1hZ2VVcGxvYWROb2RlIiwiaW5zZXJ0TWVkaWEiLCJ0eXBlIiwidGFnIiwib3BlbkNTU0NsYXNzRGlhbG9nIiwidG9nZ2xlSGVhZGluZyIsImluc2VydE1hdGgiLCJzcGFuaXNoQ29uZmlnIiwiZmlsdGVyIiwicCIsImxlbmd0aCIsInNwZWNpYWxDb25maWciLCJ0b2dnbGVCdWxsZXRMaXN0IiwidG9nZ2xlT3JkZXJlZExpc3QiLCJkZWZhdWx0VG9vbGJhciIsImJ1dHRvbnNDb250YWluZXIiLCJidG4iLCJtYXAiLCJpbmRleCIsImRpc2FibGVkIiwiYWN0aXZlIiwiYnV0dG9uIiwiaW5zZXJ0UmVzcG9uc2VBcmVhIiwiZ2V0SFRNTCIsImJsdXIiLCJyZW5kZXJQb3BPdmVyIiwiZXYiLCJjaCIsImNvbnNvbGUiLCJsb2ciLCJjbG9zZVBvcE92ZXIiLCJzdHlsZSIsInRoZW1lIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImNvbG9yIiwicGFkZGluZyIsImJhY2tncm91bmQiLCJjdXJzb3IiLCJvdXRsaW5lIiwicGFsZXR0ZSIsImdyZXkiLCJvcGFjaXR5IiwiekluZGV4IiwibWFyZ2luIiwiYm94U2hhZG93IiwiYm94U2l6aW5nIiwicG9pbnRlckV2ZW50cyIsInRvcCIsInJpZ2h0IiwidmlzaWJpbGl0eSIsImljb25Sb290IiwidmVydGljYWxBbGlnbiIsImxhYmVsIiwic2hhcmVkIiwiU3R5bGVkTWVudUJhciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCO0FBQUEsc0JBQ3RCO0FBQUssSUFBQSxLQUFLLEVBQUMsNEJBQVg7QUFBd0MsSUFBQSxNQUFNLEVBQUMsTUFBL0M7QUFBc0QsSUFBQSxPQUFPLEVBQUMsV0FBOUQ7QUFBMEUsSUFBQSxLQUFLLEVBQUMsTUFBaEY7QUFBdUYsSUFBQSxJQUFJLEVBQUM7QUFBNUYsa0JBQ0U7QUFDRSxJQUFBLENBQUMsRUFBQyxnTkFESjtBQUVFLElBQUEsSUFBSSxFQUFDO0FBRlAsSUFERixDQURzQjtBQUFBLENBQXhCOztBQVNBLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0I7QUFBQSxzQkFDcEI7QUFBSyxJQUFBLEtBQUssRUFBQyw0QkFBWDtBQUF3QyxJQUFBLE1BQU0sRUFBQyxNQUEvQztBQUFzRCxJQUFBLE9BQU8sRUFB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LEVBQUU7QUFDVDlFLE1BQUFBLEtBQUssRUFBRTtBQURFLEtBaEVhO0FBbUV4QitFLElBQUFBLE1BQU0sRUFBRTtBQUNOZ0YsTUFBQUEsVUFBVSxFQUFFO0FBRE4sS0FuRWdCO0FBc0V4QjdGLElBQUFBLFNBQVMsRUFBRTtBQUNUbEUsTUFBQUEsS0FBSyxFQUFFO0FBREUsS0F0RWE7QUF5RXhCMkUsSUFBQUEsT0FBTyxFQUFFO0FBQ1A0RSxNQUFBQSxPQUFPLEVBQUUsQ0FERjtBQUVQSyxNQUFBQSxhQUFhLEVBQUU7QUFGUixLQXpFZTtBQTZFeEJJLElBQUFBLFFBQVEsRUFBRTtBQUNSaEssTUFBQUEsS0FBSyxFQUFFLE1BREM7QUFFUkMsTUFBQUEsTUFBTSxFQUFFLE1BRkE7QUFHUmdKLE1BQUFBLE9BQU8sRUFBRSxLQUhEO0FBSVJnQixNQUFBQSxhQUFhLEVBQUU7QUFKUCxLQTdFYztBQW1GeEJDLElBQUFBLEtBQUssRUFBRTtBQUNMbEIsTUFBQUEsS0FBSyxFQUFFO0FBREYsS0FuRmlCO0FBc0Z4Qm1CLElBQUFBLE1BQU0sRUFBRTtBQUNOdEIsTUFBQUEsT0FBTyxFQUFFO0FBREg7QUF0RmdCLEdBQVo7QUFBQSxDQUFkOztBQTJGQSxJQUFNdUIsYUFBYSxHQUFHLHdCQUFXekIsS0FBWCxFQUFrQjtBQUFFYixFQUFBQSxLQUFLLEVBQUU7QUFBVCxDQUFsQixFQUFtQzVILE9BQW5DLENBQXRCO2VBRWVrSyxhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IE5vZGVTZWxlY3Rpb24gfSBmcm9tICdwcm9zZW1pcnJvci1zdGF0ZSc7XG5cbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbmltcG9ydCBJdGFsaWMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdEl0YWxpYyc7XG5pbXBvcnQgU3RyaWtldGhyb3VnaCBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0U3RyaWtldGhyb3VnaCc7XG5pbXBvcnQgQ29kZSBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvQ29kZSc7XG5pbXBvcnQgR3JpZE9uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9HcmlkT24nO1xuaW1wb3J0IEJ1bGxldGVkTGlzdEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdExpc3RCdWxsZXRlZCc7XG5pbXBvcnQgTnVtYmVyZWRMaXN0SWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0TGlzdE51bWJlcmVkJztcbmltcG9ydCBVbmRlcmxpbmUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdFVuZGVybGluZWQnO1xuaW1wb3J0IEZ1bmN0aW9ucyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRnVuY3Rpb25zJztcbmltcG9ydCBJbWFnZUljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0ltYWdlJztcbmltcG9ydCBSZWRvIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9SZWRvJztcbmltcG9ydCBVbmRvIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9VbmRvJztcbmltcG9ydCBUaGVhdGVyc0ljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1RoZWF0ZXJzJztcbmltcG9ydCBWb2x1bWVVcEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1ZvbHVtZVVwJztcbmltcG9ydCBCb3JkZXJBbGwgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0JvcmRlckFsbCc7XG5cbmltcG9ydCB7IEVkaXRvckNvbnRlbnQsIHVzZUVkaXRvclN0YXRlIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5cbmltcG9ydCB7IFBJRV9UT09MQkFSX19DTEFTUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUb29sYmFySWNvbiB9IGZyb20gJy4vcmVzcEFyZWEvVG9vbGJhckljb24nO1xuaW1wb3J0IHsgc3BhbmlzaENvbmZpZywgc3BlY2lhbENvbmZpZyB9IGZyb20gJy4vY2hhcmFjdGVycy9jaGFyYWN0ZXJVdGlscyc7XG5pbXBvcnQgVGV4dEFsaWduSWNvbiBmcm9tICcuL2ljb25zL1RleHRBbGlnbic7XG5pbXBvcnQgQ1NTSWNvbiBmcm9tICcuL2ljb25zL0Nzc0ljb24nO1xuaW1wb3J0IHsgQWRkQ29sdW1uLCBBZGRSb3csIFJlbW92ZUNvbHVtbiwgUmVtb3ZlUm93LCBSZW1vdmVUYWJsZSB9IGZyb20gJy4vaWNvbnMvVGFibGVJY29ucyc7XG5cbmltcG9ydCB7IENoYXJhY3Rlckljb24sIENoYXJhY3RlclBpY2tlciB9IGZyb20gJy4vQ2hhcmFjdGVyUGlja2VyJztcbmltcG9ydCB7IERvbmVCdXR0b24gfSBmcm9tICcuL2NvbW1vbi9kb25lLWJ1dHRvbic7XG5cbmNvbnN0IFN1cGVyc2NyaXB0SWNvbiA9ICgpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLDdoLTJ2MWgzdjFoLTRWN2MwLTAuNTUsMC40NS0xLDEtMWgyVjVoLTNWNGgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsNi41NSwyMi41NSw3LDIyLDd6IE01Ljg4LDIwaDIuNjZsMy40LTUuNDJoMC4xMiBsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDZoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDZINi4xOWw0LjMyLDYuNzNMNS44OCwyMHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBTdWJzY3JpcHRJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCJub25lXCI+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMjIsMThoLTJ2MWgzdjFoLTR2LTJjMC0wLjU1LDAuNDUtMSwxLTFoMnYtMWgtM3YtMWgzYzAuNTUsMCwxLDAuNDUsMSwxdjFDMjMsMTcuNTUsMjIuNTUsMTgsMjIsMTh6IE01Ljg4LDE4aDIuNjYgbDMuNC01LjQyaDAuMTJsMy40LDUuNDJoMi42NmwtNC42NS03LjI3TDE3LjgxLDRoLTIuNjhsLTMuMDcsNC45OWgtMC4xMkw4Ljg1LDRINi4xOWw0LjMyLDYuNzNMNS44OCwxOHpcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBIZWFkaW5nSWNvbiA9ICgpID0+IChcbiAgPHN2Z1xuICAgIHdpZHRoPVwiMzBcIlxuICAgIGhlaWdodD1cIjI4XCJcbiAgICB2aWV3Qm94PVwiMCAwIDMwIDI4XCJcbiAgICBmaWxsPVwibm9uZVwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgc3R5bGU9e3sgd2lkdGg6ICcyMHB4JywgaGVpZ2h0OiAnMThweCcgfX1cbiAgPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTI3IDRWMjRIMjlDMjkuNSAyNCAzMCAyNC41IDMwIDI1VjI3QzMwIDI3LjU2MjUgMjkuNSAyOCAyOSAyOEgxOUMxOC40Mzc1IDI4IDE4IDI3LjU2MjUgMTggMjdWMjVDMTggMjQuNSAxOC40Mzc1IDI0IDE5IDI0SDIxVjE2SDlWMjRIMTFDMTEuNSAyNCAxMiAyNC41IDEyIDI1VjI3QzEyIDI3LjU2MjUgMTEuNSAyOCAxMSAyOEgxQzAuNDM3NSAyOCAwIDI3LjU2MjUgMCAyN1YyNUMwIDI0LjUgMC40Mzc1IDI0IDEgMjRIM1Y0SDFDMC40Mzc1IDQgMCAzLjU2MjUgMCAzVjFDMCAwLjUgMC40Mzc1IDAgMSAwSDExQzExLjUgMCAxMiAwLjUgMTIgMVYzQzEyIDMuNTYyNSAxMS41IDQgMTEgNEg5VjEySDIxVjRIMTlDMTguNDM3NSA0IDE4IDMuNTYyNSAxOCAzVjFDMTggMC41IDE4LjQzNzUgMCAxOSAwSDI5QzI5LjUgMCAzMCAwLjUgMzAgMVYzQzMwIDMuNTYyNSAyOS41IDQgMjkgNEgyN1pcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5mdW5jdGlvbiBNZW51QmFyKHsgZWRpdG9yLCBjbGFzc2VzLCBhY3RpdmVQbHVnaW5zLCB0b29sYmFyT3B0czogdG9vbE9wdHMsIHJlc3BvbnNlQXJlYVByb3BzLCBvbkNoYW5nZSB9KSB7XG4gIGNvbnN0IFtzaG93UGlja2VyLCBzZXRTaG93UGlja2VyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgdG9vbGJhck9wdHMgPSB0b29sT3B0cyA/PyB7fTtcblxuICBjb25zdCBlZGl0b3JTdGF0ZSA9IHVzZUVkaXRvclN0YXRlKHtcbiAgICBlZGl0b3IsXG4gICAgc2VsZWN0b3I6IChjdHgpID0+IHtcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBjdHguZWRpdG9yPy5zdGF0ZSB8fCB7fTtcblxuICAgICAgbGV0IGN1cnJlbnROb2RlO1xuXG4gICAgICBpZiAoc2VsZWN0aW9uIGluc3RhbmNlb2YgTm9kZVNlbGVjdGlvbikge1xuICAgICAgICBjdXJyZW50Tm9kZSA9IHNlbGVjdGlvbi5ub2RlOyAvLyB0aGUgc2VsZWN0ZWQgbm9kZVxuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRlRGVmYXVsdFRvb2xiYXIgPVxuICAgICAgICBjdHguZWRpdG9yPy5pc0FjdGl2ZSgnbWF0aCcpIHx8XG4gICAgICAgIGN0eC5lZGl0b3I/LmlzQWN0aXZlKCdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScpIHx8XG4gICAgICAgIGN0eC5lZGl0b3I/LmlzQWN0aXZlKCdpbWFnZVVwbG9hZE5vZGUnKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudE5vZGUsXG4gICAgICAgIGhpZGVEZWZhdWx0VG9vbGJhcixcbiAgICAgICAgaXNGb2N1c2VkOiBjdHguZWRpdG9yPy5pc0ZvY3VzZWQsXG4gICAgICAgIGlzQm9sZDogY3R4LmVkaXRvci5pc0FjdGl2ZSgnYm9sZCcpID8/IGZhbHNlLFxuICAgICAgICBjYW5Cb2xkOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC50b2dnbGVCb2xkKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgICAgaXNUYWJsZTogY3R4LmVkaXRvci5pc0FjdGl2ZSgndGFibGUnKSA/PyBmYWxzZSxcbiAgICAgICAgdGFibGVIYXNCb3JkZXI6IGN0eC5lZGl0b3IuZ2V0QXR0cmlidXRlcygndGFibGUnKT8uYm9yZGVyID09PSAnMScgPz8gZmFsc2UsXG4gICAgICAgIGNhblRhYmxlOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5pbnNlcnRUYWJsZSgpXG4gICAgICAgICAgICAucnVuKCkgPz8gZmFsc2UsXG4gICAgICAgIGlzSXRhbGljOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdpdGFsaWMnKSA/PyBmYWxzZSxcbiAgICAgICAgY2FuSXRhbGljOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC50b2dnbGVJdGFsaWMoKVxuICAgICAgICAgICAgLnJ1bigpID8/IGZhbHNlLFxuICAgICAgICBpc1N0cmlrZTogY3R4LmVkaXRvci5pc0FjdGl2ZSgnc3RyaWtlJykgPz8gZmFsc2UsXG4gICAgICAgIGNhblN0cmlrZTpcbiAgICAgICAgICBjdHguZWRpdG9yXG4gICAgICAgICAgICAuY2FuKClcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAudG9nZ2xlU3RyaWtlKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgICAgaXNDb2RlOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdjb2RlJykgPz8gZmFsc2UsXG4gICAgICAgIGNhbkNvZGU6XG4gICAgICAgICAgY3R4LmVkaXRvclxuICAgICAgICAgICAgLmNhbigpXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLnRvZ2dsZUNvZGUoKVxuICAgICAgICAgICAgLnJ1bigpID8/IGZhbHNlLFxuICAgICAgICBjYW5DbGVhck1hcmtzOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC51bnNldEFsbE1hcmtzKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgICAgaXNVbmRlcmxpbmU6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ3VuZGVybGluZScpID8/IGZhbHNlLFxuICAgICAgICBpc1N1YlNjcmlwdDogY3R4LmVkaXRvci5pc0FjdGl2ZSgnc3Vic2NyaXB0JykgPz8gZmFsc2UsXG4gICAgICAgIGlzU3VwZXJTY3JpcHQ6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ3N1cGVyc2NyaXB0JykgPz8gZmFsc2UsXG4gICAgICAgIGlzUGFyYWdyYXBoOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdwYXJhZ3JhcGgnKSA/PyBmYWxzZSxcbiAgICAgICAgaXNIZWFkaW5nMTogY3R4LmVkaXRvci5pc0FjdGl2ZSgnaGVhZGluZycsIHsgbGV2ZWw6IDEgfSkgPz8gZmFsc2UsXG4gICAgICAgIGlzSGVhZGluZzI6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ2hlYWRpbmcnLCB7IGxldmVsOiAyIH0pID8/IGZhbHNlLFxuICAgICAgICBpc0hlYWRpbmczOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdoZWFkaW5nJywgeyBsZXZlbDogMyB9KSA/PyBmYWxzZSxcbiAgICAgICAgaXNIZWFkaW5nNDogY3R4LmVkaXRvci5pc0FjdGl2ZSgnaGVhZGluZycsIHsgbGV2ZWw6IDQgfSkgPz8gZmFsc2UsXG4gICAgICAgIGlzSGVhZGluZzU6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ2hlYWRpbmcnLCB7IGxldmVsOiA1IH0pID8/IGZhbHNlLFxuICAgICAgICBpc0hlYWRpbmc2OiBjdHguZWRpdG9yLmlzQWN0aXZlKCdoZWFkaW5nJywgeyBsZXZlbDogNiB9KSA/PyBmYWxzZSxcbiAgICAgICAgaXNCdWxsZXRMaXN0OiBjdHguZWRpdG9yLmlzQWN0aXZlKCdidWxsZXRMaXN0JykgPz8gZmFsc2UsXG4gICAgICAgIGlzT3JkZXJlZExpc3Q6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ29yZGVyZWRMaXN0JykgPz8gZmFsc2UsXG4gICAgICAgIGlzQ29kZUJsb2NrOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdjb2RlQmxvY2snKSA/PyBmYWxzZSxcbiAgICAgICAgaXNCbG9ja3F1b3RlOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdibG9ja3F1b3RlJykgPz8gZmFsc2UsXG4gICAgICAgIGNhblVuZG86XG4gICAgICAgICAgY3R4LmVkaXRvclxuICAgICAgICAgICAgLmNhbigpXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLnVuZG8oKVxuICAgICAgICAgICAgLnJ1bigpID8/IGZhbHNlLFxuICAgICAgICBjYW5SZWRvOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5yZWRvKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgIH07XG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3QgaGFzRG9uZUJ1dHRvbiA9IGZhbHNlO1xuICBjb25zdCBhdXRvV2lkdGggPSBmYWxzZTtcblxuICBjb25zdCBuYW1lcyA9IGNsYXNzTmFtZXMoY2xhc3Nlcy50b29sYmFyLCBQSUVfVE9PTEJBUl9fQ0xBU1MsIHtcbiAgICBbY2xhc3Nlcy50b29sYmFyV2l0aE5vRG9uZV06ICFoYXNEb25lQnV0dG9uLFxuICAgIFtjbGFzc2VzLnRvb2xiYXJUb3BdOiB0b29sYmFyT3B0cy5wb3NpdGlvbiA9PT0gJ3RvcCcsXG4gICAgW2NsYXNzZXMudG9vbGJhclJpZ2h0XTogdG9vbGJhck9wdHMuYWxpZ25tZW50ID09PSAncmlnaHQnLFxuICAgIFtjbGFzc2VzLmZvY3VzZWRdOiB0b29sYmFyT3B0cy5hbHdheXNWaXNpYmxlIHx8IChlZGl0b3JTdGF0ZS5pc0ZvY3VzZWQgJiYgIWVkaXRvci5fdG9vbGJhck9wZW5lZCksXG4gICAgW2NsYXNzZXMuYXV0b1dpZHRoXTogYXV0b1dpZHRoLFxuICAgIFtjbGFzc2VzLmZ1bGxXaWR0aF06ICFhdXRvV2lkdGgsXG4gICAgW2NsYXNzZXMuaGlkZGVuXTogdG9vbGJhck9wdHMuaXNIaWRkZW4gPT09IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0IGN1c3RvbVN0eWxlcyA9IHRvb2xiYXJPcHRzLm1pbldpZHRoICE9PSB1bmRlZmluZWQgPyB7IG1pbldpZHRoOiB0b29sYmFyT3B0cy5taW5XaWR0aCB9IDoge307XG5cbiAgY29uc3QgaGFuZGxlTW91c2VEb3duID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH07XG5cbiAgY29uc3QgdG9vbGJhckJ1dHRvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPEdyaWRPbiAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLmluc2VydFRhYmxlKHsgcm93czogMiwgY29sczogMiwgd2l0aEhlYWRlclJvdzogZmFsc2UgfSlcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygndGFibGUnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5UYWJsZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxBZGRSb3cgLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5hZGRSb3dBZnRlcigpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8UmVtb3ZlUm93IC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAuZGVsZXRlUm93KClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5UYWJsZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxBZGRDb2x1bW4gLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5hZGRDb2x1bW5BZnRlcigpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8UmVtb3ZlQ29sdW1uIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAuZGVsZXRlQ29sdW1uKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5UYWJsZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxSZW1vdmVUYWJsZSAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLmRlbGV0ZVRhYmxlKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5UYWJsZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxCb3JkZXJBbGwgLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+IHtcbiAgICAgICAgICBjb25zdCB0YWJsZUF0dHJzID0gZWRpdG9yLmdldEF0dHJpYnV0ZXMoJ3RhYmxlJyk7XG5cbiAgICAgICAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICAgICAgICAuLi50YWJsZUF0dHJzLFxuICAgICAgICAgICAgYm9yZGVyOiB0YWJsZUF0dHJzLmJvcmRlciAhPT0gJzAnID8gJzAnIDogJzEnLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygndGFibGUnLCB1cGRhdGUpO1xuICAgICAgICB9LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIXN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLnRhYmxlSGFzQm9yZGVyLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5UYWJsZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxCb2xkIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlQm9sZCgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ2JvbGQnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc0JvbGQsXG4gICAgICAgIGlzRGlzYWJsZWQ6IChzdGF0ZSkgPT4gIXN0YXRlLmNhbkJvbGQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8SXRhbGljIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlSXRhbGljKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnaXRhbGljJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNJdGFsaWMsXG4gICAgICAgIGlzRGlzYWJsZWQ6IChzdGF0ZSkgPT4gIXN0YXRlLmNhbkl0YWxpYyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxTdHJpa2V0aHJvdWdoIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlU3RyaWtlKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnc3RyaWtldGhyb3VnaCcpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzU3RyaWtlLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5TdHJpa2UsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8Q29kZSAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnRvZ2dsZUNvZGUoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdjb2RlJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNDb2RlLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5Db2RlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFVuZGVybGluZSAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnRvZ2dsZVVuZGVybGluZSgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3VuZGVybGluZScpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzVW5kZXJsaW5lLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFN1YnNjcmlwdEljb24gLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVTdWJzY3JpcHQoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdzdWJzY3JpcHQnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1N1YlNjcmlwdCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxTdXBlcnNjcmlwdEljb24gLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVTdXBlcnNjcmlwdCgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3N1cGVyc2NyaXB0JykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNTdXBlclNjcmlwdCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxJbWFnZUljb24gLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ2ltYWdlJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnNldEltYWdlVXBsb2FkTm9kZSgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8VGhlYXRlcnNJY29uIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCd2aWRlbycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5pbnNlcnRNZWRpYSh7IHR5cGU6ICd2aWRlbycgfSlcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxWb2x1bWVVcEljb24gLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ2F1ZGlvJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLmluc2VydE1lZGlhKHsgdHlwZTogJ2F1ZGlvJywgdGFnOiAnYXVkaW8nIH0pXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8Q1NTSWNvbiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnY3NzJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT4gZWRpdG9yLmNvbW1hbmRzLm9wZW5DU1NDbGFzc0RpYWxvZygpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPEhlYWRpbmdJY29uIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdoMycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVIZWFkaW5nKHsgbGV2ZWw6IDMgfSlcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNIZWFkaW5nMyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxGdW5jdGlvbnMgLz4sXG4gICAgICAgIGhpZGRlbjogKCkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdtYXRoJyksXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5pbnNlcnRNYXRoKCcnKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPENoYXJhY3Rlckljb24gbGV0dGVyPVwiw7FcIiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnbGFuZ3VhZ2VDaGFyYWN0ZXJzJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKCkgPT4gc2V0U2hvd1BpY2tlcihzcGFuaXNoQ29uZmlnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxDaGFyYWN0ZXJJY29uIGxldHRlcj1cIuKCrFwiIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gYWN0aXZlUGx1Z2lucz8uZmlsdGVyKChwKSA9PiBwID09PSAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJykubGVuZ3RoICE9PSAyIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHNldFNob3dQaWNrZXIoc3BlY2lhbENvbmZpZyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8VGV4dEFsaWduSWNvbiBlZGl0b3I9e2VkaXRvcn0gLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3RleHQtYWxpZ24nKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBvbkNsaWNrOiAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxCdWxsZXRlZExpc3RJY29uIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdidWxsZXRlZC1saXN0JykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnRvZ2dsZUJ1bGxldExpc3QoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc0J1bGxldExpc3QsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8TnVtYmVyZWRMaXN0SWNvbiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnbnVtYmVyZWQtbGlzdCcpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVPcmRlcmVkTGlzdCgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzT3JkZXJlZExpc3QsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8VW5kbyAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygndW5kbycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC51bmRvKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVW5kbyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxSZWRvIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdyZWRvJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnJlZG8oKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5SZWRvLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFthY3RpdmVQbHVnaW5zLCBlZGl0b3JdLFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e25hbWVzfSBzdHlsZT17eyAuLi5jdXN0b21TdHlsZXMgfX0gb25Nb3VzZURvd249e2hhbmRsZU1vdXNlRG93bn0+XG4gICAgICB7IWVkaXRvclN0YXRlLmhpZGVEZWZhdWx0VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmRlZmF1bHRUb29sYmFyfSB0YWJJbmRleD1cIjFcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b25zQ29udGFpbmVyfT5cbiAgICAgICAgICAgIHt0b29sYmFyQnV0dG9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChidG4pID0+ICFidG4uaGlkZGVuPy4oZWRpdG9yU3RhdGUpKVxuICAgICAgICAgICAgICAubWFwKChidG4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBidG4uaXNEaXNhYmxlZD8uKGVkaXRvclN0YXRlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBidG4uaXNBY3RpdmU/LihlZGl0b3JTdGF0ZSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgIGJ0bi5vbkNsaWNrKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmJ1dHRvbiwgeyBbY2xhc3Nlcy5hY3RpdmVdOiBhY3RpdmUgfSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtidG4uaWNvbn1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHthY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygncmVzcG9uc2VBcmVhJykgJiYgKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgICAgICAgIC5pbnNlcnRSZXNwb25zZUFyZWEocmVzcG9uc2VBcmVhUHJvcHMudHlwZSlcbiAgICAgICAgICAgICAgICAgIC5ydW4oKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFRvb2xiYXJJY29uIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgPERvbmVCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgb25DaGFuZ2U/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgICAgICAgICAgZWRpdG9yLmNvbW1hbmRzLmJsdXIoKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAge3Nob3dQaWNrZXIgJiYgKFxuICAgICAgICA8Q2hhcmFjdGVyUGlja2VyXG4gICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgb3B0cz17e1xuICAgICAgICAgICAgLi4uc2hvd1BpY2tlcixcbiAgICAgICAgICAgIHJlbmRlclBvcE92ZXI6IChldiwgY2gpID0+IGNvbnNvbGUubG9nKCdTaG93IHBvcG92ZXInLCBjaCksXG4gICAgICAgICAgICBjbG9zZVBvcE92ZXI6ICgpID0+IGNvbnNvbGUubG9nKCdDbG9zZSBwb3BvdmVyJyksXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRTaG93UGlja2VyKGZhbHNlKX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IHN0eWxlID0gKHRoZW1lKSA9PiAoe1xuICBkZWZhdWx0VG9vbGJhcjoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gIH0sXG4gIGJ1dHRvbnNDb250YWluZXI6IHtcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgYnV0dG9uOiB7XG4gICAgY29sb3I6ICdncmV5JyxcbiAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgIHBhZGRpbmc6ICcycHgnLFxuICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICBib3JkZXI6ICdub25lJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAnJjpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiAnYmxhY2snLFxuICAgIH0sXG4gICAgJyY6Zm9jdXMnOiB7XG4gICAgICBvdXRsaW5lOiBgMnB4IHNvbGlkICR7dGhlbWUucGFsZXR0ZS5ncmV5WzcwMF19YCxcbiAgICB9LFxuICB9LFxuICBhY3RpdmU6IHtcbiAgICBjb2xvcjogJ2JsYWNrJyxcbiAgfSxcbiAgZGlzYWJsZWQ6IHtcbiAgICBvcGFjaXR5OiAwLjcsXG4gICAgY3Vyc29yOiAnbm90LWFsbG93ZWQnLFxuICAgICcmIDpob3Zlcic6IHtcbiAgICAgIGNvbG9yOiAnZ3JleScsXG4gICAgfSxcbiAgfSxcbiAgaXNBY3RpdmU6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tcHVycGxlKScsXG4gICAgY29sb3I6ICd2YXIoLS13aGl0ZSknLFxuICB9LFxuICB0b29sYmFyOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgekluZGV4OiAyMCxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICBtaW5XaWR0aDogJzI4MHB4JyxcbiAgICBtYXJnaW46ICc1cHggMCAwIDAnLFxuICAgIHBhZGRpbmc6ICcycHgnLFxuICAgIGJveFNoYWRvdzpcbiAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgb3BhY2l0eTogMCxcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gIH0sXG4gIHRvb2xiYXJXaXRoTm9Eb25lOiB7XG4gICAgbWluV2lkdGg6ICcyNjVweCcsXG4gIH0sXG4gIHRvb2xiYXJUb3A6IHtcbiAgICB0b3A6ICctNDVweCcsXG4gIH0sXG4gIHRvb2xiYXJSaWdodDoge1xuICAgIHJpZ2h0OiAwLFxuICB9LFxuICBmdWxsV2lkdGg6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICBoaWRkZW46IHtcbiAgICB2aXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgfSxcbiAgYXV0b1dpZHRoOiB7XG4gICAgd2lkdGg6ICdhdXRvJyxcbiAgfSxcbiAgZm9jdXNlZDoge1xuICAgIG9wYWNpdHk6IDEsXG4gICAgcG9pbnRlckV2ZW50czogJ2F1dG8nLFxuICB9LFxuICBpY29uUm9vdDoge1xuICAgIHdpZHRoOiAnMjhweCcsXG4gICAgaGVpZ2h0OiAnMjhweCcsXG4gICAgcGFkZGluZzogJzRweCcsXG4gICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gIH0sXG4gIGxhYmVsOiB7XG4gICAgY29sb3I6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItY2hlY2ssICMwMGJiMDApJyxcbiAgfSxcbiAgc2hhcmVkOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICB9LFxufSk7XG5cbmNvbnN0IFN0eWxlZE1lbnVCYXIgPSB3aXRoU3R5bGVzKHN0eWxlLCB7IGluZGV4OiAxMDAwIH0pKE1lbnVCYXIpO1xuXG5leHBvcnQgZGVmYXVsdCBTdHlsZWRNZW51QmFyO1xuIl19
694
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL01lbnVCYXIuanN4Il0sIm5hbWVzIjpbIlN1cGVyc2NyaXB0SWNvbiIsIlN1YnNjcmlwdEljb24iLCJIZWFkaW5nSWNvbiIsIndpZHRoIiwiaGVpZ2h0IiwiTWVudUJhciIsImVkaXRvciIsImNsYXNzZXMiLCJhY3RpdmVQbHVnaW5zIiwidG9vbE9wdHMiLCJ0b29sYmFyT3B0cyIsInJlc3BvbnNlQXJlYVByb3BzIiwib25DaGFuZ2UiLCJzaG93UGlja2VyIiwic2V0U2hvd1BpY2tlciIsImVkaXRvclN0YXRlIiwic2VsZWN0b3IiLCJjdHgiLCJzdGF0ZSIsInNlbGVjdGlvbiIsImN1cnJlbnROb2RlIiwiTm9kZVNlbGVjdGlvbiIsIm5vZGUiLCJoaWRlRGVmYXVsdFRvb2xiYXIiLCJpc0FjdGl2ZSIsImlzRm9jdXNlZCIsImlzQm9sZCIsImNhbkJvbGQiLCJjYW4iLCJjaGFpbiIsInRvZ2dsZUJvbGQiLCJydW4iLCJpc1RhYmxlIiwidGFibGVIYXNCb3JkZXIiLCJnZXRBdHRyaWJ1dGVzIiwiYm9yZGVyIiwiY2FuVGFibGUiLCJpbnNlcnRUYWJsZSIsImlzSXRhbGljIiwiY2FuSXRhbGljIiwidG9nZ2xlSXRhbGljIiwiaXNTdHJpa2UiLCJjYW5TdHJpa2UiLCJ0b2dnbGVTdHJpa2UiLCJpc0NvZGUiLCJjYW5Db2RlIiwidG9nZ2xlQ29kZSIsImNhbkNsZWFyTWFya3MiLCJ1bnNldEFsbE1hcmtzIiwiaXNVbmRlcmxpbmUiLCJpc1N1YlNjcmlwdCIsImlzU3VwZXJTY3JpcHQiLCJpc1BhcmFncmFwaCIsImlzSGVhZGluZzEiLCJsZXZlbCIsImlzSGVhZGluZzIiLCJpc0hlYWRpbmczIiwiaXNIZWFkaW5nNCIsImlzSGVhZGluZzUiLCJpc0hlYWRpbmc2IiwiaXNCdWxsZXRMaXN0IiwiaXNPcmRlcmVkTGlzdCIsImlzQ29kZUJsb2NrIiwiaXNCbG9ja3F1b3RlIiwiY2FuVW5kbyIsInVuZG8iLCJjYW5SZWRvIiwicmVkbyIsImhhc0RvbmVCdXR0b24iLCJhdXRvV2lkdGgiLCJuYW1lcyIsInRvb2xiYXIiLCJQSUVfVE9PTEJBUl9fQ0xBU1MiLCJ0b29sYmFyV2l0aE5vRG9uZSIsInRvb2xiYXJUb3AiLCJwb3NpdGlvbiIsInRvb2xiYXJSaWdodCIsImFsaWdubWVudCIsImZvY3VzZWQiLCJhbHdheXNWaXNpYmxlIiwiX3Rvb2xiYXJPcGVuZWQiLCJmdWxsV2lkdGgiLCJoaWRkZW4iLCJpc0hpZGRlbiIsImN1c3RvbVN0eWxlcyIsIm1pbldpZHRoIiwidW5kZWZpbmVkIiwiaGFuZGxlTW91c2VEb3duIiwiZSIsInByZXZlbnREZWZhdWx0IiwidG9vbGJhckJ1dHRvbnMiLCJpY29uIiwib25DbGljayIsImZvY3VzIiwicm93cyIsImNvbHMiLCJ3aXRoSGVhZGVyUm93IiwiaW5jbHVkZXMiLCJpc0Rpc2FibGVkIiwiYWRkUm93QWZ0ZXIiLCJkZWxldGVSb3ciLCJhZGRDb2x1bW5BZnRlciIsImRlbGV0ZUNvbHVtbiIsImRlbGV0ZVRhYmxlIiwidGFibGVBdHRycyIsInVwZGF0ZSIsImNvbW1hbmRzIiwidXBkYXRlQXR0cmlidXRlcyIsInRvZ2dsZVVuZGVybGluZSIsInRvZ2dsZVN1YnNjcmlwdCIsInRvZ2dsZVN1cGVyc2NyaXB0Iiwic2V0SW1hZ2VVcGxvYWROb2RlIiwiaW5zZXJ0TWVkaWEiLCJ0eXBlIiwidGFnIiwib3BlbkNTU0NsYXNzRGlhbG9nIiwidG9nZ2xlSGVhZGluZyIsImluc2VydE1hdGgiLCJzcGFuaXNoQ29uZmlnIiwiZmlsdGVyIiwicCIsImxlbmd0aCIsInNwZWNpYWxDb25maWciLCJ0b2dnbGVCdWxsZXRMaXN0IiwidG9nZ2xlT3JkZXJlZExpc3QiLCJkZWZhdWx0VG9vbGJhciIsImJ1dHRvbnNDb250YWluZXIiLCJidG4iLCJtYXAiLCJpbmRleCIsImRpc2FibGVkIiwiYWN0aXZlIiwiYnV0dG9uIiwiaW5zZXJ0UmVzcG9uc2VBcmVhIiwic2hvd0RvbmUiLCJnZXRIVE1MIiwiYmx1ciIsInJlbmRlclBvcE92ZXIiLCJldiIsImNoIiwiY29uc29sZSIsImxvZyIsImNsb3NlUG9wT3ZlciIsInN0eWxlIiwidGhlbWUiLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwiY29sb3IiLCJwYWRkaW5nIiwiYmFja2dyb3VuZCIsImN1cnNvciIsIm91dGxpbmUiLCJwYWxldHRlIiwiZ3JleSIsIm9wYWNpdHkiLCJ6SW5kZXgiLCJtYXJnaW4iLCJib3hTaGFkb3ciLCJib3hTaXppbmciLCJwb2ludGVyRXZlbnRzIiwidG9wIiwicmlnaHQiLCJ2aXNpYmlsaXR5IiwiaWNvblJvb3QiLCJ2ZXJ0aWNhbEFsaWduIiwibGFiZWwiLCJzaGFyZWQiLCJTdHlsZWRNZW51QmFyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0I7QUFBQSxzQkFDdEI7QUFBSyxJQUFBLEtBQUssRUFBQyw0QkFBWDtBQUF3QyxJQUFBLE1BQU0sRUFBQyxNQUEvQztBQUFzRCxJQUFBLE9BQU8sRUFBQyxXQUE5RDtBQUEwRSxJQUFBLEtBQUssRUFBQyxNQUFoRjtBQUF1RixJQUFBLElBQUksRUFBQztBQUE1RixrQkFDRTtBQUNFLElBQUEsQ0FBQyxFQUFDLGdOQURKO0FBRUUsSUFBQSxJQUFJLEVBQUM7QUFGUCxJQURGLENBRHNCO0FBQUEsQ0FBeEI7O0FBU0EsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQjtBQUFBLHNCQUNwQjtBQUFLLElBQUEsS0FBSyxFQUFDLDRCQUFYO0FBQXdDLElBQUEsTUFBTSxFQUFDLE1BQS9DO0FBQXNELElB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SyxFQUFFO0FBREssS0E3RFU7QUFnRXhCakYsSUFBQUEsU0FBUyxFQUFFO0FBQ1Q5RSxNQUFBQSxLQUFLLEVBQUU7QUFERSxLQWhFYTtBQW1FeEIrRSxJQUFBQSxNQUFNLEVBQUU7QUFDTmlGLE1BQUFBLFVBQVUsRUFBRTtBQUROLEtBbkVnQjtBQXNFeEI5RixJQUFBQSxTQUFTLEVBQUU7QUFDVGxFLE1BQUFBLEtBQUssRUFBRTtBQURFLEtBdEVhO0FBeUV4QjJFLElBQUFBLE9BQU8sRUFBRTtBQUNQNkUsTUFBQUEsT0FBTyxFQUFFLENBREY7QUFFUEssTUFBQUEsYUFBYSxFQUFFO0FBRlIsS0F6RWU7QUE2RXhCSSxJQUFBQSxRQUFRLEVBQUU7QUFDUmpLLE1BQUFBLEtBQUssRUFBRSxNQURDO0FBRVJDLE1BQUFBLE1BQU0sRUFBRSxNQUZBO0FBR1JpSixNQUFBQSxPQUFPLEVBQUUsS0FIRDtBQUlSZ0IsTUFBQUEsYUFBYSxFQUFFO0FBSlAsS0E3RWM7QUFtRnhCQyxJQUFBQSxLQUFLLEVBQUU7QUFDTGxCLE1BQUFBLEtBQUssRUFBRTtBQURGLEtBbkZpQjtBQXNGeEJtQixJQUFBQSxNQUFNLEVBQUU7QUFDTnRCLE1BQUFBLE9BQU8sRUFBRTtBQURIO0FBdEZnQixHQUFaO0FBQUEsQ0FBZDs7QUEyRkEsSUFBTXVCLGFBQWEsR0FBRyx3QkFBV3pCLEtBQVgsRUFBa0I7QUFBRWQsRUFBQUEsS0FBSyxFQUFFO0FBQVQsQ0FBbEIsRUFBbUM1SCxPQUFuQyxDQUF0QjtlQUVlbUssYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBOb2RlU2VsZWN0aW9uIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xuXG5pbXBvcnQgQm9sZCBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0Qm9sZCc7XG5pbXBvcnQgSXRhbGljIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRJdGFsaWMnO1xuaW1wb3J0IFN0cmlrZXRocm91Z2ggZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdFN0cmlrZXRocm91Z2gnO1xuaW1wb3J0IENvZGUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0NvZGUnO1xuaW1wb3J0IEdyaWRPbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvR3JpZE9uJztcbmltcG9ydCBCdWxsZXRlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0QnVsbGV0ZWQnO1xuaW1wb3J0IE51bWJlcmVkTGlzdEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdExpc3ROdW1iZXJlZCc7XG5pbXBvcnQgVW5kZXJsaW5lIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRVbmRlcmxpbmVkJztcbmltcG9ydCBGdW5jdGlvbnMgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Z1bmN0aW9ucyc7XG5pbXBvcnQgSW1hZ2VJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9JbWFnZSc7XG5pbXBvcnQgUmVkbyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvUmVkbyc7XG5pbXBvcnQgVW5kbyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvVW5kbyc7XG5pbXBvcnQgVGhlYXRlcnNJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9UaGVhdGVycyc7XG5pbXBvcnQgVm9sdW1lVXBJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Wb2x1bWVVcCc7XG5pbXBvcnQgQm9yZGVyQWxsIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Cb3JkZXJBbGwnO1xuXG5pbXBvcnQgeyBFZGl0b3JDb250ZW50LCB1c2VFZGl0b3JTdGF0ZSB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuXG5pbXBvcnQgeyBQSUVfVE9PTEJBUl9fQ0xBU1MgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVG9vbGJhckljb24gfSBmcm9tICcuL3Jlc3BBcmVhL1Rvb2xiYXJJY29uJztcbmltcG9ydCB7IHNwYW5pc2hDb25maWcsIHNwZWNpYWxDb25maWcgfSBmcm9tICcuL2NoYXJhY3RlcnMvY2hhcmFjdGVyVXRpbHMnO1xuaW1wb3J0IFRleHRBbGlnbkljb24gZnJvbSAnLi9pY29ucy9UZXh0QWxpZ24nO1xuaW1wb3J0IENTU0ljb24gZnJvbSAnLi9pY29ucy9Dc3NJY29uJztcbmltcG9ydCB7IEFkZENvbHVtbiwgQWRkUm93LCBSZW1vdmVDb2x1bW4sIFJlbW92ZVJvdywgUmVtb3ZlVGFibGUgfSBmcm9tICcuL2ljb25zL1RhYmxlSWNvbnMnO1xuXG5pbXBvcnQgeyBDaGFyYWN0ZXJJY29uLCBDaGFyYWN0ZXJQaWNrZXIgfSBmcm9tICcuL0NoYXJhY3RlclBpY2tlcic7XG5pbXBvcnQgeyBEb25lQnV0dG9uIH0gZnJvbSAnLi9jb21tb24vZG9uZS1idXR0b24nO1xuXG5jb25zdCBTdXBlcnNjcmlwdEljb24gPSAoKSA9PiAoXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIm5vbmVcIj5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yMiw3aC0ydjFoM3YxaC00VjdjMC0wLjU1LDAuNDUtMSwxLTFoMlY1aC0zVjRoM2MwLjU1LDAsMSwwLjQ1LDEsMXYxQzIzLDYuNTUsMjIuNTUsNywyMiw3eiBNNS44OCwyMGgyLjY2bDMuNC01LjQyaDAuMTIgbDMuNCw1LjQyaDIuNjZsLTQuNjUtNy4yN0wxNy44MSw2aC0yLjY4bC0zLjA3LDQuOTloLTAuMTJMOC44NSw2SDYuMTlsNC4zMiw2LjczTDUuODgsMjB6XCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgU3Vic2NyaXB0SWNvbiA9ICgpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwibm9uZVwiPlxuICAgIDxwYXRoXG4gICAgICBkPVwiTTIyLDE4aC0ydjFoM3YxaC00di0yYzAtMC41NSwwLjQ1LTEsMS0xaDJ2LTFoLTN2LTFoM2MwLjU1LDAsMSwwLjQ1LDEsMXYxQzIzLDE3LjU1LDIyLjU1LDE4LDIyLDE4eiBNNS44OCwxOGgyLjY2IGwzLjQtNS40MmgwLjEybDMuNCw1LjQyaDIuNjZsLTQuNjUtNy4yN0wxNy44MSw0aC0yLjY4bC0zLjA3LDQuOTloLTAuMTJMOC44NSw0SDYuMTlsNC4zMiw2LjczTDUuODgsMTh6XCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgSGVhZGluZ0ljb24gPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB3aWR0aD1cIjMwXCJcbiAgICBoZWlnaHQ9XCIyOFwiXG4gICAgdmlld0JveD1cIjAgMCAzMCAyOFwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHN0eWxlPXt7IHdpZHRoOiAnMjBweCcsIGhlaWdodDogJzE4cHgnIH19XG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yNyA0VjI0SDI5QzI5LjUgMjQgMzAgMjQuNSAzMCAyNVYyN0MzMCAyNy41NjI1IDI5LjUgMjggMjkgMjhIMTlDMTguNDM3NSAyOCAxOCAyNy41NjI1IDE4IDI3VjI1QzE4IDI0LjUgMTguNDM3NSAyNCAxOSAyNEgyMVYxNkg5VjI0SDExQzExLjUgMjQgMTIgMjQuNSAxMiAyNVYyN0MxMiAyNy41NjI1IDExLjUgMjggMTEgMjhIMUMwLjQzNzUgMjggMCAyNy41NjI1IDAgMjdWMjVDMCAyNC41IDAuNDM3NSAyNCAxIDI0SDNWNEgxQzAuNDM3NSA0IDAgMy41NjI1IDAgM1YxQzAgMC41IDAuNDM3NSAwIDEgMEgxMUMxMS41IDAgMTIgMC41IDEyIDFWM0MxMiAzLjU2MjUgMTEuNSA0IDExIDRIOVYxMkgyMVY0SDE5QzE4LjQzNzUgNCAxOCAzLjU2MjUgMTggM1YxQzE4IDAuNSAxOC40Mzc1IDAgMTkgMEgyOUMyOS41IDAgMzAgMC41IDMwIDFWM0MzMCAzLjU2MjUgMjkuNSA0IDI5IDRIMjdaXCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuZnVuY3Rpb24gTWVudUJhcih7IGVkaXRvciwgY2xhc3NlcywgYWN0aXZlUGx1Z2lucywgdG9vbGJhck9wdHM6IHRvb2xPcHRzLCByZXNwb25zZUFyZWFQcm9wcywgb25DaGFuZ2UgfSkge1xuICBjb25zdCBbc2hvd1BpY2tlciwgc2V0U2hvd1BpY2tlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHRvb2xiYXJPcHRzID0gdG9vbE9wdHMgPz8ge307XG5cbiAgY29uc3QgZWRpdG9yU3RhdGUgPSB1c2VFZGl0b3JTdGF0ZSh7XG4gICAgZWRpdG9yLFxuICAgIHNlbGVjdG9yOiAoY3R4KSA9PiB7XG4gICAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gY3R4LmVkaXRvcj8uc3RhdGUgfHwge307XG5cbiAgICAgIGxldCBjdXJyZW50Tm9kZTtcblxuICAgICAgaWYgKHNlbGVjdGlvbiBpbnN0YW5jZW9mIE5vZGVTZWxlY3Rpb24pIHtcbiAgICAgICAgY3VycmVudE5vZGUgPSBzZWxlY3Rpb24ubm9kZTsgLy8gdGhlIHNlbGVjdGVkIG5vZGVcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGlkZURlZmF1bHRUb29sYmFyID1cbiAgICAgICAgY3R4LmVkaXRvcj8uaXNBY3RpdmUoJ21hdGgnKSB8fFxuICAgICAgICBjdHguZWRpdG9yPy5pc0FjdGl2ZSgnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnKSB8fFxuICAgICAgICBjdHguZWRpdG9yPy5pc0FjdGl2ZSgnaW1hZ2VVcGxvYWROb2RlJyk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGN1cnJlbnROb2RlLFxuICAgICAgICBoaWRlRGVmYXVsdFRvb2xiYXIsXG4gICAgICAgIGlzRm9jdXNlZDogY3R4LmVkaXRvcj8uaXNGb2N1c2VkLFxuICAgICAgICBpc0JvbGQ6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ2JvbGQnKSA/PyBmYWxzZSxcbiAgICAgICAgY2FuQm9sZDpcbiAgICAgICAgICBjdHguZWRpdG9yXG4gICAgICAgICAgICAuY2FuKClcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAudG9nZ2xlQm9sZCgpXG4gICAgICAgICAgICAucnVuKCkgPz8gZmFsc2UsXG4gICAgICAgIGlzVGFibGU6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ3RhYmxlJykgPz8gZmFsc2UsXG4gICAgICAgIHRhYmxlSGFzQm9yZGVyOiBjdHguZWRpdG9yLmdldEF0dHJpYnV0ZXMoJ3RhYmxlJyk/LmJvcmRlciA9PT0gJzEnID8/IGZhbHNlLFxuICAgICAgICBjYW5UYWJsZTpcbiAgICAgICAgICBjdHguZWRpdG9yXG4gICAgICAgICAgICAuY2FuKClcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuaW5zZXJ0VGFibGUoKVxuICAgICAgICAgICAgLnJ1bigpID8/IGZhbHNlLFxuICAgICAgICBpc0l0YWxpYzogY3R4LmVkaXRvci5pc0FjdGl2ZSgnaXRhbGljJykgPz8gZmFsc2UsXG4gICAgICAgIGNhbkl0YWxpYzpcbiAgICAgICAgICBjdHguZWRpdG9yXG4gICAgICAgICAgICAuY2FuKClcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAudG9nZ2xlSXRhbGljKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgICAgaXNTdHJpa2U6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ3N0cmlrZScpID8/IGZhbHNlLFxuICAgICAgICBjYW5TdHJpa2U6XG4gICAgICAgICAgY3R4LmVkaXRvclxuICAgICAgICAgICAgLmNhbigpXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLnRvZ2dsZVN0cmlrZSgpXG4gICAgICAgICAgICAucnVuKCkgPz8gZmFsc2UsXG4gICAgICAgIGlzQ29kZTogY3R4LmVkaXRvci5pc0FjdGl2ZSgnY29kZScpID8/IGZhbHNlLFxuICAgICAgICBjYW5Db2RlOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC50b2dnbGVDb2RlKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgICAgY2FuQ2xlYXJNYXJrczpcbiAgICAgICAgICBjdHguZWRpdG9yXG4gICAgICAgICAgICAuY2FuKClcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAudW5zZXRBbGxNYXJrcygpXG4gICAgICAgICAgICAucnVuKCkgPz8gZmFsc2UsXG4gICAgICAgIGlzVW5kZXJsaW5lOiBjdHguZWRpdG9yLmlzQWN0aXZlKCd1bmRlcmxpbmUnKSA/PyBmYWxzZSxcbiAgICAgICAgaXNTdWJTY3JpcHQ6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ3N1YnNjcmlwdCcpID8/IGZhbHNlLFxuICAgICAgICBpc1N1cGVyU2NyaXB0OiBjdHguZWRpdG9yLmlzQWN0aXZlKCdzdXBlcnNjcmlwdCcpID8/IGZhbHNlLFxuICAgICAgICBpc1BhcmFncmFwaDogY3R4LmVkaXRvci5pc0FjdGl2ZSgncGFyYWdyYXBoJykgPz8gZmFsc2UsXG4gICAgICAgIGlzSGVhZGluZzE6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ2hlYWRpbmcnLCB7IGxldmVsOiAxIH0pID8/IGZhbHNlLFxuICAgICAgICBpc0hlYWRpbmcyOiBjdHguZWRpdG9yLmlzQWN0aXZlKCdoZWFkaW5nJywgeyBsZXZlbDogMiB9KSA/PyBmYWxzZSxcbiAgICAgICAgaXNIZWFkaW5nMzogY3R4LmVkaXRvci5pc0FjdGl2ZSgnaGVhZGluZycsIHsgbGV2ZWw6IDMgfSkgPz8gZmFsc2UsXG4gICAgICAgIGlzSGVhZGluZzQ6IGN0eC5lZGl0b3IuaXNBY3RpdmUoJ2hlYWRpbmcnLCB7IGxldmVsOiA0IH0pID8/IGZhbHNlLFxuICAgICAgICBpc0hlYWRpbmc1OiBjdHguZWRpdG9yLmlzQWN0aXZlKCdoZWFkaW5nJywgeyBsZXZlbDogNSB9KSA/PyBmYWxzZSxcbiAgICAgICAgaXNIZWFkaW5nNjogY3R4LmVkaXRvci5pc0FjdGl2ZSgnaGVhZGluZycsIHsgbGV2ZWw6IDYgfSkgPz8gZmFsc2UsXG4gICAgICAgIGlzQnVsbGV0TGlzdDogY3R4LmVkaXRvci5pc0FjdGl2ZSgnYnVsbGV0TGlzdCcpID8/IGZhbHNlLFxuICAgICAgICBpc09yZGVyZWRMaXN0OiBjdHguZWRpdG9yLmlzQWN0aXZlKCdvcmRlcmVkTGlzdCcpID8/IGZhbHNlLFxuICAgICAgICBpc0NvZGVCbG9jazogY3R4LmVkaXRvci5pc0FjdGl2ZSgnY29kZUJsb2NrJykgPz8gZmFsc2UsXG4gICAgICAgIGlzQmxvY2txdW90ZTogY3R4LmVkaXRvci5pc0FjdGl2ZSgnYmxvY2txdW90ZScpID8/IGZhbHNlLFxuICAgICAgICBjYW5VbmRvOlxuICAgICAgICAgIGN0eC5lZGl0b3JcbiAgICAgICAgICAgIC5jYW4oKVxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC51bmRvKClcbiAgICAgICAgICAgIC5ydW4oKSA/PyBmYWxzZSxcbiAgICAgICAgY2FuUmVkbzpcbiAgICAgICAgICBjdHguZWRpdG9yXG4gICAgICAgICAgICAuY2FuKClcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAucmVkbygpXG4gICAgICAgICAgICAucnVuKCkgPz8gZmFsc2UsXG4gICAgICB9O1xuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IGhhc0RvbmVCdXR0b24gPSBmYWxzZTtcbiAgY29uc3QgYXV0b1dpZHRoID0gZmFsc2U7XG5cbiAgY29uc3QgbmFtZXMgPSBjbGFzc05hbWVzKGNsYXNzZXMudG9vbGJhciwgUElFX1RPT0xCQVJfX0NMQVNTLCB7XG4gICAgW2NsYXNzZXMudG9vbGJhcldpdGhOb0RvbmVdOiAhaGFzRG9uZUJ1dHRvbixcbiAgICBbY2xhc3Nlcy50b29sYmFyVG9wXTogdG9vbGJhck9wdHMucG9zaXRpb24gPT09ICd0b3AnLFxuICAgIFtjbGFzc2VzLnRvb2xiYXJSaWdodF06IHRvb2xiYXJPcHRzLmFsaWdubWVudCA9PT0gJ3JpZ2h0JyxcbiAgICBbY2xhc3Nlcy5mb2N1c2VkXTogdG9vbGJhck9wdHMuYWx3YXlzVmlzaWJsZSB8fCAoZWRpdG9yU3RhdGUuaXNGb2N1c2VkICYmICFlZGl0b3IuX3Rvb2xiYXJPcGVuZWQpLFxuICAgIFtjbGFzc2VzLmF1dG9XaWR0aF06IGF1dG9XaWR0aCxcbiAgICBbY2xhc3Nlcy5mdWxsV2lkdGhdOiAhYXV0b1dpZHRoLFxuICAgIFtjbGFzc2VzLmhpZGRlbl06IHRvb2xiYXJPcHRzLmlzSGlkZGVuID09PSB0cnVlLFxuICB9KTtcblxuICBjb25zdCBjdXN0b21TdHlsZXMgPSB0b29sYmFyT3B0cy5taW5XaWR0aCAhPT0gdW5kZWZpbmVkID8geyBtaW5XaWR0aDogdG9vbGJhck9wdHMubWluV2lkdGggfSA6IHt9O1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlRG93biA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9O1xuXG4gIGNvbnN0IHRvb2xiYXJCdXR0b25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbXG4gICAgICB7XG4gICAgICAgIGljb246IDxHcmlkT24gLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5pbnNlcnRUYWJsZSh7IHJvd3M6IDIsIGNvbHM6IDIsIHdpdGhIZWFkZXJSb3c6IGZhbHNlIH0pXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3RhYmxlJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8QWRkUm93IC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAuYWRkUm93QWZ0ZXIoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIXN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzRGlzYWJsZWQ6IChzdGF0ZSkgPT4gIXN0YXRlLmNhblRhYmxlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFJlbW92ZVJvdyAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLmRlbGV0ZVJvdygpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8QWRkQ29sdW1uIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAuYWRkQ29sdW1uQWZ0ZXIoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIXN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzRGlzYWJsZWQ6IChzdGF0ZSkgPT4gIXN0YXRlLmNhblRhYmxlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFJlbW92ZUNvbHVtbiAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLmRlbGV0ZUNvbHVtbigpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8UmVtb3ZlVGFibGUgLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5kZWxldGVUYWJsZSgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8Qm9yZGVyQWxsIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFibGVBdHRycyA9IGVkaXRvci5nZXRBdHRyaWJ1dGVzKCd0YWJsZScpO1xuXG4gICAgICAgICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgICAgICAgLi4udGFibGVBdHRycyxcbiAgICAgICAgICAgIGJvcmRlcjogdGFibGVBdHRycy5ib3JkZXIgIT09ICcwJyA/ICcwJyA6ICcxJyxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ3RhYmxlJywgdXBkYXRlKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS50YWJsZUhhc0JvcmRlcixcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuVGFibGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8Qm9sZCAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnRvZ2dsZUJvbGQoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdib2xkJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNCb2xkLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5Cb2xkLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPEl0YWxpYyAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnRvZ2dsZUl0YWxpYygpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ2l0YWxpYycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzSXRhbGljLFxuICAgICAgICBpc0Rpc2FibGVkOiAoc3RhdGUpID0+ICFzdGF0ZS5jYW5JdGFsaWMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8U3RyaWtldGhyb3VnaCAvPixcbiAgICAgICAgb25DbGljazogKGVkaXRvcikgPT5cbiAgICAgICAgICBlZGl0b3JcbiAgICAgICAgICAgIC5jaGFpbigpXG4gICAgICAgICAgICAuZm9jdXMoKVxuICAgICAgICAgICAgLnRvZ2dsZVN0cmlrZSgpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3N0cmlrZXRocm91Z2gnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1N0cmlrZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuU3RyaWtlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPENvZGUgLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVDb2RlKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnY29kZScpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzQ29kZSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuQ29kZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxVbmRlcmxpbmUgLz4sXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVVbmRlcmxpbmUoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCd1bmRlcmxpbmUnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc1VuZGVybGluZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxTdWJzY3JpcHRJY29uIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlU3Vic2NyaXB0KClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnc3Vic2NyaXB0JykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNTdWJTY3JpcHQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8U3VwZXJzY3JpcHRJY29uIC8+LFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlU3VwZXJzY3JpcHQoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdzdXBlcnNjcmlwdCcpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzU3VwZXJTY3JpcHQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8SW1hZ2VJY29uIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdpbWFnZScpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5zZXRJbWFnZVVwbG9hZE5vZGUoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFRoZWF0ZXJzSWNvbiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygndmlkZW8nKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAuaW5zZXJ0TWVkaWEoeyB0eXBlOiAndmlkZW8nIH0pXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8Vm9sdW1lVXBJY29uIC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCdhdWRpbycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5pbnNlcnRNZWRpYSh7IHR5cGU6ICdhdWRpbycsIHRhZzogJ2F1ZGlvJyB9KVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPENTU0ljb24gLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ2NzcycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+IGVkaXRvci5jb21tYW5kcy5vcGVuQ1NTQ2xhc3NEaWFsb2coKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxIZWFkaW5nSWNvbiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnaDMnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlSGVhZGluZyh7IGxldmVsOiAzIH0pXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGlzQWN0aXZlOiAoc3RhdGUpID0+IHN0YXRlLmlzSGVhZGluZzMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8RnVuY3Rpb25zIC8+LFxuICAgICAgICBoaWRkZW46ICgpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnbWF0aCcpLFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAuaW5zZXJ0TWF0aCgnJylcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246IDxDaGFyYWN0ZXJJY29uIGxldHRlcj1cIsOxXCIgLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ2xhbmd1YWdlQ2hhcmFjdGVycycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6ICgpID0+IHNldFNob3dQaWNrZXIoc3BhbmlzaENvbmZpZyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8Q2hhcmFjdGVySWNvbiBsZXR0ZXI9XCLigqxcIiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+IGFjdGl2ZVBsdWdpbnM/LmZpbHRlcigocCkgPT4gcCA9PT0gJ2xhbmd1YWdlQ2hhcmFjdGVycycpLmxlbmd0aCAhPT0gMiB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBvbkNsaWNrOiAoKSA9PiBzZXRTaG93UGlja2VyKHNwZWNpYWxDb25maWcpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFRleHRBbGlnbkljb24gZWRpdG9yPXtlZGl0b3J9IC8+LFxuICAgICAgICBoaWRkZW46IChzdGF0ZSkgPT4gIWFjdGl2ZVBsdWdpbnM/LmluY2x1ZGVzKCd0ZXh0LWFsaWduJykgfHwgc3RhdGUuaXNUYWJsZSxcbiAgICAgICAgb25DbGljazogKCkgPT4ge30sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8QnVsbGV0ZWRMaXN0SWNvbiAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygnYnVsbGV0ZWQtbGlzdCcpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC50b2dnbGVCdWxsZXRMaXN0KClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaXNBY3RpdmU6IChzdGF0ZSkgPT4gc3RhdGUuaXNCdWxsZXRMaXN0LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPE51bWJlcmVkTGlzdEljb24gLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ251bWJlcmVkLWxpc3QnKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudG9nZ2xlT3JkZXJlZExpc3QoKVxuICAgICAgICAgICAgLnJ1bigpLFxuICAgICAgICBpc0FjdGl2ZTogKHN0YXRlKSA9PiBzdGF0ZS5pc09yZGVyZWRMaXN0LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogPFVuZG8gLz4sXG4gICAgICAgIGhpZGRlbjogKHN0YXRlKSA9PiAhYWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3VuZG8nKSB8fCBzdGF0ZS5pc1RhYmxlLFxuICAgICAgICBvbkNsaWNrOiAoZWRpdG9yKSA9PlxuICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAudW5kbygpXG4gICAgICAgICAgICAucnVuKCksXG4gICAgICAgIGlzRGlzYWJsZWQ6IChzdGF0ZSkgPT4gIXN0YXRlLmNhblVuZG8sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiA8UmVkbyAvPixcbiAgICAgICAgaGlkZGVuOiAoc3RhdGUpID0+ICFhY3RpdmVQbHVnaW5zPy5pbmNsdWRlcygncmVkbycpIHx8IHN0YXRlLmlzVGFibGUsXG4gICAgICAgIG9uQ2xpY2s6IChlZGl0b3IpID0+XG4gICAgICAgICAgZWRpdG9yXG4gICAgICAgICAgICAuY2hhaW4oKVxuICAgICAgICAgICAgLmZvY3VzKClcbiAgICAgICAgICAgIC5yZWRvKClcbiAgICAgICAgICAgIC5ydW4oKSxcbiAgICAgICAgaXNEaXNhYmxlZDogKHN0YXRlKSA9PiAhc3RhdGUuY2FuUmVkbyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbYWN0aXZlUGx1Z2lucywgZWRpdG9yXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtuYW1lc30gc3R5bGU9e3sgLi4uY3VzdG9tU3R5bGVzIH19IG9uTW91c2VEb3duPXtoYW5kbGVNb3VzZURvd259PlxuICAgICAgeyFlZGl0b3JTdGF0ZS5oaWRlRGVmYXVsdFRvb2xiYXIgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5kZWZhdWx0VG9vbGJhcn0gdGFiSW5kZXg9XCIxXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9uc0NvbnRhaW5lcn0+XG4gICAgICAgICAgICB7dG9vbGJhckJ1dHRvbnNcbiAgICAgICAgICAgICAgLmZpbHRlcigoYnRuKSA9PiAhYnRuLmhpZGRlbj8uKGVkaXRvclN0YXRlKSlcbiAgICAgICAgICAgICAgLm1hcCgoYnRuLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkID0gYnRuLmlzRGlzYWJsZWQ/LihlZGl0b3JTdGF0ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gYnRuLmlzQWN0aXZlPy4oZWRpdG9yU3RhdGUpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICBidG4ub25DbGljayhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5idXR0b24sIHsgW2NsYXNzZXMuYWN0aXZlXTogYWN0aXZlIH0pfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7YnRuLmljb259XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB7YWN0aXZlUGx1Z2lucz8uaW5jbHVkZXMoJ3Jlc3BvbnNlQXJlYScpICYmIChcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGVkaXRvclxuICAgICAgICAgICAgICAgICAgLmNoYWluKClcbiAgICAgICAgICAgICAgICAgIC5mb2N1cygpXG4gICAgICAgICAgICAgICAgICAuaW5zZXJ0UmVzcG9uc2VBcmVhKHJlc3BvbnNlQXJlYVByb3BzLnR5cGUpXG4gICAgICAgICAgICAgICAgICAucnVuKCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxUb29sYmFySWNvbiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHt0b29sYmFyT3B0cy5zaG93RG9uZSAmJiAoXG4gICAgICAgICAgICA8RG9uZUJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgICAgICAgICAgICBlZGl0b3IuY29tbWFuZHMuYmx1cigpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7c2hvd1BpY2tlciAmJiAoXG4gICAgICAgIDxDaGFyYWN0ZXJQaWNrZXJcbiAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgICBvcHRzPXt7XG4gICAgICAgICAgICAuLi5zaG93UGlja2VyLFxuICAgICAgICAgICAgcmVuZGVyUG9wT3ZlcjogKGV2LCBjaCkgPT4gY29uc29sZS5sb2coJ1Nob3cgcG9wb3ZlcicsIGNoKSxcbiAgICAgICAgICAgIGNsb3NlUG9wT3ZlcjogKCkgPT4gY29uc29sZS5sb2coJ0Nsb3NlIHBvcG92ZXInKSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dQaWNrZXIoZmFsc2UpfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3Qgc3R5bGUgPSAodGhlbWUpID0+ICh7XG4gIGRlZmF1bHRUb29sYmFyOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgfSxcbiAgYnV0dG9uc0NvbnRhaW5lcjoge1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICBidXR0b246IHtcbiAgICBjb2xvcjogJ2dyZXknLFxuICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgcGFkZGluZzogJzJweCcsXG4gICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgfSxcbiAgICAnJjpmb2N1cyc6IHtcbiAgICAgIG91dGxpbmU6IGAycHggc29saWQgJHt0aGVtZS5wYWxldHRlLmdyZXlbNzAwXX1gLFxuICAgIH0sXG4gIH0sXG4gIGFjdGl2ZToge1xuICAgIGNvbG9yOiAnYmxhY2snLFxuICB9LFxuICBkaXNhYmxlZDoge1xuICAgIG9wYWNpdHk6IDAuNyxcbiAgICBjdXJzb3I6ICdub3QtYWxsb3dlZCcsXG4gICAgJyYgOmhvdmVyJzoge1xuICAgICAgY29sb3I6ICdncmV5JyxcbiAgICB9LFxuICB9LFxuICBpc0FjdGl2ZToge1xuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1wdXJwbGUpJyxcbiAgICBjb2xvcjogJ3ZhcigtLXdoaXRlKScsXG4gIH0sXG4gIHRvb2xiYXI6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB6SW5kZXg6IDIwLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgYmFja2dyb3VuZDogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1iZywgI2VmZWZlZiknLFxuICAgIG1pbldpZHRoOiAnMjgwcHgnLFxuICAgIG1hcmdpbjogJzVweCAwIDAgMCcsXG4gICAgcGFkZGluZzogJzJweCcsXG4gICAgYm94U2hhZG93OlxuICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBvcGFjaXR5OiAwLFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgfSxcbiAgdG9vbGJhcldpdGhOb0RvbmU6IHtcbiAgICBtaW5XaWR0aDogJzI2NXB4JyxcbiAgfSxcbiAgdG9vbGJhclRvcDoge1xuICAgIHRvcDogJy00NXB4JyxcbiAgfSxcbiAgdG9vbGJhclJpZ2h0OiB7XG4gICAgcmlnaHQ6IDAsXG4gIH0sXG4gIGZ1bGxXaWR0aDoge1xuICAgIHdpZHRoOiAnMTAwJScsXG4gIH0sXG4gIGhpZGRlbjoge1xuICAgIHZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICB9LFxuICBhdXRvV2lkdGg6IHtcbiAgICB3aWR0aDogJ2F1dG8nLFxuICB9LFxuICBmb2N1c2VkOiB7XG4gICAgb3BhY2l0eTogMSxcbiAgICBwb2ludGVyRXZlbnRzOiAnYXV0bycsXG4gIH0sXG4gIGljb25Sb290OiB7XG4gICAgd2lkdGg6ICcyOHB4JyxcbiAgICBoZWlnaHQ6ICcyOHB4JyxcbiAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICB2ZXJ0aWNhbEFsaWduOiAndG9wJyxcbiAgfSxcbiAgbGFiZWw6IHtcbiAgICBjb2xvcjogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1jaGVjaywgIzAwYmIwMCknLFxuICB9LFxuICBzaGFyZWQ6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gIH0sXG59KTtcblxuY29uc3QgU3R5bGVkTWVudUJhciA9IHdpdGhTdHlsZXMoc3R5bGUsIHsgaW5kZXg6IDEwMDAgfSkoTWVudUJhcik7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZE1lbnVCYXI7XG4iXX0=
@@ -30,8 +30,9 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
30
30
  options = props.options,
31
31
  selected = props.selected;
32
32
  var attributes = node.attrs;
33
- var value = attributes.value,
34
- error = attributes.error;
33
+ var value = attributes.value;
34
+ var respAreaToolbar = options.respAreaToolbar,
35
+ errorFn = options.error;
35
36
  var pos = getPos();
36
37
 
37
38
  var _useState = (0, _react.useState)(false),
@@ -39,8 +40,17 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
39
40
  showToolbar = _useState2[0],
40
41
  setShowToolbar = _useState2[1];
41
42
 
42
- var EcrToolbar = options.respAreaToolbar(node, editor, function () {});
43
+ var EcrToolbar = respAreaToolbar(node, editor, function () {});
43
44
  var toolbarRef = (0, _react.useRef)(null);
45
+ var error;
46
+
47
+ if (errorFn) {
48
+ var _errorValue$respIndex;
49
+
50
+ var errorValue = errorFn();
51
+ var respIndex = parseInt(attributes.index, 10);
52
+ error = !!(errorValue !== null && errorValue !== void 0 && (_errorValue$respIndex = errorValue[respIndex]) !== null && _errorValue$respIndex !== void 0 && _errorValue$respIndex[0]);
53
+ }
44
54
 
45
55
  var handleDone = function handleDone(newLatex) {
46
56
  updateAttributes({
@@ -101,6 +111,7 @@ var ExplicitConstructedResponse = function ExplicitConstructedResponse(props) {
101
111
  overflow: 'hidden',
102
112
  padding: '12px 21px',
103
113
  margin: '0 4px',
114
+ minWidth: '178px',
104
115
  visibility: showToolbar ? 'hidden' : 'visible'
105
116
  },
106
117
  onClick: function onClick() {
@@ -126,4 +137,4 @@ ExplicitConstructedResponse.propTypes = {
126
137
  };
127
138
  var _default = ExplicitConstructedResponse;
128
139
  exports["default"] = _default;
129
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZS5qc3giXSwibmFtZXMiOlsiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIiwicHJvcHMiLCJlZGl0b3IiLCJub2RlIiwiZ2V0UG9zIiwib3B0aW9ucyIsInNlbGVjdGVkIiwiYXR0cmlidXRlcyIsImF0dHJzIiwidmFsdWUiLCJlcnJvciIsInBvcyIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJFY3JUb29sYmFyIiwicmVzcEFyZWFUb29sYmFyIiwidG9vbGJhclJlZiIsImhhbmRsZURvbmUiLCJuZXdMYXRleCIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJsYXRleCIsImNvbW1hbmRzIiwiZm9jdXMiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzcGxheSIsIm1pbkhlaWdodCIsInBvc2l0aW9uIiwiY3Vyc29yIiwid2lkdGgiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3hTaXppbmciLCJib3JkZXJSYWRpdXMiLCJvdmVyZmxvdyIsInBhZGRpbmciLCJtYXJnaW4iLCJ2aXNpYmlsaXR5IiwiX19odG1sIiwiekluZGV4IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiYW55Iiwic3RyaW5nIiwiaXNGb2N1c2VkIiwiYm9vbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLDJCQUEyQixHQUFHLFNBQTlCQSwyQkFBOEIsQ0FBQ0MsS0FBRCxF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RTZDLHNCQUFVRSxHQUZxQjtBQUd0Q2hELEVBQUFBLEtBQUssRUFBRThDLHNCQUFVRyxNQUhxQjtBQUl0Q0MsRUFBQUEsU0FBUyxFQUFFSixzQkFBVUs7QUFKaUIsQ0FBeEM7ZUFPZTVELDJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuY29uc3QgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZWRpdG9yLCBub2RlLCBnZXRQb3MsIG9wdGlvbnMsIHNlbGVjdGVkIH0gPSBwcm9wcztcbiAgY29uc3QgeyBhdHRyczogYXR0cmlidXRlcyB9ID0gbm9kZTtcbiAgY29uc3QgeyB2YWx1ZSwgZXJyb3IgfSA9IGF0dHJpYnV0ZXM7XG4gIGNvbnN0IHBvcyA9IGdldFBvcygpO1xuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgRWNyVG9vbGJhciA9IG9wdGlvbnMucmVzcEFyZWFUb29sYmFyKG5vZGUsIGVkaXRvciwgKCkgPT4ge30pO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZURvbmUgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICBlZGl0b3IuY29tbWFuZHMuZm9jdXMoKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3Iuc3RhdGU7XG4gICAgY29uc3Qgb25seVRoaXNOb2RlU2VsZWN0ZWQgPSBzZWxlY3Rpb24uZnJvbSArIG5vZGUubm9kZVNpemUgPT09IHNlbGVjdGlvbi50bztcblxuICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgaWYgKG9ubHlUaGlzTm9kZVNlbGVjdGVkKSB7XG4gICAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZSwgc2VsZWN0ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0b29sYmFyUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgIXRvb2xiYXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICFldmVudC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaW5saW5lLW5vZGVdJylcbiAgICAgICkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChzaG93VG9vbGJhcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfSwgW3Nob3dUb29sYmFyXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyXG4gICAgICBjbGFzc05hbWU9XCJkcmFnLWluLXRoZS1ibGFua1wiXG4gICAgICBkYXRhLXNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIG1pbkhlaWdodDogJzU1cHgnLFxuICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzQ2cHgnLFxuICAgICAgICAgIGhlaWdodDogJzQ2cHgnLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGRkYnLFxuICAgICAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAke2Vycm9yID8gJ3JlZCcgOiAnI0MwQzNDRid9YCxcbiAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTJweCAyMXB4JyxcbiAgICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICAgICAgdmlzaWJpbGl0eTogc2hvd1Rvb2xiYXIgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJyxcbiAgICAgICAgfX1cbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Rvb2xiYXIodHJ1ZSl9XG4gICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgX19odG1sOiB2YWx1ZSB8fCAnPGRpdj4mbmJzcDs8L2Rpdj4nLFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXYgcmVmPXt0b29sYmFyUmVmfSBjbGFzc05hbWU9XCJhYnNvbHV0ZSB6LTUwIGJnLXdoaXRlIHNoYWRvdy1sZyByb3VuZGVkIHAtMlwiIHN0eWxlPXt7IHpJbmRleDogMSB9fT5cbiAgICAgICAgICA8RWNyVG9vbGJhciAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59O1xuXG5FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UucHJvcFR5cGVzID0ge1xuICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBlcnJvcjogUHJvcFR5cGVzLmFueSxcbiAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGlzRm9jdXNlZDogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2U7XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jlc3BBcmVhL0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZS5qc3giXSwibmFtZXMiOlsiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIiwicHJvcHMiLCJlZGl0b3IiLCJub2RlIiwiZ2V0UG9zIiwib3B0aW9ucyIsInNlbGVjdGVkIiwiYXR0cmlidXRlcyIsImF0dHJzIiwidmFsdWUiLCJyZXNwQXJlYVRvb2xiYXIiLCJlcnJvckZuIiwiZXJyb3IiLCJwb3MiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiRWNyVG9vbGJhciIsInRvb2xiYXJSZWYiLCJlcnJvclZhbHVlIiwicmVzcEluZGV4IiwicGFyc2VJbnQiLCJpbmRleCIsImhhbmRsZURvbmUiLCJuZXdMYXRleCIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJsYXRleCIsImNvbW1hbmRzIiwiZm9jdXMiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzcGxheSIsIm1pbkhlaWdodCIsInBvc2l0aW9uIiwiY3Vyc29yIiwid2lkdGgiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3hTaXppbmciLCJib3JkZXJSYWRpdXMiLCJvdmVyZmxvdyIsInBhZGRpbmciLCJtYXJnaW4iLCJtaW5XaWR0aCIsInZpc2liaWxpdHkiLCJfX2h0bWwiLCJ6SW5kZXgiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJhbnkiLCJzdHJpbmciLCJpc0ZvY3VzZWQiLCJib29sIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7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TUMsY0FBYyxDQUFDLElBQUQsQ0FBcEI7QUFBQSxLQWpCWDtBQWtCRSxJQUFBLHVCQUF1QixFQUFFO0FBQ3ZCMkMsTUFBQUEsTUFBTSxFQUFFakQsS0FBSyxJQUFJO0FBRE07QUFsQjNCLEtBVkYsRUFnQ0dLLFdBQVcsaUJBQ1Y7QUFBSyxJQUFBLEdBQUcsRUFBRUcsVUFBVjtBQUFzQixJQUFBLFNBQVMsRUFBQyw4Q0FBaEM7QUFBK0UsSUFBQSxLQUFLLEVBQUU7QUFBRTBDLE1BQUFBLE1BQU0sRUFBRTtBQUFWO0FBQXRGLGtCQUNFLGdDQUFDLFVBQUQsT0FERixDQWpDSixDQURGO0FBd0NELENBbEdEOztBQW9HQTNELDJCQUEyQixDQUFDNEQsU0FBNUIsR0FBd0M7QUFDdENyRCxFQUFBQSxVQUFVLEVBQUVzRCxzQkFBVUMsTUFEZ0I7QUFFdENsRCxFQUFBQSxLQUFLLEVBQUVpRCxzQkFBVUUsR0FGcUI7QUFHdEN0RCxFQUFBQSxLQUFLLEVBQUVvRCxzQkFBVUcsTUFIcUI7QUFJdENDLEVBQUFBLFNBQVMsRUFBRUosc0JBQVVLO0FBSmlCLENBQXhDO2VBT2VsRSwyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNvbnN0IEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGVkaXRvciwgbm9kZSwgZ2V0UG9zLCBvcHRpb25zLCBzZWxlY3RlZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYXR0cnM6IGF0dHJpYnV0ZXMgfSA9IG5vZGU7XG4gIGNvbnN0IHsgdmFsdWUgfSA9IGF0dHJpYnV0ZXM7XG4gIGNvbnN0IHsgcmVzcEFyZWFUb29sYmFyLCBlcnJvcjogZXJyb3JGbiB9ID0gb3B0aW9ucztcbiAgY29uc3QgcG9zID0gZ2V0UG9zKCk7XG4gIGNvbnN0IFtzaG93VG9vbGJhciwgc2V0U2hvd1Rvb2xiYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBFY3JUb29sYmFyID0gcmVzcEFyZWFUb29sYmFyKG5vZGUsIGVkaXRvciwgKCkgPT4ge30pO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGxldCBlcnJvcjtcblxuICBpZiAoZXJyb3JGbikge1xuICAgIGNvbnN0IGVycm9yVmFsdWUgPSBlcnJvckZuKCk7XG4gICAgY29uc3QgcmVzcEluZGV4ID0gcGFyc2VJbnQoYXR0cmlidXRlcy5pbmRleCwgMTApO1xuXG4gICAgZXJyb3IgPSAhIWVycm9yVmFsdWU/LltyZXNwSW5kZXhdPy5bMF07XG4gIH1cblxuICBjb25zdCBoYW5kbGVEb25lID0gKG5ld0xhdGV4KSA9PiB7XG4gICAgdXBkYXRlQXR0cmlidXRlcyh7IGxhdGV4OiBuZXdMYXRleCB9KTtcbiAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IG9ubHlUaGlzTm9kZVNlbGVjdGVkID0gc2VsZWN0aW9uLmZyb20gKyBub2RlLm5vZGVTaXplID09PSBzZWxlY3Rpb24udG87XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIGlmIChvbmx5VGhpc05vZGVTZWxlY3RlZCkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUsIHNlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50ICYmXG4gICAgICAgICF0b29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAhZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWlubGluZS1ub2RlXScpXG4gICAgICApIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtzaG93VG9vbGJhcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwiZHJhZy1pbi10aGUtYmxhbmtcIlxuICAgICAgZGF0YS1zZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICAgICAgICBtaW5IZWlnaHQ6ICc1NXB4JyxcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBtaW5IZWlnaHQ6ICc0NnB4JyxcbiAgICAgICAgICBoZWlnaHQ6ICc0NnB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGJyxcbiAgICAgICAgICBib3JkZXI6IGAxcHggc29saWQgJHtlcnJvciA/ICdyZWQnIDogJyNDMEMzQ0YnfWAsXG4gICAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEycHggMjFweCcsXG4gICAgICAgICAgbWFyZ2luOiAnMCA0cHgnLFxuICAgICAgICAgIG1pbldpZHRoOiAnMTc4cHgnLFxuICAgICAgICAgIHZpc2liaWxpdHk6IHNob3dUb29sYmFyID8gJ2hpZGRlbicgOiAndmlzaWJsZScsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dUb29sYmFyKHRydWUpfVxuICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgIF9faHRtbDogdmFsdWUgfHwgJzxkaXY+Jm5ic3A7PC9kaXY+JyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7c2hvd1Rvb2xiYXIgJiYgKFxuICAgICAgICA8ZGl2IHJlZj17dG9vbGJhclJlZn0gY2xhc3NOYW1lPVwiYWJzb2x1dGUgei01MCBiZy13aGl0ZSBzaGFkb3ctbGcgcm91bmRlZCBwLTJcIiBzdHlsZT17eyB6SW5kZXg6IDEgfX0+XG4gICAgICAgICAgPEVjclRvb2xiYXIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufTtcblxuRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlLnByb3BUeXBlcyA9IHtcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgZXJyb3I6IFByb3BUeXBlcy5hbnksXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpc0ZvY3VzZWQ6IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlO1xuIl19