nsc-react-component 4.5.5 → 4.5.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.
@@ -274,7 +274,9 @@ class NscImportData extends React.PureComponent {
274
274
  this.setState({
275
275
  file: null,
276
276
  status: 1,
277
- currentStep: 1
277
+ currentStep: 1,
278
+ errorList: [],
279
+ warnList: []
278
280
  });
279
281
  }
280
282
  }, requestStatus == "success" ? "继续上传" : "重新上传"), requestStatus == "warning" && status == 2 && this.props.checkData && /*#__PURE__*/React.createElement(NSCButton, {
@@ -375,4 +377,4 @@ class NscImportData extends React.PureComponent {
375
377
  }
376
378
  }
377
379
  export default NscImportData;
378
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJEZWxldGVPdXRsaW5lZCIsIk5zY0ltcG9ydERhdGEiLCJQdXJlQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJhcmd1bWVudHMiLCJfZGVmaW5lUHJvcGVydHkiLCJzdGF0dXMiLCJmaWxlIiwiY3VycmVudFN0ZXAiLCJyZXF1ZXN0U3RhdHVzIiwiZXJyb3JMaXN0Iiwid2Fybkxpc3QiLCJidXR0b25Mb2FkaW5nIiwiY3JlYXRlUmVmIiwiZmlsZVNpemVLYiIsIm51bWJlciIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRvRml4ZWQiLCJzaG93IiwiX3RoaXMkbW9kYWxSZWYkY3VycmVuIiwibW9kYWxSZWYiLCJjdXJyZW50IiwiaGlkZSIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbjIiLCJyZXNldERhdGEiLCJpbXBvcnREYXRhIiwiaXNPdmVyd3JpdGUiLCJyZXF1ZXN0Q29uZmlnIiwiaW1wb3J0VXJsIiwib25DYWxsQmFja3MiLCJwcm9wcyIsImRhdGEiLCJjb25maWciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJzZXRTdGF0ZSIsImltcG9ydEZpbGUiLCJ1cmwiLCJfb2JqZWN0U3ByZWFkIiwidGhlbiIsInJlcyIsImNvZGUiLCJzaG93UmVzdWx0IiwibXNnTGlzdCIsIl9yZXMkZGF0YSIsIl9yZXMkZGF0YTIiLCJ3YXJuaW5ncyIsImVycm9ycyIsIl9tZXNzYWdlIiwic3VjY2VzcyIsIm5hbWUiLCJpbXBvcnRDYWxsQmFjayIsIm1zZyIsImVycm9yIiwicmVuZGVyRXJyb3JDb250ZW50IiwibGlzdCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInN0YXRlIiwiY3JlYXRlRWxlbWVudCIsImtleSIsInJvd051bSIsImVycm9yTXNnIiwicmVuZGVyUmVzdWx0IiwiYWxlcnRfbXNnX21hcCIsIndhcm5pbmciLCJfYWxlcnRfbXNnX21hcCRyZXF1ZXMiLCJzdHlsZSIsIm1hcmdpblRvcCIsIm1lc3NhZ2UiLCJ0eXBlIiwic2hvd0ljb24iLCJleHBhbmRJY29uUG9zaXRpb24iLCJjbGFzc05hbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJkZWZhdWx0QWN0aXZlS2V5IiwiUGFuZWwiLCJoZWFkZXIiLCJjb2xvciIsImV4dHJhIiwiYmFja2dyb3VuZCIsInJlbmRlciIsImRvd25Mb2FkVGVtcGxldCIsImRvd25UZW1wbGV0VXJsIiwiY2hlY2tEYXRhIiwiY2hlY2tVcmwiLCJidXR0b25UZXh0IiwiZm9vdGVyIiwib25DbGljayIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJGcmFnbWVudCIsInNob3dCdXR0b24iLCJ0aXRsZSIsIndpZHRoIiwid3JhcENsYXNzTmFtZSIsInJlZiIsIm9uQ2FuY2VsIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0Iiwic2l6ZSIsIml0ZW1zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9pbXBvcnREYXRhL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgTnNjVXBsb2FkIGZyb20gXCIuLi91cGxvYWRcIjtcclxuaW1wb3J0IE5TQ0J1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCBOc2NEb3duTG9hZCBmcm9tIFwiLi4vZG93bmxvYWRcIjtcclxuaW1wb3J0IE5zY01vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIFVwbG9hZE91dGxpbmVkLFxyXG4gIEZvbGRlck91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFN0ZXBzIGZyb20gXCIuLi9zdGVwc1wiO1xyXG5pbXBvcnQgbnNjRmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBBbGVydCBmcm9tIFwiLi4vYWxlcnRcIjtcclxuaW1wb3J0IENvbGxhcHNlIGZyb20gXCIuLi9jb2xsYXBzZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ljb25cIjtcclxuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQgfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuXHJcbmludGVyZmFjZSBJbXBvcnRQcm9wb3Mge1xyXG4gIGNoZWNrRGF0YT86IGJvb2xlYW47IC8v5piv5ZCm6L+b6KGM5pWw5o2u5qCh6aqM77yM6buY6K6kZmFsc2VcclxuICBjaGVja1VybD86IHN0cmluZzsgLy/mlbDmja7moKHpqozmjqXlj6PlnLDlnYBcclxuICBpbXBvcnRVcmw6IHN0cmluZzsgLy/mlbDmja7lr7zlhaXlnLDlnYBcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIGRvd25Mb2FkVGVtcGxldD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65LiL6L295qih5p2/5oyJ6ZKuXHJcbiAgZG93blRlbXBsZXRVcmw/OiBzdHJpbmc7IC8v5LiL6L295qih5p2/5Zyw5Z2AXHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICBzaG93UmVzdWx0PzogYW55OyAvL+aVsOaNruagoemqjOWbnuiwg1xyXG4gICAgaW1wb3J0Q2FsbEJhY2s/OiBhbnk7IC8v5pWw5o2u5a+85YWl5Zue6LCDXHJcbiAgICBjbG9zZUNhbGxCYWNrPzogYW55O1xyXG4gICAgLy8gYmVmb3JlUmVxdWVzdD86IGFueTsgLy8g57uT5p6c5pi+56S65YmN5Zue6LCD77yM6Ieq5a6a5LmJ57uT5p6c5pi+56S657G75Z6L77yMcmV0dXJuIHtzdGF0dXMsbXNnTGlzdH1cclxuICB9O1xyXG4gIHNob3dCdXR0b24/OiBib29sZWFuO1xyXG4gIGJ1dHRvblRleHQ/OiBzdHJpbmc7XHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmNsYXNzIE5zY0ltcG9ydERhdGEgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PEltcG9ydFByb3BvcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBzdGF0dXM6IDEsXHJcbiAgICBmaWxlOiBudWxsLFxyXG4gICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgZXJyb3JMaXN0OiBbXSxcclxuICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gIH07XHJcbiAgbW9kYWxSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGZpbGVTaXplS2IobnVtYmVyID0gMCkge1xyXG4gICAgcmV0dXJuIChudW1iZXIgLyAxMDI0KS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuICBzaG93KCkge1xyXG4gICAgdGhpcy5tb2RhbFJlZi5jdXJyZW50Py5zaG93KCk7XHJcbiAgfVxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoZmlsZSwgaXNPdmVyd3JpdGUpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdENvbmZpZyA9IHt9LCBpbXBvcnRVcmwsIG9uQ2FsbEJhY2tzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBkYXRhID0ge30sIC4uLmNvbmZpZyB9ID0gcmVxdWVzdENvbmZpZztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBidXR0b25Mb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICAvLyBsZXQgZm9ybURhdGEgPSB7Li4uZGF0YX1cclxuXHJcbiAgICBuc2NGaWxlXHJcbiAgICAgIC5pbXBvcnRGaWxlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogaW1wb3J0VXJsLFxyXG4gICAgICAgICAgZGF0YTogeyAuLi5kYXRhLCBpc092ZXJ3cml0ZTogaXNPdmVyd3JpdGUgfSxcclxuICAgICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKVxyXG4gICAgICAudGhlbihhc3luYyAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIC8vIG1lc3NhZ2Uuc3VjY2VzcyhcIuWvvOWFpeaIkOWKn++8gVwiKTtcclxuICAgICAgICAgIGlmIChvbkNhbGxCYWNrcz8uc2hvd1Jlc3VsdCkge1xyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IG9uQ2FsbEJhY2tzPy5zaG93UmVzdWx0KHJlcywgXCJpbXBvcnRcIik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IGRhdGEuc3RhdHVzLFxyXG4gICAgICAgICAgICAgIFtkYXRhLnN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwid2Fybkxpc3RcIiA6IFwiZXJyb3JMaXN0XCJdOlxyXG4gICAgICAgICAgICAgICAgZGF0YS5tc2dMaXN0LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YT8ud2FybmluZ3M/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgICAgd2Fybkxpc3Q6IHJlcy5kYXRhLndhcm5pbmdzLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5kYXRhPy5lcnJvcnM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAvLyBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICBlcnJvckxpc3Q6IHJlcy5kYXRhLmVycm9ycyxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoKGZpbGU/Lm5hbWUgfHwgXCJcIikgKyBcIuWvvOWFpeaIkOWKn++8gVwiKTtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrICYmIG9uQ2FsbEJhY2tzPy5pbXBvcnRDYWxsQmFjayhyZXMpO1xyXG4gICAgICAgICAgLy8gdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICFyZXMubXNnICYmIG1lc3NhZ2UuZXJyb3IoXCLlr7zlhaXlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyRXJyb3JDb250ZW50KGxpc3QpIHtcclxuICAgIHJldHVybiBsaXN0Lm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUucmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIikge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiID8gKFxyXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAge1wi56ysXCIgK1xyXG4gICAgICAgICAgICAgIGl0ZW0ucm93TnVtICtcclxuICAgICAgICAgICAgICBcIuihjOaVsOaNrumHjeWkje+8m1wiICtcclxuICAgICAgICAgICAgICAoaXRlbS5lcnJvck1zZyA/IGl0ZW0uZXJyb3JNc2cgOiBcIlwiKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIgPyAoXHJcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PntpdGVtLmVycm9yTXNnfTwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJSZXN1bHQoKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RTdGF0dXMsIGVycm9yTGlzdCwgd2Fybkxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBhbGVydF9tc2dfbWFwID0ge1xyXG4gICAgICBzdWNjZXNzOiBcIuWvvOWFpeaIkOWKn1wiLFxyXG4gICAgICBlcnJvcjogXCLlr7zlhaXlpLHotKVcIixcclxuICAgICAgd2FybmluZzogXCLlkYrorabmj5DnpLpcIixcclxuICAgIH07XHJcbiAgICBpZiAocmVxdWVzdFN0YXR1cykge1xyXG4gICAgICBpZiAocmVxdWVzdFN0YXR1cyA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8QWxlcnRcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luVG9wOiBcIjhweFwiIH19XHJcbiAgICAgICAgICAgIG1lc3NhZ2U9e2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c10gPz8gXCLmj5DnpLpcIn1cclxuICAgICAgICAgICAgdHlwZT17XCJzdWNjZXNzXCJ9XHJcbiAgICAgICAgICAgIHNob3dJY29uXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxDb2xsYXBzZVxyXG4gICAgICAgICAgICBleHBhbmRJY29uUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17XHJcbiAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiY29udGVudC13YXJuaW5nXCIgOiBcImNvbnRlbnQtZXJyb3JcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOlxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZDRTFBQlwiIDogXCIjZmZmMmYwXCIsXHJcbiAgICAgICAgICAgICAgYm9yZGVyOlxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgICA/IFwiMXB4IHNvbGlkICNGQ0UxQUJcIlxyXG4gICAgICAgICAgICAgICAgICA6IFwiMXB4IHNvbGlkICNGRkNDQzdcIixcclxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiMnB4XCIsXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRlZmF1bHRBY3RpdmVLZXk9e1tcIjFcIl19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxDb2xsYXBzZS5QYW5lbFxyXG4gICAgICAgICAgICAgIGtleT1cIjFcIlxyXG4gICAgICAgICAgICAgIGhlYWRlcj17XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPENsb3NlQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIHthbGVydF9tc2dfbWFwW3JlcXVlc3RTdGF0dXNdfVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZXh0cmE9e1xyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCLmn6XnnItcIiA6IFwi5p+l55yL6ZSZ6K+vXCJ9XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkZGREY2XCIgOiBcIiNmZmY5ZjlcIixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb250ZW50LWVycm9yX19tc2dcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckVycm9yQ29udGVudChcclxuICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IHdhcm5MaXN0IDogZXJyb3JMaXN0XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L0NvbGxhcHNlLlBhbmVsPlxyXG4gICAgICAgICAgPC9Db2xsYXBzZT5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzdGF0dXM6IDEsXHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgICBlcnJvckxpc3Q6IFtdLFxyXG4gICAgICB3YXJuTGlzdDogW10sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmaWxlLCBzdGF0dXMsIGN1cnJlbnRTdGVwLCByZXF1ZXN0U3RhdHVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkb3duTG9hZFRlbXBsZXQsXHJcbiAgICAgIGRvd25UZW1wbGV0VXJsLFxyXG4gICAgICBjaGVja0RhdGEsXHJcbiAgICAgIGNoZWNrVXJsLFxyXG4gICAgICByZXF1ZXN0Q29uZmlnLFxyXG4gICAgICBidXR0b25UZXh0LFxyXG4gICAgICBvbkNhbGxCYWNrcyxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvb3RlclwiPlxyXG4gICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOWPlua2iFxyXG4gICAgICAgIDwvTlNDQnV0dG9uPlxyXG5cclxuICAgICAgICB7c3RhdHVzID09IDEgJiYgdGhpcy5zdGF0ZS5maWxlICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAyLFxyXG4gICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKGNoZWNrRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgbnNjRmlsZVxyXG4gICAgICAgICAgICAgICAgICAuaW1wb3J0RmlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBjaGVja1VybCxcclxuICAgICAgICAgICAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHJlcXVlc3RDb25maWc/LmRhdGEgfHwge30sXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIC50aGVuKGFzeW5jIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvbkNhbGxCYWNrcz8uc2hvd1Jlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSBhd2FpdCBvbkNhbGxCYWNrcz8uc2hvd1Jlc3VsdChyZXMsIFwicHJlQ2hlY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogZGF0YS5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLnN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwid2Fybkxpc3RcIiA6IFwiZXJyb3JMaXN0XCJdOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEubXNnTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5lcnJvckNvdW50ID09IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKGZpbGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmVycm9yQ291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckxpc3Q6IHJlcy5kYXRhLmVycm9yTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJ3YXJuaW5nXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtzdGF0dXMgPT0gMiAmJiB0aGlzLnByb3BzLmNoZWNrRGF0YSAhPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMSxcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7cmVxdWVzdFN0YXR1cyA9PSBcInN1Y2Nlc3NcIiA/IFwi57un57ut5LiK5LygXCIgOiBcIumHjeaWsOS4iuS8oFwifVxyXG4gICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgKX1cclxuICAgICAgICB7cmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiAmJiBzdGF0dXMgPT0gMiAmJiB0aGlzLnByb3BzLmNoZWNrRGF0YSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW1wb3J0RGF0YSh0aGlzLnN0YXRlLmZpbGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuYnV0dG9uTG9hZGluZ31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5LiN6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIHRoaXMucHJvcHMuY2hlY2tEYXRhICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOimhuebluaVsOaNrlxyXG4gICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW4gPyAoXHJcbiAgICAgICAgICB0aGlzLnByb3BzLmNoaWxkcmVuXHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgIHt0aGlzLnByb3BzLnNob3dCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtidXR0b25UZXh0IHx8IFwi5pWw5o2u5a+85YWlXCJ9XHJcbiAgICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8Lz5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8TnNjTW9kYWxcclxuICAgICAgICAgIHRpdGxlPXtidXR0b25UZXh0IHx8IFwi5pWw5o2u5a+85YWlXCJ9XHJcbiAgICAgICAgICB3aWR0aD17ODAwfVxyXG4gICAgICAgICAgd3JhcENsYXNzTmFtZT17XCJpbXBvcnQtbW9kYWxcIn1cclxuICAgICAgICAgIHJlZj17dGhpcy5tb2RhbFJlZn1cclxuICAgICAgICAgIGZvb3Rlcj17Zm9vdGVyfVxyXG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICB7c3RhdHVzID09IDEgPyAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAgICAgICAgICAgIDxOc2NVcGxvYWRcclxuICAgICAgICAgICAgICAgICAgICBiZWZvcmVVcGxvYWQ9eyhmaWxlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGaWxlU3VmZml4PXtbXCJ4bHNcIiwgXCJ4bHN4XCJdfVxyXG4gICAgICAgICAgICAgICAgICAgIGFjY2VwdD17XCIueGxzLC54bHN4XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3Q9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmlsZSA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICAgICAgICAgICAgICAgIGljb249ezxGb2xkZXJPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICDpgInmi6nmlofku7ZcclxuICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9Oc2NVcGxvYWQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICB7ZG93bkxvYWRUZW1wbGV0ICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8TnNjRG93bkxvYWQgdXJsPXtkb3duVGVtcGxldFVybH0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIOaooeadv+S4i+i9vVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Oc2NEb3duTG9hZD5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLXRpcC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLXRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDHjgIHmlK/mjIFFeGNlbCAyMDA35Y+K5Lul5LiK54mI5pys77yM5LiU5q+P5qyh5Y+q6IO95LiK5Lyg5LiA5Liq5paH5Lu277ybXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj4y44CB5a+85YWl5YmN5YWI5LiL6L295qih5p2/77yM5bm25qC55o2u5qih5p2/5aGr5YaZ5pWw5o2u77ybPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAge2ZpbGUgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC1maWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiB0eXBlPVwiZXhjZWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtdGl0bGVcIj57ZmlsZS5uYW1lfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWRlc2NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAg5paH5Lu25aSn5bCP77yae3RoaXMuZmlsZVNpemVLYihmaWxlLnNpemUpICsgXCJLQlwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaWxlLWRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8U3RlcHNcclxuICAgICAgICAgICAgICAgICAgY3VycmVudD17Y3VycmVudFN0ZXB9XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW1zPXtbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pWw5o2u5YiG5p6QXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7mj5LlhaVcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICBdfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtcInJlc3VsdC1jb250ZW50XCJ9Pnt0aGlzLnJlbmRlclJlc3VsdCgpfTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9Oc2NNb2RhbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBOc2NJbXBvcnREYXRhO1xyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU8sY0FBYztBQUNyQixPQUFPQyxTQUFTLE1BQU0sV0FBVztBQUNqQyxPQUFPQyxTQUFTLE1BQU0sV0FBVztBQUNqQyxPQUFPQyxXQUFXLE1BQU0sYUFBYTtBQUNyQyxPQUFPQyxRQUFRLE1B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
380
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJEZWxldGVPdXRsaW5lZCIsIk5zY0ltcG9ydERhdGEiLCJQdXJlQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJhcmd1bWVudHMiLCJfZGVmaW5lUHJvcGVydHkiLCJzdGF0dXMiLCJmaWxlIiwiY3VycmVudFN0ZXAiLCJyZXF1ZXN0U3RhdHVzIiwiZXJyb3JMaXN0Iiwid2Fybkxpc3QiLCJidXR0b25Mb2FkaW5nIiwiY3JlYXRlUmVmIiwiZmlsZVNpemVLYiIsIm51bWJlciIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRvRml4ZWQiLCJzaG93IiwiX3RoaXMkbW9kYWxSZWYkY3VycmVuIiwibW9kYWxSZWYiLCJjdXJyZW50IiwiaGlkZSIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbjIiLCJyZXNldERhdGEiLCJpbXBvcnREYXRhIiwiaXNPdmVyd3JpdGUiLCJyZXF1ZXN0Q29uZmlnIiwiaW1wb3J0VXJsIiwib25DYWxsQmFja3MiLCJwcm9wcyIsImRhdGEiLCJjb25maWciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJzZXRTdGF0ZSIsImltcG9ydEZpbGUiLCJ1cmwiLCJfb2JqZWN0U3ByZWFkIiwidGhlbiIsInJlcyIsImNvZGUiLCJzaG93UmVzdWx0IiwibXNnTGlzdCIsIl9yZXMkZGF0YSIsIl9yZXMkZGF0YTIiLCJ3YXJuaW5ncyIsImVycm9ycyIsIl9tZXNzYWdlIiwic3VjY2VzcyIsIm5hbWUiLCJpbXBvcnRDYWxsQmFjayIsIm1zZyIsImVycm9yIiwicmVuZGVyRXJyb3JDb250ZW50IiwibGlzdCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInN0YXRlIiwiY3JlYXRlRWxlbWVudCIsImtleSIsInJvd051bSIsImVycm9yTXNnIiwicmVuZGVyUmVzdWx0IiwiYWxlcnRfbXNnX21hcCIsIndhcm5pbmciLCJfYWxlcnRfbXNnX21hcCRyZXF1ZXMiLCJzdHlsZSIsIm1hcmdpblRvcCIsIm1lc3NhZ2UiLCJ0eXBlIiwic2hvd0ljb24iLCJleHBhbmRJY29uUG9zaXRpb24iLCJjbGFzc05hbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJkZWZhdWx0QWN0aXZlS2V5IiwiUGFuZWwiLCJoZWFkZXIiLCJjb2xvciIsImV4dHJhIiwiYmFja2dyb3VuZCIsInJlbmRlciIsImRvd25Mb2FkVGVtcGxldCIsImRvd25UZW1wbGV0VXJsIiwiY2hlY2tEYXRhIiwiY2hlY2tVcmwiLCJidXR0b25UZXh0IiwiZm9vdGVyIiwib25DbGljayIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJGcmFnbWVudCIsInNob3dCdXR0b24iLCJ0aXRsZSIsIndpZHRoIiwid3JhcENsYXNzTmFtZSIsInJlZiIsIm9uQ2FuY2VsIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0Iiwic2l6ZSIsIml0ZW1zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9pbXBvcnREYXRhL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgTnNjVXBsb2FkIGZyb20gXCIuLi91cGxvYWRcIjtcclxuaW1wb3J0IE5TQ0J1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCBOc2NEb3duTG9hZCBmcm9tIFwiLi4vZG93bmxvYWRcIjtcclxuaW1wb3J0IE5zY01vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgRmlsZUljb24gZnJvbSBcIi4uL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5pbXBvcnQge1xyXG4gIFVwbG9hZE91dGxpbmVkLFxyXG4gIEZvbGRlck91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFN0ZXBzIGZyb20gXCIuLi9zdGVwc1wiO1xyXG5pbXBvcnQgbnNjRmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBBbGVydCBmcm9tIFwiLi4vYWxlcnRcIjtcclxuaW1wb3J0IENvbGxhcHNlIGZyb20gXCIuLi9jb2xsYXBzZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ljb25cIjtcclxuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQgfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuXHJcbmludGVyZmFjZSBJbXBvcnRQcm9wb3Mge1xyXG4gIGNoZWNrRGF0YT86IGJvb2xlYW47IC8v5piv5ZCm6L+b6KGM5pWw5o2u5qCh6aqM77yM6buY6K6kZmFsc2VcclxuICBjaGVja1VybD86IHN0cmluZzsgLy/mlbDmja7moKHpqozmjqXlj6PlnLDlnYBcclxuICBpbXBvcnRVcmw6IHN0cmluZzsgLy/mlbDmja7lr7zlhaXlnLDlnYBcclxuICByZXF1ZXN0Q29uZmlnPzogYW55O1xyXG4gIGRvd25Mb2FkVGVtcGxldD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65LiL6L295qih5p2/5oyJ6ZKuXHJcbiAgZG93blRlbXBsZXRVcmw/OiBzdHJpbmc7IC8v5LiL6L295qih5p2/5Zyw5Z2AXHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICBzaG93UmVzdWx0PzogYW55OyAvL+aVsOaNruagoemqjOWbnuiwg1xyXG4gICAgaW1wb3J0Q2FsbEJhY2s/OiBhbnk7IC8v5pWw5o2u5a+85YWl5Zue6LCDXHJcbiAgICBjbG9zZUNhbGxCYWNrPzogYW55O1xyXG4gICAgLy8gYmVmb3JlUmVxdWVzdD86IGFueTsgLy8g57uT5p6c5pi+56S65YmN5Zue6LCD77yM6Ieq5a6a5LmJ57uT5p6c5pi+56S657G75Z6L77yMcmV0dXJuIHtzdGF0dXMsbXNnTGlzdH1cclxuICB9O1xyXG4gIHNob3dCdXR0b24/OiBib29sZWFuO1xyXG4gIGJ1dHRvblRleHQ/OiBzdHJpbmc7XHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmNsYXNzIE5zY0ltcG9ydERhdGEgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PEltcG9ydFByb3BvcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBzdGF0dXM6IDEsXHJcbiAgICBmaWxlOiBudWxsLFxyXG4gICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgZXJyb3JMaXN0OiBbXSxcclxuICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gIH07XHJcbiAgbW9kYWxSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGZpbGVTaXplS2IobnVtYmVyID0gMCkge1xyXG4gICAgcmV0dXJuIChudW1iZXIgLyAxMDI0KS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuICBzaG93KCkge1xyXG4gICAgdGhpcy5tb2RhbFJlZi5jdXJyZW50Py5zaG93KCk7XHJcbiAgfVxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoZmlsZSwgaXNPdmVyd3JpdGUpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdENvbmZpZyA9IHt9LCBpbXBvcnRVcmwsIG9uQ2FsbEJhY2tzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBkYXRhID0ge30sIC4uLmNvbmZpZyB9ID0gcmVxdWVzdENvbmZpZztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBidXR0b25Mb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICAvLyBsZXQgZm9ybURhdGEgPSB7Li4uZGF0YX1cclxuXHJcbiAgICBuc2NGaWxlXHJcbiAgICAgIC5pbXBvcnRGaWxlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogaW1wb3J0VXJsLFxyXG4gICAgICAgICAgZGF0YTogeyAuLi5kYXRhLCBpc092ZXJ3cml0ZTogaXNPdmVyd3JpdGUgfSxcclxuICAgICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb25maWdcclxuICAgICAgKVxyXG4gICAgICAudGhlbihhc3luYyAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIC8vIG1lc3NhZ2Uuc3VjY2VzcyhcIuWvvOWFpeaIkOWKn++8gVwiKTtcclxuICAgICAgICAgIGlmIChvbkNhbGxCYWNrcz8uc2hvd1Jlc3VsdCkge1xyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IG9uQ2FsbEJhY2tzPy5zaG93UmVzdWx0KHJlcywgXCJpbXBvcnRcIik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IGRhdGEuc3RhdHVzLFxyXG4gICAgICAgICAgICAgIFtkYXRhLnN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwid2Fybkxpc3RcIiA6IFwiZXJyb3JMaXN0XCJdOlxyXG4gICAgICAgICAgICAgICAgZGF0YS5tc2dMaXN0LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuZGF0YT8ud2FybmluZ3M/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgICAgd2Fybkxpc3Q6IHJlcy5kYXRhLndhcm5pbmdzLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5kYXRhPy5lcnJvcnM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAvLyBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICBlcnJvckxpc3Q6IHJlcy5kYXRhLmVycm9ycyxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoKGZpbGU/Lm5hbWUgfHwgXCJcIikgKyBcIuWvvOWFpeaIkOWKn++8gVwiKTtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrICYmIG9uQ2FsbEJhY2tzPy5pbXBvcnRDYWxsQmFjayhyZXMpO1xyXG4gICAgICAgICAgLy8gdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICFyZXMubXNnICYmIG1lc3NhZ2UuZXJyb3IoXCLlr7zlhaXlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyRXJyb3JDb250ZW50KGxpc3QpIHtcclxuICAgIHJldHVybiBsaXN0Lm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUucmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIikge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiID8gKFxyXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAge1wi56ysXCIgK1xyXG4gICAgICAgICAgICAgIGl0ZW0ucm93TnVtICtcclxuICAgICAgICAgICAgICBcIuihjOaVsOaNrumHjeWkje+8m1wiICtcclxuICAgICAgICAgICAgICAoaXRlbS5lcnJvck1zZyA/IGl0ZW0uZXJyb3JNc2cgOiBcIlwiKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIgPyAoXHJcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PntpdGVtLmVycm9yTXNnfTwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJSZXN1bHQoKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RTdGF0dXMsIGVycm9yTGlzdCwgd2Fybkxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBhbGVydF9tc2dfbWFwID0ge1xyXG4gICAgICBzdWNjZXNzOiBcIuWvvOWFpeaIkOWKn1wiLFxyXG4gICAgICBlcnJvcjogXCLlr7zlhaXlpLHotKVcIixcclxuICAgICAgd2FybmluZzogXCLlkYrorabmj5DnpLpcIixcclxuICAgIH07XHJcbiAgICBpZiAocmVxdWVzdFN0YXR1cykge1xyXG4gICAgICBpZiAocmVxdWVzdFN0YXR1cyA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8QWxlcnRcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luVG9wOiBcIjhweFwiIH19XHJcbiAgICAgICAgICAgIG1lc3NhZ2U9e2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c10gPz8gXCLmj5DnpLpcIn1cclxuICAgICAgICAgICAgdHlwZT17XCJzdWNjZXNzXCJ9XHJcbiAgICAgICAgICAgIHNob3dJY29uXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxDb2xsYXBzZVxyXG4gICAgICAgICAgICBleHBhbmRJY29uUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17XHJcbiAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiY29udGVudC13YXJuaW5nXCIgOiBcImNvbnRlbnQtZXJyb3JcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOlxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZDRTFBQlwiIDogXCIjZmZmMmYwXCIsXHJcbiAgICAgICAgICAgICAgYm9yZGVyOlxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgICA/IFwiMXB4IHNvbGlkICNGQ0UxQUJcIlxyXG4gICAgICAgICAgICAgICAgICA6IFwiMXB4IHNvbGlkICNGRkNDQzdcIixcclxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiMnB4XCIsXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRlZmF1bHRBY3RpdmVLZXk9e1tcIjFcIl19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxDb2xsYXBzZS5QYW5lbFxyXG4gICAgICAgICAgICAgIGtleT1cIjFcIlxyXG4gICAgICAgICAgICAgIGhlYWRlcj17XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPENsb3NlQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIHthbGVydF9tc2dfbWFwW3JlcXVlc3RTdGF0dXNdfVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZXh0cmE9e1xyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCLmn6XnnItcIiA6IFwi5p+l55yL6ZSZ6K+vXCJ9XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkZGREY2XCIgOiBcIiNmZmY5ZjlcIixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb250ZW50LWVycm9yX19tc2dcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckVycm9yQ29udGVudChcclxuICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IHdhcm5MaXN0IDogZXJyb3JMaXN0XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L0NvbGxhcHNlLlBhbmVsPlxyXG4gICAgICAgICAgPC9Db2xsYXBzZT5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzdGF0dXM6IDEsXHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgICBlcnJvckxpc3Q6IFtdLFxyXG4gICAgICB3YXJuTGlzdDogW10sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmaWxlLCBzdGF0dXMsIGN1cnJlbnRTdGVwLCByZXF1ZXN0U3RhdHVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkb3duTG9hZFRlbXBsZXQsXHJcbiAgICAgIGRvd25UZW1wbGV0VXJsLFxyXG4gICAgICBjaGVja0RhdGEsXHJcbiAgICAgIGNoZWNrVXJsLFxyXG4gICAgICByZXF1ZXN0Q29uZmlnLFxyXG4gICAgICBidXR0b25UZXh0LFxyXG4gICAgICBvbkNhbGxCYWNrcyxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvb3RlclwiPlxyXG4gICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOWPlua2iFxyXG4gICAgICAgIDwvTlNDQnV0dG9uPlxyXG5cclxuICAgICAgICB7c3RhdHVzID09IDEgJiYgdGhpcy5zdGF0ZS5maWxlICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAyLFxyXG4gICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKGNoZWNrRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgbnNjRmlsZVxyXG4gICAgICAgICAgICAgICAgICAuaW1wb3J0RmlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBjaGVja1VybCxcclxuICAgICAgICAgICAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHJlcXVlc3RDb25maWc/LmRhdGEgfHwge30sXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIC50aGVuKGFzeW5jIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvbkNhbGxCYWNrcz8uc2hvd1Jlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGEgPSBhd2FpdCBvbkNhbGxCYWNrcz8uc2hvd1Jlc3VsdChyZXMsIFwicHJlQ2hlY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogZGF0YS5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhLnN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwid2Fybkxpc3RcIiA6IFwiZXJyb3JMaXN0XCJdOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEubXNnTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5lcnJvckNvdW50ID09IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKGZpbGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmVycm9yQ291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckxpc3Q6IHJlcy5kYXRhLmVycm9yTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJ3YXJuaW5nXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtzdGF0dXMgPT0gMiAmJiB0aGlzLnByb3BzLmNoZWNrRGF0YSAhPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMSxcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgICAgZXJyb3JMaXN0OiBbXSxcclxuICAgICAgICAgICAgICAgIHdhcm5MaXN0OiBbXSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJzdWNjZXNzXCIgPyBcIue7p+e7reS4iuS8oFwiIDogXCLph43mlrDkuIrkvKBcIn1cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgdGhpcy5wcm9wcy5jaGVja0RhdGEgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOS4jeimhuebluaVsOaNrlxyXG4gICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgKX1cclxuICAgICAgICB7cmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiAmJiBzdGF0dXMgPT0gMiAmJiB0aGlzLnByb3BzLmNoZWNrRGF0YSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW1wb3J0RGF0YSh0aGlzLnN0YXRlLmZpbGUsIHRydWUpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDopobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVuID8gKFxyXG4gICAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlblxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8PlxyXG4gICAgICAgICAgICB7dGhpcy5wcm9wcy5zaG93QnV0dG9uICYmIChcclxuICAgICAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7YnV0dG9uVGV4dCB8fCBcIuaVsOaNruWvvOWFpVwifVxyXG4gICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC8+XHJcbiAgICAgICAgKX1cclxuXHJcbiAgICAgICAgPE5zY01vZGFsXHJcbiAgICAgICAgICB0aXRsZT17YnV0dG9uVGV4dCB8fCBcIuaVsOaNruWvvOWFpVwifVxyXG4gICAgICAgICAgd2lkdGg9ezgwMH1cclxuICAgICAgICAgIHdyYXBDbGFzc05hbWU9e1wiaW1wb3J0LW1vZGFsXCJ9XHJcbiAgICAgICAgICByZWY9e3RoaXMubW9kYWxSZWZ9XHJcbiAgICAgICAgICBmb290ZXI9e2Zvb3Rlcn1cclxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cclxuICAgICAgICAgICAge3N0YXR1cyA9PSAxID8gKFxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxyXG4gICAgICAgICAgICAgICAgICA8TnNjVXBsb2FkXHJcbiAgICAgICAgICAgICAgICAgICAgYmVmb3JlVXBsb2FkPXsoZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGFsbG93RmlsZVN1ZmZpeD17W1wieGxzXCIsIFwieGxzeFwiXX1cclxuICAgICAgICAgICAgICAgICAgICBhY2NlcHQ9e1wiLnhscywueGxzeFwifVxyXG4gICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0PXtmYWxzZX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpY29uPXs8Rm9sZGVyT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAg6YCJ5oup5paH5Lu2XHJcbiAgICAgICAgICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvTnNjVXBsb2FkPlxyXG5cclxuICAgICAgICAgICAgICAgICAge2Rvd25Mb2FkVGVtcGxldCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPE5zY0Rvd25Mb2FkIHVybD17ZG93blRlbXBsZXRVcmx9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPE5TQ0J1dHRvbiB0eXBlPVwicHJpbWFyeVwiIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICDmqKHmnb/kuIvovb1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTnNjRG93bkxvYWQ+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLXRpcFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXAtbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxFeGNsYW1hdGlvbkNpcmNsZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXAtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAx44CB5pSv5oyBRXhjZWwgMjAwN+WPiuS7peS4iueJiOacrO+8jOS4lOavj+asoeWPquiDveS4iuS8oOS4gOS4quaWh+S7tu+8m1xyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+MuOAgeWvvOWFpeWJjeWFiOS4i+i9veaooeadv++8jOW5tuagueaNruaooeadv+Whq+WGmeaVsOaNru+8mzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIHtmaWxlICYmIChcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtZmlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8RmlsZUljb24gdHlwZT1cImV4Y2VsXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLXRpdGxlXCI+e2ZpbGUubmFtZX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS1kZXNjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIOaWh+S7tuWkp+Wwj++8mnt0aGlzLmZpbGVTaXplS2IoZmlsZS5zaXplKSArIFwiS0JcIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmlsZS1kZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPERlbGV0ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPFN0ZXBzXHJcbiAgICAgICAgICAgICAgICAgIGN1cnJlbnQ9e2N1cnJlbnRTdGVwfVxyXG4gICAgICAgICAgICAgICAgICBpdGVtcz17W1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruWIhuaekFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pWw5o2u5o+S5YWlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgXX1cclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17XCJyZXN1bHQtY29udGVudFwifT57dGhpcy5yZW5kZXJSZXN1bHQoKX08L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvTnNjTW9kYWw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjSW1wb3J0RGF0YTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPLGNBQWM7QUFDckIsT0FBT0MsU0FBUyxNQUFNLFdBQVc7QUFDakMs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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","NscUpload","NSCButton","NscDownLoad","NscModal","FileIcon","UploadOutlined","FolderOutlined","CloseCircleOutlined","ExclamationCircleOutlined","Steps","nscFile","Alert","Collapse","DeleteOutlined","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","buttonLoading","createRef","fileSizeKb","number","length","undefined","toFixed","show","_this$modalRef$curren","modalRef","current","hide","_this$modalRef$curren2","resetData","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","setState","importFile","url","_objectSpread","then","res","code","showResult","msgList","_res$data","_res$data2","warnings","errors","_message","success","name","importCallBack","msg","error","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","buttonText","footer","onClick","errorCount","duplicateCount","duplicateList","disabled","icon","marginLeft","children","Fragment","showButton","title","width","wrapClassName","ref","onCancel","display","beforeUpload","allowFileSuffix","accept","showUploadList","size","items"],"sources":["../../../src/components/base/importData/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport \"./index.less\";\r\nimport NscUpload from \"../upload\";\r\nimport NSCButton from \"../button\";\r\nimport NscDownLoad from \"../download\";\r\nimport NscModal from \"../modal\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n UploadOutlined,\r\n FolderOutlined,\r\n CloseCircleOutlined,\r\n ExclamationCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Steps from \"../steps\";\r\nimport nscFile from \"nsc-file\";\r\nimport { message } from \"antd\";\r\nimport Alert from \"../alert\";\r\nimport Collapse from \"../collapse\";\r\nimport Icon from \"../common/Icon\";\r\nimport { DeleteOutlined } from \"@ant-design/icons\";\r\n\r\ninterface ImportPropos {\r\n checkData?: boolean; //是否进行数据校验,默认false\r\n checkUrl?: string; //数据校验接口地址\r\n importUrl: string; //数据导入地址\r\n requestConfig?: any;\r\n downLoadTemplet?: boolean; //是否显示下载模板按钮\r\n downTempletUrl?: string; //下载模板地址\r\n onCallBacks?: {\r\n showResult?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n // beforeRequest?: any; // 结果显示前回调,自定义结果显示类型,return {status,msgList}\r\n };\r\n showButton?: boolean;\r\n buttonText?: string;\r\n [propsName: string]: any;\r\n}\r\nclass NscImportData extends React.PureComponent<ImportPropos, any> {\r\n state = {\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n buttonLoading: false,\r\n };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n show() {\r\n this.modalRef.current?.show();\r\n }\r\n hide() {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\r\n this.setState({\r\n buttonLoading: true,\r\n });\r\n // let formData = {...data}\r\n\r\n nscFile\r\n .importFile(\r\n {\r\n url: importUrl,\r\n data: { ...data, isOverwrite: isOverwrite },\r\n file: file,\r\n },\r\n config\r\n )\r\n .then(async (res: any) => {\r\n this.setState({\r\n buttonLoading: false,\r\n });\r\n if (res.code == 200) {\r\n // message.success(\"导入成功!\");\r\n if (onCallBacks?.showResult) {\r\n let data = await onCallBacks?.showResult(res, \"import\");\r\n this.setState({\r\n requestStatus: data.status,\r\n [data.status == \"warning\" ? \"warnList\" : \"errorList\"]:\r\n data.msgList,\r\n });\r\n } else {\r\n if (res.data?.warnings?.length > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.warnings,\r\n });\r\n } else if (res.data?.errors?.length > 0) {\r\n // message.success(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errors,\r\n });\r\n } else {\r\n message.success((file?.name || \"\") + \"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n }\r\n }\r\n\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\r\n // this.hide();\r\n } else {\r\n !res.msg && message.error(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n });\r\n }\r\n });\r\n }\r\n renderErrorContent(list) {\r\n return list.map((item, index) => {\r\n if (this.state.requestStatus == \"warning\") {\r\n return typeof item == \"string\" ? (\r\n <div key={index}>{item}</div>\r\n ) : (\r\n <div key={index}>\r\n {\"第\" +\r\n item.rowNum +\r\n \"行数据重复;\" +\r\n (item.errorMsg ? item.errorMsg : \"\")}\r\n </div>\r\n );\r\n } else {\r\n return typeof item == \"string\" ? (\r\n <div key={index}>{item}</div>\r\n ) : (\r\n <div key={index}>{item.errorMsg}</div>\r\n );\r\n }\r\n });\r\n }\r\n renderResult() {\r\n const { requestStatus, errorList, warnList } = this.state;\r\n const alert_msg_map = {\r\n success: \"导入成功\",\r\n error: \"导入失败\",\r\n warning: \"告警提示\",\r\n };\r\n if (requestStatus) {\r\n if (requestStatus == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={\"success\"}\r\n showIcon\r\n />\r\n );\r\n } else {\r\n return (\r\n <Collapse\r\n expandIconPosition=\"right\"\r\n className={\r\n requestStatus == \"warning\" ? \"content-warning\" : \"content-error\"\r\n }\r\n style={{\r\n backgroundColor:\r\n requestStatus == \"warning\" ? \"#FCE1AB\" : \"#fff2f0\",\r\n border:\r\n requestStatus == \"warning\"\r\n ? \"1px solid #FCE1AB\"\r\n : \"1px solid #FFCCC7\",\r\n borderRadius: \"2px\",\r\n }}\r\n defaultActiveKey={[\"1\"]}\r\n >\r\n <Collapse.Panel\r\n key=\"1\"\r\n header={\r\n <div>\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? (\r\n <ExclamationCircleOutlined />\r\n ) : (\r\n <CloseCircleOutlined />\r\n )}\r\n {alert_msg_map[requestStatus]}\r\n </span>\r\n </div>\r\n }\r\n extra={\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? \"查看\" : \"查看错误\"}\r\n </span>\r\n }\r\n >\r\n <div\r\n style={{\r\n background:\r\n requestStatus == \"warning\" ? \"#FFFDF6\" : \"#fff9f9\",\r\n }}\r\n className=\"content-error__msg\"\r\n >\r\n {this.renderErrorContent(\r\n requestStatus == \"warning\" ? warnList : errorList\r\n )}\r\n </div>\r\n </Collapse.Panel>\r\n </Collapse>\r\n );\r\n }\r\n }\r\n }\r\n resetData() {\r\n this.setState({\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n });\r\n }\r\n render() {\r\n const { file, status, currentStep, requestStatus } = this.state;\r\n const {\r\n downLoadTemplet,\r\n downTempletUrl,\r\n checkData,\r\n checkUrl,\r\n requestConfig,\r\n buttonText,\r\n onCallBacks,\r\n } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.hide();\r\n }}\r\n >\r\n 取消\r\n </NSCButton>\r\n\r\n {status == 1 && this.state.file && (\r\n <NSCButton\r\n onClick={() => {\r\n this.setState({\r\n status: 2,\r\n currentStep: 1,\r\n });\r\n if (checkData) {\r\n nscFile\r\n .importFile({\r\n url: checkUrl,\r\n file: file,\r\n data: requestConfig?.data || {},\r\n })\r\n .then(async (res: any) => {\r\n if (onCallBacks?.showResult) {\r\n let data = await onCallBacks?.showResult(res, \"preCheck\");\r\n this.setState({\r\n requestStatus: data.status,\r\n [data.status == \"warning\" ? \"warnList\" : \"errorList\"]:\r\n data.msgList,\r\n });\r\n } else {\r\n if (res.code == 200) {\r\n if (\r\n res.data.errorCount == 0 &&\r\n res.data.duplicateCount == 0\r\n ) {\r\n this.setState({\r\n currentStep: 2,\r\n });\r\n this.importData(file, false);\r\n return;\r\n }\r\n if (res.data.errorCount > 0) {\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errorList,\r\n });\r\n return;\r\n }\r\n if (res.data.duplicateCount > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.duplicateList,\r\n });\r\n return;\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n this.importData(file, false);\r\n }\r\n }}\r\n disabled={file ? false : true}\r\n icon={<UploadOutlined />}\r\n style={{ marginLeft: 20 }}\r\n >\r\n 开始上传\r\n </NSCButton>\r\n )}\r\n {status == 2 && this.props.checkData !== true && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.setState({\r\n file: null,\r\n status: 1,\r\n currentStep: 1,\r\n });\r\n }}\r\n >\r\n {requestStatus == \"success\" ? \"继续上传\" : \"重新上传\"}\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && this.props.checkData && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, false);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && this.props.checkData && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, true);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 覆盖数据\r\n </NSCButton>\r\n )}\r\n </div>\r\n );\r\n\r\n return (\r\n <div>\r\n {this.props.children ? (\r\n this.props.children\r\n ) : (\r\n <>\r\n {this.props.showButton && (\r\n <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.show();\r\n }}\r\n >\r\n {buttonText || \"数据导入\"}\r\n </NSCButton>\r\n )}\r\n </>\r\n )}\r\n\r\n <NscModal\r\n title={buttonText || \"数据导入\"}\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.hide();\r\n }}\r\n >\r\n <div className=\"content\">\r\n {status == 1 ? (\r\n <div>\r\n <div style={{ display: \"flex\" }}>\r\n <NscUpload\r\n beforeUpload={(file) => {\r\n this.setState({\r\n file,\r\n });\r\n return false;\r\n }}\r\n allowFileSuffix={[\"xls\", \"xlsx\"]}\r\n accept={\".xls,.xlsx\"}\r\n showUploadList={false}\r\n >\r\n <NSCButton\r\n type={\"primary\"}\r\n disabled={file ? true : false}\r\n icon={<FolderOutlined />}\r\n >\r\n 选择文件\r\n </NSCButton>\r\n </NscUpload>\r\n\r\n {downLoadTemplet && (\r\n <NscDownLoad url={downTempletUrl}>\r\n <NSCButton type=\"primary\" style={{ marginLeft: 20 }}>\r\n 模板下载\r\n </NSCButton>\r\n </NscDownLoad>\r\n )}\r\n </div>\r\n <div className=\"upload-tip\">\r\n <div className=\"upload-tip-left\">\r\n <ExclamationCircleOutlined />\r\n </div>\r\n <div className=\"upload-tip-content\">\r\n <div>\r\n 1、支持Excel 2007及以上版本,且每次只能上传一个文件;\r\n </div>\r\n <div>2、导入前先下载模板,并根据模板填写数据;</div>\r\n </div>\r\n </div>\r\n\r\n {file && (\r\n <div className=\"upload-file\">\r\n <div className=\"file-icon\">\r\n <FileIcon type=\"excel\" />\r\n </div>\r\n <div className=\"file-content\">\r\n <div className=\"file-title\">{file.name}</div>\r\n <div className=\"file-desc\">\r\n <span>\r\n 文件大小:{this.fileSizeKb(file.size) + \"KB\"}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"file-delete\"\r\n onClick={() => {\r\n this.setState({\r\n file: null,\r\n });\r\n }}\r\n >\r\n <DeleteOutlined />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n ) : (\r\n <div>\r\n <Steps\r\n current={currentStep}\r\n items={[\r\n {\r\n title: \"数据分析\",\r\n },\r\n {\r\n title: \"数据插入\",\r\n },\r\n ]}\r\n />\r\n <div className={\"result-content\"}>{this.renderResult()}</div>\r\n </div>\r\n )}\r\n </div>\r\n </NscModal>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default NscImportData;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","NscUpload","NSCButton","NscDownLoad","NscModal","FileIcon","UploadOutlined","FolderOutlined","CloseCircleOutlined","ExclamationCircleOutlined","Steps","nscFile","Alert","Collapse","DeleteOutlined","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","buttonLoading","createRef","fileSizeKb","number","length","undefined","toFixed","show","_this$modalRef$curren","modalRef","current","hide","_this$modalRef$curren2","resetData","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","setState","importFile","url","_objectSpread","then","res","code","showResult","msgList","_res$data","_res$data2","warnings","errors","_message","success","name","importCallBack","msg","error","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","buttonText","footer","onClick","errorCount","duplicateCount","duplicateList","disabled","icon","marginLeft","children","Fragment","showButton","title","width","wrapClassName","ref","onCancel","display","beforeUpload","allowFileSuffix","accept","showUploadList","size","items"],"sources":["../../../src/components/base/importData/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport \"./index.less\";\r\nimport NscUpload from \"../upload\";\r\nimport NSCButton from \"../button\";\r\nimport NscDownLoad from \"../download\";\r\nimport NscModal from \"../modal\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n UploadOutlined,\r\n FolderOutlined,\r\n CloseCircleOutlined,\r\n ExclamationCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Steps from \"../steps\";\r\nimport nscFile from \"nsc-file\";\r\nimport { message } from \"antd\";\r\nimport Alert from \"../alert\";\r\nimport Collapse from \"../collapse\";\r\nimport Icon from \"../common/Icon\";\r\nimport { DeleteOutlined } from \"@ant-design/icons\";\r\n\r\ninterface ImportPropos {\r\n checkData?: boolean; //是否进行数据校验,默认false\r\n checkUrl?: string; //数据校验接口地址\r\n importUrl: string; //数据导入地址\r\n requestConfig?: any;\r\n downLoadTemplet?: boolean; //是否显示下载模板按钮\r\n downTempletUrl?: string; //下载模板地址\r\n onCallBacks?: {\r\n showResult?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n // beforeRequest?: any; // 结果显示前回调,自定义结果显示类型,return {status,msgList}\r\n };\r\n showButton?: boolean;\r\n buttonText?: string;\r\n [propsName: string]: any;\r\n}\r\nclass NscImportData extends React.PureComponent<ImportPropos, any> {\r\n state = {\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n buttonLoading: false,\r\n };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n show() {\r\n this.modalRef.current?.show();\r\n }\r\n hide() {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\r\n this.setState({\r\n buttonLoading: true,\r\n });\r\n // let formData = {...data}\r\n\r\n nscFile\r\n .importFile(\r\n {\r\n url: importUrl,\r\n data: { ...data, isOverwrite: isOverwrite },\r\n file: file,\r\n },\r\n config\r\n )\r\n .then(async (res: any) => {\r\n this.setState({\r\n buttonLoading: false,\r\n });\r\n if (res.code == 200) {\r\n // message.success(\"导入成功!\");\r\n if (onCallBacks?.showResult) {\r\n let data = await onCallBacks?.showResult(res, \"import\");\r\n this.setState({\r\n requestStatus: data.status,\r\n [data.status == \"warning\" ? \"warnList\" : \"errorList\"]:\r\n data.msgList,\r\n });\r\n } else {\r\n if (res.data?.warnings?.length > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.warnings,\r\n });\r\n } else if (res.data?.errors?.length > 0) {\r\n // message.success(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errors,\r\n });\r\n } else {\r\n message.success((file?.name || \"\") + \"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n }\r\n }\r\n\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\r\n // this.hide();\r\n } else {\r\n !res.msg && message.error(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n });\r\n }\r\n });\r\n }\r\n renderErrorContent(list) {\r\n return list.map((item, index) => {\r\n if (this.state.requestStatus == \"warning\") {\r\n return typeof item == \"string\" ? (\r\n <div key={index}>{item}</div>\r\n ) : (\r\n <div key={index}>\r\n {\"第\" +\r\n item.rowNum +\r\n \"行数据重复;\" +\r\n (item.errorMsg ? item.errorMsg : \"\")}\r\n </div>\r\n );\r\n } else {\r\n return typeof item == \"string\" ? (\r\n <div key={index}>{item}</div>\r\n ) : (\r\n <div key={index}>{item.errorMsg}</div>\r\n );\r\n }\r\n });\r\n }\r\n renderResult() {\r\n const { requestStatus, errorList, warnList } = this.state;\r\n const alert_msg_map = {\r\n success: \"导入成功\",\r\n error: \"导入失败\",\r\n warning: \"告警提示\",\r\n };\r\n if (requestStatus) {\r\n if (requestStatus == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={\"success\"}\r\n showIcon\r\n />\r\n );\r\n } else {\r\n return (\r\n <Collapse\r\n expandIconPosition=\"right\"\r\n className={\r\n requestStatus == \"warning\" ? \"content-warning\" : \"content-error\"\r\n }\r\n style={{\r\n backgroundColor:\r\n requestStatus == \"warning\" ? \"#FCE1AB\" : \"#fff2f0\",\r\n border:\r\n requestStatus == \"warning\"\r\n ? \"1px solid #FCE1AB\"\r\n : \"1px solid #FFCCC7\",\r\n borderRadius: \"2px\",\r\n }}\r\n defaultActiveKey={[\"1\"]}\r\n >\r\n <Collapse.Panel\r\n key=\"1\"\r\n header={\r\n <div>\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? (\r\n <ExclamationCircleOutlined />\r\n ) : (\r\n <CloseCircleOutlined />\r\n )}\r\n {alert_msg_map[requestStatus]}\r\n </span>\r\n </div>\r\n }\r\n extra={\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? \"查看\" : \"查看错误\"}\r\n </span>\r\n }\r\n >\r\n <div\r\n style={{\r\n background:\r\n requestStatus == \"warning\" ? \"#FFFDF6\" : \"#fff9f9\",\r\n }}\r\n className=\"content-error__msg\"\r\n >\r\n {this.renderErrorContent(\r\n requestStatus == \"warning\" ? warnList : errorList\r\n )}\r\n </div>\r\n </Collapse.Panel>\r\n </Collapse>\r\n );\r\n }\r\n }\r\n }\r\n resetData() {\r\n this.setState({\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n });\r\n }\r\n render() {\r\n const { file, status, currentStep, requestStatus } = this.state;\r\n const {\r\n downLoadTemplet,\r\n downTempletUrl,\r\n checkData,\r\n checkUrl,\r\n requestConfig,\r\n buttonText,\r\n onCallBacks,\r\n } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.hide();\r\n }}\r\n >\r\n 取消\r\n </NSCButton>\r\n\r\n {status == 1 && this.state.file && (\r\n <NSCButton\r\n onClick={() => {\r\n this.setState({\r\n status: 2,\r\n currentStep: 1,\r\n });\r\n if (checkData) {\r\n nscFile\r\n .importFile({\r\n url: checkUrl,\r\n file: file,\r\n data: requestConfig?.data || {},\r\n })\r\n .then(async (res: any) => {\r\n if (onCallBacks?.showResult) {\r\n let data = await onCallBacks?.showResult(res, \"preCheck\");\r\n this.setState({\r\n requestStatus: data.status,\r\n [data.status == \"warning\" ? \"warnList\" : \"errorList\"]:\r\n data.msgList,\r\n });\r\n } else {\r\n if (res.code == 200) {\r\n if (\r\n res.data.errorCount == 0 &&\r\n res.data.duplicateCount == 0\r\n ) {\r\n this.setState({\r\n currentStep: 2,\r\n });\r\n this.importData(file, false);\r\n return;\r\n }\r\n if (res.data.errorCount > 0) {\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errorList,\r\n });\r\n return;\r\n }\r\n if (res.data.duplicateCount > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.duplicateList,\r\n });\r\n return;\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n this.importData(file, false);\r\n }\r\n }}\r\n disabled={file ? false : true}\r\n icon={<UploadOutlined />}\r\n style={{ marginLeft: 20 }}\r\n >\r\n 开始上传\r\n </NSCButton>\r\n )}\r\n {status == 2 && this.props.checkData !== true && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.setState({\r\n file: null,\r\n status: 1,\r\n currentStep: 1,\r\n errorList: [],\r\n warnList: [],\r\n });\r\n }}\r\n >\r\n {requestStatus == \"success\" ? \"继续上传\" : \"重新上传\"}\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && this.props.checkData && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, false);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && this.props.checkData && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, true);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 覆盖数据\r\n </NSCButton>\r\n )}\r\n </div>\r\n );\r\n\r\n return (\r\n <div>\r\n {this.props.children ? (\r\n this.props.children\r\n ) : (\r\n <>\r\n {this.props.showButton && (\r\n <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.show();\r\n }}\r\n >\r\n {buttonText || \"数据导入\"}\r\n </NSCButton>\r\n )}\r\n </>\r\n )}\r\n\r\n <NscModal\r\n title={buttonText || \"数据导入\"}\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.hide();\r\n }}\r\n >\r\n <div className=\"content\">\r\n {status == 1 ? (\r\n <div>\r\n <div style={{ display: \"flex\" }}>\r\n <NscUpload\r\n beforeUpload={(file) => {\r\n this.setState({\r\n file,\r\n });\r\n return false;\r\n }}\r\n allowFileSuffix={[\"xls\", \"xlsx\"]}\r\n accept={\".xls,.xlsx\"}\r\n showUploadList={false}\r\n >\r\n <NSCButton\r\n type={\"primary\"}\r\n disabled={file ? true : false}\r\n icon={<FolderOutlined />}\r\n >\r\n 选择文件\r\n </NSCButton>\r\n </NscUpload>\r\n\r\n {downLoadTemplet && (\r\n <NscDownLoad url={downTempletUrl}>\r\n <NSCButton type=\"primary\" style={{ marginLeft: 20 }}>\r\n 模板下载\r\n </NSCButton>\r\n </NscDownLoad>\r\n )}\r\n </div>\r\n <div className=\"upload-tip\">\r\n <div className=\"upload-tip-left\">\r\n <ExclamationCircleOutlined />\r\n </div>\r\n <div className=\"upload-tip-content\">\r\n <div>\r\n 1、支持Excel 2007及以上版本,且每次只能上传一个文件;\r\n </div>\r\n <div>2、导入前先下载模板,并根据模板填写数据;</div>\r\n </div>\r\n </div>\r\n\r\n {file && (\r\n <div className=\"upload-file\">\r\n <div className=\"file-icon\">\r\n <FileIcon type=\"excel\" />\r\n </div>\r\n <div className=\"file-content\">\r\n <div className=\"file-title\">{file.name}</div>\r\n <div className=\"file-desc\">\r\n <span>\r\n 文件大小:{this.fileSizeKb(file.size) + \"KB\"}\r\n </span>\r\n </div>\r\n </div>\r\n <div\r\n className=\"file-delete\"\r\n onClick={() => {\r\n this.setState({\r\n file: null,\r\n });\r\n }}\r\n >\r\n <DeleteOutlined />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n ) : (\r\n <div>\r\n <Steps\r\n current={currentStep}\r\n items={[\r\n {\r\n title: \"数据分析\",\r\n },\r\n {\r\n title: \"数据插入\",\r\n },\r\n ]}\r\n />\r\n <div className={\"result-content\"}>{this.renderResult()}</div>\r\n </div>\r\n )}\r\n </div>\r\n </NscModal>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default NscImportData;\r\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "4.5.5",
3
+ "version": "4.5.6",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {