nsc-react-component 2.7.4 → 2.7.6

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.
@@ -224,7 +224,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
224
224
  }
225
225
  }, {
226
226
  key: "beforeUpload",
227
- value: function beforeUpload(file) {
227
+ value: function beforeUpload(file, fileList) {
228
228
  var _this$props2 = this.props,
229
229
  _this$props2$maxSize = _this$props2.maxSize,
230
230
  maxSize = _this$props2$maxSize === void 0 ? 100 : _this$props2$maxSize,
@@ -248,19 +248,23 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
248
248
  }
249
249
  }
250
250
 
251
- var fileList = this.state.fileList;
252
- var onListChange = this.props.onListChange;
253
- var newList = [].concat(_toConsumableArray(fileList), [{
254
- fileName: file.name,
255
- percent: 0,
256
- status: "uploading",
257
- uid: file.uid,
258
- name: file.name
259
- }]);
260
- this.setState({
261
- fileList: newList
262
- });
263
- onListChange && onListChange(newList);
251
+ if (this.props.beforeUpload) {
252
+ this.props.beforeUpload(file, fileList);
253
+ } else {
254
+ var _fileList = this.state.fileList;
255
+ var onListChange = this.props.onListChange;
256
+ var newList = [].concat(_toConsumableArray(_fileList), [{
257
+ fileName: file.name,
258
+ percent: 0,
259
+ status: "uploading",
260
+ uid: file.uid,
261
+ name: file.name
262
+ }]);
263
+ this.setState({
264
+ fileList: newList
265
+ });
266
+ onListChange && onListChange(newList);
267
+ }
264
268
  }
265
269
  }, {
266
270
  key: "checkFileType",
@@ -361,8 +365,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
361
365
  var newprops = omit(this.props, ["sliceSize", "maxSize", "onComplete", "onProcess", "allowFileSuffix", "useDefaultList", "fileCard", "onListChange"]);
362
366
  var defaultProps = {
363
367
  customRequest: this.customRequest.bind(this),
364
- multiple: true,
365
- beforeUpload: this.beforeUpload.bind(this)
368
+ multiple: true
366
369
  };
367
370
 
368
371
  if (fileCard) {
@@ -445,6 +448,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
445
448
  }
446
449
 
447
450
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Upload, _extends({}, defaultProps, newprops, {
451
+ beforeUpload: this.beforeUpload.bind(this),
448
452
  fileList: this.state.fileList
449
453
  })));
450
454
  }
@@ -454,4 +458,4 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
454
458
  }(React.PureComponent);
455
459
 
456
460
  export default withZhLocale(NscUpload);
457
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NVcGxvYWQiLCJmaWxlTGlzdCIsInZpZXdJZCIsImZpbGVMaXN0U3RvcmUiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJmaWxlSWQiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwib25FcnJvciIsInN0YXR1cyIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwidGVtcCIsIm5hbWUiLCJmaWxlTmFtZSIsInB1c2giLCJzZXRTdGF0ZSIsInByZVByb3BzIiwicHJlU3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdGUiLCJtYXhTaXplIiwiYWxsb3dGaWxlU3VmZml4IiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwic2l6ZSIsIm9uTGlzdENoYW5nZSIsIm5ld0xpc3QiLCJ1aWQiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwibGVuZ3RoIiwiaW5kZXhPZiIsIm5ld0ZpbGUiLCJ1c2VEZWZhdWx0TGlzdCIsImZpbGVDYXJkIiwic2hvd1VwbG9hZExpc3QiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJiZWZvcmVVcGxvYWQiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsIm9uUHJldmlldyIsImN1cnNvciIsIm9uRG93bmxvYWQiLCJvblJlbW92ZSIsIm9uRGVsZXRlIiwid2lkdGgiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixVQUFqQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsWUFBcEI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLHdCQUF6QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLG9CQUFyQjtBQUNBLFNBQ0VDLGNBREYsRUFFRUMsZ0JBRkYsRUFHRUMsV0FIRixRQUlPLG1CQUpQO0FBTUEsSUFBUUMsTUFBUixHQUE4Q1gsSUFBOUMsQ0FBUVcsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixHQUE4Q1osSUFBOUMsQ0FBZ0JZLFFBQWhCO0FBQUEsSUFBMEJDLGVBQTFCLEdBQThDYixJQUE5QyxDQUEwQmEsZUFBMUI7O0lBWU1DLFM7Ozs7Ozs7Ozs7Ozs7Ozs7NERBQ0k7QUFBRUMsTUFBQUEsUUFBUSxFQUFFLEVBQVo7QUFBZ0JDLE1BQUFBLE1BQU0sRUFBRSxFQUF4QjtBQUEyQkMsTUFBQUEsYUFBYSxFQUFDO0FBQXpDLEs7Ozt5RUFpSFEsaUJBQU9DLE9BQVA7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNSbEIsZ0JBQUFBLElBRFEsR0FDRGtC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LGNBQWMsb0JBQU9BLGNBQVA7QUFiSixVQUFaO0FBZUQ7O0FBQ0QsMEJBQ0UsdURBQ0UsMENBQ01RLFlBRE4sRUFFTUQsUUFGTjtBQUdFLFFBQUEsUUFBUSxFQUFFLEtBQUt4QixLQUFMLENBQVduQztBQUh2QixTQURGLENBREY7QUFTRDs7OztFQS9UcUJoQixLQUFLLENBQUMwRixhOztBQWlVOUIsZUFBZXZGLFlBQVksQ0FBQ1ksU0FBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBVcGxvYWQsIFVwbG9hZFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi9tZXNzYWdlXCI7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIERlbGV0ZU91dGxpbmVkLFxyXG4gIERvd25sb2FkT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBQZGZWaWV3ZXIgZnJvbSBcIi4uL3BkZnZpd2VyXCI7XHJcbmNvbnN0IHsgdXBsb2FkLCBkb3dubG9hZCwgcHJldmlld0RvY3VtZW50IH0gPSBmaWxlO1xyXG5cclxuaW50ZXJmYWNlIElVcGxvYWRQcm9wcyBleHRlbmRzIFVwbG9hZFByb3BzIHtcclxuICBzbGljZVNpemU/OiBudW1iZXI7XHJcbiAgbWF4U2l6ZT86IG51bWJlciB8IGJvb2xlYW47XHJcbiAgb25Qcm9jZXNzPzogKHByb2Nlc3MpID0+IHZvaWQ7XHJcbiAgb25Db21wbGV0ZT86ICh7IGZpbGUsIGZpbGVJZCwgc3RhdHVzIH0pID0+IHZvaWQ7XHJcbiAgYWxsb3dGaWxlU3VmZml4PzogQXJyYXk8U3RyaW5nPjsgLy/lhYHorrjkuIrkvKDmianlsZXlkI0s5LiN5bimLlxyXG4gIHVzZURlZmF1bHRMaXN0PzogYm9vbGVhbjsgLy/mmK/lkKbkvb/nlKjpu5jorqTnmoRmaWxlTGlzdFxyXG4gIGZpbGVDYXJkPzogYm9vbGVhbjtcclxuICBvbkxpc3RDaGFuZ2U/OiBhbnk7XHJcbn1cclxuY2xhc3MgTnNjVXBsb2FkIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJVXBsb2FkUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0geyBmaWxlTGlzdDogW10sIHZpZXdJZDogXCJcIixmaWxlTGlzdFN0b3JlOltdIH07XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdGaWxlTGlzdCA9IFtdO1xyXG4gICAgbGV0IG9sZExpc3QgPSBsaXN0ID8gbGlzdCA6IGZpbGVMaXN0O1xyXG4gICAgb2xkTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAoIWl0ZW0ubmFtZSkge1xyXG4gICAgICAgIHRlbXAubmFtZSA9IGl0ZW0uZmlsZU5hbWU7XHJcbiAgICAgIH1cclxuICAgICAgbmV3RmlsZUxpc3QucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdGaWxlTGlzdCxcclxuICAgICAgZmlsZUxpc3RTdG9yZTpmaWxlTGlzdFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wcywgcHJlU3RhdGUpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmZpbGVMaXN0KSAhPT1cclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0RmlsZUxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICB9XHJcbiAgc2V0RmlsZUxpc3QoZmlsZUxpc3Q6IEFycmF5PE9iamVjdD4pIHtcclxuICAgIHRoaXMuY29udmVydEZpbGVMaXN0KGZpbGVMaXN0KTtcclxuICB9XHJcbiAgYmVmb3JlVXBsb2FkKGZpbGUpIHtcclxuICAgIGxldCB7IG1heFNpemUgPSAxMDAsIGFsbG93RmlsZVN1ZmZpeCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChhbGxvd0ZpbGVTdWZmaXggJiYgIXRoaXMuY2hlY2tGaWxlVHlwZShmaWxlKSkge1xyXG4gICAgICBtZXNzYWdlLmVycm9yKFxyXG4gICAgICAgIGAke2ZpbGUubmFtZX3mlofku7bnsbvlnovkuI3lhYHorrjkuIrkvKDvvIzor7fkuIrkvKDlkI7nvIDkuLoke2FsbG93RmlsZVN1ZmZpeH3nmoTnsbvlnovmlofku7bvvIFgXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChtYXhTaXplICE9PSBmYWxzZSkge1xyXG4gICAgICBpZiAobWF4U2l6ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIG1heFNpemUgPSAxMDA7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgc2l6ZSA9IG1heFNpemUgKiAxMDI0ICogMTAyNDtcclxuICAgICAgaWYgKHNpemUgPCBmaWxlLnNpemUpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKGAke2ZpbGUubmFtZX3mlofku7blpKflsI/otoXov4cke21heFNpemV9Te+8jOivt+mHjeaWsOS4iuS8oO+8gWApO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdCA9IFtcclxuICAgICAgLi4uZmlsZUxpc3QsXHJcbiAgICAgIHtcclxuICAgICAgICBmaWxlTmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgIHBlcmNlbnQ6IDAsXHJcbiAgICAgICAgc3RhdHVzOiBcInVwbG9hZGluZ1wiLFxyXG4gICAgICAgIHVpZDogZmlsZS51aWQsXHJcbiAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBmaWxlTGlzdDogbmV3TGlzdCB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuYW1lcyA9IGZpbGUubmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICBjb25zdCBzdWZmaXggPSBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXTtcclxuICAgIGlmIChhbGxvd0ZpbGVTdWZmaXguaW5kZXhPZihzdWZmaXgpID4gLTEpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIG9uUHJvY2Vzcyh7IHBlcmNlbnQsIGZpbGUgfTogYW55KSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgfVxyXG4gICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgb25Db21wbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICBuZXdGaWxlLnN0YXR1cyA9IGZpbGUuc3RhdHVzID09IFwic3VjY2Vzc1wiID8gXCJkb25lXCIgOiBmaWxlLnN0YXR1cztcclxuICAgICAgICBuZXdGaWxlLmZpbGVJZCA9IGZpbGUuZmlsZUlkO1xyXG4gICAgICB9XHJcbiAgICAgIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICBjdXN0b21SZXF1ZXN0ID0gYXN5bmMgKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICBjb25zdCB7IG9uQ29tcGxldGUsIG9uUHJvY2Vzcywgc2xpY2VTaXplIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgIH07XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZCh7XHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgIHBhcnRTaXplOiBzbGljZVNpemUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBcIlwiLFxyXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoeyBmaWxlOiBvcHRpb25zLmZpbGUsIGZpbGVJZDogXCJcIiwgc3RhdHVzOiBcImVycm9yXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8IGl0ZW0udWlkICE9PSBmaWxlLnVpZCkge1xyXG4gICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgbGV0IHtcclxuICAgICAgdXNlRGVmYXVsdExpc3QsXHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IG5ld0ZpbGVMaXN0ID0gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICAgIGlmICh1c2VEZWZhdWx0TGlzdCAmJiBmaWxlTGlzdCkge1xyXG4gICAgICBuZXdGaWxlTGlzdCA9IGZpbGVMaXN0O1xyXG4gICAgfVxyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgICBiZWZvcmVVcGxvYWQ6IHRoaXMuYmVmb3JlVXBsb2FkLmJpbmQodGhpcyksXHJcbiAgICB9IGFzIElVcGxvYWRQcm9wcztcclxuICAgIGlmIChmaWxlQ2FyZCkge1xyXG4gICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgIGl0ZW1SZW5kZXI6IChvcmlnaW5Ob2RlLCBmaWxlOiBhbnksIGN1cnJGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbmFtZSA9IGZpbGUubmFtZSB8fCBmaWxlLmZpbGVOYW1lO1xyXG4gICAgICAgICAgY29uc3QgbmFtZXMgPSBuYW1lPy5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICBjb25zdCBzdWZmaXggPSBuYW1lcyA/IG5hbWVzW25hbWVzLmxlbmd0aCAtIDFdIDogXCJcIjtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJmaWxlLWl0ZW1cIil9PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnRcIiksIHtcclxuICAgICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImNvbnRlbnRfZXJyb3JcIildOiBmaWxlLnN0YXR1cyA9PSBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibWFyay1waWN0dXJlXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHN1ZmZpeD17c3VmZml4fSBmaWxlSWQ9e2ZpbGUuZmlsZUlkfSAvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibmFtZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIHtmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1ByZXZpZXdJY29uICYmIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUHJldmlldykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25QcmV2aWV3KGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpZXdEb2N1bWVudChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RXllT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93RG93bmxvYWRJY29uICYmIGZpbGUuc3RhdHVzID09IFwiZG9uZVwiICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uRG93bmxvYWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uRG93bmxvYWQoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPERvd25sb2FkT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93UmVtb3ZlSWNvbiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25SZW1vdmUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEZWxldGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIHtmaWxlLnN0YXR1cyA9PSBcInVwbG9hZGluZ1wiICYmIChcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwcm9jZXNzXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGVyY2VudFwiKX1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogZmlsZS5wZXJjZW50ICsgXCIlXCIgfX1cclxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgICAgLi4uZGVmYXVsdFByb3BzLFxyXG4gICAgICAgIG9uRG93bmxvYWQ6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUmVtb3ZlOiAoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbkRlbGV0ZShmaWxlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUHJldmlldzogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZpbGU/LmZpbGVJZCkge1xyXG4gICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2hvd1VwbG9hZExpc3Q6IHsgLi4uc2hvd1VwbG9hZExpc3QgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPFVwbG9hZFxyXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cclxuICAgICAgICAgIHsuLi5uZXdwcm9wc31cclxuICAgICAgICAgIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5zY1VwbG9hZCk7XHJcbiJdfQ==
461
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NVcGxvYWQiLCJmaWxlTGlzdCIsInZpZXdJZCIsImZpbGVMaXN0U3RvcmUiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJmaWxlSWQiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwib25FcnJvciIsInN0YXR1cyIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwidGVtcCIsIm5hbWUiLCJmaWxlTmFtZSIsInB1c2giLCJzZXRTdGF0ZSIsInByZVByb3BzIiwicHJlU3RhdGUiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdGUiLCJtYXhTaXplIiwiYWxsb3dGaWxlU3VmZml4IiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwic2l6ZSIsImJlZm9yZVVwbG9hZCIsIm9uTGlzdENoYW5nZSIsIm5ld0xpc3QiLCJ1aWQiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwibGVuZ3RoIiwiaW5kZXhPZiIsIm5ld0ZpbGUiLCJ1c2VEZWZhdWx0TGlzdCIsImZpbGVDYXJkIiwic2hvd1VwbG9hZExpc3QiLCJzaG93RG93bmxvYWRJY29uIiwic2hvd1ByZXZpZXdJY29uIiwic2hvd1JlbW92ZUljb24iLCJkb3dubG9hZEljb24iLCJyZW1vdmVJY29uIiwicHJldmlld0ljb24iLCJuZXdwcm9wcyIsImRlZmF1bHRQcm9wcyIsImN1c3RvbVJlcXVlc3QiLCJiaW5kIiwibXVsdGlwbGUiLCJpdGVtUmVuZGVyIiwib3JpZ2luTm9kZSIsImN1cnJGaWxlTGlzdCIsIm9uUHJldmlldyIsImN1cnNvciIsIm9uRG93bmxvYWQiLCJvblJlbW92ZSIsIm9uRGVsZXRlIiwid2lkdGgiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBRUEsT0FBT0MsSUFBUCxNQUFpQixVQUFqQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0IsWUFBcEI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLHdCQUF6QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFDQSxTQUFTQyxPQUFULFFBQXdCLGFBQXhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLG9CQUFyQjtBQUNBLFNBQ0VDLGNBREYsRUFFRUMsZ0JBRkYsRUFHRUMsV0FIRixRQUlPLG1CQUpQO0FBTUEsSUFBUUMsTUFBUixHQUE4Q1gsSUFBOUMsQ0FBUVcsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixHQUE4Q1osSUFBOUMsQ0FBZ0JZLFFBQWhCO0FBQUEsSUFBMEJDLGVBQTFCLEdBQThDYixJQUE5QyxDQUEwQmEsZUFBMUI7O0lBWU1DLFM7Ozs7Ozs7Ozs7Ozs7Ozs7NERBQ0k7QUFBRUMsTUFBQUEsUUFBUSxFQUFFLEVBQVo7QUFBZ0JDLE1BQUFBLE1BQU0sRUFBRSxFQUF4QjtBQUE0QkMsTUFBQUEsYUFBYSxFQUFFO0FBQTNDLEs7Ozt5RUFxSFEsaUJBQU9DLE9BQVA7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNSbEIsZ0JBQUFBLElBRFEsR0FDRGtC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QUFBLGVBQWUsQ0FBQ2IsSUFBSSxDQUFDNEIsTUFBTixDQUFmO0FBQ0Q7QUFDRixXQVpTO0FBYVZ3QyxVQUFBQSxjQUFjLG9CQUFPQSxjQUFQO0FBYkosVUFBWjtBQWVEOztBQUNELDBCQUNFLHVEQUNFLDBDQUNNUSxZQUROLEVBRU1ELFFBRk47QUFHRSxRQUFBLFlBQVksRUFBRSxLQUFLbkIsWUFBTCxDQUFrQnNCLElBQWxCLENBQXVCLElBQXZCLENBSGhCO0FBSUUsUUFBQSxRQUFRLEVBQUUsS0FBSzVCLEtBQUwsQ0FBV25DO0FBSnZCLFNBREYsQ0FERjtBQVVEOzs7O0VBblVxQmhCLEtBQUssQ0FBQzBGLGE7O0FBcVU5QixlQUFldkYsWUFBWSxDQUFDWSxTQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IHdpdGhaaExvY2FsZSBmcm9tIFwiLi4vY29tbW9uL3dpdGhaaExvY2FsZVwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBGaWxlSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ZpbGVJY29uXCI7XHJcbmltcG9ydCB7XHJcbiAgRGVsZXRlT3V0bGluZWQsXHJcbiAgRG93bmxvYWRPdXRsaW5lZCxcclxuICBFeWVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFBkZlZpZXdlciBmcm9tIFwiLi4vcGRmdml3ZXJcIjtcclxuY29uc3QgeyB1cGxvYWQsIGRvd25sb2FkLCBwcmV2aWV3RG9jdW1lbnQgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxufVxyXG5jbGFzcyBOc2NVcGxvYWQgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElVcGxvYWRQcm9wcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7IGZpbGVMaXN0OiBbXSwgdmlld0lkOiBcIlwiLCBmaWxlTGlzdFN0b3JlOiBbXSB9O1xyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29udmVydEZpbGVMaXN0KGxpc3Q/OiBBcnJheTxPYmplY3Q+KSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3RmlsZUxpc3QgPSBbXTtcclxuICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgIG9sZExpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKCFpdGVtLm5hbWUpIHtcclxuICAgICAgICB0ZW1wLm5hbWUgPSBpdGVtLmZpbGVOYW1lO1xyXG4gICAgICB9XHJcbiAgICAgIG5ld0ZpbGVMaXN0LnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3RmlsZUxpc3QsXHJcbiAgICAgIGZpbGVMaXN0U3RvcmU6IGZpbGVMaXN0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wcywgcHJlU3RhdGUpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmZpbGVMaXN0KSAhPT1cclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0RmlsZUxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICB9XHJcbiAgc2V0RmlsZUxpc3QoZmlsZUxpc3Q6IEFycmF5PE9iamVjdD4pIHtcclxuICAgIHRoaXMuY29udmVydEZpbGVMaXN0KGZpbGVMaXN0KTtcclxuICB9XHJcbiAgYmVmb3JlVXBsb2FkKGZpbGUsIGZpbGVMaXN0KSB7XHJcbiAgICBsZXQgeyBtYXhTaXplID0gMTAwLCBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSkpIHtcclxuICAgICAgbWVzc2FnZS5lcnJvcihcclxuICAgICAgICBgJHtmaWxlLm5hbWV95paH5Lu257G75Z6L5LiN5YWB6K645LiK5Lyg77yM6K+35LiK5Lyg5ZCO57yA5Li6JHthbGxvd0ZpbGVTdWZmaXh955qE57G75Z6L5paH5Lu277yBYFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAobWF4U2l6ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgaWYgKG1heFNpemUgPT09IHRydWUpIHtcclxuICAgICAgICBtYXhTaXplID0gMTAwO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHNpemUgPSBtYXhTaXplICogMTAyNCAqIDEwMjQ7XHJcbiAgICAgIGlmIChzaXplIDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByb3BzLmJlZm9yZVVwbG9hZCkge1xyXG4gICAgICB0aGlzLnByb3BzLmJlZm9yZVVwbG9hZChmaWxlLCBmaWxlTGlzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdCA9IFtcclxuICAgICAgICAuLi5maWxlTGlzdCxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaWxlTmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgICAgcGVyY2VudDogMCxcclxuICAgICAgICAgIHN0YXR1czogXCJ1cGxvYWRpbmdcIixcclxuICAgICAgICAgIHVpZDogZmlsZS51aWQsXHJcbiAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGZpbGVMaXN0OiBuZXdMaXN0IH0pO1xyXG4gICAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja0ZpbGVUeXBlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgYWxsb3dGaWxlU3VmZml4IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmFtZXMgPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgY29uc3Qgc3VmZml4ID0gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV07XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4LmluZGV4T2Yoc3VmZml4KSA+IC0xKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBvblByb2Nlc3MoeyBwZXJjZW50LCBmaWxlIH06IGFueSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmIChmaWxlLnVpZCA9PSBpdGVtLnVpZCkge1xyXG4gICAgICAgIG5ld0ZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICAgIH1cclxuICAgICAgbmV3TGlzdC5wdXNoKG5ld0ZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIG9uQ29tcGxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdGaWxlID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmIChmaWxlLmZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgbmV3RmlsZS5zdGF0dXMgPSBmaWxlLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIiA/IFwiZG9uZVwiIDogZmlsZS5zdGF0dXM7XHJcbiAgICAgICAgbmV3RmlsZS5maWxlSWQgPSBmaWxlLmZpbGVJZDtcclxuICAgICAgfVxyXG4gICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgY3VzdG9tUmVxdWVzdCA9IGFzeW5jIChvcHRpb25zKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gb3B0aW9ucy5maWxlO1xyXG4gICAgY29uc3QgeyBvbkNvbXBsZXRlLCBvblByb2Nlc3MsIHNsaWNlU2l6ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG9uUHJvZ3Jlc3MgPSAodG90YWxQcm9ncmVzczogYW55KSA9PiB7XHJcbiAgICAgIG9wdGlvbnMub25Qcm9ncmVzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MgfSwgZmlsZSk7XHJcbiAgICAgIHRoaXMub25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgICAgb25Qcm9jZXNzICYmIG9uUHJvY2Vzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MsIGZpbGU6IGZpbGUgfSk7XHJcbiAgICB9O1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzOiBhbnkgPSBhd2FpdCB1cGxvYWQoe1xyXG4gICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgb25Qcm9ncmVzczogb25Qcm9ncmVzcyxcclxuICAgICAgICBwYXJ0U2l6ZTogc2xpY2VTaXplLFxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IGZpbGVJZCA9IG51bGw7XHJcbiAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICBmaWxlSWQgPSByZXMuZGF0YS5hdHRhY2hJZDtcclxuICAgICAgICBvcHRpb25zLm9uU3VjY2VzcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25Db21wbGV0ZSh7XHJcbiAgICAgICAgZmlsZTogb3B0aW9ucy5maWxlLFxyXG4gICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgb25Db21wbGV0ZSh7XHJcbiAgICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgICBmaWxlSWQ6IGZpbGVJZCxcclxuICAgICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHRoaXMub25Db21wbGV0ZSh7XHJcbiAgICAgICAgZmlsZTogb3B0aW9ucy5maWxlLFxyXG4gICAgICAgIGZpbGVJZDogXCJcIixcclxuICAgICAgICBzdGF0dXM6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgIH1cclxuICB9O1xyXG4gIG9uRGVsZXRlKGZpbGUpIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0xpc3Q6IGFueSA9IFtdO1xyXG4gICAgZmlsZUxpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGl0ZW0uZmlsZUlkICE9PSBmaWxlLmZpbGVJZCB8fCBpdGVtLnVpZCAhPT0gZmlsZS51aWQpIHtcclxuICAgICAgICBuZXdMaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHVzZURlZmF1bHRMaXN0LFxyXG4gICAgICBmaWxlTGlzdCxcclxuICAgICAgZmlsZUNhcmQsXHJcbiAgICAgIHNob3dVcGxvYWRMaXN0ID0ge1xyXG4gICAgICAgIHNob3dEb3dubG9hZEljb246IHRydWUsXHJcbiAgICAgICAgc2hvd1ByZXZpZXdJY29uOiBmYWxzZSxcclxuICAgICAgICBzaG93UmVtb3ZlSWNvbjogdHJ1ZSxcclxuICAgICAgICBkb3dubG9hZEljb246IG51bGwsXHJcbiAgICAgICAgcmVtb3ZlSWNvbjogbnVsbCxcclxuICAgICAgICBwcmV2aWV3SWNvbjogbnVsbCxcclxuICAgICAgfSBhcyBhbnksXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBuZXdGaWxlTGlzdCA9IHRoaXMuc3RhdGUuZmlsZUxpc3Q7XHJcbiAgICBpZiAodXNlRGVmYXVsdExpc3QgJiYgZmlsZUxpc3QpIHtcclxuICAgICAgbmV3RmlsZUxpc3QgPSBmaWxlTGlzdDtcclxuICAgIH1cclxuICAgIGNvbnN0IG5ld3Byb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwic2xpY2VTaXplXCIsXHJcbiAgICAgIFwibWF4U2l6ZVwiLFxyXG4gICAgICBcIm9uQ29tcGxldGVcIixcclxuICAgICAgXCJvblByb2Nlc3NcIixcclxuICAgICAgXCJhbGxvd0ZpbGVTdWZmaXhcIixcclxuICAgICAgXCJ1c2VEZWZhdWx0TGlzdFwiLFxyXG4gICAgICBcImZpbGVDYXJkXCIsXHJcbiAgICAgIFwib25MaXN0Q2hhbmdlXCIsXHJcbiAgICBdKTtcclxuICAgIGxldCBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICAgIGN1c3RvbVJlcXVlc3Q6IHRoaXMuY3VzdG9tUmVxdWVzdC5iaW5kKHRoaXMpLFxyXG4gICAgICBtdWx0aXBsZTogdHJ1ZSxcclxuICAgIH0gYXMgSVVwbG9hZFByb3BzO1xyXG4gICAgaWYgKGZpbGVDYXJkKSB7XHJcbiAgICAgIGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0UHJvcHMsXHJcbiAgICAgICAgaXRlbVJlbmRlcjogKG9yaWdpbk5vZGUsIGZpbGU6IGFueSwgY3VyckZpbGVMaXN0KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBuYW1lID0gZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWU7XHJcbiAgICAgICAgICBjb25zdCBuYW1lcyA9IG5hbWU/LnNwbGl0KFwiLlwiKTtcclxuICAgICAgICAgIGNvbnN0IHN1ZmZpeCA9IG5hbWVzID8gbmFtZXNbbmFtZXMubGVuZ3RoIC0gMV0gOiBcIlwiO1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImZpbGUtaXRlbVwiKX0+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudFwiKSwge1xyXG4gICAgICAgICAgICAgICAgICBbZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudF9lcnJvclwiKV06IGZpbGUuc3RhdHVzID09IFwiZXJyb3JcIixcclxuICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJtYXJrLXBpY3R1cmVcIil9PlxyXG4gICAgICAgICAgICAgICAgICA8RmlsZUljb24gc3VmZml4PXtzdWZmaXh9IGZpbGVJZD17ZmlsZS5maWxlSWR9IC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuYW1lXCIpfT5cclxuICAgICAgICAgICAgICAgICAge2ZpbGUubmFtZSB8fCBmaWxlLmZpbGVOYW1lfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5zaG93UHJldmlld0ljb24gJiYgZmlsZS5zdGF0dXMgPT0gXCJkb25lXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25QcmV2aWV3KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblByZXZpZXcoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxFeWVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dEb3dubG9hZEljb24gJiYgZmlsZS5zdGF0dXMgPT0gXCJkb25lXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25Eb3dubG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMub25Eb3dubG9hZChmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RG93bmxvYWRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dSZW1vdmVJY29uICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uUmVtb3ZlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblJlbW92ZShmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRGVsZXRlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAge2ZpbGUuc3RhdHVzID09IFwidXBsb2FkaW5nXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInByb2Nlc3NcIil9PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwZXJjZW50XCIpfVxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBmaWxlLnBlcmNlbnQgKyBcIiVcIiB9fVxyXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0UHJvcHMsXHJcbiAgICAgICAgb25Eb3dubG9hZDogKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZG93bmxvYWQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25SZW1vdmU6IChmaWxlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9uRGVsZXRlKGZpbGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25QcmV2aWV3OiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZmlsZT8uZmlsZUlkKSB7XHJcbiAgICAgICAgICAgIHByZXZpZXdEb2N1bWVudChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzaG93VXBsb2FkTGlzdDogeyAuLi5zaG93VXBsb2FkTGlzdCB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPD5cclxuICAgICAgICA8VXBsb2FkXHJcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxyXG4gICAgICAgICAgey4uLm5ld3Byb3BzfVxyXG4gICAgICAgICAgYmVmb3JlVXBsb2FkPXt0aGlzLmJlZm9yZVVwbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgZmlsZUxpc3Q9e3RoaXMuc3RhdGUuZmlsZUxpc3R9XHJcbiAgICAgICAgLz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCB3aXRoWmhMb2NhbGUoTnNjVXBsb2FkKTtcclxuIl19
package/lib/config.d.ts CHANGED
@@ -21,8 +21,9 @@ interface IComponentConfig {
21
21
  cancleButtonProps?: object;
22
22
  };
23
23
  baseActionColumn?: {
24
- textAglin: string;
24
+ textAlign: string;
25
25
  showIcon?: boolean;
26
+ width?: number;
26
27
  };
27
28
  }
28
29
  export declare const setConfig: (config: IComponentConfig) => {
@@ -45,8 +46,9 @@ export declare const setConfig: (config: IComponentConfig) => {
45
46
  cancleButtonProps: {};
46
47
  };
47
48
  baseActionColumn: {
48
- textAglin: string;
49
+ textAlign: string;
49
50
  showIcon: boolean;
51
+ width: number;
50
52
  };
51
53
  } & IComponentConfig;
52
54
  declare const _default: () => IComponentConfig;
package/lib/config.js CHANGED
@@ -41,8 +41,9 @@ var configData = {
41
41
  cancleButtonProps: {}
42
42
  },
43
43
  baseActionColumn: {
44
- textAglin: "center",
45
- showIcon: true
44
+ textAlign: "center",
45
+ showIcon: true,
46
+ width: 200
46
47
  }
47
48
  };
48
49
  export var setConfig = function setConfig(config) {
@@ -51,4 +52,4 @@ export var setConfig = function setConfig(config) {
51
52
  export default (function () {
52
53
  return configData;
53
54
  });
54
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwiYW50ZFN0eWxlIiwiYWxsb3dDaGFycyIsInN0b3JlUHJlZml4IiwibW91bnRFbGVtZW50SWQiLCJpY29uUHJlZml4IiwidGFibGVUb29sIiwibW9kYWxCdXR0b24iLCJva0J1dHRvblByb3BzIiwiY2FuY2xlQnV0dG9uUHJvcHMiLCJiYXNlQWN0aW9uQ29sdW1uIiwidGV4dEFnbGluIiwic2hvd0ljb24iLCJzZXRDb25maWciLCJjb25maWciLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFvQkEsSUFBSUEsVUFBVSxHQUFHO0FBQ2Y7QUFDQUMsRUFBQUEsZ0JBQWdCLEVBQUUsZUFGSDtBQUdmO0FBQ0FDLEVBQUFBLGFBQWEsRUFBRSxvQkFKQTtBQUtmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxRQU5JO0FBT2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVJDO0FBU2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVZDO0FBV2Y7QUFDQUMsRUFBQUEsV0FBVyxFQUFFLEVBWkU7QUFhZjtBQUNBQyxFQUFBQSxPQUFPLEVBQUUsc0NBZE07QUFlZjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsMENBaEJHO0FBaUJmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxJQWxCSTtBQW1CZjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsS0FwQkc7QUFxQmY7QUFDQUMsRUFBQUEsV0FBVyxFQUFFLEVBdEJFO0FBdUJmO0FBQ0FDLEVBQUFBLGNBQWMsRUFBRSxFQXhCRDtBQXlCZjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsTUExQkc7QUEyQmY7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLEVBNUJJO0FBNkJmO0FBQ0FDLEVBQUFBLFdBQVcsRUFBRTtBQUFFQyxJQUFBQSxhQUFhLEVBQUUsRUFBakI7QUFBcUJDLElBQUFBLGlCQUFpQixFQUFFO0FBQXhDLEdBOUJFO0FBK0JmQyxFQUFBQSxnQkFBZ0IsRUFBRTtBQUFFQyxJQUFBQSxTQUFTLEVBQUUsUUFBYjtBQUF1QkMsSUFBQUEsUUFBUSxFQUFFO0FBQWpDO0FBL0JILENBQWpCO0FBa0NBLE9BQU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsTUFBRDtBQUFBLFNBQ3ZCQyxNQUFNLENBQUNDLE1BQVAsQ0FBY3hCLFVBQWQsRUFBMEJzQixNQUExQixDQUR1QjtBQUFBLENBQWxCO0FBRVAsZ0JBQWU7QUFBQSxTQUF3QnRCLFVBQXhCO0FBQUEsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNSAxMDozNDo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTY6NDU6MDNcclxuICovXHJcbmludGVyZmFjZSBJQ29tcG9uZW50Q29uZmlnIHtcclxuICBsb2dpblByb2plY3ROYW1lPzogc3RyaW5nO1xyXG4gIGF1dGhvcml6YXRpb24/OiBzdHJpbmc7XHJcbiAgbG9naW5QYXRoPzogc3RyaW5nO1xyXG4gIGV4Y2VwdGlvbjUwNT86IHN0cmluZztcclxuICBleGNlcHRpb240MDM/OiBzdHJpbmc7XHJcbiAgaWNvbmZvbnRVcmw/OiBzdHJpbmc7XHJcbiAgdmlld1VybD86IHN0cmluZztcclxuICB2aWV3Qml6VXJsPzogc3RyaW5nO1xyXG4gIGFudGRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbiAgc3RvcmVQcmVmaXg/OiBzdHJpbmc7XHJcbiAgbW91bnRFbGVtZW50SWQ/OiBzdHJpbmc7XHJcbiAgaWNvblByZWZpeD86IHN0cmluZztcclxuICB0YWJsZVRvb2w/OiB7IHNob3c6IGJvb2xlYW47IHRvb2xzPzogQXJyYXk8c3RyaW5nPiB9O1xyXG4gIG1vZGFsQnV0dG9uPzogeyBva0J1dHRvblByb3BzPzogb2JqZWN0OyBjYW5jbGVCdXR0b25Qcm9wcz86IG9iamVjdCB9O1xyXG4gIGJhc2VBY3Rpb25Db2x1bW4/OiB7IHRleHRBZ2xpbjogc3RyaW5nOyBzaG93SWNvbj86IGJvb2xlYW4gfTtcclxufVxyXG5cclxubGV0IGNvbmZpZ0RhdGEgPSB7XHJcbiAgLy/nmbvlvZXnlYzpnaLpobnnm67lkI3np7BcclxuICBsb2dpblByb2plY3ROYW1lOiBcIk5TQyBGcmFtZXdvcmtcIixcclxuICAvL+ezu+e7n+aMh+e6ue+8jOeZu+W9leaXtuWAmemcgOimgeS8oOmAklxyXG4gIGF1dGhvcml6YXRpb246IFwiQmFzaWMgYm5Oak9tNXpZdz09XCIsXHJcbiAgLy/nmbvpmYbnlYzpnaJVUkxcclxuICBsb2dpblBhdGg6IFwiL2xvZ2luXCIsXHJcbiAgLy81MDXplJnor69VUkxcclxuICBleGNlcHRpb241MDU6IFwiL2V4Y2VwdGlvbi81MDBcIixcclxuICAvLzQwM+mUmeivr1VSTFxyXG4gIGV4Y2VwdGlvbjQwMzogXCIvZXhjZXB0aW9uLzQwM1wiLFxyXG4gIC8v6Zi/6YeM5Zu+5qCH5bqTVVJMXHJcbiAgaWNvbmZvbnRVcmw6IFwiXCIsXHJcbiAgLy/lkI7lj7Dns7vnu5/op4blm77ojrflj5blnLDlnYBcclxuICB2aWV3VXJsOiBcIi9qcXVpY2stc3lzdGVtL2RpY3QvZGljdGlvbmFyeT9jb2RlPVwiLFxyXG4gIC8v5ZCO5Y+w5Lia5Yqh6KeG5Zu+6I635Y+W5Zyw5Z2AXHJcbiAgdmlld0JpelVybDogXCIvanF1aWNrLXN5c3RlbS9kaWN0LWJpei9kaWN0aW9uYXJ5P2NvZGU9XCIsXHJcbiAgLy/pu5jorqRhbnRk5qC35byPXHJcbiAgYW50ZFN0eWxlOiB0cnVlLFxyXG4gIC8vaW5wdXTnibnmrorlrZfnrKblhajlsYDlj5jph49cclxuICBhbGxvd0NoYXJzOiBmYWxzZSxcclxuICAvL3N0b3Jl5YmN57yAXHJcbiAgc3RvcmVQcmVmaXg6IFwiXCIsXHJcbiAgLy9hcHAtaWRcclxuICBtb3VudEVsZW1lbnRJZDogXCJcIixcclxuICAvL2ljb27liY3nvIBcclxuICBpY29uUHJlZml4OiBcImljb25cIixcclxuICAvL3RhYmxl5bel5YW35qCPXHJcbiAgdGFibGVUb29sOiB7fSBhcyBhbnksXHJcbiAgLy9tb2RhbOaMiemSrlxyXG4gIG1vZGFsQnV0dG9uOiB7IG9rQnV0dG9uUHJvcHM6IHt9LCBjYW5jbGVCdXR0b25Qcm9wczoge30gfSxcclxuICBiYXNlQWN0aW9uQ29sdW1uOiB7IHRleHRBZ2xpbjogXCJjZW50ZXJcIiwgc2hvd0ljb246IHRydWUgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRDb25maWcgPSAoY29uZmlnOiBJQ29tcG9uZW50Q29uZmlnKSA9PlxyXG4gIE9iamVjdC5hc3NpZ24oY29uZmlnRGF0YSwgY29uZmlnKTtcclxuZXhwb3J0IGRlZmF1bHQgKCk6IElDb21wb25lbnRDb25maWcgPT4gY29uZmlnRGF0YTtcclxuIl19
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwiYW50ZFN0eWxlIiwiYWxsb3dDaGFycyIsInN0b3JlUHJlZml4IiwibW91bnRFbGVtZW50SWQiLCJpY29uUHJlZml4IiwidGFibGVUb29sIiwibW9kYWxCdXR0b24iLCJva0J1dHRvblByb3BzIiwiY2FuY2xlQnV0dG9uUHJvcHMiLCJiYXNlQWN0aW9uQ29sdW1uIiwidGV4dEFsaWduIiwic2hvd0ljb24iLCJ3aWR0aCIsInNldENvbmZpZyIsImNvbmZpZyIsIk9iamVjdCIsImFzc2lnbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW9CQSxJQUFJQSxVQUFVLEdBQUc7QUFDZjtBQUNBQyxFQUFBQSxnQkFBZ0IsRUFBRSxlQUZIO0FBR2Y7QUFDQUMsRUFBQUEsYUFBYSxFQUFFLG9CQUpBO0FBS2Y7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLFFBTkk7QUFPZjtBQUNBQyxFQUFBQSxZQUFZLEVBQUUsZ0JBUkM7QUFTZjtBQUNBQyxFQUFBQSxZQUFZLEVBQUUsZ0JBVkM7QUFXZjtBQUNBQyxFQUFBQSxXQUFXLEVBQUUsRUFaRTtBQWFmO0FBQ0FDLEVBQUFBLE9BQU8sRUFBRSxzQ0FkTTtBQWVmO0FBQ0FDLEVBQUFBLFVBQVUsRUFBRSwwQ0FoQkc7QUFpQmY7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLElBbEJJO0FBbUJmO0FBQ0FDLEVBQUFBLFVBQVUsRUFBRSxLQXBCRztBQXFCZjtBQUNBQyxFQUFBQSxXQUFXLEVBQUUsRUF0QkU7QUF1QmY7QUFDQUMsRUFBQUEsY0FBYyxFQUFFLEVBeEJEO0FBeUJmO0FBQ0FDLEVBQUFBLFVBQVUsRUFBRSxNQTFCRztBQTJCZjtBQUNBQyxFQUFBQSxTQUFTLEVBQUUsRUE1Qkk7QUE2QmY7QUFDQUMsRUFBQUEsV0FBVyxFQUFFO0FBQUVDLElBQUFBLGFBQWEsRUFBRSxFQUFqQjtBQUFxQkMsSUFBQUEsaUJBQWlCLEVBQUU7QUFBeEMsR0E5QkU7QUErQmZDLEVBQUFBLGdCQUFnQixFQUFFO0FBQUVDLElBQUFBLFNBQVMsRUFBRSxRQUFiO0FBQXVCQyxJQUFBQSxRQUFRLEVBQUUsSUFBakM7QUFBc0NDLElBQUFBLEtBQUssRUFBQztBQUE1QztBQS9CSCxDQUFqQjtBQWtDQSxPQUFPLElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE1BQUQ7QUFBQSxTQUN2QkMsTUFBTSxDQUFDQyxNQUFQLENBQWN6QixVQUFkLEVBQTBCdUIsTUFBMUIsQ0FEdUI7QUFBQSxDQUFsQjtBQUVQLGdCQUFlO0FBQUEsU0FBd0J2QixVQUF4QjtBQUFBLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjUgMTA6MzQ6NTNcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ1OjAzXHJcbiAqL1xyXG5pbnRlcmZhY2UgSUNvbXBvbmVudENvbmZpZyB7XHJcbiAgbG9naW5Qcm9qZWN0TmFtZT86IHN0cmluZztcclxuICBhdXRob3JpemF0aW9uPzogc3RyaW5nO1xyXG4gIGxvZ2luUGF0aD86IHN0cmluZztcclxuICBleGNlcHRpb241MDU/OiBzdHJpbmc7XHJcbiAgZXhjZXB0aW9uNDAzPzogc3RyaW5nO1xyXG4gIGljb25mb250VXJsPzogc3RyaW5nO1xyXG4gIHZpZXdVcmw/OiBzdHJpbmc7XHJcbiAgdmlld0JpelVybD86IHN0cmluZztcclxuICBhbnRkU3R5bGU/OiBib29sZWFuO1xyXG4gIGFsbG93Q2hhcnM/OiBib29sZWFuO1xyXG4gIHN0b3JlUHJlZml4Pzogc3RyaW5nO1xyXG4gIG1vdW50RWxlbWVudElkPzogc3RyaW5nO1xyXG4gIGljb25QcmVmaXg/OiBzdHJpbmc7XHJcbiAgdGFibGVUb29sPzogeyBzaG93OiBib29sZWFuOyB0b29scz86IEFycmF5PHN0cmluZz4gfTtcclxuICBtb2RhbEJ1dHRvbj86IHsgb2tCdXR0b25Qcm9wcz86IG9iamVjdDsgY2FuY2xlQnV0dG9uUHJvcHM/OiBvYmplY3QgfTtcclxuICBiYXNlQWN0aW9uQ29sdW1uPzogeyB0ZXh0QWxpZ246IHN0cmluZzsgc2hvd0ljb24/OiBib29sZWFuLHdpZHRoPzpudW1iZXJ9O1xyXG59XHJcblxyXG5sZXQgY29uZmlnRGF0YSA9IHtcclxuICAvL+eZu+W9leeVjOmdoumhueebruWQjeensFxyXG4gIGxvZ2luUHJvamVjdE5hbWU6IFwiTlNDIEZyYW1ld29ya1wiLFxyXG4gIC8v57O757uf5oyH57q577yM55m75b2V5pe25YCZ6ZyA6KaB5Lyg6YCSXHJcbiAgYXV0aG9yaXphdGlvbjogXCJCYXNpYyBibk5qT201ell3PT1cIixcclxuICAvL+eZu+mZhueVjOmdolVSTFxyXG4gIGxvZ2luUGF0aDogXCIvbG9naW5cIixcclxuICAvLzUwNemUmeivr1VSTFxyXG4gIGV4Y2VwdGlvbjUwNTogXCIvZXhjZXB0aW9uLzUwMFwiLFxyXG4gIC8vNDAz6ZSZ6K+vVVJMXHJcbiAgZXhjZXB0aW9uNDAzOiBcIi9leGNlcHRpb24vNDAzXCIsXHJcbiAgLy/pmL/ph4zlm77moIflupNVUkxcclxuICBpY29uZm9udFVybDogXCJcIixcclxuICAvL+WQjuWPsOezu+e7n+inhuWbvuiOt+WPluWcsOWdgFxyXG4gIHZpZXdVcmw6IFwiL2pxdWljay1zeXN0ZW0vZGljdC9kaWN0aW9uYXJ5P2NvZGU9XCIsXHJcbiAgLy/lkI7lj7DkuJrliqHop4blm77ojrflj5blnLDlnYBcclxuICB2aWV3Qml6VXJsOiBcIi9qcXVpY2stc3lzdGVtL2RpY3QtYml6L2RpY3Rpb25hcnk/Y29kZT1cIixcclxuICAvL+m7mOiupGFudGTmoLflvI9cclxuICBhbnRkU3R5bGU6IHRydWUsXHJcbiAgLy9pbnB1dOeJueauiuWtl+espuWFqOWxgOWPmOmHj1xyXG4gIGFsbG93Q2hhcnM6IGZhbHNlLFxyXG4gIC8vc3RvcmXliY3nvIBcclxuICBzdG9yZVByZWZpeDogXCJcIixcclxuICAvL2FwcC1pZFxyXG4gIG1vdW50RWxlbWVudElkOiBcIlwiLFxyXG4gIC8vaWNvbuWJjee8gFxyXG4gIGljb25QcmVmaXg6IFwiaWNvblwiLFxyXG4gIC8vdGFibGXlt6XlhbfmoI9cclxuICB0YWJsZVRvb2w6IHt9IGFzIGFueSxcclxuICAvL21vZGFs5oyJ6ZKuXHJcbiAgbW9kYWxCdXR0b246IHsgb2tCdXR0b25Qcm9wczoge30sIGNhbmNsZUJ1dHRvblByb3BzOiB7fSB9LFxyXG4gIGJhc2VBY3Rpb25Db2x1bW46IHsgdGV4dEFsaWduOiBcImNlbnRlclwiLCBzaG93SWNvbjogdHJ1ZSx3aWR0aDoyMDAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZXRDb25maWcgPSAoY29uZmlnOiBJQ29tcG9uZW50Q29uZmlnKSA9PlxyXG4gIE9iamVjdC5hc3NpZ24oY29uZmlnRGF0YSwgY29uZmlnKTtcclxuZXhwb3J0IGRlZmF1bHQgKCk6IElDb21wb25lbnRDb25maWcgPT4gY29uZmlnRGF0YTtcclxuIl19
@@ -51,6 +51,7 @@ interface NSCBaseBageProps {
51
51
  actionPorps?: {
52
52
  textAlign?: string;
53
53
  showIcon?: boolean;
54
+ width?: number;
54
55
  };
55
56
  }
56
57
  declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
@@ -882,8 +882,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
882
882
  actionColumn && tableColumn.push({
883
883
  title: "操作",
884
884
  dataIndex: "action",
885
- align: actionPorps !== null && actionPorps !== void 0 && actionPorps.textAlign ? actionPorps === null || actionPorps === void 0 ? void 0 : actionPorps.textAlign : baseActionColumn.textAglin ? baseActionColumn.textAglin : "center",
886
- width: 250,
885
+ align: actionPorps !== null && actionPorps !== void 0 && actionPorps.textAlign ? actionPorps === null || actionPorps === void 0 ? void 0 : actionPorps.textAlign : baseActionColumn.textAlign ? baseActionColumn.textAlign : "center",
886
+ width: actionPorps !== null && actionPorps !== void 0 && actionPorps.width ? actionPorps === null || actionPorps === void 0 ? void 0 : actionPorps.width : baseActionColumn.width ? baseActionColumn.width : 200,
887
887
  fixed: "right",
888
888
  ellipsis: true,
889
889
  render: function render(text, record) {
@@ -1015,8 +1015,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
1015
1015
  style: {
1016
1016
  marginLeft: 0
1017
1017
  }
1018
- }, "\u67E5\u8BE2"), /*#__PURE__*/React.createElement(Button, {
1019
- type: "primary",
1018
+ }, "\u67E5\u8BE2"), /*#__PURE__*/React.createElement(Button // type={"primary"}
1019
+ , {
1020
1020
  onClick: this.resetSearch.bind(this),
1021
1021
  icon: /*#__PURE__*/React.createElement(ReloadOutlined, null)
1022
1022
  }, "\u91CD\u7F6E"), showToolButton && toolButtonPosition == "right" && this.renderToolButtons(selfButtons), searchForms.length > 3 && /*#__PURE__*/React.createElement("div", {
@@ -1093,4 +1093,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
1093
1093
  }(PureComponent);
1094
1094
 
1095
1095
  export default BasePage;
1096
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkNvbCIsIlJvdyIsIm1vbWVudCIsImlzRW1wdHlPYmoiLCJEb3duT3V0bGluZWQiLCJVcE91dGxpbmVkIiwiRXllT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJSaWdodE91dGxpbmVkIiwiUGx1c091dGxpbmVkIiwiUmVsb2FkT3V0bGluZWQiLCJTZWFyY2hPdXRsaW5lZCIsImdldExlc3MiLCJnZXROb2RlIiwicmVxdWVzdCIsIm9taXQiLCJjb25maWciLCJnZXRTdG9yYWdlIiwiQmFzZVBhZ2UiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImNoZWNrZWRUcmVlS2V5cyIsInN0YXRlIiwibmFtZSIsInVzZXJUeXBlIiwiYWNjb3VudCIsInZhbHVlIiwiZGVwdElkIiwidGFibGVMb2FkIiwic2VsZWN0ZWQiLCJyZXMiLCJrZXkiLCJrZXlzIiwibGVuZ3RoIiwic3RvcmVQcmVmaXgiLCJ0eXBlIiwiY29udGVudCIsInNpemUiLCJzZWxlY3RlZFJvd0tleXMiLCJzZWxlY3RlZFJvd0RhdGFzIiwidHJlZVNlbGVjdGVkS2V5IiwiZXhwYW5kIiwiZm9ybVR5cGUiLCJ0YWJsZVNpemUiLCJzZWxlY3RlZFJvd0tleXNTdG9yZSIsInNlbGVjdGVkUm93RGF0YXNTdG9yZSIsImN1cnJlbnRQYWdlIiwiaW5pdERhdGEiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJzaG93IiwiaGlkZUZvcm0iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImRlbGV0ZVVybCIsIm9uRGVsZXRlIiwiZGVsZXRlUGFyYW1zIiwid2FybmluZyIsIkVycm9yIiwiY29uZmlybSIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsIm9uT2siLCJkZWZhdWx0UGFyYW1zIiwibWV0aG9kIiwiaWRzIiwiam9pbiIsInJlcXVlc3RQYXJhbXMiLCJ0aGVuIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInRhYmxlUmVmIiwic3RvcmUiLCJsb2FkIiwib25TZWFyY2giLCJmcm9tVmFsdWUiLCJnZXRGaWVsZHNWYWx1ZSIsImRhdGVGb3JtYXQiLCJvbGRkYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9ybWF0IiwiYXV0b0xvYWQiLCJyZWxvYWQiLCJjYWxsYmFjayIsImRhdGEiLCJyZWNvcmRzIiwic2V0U3RhdGUiLCJ0YWJsZVByb3BzIiwicm93S2V5IiwicmVzS2V5IiwiY2hpbGROb2RlcyIsImNoaWxkcmVuIiwibWFwIiwiaXRlbSIsImluZGV4IiwiZ2V0Q2hpbGRyZW5EYXRhIiwidG9vbGJ1dHRvbnMiLCJtYXJnaW5mbGFnIiwiZmxhZyIsInNob3dTZWFyY2giLCJwYWdlVHlwZSIsIm9uQ2xpY2siLCJpY29uIiwibWFyZ2luTGVmdCIsImNvbHVtbkJ1dHRvbnMiLCJyZWNvcmQiLCJlZGl0b3JGb3JtIiwiYnV0dG9ucyIsImFjdGlvblBvcnBzIiwiYmFzZUFjdGlvbkNvbHVtbiIsIm5ld0J1dHRvbnMiLCJzaG93SWNvbiIsInJlY29yZFNob3ciLCJldmFsIiwicHVzaCIsInNlbGVjdGVkS2V5cyIsInNlbGVjdGVkTm9kZXMiLCJrZXl3b3JkIiwidHJlZVByb3BzIiwic2VhcmNoS2V5Iiwic2VhcmNoRmllbGQiLCJpc0xlYWYiLCJkYXRhcmVmIiwiYXR0cmlidXRlIiwicmVzZXRGaWVsZHMiLCJ0ZXh0IiwibmV3VGV4dCIsImkiLCJsYWJlbCIsInNldERhdGEiLCJ0cmVlUmVmIiwiY29sdW1ucyIsInN1Ym1pdFVybCIsImZvcm1Qcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJvblNob3dGb3JtIiwiZm9ybUNoYW5nZVZhbGlkIiwiY2xhc3NOYW1lIiwidG9vbEJ1dHRvblBvc2l0aW9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsImNvbHVtbk9yZGVyIiwicm93U2VsZWN0aW9uIiwiZXhwYW5kYWJsZSIsIm90aGVydGFibGVQYXJhbXMiLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsIm90aGVydHJlZVBhcmFtcyIsInRhYmxlUGFyYW1zIiwib25DaGFuZ2UiLCJzZWxlY3RlZFJvd3MiLCJuZXdSb3dLZXlzU3RvcmUiLCJuZXdSb3dEYXRhc1N0b3JlIiwiZ2V0U2VsZWN0ZWRLZXkiLCJjb2x1bW5XaWR0aCIsImNoZWNrU3RyaWN0bHkiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJkZWZhdWx0VmFsdWUiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsInVuZGVmaW5lZCIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwidGVtcFByb3AiLCJzdHlsZSIsInJlbmRlciIsImdldFRleHQiLCJlbGxpcHNpcyIsImNvbHVtblNob3ciLCJzZWxmQnV0dG9ucyIsImluZGV4T2YiLCJzaG93Rm9ybSIsImJpbmQiLCJkZWxldGUzIiwiYWxpZ24iLCJ0ZXh0QWxpZ24iLCJ0ZXh0QWdsaW4iLCJ3aWR0aCIsImZpeGVkIiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwiaGVhZGVyQ291bnQiLCJyZWFjb3JkIiwicGFnaW5hdGlvbiIsInNjcm9sbCIsIngiLCJ5IiwicGFnZVRpdGxlIiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsImFsbG93Q2hhcnMiLCJwYWRkaW5nUmlnaHQiLCJwbGFjZWhvbGRlciIsIm1hcmdpblRvcCIsInJlc2V0U2VhcmNoIiwicmVuZGVyVG9vbEJ1dHRvbnMiLCJleHBhbmRJY29uIiwiZXhwYW5kZWQiLCJvbkV4cGFuZCIsImUiLCJvblRvb2xDbGljayIsIm9uUmVmcmVzaCIsImdldFNlYXJjaFZhbHVlcyIsInRvb2xiYXIiLCJ0YWJsZVJlbG9hZCIsIm9uU3VibWl0Iiwib25IaWRlRm9ybSIsIm9uRm9ybUNoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFnRCxPQUFoRDtBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsbUJBQW5CO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixrQkFBbEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQiw0QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsUUFBdkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7QUFFQSxPQUFPQyxHQUFQLE1BQWdCLHFCQUFoQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IscUJBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixRQUFuQjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsbUJBQTNCO0FBQ0EsU0FDRUMsWUFERixFQUVFQyxVQUZGLEVBR0VDLFdBSEYsRUFJRUMsWUFKRixFQUtFQyxhQUxGLEVBTUVDLFlBTkYsRUFPRUMsY0FQRixFQVFFQyxjQVJGLFFBU08sbUJBVFA7QUFVQSxTQUFTQyxPQUFULEVB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ZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi4vLi4vYmFzZS90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vYmFzZS90cmVlXCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi9iYXNlL21vZGFsXCI7XHJcbmltcG9ydCBQb3BvdmVyIGZyb20gXCIuLi8uLi9iYXNlL3BvcG92ZXJcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vYmFzZS9jb21tb24vSWNvbkZvbnRcIjtcclxuaW1wb3J0IHsgaWNvblR5cGUgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBFZGl0b3JGb3JtIGZyb20gXCIuL0Zvcm1cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbiAgRWRpdE91dGxpbmVkLFxyXG4gIFJpZ2h0T3V0bGluZWQsXHJcbiAgUGx1c091dGxpbmVkLFxyXG4gIFJlbG9hZE91dGxpbmVkLFxyXG4gIFNlYXJjaE91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBJRm9ybVByb3BzIH0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybS9Gb3JtXCI7XHJcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwiYW50ZC9lcy9mb3JtL0Zvcm1cIjtcclxuaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xyXG4gIGFjdGlvbkNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG6aG1XHJcbiAgY29sdW1uT3JkZXI/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuihqOagvOW6j+WIl1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5pbnRlcmZhY2UgVHJlZVByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pCc57Si5qGGXHJcbiAgc2VhcmNoS2V5Pzogc3RyaW5nOyAvL+aQnOe0onZhbHVl5a+55bqU55qEa2V5XHJcbiAgc2VhcmNoRmllbGQ/OiBzdHJpbmc7IC8v5p+l6K+i5a+55bqU55qEa2V5XHJcbiAgdGl0bGVBbGlhcz86IHN0cmluZzsgLy/moJF0aXRsZeWvueW6lOeahGtleSzpu5jorqR0aXRsZVxyXG4gIG5vZGVQb3Jwcz86IG9iamVjdDtcclxuICBbcHJvcHNOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuaW50ZXJmYWNlIEZvcm1Qcm9wcyBleHRlbmRzIElGb3JtUHJvcHMge31cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86ICh2YWx1ZT86IGFueSwgbGFiZWw/OiBhbnkpID0+IHZvaWQ7XHJcbiAgY29sdW1uczogQXJyYXk8T2JqZWN0PjtcclxuICBzaG93TGVmdD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65bem5L6n55uu5b2V5qCRXHJcbiAgc2hvd1Rvb2xCdXR0b24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaMiemSruagj1xyXG4gIGVkaXRvckZvcm0/OiBib29sZWFuOyAvL+aYr+WQpumcgOimgeihqOWNleWKn+iDvSAsIOS4umZhbHNlIOe8lui+ke+8jOafpeeci++8jOaWsOWinuWKn+iDveWdh+S4jeWPr+eUqFxyXG4gIGRlbGV0ZVVybD86IHN0cmluZzsgLy/liKDpmaR1cmxcclxuICBvbkRlbGV0ZT86IChzZWxlY3RlZEtleXM/OiBBcnJheTxhbnk+KSA9PiB2b2lkOyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcclxuICBpbml0RGF0YT86IGFueTsgLy/liJ3lp4vljJblm57osIPlh73mlbDvvIzlnKhjb21wb25lbnREaWRNb3VudOS4reiwg+eUqFxyXG4gIGJ1dHRvbnM/OiBBcnJheTxzdHJpbmc+OyAvL+aMiemSrumbhuWQiCAgWydhZGQnLCdkZWxldGUnLCdzZWFyY2gnLCdlZGl0b3InXVxyXG4gIG9uU2hvd0Zvcm0/OiAodmFsdWU/OiBhbnksIGVkaXRvckZsYWc/OiBzdHJpbmcpID0+IHZvaWQ7IC8v5omT5byA6KGo5Y2V5Zue6LCDXHJcbiAgb25IaWRlRm9ybT86ICgpID0+IHZvaWQ7IC8v5omT5byA6KGo5Y2V5Zue6LCDXHJcbiAgb25Gb3JtQ2hhbmdlPzogKGNoYW5nZWRWYWx1ZXM/OiBhbnksIGFsbFZhbHVlcz86IGFueSkgPT4gdm9pZDsgLy/ooajljZVvbkNoYW5nZeWbnuiwg1xyXG4gIGZvcm1UeXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIjtcclxuICBmb3JtQ2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+ihqOWNleagoemqjFxyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICB0b29sQnV0dG9uUG9zaXRpb24/OiBcInJpZ2h0XCIgfCBcImJ1dHRvbVwiO1xyXG4gIHBhZ2VUaXRsZT86IHN0cmluZyB8IFJlYWN0Tm9kZTtcclxuICBmb3JtUHJvcHM/OiBGb3JtUHJvcHM7XHJcbiAgYWN0aW9uUG9ycHM/OiB7IHRleHRBbGlnbj86IHN0cmluZzsgc2hvd0ljb24/OiBib29sZWFuIH07XHJcbn1cclxuXHJcbmNsYXNzIEJhc2VQYWdlIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxOU0NCYXNlQmFnZVByb3BzLCBhbnk+IHtcclxuICB0YWJsZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgdHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBlZGl0b3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGRhdGVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IHsgc3RvcmVQcmVmaXggfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHR5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCItXCIgKyBcImZvcm1UeXBlXCIgOiBcImZvcm1UeXBlXCJcclxuICAgICk7XHJcbiAgICB0eXBlID0gdHlwZT8uY29udGVudDtcclxuICAgIGxldCBzaXplID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiLVwiICsgXCJ0YWJsZVNpemVcIiA6IFwidGFibGVTaXplXCJcclxuICAgICk7XHJcbiAgICBzaXplID0gc2l6ZT8uY29udGVudDtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIGZvcm1UeXBlOiB0eXBlIHx8IFwibW9kYWxcIixcclxuICAgICAgdGFibGVTaXplOiBzaXplIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZToge30sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZToge30sXHJcbiAgICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGluaXREYXRhIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaW5pdERhdGEgJiYgaW5pdERhdGEoKTtcclxuICB9XHJcblxyXG4gIHNldFNlYXJjaFBhcmFtcyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZShwYXJhbXMpO1xyXG4gICAgY2FsbEJhY2sgJiYgY2FsbEJhY2socGFyYW1zKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ID0gKGNoZWNrZWRUcmVlS2V5czogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgdmFsdWUgPSB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50LCBkZXB0SWQ6IGNoZWNrZWRUcmVlS2V5c1swXSB9O1xyXG4gICAgdGhpcy50YWJsZUxvYWQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIC8v5pi+56S66KGo5Y2VXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIGVkaXRvcmZsYWcgPSBcImFkZFwiKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zaG93KHZhbHVlLCBlZGl0b3JmbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5YWz6Zet6KGo5Y2VXHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zZXRMb2FkaW5nKGxvYWRpbmcpO1xyXG4gIH1cclxuXHJcbiAgLy/mibnph4/liKDpmaRcclxuICBvbkRlbGV0ZSgpIHtcclxuICAgIGNvbnN0IHsgZGVsZXRlVXJsLCBvbkRlbGV0ZSwgZGVsZXRlUGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoc2VsZWN0ZWRSb3dLZXlzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIG1lc3NhZ2Uud2FybmluZyhcIuivt+mAieaLqeimgeWIoOmZpOeahOaVsOaNru+8gVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG9uRGVsZXRlKSB7XHJcbiAgICAgIG9uRGVsZXRlICYmIG9uRGVsZXRlKHNlbGVjdGVkUm93S2V5cyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghZGVsZXRlVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIE1vZGFsLmNvbmZpcm0oe1xyXG4gICAgICB0aXRsZTogXCLmmK/lkKbnoa7orqTliKDpmaTmiYDpgInpobnvvJ9cIixcclxuICAgICAgb2tUZXh0OiBcIuehruiupFwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFBhcmFtcyA9IHtcclxuICAgICAgICAgIG1ldGhvZDogXCJwb3N0XCIsXHJcbiAgICAgICAgICBwYXJhbXM6IHsgaWRzOiBzZWxlY3RlZFJvd0tleXMuam9pbigpIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgcmVxdWVzdFBhcmFtcyA9IHt9IGFzIGFueTtcclxuICAgICAgICBpZiAoZGVmYXVsdFBhcmFtcykge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVsZXRlUGFyYW1zIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlZmF1bHRQYXJhbXMgfTtcclxuICAgICAgICByZXF1ZXN0KGRlbGV0ZVVybCwge1xyXG4gICAgICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLliKDpmaTlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCB7IG9uU2VhcmNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmIChvblNlYXJjaCkge1xyXG4gICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzRW1wdHlPYmoodGhpcy5kYXRlRm9ybWF0KSkge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5kYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgbGV0IG9sZGRhdGEgPSBmcm9tVmFsdWVba2V5XTtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgZnJvbVZhbHVlW2tleV0gPSBbXHJcbiAgICAgICAgICAgIG1vbWVudChvbGRkYXRhWzBdKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICBtb21lbnQob2xkZGF0YVsxXSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKSxcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZyb21WYWx1ZVtrZXldID0gbW9tZW50KG9sZGRhdGEpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlTG9hZChmcm9tVmFsdWUpO1xyXG4gIH1cclxuICAvL+ihqOagvOmHjeaWsOWKoOi9vVxyXG4gIHRhYmxlUmVsb2FkKHBhcmFtcyA9IHt9LCBhdXRvTG9hZCA9IHRydWUpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUucmVsb2FkKHtcclxuICAgICAgY2FsbGJhY2s6IChyZXMpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBhdXRvTG9hZCAmJlxyXG4gICAgICAgICAgcmVzPy5kYXRhPy5yZWNvcmRzPy5sZW5ndGggPT0gMCAmJlxyXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50UGFnZSAhPT0gMVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5yZWxvYWQoe1xyXG4gICAgICAgICAgICBwYXJhbXM6IHsgY3VycmVudDogMSwgLi4ucGFyYW1zIH0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dLZXlzO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dEYXRhcztcclxuICB9XHJcbiAgcmVzZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5c1N0b3JlOiB7fSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhc1N0b3JlOiB7fSxcclxuICAgICAgY3VycmVudFBhZ2U6IDEsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2V0U2VsZWN0ZWRSb3dLZXlzKGRhdGEpIHtcclxuICAgIGNvbnN0IHsgY3VycmVudFBhZ2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBkYXRhLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZTogeyBbY3VycmVudFBhZ2VdOiBkYXRhIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2V0U2VsZWN0ZWRSb3dEYXRhcyhkYXRhKSB7XHJcbiAgICBjb25zdCB7IGN1cnJlbnRQYWdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IGRhdGEsXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXNTdG9yZTogeyBbY3VycmVudFBhZ2VdOiBkYXRhIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRDaGlsZHJlbkRhdGEoZGF0YSwga2V5cyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRhYmxlUHJvcHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHJvd0tleSA9IFwiaWRcIiB9ID0gdGFibGVQcm9wcztcclxuICAgIGxldCByZXNLZXkgPSBbXTtcclxuICAgIGlmIChkYXRhLmNoaWxkTm9kZXMpIHtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSBkYXRhLmNoaWxkTm9kZXM7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5jaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgICB0aGlzLmdldENoaWxkcmVuRGF0YShpdGVtLmNoaWxkTm9kZXMsIGtleXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXNLZXkgPSBbLi4ua2V5cywgaXRlbVtyb3dLZXldXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzS2V5ID0gWy4uLmtleXMsIGRhdGFbcm93S2V5XV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzS2V5O1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyVG9vbEJ1dHRvbnModG9vbGJ1dHRvbnM6IGFueSwgbWFyZ2luZmxhZyA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBmbGFnID0gdG9vbGJ1dHRvbnMubGVuZ3RoID4gNTtcclxuICAgIGNvbnN0IHsgc2hvd1NlYXJjaCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdG9vbGJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIGljb24sIHNob3csIC4uLnBhcmFtcyB9ID0gaXRlbS5wcm9wcztcclxuICAgICAgaWYgKGluZGV4ID4gNCkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSxcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50LWl0ZW1cIilcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljaygpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwidG9vbC1idXR0b25zXCIpLCB7XHJcbiAgICAgICAgICBbZ2V0TGVzcyhzdHlsZXMsIFwidG9vbC1idXR0b25zLW1hcmdpblwiKV06ICFzaG93U2VhcmNoIHx8IG1hcmdpbmZsYWcsXHJcbiAgICAgICAgfSl9XHJcbiAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICA+XHJcbiAgICAgICAge3Rvb2xidXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPCA0KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgICAgICAgICAgdGl0bGU9e251bGx9XHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXI9e1tcImNsaWNrXCJdfVxyXG4gICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcC1ib3gnXX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIOabtOWkmiA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxuICByZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9uczogYW55LCByZWNvcmQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBlZGl0b3JGb3JtID0gdHJ1ZSwgYnV0dG9ucyA9IFtdLCBhY3Rpb25Qb3JwcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYmFzZUFjdGlvbkNvbHVtbiB9ID0gY29uZmlnKCk7XHJcbiAgICBjb25zdCBuZXdCdXR0b25zID0gW107XHJcbiAgICBsZXQgc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgaWYgKGFjdGlvblBvcnBzPy5zaG93SWNvbiA9PT0gZmFsc2UpIHNob3dJY29uID0gZmFsc2U7XHJcbiAgICBlbHNlIGlmIChiYXNlQWN0aW9uQ29sdW1uLnNob3dJY29uID09PSBmYWxzZSkgc2hvd0ljb24gPSBmYWxzZTtcclxuICAgIGNvbHVtbkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIGljb24sIHJlY29yZFNob3csIC4uLnBhcmFtcyB9ID1cclxuICAgICAgICBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAocmVjb3JkU2hvdykge1xyXG4gICAgICAgIGlmIChldmFsKHJlY29yZFNob3cpKSB7XHJcbiAgICAgICAgICBuZXdCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld0J1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmbGFnID0gbmV3QnV0dG9ucy5sZW5ndGggPiAzO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnQgPSBuZXdCdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCByZWNvcmRTaG93LCBpY29uLCBzaG93LCAuLi5wYXJhbXMgfSA9XHJcbiAgICAgICAgaXRlbS5wcm9wcztcclxuICAgICAgaWYgKGluZGV4ID4gMSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSxcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50LWl0ZW1cIilcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd0ljb24gIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5ld0J1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIHJlY29yZFNob3csIGljb24sIC4uLnBhcmFtcyB9ID1cclxuICAgICAgICBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIGlmIChpbmRleCA8IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksIHtcclxuICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JfZmlyc3RcIildOiBpbmRleCA9PT0gMCxcclxuICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtzaG93SWNvbiAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT57aWNvbn08L3NwYW4+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgIHRyaWdnZXI9e1tcImNsaWNrXCJdfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9PlxyXG4gICAgICAgICAgICAgICAgJm5ic3A7IOabtOWkmlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImVkaXRvcl9maXJzdFwiKV06IGluZGV4ID09PSAwLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd0ljb24gIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAga2V5d29yZCA9IHNlbGVjdGVkTm9kZXNbMF0uZGF0YXJlZi5hdHRyaWJ1dGVbc2VhcmNoS2V5XTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IHNlbGVjdGVkS2V5c1swXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBrZXl3b3JkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBzZWFyY2hGaWVsZCAmJiB0aGlzLnRhYmxlTG9hZCh7IC4uLmZyb21WYWx1ZSwgW3NlYXJjaEZpZWxkXToga2V5d29yZCB9KTtcclxuICB9XHJcbiAgcmVzZXRTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuICBnZXRUZXh0KHByb3BzLCB0ZXh0KSB7XHJcbiAgICBsZXQgbmV3VGV4dCA9IHRleHQ7XHJcbiAgICBpZiAocHJvcHM/LmRhdGEgJiYgcHJvcHM/LmRhdGE/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGRhdGEgPSBwcm9wcy5kYXRhO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGE/Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGRhdGFbaV0udmFsdWUgPT0gdGV4dCkge1xyXG4gICAgICAgICAgbmV3VGV4dCA9IGRhdGFbaV0ubGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3VGV4dDtcclxuICB9XHJcbiAgc2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUuc2V0RGF0YShkYXRhKTtcclxuICB9XHJcbiAgc2V0VHJlZURhdGEoZGF0YSkge1xyXG4gICAgdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLnNldERhdGEoZGF0YSk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkS2V5ID0gKHNlbGVjdGVkKSA9PiB7XHJcbiAgICBsZXQgcmVzID0gW107XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3Qga2V5cyA9IHNlbGVjdGVkW2tleV07XHJcbiAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICByZXMgPSBbLi4ucmVzLCAuLi5rZXlzXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9O1xyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgZm9ybVByb3BzID0ge30sXHJcbiAgICAgIHNob3dMZWZ0ID0gZmFsc2UsXHJcbiAgICAgIHN1Ym1pdFBhcmFtcyA9IHt9LFxyXG4gICAgICBzaG93VG9vbEJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGJ1dHRvbnMgPSBbXSxcclxuICAgICAgZWRpdG9yRm9ybSA9IHRydWUsXHJcbiAgICAgIG9uU2hvd0Zvcm0sXHJcbiAgICAgIGZvcm1DaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICAgIGNsYXNzTmFtZSxcclxuICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uID0gXCJidXR0b21cIixcclxuICAgICAgYWN0aW9uUG9ycHMsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgZmlsdGVyQ29sdW1uID0gdHJ1ZSxcclxuICAgICAgYWN0aW9uQ29sdW1uID0gdHJ1ZSxcclxuICAgICAgc2hvd1Jvd1NlbGVjdGlvbiA9IHRydWUsXHJcbiAgICAgIGNvbHVtbk9yZGVyID0gdHJ1ZSxcclxuICAgICAgcm93U2VsZWN0aW9uID0ge30sXHJcbiAgICAgIGV4cGFuZGFibGUgPSB7fSxcclxuICAgICAgLi4ub3RoZXJ0YWJsZVBhcmFtc1xyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgICAuLi5vdGhlcnRyZWVQYXJhbXNcclxuICAgIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlLCAuLi5vdGhlcnRhYmxlUGFyYW1zIH0gYXMgYW55O1xyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICAgICAgb25DaGFuZ2U6IChzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93cykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5c1N0b3JlLCBzZWxlY3RlZFJvd0RhdGFzU3RvcmUsIGN1cnJlbnRQYWdlIH0gPVxyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld1Jvd0tleXNTdG9yZSA9IHtcclxuICAgICAgICAgICAgICAuLi5zZWxlY3RlZFJvd0tleXNTdG9yZSxcclxuICAgICAgICAgICAgICBbY3VycmVudFBhZ2VdOiBzZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld1Jvd0RhdGFzU3RvcmUgPSB7XHJcbiAgICAgICAgICAgICAgLi4uc2VsZWN0ZWRSb3dEYXRhc1N0b3JlLFxyXG4gICAgICAgICAgICAgIFtjdXJyZW50UGFnZV06IHNlbGVjdGVkUm93cyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiB0aGlzLmdldFNlbGVjdGVkS2V5KG5ld1Jvd0tleXNTdG9yZSksXHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSb3dEYXRhczogdGhpcy5nZXRTZWxlY3RlZEtleShuZXdSb3dEYXRhc1N0b3JlKSxcclxuICAgICAgICAgICAgICBzZWxlY3RlZFJvd0tleXNTdG9yZToge1xyXG4gICAgICAgICAgICAgICAgLi4ubmV3Um93S2V5c1N0b3JlLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgc2VsZWN0ZWRSb3dEYXRhc1N0b3JlOiB7XHJcbiAgICAgICAgICAgICAgICAuLi5uZXdSb3dEYXRhc1N0b3JlLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICBjb2x1bW5XaWR0aDogNDAsXHJcbiAgICAgICAgICBjaGVja1N0cmljdGx5OiBmYWxzZSxcclxuICAgICAgICAgIC4uLnJvd1NlbGVjdGlvbixcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IHRhYmxlQ29sdW1uOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3Qgc2VhcmNoRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZWRpdG9yRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyA/IHRlbXAucnVsZXMgOiBbXSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgbGV0IHRlbXBQcm9wID0geyAuLi50ZW1wLnByb3BzIH07XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICB7dGV4dCAhPT0gXCJcIiAmJiB0ZXh0ICE9PSBudWxsICYmIHRleHQgIT09IHVuZGVmaW5lZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLWJhY2tcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgICAgLi4udGVtcCxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRlbXAgPSB7XHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9PC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgaWYgKHRlbXA/LmNvbHVtblNob3cgIT09IGZhbHNlKSB0YWJsZUNvbHVtbi5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBzZWxmQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb25zdCB7IGJhc2VBY3Rpb25Db2x1bW4gfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHNob3dJY29uID0gdHJ1ZTtcclxuICAgIGlmIChhY3Rpb25Qb3Jwcz8uc2hvd0ljb24gPT09IGZhbHNlKSBzaG93SWNvbiA9IGZhbHNlO1xyXG4gICAgZWxzZSBpZiAoYmFzZUFjdGlvbkNvbHVtbi5zaG93SWNvbiA9PT0gZmFsc2UpIHNob3dJY29uID0gZmFsc2U7XHJcbiAgICBpZiAoZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIG9uU2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZGV0YWlsXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBcImRldGFpbFwiKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgaWNvbj17PEV5ZU91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDmn6XnnItcclxuICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImVkaXRvclwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgb25TaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJlZGl0b3JcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZWRpdG9yXCIpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBpY29uPXs8RWRpdE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSkge1xyXG4gICAgICBzZWxmQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IG9uU2hvd0Zvcm0gfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgb25TaG93Rm9ybSgpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNob3dGb3JtKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNPdXRsaW5lZCAvPn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDmt7vliqBcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJkZWxldGVcIikgPiAtMSkge1xyXG4gICAgICBzZWxmQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgb25DbGljaz17dGhpcy5vbkRlbGV0ZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuZGVsZXRlM30gLz59XHJcbiAgICAgICAgICBkYW5nZXJcclxuICAgICAgICA+XHJcbiAgICAgICAgICDliKDpmaRcclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgIHNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IGFjdGlvblBvcnBzPy50ZXh0QWxpZ25cclxuICAgICAgICAgID8gYWN0aW9uUG9ycHM/LnRleHRBbGlnblxyXG4gICAgICAgICAgOiBiYXNlQWN0aW9uQ29sdW1uLnRleHRBZ2xpblxyXG4gICAgICAgICAgPyBiYXNlQWN0aW9uQ29sdW1uLnRleHRBZ2xpblxyXG4gICAgICAgICAgOiBcImNlbnRlclwiLFxyXG4gICAgICAgIHdpZHRoOiAyNTAsXHJcbiAgICAgICAgZml4ZWQ6IFwicmlnaHRcIixcclxuICAgICAgICBlbGxpcHNpczogdHJ1ZSxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYWN0aW9uXCIpfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgY29uc3QgaGVhZGVyQ291bnQgPSB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMSA6IDI7XHJcbiAgICBpZiAoY29sdW1uT3JkZXIpXHJcbiAgICAgIHRhYmxlQ29sdW1uID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiBcIuW6j+WPt1wiLFxyXG4gICAgICAgICAgd2lkdGg6IDgwLFxyXG4gICAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0LCByZWFjb3JkLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gPD57aW5kZXggKyAxfTwvPjtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi50YWJsZUNvbHVtbixcclxuICAgICAgXTtcclxuICAgIGlmICh0YWJsZVByb3BzLnBhZ2luYXRpb24gIT09IGZhbHNlKSB7XHJcbiAgICAgIC8vIHNjcm9sbD17eyB4OiBcIm1heC1jb250ZW50XCIsIHk6IFwiMjV2d1wiIH19XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIHNjcm9sbDogeyB4OiBcIm1heC1jb250ZW50XCIsIHk6IFwiNTcwcHhcIiB9LFxyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJwYWdlXCIpLCBjbGFzc05hbWUpfT5cclxuICAgICAgICB7dGhpcy5wcm9wcy5wYWdlVGl0bGUgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJwYWdlLXRpdGxlXCIpKX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnByb3BzLnBhZ2VUaXRsZX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwicGFnZS1wYW5lXCIpKX1cclxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImxlZnRcIil9PlxyXG4gICAgICAgICAgICAgIDxUcmVlXHJcbiAgICAgICAgICAgICAgICBzdG9yZT17eyAuLi50cmVlU3RvcmUgfX1cclxuICAgICAgICAgICAgICAgIHNob3dJY29uPXtmYWxzZX1cclxuICAgICAgICAgICAgICAgIGNoZWNrYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cmVlU2VhcmNofVxyXG4gICAgICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMudHJlZVNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzPXtbdGhpcy5zdGF0ZS50cmVlU2VsZWN0ZWRLZXldfVxyXG4gICAgICAgICAgICAgICAgdGl0bGVBbGlhcz17dGl0bGVBbGlhc31cclxuICAgICAgICAgICAgICAgIHsuLi5vdGhlcnRyZWVQYXJhbXN9XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJyaWdodFwiKSwge1xyXG4gICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJuby1sZWZ0LXJpZ2h0XCIpXTogIXNob3dMZWZ0LFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICAgIDxSb3cgZ3V0dGVyPXsyNH0gd3JhcD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJoZWFkZXJcIil9PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImZvcm1cIikpfT5cclxuICAgICAgICAgICAgICAgICAgICB7LyogPFJvdyBndXR0ZXI9ezI0fSB3cmFwIHN0eWxlPXt7bWFyZ2luOjB9fT4gKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbENvbD17e319XHJcbiAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgICAgIGxheW91dD1cImlubGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcyB8fCB7fTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1Qcm9wcy52YWx1ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYWxsb3dDaGFycyA9IGl0ZW0/LnByb3BzPy5hbGxvd0NoYXJzIHx8IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcHMgPSB7IC4uLml0ZW1Qcm9wcyB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWl0ZW0udHlwZSB8fCBpdGVtLnR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMuYWxsb3dDaGFycyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q29sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxnPXt7IHNwYW46IDYgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93Q2hhcnM9e2FsbG93Q2hhcnN9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxDb2xcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWQ9e3sgc3BhbjogMTIgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc209e3sgc3BhbjogMjQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGc9e3sgc3BhbjogdG9vbEJ1dHRvblBvc2l0aW9uID09IFwicmlnaHRcIiA/IDEyIDogNiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBwYWRkaW5nUmlnaHQ6IDAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwic2VhcmNoLWJ1dHRvbnNcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luVG9wOiAwIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxTZWFyY2hPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249ezxSZWxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDph43nva5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyVG9vbEJ1dHRvbnMoc2VsZkJ1dHRvbnMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5sZW5ndGggPiAzICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJhX3N0eWxlXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBleHBhbmQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVwT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICAgICAgICAgICAgICB7LyogPC9Sb3c+ICovfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvUm93PlxyXG4gICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAge3Nob3dUb29sQnV0dG9uICYmXHJcbiAgICAgICAgICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uID09IFwiYnV0dG9tXCIgJiZcclxuICAgICAgICAgICAgICB0aGlzLnJlbmRlclRvb2xCdXR0b25zKHNlbGZCdXR0b25zLCBzZWFyY2hGb3Jtcy5sZW5ndGggPT0gMCl9XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwidGFibGVcIikpfT5cclxuICAgICAgICAgICAgICA8VGFibGVcclxuICAgICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVJlZn1cclxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZT17e1xyXG4gICAgICAgICAgICAgICAgICBleHBhbmRJY29uOiAoeyBleHBhbmRlZCwgb25FeHBhbmQsIHJlY29yZCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtleHBhbmRlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25FeHBhbmQocmVjb3JkLCBlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZXhwYW5kLWljb25cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2hpbGROb2RlcyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRPdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25FeHBhbmQocmVjb3JkLCBlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgLi4uZXhwYW5kYWJsZSxcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBjb2x1bW5PcmRlcj17dHJ1ZX1cclxuICAgICAgICAgICAgICAgIGJvcmRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgICAgICAgLy8gc2l6ZT17dGhpcy5zdGF0ZS50YWJsZVNpemV9XHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHBhZ2luYXRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50UGFnZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRQYWdlICE9PSBwYWdpbmF0aW9uLmN1cnJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICB0b29sYmFyPXt7XHJcbiAgICAgICAgICAgICAgICAgIG9uVG9vbENsaWNrOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb25SZWZyZXNoOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUxvYWQocGFyYW1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAuLi50YWJsZVByb3BzLnRvb2xiYXIsXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgey4uLnRhYmxlUGFyYW1zfVxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB7ZWRpdG9yRm9ybSAmJiAoXHJcbiAgICAgICAgICAgIDxFZGl0b3JGb3JtXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgICBjYWxsQmFjaz17dGhpcy50YWJsZVJlbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIGZvcm1Qcm9wcz17ZWRpdG9yRm9ybXN9XHJcbiAgICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgICAgc3VibWl0UGFyYW1zPXtzdWJtaXRQYXJhbXN9XHJcbiAgICAgICAgICAgICAgb25TdWJtaXQ9e3RoaXMucHJvcHMub25TdWJtaXR9XHJcbiAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XHJcbiAgICAgICAgICAgICAgb25IaWRlRm9ybT17dGhpcy5wcm9wcy5vbkhpZGVGb3JtfVxyXG4gICAgICAgICAgICAgIG9uRm9ybUNoYW5nZT17dGhpcy5wcm9wcy5vbkZvcm1DaGFuZ2V9XHJcbiAgICAgICAgICAgICAgZm9ybVR5cGU9e3RoaXMucHJvcHMuZm9ybVR5cGUgfHwgXCJhdXRvXCJ9XHJcbiAgICAgICAgICAgICAgY2hhbmdlVmFsaWQ9e2Zvcm1DaGFuZ2VWYWxpZH1cclxuICAgICAgICAgICAgICBvdGhlclByb3BzPXt7IC4uLmZvcm1Qcm9wcyB9fVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBCYXNlUGFnZTtcclxuIl19
1096
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkNvbCIsIlJvdyIsIm1vbWVudCIsImlzRW1wdHlPYmoiLCJEb3duT3V0bGluZWQiLCJVcE91dGxpbmVkIiwiRXllT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJSaWdodE91dGxpbmVkIiwiUGx1c091dGxpbmVkIiwiUmVsb2FkT3V0bGluZWQiLCJTZWFyY2hPdXRsaW5lZCIsImdldExlc3MiLCJnZXROb2RlIiwicmVxdWVzdCIsIm9taXQiLCJjb25maWciLCJnZXRTdG9yYWdlIiwiQmFzZVBhZ2UiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImNoZWNrZWRUcmVlS2V5cyIsInN0YXRlIiwibmFtZSIsInVzZXJUeXBlIiwiYWNjb3VudCIsInZhbHVlIiwiZGVwdElkIiwidGFibGVMb2FkIiwic2VsZWN0ZWQiLCJyZXMiLCJrZXkiLCJrZXlzIiwibGVuZ3RoIiwic3RvcmVQcmVmaXgiLCJ0eXBlIiwiY29udGVudCIsInNpemUiLCJzZWxlY3RlZFJvd0tleXMiLCJzZWxlY3RlZFJvd0RhdGFzIiwidHJlZVNlbGVjdGVkS2V5IiwiZXhwYW5kIiwiZm9ybVR5cGUiLCJ0YWJsZVNpemUiLCJzZWxlY3RlZFJvd0tleXNTdG9yZSIsInNlbGVjdGVkUm93RGF0YXNTdG9yZSIsImN1cnJlbnRQYWdlIiwiaW5pdERhdGEiLCJwYXJhbXMiLCJjYWxsQmFjayIsInNlYXJjaFJlZiIsImN1cnJlbnQiLCJzZXRGaWVsZHNWYWx1ZSIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJzaG93IiwiaGlkZUZvcm0iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImRlbGV0ZVVybCIsIm9uRGVsZXRlIiwiZGVsZXRlUGFyYW1zIiwid2FybmluZyIsIkVycm9yIiwiY29uZmlybSIsInRpdGxlIiwib2tUZXh0IiwiY2FuY2VsVGV4dCIsIm9uT2siLCJkZWZhdWx0UGFyYW1zIiwibWV0aG9kIiwiaWRzIiwiam9pbiIsInJlcXVlc3RQYXJhbXMiLCJ0aGVuIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInRhYmxlUmVmIiwic3RvcmUiLCJsb2FkIiwib25TZWFyY2giLCJmcm9tVmFsdWUiLCJnZXRGaWVsZHNWYWx1ZSIsImRhdGVGb3JtYXQiLCJvbGRkYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9ybWF0IiwiYXV0b0xvYWQiLCJyZWxvYWQiLCJjYWxsYmFjayIsImRhdGEiLCJyZWNvcmRzIiwic2V0U3RhdGUiLCJ0YWJsZVByb3BzIiwicm93S2V5IiwicmVzS2V5IiwiY2hpbGROb2RlcyIsImNoaWxkcmVuIiwibWFwIiwiaXRlbSIsImluZGV4IiwiZ2V0Q2hpbGRyZW5EYXRhIiwidG9vbGJ1dHRvbnMiLCJtYXJnaW5mbGFnIiwiZmxhZyIsInNob3dTZWFyY2giLCJwYWdlVHlwZSIsIm9uQ2xpY2siLCJpY29uIiwibWFyZ2luTGVmdCIsImNvbHVtbkJ1dHRvbnMiLCJyZWNvcmQiLCJlZGl0b3JGb3JtIiwiYnV0dG9ucyIsImFjdGlvblBvcnBzIiwiYmFzZUFjdGlvbkNvbHVtbiIsIm5ld0J1dHRvbnMiLCJzaG93SWNvbiIsInJlY29yZFNob3ciLCJldmFsIiwicHVzaCIsInNlbGVjdGVkS2V5cyIsInNlbGVjdGVkTm9kZXMiLCJrZXl3b3JkIiwidHJlZVByb3BzIiwic2VhcmNoS2V5Iiwic2VhcmNoRmllbGQiLCJpc0xlYWYiLCJkYXRhcmVmIiwiYXR0cmlidXRlIiwicmVzZXRGaWVsZHMiLCJ0ZXh0IiwibmV3VGV4dCIsImkiLCJsYWJlbCIsInNldERhdGEiLCJ0cmVlUmVmIiwiY29sdW1ucyIsInN1Ym1pdFVybCIsImZvcm1Qcm9wcyIsInNob3dMZWZ0Iiwic3VibWl0UGFyYW1zIiwic2hvd1Rvb2xCdXR0b24iLCJvblNob3dGb3JtIiwiZm9ybUNoYW5nZVZhbGlkIiwiY2xhc3NOYW1lIiwidG9vbEJ1dHRvblBvc2l0aW9uIiwiZmlsdGVyQ29sdW1uIiwiYWN0aW9uQ29sdW1uIiwic2hvd1Jvd1NlbGVjdGlvbiIsImNvbHVtbk9yZGVyIiwicm93U2VsZWN0aW9uIiwiZXhwYW5kYWJsZSIsIm90aGVydGFibGVQYXJhbXMiLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsIm90aGVydHJlZVBhcmFtcyIsInRhYmxlUGFyYW1zIiwib25DaGFuZ2UiLCJzZWxlY3RlZFJvd3MiLCJuZXdSb3dLZXlzU3RvcmUiLCJuZXdSb3dEYXRhc1N0b3JlIiwiZ2V0U2VsZWN0ZWRLZXkiLCJjb2x1bW5XaWR0aCIsImNoZWNrU3RyaWN0bHkiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJkZWZhdWx0VmFsdWUiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsInVuZGVmaW5lZCIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwidGVtcFByb3AiLCJzdHlsZSIsInJlbmRlciIsImdldFRleHQiLCJlbGxpcHNpcyIsImNvbHVtblNob3ciLCJzZWxmQnV0dG9ucyIsImluZGV4T2YiLCJzaG93Rm9ybSIsImJpbmQiLCJkZWxldGUzIiwiYWxpZ24iLCJ0ZXh0QWxpZ24iLCJ3aWR0aCIsImZpeGVkIiwicmVuZGVyQ2xvdW1uQnV0dG9uIiwiaGVhZGVyQ291bnQiLCJyZWFjb3JkIiwicGFnaW5hdGlvbiIsInNjcm9sbCIsIngiLCJ5IiwicGFnZVRpdGxlIiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJpdGVtUHJvcHMiLCJ2YWx1ZUZvcm1hdCIsImFsbG93Q2hhcnMiLCJwYWRkaW5nUmlnaHQiLCJwbGFjZWhvbGRlciIsIm1hcmdpblRvcCIsInJlc2V0U2VhcmNoIiwicmVuZGVyVG9vbEJ1dHRvbnMiLCJleHBhbmRJY29uIiwiZXhwYW5kZWQiLCJvbkV4cGFuZCIsImUiLCJvblRvb2xDbGljayIsIm9uUmVmcmVzaCIsImdldFNlYXJjaFZhbHVlcyIsInRvb2xiYXIiLCJ0YWJsZVJlbG9hZCIsIm9uU3VibWl0Iiwib25IaWRlRm9ybSIsIm9uRm9ybUNoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFnRCxPQUFoRDtBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsbUJBQW5CO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixrQkFBbEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQiw0QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsUUFBdkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7QUFFQSxPQUFPQyxHQUFQLE1BQWdCLHFCQUFoQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IscUJBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixRQUFuQjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsbUJBQTNCO0FBQ0EsU0FDRUMsWUFERixFQUVFQyxVQUZGLEVBR0VDLFdBSEYsRUFJRUMsWUFKRixFQUtFQyxhQUxGLEVBTUVDLFlBTkYsRUFPRUMsY0FQRixFQVFFQyxjQVJGLFFBU08sbUJBVFA7QUFVQSxTQUFTQyxPQUFULEVBQWtCQyxPQUFsQixR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QUFZRSxRQUFBLFVBQVUsb0JBQU9MLFNBQVA7QUFaWixRQWxMSixDQU5GLENBREY7QUEyTUQ7Ozs7RUF4NEJvQjdKLGE7O0FBMDRCdkIsZUFBZStCLFFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCwgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi4vLi4vYmFzZS90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vYmFzZS90cmVlXCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi9iYXNlL21vZGFsXCI7XHJcbmltcG9ydCBQb3BvdmVyIGZyb20gXCIuLi8uLi9iYXNlL3BvcG92ZXJcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vYmFzZS9jb21tb24vSWNvbkZvbnRcIjtcclxuaW1wb3J0IHsgaWNvblR5cGUgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBFZGl0b3JGb3JtIGZyb20gXCIuL0Zvcm1cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7XHJcbiAgRG93bk91dGxpbmVkLFxyXG4gIFVwT3V0bGluZWQsXHJcbiAgRXllT3V0bGluZWQsXHJcbiAgRWRpdE91dGxpbmVkLFxyXG4gIFJpZ2h0T3V0bGluZWQsXHJcbiAgUGx1c091dGxpbmVkLFxyXG4gIFJlbG9hZE91dGxpbmVkLFxyXG4gIFNlYXJjaE91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBJRm9ybVByb3BzIH0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybS9Gb3JtXCI7XHJcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tIFwiYW50ZC9lcy9mb3JtL0Zvcm1cIjtcclxuaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xyXG4gIGFjdGlvbkNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG6aG1XHJcbiAgY29sdW1uT3JkZXI/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuihqOagvOW6j+WIl1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5pbnRlcmZhY2UgVHJlZVByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pCc57Si5qGGXHJcbiAgc2VhcmNoS2V5Pzogc3RyaW5nOyAvL+aQnOe0onZhbHVl5a+55bqU55qEa2V5XHJcbiAgc2VhcmNoRmllbGQ/OiBzdHJpbmc7IC8v5p+l6K+i5a+55bqU55qEa2V5XHJcbiAgdGl0bGVBbGlhcz86IHN0cmluZzsgLy/moJF0aXRsZeWvueW6lOeahGtleSzpu5jorqR0aXRsZVxyXG4gIG5vZGVQb3Jwcz86IG9iamVjdDtcclxuICBbcHJvcHNOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuaW50ZXJmYWNlIEZvcm1Qcm9wcyBleHRlbmRzIElGb3JtUHJvcHMge31cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86ICh2YWx1ZT86IGFueSwgbGFiZWw/OiBhbnkpID0+IHZvaWQ7XHJcbiAgY29sdW1uczogQXJyYXk8T2JqZWN0PjtcclxuICBzaG93TGVmdD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65bem5L6n55uu5b2V5qCRXHJcbiAgc2hvd1Rvb2xCdXR0b24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaMiemSruagj1xyXG4gIGVkaXRvckZvcm0/OiBib29sZWFuOyAvL+aYr+WQpumcgOimgeihqOWNleWKn+iDvSAsIOS4umZhbHNlIOe8lui+ke+8jOafpeeci++8jOaWsOWinuWKn+iDveWdh+S4jeWPr+eUqFxyXG4gIGRlbGV0ZVVybD86IHN0cmluZzsgLy/liKDpmaR1cmxcclxuICBvbkRlbGV0ZT86IChzZWxlY3RlZEtleXM/OiBBcnJheTxhbnk+KSA9PiB2b2lkOyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcclxuICBpbml0RGF0YT86IGFueTsgLy/liJ3lp4vljJblm57osIPlh73mlbDvvIzlnKhjb21wb25lbnREaWRNb3VudOS4reiwg+eUqFxyXG4gIGJ1dHRvbnM/OiBBcnJheTxzdHJpbmc+OyAvL+aMiemSrumbhuWQiCAgWydhZGQnLCdkZWxldGUnLCdzZWFyY2gnLCdlZGl0b3InXVxyXG4gIG9uU2hvd0Zvcm0/OiAodmFsdWU/OiBhbnksIGVkaXRvckZsYWc/OiBzdHJpbmcpID0+IHZvaWQ7IC8v5omT5byA6KGo5Y2V5Zue6LCDXHJcbiAgb25IaWRlRm9ybT86ICgpID0+IHZvaWQ7IC8v5omT5byA6KGo5Y2V5Zue6LCDXHJcbiAgb25Gb3JtQ2hhbmdlPzogKGNoYW5nZWRWYWx1ZXM/OiBhbnksIGFsbFZhbHVlcz86IGFueSkgPT4gdm9pZDsgLy/ooajljZVvbkNoYW5nZeWbnuiwg1xyXG4gIGZvcm1UeXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIjtcclxuICBmb3JtQ2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+ihqOWNleagoemqjFxyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICB0b29sQnV0dG9uUG9zaXRpb24/OiBcInJpZ2h0XCIgfCBcImJ1dHRvbVwiO1xyXG4gIHBhZ2VUaXRsZT86IHN0cmluZyB8IFJlYWN0Tm9kZTtcclxuICBmb3JtUHJvcHM/OiBGb3JtUHJvcHM7XHJcbiAgYWN0aW9uUG9ycHM/OiB7IHRleHRBbGlnbj86IHN0cmluZzsgc2hvd0ljb24/OiBib29sZWFuO3dpZHRoPzpudW1iZXIgfTtcclxufVxyXG5cclxuY2xhc3MgQmFzZVBhZ2UgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5TQ0Jhc2VCYWdlUHJvcHMsIGFueT4ge1xyXG4gIHRhYmxlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICB0cmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGVkaXRvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZGF0ZUZvcm1hdCA9IHt9IGFzIGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wczogYW55KSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQgeyBzdG9yZVByZWZpeCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgdHlwZSA9IGdldFN0b3JhZ2UoXHJcbiAgICAgIHN0b3JlUHJlZml4ID8gc3RvcmVQcmVmaXggKyBcIi1cIiArIFwiZm9ybVR5cGVcIiA6IFwiZm9ybVR5cGVcIlxyXG4gICAgKTtcclxuICAgIHR5cGUgPSB0eXBlPy5jb250ZW50O1xyXG4gICAgbGV0IHNpemUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCItXCIgKyBcInRhYmxlU2l6ZVwiIDogXCJ0YWJsZVNpemVcIlxyXG4gICAgKTtcclxuICAgIHNpemUgPSBzaXplPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgICAgZm9ybVR5cGU6IHR5cGUgfHwgXCJtb2RhbFwiLFxyXG4gICAgICB0YWJsZVNpemU6IHNpemUgfHwgXCJkZWZhdWx0XCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5c1N0b3JlOiB7fSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhc1N0b3JlOiB7fSxcclxuICAgICAgY3VycmVudFBhZ2U6IDEsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgaW5pdERhdGEgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpbml0RGF0YSAmJiBpbml0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoUGFyYW1zKHBhcmFtcywgY2FsbEJhY2spIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHBhcmFtcyk7XHJcbiAgICBjYWxsQmFjayAmJiBjYWxsQmFjayhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3QgPSAoY2hlY2tlZFRyZWVLZXlzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQsIGRlcHRJZDogY2hlY2tlZFRyZWVLZXlzWzBdIH07XHJcbiAgICB0aGlzLnRhYmxlTG9hZCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgLy/mmL7npLrooajljZVcclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgZWRpdG9yZmxhZyA9IFwiYWRkXCIpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LnNob3codmFsdWUsIGVkaXRvcmZsYWcpO1xyXG4gIH1cclxuXHJcbiAgLy/lhbPpl63ooajljZVcclxuICBoaWRlRm9ybSgpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LnNldExvYWRpbmcobG9hZGluZyk7XHJcbiAgfVxyXG5cclxuICAvL+aJuemHj+WIoOmZpFxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgY29uc3QgeyBkZWxldGVVcmwsIG9uRGVsZXRlLCBkZWxldGVQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZFJvd0tleXMubGVuZ3RoID09IDApIHtcclxuICAgICAgbWVzc2FnZS53YXJuaW5nKFwi6K+36YCJ5oup6KaB5Yig6Zmk55qE5pWw5o2u77yBXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgb25EZWxldGUgJiYgb25EZWxldGUoc2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkZWxldGVVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgfVxyXG4gICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgIHRpdGxlOiBcIuaYr+WQpuehruiupOWIoOmZpOaJgOmAiemhue+8n1wiLFxyXG4gICAgICBva1RleHQ6IFwi56Gu6K6kXCIsXHJcbiAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgIG9uT2s6ICgpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0ge1xyXG4gICAgICAgICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgICAgICAgIHBhcmFtczogeyBpZHM6IHNlbGVjdGVkUm93S2V5cy5qb2luKCkgfSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCByZXF1ZXN0UGFyYW1zID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmIChkZWZhdWx0UGFyYW1zKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWxldGVQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVmYXVsdFBhcmFtcyB9O1xyXG4gICAgICAgIHJlcXVlc3QoZGVsZXRlVXJsLCB7XHJcbiAgICAgICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLliKDpmaTmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWIoOmZpOWksei0pe+8gVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5sb2FkKHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/mn6Xor6JcclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgaWYgKG9uU2VhcmNoKSB7XHJcbiAgICAgIG9uU2VhcmNoKGZyb21WYWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghaXNFbXB0eU9iaih0aGlzLmRhdGVGb3JtYXQpKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmRhdGVGb3JtYXQpIHtcclxuICAgICAgICBsZXQgb2xkZGF0YSA9IGZyb21WYWx1ZVtrZXldO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9sZGRhdGEpKSB7XHJcbiAgICAgICAgICBmcm9tVmFsdWVba2V5XSA9IFtcclxuICAgICAgICAgICAgbW9tZW50KG9sZGRhdGFbMF0pLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgIG1vbWVudChvbGRkYXRhWzFdKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZnJvbVZhbHVlW2tleV0gPSBtb21lbnQob2xkZGF0YSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudGFibGVMb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQocGFyYW1zID0ge30sIGF1dG9Mb2FkID0gdHJ1ZSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5yZWxvYWQoe1xyXG4gICAgICBjYWxsYmFjazogKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGF1dG9Mb2FkICYmXHJcbiAgICAgICAgICByZXM/LmRhdGE/LnJlY29yZHM/Lmxlbmd0aCA9PSAwICYmXHJcbiAgICAgICAgICB0aGlzLnN0YXRlLmN1cnJlbnRQYWdlICE9PSAxXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCh7XHJcbiAgICAgICAgICAgIHBhcmFtczogeyBjdXJyZW50OiAxLCAuLi5wYXJhbXMgfSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93RGF0YXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0RhdGFzO1xyXG4gIH1cclxuICByZXNldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFtdLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzU3RvcmU6IHt9LFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzU3RvcmU6IHt9LFxyXG4gICAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXRTZWxlY3RlZFJvd0tleXMoZGF0YSkge1xyXG4gICAgY29uc3QgeyBjdXJyZW50UGFnZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IGRhdGEsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5c1N0b3JlOiB7IFtjdXJyZW50UGFnZV06IGRhdGEgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBzZXRTZWxlY3RlZFJvd0RhdGFzKGRhdGEpIHtcclxuICAgIGNvbnN0IHsgY3VycmVudFBhZ2UgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogZGF0YSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhc1N0b3JlOiB7IFtjdXJyZW50UGFnZV06IGRhdGEgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldENoaWxkcmVuRGF0YShkYXRhLCBrZXlzID0gW10pIHtcclxuICAgIGNvbnN0IHsgdGFibGVQcm9wcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgcm93S2V5ID0gXCJpZFwiIH0gPSB0YWJsZVByb3BzO1xyXG4gICAgbGV0IHJlc0tleSA9IFtdO1xyXG4gICAgaWYgKGRhdGEuY2hpbGROb2Rlcykge1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGRhdGEuY2hpbGROb2RlcztcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICAgIHRoaXMuZ2V0Q2hpbGRyZW5EYXRhKGl0ZW0uY2hpbGROb2Rlcywga2V5cyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc0tleSA9IFsuLi5rZXlzLCBpdGVtW3Jvd0tleV1dO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXNLZXkgPSBbLi4ua2V5cywgZGF0YVtyb3dLZXldXTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXNLZXk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJUb29sQnV0dG9ucyh0b29sYnV0dG9uczogYW55LCBtYXJnaW5mbGFnID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGZsYWcgPSB0b29sYnV0dG9ucy5sZW5ndGggPiA1O1xyXG4gICAgY29uc3QgeyBzaG93U2VhcmNoID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0b29sYnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgc2hvdywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiA0KSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnNcIiksIHtcclxuICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnMtbWFyZ2luXCIpXTogIXNob3dTZWFyY2ggfHwgbWFyZ2luZmxhZyxcclxuICAgICAgICB9KX1cclxuICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAwIH19XHJcbiAgICAgID5cclxuICAgICAgICB7dG9vbGJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgIGlmIChpbmRleCA8IDQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gNCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgIC8vIG92ZXJsYXlDbGFzc05hbWU9e3N0eWxlc1sncG9wLWJveCddfVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAg5pu05aSaIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG4gIHJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zOiBhbnksIHJlY29yZDogYW55KSB7XHJcbiAgICBjb25zdCB7IGVkaXRvckZvcm0gPSB0cnVlLCBidXR0b25zID0gW10sIGFjdGlvblBvcnBzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBiYXNlQWN0aW9uQ29sdW1uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IG5ld0J1dHRvbnMgPSBbXTtcclxuICAgIGxldCBzaG93SWNvbiA9IHRydWU7XHJcbiAgICBpZiAoYWN0aW9uUG9ycHM/LnNob3dJY29uID09PSBmYWxzZSkgc2hvd0ljb24gPSBmYWxzZTtcclxuICAgIGVsc2UgaWYgKGJhc2VBY3Rpb25Db2x1bW4uc2hvd0ljb24gPT09IGZhbHNlKSBzaG93SWNvbiA9IGZhbHNlO1xyXG4gICAgY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgcmVjb3JkU2hvdywgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChyZWNvcmRTaG93KSB7XHJcbiAgICAgICAgaWYgKGV2YWwocmVjb3JkU2hvdykpIHtcclxuICAgICAgICAgIG5ld0J1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3QnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZsYWcgPSBuZXdCdXR0b25zLmxlbmd0aCA+IDM7XHJcblxyXG4gICAgY29uc3QgY29udGVudCA9IG5ld0J1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIHJlY29yZFNob3csIGljb24sIHNob3csIC4uLnBhcmFtcyB9ID1cclxuICAgICAgICBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiAxKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtzaG93SWNvbiAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3QnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgcmVjb3JkU2hvdywgaWNvbiwgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgaWYgKGluZGV4IDwgMikge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSwge1xyXG4gICAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcImVkaXRvcl9maXJzdFwiKV06IGluZGV4ID09PSAwLFxyXG4gICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3Nob3dJY29uICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+e2NoaWxkcmVufTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gMikge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX0+XHJcbiAgICAgICAgICAgICAgICAmbmJzcDsg5pu05aSaXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksIHtcclxuICAgICAgICAgICAgICBbZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yX2ZpcnN0XCIpXTogaW5kZXggPT09IDAsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHtzaG93SWNvbiAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIH1cclxuICB9XHJcbiAgLy/moJHngrnlh7vkuovku7ZcclxuICB0cmVlU2VsZWN0KHNlbGVjdGVkS2V5czogYW55LCB7IHNlbGVjdGVkLCBzZWxlY3RlZE5vZGVzIH06IGFueSkge1xyXG4gICAgbGV0IGtleXdvcmQgPSBcIlwiO1xyXG4gICAgY29uc3QgeyBzZWFyY2hLZXkgPSBcImtleVwiLCBzZWFyY2hGaWVsZCA9IFwiXCIgfSA9IHRoaXMucHJvcHMudHJlZVByb3BzO1xyXG4gICAgY29uc3QgeyB0cmVlU2VsZWN0ZWRLZXkgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgaWYgKHNlbGVjdGVkTm9kZXNbMF0uaXNMZWFmIHx8ICFzZWxlY3RlZE5vZGVzWzBdLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkS2V5c1swXSAhPT0gdHJlZVNlbGVjdGVkS2V5KSB7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMudGFibGVMb2FkKHsgLi4uZnJvbVZhbHVlLCBbc2VhcmNoRmllbGRdOiBrZXl3b3JkIH0pO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIGdldFRleHQocHJvcHMsIHRleHQpIHtcclxuICAgIGxldCBuZXdUZXh0ID0gdGV4dDtcclxuICAgIGlmIChwcm9wcz8uZGF0YSAmJiBwcm9wcz8uZGF0YT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgZGF0YSA9IHByb3BzLmRhdGE7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YT8ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZGF0YVtpXS52YWx1ZSA9PSB0ZXh0KSB7XHJcbiAgICAgICAgICBuZXdUZXh0ID0gZGF0YVtpXS5sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBuZXdUZXh0O1xyXG4gIH1cclxuICBzZXRUYWJsZURhdGEoZGF0YSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5zZXREYXRhKGRhdGEpO1xyXG4gIH1cclxuICBzZXRUcmVlRGF0YShkYXRhKSB7XHJcbiAgICB0aGlzLnRyZWVSZWYuY3VycmVudD8uc3RvcmUuc2V0RGF0YShkYXRhKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRLZXkgPSAoc2VsZWN0ZWQpID0+IHtcclxuICAgIGxldCByZXMgPSBbXTtcclxuICAgIGZvciAobGV0IGtleSBpbiBzZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBrZXlzID0gc2VsZWN0ZWRba2V5XTtcclxuICAgICAgaWYgKGtleXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHJlcyA9IFsuLi5yZXMsIC4uLmtleXNdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH07XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNvbHVtbnMgPSBbXSxcclxuICAgICAgc2hvd1NlYXJjaCA9IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICB0YWJsZVByb3BzID0ge30sXHJcbiAgICAgIHRyZWVQcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgYnV0dG9ucyA9IFtdLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgICAgb25TaG93Rm9ybSxcclxuICAgICAgZm9ybUNoYW5nZVZhbGlkID0gdHJ1ZSxcclxuICAgICAgY2xhc3NOYW1lLFxyXG4gICAgICB0b29sQnV0dG9uUG9zaXRpb24gPSBcImJ1dHRvbVwiLFxyXG4gICAgICBhY3Rpb25Qb3JwcyxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgICAgY29sdW1uT3JkZXIgPSB0cnVlLFxyXG4gICAgICByb3dTZWxlY3Rpb24gPSB7fSxcclxuICAgICAgZXhwYW5kYWJsZSA9IHt9LFxyXG4gICAgICAuLi5vdGhlcnRhYmxlUGFyYW1zXHJcbiAgICB9ID0gdGFibGVQcm9wcztcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlOiB0cmVlU3RvcmUgPSB7fSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJlZVNlYXJjaCA9IHRydWUsXHJcbiAgICAgIHRpdGxlQWxpYXMgPSBcInRpdGxlXCIsXHJcbiAgICAgIC4uLm90aGVydHJlZVBhcmFtc1xyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUsIC4uLm90aGVydGFibGVQYXJhbXMgfSBhcyBhbnk7XHJcbiAgICBpZiAoc2hvd1Jvd1NlbGVjdGlvbikge1xyXG4gICAgICB0YWJsZVBhcmFtcyA9IHtcclxuICAgICAgICAuLi50YWJsZVBhcmFtcyxcclxuICAgICAgICByb3dTZWxlY3Rpb246IHtcclxuICAgICAgICAgIHNlbGVjdGVkUm93S2V5czogdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICBvbkNoYW5nZTogKHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dzKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzU3RvcmUsIHNlbGVjdGVkUm93RGF0YXNTdG9yZSwgY3VycmVudFBhZ2UgfSA9XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Um93S2V5c1N0b3JlID0ge1xyXG4gICAgICAgICAgICAgIC4uLnNlbGVjdGVkUm93S2V5c1N0b3JlLFxyXG4gICAgICAgICAgICAgIFtjdXJyZW50UGFnZV06IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Um93RGF0YXNTdG9yZSA9IHtcclxuICAgICAgICAgICAgICAuLi5zZWxlY3RlZFJvd0RhdGFzU3RvcmUsXHJcbiAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlXTogc2VsZWN0ZWRSb3dzLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHRoaXMuZ2V0U2VsZWN0ZWRLZXkobmV3Um93S2V5c1N0b3JlKSxcclxuICAgICAgICAgICAgICBzZWxlY3RlZFJvd0RhdGFzOiB0aGlzLmdldFNlbGVjdGVkS2V5KG5ld1Jvd0RhdGFzU3RvcmUpLFxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkUm93S2V5c1N0b3JlOiB7XHJcbiAgICAgICAgICAgICAgICAuLi5uZXdSb3dLZXlzU3RvcmUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBzZWxlY3RlZFJvd0RhdGFzU3RvcmU6IHtcclxuICAgICAgICAgICAgICAgIC4uLm5ld1Jvd0RhdGFzU3RvcmUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgIGNvbHVtbldpZHRoOiA0MCxcclxuICAgICAgICAgIGNoZWNrU3RyaWN0bHk6IGZhbHNlLFxyXG4gICAgICAgICAgLi4ucm93U2VsZWN0aW9uLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWU6IGFueSA9IHt9O1xyXG4gICAgY29uc3QgY29sdW1uQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb2x1bW5zLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmICh0ZW1wLnNlYXJjaCkge1xyXG4gICAgICAgIHNlYXJjaEZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAuc2VhcmNoO1xyXG4gICAgICB0ZW1wLmVkaXRvciAhPT0gZmFsc2UgJiZcclxuICAgICAgICBlZGl0b3JGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHJ1bGVzOiB0ZW1wLnJ1bGVzID8gdGVtcC5ydWxlcyA6IFtdLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgc3BhbjogdGVtcC5zcGFuLFxyXG4gICAgICAgICAgZGljdE5hbWU6IHRlbXAuZGljdE5hbWUsXHJcbiAgICAgICAgICBwcm9wczogb21pdCh7IC4uLnRlbXAucHJvcHMgfSwgW1wiZGVmYXVsdFZhbHVlXCIsIFwidmFsdWVcIl0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgICB0ZW1wLnByb3BzPy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXg7XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlW25hbWVdID0gdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnJ1bGVzO1xyXG4gICAgICBkZWxldGUgdGVtcC5zcGFuO1xyXG4gICAgICBpZiAodGVtcC5jb2x1bW5TZWFyY2gpIHtcclxuICAgICAgICB0ZW1wLmZpbHRlclByb3BzID0ge1xyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC50eXBlO1xyXG4gICAgICBsZXQgdGVtcFByb3AgPSB7IC4uLnRlbXAucHJvcHMgfTtcclxuICAgICAgaWYgKHRlbXAuc3R5bGUpIHtcclxuICAgICAgICB0ZW1wID0ge1xyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgIHt0ZXh0ICE9PSBcIlwiICYmIHRleHQgIT09IG51bGwgJiYgdGV4dCAhPT0gdW5kZWZpbmVkICYmIChcclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb2wtYmFja1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb2wtdGV4dFwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5nZXRUZXh0KHRlbXBQcm9wLCB0ZXh0KX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZWxsaXBzaXM6IHRydWUsXHJcbiAgICAgICAgICAuLi50ZW1wLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gPD57dGhpcy5nZXRUZXh0KHRlbXBQcm9wLCB0ZXh0KX08Lz47XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4udGVtcCxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnByb3BzO1xyXG4gICAgICBpZiAodGVtcD8uY29sdW1uU2hvdyAhPT0gZmFsc2UpIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IHsgYmFzZUFjdGlvbkNvbHVtbiB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgaWYgKGFjdGlvblBvcnBzPy5zaG93SWNvbiA9PT0gZmFsc2UpIHNob3dJY29uID0gZmFsc2U7XHJcbiAgICBlbHNlIGlmIChiYXNlQWN0aW9uQ29sdW1uLnNob3dJY29uID09PSBmYWxzZSkgc2hvd0ljb24gPSBmYWxzZTtcclxuICAgIGlmIChlZGl0b3JGb3JtID09IHRydWUpIHtcclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcInNlYXJjaFwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgb25TaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJkZXRhaWxcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZGV0YWlsXCIpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBpY29uPXs8RXllT3V0bGluZWQgLz59XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOafpeeci1xyXG4gICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYnV0dG9ucy5pbmRleE9mKFwiZWRpdG9yXCIpID4gLTEpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goXHJcbiAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBcImVkaXRvclwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJlZGl0b3JcIik7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGljb249ezxFZGl0T3V0bGluZWQgLz59XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOe8lui+kVxyXG4gICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImFkZFwiKSA+IC0xKSB7XHJcbiAgICAgIHNlbGZCdXR0b25zLnB1c2goXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgb25TaG93Rm9ybSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICBvblNob3dGb3JtKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBpY29uPXs8UGx1c091dGxpbmVkIC8+fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImRlbGV0ZVwiKSA+IC0xKSB7XHJcbiAgICAgIHNlbGZCdXR0b25zLnB1c2goXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5kZWxldGUzfSAvPn1cclxuICAgICAgICAgIGRhbmdlclxyXG4gICAgICAgID5cclxuICAgICAgICAgIOWIoOmZpFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIHNlbGZCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYWN0aW9uQ29sdW1uICYmXHJcbiAgICAgIHRhYmxlQ29sdW1uLnB1c2goe1xyXG4gICAgICAgIHRpdGxlOiBcIuaTjeS9nFwiLFxyXG4gICAgICAgIGRhdGFJbmRleDogXCJhY3Rpb25cIixcclxuICAgICAgICBhbGlnbjogYWN0aW9uUG9ycHM/LnRleHRBbGlnblxyXG4gICAgICAgICAgPyBhY3Rpb25Qb3Jwcz8udGV4dEFsaWduXHJcbiAgICAgICAgICA6IGJhc2VBY3Rpb25Db2x1bW4udGV4dEFsaWduXHJcbiAgICAgICAgICA/IGJhc2VBY3Rpb25Db2x1bW4udGV4dEFsaWduXHJcbiAgICAgICAgICA6IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IGFjdGlvblBvcnBzPy53aWR0aFxyXG4gICAgICAgICAgPyBhY3Rpb25Qb3Jwcz8ud2lkdGhcclxuICAgICAgICAgIDogYmFzZUFjdGlvbkNvbHVtbi53aWR0aFxyXG4gICAgICAgICAgPyBiYXNlQWN0aW9uQ29sdW1uLndpZHRoXHJcbiAgICAgICAgICA6IDIwMCxcclxuICAgICAgICBmaXhlZDogXCJyaWdodFwiLFxyXG4gICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSwgcmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJhY3Rpb25cIil9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zLCByZWNvcmQpfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHRvb2xCdXR0b25Qb3NpdGlvbiA9PSBcInJpZ2h0XCIgPyAxIDogMjtcclxuICAgIGlmIChjb2x1bW5PcmRlcilcclxuICAgICAgdGFibGVDb2x1bW4gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6IFwi5bqP5Y+3XCIsXHJcbiAgICAgICAgICB3aWR0aDogODAsXHJcbiAgICAgICAgICBhbGlnbjogXCJjZW50ZXJcIixcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQsIHJlYWNvcmQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiA8PntpbmRleCArIDF9PC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnRhYmxlQ29sdW1uLFxyXG4gICAgICBdO1xyXG4gICAgaWYgKHRhYmxlUHJvcHMucGFnaW5hdGlvbiAhPT0gZmFsc2UpIHtcclxuICAgICAgLy8gc2Nyb2xsPXt7IHg6IFwibWF4LWNvbnRlbnRcIiwgeTogXCIyNXZ3XCIgfX1cclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgc2Nyb2xsOiB7IHg6IFwibWF4LWNvbnRlbnRcIiwgeTogXCI1NzBweFwiIH0sXHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInBhZ2VcIiksIGNsYXNzTmFtZSl9PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLnBhZ2VUaXRsZSAmJiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInBhZ2UtdGl0bGVcIikpfT5cclxuICAgICAgICAgICAge3RoaXMucHJvcHMucGFnZVRpdGxlfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJwYWdlLXBhbmVcIikpfVxyXG4gICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7c2hvd0xlZnQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwibGVmdFwiKX0+XHJcbiAgICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgICAgc2hvd0ljb249e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy50cmVlU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgICB0aXRsZUFsaWFzPXt0aXRsZUFsaWFzfVxyXG4gICAgICAgICAgICAgICAgey4uLm90aGVydHJlZVBhcmFtc31cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcIm5vLWxlZnQtcmlnaHRcIildOiAhc2hvd0xlZnQsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7c2hvd1NlYXJjaCAmJiAoXHJcbiAgICAgICAgICAgICAgPFJvdyBndXR0ZXI9ezI0fSB3cmFwPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKSl9PlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiA8Um93IGd1dHRlcj17MjR9IHdyYXAgc3R5bGU9e3ttYXJnaW46MH19PiAqL31cclxuICAgICAgICAgICAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZXJDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtUHJvcHMgPSBpdGVtLnByb3BzIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0W2l0ZW0ubmFtZV0gPSBpdGVtUHJvcHMudmFsdWVGb3JtYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhbGxvd0NoYXJzID0gaXRlbT8ucHJvcHM/LmFsbG93Q2hhcnMgfHwgZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwcm9wcyA9IHsgLi4uaXRlbVByb3BzIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXRlbS50eXBlIHx8IGl0ZW0udHlwZSA9PSBcIklucHV0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5hbGxvd0NoYXJzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxDb2xcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1kPXt7IHNwYW46IDEyIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbT17eyBzcGFuOiAyNCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGc9e3sgc3BhbjogNiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdSaWdodDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dDaGFycz17YWxsb3dDaGFyc31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPENvbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZD17eyBzcGFuOiAxMiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzbT17eyBzcGFuOiAyNCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZz17eyBzcGFuOiB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJyaWdodFwiID8gMTIgOiA2IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHBhZGRpbmdSaWdodDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IDAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFNlYXJjaE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIOafpeivolxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5yZXNldFNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17PFJlbG9hZE91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93VG9vbEJ1dHRvbiAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbEJ1dHRvblBvc2l0aW9uID09IFwicmlnaHRcIiAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJUb29sQnV0dG9ucyhzZWxmQnV0dG9ucyl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLmxlbmd0aCA+IDMgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImFfc3R5bGVcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZDogIWV4cGFuZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VXBPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiA8L1Jvdz4gKi99XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9Sb3c+XHJcbiAgICAgICAgICAgICl9XHJcblxyXG4gICAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiZcclxuICAgICAgICAgICAgICB0b29sQnV0dG9uUG9zaXRpb24gPT0gXCJidXR0b21cIiAmJlxyXG4gICAgICAgICAgICAgIHRoaXMucmVuZGVyVG9vbEJ1dHRvbnMoc2VsZkJ1dHRvbnMsIHNlYXJjaEZvcm1zLmxlbmd0aCA9PSAwKX1cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJ0YWJsZVwiKSl9PlxyXG4gICAgICAgICAgICAgIDxUYWJsZVxyXG4gICAgICAgICAgICAgICAgcmVmPXt0aGlzLnRhYmxlUmVmfVxyXG4gICAgICAgICAgICAgICAgY29sdW1ucz17dGFibGVDb2x1bW59XHJcbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlPXt7XHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZEljb246ICh7IGV4cGFuZGVkLCBvbkV4cGFuZCwgcmVjb3JkIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2V4cGFuZGVkID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxEb3duT3V0bGluZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBvbkV4cGFuZChyZWNvcmQsIGUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZE5vZGVzICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxSaWdodE91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBvbkV4cGFuZChyZWNvcmQsIGUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImV4cGFuZC1pY29uXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAuLi5leHBhbmRhYmxlLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIGNvbHVtbk9yZGVyPXt0cnVlfVxyXG4gICAgICAgICAgICAgICAgYm9yZGVyZWQ9e3RydWV9XHJcbiAgICAgICAgICAgICAgICAvLyBzaXplPXt0aGlzLnN0YXRlLnRhYmxlU2l6ZX1cclxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsocGFnaW5hdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGN1cnJlbnRQYWdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFBhZ2UgIT09IHBhZ2luYXRpb24uY3VycmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2luYXRpb24uY3VycmVudCxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIHRvb2xiYXI9e3tcclxuICAgICAgICAgICAgICAgICAgb25Ub29sQ2xpY2s6IHtcclxuICAgICAgICAgICAgICAgICAgICBvblJlZnJlc2g6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0U2VhcmNoVmFsdWVzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlTG9hZChwYXJhbXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIC4uLnRhYmxlUHJvcHMudG9vbGJhcixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICB7Li4udGFibGVQYXJhbXN9XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIHtlZGl0b3JGb3JtICYmIChcclxuICAgICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgICByZWY9e3RoaXMuZWRpdG9yUmVmfVxyXG4gICAgICAgICAgICAgIGNhbGxCYWNrPXt0aGlzLnRhYmxlUmVsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgICBzdWJtaXRVcmw9e3N1Ym1pdFVybH1cclxuICAgICAgICAgICAgICBzdWJtaXRQYXJhbXM9e3N1Ym1pdFBhcmFtc31cclxuICAgICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cclxuICAgICAgICAgICAgICBvbkhpZGVGb3JtPXt0aGlzLnByb3BzLm9uSGlkZUZvcm19XHJcbiAgICAgICAgICAgICAgb25Gb3JtQ2hhbmdlPXt0aGlzLnByb3BzLm9uRm9ybUNoYW5nZX1cclxuICAgICAgICAgICAgICBmb3JtVHlwZT17dGhpcy5wcm9wcy5mb3JtVHlwZSB8fCBcImF1dG9cIn1cclxuICAgICAgICAgICAgICBjaGFuZ2VWYWxpZD17Zm9ybUNoYW5nZVZhbGlkfVxyXG4gICAgICAgICAgICAgIG90aGVyUHJvcHM9e3sgLi4uZm9ybVByb3BzIH19XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IEJhc2VQYWdlO1xyXG4iXX0=
@@ -49,7 +49,7 @@
49
49
  // }
50
50
  .ant-form-inline .ant-form-item {
51
51
  margin-right: 0px;
52
- margin-bottom: 18px;
52
+ margin-bottom: 16px;
53
53
  // width: 200px;
54
54
  }
55
55
  .ant-select {
@@ -59,6 +59,7 @@
59
59
  }
60
60
  .search-buttons {
61
61
  display: flex;
62
+ margin-bottom: 16px;
62
63
  // margin-top: 20px;
63
64
  .margin {
64
65
  margin-left: 20px;
@@ -73,6 +74,7 @@
73
74
  // margin-top: 20px;
74
75
  flex-wrap: wrap;
75
76
  width: calc(100% - 200px);
77
+ margin-bottom: 16px;
76
78
  button {
77
79
  margin-right: 12px;
78
80
  min-width: 80px;
@@ -88,18 +90,18 @@
88
90
 
89
91
  .table {
90
92
  margin-top: -30px;
91
- :global {
92
- .ant-table-wrapper {
93
- margin-top: 10px;
94
- }
95
- }
93
+ // :global {
94
+ // .ant-table-wrapper {
95
+ // margin-top: 10px;
96
+ // }
97
+ // }
96
98
  }
97
99
  .table-page {
98
- :global {
99
- .ant-table-wrapper {
100
- margin-top: 10px;
101
- }
102
- }
100
+ // :global {
101
+ // .ant-table-wrapper {
102
+ // margin-top: 10px;
103
+ // }
104
+ // }
103
105
  }
104
106
  .table-page-notool {
105
107
  :global {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.7.4",
3
+ "version": "2.7.6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {