@pie-lib/editable-html-tip-tap 1.0.0 → 1.0.2
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.
- package/lib/extensions/component.js +10 -2
- package/lib/index.js +430 -146
- package/lib/plugins/index.js +3 -3
- package/package.json +2 -2
- package/src/extensions/component.jsx +11 -3
- package/src/index.jsx +384 -404
- package/src/plugins/index.jsx +1 -1
|
@@ -233,7 +233,15 @@ function ImageComponent(props) {
|
|
|
233
233
|
}
|
|
234
234
|
}, /*#__PURE__*/_react["default"].createElement(_customToolbarWrapper["default"], (0, _extends2["default"])({
|
|
235
235
|
showDone: true
|
|
236
|
-
}, options
|
|
236
|
+
}, options, {
|
|
237
|
+
onDone: function onDone() {
|
|
238
|
+
var _props$imageHandling;
|
|
239
|
+
|
|
240
|
+
setShowToolbar(false);
|
|
241
|
+
(_props$imageHandling = props.imageHandling) === null || _props$imageHandling === void 0 ? void 0 : _props$imageHandling.onDone();
|
|
242
|
+
props.editor.commands.focus('end');
|
|
243
|
+
}
|
|
244
|
+
}), /*#__PURE__*/_react["default"].createElement(_imageToolbar["default"], {
|
|
237
245
|
disableImageAlignmentButtons: options.disableImageAlignmentButtons,
|
|
238
246
|
alt: node.attrs.alt,
|
|
239
247
|
imageLoaded: node.attrs.loaded,
|
|
@@ -322,4 +330,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
322
330
|
})(ImageComponent);
|
|
323
331
|
|
|
324
332
|
exports["default"] = _default;
|
|
325
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZVB4IiwicyIsIkltYWdlQ29tcG9uZW50IiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwic2VsZWN0ZWQiLCJvcHRpb25zIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ3aWR0aCIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJjb21tYW5kcyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJpbWFnZUhhbmRsaW5nIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJmaW5pc2giLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJyZXNpemVIYW5kbGUiLCJhZGRFdmVudExpc3RlbmVyIiwiaW5pdFJlc2l6ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkSW1hZ2UiLCJib3giLCJzdHlsZSIsInciLCJNYXRoIiwibWluIiwiaCIsIm5hdHVyYWxIZWlnaHQiLCJoZWlnaHQiLCJ1cGRhdGVBc3BlY3QiLCJpbml0aWFsIiwibmV4dCIsImtlZXBBc3BlY3QiLCJyZXNpemVUeXBlIiwicmF0aW8iLCJzdGFydFJlc2l6ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJvbkNoYW5nZSIsIm5ld1ZhbHVlcyIsInN0b3BSZXNpemUiLCJ3aW5kb3ciLCJvYmplY3RGaXQiLCJmbGV4QWxpZ24iLCJjZW50ZXIiLCJyaWdodCIsImFsaWdubWVudCIsInJvb3QiLCJsb2FkZWQiLCJsb2FkaW5nIiwiZGVsZXRlU3RhdHVzIiwicGVuZGluZ0RlbGV0ZSIsImp1c3RpZnlDb250ZW50IiwicGVyY2VudCIsInByb2dyZXNzIiwiaGlkZVByb2dyZXNzIiwiaW1hZ2VDb250YWluZXIiLCJzcmMiLCJpbWFnZSIsImFjdGl2ZSIsInJlc2l6ZSIsInBvc2l0aW9uIiwiekluZGV4IiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsImRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsIm51bWJlciIsInRoZW1lIiwicG9ydGFsIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJmbG9hdGluZ0J1dHRvblJvdyIsImJhY2tncm91bmRDb2xvciIsInBhbGV0dGUiLCJwYXBlciIsImJvcmRlclJhZGl1cyIsImRpc3BsYXkiLCJwYWRkaW5nIiwiYm9yZGVyIiwiZ3JleSIsImNvbW1vbiIsIndoaXRlIiwiYWxpZ25JdGVtcyIsInByaW1hcnkiLCJtYWluIiwiY3Vyc29yIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwiZHJhd2FibGVIZWlnaHQiLCJtaW5IZWlnaHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0RBQU4sQ0FBWjs7QUFFQSxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxDQUFEO0FBQUEsU0FBUUEsQ0FBQyxhQUFNQSxDQUFOLFVBQWMsWUFBdkI7QUFBQSxDQUFmOztBQUVBLFNBQVNDLGNBQVQsQ0FBd0JDLEtBQXhCLEVBQStCO0FBQzdCLE1BQ0VDLElBREYs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QUFjLEVBQUU7QUFDZEssTUFBQUEsUUFBUSxFQUFFLFVBREk7QUFFZGxFLE1BQUFBLEtBQUssRUFBRSxhQUZPO0FBR2RzRixNQUFBQSxPQUFPLEVBQUUsTUFISztBQUlkTSxNQUFBQSxVQUFVLEVBQUUsUUFKRTtBQU1kLDRCQUFzQjtBQUNwQk4sUUFBQUEsT0FBTyxFQUFFO0FBRFc7QUFOUixLQXpDb0I7QUFtRHBDdEIsSUFBQUEsTUFBTSxFQUFFO0FBQ053QixNQUFBQSxNQUFNLHNCQUFlWCxLQUFLLENBQUNNLE9BQU4sQ0FBY1UsT0FBZCxDQUFzQkMsSUFBckM7QUFEQSxLQW5ENEI7QUFzRHBDN0IsSUFBQUEsTUFBTSxFQUFFO0FBQ05pQixNQUFBQSxlQUFlLEVBQUVMLEtBQUssQ0FBQ00sT0FBTixDQUFjVSxPQUFkLENBQXNCQyxJQURqQztBQUVOQyxNQUFBQSxNQUFNLEVBQUUsWUFGRjtBQUdOcEUsTUFBQUEsTUFBTSxFQUFFLE1BSEY7QUFJTjNCLE1BQUFBLEtBQUssRUFBRSxLQUpEO0FBS05xRixNQUFBQSxZQUFZLEVBQUUsQ0FMUjtBQU1OVyxNQUFBQSxVQUFVLEVBQUUsS0FOTjtBQU9OQyxNQUFBQSxXQUFXLEVBQUUsTUFQUDtBQVFOWCxNQUFBQSxPQUFPLEVBQUU7QUFSSCxLQXRENEI7QUFnRXBDWSxJQUFBQSxjQUFjLEVBQUU7QUFDZEMsTUFBQUEsU0FBUyxFQUFFO0FBREc7QUFoRW9CLEdBQVo7QUFBQSxDQUFYLEVBbUVYekgsY0FuRVcsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBMaW5lYXJQcm9ncmVzcyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9MaW5lYXJQcm9ncmVzcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IEluc2VydEltYWdlSGFuZGxlciBmcm9tICcuLi9wbHVnaW5zL2ltYWdlL2luc2VydC1pbWFnZS1oYW5kbGVyJztcbmltcG9ydCBJbWFnZVRvb2xiYXIgZnJvbSAnLi4vcGx1Z2lucy9pbWFnZS9pbWFnZS10b29sYmFyJztcbmltcG9ydCBDdXN0b21Ub29sYmFyV3JhcHBlciBmcm9tIFwiLi9jdXN0b20tdG9vbGJhci13cmFwcGVyXCI7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6Y29tcG9uZW50Jyk7XG5cbmNvbnN0IHNpemVQeCA9IChzKSA9PiAocyA/IGAke3N9cHhgIDogJ2NhbGMoMjBweCknKTtcblxuZnVuY3Rpb24gSW1hZ2VDb21wb25lbnQocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIG5vZGUsXG4gICAgZWRpdG9yLFxuICAgIGNsYXNzZXMsXG4gICAgYXR0cmlidXRlcyxcbiAgICBvbkZvY3VzLFxuICAgIHNlbGVjdGVkLFxuICAgIG9wdGlvbnMsXG4gICAgbWF4SW1hZ2VXaWR0aCA9IDcwMCxcbiAgICBtYXhJbWFnZUhlaWdodCA9IDkwMCxcbiAgICBsYXRleCxcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAgaGFuZGxlRG9uZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IGFsdCB9ID0gbm9kZS5hdHRycztcblxuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBpbWdSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHJlc2l6ZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgdG9vbGJhclJlZiA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCBnZXRQZXJjZW50RnJvbVdpZHRoID0gdXNlQ2FsbGJhY2soKHdpZHRoKSA9PiB7XG4gICAgY29uc3QgZmxvb3JlZCA9ICh3aWR0aCAvIGltZ1JlZi5jdXJyZW50Lm5hdHVyYWxXaWR0aCkgKiA0O1xuICAgIHJldHVybiBwYXJzZUludChmbG9vcmVkLnRvRml4ZWQoMCkgKiAyNSwgMTApO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgYXBwbHlTaXplRGF0YSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIW5vZGUuYXR0cnMud2lkdGggfHwgIWltZ1JlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICAuLi5ub2RlLmF0dHJzLFxuICAgICAgcmVzaXplUGVyY2VudDogZ2V0UGVyY2VudEZyb21XaWR0aChub2RlLmF0dHJzLndpZHRoKSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZS5hdHRycywgZ2V0UGVyY2VudEZyb21XaWR0aF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICB9LCBbc2VsZWN0ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9wdGlvbnMuaW1hZ2VIYW5kbGluZy5pbnNlcnRJbWFnZVJlcXVlc3RlZChub2RlLCAoZmluaXNoKSA9PiBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKGVkaXRvciwgZmluaXNoKSk7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuXG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gcmVzaXplUmVmLmN1cnJlbnQ7XG4gICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmVzaXplSGFuZGxlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGluaXRSZXNpemUsIGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVIYW5kbGUpIHJlc2l6ZUhhbmRsZS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBpbml0UmVzaXplLCBmYWxzZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuICB9KTtcblxuICBjb25zdCBsb2FkSW1hZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgYm94ID0gaW1nUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFib3gpIHJldHVybjtcblxuICAgIGlmICghYm94LnN0eWxlLndpZHRoIHx8IGJveC5zdHlsZS53aWR0aCA9PT0gJ2NhbGMoMjBweCknKSB7XG4gICAgICBjb25zdCB3ID0gTWF0aC5taW4oYm94Lm5hdHVyYWxXaWR0aCwgbWF4SW1hZ2VXaWR0aCk7XG4gICAgICBjb25zdCBoID0gTWF0aC5taW4oYm94Lm5hdHVyYWxIZWlnaHQsIG1heEltYWdlSGVpZ2h0KTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d31weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aH1weGA7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgd2lkdGg6IHcsIGhlaWdodDogaCB9O1xuICAgICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBtYXhJbWFnZVdpZHRoLCBtYXhJbWFnZUhlaWdodF0pO1xuXG4gIGNvbnN0IHVwZGF0ZUFzcGVjdCA9IChpbml0aWFsLCBuZXh0LCBrZWVwQXNwZWN0ID0gdHJ1ZSwgcmVzaXplVHlwZSkgPT4ge1xuICAgIGlmIChrZWVwQXNwZWN0KSB7XG4gICAgICBjb25zdCByYXRpbyA9IGluaXRpYWwud2lkdGggLyBpbml0aWFsLmhlaWdodDtcbiAgICAgIGlmIChyZXNpemVUeXBlID09PSAnaGVpZ2h0JykgcmV0dXJuIHsgd2lkdGg6IG5leHQuaGVpZ2h0ICogcmF0aW8sIGhlaWdodDogbmV4dC5oZWlnaHQgfTtcbiAgICAgIHJldHVybiB7IHdpZHRoOiBuZXh0LndpZHRoLCBoZWlnaHQ6IG5leHQud2lkdGggLyByYXRpbyB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV4dDtcbiAgfTtcblxuICBjb25zdCBzdGFydFJlc2l6ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlKSA9PiB7XG4gICAgICBjb25zdCBib3ggPSBpbWdSZWYuY3VycmVudDtcbiAgICAgIGlmICghYm94KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IGUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHsgd2lkdGg6IGJveC5uYXR1cmFsV2lkdGgsIGhlaWdodDogYm94Lm5hdHVyYWxIZWlnaHQgfTtcblxuICAgICAgY29uc3QgbmV4dCA9IHVwZGF0ZUFzcGVjdChpbml0aWFsLCB7XG4gICAgICAgIHdpZHRoOiBlLmNsaWVudFggLSBib3VuZHMubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBlLmNsaWVudFkgLSBib3VuZHMudG9wLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChuZXh0LndpZHRoID4gNTAgJiYgbmV4dC5oZWlnaHQgPiA1MCAmJiBuZXh0LndpZHRoIDw9IDcwMCAmJiBuZXh0LmhlaWdodCA8PSA5MDApIHtcbiAgICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7bmV4dC53aWR0aH1weGA7XG4gICAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtuZXh0LmhlaWdodH1weGA7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0geyB3aWR0aDogbmV4dC53aWR0aCwgaGVpZ2h0OiBuZXh0LmhlaWdodCB9O1xuICAgICAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdG9yLCBub2RlLmF0dHJzXSxcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZXMpID0+IHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCBuZXdWYWx1ZXMpO1xuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gICk7XG5cbiAgY29uc3Qgc3RvcFJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgc3RhcnRSZXNpemUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcFJlc2l6ZSk7XG4gIH0sIFtzdGFydFJlc2l6ZV0pO1xuXG4gIGNvbnN0IGluaXRSZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXJ0UmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN0b3BSZXNpemUpO1xuICB9LCBbc3RhcnRSZXNpemUsIHN0b3BSZXNpemVdKTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB3aWR0aDogc2l6ZVB4KG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIGhlaWdodDogc2l6ZVB4KG5vZGUuYXR0cnMuaGVpZ2h0KSxcbiAgICBvYmplY3RGaXQ6ICdjb250YWluJyxcbiAgfTtcblxuICBjb25zdCBmbGV4QWxpZ24gPSB7IGxlZnQ6ICdmbGV4LXN0YXJ0JywgY2VudGVyOiAnY2VudGVyJywgcmlnaHQ6ICdmbGV4LWVuZCcgfVtub2RlLmF0dHJzLmFsaWdubWVudF0gfHwgJ2ZsZXgtc3RhcnQnO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlcj5cbiAgICAgIDxkaXZcbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgIGNsYXNzZXMucm9vdCxcbiAgICAgICAgICAhbm9kZS5hdHRycy5sb2FkZWQgJiYgY2xhc3Nlcy5sb2FkaW5nLFxuICAgICAgICAgIG5vZGUuYXR0cnMuZGVsZXRlU3RhdHVzID09PSAncGVuZGluZycgJiYgY2xhc3Nlcy5wZW5kaW5nRGVsZXRlLFxuICAgICAgICApfVxuICAgICAgICBzdHlsZT17eyBqdXN0aWZ5Q29udGVudDogZmxleEFsaWduIH19XG4gICAgICA+XG4gICAgICAgIDxMaW5lYXJQcm9ncmVzc1xuICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgdmFsdWU9e25vZGUuYXR0cnMucGVyY2VudCB8fCAwfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnByb2dyZXNzLCBub2RlLmF0dHJzLmxvYWRlZCAmJiBjbGFzc2VzLmhpZGVQcm9ncmVzcyl9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaW1hZ2VDb250YWluZXJ9PlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICAgICAgcmVmPXtpbWdSZWZ9XG4gICAgICAgICAgICBzcmM9e25vZGUuYXR0cnMuc3JjfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIHNlbGVjdGVkICYmIGNsYXNzZXMuYWN0aXZlKX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgIG9uTG9hZD17bG9hZEltYWdlfVxuICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgcmVmPXtyZXNpemVSZWZ9IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnJlc2l6ZSwgJ3Jlc2l6ZScpfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7c2hvd1Rvb2xiYXIgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXt0b29sYmFyUmVmfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJzEwMCUnLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIHpJbmRleDogMjAsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tZWRpdGFibGUtaHRtbC10b29sYmFyLWJnLCAjZWZlZmVmKScsXG4gICAgICAgICAgICBib3hTaGFkb3c6XG4gICAgICAgICAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEN1c3RvbVRvb2xiYXJXcmFwcGVyIHNob3dEb25lIHsuLi5vcHRpb25zfT5cbiAgICAgICAgICAgIDxJbWFnZVRvb2xiYXJcbiAgICAgICAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucz17b3B0aW9ucy5kaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zfVxuICAgICAgICAgICAgICBhbHQ9e25vZGUuYXR0cnMuYWx0fVxuICAgICAgICAgICAgICBpbWFnZUxvYWRlZD17bm9kZS5hdHRycy5sb2FkZWR9XG4gICAgICAgICAgICAgIGFsaWdubWVudD17bm9kZS5hdHRycy5hbGlnbm1lbnQgfHwgJ2xlZnQnfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ3VzdG9tVG9vbGJhcldyYXBwZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn1cblxuSW1hZ2VDb21wb25lbnQucHJvcFR5cGVzID0ge1xuICBub2RlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGVkaXRvcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICBtYXhJbWFnZVdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoKHRoZW1lKSA9PiAoe1xuICBwb3J0YWw6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBvcGFjaXR5OiAwLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIH0sXG4gIGZsb2F0aW5nQnV0dG9uUm93OiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQucGFwZXIsXG4gICAgYm9yZGVyUmFkaXVzOiAnMXB4JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcGFkZGluZzogJzEwcHgnLFxuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuZ3JleVsyMDBdfWAsXG4gICAgYm94U2hhZG93OlxuICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICB9LFxuICBwcm9ncmVzczoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGxlZnQ6ICcwJyxcbiAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICB0b3A6ICcwJScsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgaGlkZVByb2dyZXNzOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbiAgbG9hZGluZzoge1xuICAgIG9wYWNpdHk6IDAuMyxcbiAgfSxcbiAgcGVuZGluZ0RlbGV0ZToge1xuICAgIG9wYWNpdHk6IDAuMyxcbiAgfSxcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlfWAsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIH0sXG4gIGRlbGV0ZToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwLFxuICB9LFxuICBpbWFnZUNvbnRhaW5lcjoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcblxuICAgICcmJjpob3ZlciA+IC5yZXNpemUnOiB7XG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIH0sXG4gIH0sXG4gIGFjdGl2ZToge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWlufWAsXG4gIH0sXG4gIHJlc2l6ZToge1xuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG4gICAgY3Vyc29yOiAnY29sLXJlc2l6ZScsXG4gICAgaGVpZ2h0OiAnMzVweCcsXG4gICAgd2lkdGg6ICc1cHgnLFxuICAgIGJvcmRlclJhZGl1czogOCxcbiAgICBtYXJnaW5MZWZ0OiAnNXB4JyxcbiAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgIGRpc3BsYXk6ICdub25lJyxcbiAgfSxcbiAgZHJhd2FibGVIZWlnaHQ6IHtcbiAgICBtaW5IZWlnaHQ6IDM1MCxcbiAgfSxcbn0pKShJbWFnZUNvbXBvbmVudCk7XG4iXX0=
|
|
333
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZVB4IiwicyIsIkltYWdlQ29tcG9uZW50IiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwic2VsZWN0ZWQiLCJvcHRpb25zIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ3aWR0aCIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJjb21tYW5kcyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJpbWFnZUhhbmRsaW5nIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJmaW5pc2giLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJyZXNpemVIYW5kbGUiLCJhZGRFdmVudExpc3RlbmVyIiwiaW5pdFJlc2l6ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkSW1hZ2UiLCJib3giLCJzdHlsZSIsInciLCJNYXRoIiwibWluIiwiaCIsIm5hdHVyYWxIZWlnaHQiLCJoZWlnaHQiLCJ1cGRhdGVBc3BlY3QiLCJpbml0aWFsIiwibmV4dCIsImtlZXBBc3BlY3QiLCJyZXNpemVUeXBlIiwicmF0aW8iLCJzdGFydFJlc2l6ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJvbkNoYW5nZSIsIm5ld1ZhbHVlcyIsInN0b3BSZXNpemUiLCJ3aW5kb3ciLCJvYmplY3RGaXQiLCJmbGV4QWxpZ24iLCJjZW50ZXIiLCJyaWdodCIsImFsaWdubWVudCIsInJvb3QiLCJsb2FkZWQiLCJsb2FkaW5nIiwiZGVsZXRlU3RhdHVzIiwicGVuZGluZ0RlbGV0ZSIsImp1c3RpZnlDb250ZW50IiwicGVyY2VudCIsInByb2dyZXNzIiwiaGlkZVByb2dyZXNzIiwiaW1hZ2VDb250YWluZXIiLCJzcmMiLCJpbWFnZSIsImFjdGl2ZSIsInJlc2l6ZSIsInBvc2l0aW9uIiwiekluZGV4IiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsIm9uRG9uZSIsImZvY3VzIiwiZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwibnVtYmVyIiwidGhlbWUiLCJwb3J0YWwiLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsInBhcGVyIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJncmV5IiwiY29tbW9uIiwid2hpdGUiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxnREFBTixDQUFaOztBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLENBQUQ7QUFBQSxTQUFRQSxDQUFDLGFBQU1BLENBQU4sVUFBYyxZQUF2QjtBQUFBLENBQWY7O0FBRUEsU0FBU0MsY0FBVCxDQUF3QkMsS0FBeEIsRUFBK0I7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ZVJlZiwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgTGluZWFyUHJvZ3Jlc3MgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTGluZWFyUHJvZ3Jlc3MnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBJbnNlcnRJbWFnZUhhbmRsZXIgZnJvbSAnLi4vcGx1Z2lucy9pbWFnZS9pbnNlcnQtaW1hZ2UtaGFuZGxlcic7XG5pbXBvcnQgSW1hZ2VUb29sYmFyIGZyb20gJy4uL3BsdWdpbnMvaW1hZ2UvaW1hZ2UtdG9vbGJhcic7XG5pbXBvcnQgQ3VzdG9tVG9vbGJhcldyYXBwZXIgZnJvbSAnLi9jdXN0b20tdG9vbGJhci13cmFwcGVyJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczppbWFnZTpjb21wb25lbnQnKTtcblxuY29uc3Qgc2l6ZVB4ID0gKHMpID0+IChzID8gYCR7c31weGAgOiAnY2FsYygyMHB4KScpO1xuXG5mdW5jdGlvbiBJbWFnZUNvbXBvbmVudChwcm9wcykge1xuICBjb25zdCB7XG4gICAgbm9kZSxcbiAgICBlZGl0b3IsXG4gICAgY2xhc3NlcyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIG9uRm9jdXMsXG4gICAgc2VsZWN0ZWQsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhJbWFnZVdpZHRoID0gNzAwLFxuICAgIG1heEltYWdlSGVpZ2h0ID0gOTAwLFxuICAgIGxhdGV4LFxuICAgIGhhbmRsZUNoYW5nZSxcbiAgICBoYW5kbGVEb25lLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYWx0IH0gPSBub2RlLmF0dHJzO1xuXG4gIGNvbnN0IFtzaG93VG9vbGJhciwgc2V0U2hvd1Rvb2xiYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGltZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcmVzaXplUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IGdldFBlcmNlbnRGcm9tV2lkdGggPSB1c2VDYWxsYmFjaygod2lkdGgpID0+IHtcbiAgICBjb25zdCBmbG9vcmVkID0gKHdpZHRoIC8gaW1nUmVmLmN1cnJlbnQubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBhcHBseVNpemVEYXRhID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghbm9kZS5hdHRycy53aWR0aCB8fCAhaW1nUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIC4uLm5vZGUuYXR0cnMsXG4gICAgICByZXNpemVQZXJjZW50OiBnZXRQZXJjZW50RnJvbVdpZHRoKG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIH07XG5cbiAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBnZXRQZXJjZW50RnJvbVdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gIH0sIFtzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb3B0aW9ucy5pbWFnZUhhbmRsaW5nLmluc2VydEltYWdlUmVxdWVzdGVkKG5vZGUsIChmaW5pc2gpID0+IG5ldyBJbnNlcnRJbWFnZUhhbmRsZXIoZWRpdG9yLCBmaW5pc2gpKTtcbiAgICBhcHBseVNpemVEYXRhKCk7XG5cbiAgICBjb25zdCByZXNpemVIYW5kbGUgPSByZXNpemVSZWYuY3VycmVudDtcbiAgICBpZiAocmVzaXplSGFuZGxlKSB7XG4gICAgICByZXNpemVIYW5kbGUuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZUhhbmRsZSkgcmVzaXplSGFuZGxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGluaXRSZXNpemUsIGZhbHNlKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhcHBseVNpemVEYXRhKCk7XG4gIH0pO1xuXG4gIGNvbnN0IGxvYWRJbWFnZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBib3ggPSBpbWdSZWYuY3VycmVudDtcbiAgICBpZiAoIWJveCkgcmV0dXJuO1xuXG4gICAgaWYgKCFib3guc3R5bGUud2lkdGggfHwgYm94LnN0eWxlLndpZHRoID09PSAnY2FsYygyMHB4KScpIHtcbiAgICAgIGNvbnN0IHcgPSBNYXRoLm1pbihib3gubmF0dXJhbFdpZHRoLCBtYXhJbWFnZVdpZHRoKTtcbiAgICAgIGNvbnN0IGggPSBNYXRoLm1pbihib3gubmF0dXJhbEhlaWdodCwgbWF4SW1hZ2VIZWlnaHQpO1xuXG4gICAgICBib3guc3R5bGUud2lkdGggPSBgJHt3fXB4YDtcbiAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtofXB4YDtcblxuICAgICAgY29uc3QgdXBkYXRlID0geyB3aWR0aDogdywgaGVpZ2h0OiBoIH07XG4gICAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgdXBkYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUuYXR0cnMsIG1heEltYWdlV2lkdGgsIG1heEltYWdlSGVpZ2h0XSk7XG5cbiAgY29uc3QgdXBkYXRlQXNwZWN0ID0gKGluaXRpYWwsIG5leHQsIGtlZXBBc3BlY3QgPSB0cnVlLCByZXNpemVUeXBlKSA9PiB7XG4gICAgaWYgKGtlZXBBc3BlY3QpIHtcbiAgICAgIGNvbnN0IHJhdGlvID0gaW5pdGlhbC53aWR0aCAvIGluaXRpYWwuaGVpZ2h0O1xuICAgICAgaWYgKHJlc2l6ZVR5cGUgPT09ICdoZWlnaHQnKSByZXR1cm4geyB3aWR0aDogbmV4dC5oZWlnaHQgKiByYXRpbywgaGVpZ2h0OiBuZXh0LmhlaWdodCB9O1xuICAgICAgcmV0dXJuIHsgd2lkdGg6IG5leHQud2lkdGgsIGhlaWdodDogbmV4dC53aWR0aCAvIHJhdGlvIH07XG4gICAgfVxuICAgIHJldHVybiBuZXh0O1xuICB9O1xuXG4gIGNvbnN0IHN0YXJ0UmVzaXplID0gdXNlQ2FsbGJhY2soXG4gICAgKGUpID0+IHtcbiAgICAgIGNvbnN0IGJveCA9IGltZ1JlZi5jdXJyZW50O1xuICAgICAgaWYgKCFib3gpIHJldHVybjtcblxuICAgICAgY29uc3QgYm91bmRzID0gZS50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBpbml0aWFsID0geyB3aWR0aDogYm94Lm5hdHVyYWxXaWR0aCwgaGVpZ2h0OiBib3gubmF0dXJhbEhlaWdodCB9O1xuXG4gICAgICBjb25zdCBuZXh0ID0gdXBkYXRlQXNwZWN0KGluaXRpYWwsIHtcbiAgICAgICAgd2lkdGg6IGUuY2xpZW50WCAtIGJvdW5kcy5sZWZ0LFxuICAgICAgICBoZWlnaHQ6IGUuY2xpZW50WSAtIGJvdW5kcy50b3AsXG4gICAgICB9KTtcblxuICAgICAgaWYgKG5leHQud2lkdGggPiA1MCAmJiBuZXh0LmhlaWdodCA+IDUwICYmIG5leHQud2lkdGggPD0gNzAwICYmIG5leHQuaGVpZ2h0IDw9IDkwMCkge1xuICAgICAgICBib3guc3R5bGUud2lkdGggPSBgJHtuZXh0LndpZHRofXB4YDtcbiAgICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke25leHQuaGVpZ2h0fXB4YDtcblxuICAgICAgICBjb25zdCB1cGRhdGUgPSB7IHdpZHRoOiBuZXh0LndpZHRoLCBoZWlnaHQ6IG5leHQuaGVpZ2h0IH07XG4gICAgICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuYXR0cnMpKSB7XG4gICAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtlZGl0b3IsIG5vZGUuYXR0cnNdLFxuICApO1xuXG4gIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld1ZhbHVlcykgPT4ge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIG5ld1ZhbHVlcyk7XG4gICAgfSxcbiAgICBbZWRpdG9yXSxcbiAgKTtcblxuICBjb25zdCBzdG9wUmVzaXplID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzdGFydFJlc2l6ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBzdG9wUmVzaXplKTtcbiAgfSwgW3N0YXJ0UmVzaXplXSk7XG5cbiAgY29uc3QgaW5pdFJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgc3RhcnRSZXNpemUpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcFJlc2l6ZSk7XG4gIH0sIFtzdGFydFJlc2l6ZSwgc3RvcFJlc2l6ZV0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHdpZHRoOiBzaXplUHgobm9kZS5hdHRycy53aWR0aCksXG4gICAgaGVpZ2h0OiBzaXplUHgobm9kZS5hdHRycy5oZWlnaHQpLFxuICAgIG9iamVjdEZpdDogJ2NvbnRhaW4nLFxuICB9O1xuXG4gIGNvbnN0IGZsZXhBbGlnbiA9IHsgbGVmdDogJ2ZsZXgtc3RhcnQnLCBjZW50ZXI6ICdjZW50ZXInLCByaWdodDogJ2ZsZXgtZW5kJyB9W25vZGUuYXR0cnMuYWxpZ25tZW50XSB8fCAnZmxleC1zdGFydCc7XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyPlxuICAgICAgPGRpdlxuICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICAgY2xhc3Nlcy5yb290LFxuICAgICAgICAgICFub2RlLmF0dHJzLmxvYWRlZCAmJiBjbGFzc2VzLmxvYWRpbmcsXG4gICAgICAgICAgbm9kZS5hdHRycy5kZWxldGVTdGF0dXMgPT09ICdwZW5kaW5nJyAmJiBjbGFzc2VzLnBlbmRpbmdEZWxldGUsXG4gICAgICAgICl9XG4gICAgICAgIHN0eWxlPXt7IGp1c3RpZnlDb250ZW50OiBmbGV4QWxpZ24gfX1cbiAgICAgID5cbiAgICAgICAgPExpbmVhclByb2dyZXNzXG4gICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcbiAgICAgICAgICB2YWx1ZT17bm9kZS5hdHRycy5wZXJjZW50IHx8IDB9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMucHJvZ3Jlc3MsIG5vZGUuYXR0cnMubG9hZGVkICYmIGNsYXNzZXMuaGlkZVByb2dyZXNzKX1cbiAgICAgICAgLz5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5pbWFnZUNvbnRhaW5lcn0+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICAgICAgICByZWY9e2ltZ1JlZn1cbiAgICAgICAgICAgIHNyYz17bm9kZS5hdHRycy5zcmN9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5pbWFnZSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcy5hY3RpdmUpfVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICAgICAgb25Mb2FkPXtsb2FkSW1hZ2V9XG4gICAgICAgICAgICBhbHQ9e25vZGUuYXR0cnMuYWx0fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiByZWY9e3Jlc2l6ZVJlZn0gY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMucmVzaXplLCAncmVzaXplJyl9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3Rvb2xiYXJSZWZ9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnMTAwJScsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgekluZGV4OiAyMCxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICAgICAgICAgIGJveFNoYWRvdzpcbiAgICAgICAgICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEN1c3RvbVRvb2xiYXJXcmFwcGVyXG4gICAgICAgICAgICBzaG93RG9uZVxuICAgICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgICBvbkRvbmU9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgICAgICAgICBwcm9wcy5pbWFnZUhhbmRsaW5nPy5vbkRvbmUoKTtcbiAgICAgICAgICAgICAgcHJvcHMuZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCdlbmQnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEltYWdlVG9vbGJhclxuICAgICAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXtvcHRpb25zLmRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnN9XG4gICAgICAgICAgICAgIGFsdD17bm9kZS5hdHRycy5hbHR9XG4gICAgICAgICAgICAgIGltYWdlTG9hZGVkPXtub2RlLmF0dHJzLmxvYWRlZH1cbiAgICAgICAgICAgICAgYWxpZ25tZW50PXtub2RlLmF0dHJzLmFsaWdubWVudCB8fCAnbGVmdCd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9DdXN0b21Ub29sYmFyV3JhcHBlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufVxuXG5JbWFnZUNvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIG5vZGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgZWRpdG9yOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgb25Gb2N1czogUHJvcFR5cGVzLmZ1bmMsXG4gIG1heEltYWdlV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIG1heEltYWdlSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcygodGhlbWUpID0+ICh7XG4gIHBvcnRhbDoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIG9wYWNpdHk6IDAsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZmxvYXRpbmdCdXR0b25Sb3c6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuYmFja2dyb3VuZC5wYXBlcixcbiAgICBib3JkZXJSYWRpdXM6ICcxcHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5ncmV5WzIwMF19YCxcbiAgICBib3hTaGFkb3c6XG4gICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gIH0sXG4gIHByb2dyZXNzOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJzAnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIHRvcDogJzAlJyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBoaWRlUHJvZ3Jlc3M6IHtcbiAgICBvcGFjaXR5OiAwLFxuICB9LFxuICBsb2FkaW5nOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICBwZW5kaW5nRGVsZXRlOiB7XG4gICAgb3BhY2l0eTogMC4zLFxuICB9LFxuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGV9YCxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgZGVsZXRlOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6IDAsXG4gIH0sXG4gIGltYWdlQ29udGFpbmVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXG4gICAgJyYmOmhvdmVyID4gLnJlc2l6ZSc6IHtcbiAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgfSxcbiAgfSxcbiAgYWN0aXZlOiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7dGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW59YCxcbiAgfSxcbiAgcmVzaXplOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJyxcbiAgICBoZWlnaHQ6ICczNXB4JyxcbiAgICB3aWR0aDogJzVweCcsXG4gICAgYm9yZGVyUmFkaXVzOiA4LFxuICAgIG1hcmdpbkxlZnQ6ICc1cHgnLFxuICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgZGlzcGxheTogJ25vbmUnLFxuICB9LFxuICBkcmF3YWJsZUhlaWdodDoge1xuICAgIG1pbkhlaWdodDogMzUwLFxuICB9LFxufSkpKEltYWdlQ29tcG9uZW50KTtcbiJdfQ==
|