nsc-react-component 2.8.41 → 2.8.42

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.
@@ -229,7 +229,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
229
229
  var _beforeUpload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(file, ofileList) {
230
230
  var _this2 = this;
231
231
 
232
- var _this$props2, _this$props2$maxSize, maxSize, allowFileSuffix, _this$props2$checkSam, checkSameFile, maxCount, showUploadList, propsList, _this$state, fileList, fileListStore, size, fileNames, checkList, res, onListChange, newList;
232
+ var _this$props2, _this$props2$maxSize, maxSize, allowFileSuffix, _this$props2$checkSam, checkSameFile, maxCount, showUploadList, propsList, _this$state, fileList, fileListStore, size, fileNames, checkList, res, newList;
233
233
 
234
234
  return regeneratorRuntime.wrap(function _callee3$(_context3) {
235
235
  while (1) {
@@ -307,7 +307,6 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
307
307
  return _context3.abrupt("return", false);
308
308
 
309
309
  case 24:
310
- onListChange = this.props.onListChange;
311
310
  newList = _toConsumableArray(fileList);
312
311
  ofileList.map( /*#__PURE__*/function () {
313
312
  var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(item) {
@@ -346,12 +345,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
346
345
  newList.splice(0, 1);
347
346
  }
348
347
 
349
- this.setState({
350
- fileList: newList
351
- });
352
- onListChange && onListChange(newList);
353
-
354
- case 30:
348
+ case 27:
355
349
  case "end":
356
350
  return _context3.stop();
357
351
  }
@@ -384,7 +378,6 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
384
378
  var percent = _ref3.percent,
385
379
  file = _ref3.file;
386
380
  var fileList = this.state.fileList;
387
- var onListChange = this.props.onListChange;
388
381
  var newList = [];
389
382
  fileList.map(function (item) {
390
383
  var newFile = _objectSpread({}, item);
@@ -398,13 +391,11 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
398
391
  this.setState({
399
392
  fileList: newList
400
393
  });
401
- onListChange && onListChange(newList);
402
394
  }
403
395
  }, {
404
396
  key: "onComplete",
405
397
  value: function onComplete(file) {
406
398
  var fileList = this.state.fileList;
407
- var onListChange = this.props.onListChange;
408
399
  var newList = [];
409
400
  fileList.map(function (item) {
410
401
  var newFile = _objectSpread({}, item);
@@ -420,23 +411,26 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
420
411
  this.setState({
421
412
  fileList: newList
422
413
  });
414
+ var onListChange = this.props.onListChange;
415
+ this.setState({
416
+ fileList: fileList
417
+ });
423
418
  onListChange && onListChange(newList);
424
419
  }
425
420
  }, {
426
421
  key: "onDelete",
427
422
  value: function onDelete(file) {
428
423
  var fileList = this.state.fileList;
429
- var onListChange = this.props.onListChange;
430
424
  var newList = [];
431
425
  fileList.map(function (item) {
432
- if (item.fileId !== file.fileId || item.uid !== file.uid) {
426
+ //通过文件名判断,上传是文件名是唯一的
427
+ if (item.name !== file.name || item.fileId !== file.fileId || item.uid !== file.uid) {
433
428
  newList.push(item);
434
429
  }
435
430
  });
436
431
  this.setState({
437
432
  fileList: newList
438
433
  });
439
- onListChange && onListChange(newList);
440
434
  }
441
435
  }, {
442
436
  key: "render",
@@ -444,7 +438,6 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
444
438
  var _this3 = this;
445
439
 
446
440
  var _this$props3 = this.props,
447
- useDefaultList = _this$props3.useDefaultList,
448
441
  fileList = _this$props3.fileList,
449
442
  fileCard = _this$props3.fileCard,
450
443
  _this$props3$showUplo = _this$props3.showUploadList,
@@ -543,7 +536,18 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
543
536
 
544
537
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Upload, _extends({}, defaultProps, newprops, {
545
538
  beforeUpload: this.beforeUpload.bind(this),
546
- fileList: fileList ? this.state.fileListStore : this.state.fileList
539
+ fileList: fileList ? this.state.fileListStore : this.state.fileList,
540
+ onChange: function onChange(_ref4) {
541
+ var file = _ref4.file,
542
+ fileList = _ref4.fileList;
543
+ var onListChange = _this3.props.onListChange;
544
+
545
+ _this3.setState({
546
+ fileList: fileList
547
+ });
548
+
549
+ onListChange && onListChange(fileList);
550
+ }
547
551
  })));
548
552
  }
549
553
  }]);
@@ -552,4 +556,4 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
552
556
  }(React.PureComponent);
553
557
 
554
558
  export default withZhLocale(NscUpload);
555
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NVcGxvYWQiLCJmaWxlTGlzdCIsInZpZXdJZCIsImZpbGVMaXN0U3RvcmUiLCJmaWxlTmFtZXMiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJmaWxlSWQiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwib25FcnJvciIsInN0YXR1cyIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwidGVtcCIsIm5hbWUiLCJmaWxlTmFtZSIsInR5cGUiLCJzaXplIiwicHVzaCIsInNldFN0YXRlIiwicHJlUHJvcHMiLCJwcmVTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZSIsIm9maWxlTGlzdCIsIm1heFNpemUiLCJhbGxvd0ZpbGVTdWZmaXgiLCJjaGVja1NhbWVGaWxlIiwibWF4Q291bnQiLCJzaG93VXBsb2FkTGlzdCIsInByb3BzTGlzdCIsImNoZWNrRmlsZVR5cGUiLCJlcnJvciIsImNoZWNrTGlzdCIsImluZGV4T2YiLCJiZWZvcmVVcGxvYWQiLCJvbkxpc3RDaGFuZ2UiLCJuZXdMaXN0IiwidWlkIiwibGVuZ3RoIiwic3BsaWNlIiwibmFtZXMiLCJzcGxpdCIsInN1ZmZpeCIsIm5ld0ZpbGUiLCJ1cmwiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwidXNlRGVmYXVsdExpc3QiLCJmaWxlQ2FyZCIsInNob3dEb3dubG9hZEljb24iLCJzaG93UHJldmlld0ljb24iLCJzaG93UmVtb3ZlSWNvbiIsImRvd25sb2FkSWNvbiIsInJlbW92ZUljb24iLCJwcmV2aWV3SWNvbiIsIm5ld3Byb3BzIiwiZGVmYXVsdFByb3BzIiwiY3VzdG9tUmVxdWVzdCIsImJpbmQiLCJtdWx0aXBsZSIsIml0ZW1SZW5kZXIiLCJvcmlnaW5Ob2RlIiwiY3VyckZpbGVMaXN0Iiwib25QcmV2aWV3IiwiY3Vyc29yIiwib25Eb3dubG9hZCIsIm9uUmVtb3ZlIiwib25EZWxldGUiLCJ3aWR0aCIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFVBQWpCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixZQUFwQjtBQUNBLE9BQU9DLFlBQVAsTUFBeUIsd0JBQXpCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsb0JBQXJCO0FBQ0EsU0FDRUMsY0FERixFQUVFQyxnQkFGRixFQUdFQyxXQUhGLFFBSU8sbUJBSlA7QUFNQSxJQUFRQyxNQUFSLEdBQThDWCxJQUE5QyxDQUFRVyxNQUFSO0FBQUEsSUFBZ0JDLFFBQWhCLEdBQThDWixJQUE5QyxDQUFnQlksUUFBaEI7QUFBQSxJQUEwQkMsZUFBMUIsR0FBOENiLElBQTlDLENBQTBCYSxlQUExQjs7SUFhTUMsUzs7Ozs7Ozs7Ozs7Ozs7Ozs0REFDSTtBQUFFQyxNQUFBQSxRQUFRLEVBQUUsRUFBWjtB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UUFBQSxZQUFZLEVBQUUsS0FBS3RCLFlBQUwsQ0FBa0J5QixJQUFsQixDQUF1QixJQUF2QixDQUhoQjtBQUlFLFFBQUEsUUFBUSxFQUFFM0UsUUFBUSxHQUFHLEtBQUtzQyxLQUFMLENBQVdwQyxhQUFkLEdBQThCLEtBQUtvQyxLQUFMLENBQVd0QztBQUo3RCxTQURGLENBREY7QUFVRDs7OztFQTFXcUJoQixLQUFLLENBQUNzRyxhOztBQTRXOUIsZUFBZW5HLFlBQVksQ0FBQ1ksU0FBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBVcGxvYWQsIFVwbG9hZFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi9tZXNzYWdlXCI7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBQZGZWaWV3ZXIgZnJvbSBcIi4uL3BkZnZpd2VyXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50IH0gPSBmaWxlO1xyXG5cclxuaW50ZXJmYWNlIElVcGxvYWRQcm9wcyBleHRlbmRzIFVwbG9hZFByb3BzIHtcclxuICBzbGljZVNpemU/OiBudW1iZXI7XHJcbiAgbWF4U2l6ZT86IG51bWJlciB8IGJvb2xlYW47XHJcbiAgb25Qcm9jZXNzPzogKHByb2Nlc3MpID0+IHZvaWQ7XHJcbiAgb25Db21wbGV0ZT86ICh7IGZpbGUsIGZpbGVJZCwgc3RhdHVzIH0pID0+IHZvaWQ7XHJcbiAgYWxsb3dGaWxlU3VmZml4PzogQXJyYXk8U3RyaW5nPjsgLy/lhYHorrjkuIrkvKDmianlsZXlkI0s5LiN5bimLlxyXG4gIHVzZURlZmF1bHRMaXN0PzogYm9vbGVhbjsgLy/mmK/lkKbkvb/nlKjpu5jorqTnmoRmaWxlTGlzdFxyXG4gIGZpbGVDYXJkPzogYm9vbGVhbjtcclxuICBvbkxpc3RDaGFuZ2U/OiBhbnk7XHJcbiAgY2hlY2tTYW1lRmlsZT86IGJvb2xlYW47XHJcbn1cclxuY2xhc3MgTnNjVXBsb2FkIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJVXBsb2FkUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0geyBmaWxlTGlzdDogW10sIHZpZXdJZDogXCJcIiwgZmlsZUxpc3RTdG9yZTogW10sIGZpbGVOYW1lczogW10gfTtcclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnRGaWxlTGlzdChsaXN0PzogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICBsZXQgb2xkTGlzdCA9IGxpc3QgPyBsaXN0IDogZmlsZUxpc3Q7XHJcbiAgICBvbGRMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgfTtcclxuICAgICAgbmV3RmlsZUxpc3QucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdGaWxlTGlzdCxcclxuICAgICAgZmlsZUxpc3RTdG9yZTogZmlsZUxpc3QsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZmlsZUxpc3QpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRGaWxlTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gIH1cclxuICBzZXRGaWxlTGlzdChmaWxlTGlzdDogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBiZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICBhbGxvd0ZpbGVTdWZmaXgsXHJcbiAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICBtYXhDb3VudCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QsXHJcbiAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCB7IGZpbGVMaXN0LCBmaWxlTGlzdFN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG5cclxuICAgIGxldCBzaXplOiBudW1iZXI7XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSkpIHtcclxuICAgICAgbWVzc2FnZS5lcnJvcihcclxuICAgICAgICBgJHtmaWxlLm5hbWV95paH5Lu257G75Z6L5LiN5YWB6K645LiK5Lyg77yM6K+35LiK5Lyg5ZCO57yA5Li6JHthbGxvd0ZpbGVTdWZmaXh955qE57G75Z6L5paH5Lu277yBYFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAobWF4U2l6ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgaWYgKG1heFNpemUgPT09IHRydWUpIHtcclxuICAgICAgICBtYXhTaXplID0gMTAwO1xyXG4gICAgICB9XHJcbiAgICAgIHNpemUgPSBtYXhTaXplICogMTAyNCAqIDEwMjQ7XHJcbiAgICAgIGlmIChzaXplIDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBmaWxlTmFtZXMgPSBbXTtcclxuICAgIGlmIChjaGVja1NhbWVGaWxlKSB7XHJcbiAgICAgIGNvbnN0IGNoZWNrTGlzdCA9IHRoaXMucHJvcHMuZmlsZUxpc3QgPyBmaWxlTGlzdFN0b3JlIDogZmlsZUxpc3Q7XHJcbiAgICAgIGNoZWNrTGlzdC5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICBmaWxlTmFtZXMucHVzaChpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKGZpbGVOYW1lcy5pbmRleE9mKGZpbGUubmFtZSkgPiAtMSAmJiBzaG93VXBsb2FkTGlzdCAhPT0gZmFsc2UpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKGDmlofku7Yke2ZpbGUubmFtZX3lt7LlnKjkuIrkvKDliJfooajkuK3vvIzor7fph43mlrDpgInmi6nmlofku7bvvIFgKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQpIHtcclxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KTtcclxuICAgICAgaWYgKHJlcyA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdCA9IFsuLi5maWxlTGlzdF07XHJcbiAgICBvZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhKFxyXG4gICAgICAgICAgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGl0ZW0pKSB8fFxyXG4gICAgICAgICAgc2l6ZSA8IGl0ZW0uc2l6ZSB8fFxyXG4gICAgICAgICAgKGNoZWNrU2FtZUZpbGUgJiYgZmlsZU5hbWVzLmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgdGVtcCA9IHtcclxuICAgICAgICAgIGZpbGVOYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICBwZXJjZW50OiAwLFxyXG4gICAgICAgICAgc3RhdHVzOiBcInVwbG9hZGluZ1wiLFxyXG4gICAgICAgICAgdWlkOiBpdGVtLnVpZCxcclxuICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG5ld0xpc3QucHVzaCh0ZW1wKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBuZXdMaXN0LnNwbGljZSgwLCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoeyBmaWxlTGlzdDogbmV3TGlzdCB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuYW1lcyA9IGZpbGUubmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICBjb25zdCBzdWZmaXggPSBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXTtcclxuICAgIGlmIChhbGxvd0ZpbGVTdWZmaXguaW5kZXhPZihzdWZmaXgpID4gLTEpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIG9uUHJvY2Vzcyh7IHBlcmNlbnQsIGZpbGUgfTogYW55KSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgfVxyXG4gICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgb25Db21wbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICBuZXdGaWxlLnN0YXR1cyA9IGZpbGUuc3RhdHVzID09IFwic3VjY2Vzc1wiID8gXCJkb25lXCIgOiBmaWxlLnN0YXR1cztcclxuICAgICAgICBuZXdGaWxlLmZpbGVJZCA9IGZpbGUuZmlsZUlkO1xyXG4gICAgICAgIG5ld0ZpbGUudXJsID0gYC9hcGkvanF1aWNrLXJlc291cmNlL29zcy9lbmRwb2ludC9kb3dubG9hZC1maWxlcz9hdHRhY2hJZD0ke1xyXG4gICAgICAgICAgZmlsZS5maWxlSWRcclxuICAgICAgICB9Jl90cGs9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKX1gO1xyXG4gICAgICB9XHJcbiAgICAgIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICBjdXN0b21SZXF1ZXN0ID0gYXN5bmMgKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICBjb25zdCB7IG9uQ29tcGxldGUsIG9uUHJvY2Vzcywgc2xpY2VTaXplIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgIH07XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZCh7XHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgIHBhcnRTaXplOiBzbGljZVNpemUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBcIlwiLFxyXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoeyBmaWxlOiBvcHRpb25zLmZpbGUsIGZpbGVJZDogXCJcIiwgc3RhdHVzOiBcImVycm9yXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8IGl0ZW0udWlkICE9PSBmaWxlLnVpZCkge1xyXG4gICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgbGV0IHtcclxuICAgICAgdXNlRGVmYXVsdExpc3QsXHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICBpZiAoZmlsZUNhcmQpIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBpdGVtUmVuZGVyOiAob3JpZ2luTm9kZSwgZmlsZTogYW55LCBjdXJyRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXMgPyBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSA6IFwiXCI7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiBzdWZmaXg9e3N1ZmZpeH0gZmlsZUlkPXtmaWxlLmZpbGVJZH0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWV9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dQcmV2aWV3SWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblJlbW92ZTogKGZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblByZXZpZXc6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxVcGxvYWRcclxuICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICB7Li4ubmV3cHJvcHN9XHJcbiAgICAgICAgICBiZWZvcmVVcGxvYWQ9e3RoaXMuYmVmb3JlVXBsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBmaWxlTGlzdD17ZmlsZUxpc3QgPyB0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUgOiB0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5zY1VwbG9hZCk7XHJcbiJdfQ==
559
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NVcGxvYWQiLCJmaWxlTGlzdCIsInZpZXdJZCIsImZpbGVMaXN0U3RvcmUiLCJmaWxlTmFtZXMiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJmaWxlSWQiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwib25FcnJvciIsInN0YXR1cyIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwidGVtcCIsIm5hbWUiLCJmaWxlTmFtZSIsInR5cGUiLCJzaXplIiwicHVzaCIsInNldFN0YXRlIiwicHJlUHJvcHMiLCJwcmVTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZSIsIm9maWxlTGlzdCIsIm1heFNpemUiLCJhbGxvd0ZpbGVTdWZmaXgiLCJjaGVja1NhbWVGaWxlIiwibWF4Q291bnQiLCJzaG93VXBsb2FkTGlzdCIsInByb3BzTGlzdCIsImNoZWNrRmlsZVR5cGUiLCJlcnJvciIsImNoZWNrTGlzdCIsImluZGV4T2YiLCJiZWZvcmVVcGxvYWQiLCJuZXdMaXN0IiwidWlkIiwibGVuZ3RoIiwic3BsaWNlIiwibmFtZXMiLCJzcGxpdCIsInN1ZmZpeCIsIm5ld0ZpbGUiLCJ1cmwiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwib25MaXN0Q2hhbmdlIiwiZmlsZUNhcmQiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsIm9uUHJldmlldyIsImN1cnNvciIsIm9uRG93bmxvYWQiLCJvblJlbW92ZSIsIm9uRGVsZXRlIiwid2lkdGgiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixVQUFqQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsWUFBcEI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLHdCQUF6QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLG9CQUFyQjtBQUNBLFNBQ0VDLGNBREYsRUFFRUMsZ0JBRkYsRUFHRUMsV0FIRixRQUlPLG1CQUpQO0FBTUEsSUFBUUMsTUFBUixHQUE4Q1gsSUFBOUMsQ0FBUVcsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixHQUE4Q1osSUFBOUMsQ0FBZ0JZLFFBQWhCO0FBQUEsSUFBMEJDLGVBQTFCLEdBQThDYixJQUE5QyxDQUEwQmEsZUFBMUI7O0lBYU1DLFM7Ozs7Ozs7Ozs7Ozs7Ozs7NERBQ0k7QUFBRUMsTUFBQUEsUUFBUSxFQUFFLEVBQVo7QUFBZ0JDLE1BQUFBLE1BQU0s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QSxVQUFBLE1BQUksQ0FBQzlCLFFBQUwsQ0FBYztBQUNaakMsWUFBQUEsUUFBUSxFQUFFQTtBQURFLFdBQWQ7O0FBR0ErRCxVQUFBQSxZQUFZLElBQUlBLFlBQVksQ0FBQy9ELFFBQUQsQ0FBNUI7QUFDRDtBQVhILFNBREYsQ0FERjtBQWlCRDs7OztFQWhYcUJoQixLQUFLLENBQUNxRyxhOztBQWtYOUIsZUFBZWxHLFlBQVksQ0FBQ1ksU0FBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBVcGxvYWQsIFVwbG9hZFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi9tZXNzYWdlXCI7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBQZGZWaWV3ZXIgZnJvbSBcIi4uL3BkZnZpd2VyXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50IH0gPSBmaWxlO1xyXG5cclxuaW50ZXJmYWNlIElVcGxvYWRQcm9wcyBleHRlbmRzIFVwbG9hZFByb3BzIHtcclxuICBzbGljZVNpemU/OiBudW1iZXI7XHJcbiAgbWF4U2l6ZT86IG51bWJlciB8IGJvb2xlYW47XHJcbiAgb25Qcm9jZXNzPzogKHByb2Nlc3MpID0+IHZvaWQ7XHJcbiAgb25Db21wbGV0ZT86ICh7IGZpbGUsIGZpbGVJZCwgc3RhdHVzIH0pID0+IHZvaWQ7XHJcbiAgYWxsb3dGaWxlU3VmZml4PzogQXJyYXk8U3RyaW5nPjsgLy/lhYHorrjkuIrkvKDmianlsZXlkI0s5LiN5bimLlxyXG4gIHVzZURlZmF1bHRMaXN0PzogYm9vbGVhbjsgLy/mmK/lkKbkvb/nlKjpu5jorqTnmoRmaWxlTGlzdFxyXG4gIGZpbGVDYXJkPzogYm9vbGVhbjtcclxuICBvbkxpc3RDaGFuZ2U/OiBhbnk7XHJcbiAgY2hlY2tTYW1lRmlsZT86IGJvb2xlYW47XHJcbn1cclxuY2xhc3MgTnNjVXBsb2FkIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJVXBsb2FkUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0geyBmaWxlTGlzdDogW10sIHZpZXdJZDogXCJcIiwgZmlsZUxpc3RTdG9yZTogW10sIGZpbGVOYW1lczogW10gfTtcclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnZlcnRGaWxlTGlzdChsaXN0PzogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0ZpbGVMaXN0ID0gW107XHJcbiAgICBsZXQgb2xkTGlzdCA9IGxpc3QgPyBsaXN0IDogZmlsZUxpc3Q7XHJcbiAgICBvbGRMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgbmFtZTogaXRlbS5uYW1lIHx8IGl0ZW0uZmlsZU5hbWUsXHJcbiAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgfTtcclxuICAgICAgbmV3RmlsZUxpc3QucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdGaWxlTGlzdCxcclxuICAgICAgZmlsZUxpc3RTdG9yZTogZmlsZUxpc3QsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucHJvcHMuZmlsZUxpc3QpICE9PVxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuZmlsZUxpc3RTdG9yZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRGaWxlTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbGVMaXN0O1xyXG4gIH1cclxuICBzZXRGaWxlTGlzdChmaWxlTGlzdDogQXJyYXk8T2JqZWN0Pikge1xyXG4gICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoZmlsZUxpc3QpO1xyXG4gIH1cclxuICBhc3luYyBiZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KSB7XHJcbiAgICBsZXQge1xyXG4gICAgICBtYXhTaXplID0gMTAwLFxyXG4gICAgICBhbGxvd0ZpbGVTdWZmaXgsXHJcbiAgICAgIGNoZWNrU2FtZUZpbGUgPSB0cnVlLFxyXG4gICAgICBtYXhDb3VudCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QsXHJcbiAgICAgIGZpbGVMaXN0OiBwcm9wc0xpc3QsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCB7IGZpbGVMaXN0LCBmaWxlTGlzdFN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IHNpemU6IG51bWJlcjtcclxuICAgIGlmIChhbGxvd0ZpbGVTdWZmaXggJiYgIXRoaXMuY2hlY2tGaWxlVHlwZShmaWxlKSkge1xyXG4gICAgICBtZXNzYWdlLmVycm9yKFxyXG4gICAgICAgIGAke2ZpbGUubmFtZX3mlofku7bnsbvlnovkuI3lhYHorrjkuIrkvKDvvIzor7fkuIrkvKDlkI7nvIDkuLoke2FsbG93RmlsZVN1ZmZpeH3nmoTnsbvlnovmlofku7bvvIFgXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChtYXhTaXplICE9PSBmYWxzZSkge1xyXG4gICAgICBpZiAobWF4U2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIG1heFNpemUgPSAxMDA7XHJcbiAgICAgIH1cclxuICAgICAgc2l6ZSA9IG1heFNpemUgKiAxMDI0ICogMTAyNDtcclxuICAgICAgaWYgKHNpemUgPCBmaWxlLnNpemUpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKGAke2ZpbGUubmFtZX3mlofku7blpKflsI/otoXov4cke21heFNpemV9Te+8jOivt+mHjeaWsOS4iuS8oO+8gWApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGV0IGZpbGVOYW1lcyA9IFtdO1xyXG4gICAgaWYgKGNoZWNrU2FtZUZpbGUpIHtcclxuICAgICAgY29uc3QgY2hlY2tMaXN0ID0gdGhpcy5wcm9wcy5maWxlTGlzdCA/IGZpbGVMaXN0U3RvcmUgOiBmaWxlTGlzdDtcclxuICAgICAgY2hlY2tMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGZpbGVOYW1lcy5wdXNoKGl0ZW0ubmFtZSB8fCBpdGVtLmZpbGVOYW1lKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAoZmlsZU5hbWVzLmluZGV4T2YoZmlsZS5uYW1lKSA+IC0xICYmIHNob3dVcGxvYWRMaXN0ICE9PSBmYWxzZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYOaWh+S7tiR7ZmlsZS5uYW1lfeW3suWcqOS4iuS8oOWIl+ihqOS4re+8jOivt+mHjeaWsOmAieaLqeaWh+S7tu+8gWApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnByb3BzLmJlZm9yZVVwbG9hZCkge1xyXG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb3BzLmJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpO1xyXG4gICAgICBpZiAocmVzID09PSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgbmV3TGlzdCA9IFsuLi5maWxlTGlzdF07XHJcbiAgICBvZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhKFxyXG4gICAgICAgICAgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGl0ZW0pKSB8fFxyXG4gICAgICAgICAgc2l6ZSA8IGl0ZW0uc2l6ZSB8fFxyXG4gICAgICAgICAgKGNoZWNrU2FtZUZpbGUgJiYgZmlsZU5hbWVzLmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgdGVtcCA9IHtcclxuICAgICAgICAgIGZpbGVOYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICBwZXJjZW50OiAwLFxyXG4gICAgICAgICAgc3RhdHVzOiBcInVwbG9hZGluZ1wiLFxyXG4gICAgICAgICAgdWlkOiBpdGVtLnVpZCxcclxuICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG5ld0xpc3QucHVzaCh0ZW1wKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBuZXdMaXN0LnNwbGljZSgwLCAxKTtcclxuICAgIH1cclxuICB9XHJcbiAgY2hlY2tGaWxlVHlwZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGFsbG93RmlsZVN1ZmZpeCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5hbWVzID0gZmlsZS5uYW1lLnNwbGl0KFwiLlwiKTtcclxuICAgIGNvbnN0IHN1ZmZpeCA9IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdO1xyXG4gICAgaWYgKGFsbG93RmlsZVN1ZmZpeC5pbmRleE9mKHN1ZmZpeCkgPiAtMSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgb25Qcm9jZXNzKHsgcGVyY2VudCwgZmlsZSB9OiBhbnkpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgfVxyXG4gICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gIH1cclxuICBvbkNvbXBsZXRlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICBuZXdGaWxlLnN0YXR1cyA9IGZpbGUuc3RhdHVzID09IFwic3VjY2Vzc1wiID8gXCJkb25lXCIgOiBmaWxlLnN0YXR1cztcclxuICAgICAgICBuZXdGaWxlLmZpbGVJZCA9IGZpbGUuZmlsZUlkO1xyXG4gICAgICAgIG5ld0ZpbGUudXJsID0gYC9hcGkvanF1aWNrLXJlc291cmNlL29zcy9lbmRwb2ludC9kb3dubG9hZC1maWxlcz9hdHRhY2hJZD0ke1xyXG4gICAgICAgICAgZmlsZS5maWxlSWRcclxuICAgICAgICB9Jl90cGs9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKX1gO1xyXG4gICAgICB9XHJcbiAgICAgIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogZmlsZUxpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIGN1c3RvbVJlcXVlc3QgPSBhc3luYyAob3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcclxuICAgIGNvbnN0IHsgb25Db21wbGV0ZSwgb25Qcm9jZXNzLCBzbGljZVNpemUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBvblByb2dyZXNzID0gKHRvdGFsUHJvZ3Jlc3M6IGFueSkgPT4ge1xyXG4gICAgICBvcHRpb25zLm9uUHJvZ3Jlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzIH0sIGZpbGUpO1xyXG4gICAgICB0aGlzLm9uUHJvY2Vzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MsIGZpbGU6IGZpbGUgfSk7XHJcbiAgICAgIG9uUHJvY2VzcyAmJiBvblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgfTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlczogYW55ID0gYXdhaXQgdXBsb2FkKHtcclxuICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIG9uUHJvZ3Jlc3M6IG9uUHJvZ3Jlc3MsXHJcbiAgICAgICAgcGFydFNpemU6IHNsaWNlU2l6ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBmaWxlSWQgPSBudWxsO1xyXG4gICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgZmlsZUlkID0gcmVzLmRhdGEuYXR0YWNoSWQ7XHJcbiAgICAgICAgb3B0aW9ucy5vblN1Y2Nlc3MoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ29tcGxldGUoe1xyXG4gICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICBmaWxlSWQ6IGZpbGVJZCxcclxuICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoe1xyXG4gICAgICAgICAgZmlsZTogb3B0aW9ucy5maWxlLFxyXG4gICAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgICBzdGF0dXM6IHJlcy5jb2RlID09IDIwMCA/IFwic3VjY2Vzc1wiIDogXCJlcnJvclwiLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aGlzLm9uQ29tcGxldGUoe1xyXG4gICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICBmaWxlSWQ6IFwiXCIsXHJcbiAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgb25Db21wbGV0ZSh7IGZpbGU6IG9wdGlvbnMuZmlsZSwgZmlsZUlkOiBcIlwiLCBzdGF0dXM6IFwiZXJyb3JcIiB9KTtcclxuICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBvbkRlbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAvL+mAmui/h+aWh+S7tuWQjeWIpOaWre+8jOS4iuS8oOaYr+aWh+S7tuWQjeaYr+WUr+S4gOeahFxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5uYW1lICE9PSBmaWxlLm5hbWUgfHxcclxuICAgICAgICBpdGVtLmZpbGVJZCAhPT0gZmlsZS5maWxlSWQgfHxcclxuICAgICAgICBpdGVtLnVpZCAhPT0gZmlsZS51aWRcclxuICAgICAgKSB7XHJcbiAgICAgICAgbmV3TGlzdC5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIGxldCB7XHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICBpZiAoZmlsZUNhcmQpIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBpdGVtUmVuZGVyOiAob3JpZ2luTm9kZSwgZmlsZTogYW55LCBjdXJyRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXMgPyBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSA6IFwiXCI7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiBzdWZmaXg9e3N1ZmZpeH0gZmlsZUlkPXtmaWxlLmZpbGVJZH0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWV9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dQcmV2aWV3SWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblJlbW92ZTogKGZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblByZXZpZXc6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxVcGxvYWRcclxuICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICB7Li4ubmV3cHJvcHN9XHJcbiAgICAgICAgICBiZWZvcmVVcGxvYWQ9e3RoaXMuYmVmb3JlVXBsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBmaWxlTGlzdD17ZmlsZUxpc3QgPyB0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUgOiB0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgICAgb25DaGFuZ2U9eyh7IGZpbGUsIGZpbGVMaXN0IH0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGZpbGVMaXN0OiBmaWxlTGlzdCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UoZmlsZUxpc3QpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IHdpdGhaaExvY2FsZShOc2NVcGxvYWQpO1xyXG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.8.41",
3
+ "version": "2.8.42",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {