nsc-react-component 4.1.10 → 4.1.12

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.
@@ -158,14 +158,51 @@ class NscImportData extends React.PureComponent {
158
158
  (_this$modalRef$curren = this.modalRef.current) === null || _this$modalRef$curren === void 0 || _this$modalRef$curren.hide();
159
159
  this.resetData();
160
160
  }
161
- }, "\u53D6\u6D88"), downLoadTemplet && status == 1 && /*#__PURE__*/React.createElement(NscDownLoad, {
162
- url: downTempletUrl
163
- }, /*#__PURE__*/React.createElement(NSCButton, {
164
- type: "primary",
161
+ }, "\u53D6\u6D88"), status == 1 && this.state.file && /*#__PURE__*/React.createElement(NSCButton, {
162
+ onClick: () => {
163
+ this.setState({
164
+ status: 2,
165
+ currentStep: 1
166
+ });
167
+ if (checkData) {
168
+ nscFile.importFile({
169
+ url: checkUrl,
170
+ file: file,
171
+ data: (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.data) || {}
172
+ }).then(res => {
173
+ if (res.code == 200) {
174
+ if (res.data.errorCount == 0 && res.data.duplicateCount == 0) {
175
+ this.setState({
176
+ currentStep: 2,
177
+ requestStatus: "success"
178
+ });
179
+ this.importData(file, false);
180
+ return;
181
+ }
182
+ if (res.data.errorCount > 0) {
183
+ this.setState({
184
+ requestStatus: "error",
185
+ errorList: res.data.errorList
186
+ });
187
+ return;
188
+ }
189
+ if (res.data.duplicateCount > 0) {
190
+ this.setState({
191
+ requestStatus: "warning",
192
+ warnList: res.data.duplicateList
193
+ });
194
+ return;
195
+ }
196
+ }
197
+ });
198
+ }
199
+ },
200
+ disabled: file ? false : true,
201
+ icon: /*#__PURE__*/React.createElement(UploadOutlined, null),
165
202
  style: {
166
203
  marginLeft: 20
167
204
  }
168
- }, "\u6A21\u677F\u4E0B\u8F7D")), requestStatus == "warning" && status == 2 && /*#__PURE__*/React.createElement(NSCButton, {
205
+ }, "\u5F00\u59CB\u4E0A\u4F20"), requestStatus == "warning" && status == 2 && /*#__PURE__*/React.createElement(NSCButton, {
169
206
  type: "primary",
170
207
  style: {
171
208
  marginLeft: 20
@@ -195,11 +232,17 @@ class NscImportData extends React.PureComponent {
195
232
  ref: this.modalRef,
196
233
  footer: footer,
197
234
  onCancel: () => {
235
+ var _this$modalRef$curren3;
236
+ (_this$modalRef$curren3 = this.modalRef.current) === null || _this$modalRef$curren3 === void 0 || _this$modalRef$curren3.hide();
198
237
  this.resetData();
199
238
  }
200
239
  }, /*#__PURE__*/React.createElement("div", {
201
240
  className: "content"
202
- }, status == 1 ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(NscUpload, {
241
+ }, status == 1 ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
242
+ style: {
243
+ display: "flex"
244
+ }
245
+ }, /*#__PURE__*/React.createElement(NscUpload, {
203
246
  beforeUpload: file => {
204
247
  this.setState({
205
248
  file
@@ -213,49 +256,14 @@ class NscImportData extends React.PureComponent {
213
256
  type: "primary",
214
257
  disabled: file ? true : false,
215
258
  icon: /*#__PURE__*/React.createElement(FolderOutlined, null)
216
- }, "\u9009\u62E9\u6587\u4EF6")), /*#__PURE__*/React.createElement(NSCButton, {
217
- onClick: () => {
218
- this.setState({
219
- status: 2,
220
- currentStep: 1
221
- });
222
- if (checkData) {
223
- nscFile.importFile({
224
- url: checkUrl,
225
- file: file,
226
- data: (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.data) || {}
227
- }).then(res => {
228
- if (res.data.errorCount == 0 && res.data.duplicateCount == 0) {
229
- this.setState({
230
- currentStep: 2,
231
- requestStatus: "success"
232
- });
233
- this.importData(file, false);
234
- return;
235
- }
236
- if (res.data.errorCount > 0) {
237
- this.setState({
238
- requestStatus: "error",
239
- errorList: res.data.errorList
240
- });
241
- return;
242
- }
243
- if (res.data.duplicateCount > 0) {
244
- this.setState({
245
- requestStatus: "warning",
246
- warnList: res.data.duplicateList
247
- });
248
- return;
249
- }
250
- });
251
- }
252
- },
253
- disabled: file ? false : true,
254
- icon: /*#__PURE__*/React.createElement(UploadOutlined, null),
259
+ }, "\u9009\u62E9\u6587\u4EF6")), downLoadTemplet && /*#__PURE__*/React.createElement(NscDownLoad, {
260
+ url: downTempletUrl
261
+ }, /*#__PURE__*/React.createElement(NSCButton, {
262
+ type: "primary",
255
263
  style: {
256
264
  marginLeft: 20
257
265
  }
258
- }, "\u5F00\u59CB\u4E0A\u4F20")), /*#__PURE__*/React.createElement("div", {
266
+ }, "\u6A21\u677F\u4E0B\u8F7D"))), /*#__PURE__*/React.createElement("div", {
259
267
  className: "upload-tip"
260
268
  }, /*#__PURE__*/React.createElement("div", {
261
269
  className: "upload-tip-left"
@@ -286,4 +294,4 @@ class NscImportData extends React.PureComponent {
286
294
  }
287
295
  }
288
296
  export default NscImportData;
289
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiY3JlYXRlUmVmIiwiZmlsZVNpemVLYiIsIm51bWJlciIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRvRml4ZWQiLCJpbXBvcnREYXRhIiwiaXNPdmVyd3JpdGUiLCJyZXF1ZXN0Q29uZmlnIiwiaW1wb3J0VXJsIiwib25DYWxsQmFja3MiLCJwcm9wcyIsImRhdGEiLCJjb25maWciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwic2V0U3RhdGUiLCJpbXBvcnRDYWxsQmFjayIsInJlbmRlckVycm9yQ29udGVudCIsImxpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyb3dOdW0iLCJlcnJvck1zZyIsInJlbmRlclJlc3VsdCIsImFsZXJ0X21zZ19tYXAiLCJlcnJvciIsIndhcm5pbmciLCJfYWxlcnRfbXNnX21hcCRyZXF1ZXMiLCJzdHlsZSIsIm1hcmdpblRvcCIsIm1lc3NhZ2UiLCJ0eXBlIiwic2hvd0ljb24iLCJleHBhbmRJY29uUG9zaXRpb24iLCJjbGFzc05hbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJkZWZhdWx0QWN0aXZlS2V5IiwiUGFuZWwiLCJoZWFkZXIiLCJjb2xvciIsImV4dHJhIiwiYmFja2dyb3VuZCIsInJlc2V0RGF0YSIsInJlbmRlciIsImRvd25Mb2FkVGVtcGxldCIsImRvd25UZW1wbGV0VXJsIiwiY2hlY2tEYXRhIiwiY2hlY2tVcmwiLCJmb290ZXIiLCJvbkNsaWNrIiwiX3RoaXMkbW9kYWxSZWYkY3VycmVuIiwibW9kYWxSZWYiLCJjdXJyZW50IiwiaGlkZSIsIm1hcmdpbkxlZnQiLCJjaGlsZHJlbiIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbjIiLCJzaG93IiwidGl0bGUiLCJ3aWR0aCIsIndyYXBDbGFzc05hbWUiLCJyZWYiLCJvbkNhbmNlbCIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0IiwiZGlzYWJsZWQiLCJpY29uIiwiZXJyb3JDb3VudCIsImR1cGxpY2F0ZUNvdW50IiwiZHVwbGljYXRlTGlzdCIsIm5hbWUiLCJzaXplIiwiaXRlbXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL2ltcG9ydERhdGEvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBOc2NVcGxvYWQgZnJvbSBcIi4uL3VwbG9hZFwiO1xyXG5pbXBvcnQgTlNDQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IE5zY0Rvd25Mb2FkIGZyb20gXCIuLi9kb3dubG9hZFwiO1xyXG5pbXBvcnQgTnNjTW9kYWwgZnJvbSBcIi4uL21vZGFsXCI7XHJcbmltcG9ydCBGaWxlSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ZpbGVJY29uXCI7XHJcbmltcG9ydCB7XHJcbiAgVXBsb2FkT3V0bGluZWQsXHJcbiAgRm9sZGVyT3V0bGluZWQsXHJcbiAgQ2xvc2VDaXJjbGVPdXRsaW5lZCxcclxuICBFeGNsYW1hdGlvbkNpcmNsZU91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgU3RlcHMgZnJvbSBcIi4uL3N0ZXBzXCI7XHJcbmltcG9ydCBuc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IEFsZXJ0IGZyb20gXCIuLi9hbGVydFwiO1xyXG5pbXBvcnQgQ29sbGFwc2UgZnJvbSBcIi4uL2NvbGxhcHNlXCI7XHJcbmltcG9ydCBJY29uIGZyb20gXCIuLi9jb21tb24vSWNvblwiO1xyXG5cclxuaW50ZXJmYWNlIEltcG9ydFByb3BvcyB7XHJcbiAgY2hlY2tEYXRhPzogYm9vbGVhbjsgLy/mmK/lkKbov5vooYzmlbDmja7moKHpqozvvIzpu5jorqRmYWxzZVxyXG4gIGNoZWNrVXJsPzogc3RyaW5nOyAvL+aVsOaNruagoemqjOaOpeWPo+WcsOWdgFxyXG4gIGltcG9ydFVybDogc3RyaW5nOyAvL+aVsOaNruWvvOWFpeWcsOWdgFxyXG4gIHJlcXVlc3RDb25maWc/OiBhbnk7XHJcbiAgZG93bkxvYWRUZW1wbGV0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrkuIvovb3mqKHmnb/mjInpkq5cclxuICBkb3duVGVtcGxldFVybD86IHN0cmluZzsgLy/kuIvovb3mqKHmnb/lnLDlnYBcclxuICBvbkNhbGxCYWNrcz86IHtcclxuICAgIGNoZWNrQ2FsbEJhY2s/OiBhbnk7IC8v5pWw5o2u5qCh6aqM5Zue6LCDXHJcbiAgICBpbXBvcnRDYWxsQmFjaz86IGFueTsgLy/mlbDmja7lr7zlhaXlm57osINcclxuICAgIGNsb3NlQ2FsbEJhY2s/OiBhbnk7XHJcbiAgfTtcclxuICBbcHJvcHNOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuY2xhc3MgTnNjSW1wb3J0RGF0YSBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SW1wb3J0UHJvcG9zLCBhbnk+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIHN0YXR1czogMSxcclxuICAgIGZpbGU6IG51bGwsXHJcbiAgICBjdXJyZW50U3RlcDogMSxcclxuICAgIHJlcXVlc3RTdGF0dXM6IFwiXCIsXHJcbiAgICBlcnJvckxpc3Q6IFtdLFxyXG4gICAgd2Fybkxpc3Q6IFtdLFxyXG4gIH07XHJcbiAgbW9kYWxSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGZpbGVTaXplS2IobnVtYmVyID0gMCkge1xyXG4gICAgcmV0dXJuIChudW1iZXIgLyAxMDI0KS50b0ZpeGVkKDIpO1xyXG4gIH1cclxuICBpbXBvcnREYXRhKGZpbGUsIGlzT3ZlcndyaXRlKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RDb25maWcgPSB7fSwgaW1wb3J0VXJsLCBvbkNhbGxCYWNrcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZGF0YSA9IHt9LCAuLi5jb25maWcgfSA9IHJlcXVlc3RDb25maWc7XHJcbiAgICBuc2NGaWxlXHJcbiAgICAgIC5pbXBvcnRGaWxlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogaW1wb3J0VXJsLFxyXG4gICAgICAgICAgZGF0YTogeyAuLi5kYXRhLCBpc092ZXJ3cml0ZTogaXNPdmVyd3JpdGUgfSxcclxuICAgICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICByZXF1ZXN0Q29uZmlnXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2sgJiYgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrKHJlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyRXJyb3JDb250ZW50KGxpc3QpIHtcclxuICAgIHJldHVybiBsaXN0Lm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUucmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIikge1xyXG4gICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntcIuesrFwiICsgaXRlbS5yb3dOdW0gKyBcIuihjOaVsOaNrumHjeWkje+8m1wifTwvZGl2PjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbS5lcnJvck1zZ308L2Rpdj47XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJSZXN1bHQoKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RTdGF0dXMsIGVycm9yTGlzdCwgd2Fybkxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBhbGVydF9tc2dfbWFwID0ge1xyXG4gICAgICBzdWNjZXNzOiBcIuWvvOWFpeaIkOWKn1wiLFxyXG4gICAgICBlcnJvcjogXCLlr7zlhaXlpLHotKVcIixcclxuICAgICAgd2FybmluZzogXCLlkYrorabmj5DnpLpcIixcclxuICAgIH07XHJcbiAgICBpZiAocmVxdWVzdFN0YXR1cyA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxBbGVydFxyXG4gICAgICAgICAgc3R5bGU9e3sgbWFyZ2luVG9wOiBcIjhweFwiIH19XHJcbiAgICAgICAgICBtZXNzYWdlPXthbGVydF9tc2dfbWFwW3JlcXVlc3RTdGF0dXNdID8/IFwi5o+Q56S6XCJ9XHJcbiAgICAgICAgICB0eXBlPXtyZXF1ZXN0U3RhdHVzfVxyXG4gICAgICAgICAgc2hvd0ljb25cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Q29sbGFwc2VcclxuICAgICAgICAgIGV4cGFuZEljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgIGNsYXNzTmFtZT17XHJcbiAgICAgICAgICAgIHJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcImNvbnRlbnQtd2FybmluZ1wiIDogXCJjb250ZW50LWVycm9yXCJcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZDRTFBQlwiIDogXCIjZmZmMmYwXCIsXHJcbiAgICAgICAgICAgIGJvcmRlcjpcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiXHJcbiAgICAgICAgICAgICAgICA/IFwiMXB4IHNvbGlkICNGQ0UxQUJcIlxyXG4gICAgICAgICAgICAgICAgOiBcIjFweCBzb2xpZCAjRkZDQ0M3XCIsXHJcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIycHhcIixcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBkZWZhdWx0QWN0aXZlS2V5PXtbXCIxXCJdfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxDb2xsYXBzZS5QYW5lbFxyXG4gICAgICAgICAgICBrZXk9XCIxXCJcclxuICAgICAgICAgICAgaGVhZGVyPXtcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDxFeGNsYW1hdGlvbkNpcmNsZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPENsb3NlQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAge2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c119XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZXh0cmE9e1xyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCLmn6XnnItcIiA6IFwi5p+l55yL6ZSZ6K+vXCJ9XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZGRkRGNlwiIDogXCIjZmZmOWY5XCIsXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb250ZW50LWVycm9yX19tc2dcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXJyb3JDb250ZW50KFxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IHdhcm5MaXN0IDogZXJyb3JMaXN0XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L0NvbGxhcHNlLlBhbmVsPlxyXG4gICAgICAgIDwvQ29sbGFwc2U+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzdGF0dXM6IDEsXHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgICBlcnJvckxpc3Q6IFtdLFxyXG4gICAgICB3YXJuTGlzdDogW10sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmaWxlLCBzdGF0dXMsIGN1cnJlbnRTdGVwLCByZXF1ZXN0U3RhdHVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkb3duTG9hZFRlbXBsZXQsXHJcbiAgICAgIGRvd25UZW1wbGV0VXJsLFxyXG4gICAgICBjaGVja0RhdGEsXHJcbiAgICAgIGNoZWNrVXJsLFxyXG4gICAgICByZXF1ZXN0Q29uZmlnLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmb290ZXIgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5Y+W5raIXHJcbiAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAge2Rvd25Mb2FkVGVtcGxldCAmJiBzdGF0dXMgPT0gMSAmJiAoXHJcbiAgICAgICAgICA8TnNjRG93bkxvYWQgdXJsPXtkb3duVGVtcGxldFVybH0+XHJcbiAgICAgICAgICAgIDxOU0NCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fT5cclxuICAgICAgICAgICAgICDmqKHmnb/kuIvovb1cclxuICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICA8L05zY0Rvd25Mb2FkPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOS4jeimhuebluaVsOaNrlxyXG4gICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgKX1cclxuICAgICAgICB7cmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiAmJiBzdGF0dXMgPT0gMiAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW1wb3J0RGF0YSh0aGlzLnN0YXRlLmZpbGUsIHRydWUpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDopobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVuID8gKFxyXG4gICAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlblxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uc2hvdygpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDmlbDmja7lr7zlhaVcclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcblxyXG4gICAgICAgIDxOc2NNb2RhbFxyXG4gICAgICAgICAgdGl0bGU9XCLmlbDmja7lr7zlhaVcIlxyXG4gICAgICAgICAgd2lkdGg9ezgwMH1cclxuICAgICAgICAgIHdyYXBDbGFzc05hbWU9e1wiaW1wb3J0LW1vZGFsXCJ9XHJcbiAgICAgICAgICByZWY9e3RoaXMubW9kYWxSZWZ9XHJcbiAgICAgICAgICBmb290ZXI9e2Zvb3Rlcn1cclxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICB7c3RhdHVzID09IDEgPyAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxOc2NVcGxvYWRcclxuICAgICAgICAgICAgICAgICAgICBiZWZvcmVVcGxvYWQ9eyhmaWxlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGaWxlU3VmZml4PXtbXCJ4bHNcIiwgXCJ4bHhzXCJdfVxyXG4gICAgICAgICAgICAgICAgICAgIGFjY2VwdD17XCIueGxzLC54bHhzXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3Q9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmlsZSA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICAgICAgICAgICAgICAgIGljb249ezxGb2xkZXJPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICDpgInmi6nmlofku7ZcclxuICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9Oc2NVcGxvYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50U3RlcDogMSxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuc2NGaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmltcG9ydEZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBjaGVja1VybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiByZXF1ZXN0Q29uZmlnPy5kYXRhIHx8IHt9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmVycm9yQ291bnQgPT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyb3JDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTGlzdDogcmVzLmRhdGEuZXJyb3JMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gZmFsc2UgOiB0cnVlfVxyXG4gICAgICAgICAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgMeOAgeaUr+aMgUV4Y2VsIDIwMDflj4rku6XkuIrniYjmnKzvvIzkuJTmr4/mrKHlj6rog73kuIrkvKDkuIDkuKrmlofku7bvvJtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjLjgIHlr7zlhaXliY3lhYjkuIvovb3mqKHmnb/vvIzlubbmoLnmja7mqKHmnb/loavlhpnmlbDmja7vvJs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7ZmlsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLWZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHR5cGU9XCJleGNlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS10aXRsZVwiPntmaWxlLm5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICDmlofku7blpKflsI/vvJp7dGhpcy5maWxlU2l6ZUtiKGZpbGUuc2l6ZSkgKyBcIktCXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxTdGVwc1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW50PXtjdXJyZW50U3RlcH1cclxuICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7liIbmnpBcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruaPkuWFpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicmVzdWx0LWNvbnRlbnRcIn0+e3RoaXMucmVuZGVyUmVzdWx0KCl9PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L05zY01vZGFsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0ltcG9ydERhdGE7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFdBQVcsTUFBTSxhQUFhO0FBQ3JDLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLFFBQVEsTUFBTSxvQkFBb0I7QUFDekMsU0FDRUMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMseUJBQXlCLFFBQ3BCLG1CQUFtQjtBQUMxQixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxPQUFPLE1BQU0sVUFBVTtBQUU5QixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxRQUFRLE1BQU0sYUFBYTtBQWlCbEMsTUFBTUMsYUFBYSxTQUFTZCxLQUFLLENBQUNlLGFBQWEsQ0FBb0I7RUFBQUMsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQUMsZUFBQSxnQkFDekQ7TUFDTkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsSUFBSSxFQUFFLElBQUk7TUFDVkMsV0FBVyxFQUFFLENBQUM7TUFDZEMsYUFBYSxFQUFFLEVBQUU7TUFDakJDLFNBQVMsRUFBRSxFQUFFO01BQ2JDLFFBQVEsRUFBRTtJQUNaLENBQUM7SUFBQU4sZUFBQSxnQ0FDVWxCLEtBQUssQ0FBQ3lCLFNBQVMsQ0FBTSxDQUFDO0VBQUE7RUFDakNDLFVBQVVBLENBQUEsRUFBYTtJQUFBLElBQVpDLE1BQU0sR0FBQVYsU0FBQSxDQUFBVyxNQUFBLFFBQUFYLFNBQUEsUUFBQVksU0FBQSxHQUFBWixTQUFBLE1BQUcsQ0FBQztJQUNuQixPQUFPLENBQUNVLE1BQU0sR0FBRyxJQUFJLEVBQUVHLE9BQU8sQ0FBQyxDQUFDLENBQUM7RUFDbkM7RUFDQUMsVUFBVUEsQ0FBQ1gsSUFBSSxFQUFFWSxXQUFXLEVBQUU7SUFDNUIsTUFBTTtNQUFFQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO01BQUVDLFNBQVM7TUFBRUMsV0FBVyxHQUFHLENBQUM7SUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO0lBQ3RFLElBQUk7UUFBRUMsSUFBSSxHQUFHLENBQUM7TUFBYSxDQUFDLEdBQUdKLGFBQWE7TUFBeEJLLE1BQU0sR0FBQUMsd0JBQUEsQ0FBS04sYUFBYSxFQUFBTyxTQUFBO0lBQzVDN0IsT0FBTyxDQUNKOEIsVUFBVSxDQUNUO01BQ0VDLEdBQUcsRUFBRVIsU0FBUztNQUNkRyxJQUFJLEVBQUFNLGFBQUEsQ0FBQUEsYUFBQSxLQUFPTixJQUFJO1FBQUVMLFdBQVcsRUFBRUE7TUFBVyxFQUFFO01BQzNDWixJQUFJLEVBQUVBO0lBQ1IsQ0FBQyxFQUNEYSxhQUNGLENBQUMsQ0FDQVcsSUFBSSxDQUFFQyxHQUFRLElBQUs7TUFDbEIsSUFBSUEsR0FBRyxDQUFDQyxJQUFJLElBQUksR0FBRyxFQUFFO1FBQ25CQyxRQUFBLENBQVFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDQyxRQUFRLENBQUM7VUFDWjNCLGFBQWEsRUFBRTtRQUNqQixDQUFDLENBQUM7UUFDRixDQUFBYSxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWUsY0FBYyxNQUFJZixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWUsY0FBYyxDQUFDTCxHQUFHLENBQUM7TUFDakU7SUFDRixDQUFDLENBQUM7RUFDTjtFQUNBTSxrQkFBa0JBLENBQUNDLElBQUksRUFBRTtJQUN2QixPQUFPQSxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLEVBQUVDLEtBQUssS0FBSztNQUMvQixJQUFJLElBQUksQ0FBQ0MsS0FBSyxDQUFDbEMsYUFBYSxJQUFJLFNBQVMsRUFBRTtRQUN6QyxvQkFBT3RCLEtBQUEsQ0FBQXlELGFBQUE7VUFBS0MsR0FBRyxFQUFFSDtRQUFNLEdBQUUsR0FBRyxHQUFHRCxJQUFJLENBQUNLLE1BQU0sR0FBRyxRQUFjLENBQUM7TUFDOUQsQ0FBQyxNQUFNO1FBQ0wsb0JBQU8zRCxLQUFBLENBQUF5RCxhQUFBO1VBQUtDLEdBQUcsRUFBRUg7UUFBTSxHQUFFRCxJQUFJLENBQUNNLFFBQWMsQ0FBQztNQUMvQztJQUNGLENBQUMsQ0FBQztFQUNKO0VBQ0FDLFlBQVlBLENBQUEsRUFBRztJQUNiLE1BQU07TUFBRXZDLGFBQWE7TUFBRUMsU0FBUztNQUFFQztJQUFTLENBQUMsR0FBRyxJQUFJLENBQUNnQyxLQUFLO0lBQ3pELE1BQU1NLGFBQWEsR0FBRztNQUNwQmQsT0FBTyxFQUFFLE1BQU07TUFDZmUsS0FBSyxFQUFFLE1BQU07TUFDYkMsT0FBTyxFQUFFO0lBQ1gsQ0FBQztJQUNELElBQUkxQyxhQUFhLElBQUksU0FBUyxFQUFFO01BQUEsSUFBQTJDLHFCQUFBO01BQzlCLG9CQUNFakUsS0FBQSxDQUFBeUQsYUFBQSxDQUFDN0MsS0FBSztRQUNKc0QsS0FBSyxFQUFFO1VBQUVDLFNBQVMsRUFBRTtRQUFNLENBQUU7UUFDNUJDLE9BQU8sR0FBQUgscUJBQUEsR0FBRUgsYUFBYSxDQUFDeEMsYUFBYSxDQUFDLGNBQUEyQyxxQkFBQSxjQUFBQSxxQkFBQSxHQUFJLElBQUs7UUFDOUNJLElBQUksRUFBRS9DLGFBQWM7UUFDcEJnRCxRQUFRO01BQUEsQ0FDVCxDQUFDO0lBRU4sQ0FBQyxNQUFNO01BQ0wsb0JBQ0V0RSxLQUFBLENBQUF5RCxhQUFBLENBQUM1QyxRQUFRO1FBQ1AwRCxrQkFBa0IsRUFBQyxPQUFPO1FBQzFCQyxTQUFTLEVBQ1BsRCxhQUFhLElBQUksU0FBUyxHQUFHLGlCQUFpQixHQUFHLGVBQ2xEO1FBQ0Q0QyxLQUFLLEVBQUU7VUFDTE8sZUFBZSxFQUFFbkQsYUFBYSxJQUFJLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUztVQUNuRW9ELE1BQU0sRUFDSnBELGFBQWEsSUFBSSxTQUFTLEdBQ3RCLG1CQUFtQixHQUNuQixtQkFBbUI7VUFDekJxRCxZQUFZLEVBQUU7UUFDaEIsQ0FBRTtRQUNGQyxnQkFBZ0IsRUFBRSxDQUFDLEdBQUc7TUFBRSxnQkFFeEI1RSxLQUFBLENBQUF5RCxhQUFBLENBQUM1QyxRQUFRLENBQUNnRSxLQUFLO1FBQ2JuQixHQUFHLEVBQUMsR0FBRztRQUNQb0IsTUFBTSxlQUNKOUUsS0FBQSxDQUFBeUQsYUFBQSwyQkFDRXpELEtBQUEsQ0FBQXlELGFBQUE7VUFDRVMsS0FBSyxFQUFFO1lBQ0xhLEtBQUssRUFBRXpELGFBQWEsSUFBSSxTQUFTLEdBQUcsU0FBUyxHQUFHO1VBQ2xEO1FBQUUsR0FFREEsYUFBYSxJQUFJLFNBQVMsZ0JBQ3pCdEIsS0FBQSxDQUFBeUQsYUFBQSxDQUFDaEQseUJBQXlCLE1BQUUsQ0FBQyxnQkFFN0JULEtBQUEsQ0FBQXlELGFBQUEsQ0FBQ2pELG1CQUFtQixNQUFFLENBQ3ZCLEVBQ0FzRCxhQUFhLENBQUN4QyxhQUFhLENBQ3hCLENBQ0gsQ0FDTjtRQUNEMEQsS0FBSyxlQUNIaEYsS0FBQSxDQUFBeUQsYUFBQTtVQUNFUyxLQUFLLEVBQUU7WUFDTGEsS0FBSyxFQUFFekQsYUFBYSxJQUFJLFNBQVMsR0FBRyxTQUFTLEdBQUc7VUFDbEQ7UUFBRSxHQUVEQSxhQUFhLElBQUksU0FBUyxHQUFHLElBQUksR0FBRyxNQUNqQztNQUNQLGdCQUVEdEIsS0FBQSxDQUFBeUQsYUFBQTtRQUNFUyxLQUFLLEVBQUU7VUFDTGUsVUFBVSxFQUFFM0QsYUFBYSxJQUFJLFNBQVMsR0FBRyxTQUFTLEdBQUc7UUFDdkQsQ0FBRTtRQUNGa0QsU0FBUyxFQUFDO01BQW9CLEdBRTdCLElBQUksQ0FBQ3JCLGtCQUFrQixDQUN0QjdCLGFBQWEsSUFBSSxTQUFTLEdBQUdFLFFBQVEsR0FBR0QsU0FDMUMsQ0FDRyxDQUNTLENBQ1IsQ0FBQztJQUVmO0VBQ0Y7RUFDQTJELFNBQVNBLENBQUEsRUFBRztJQUNWLElBQUksQ0FBQ2pDLFFBQVEsQ0FBQztNQUNaOUIsTUFBTSxFQUFFLENBQUM7TUFDVEMsSUFBSSxFQUFFLElBQUk7TUFDVkMsV0FBVyxFQUFFLENBQUM7TUFDZEMsYUFBYSxFQUFFLEVBQUU7TUFDakJDLFNBQVMsRUFBRSxFQUFFO01BQ2JDLFFBQVEsRUFBRTtJQUNaLENBQUMsQ0FBQztFQUNKO0VBQ0EyRCxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQUUvRCxJQUFJO01BQUVELE1BQU07TUFBRUUsV0FBVztNQUFFQztJQUFjLENBQUMsR0FBRyxJQUFJLENBQUNrQyxLQUFLO0lBQy9ELE1BQU07TUFDSjRCLGVBQWU7TUFDZkMsY0FBYztNQUNkQyxTQUFTO01BQ1RDLFFBQVE7TUFDUnREO0lBQ0YsQ0FBQyxHQUFHLElBQUksQ0FBQ0csS0FBSztJQUNkLE1BQU1vRCxNQUFNLGdCQUNWeEYsS0FBQSxDQUFBeUQsYUFBQTtNQUFLZSxTQUFTLEVBQUM7SUFBUSxnQkFDckJ4RSxLQUFBLENBQUF5RCxhQUFBLENBQUN2RCxTQUFTO01BQ1J1RixPQUFPLEVBQUVBLENBQUEsS0FBTTtRQUFBLElBQUFDLHFCQUFBO1FBQ2IsQ0FBQUEscUJBQUEsT0FBSSxDQUFDQyxRQUFRLENBQUNDLE9BQU8sY0FBQUYscUJBQUEsZUFBckJBLHFCQUFBLENBQXVCRyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUNYLFNBQVMsQ0FBQyxDQUFDO01BQ2xCO0lBQUUsR0FDSCxjQUVVLENBQUMsRUFDWEUsZUFBZSxJQUFJakUsTUFBTSxJQUFJLENBQUMsaUJBQzdCbkIsS0FBQSxDQUFBeUQsYUFBQSxDQUFDdEQsV0FBVztNQUFDdUMsR0FBRyxFQUFFMkM7SUFBZSxnQkFDL0JyRixLQUFBLENBQUF5RCxhQUFBLENBQUN2RCxTQUFTO01BQUNtRSxJQUFJLEVBQUMsU0FBUztNQUFDSCxLQUFLLEVBQUU7UUFBRTRCLFVBQVUsRUFBRTtNQUFHO0lBQUUsR0FBQywwQkFFMUMsQ0FDQSxDQUNkLEVBQ0F4RSxhQUFhLElBQUksU0FBUyxJQUFJSCxNQUFNLElBQUksQ0FBQyxpQkFDeENuQixLQUFBLENBQUF5RCxhQUFBLENBQUN2RCxTQUFTO01BQ1JtRSxJQUFJLEVBQUMsU0FBUztNQUNkSCxLQUFLLEVBQUU7UUFBRTRCLFVBQVUsRUFBRTtNQUFHLENBQUU7TUFDMUJMLE9BQU8sRUFBRUEsQ0FBQSxLQUFNO1FBQ2IsSUFBSSxDQUFDMUQsVUFBVSxDQUFDLElBQUksQ0FBQ3lCLEtBQUssQ0FBQ3BDLElBQUksRUFBRSxLQUFLLENBQUM7TUFDekM7SUFBRSxHQUNILGdDQUVVLENBQ1osRUFDQUUsYUFBYSxJQUFJLFNBQVMsSUFBSUgsTUFBTSxJQUFJLENBQUMsaUJBQ3hDbkIsS0FBQSxDQUFBeUQsYUFBQSxDQUFDdkQsU0FBUztNQUNSbUUsSUFBSSxFQUFDLFNBQVM7TUFDZEgsS0FBSyxFQUFFO1FBQUU0QixVQUFVLEVBQUU7TUFBRyxDQUFFO01BQzFCTCxPQUFPLEVBQUVBLENBQUEsS0FBTTtRQUNiLElBQUksQ0FBQzFELFVBQVUsQ0FBQyxJQUFJLENBQUN5QixLQUFLLENBQUNwQyxJQUFJLEVBQUUsSUFBSSxDQUFDO01BQ3hDO0lBQUUsR0FDSCwwQkFFVSxDQUVWLENBQ047SUFFRCxvQkFDRXBCLEtBQUEsQ0FBQXlELGFBQUEsY0FDRyxJQUFJLENBQUNyQixLQUFLLENBQUMyRCxRQUFRLEdBQ2xCLElBQUksQ0FBQzNELEtBQUssQ0FBQzJELFFBQVEsZ0JBRW5CL0YsS0FBQSxDQUFBeUQsYUFBQSxDQUFDdkQsU0FBUztNQUNSbUUsSUFBSSxFQUFDLFNBQVM7TUFDZG9CLE9BQU8sRUFBRUEsQ0FBQSxLQUFNO1FBQUEsSUFBQU8sc0JBQUE7UUFDYixDQUFBQSxzQkFBQSxPQUFJLENBQUNMLFFBQVEsQ0FBQ0MsT0FBTyxjQUFBSSxzQkFBQSxlQUFyQkEsc0JBQUEsQ0FBdUJDLElBQUksQ0FBQyxDQUFDO01BQy9CO0lBQUUsR0FDSCwwQkFFVSxDQUNaLGVBRURqRyxLQUFBLENBQUF5RCxhQUFBLENBQUNyRCxRQUFRO01BQ1A4RixLQUFLLEVBQUMsMEJBQU07TUFDWkMsS0FBSyxFQUFFLEdBQUk7TUFDWEMsYUFBYSxFQUFFLGNBQWU7TUFDOUJDLEdBQUcsRUFBRSxJQUFJLENBQUNWLFFBQVM7TUFDbkJILE1BQU0sRUFBRUEsTUFBTztNQUNmYyxRQUFRLEVBQUVBLENBQUEsS0FBTTtRQUNkLElBQUksQ0FBQ3BCLFNBQVMsQ0FBQyxDQUFDO01BQ2xCO0lBQUUsZ0JBRUZsRixLQUFBLENBQUF5RCxhQUFBO01BQUtlLFNBQVMsRUFBQztJQUFTLEdBQ3JCckQsTUFBTSxJQUFJLENBQUMsZ0JBQ1ZuQixLQUFBLENBQUF5RCxhQUFBLDJCQUNFekQsS0FBQSxDQUFBeUQsYUFBQSwyQkFDRXpELEtBQUEsQ0FBQXlELGFBQUEsQ0FBQ3hELFNBQVM7TUFDUnNHLFlBQVksRUFBR25GLElBQUksSUFBSztRQUN0QixJQUFJLENBQUM2QixRQUFRLENBQUM7VUFDWjdCO1FBQ0YsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxLQUFLO01BQ2QsQ0FBRTtNQUNGb0YsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBRTtNQUNqQ0MsTUFBTSxFQUFFLFlBQWE7TUFDckJDLGNBQWMsRUFBRTtJQUFNLGdCQUV0QjFHLEtBQUEsQ0FBQXlELGFBQUEsQ0FBQ3ZELFNBQVM7TUFDUm1FLElBQUksRUFBRSxTQUFVO01BQ2hCc0MsUUFBUSxFQUFFdkYsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFNO01BQzlCd0YsSUFBSSxlQUFFNUcsS0FBQSxDQUFBeUQsYUFBQSxDQUFDbEQsY0FBYyxNQUFFO0lBQUUsR0FDMUIsMEJBRVUsQ0FDRixDQUFDLGVBQ1pQLEtBQUEsQ0FBQXlELGFBQUEsQ0FBQ3ZELFNBQVM7TUFDUnVGLE9BQU8sRUFBRUEsQ0FBQSxLQUFNO1FBQ2IsSUFBSSxDQUFDeEMsUUFBUSxDQUFDO1VBQ1o5QixNQUFNLEVBQUUsQ0FBQztVQUNURSxXQUFXLEVBQUU7UUFDZixDQUFDLENBQUM7UUFDRixJQUFJaUUsU0FBUyxFQUFFO1VBQ2IzRSxPQUFPLENBQ0o4QixVQUFVLENBQUM7WUFDVkMsR0FBRyxFQUFFNkMsUUFBUTtZQUNibkUsSUFBSSxFQUFFQSxJQUFJO1lBQ1ZpQixJQUFJLEVBQUUsQ0FBQUosYUFBYSxhQUFiQSxhQUFhLHVCQUFiQSxhQUFhLENBQUVJLElBQUksS0FBSSxDQUFDO1VBQ2hDLENBQUMsQ0FBQyxDQUNETyxJQUFJLENBQUVDLEdBQVEsSUFBSztZQUNsQixJQUNFQSxHQUFHLENBQUNSLElBQUksQ0FBQ3dFLFVBQVUsSUFBSSxDQUFDLElBQ3hCaEUsR0FBRyxDQUFDUixJQUFJLENBQUN5RSxjQUFjLElBQUksQ0FBQyxFQUM1QjtjQUNBLElBQUksQ0FBQzdELFFBQVEsQ0FBQztnQkFDWjVCLFdBQVcsRUFBRSxDQUFDO2dCQUNkQyxhQUFhLEVBQUU7Y0FDakIsQ0FBQyxDQUFDO2NBQ0YsSUFBSSxDQUFDUyxVQUFVLENBQUNYLElBQUksRUFBRSxLQUFLLENBQUM7Y0FDNUI7WUFDRjtZQUNBLElBQUl5QixHQUFHLENBQUNSLElBQUksQ0FBQ3dFLFVBQVUsR0FBRyxDQUFDLEVBQUU7Y0FDM0IsSUFBSSxDQUFDNUQsUUFBUSxDQUFDO2dCQUNaM0IsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCQyxTQUFTLEVBQUVzQixHQUFHLENBQUNSLElBQUksQ0FBQ2Q7Y0FDdEIsQ0FBQyxDQUFDO2NBQ0Y7WUFDRjtZQUNBLElBQUlzQixHQUFHLENBQUNSLElBQUksQ0FBQ3lFLGNBQWMsR0FBRyxDQUFDLEVBQUU7Y0FDL0IsSUFBSSxDQUFDN0QsUUFBUSxDQUFDO2dCQUNaM0IsYUFBYSxFQUFFLFNBQVM7Z0JBQ3hCRSxRQUFRLEVBQUVxQixHQUFHLENBQUNSLElBQUksQ0FBQzBFO2NBQ3JCLENBQUMsQ0FBQztjQUNGO1lBQ0Y7VUFDRixDQUFDLENBQUM7UUFDTjtNQUNGLENBQUU7TUFDRkosUUFBUSxFQUFFdkYsSUFBSSxHQUFHLEtBQUssR0FBRyxJQUFLO01BQzlCd0YsSUFBSSxlQUFFNUcsS0FBQSxDQUFBeUQsYUFBQSxDQUFDbkQsY0FBYyxNQUFFLENBQUU7TUFDekI0RCxLQUFLLEVBQUU7UUFBRTRCLFVBQVUsRUFBRTtNQUFHO0lBQUUsR0FDM0IsMEJBRVUsQ0FDUixDQUFDLGVBQ045RixLQUFBLENBQUF5RCxhQUFBO01BQUtlLFNBQVMsRUFBQztJQUFZLGdCQUN6QnhFLEtBQUEsQ0FBQXlELGFBQUE7TUFBS2UsU0FBUyxFQUFDO0lBQWlCLGdCQUM5QnhFLEtBQUEsQ0FBQXlELGFBQUEsQ0FBQ2hELHlCQUF5QixNQUFFLENBQ3pCLENBQUMsZUFDTlQsS0FBQSxDQUFBeUQsYUFBQTtNQUFLZSxTQUFTLEVBQUM7SUFBb0IsZ0JBQ2pDeEUsS0FBQSxDQUFBeUQsYUFBQSxjQUFLLDJJQUVBLENBQUMsZUFDTnpELEtBQUEsQ0FBQXlELGFBQUEsY0FBSywySEFBMEIsQ0FDNUIsQ0FDRixDQUFDLEVBRUxyQyxJQUFJLGlCQUNIcEIsS0FBQSxDQUFBeUQsYUFBQTtNQUFLZSxTQUFTLEVBQUM7SUFBYSxnQkFDMUJ4RSxLQUFBLENBQUF5RCxhQUFBO01BQUtlLFNBQVMsRUFBQztJQUFXLGdCQUN4QnhFLEtBQUEsQ0FBQXlELGFBQUEsQ0FBQ3BELFFBQVE7TUFBQ2dFLElBQUksRUFBQztJQUFPLENBQUUsQ0FDckIsQ0FBQyxlQUNOckUsS0FBQSxDQUFBeUQsYUFBQTtNQUFLZSxTQUFTLEVBQUM7SUFBYyxnQkFDM0J4RSxLQUFBLENBQUF5RCxhQUFBO01BQUtlLFNBQVMsRUFBQztJQUFZLEdBQUVwRCxJQUFJLENBQUM0RixJQUFVLENBQUMsZUFDN0NoSCxLQUFBLENBQUF5RCxhQUFBO01BQUtlLFNBQVMsRUFBQztJQUFXLGdCQUN4QnhFLEtBQUEsQ0FBQXlELGFBQUEsZUFBTSxnQ0FDQyxFQUFDLElBQUksQ0FBQy9CLFVBQVUsQ0FBQ04sSUFBSSxDQUFDNkYsSUFBSSxDQUFDLEdBQUcsSUFDL0IsQ0FDSCxDQUNGLENBQ0YsQ0FFSixDQUFDLGdCQUVOakgsS0FBQSxDQUFBeUQsYUFBQSwyQkFDRXpELEtBQUEsQ0FBQXlELGFBQUEsQ0FBQy9DLEtBQUs7TUFDSmtGLE9BQU8sRUFBRXZFLFdBQVk7TUFDckI2RixLQUFLLEVBQUUsQ0FDTDtRQUNFaEIsS0FBSyxFQUFFO01BQ1QsQ0FBQyxFQUNEO1FBQ0VBLEtBQUssRUFBRTtNQUNULENBQUM7SUFDRCxDQUNILENBQUMsZUFDRmxHLEtBQUEsQ0FBQXlELGFBQUE7TUFBS2UsU0FBUyxFQUFFO0lBQWlCLEdBQUUsSUFBSSxDQUFDWCxZQUFZLENBQUMsQ0FBTyxDQUN6RCxDQUVKLENBQ0csQ0FDUCxDQUFDO0VBRVY7QUFDRjtBQUNBLGVBQWUvQyxhQUFhIn0=
297
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiY3JlYXRlUmVmIiwiZmlsZVNpemVLYiIsIm51bWJlciIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRvRml4ZWQiLCJpbXBvcnREYXRhIiwiaXNPdmVyd3JpdGUiLCJyZXF1ZXN0Q29uZmlnIiwiaW1wb3J0VXJsIiwib25DYWxsQmFja3MiLCJwcm9wcyIsImRhdGEiLCJjb25maWciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwic2V0U3RhdGUiLCJpbXBvcnRDYWxsQmFjayIsInJlbmRlckVycm9yQ29udGVudCIsImxpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyb3dOdW0iLCJlcnJvck1zZyIsInJlbmRlclJlc3VsdCIsImFsZXJ0X21zZ19tYXAiLCJlcnJvciIsIndhcm5pbmciLCJfYWxlcnRfbXNnX21hcCRyZXF1ZXMiLCJzdHlsZSIsIm1hcmdpblRvcCIsIm1lc3NhZ2UiLCJ0eXBlIiwic2hvd0ljb24iLCJleHBhbmRJY29uUG9zaXRpb24iLCJjbGFzc05hbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJkZWZhdWx0QWN0aXZlS2V5IiwiUGFuZWwiLCJoZWFkZXIiLCJjb2xvciIsImV4dHJhIiwiYmFja2dyb3VuZCIsInJlc2V0RGF0YSIsInJlbmRlciIsImRvd25Mb2FkVGVtcGxldCIsImRvd25UZW1wbGV0VXJsIiwiY2hlY2tEYXRhIiwiY2hlY2tVcmwiLCJmb290ZXIiLCJvbkNsaWNrIiwiX3RoaXMkbW9kYWxSZWYkY3VycmVuIiwibW9kYWxSZWYiLCJjdXJyZW50IiwiaGlkZSIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4yIiwic2hvdyIsInRpdGxlIiwid2lkdGgiLCJ3cmFwQ2xhc3NOYW1lIiwicmVmIiwib25DYW5jZWwiLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4zIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0IiwibmFtZSIsInNpemUiLCJpdGVtcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1wb3J0RGF0YS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IE5zY1VwbG9hZCBmcm9tIFwiLi4vdXBsb2FkXCI7XHJcbmltcG9ydCBOU0NCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgTnNjRG93bkxvYWQgZnJvbSBcIi4uL2Rvd25sb2FkXCI7XHJcbmltcG9ydCBOc2NNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBGb2xkZXJPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBTdGVwcyBmcm9tIFwiLi4vc3RlcHNcIjtcclxuaW1wb3J0IG5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgQWxlcnQgZnJvbSBcIi4uL2FsZXJ0XCI7XHJcbmltcG9ydCBDb2xsYXBzZSBmcm9tIFwiLi4vY29sbGFwc2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uL2NvbW1vbi9JY29uXCI7XHJcblxyXG5pbnRlcmZhY2UgSW1wb3J0UHJvcG9zIHtcclxuICBjaGVja0RhdGE/OiBib29sZWFuOyAvL+aYr+WQpui/m+ihjOaVsOaNruagoemqjO+8jOm7mOiupGZhbHNlXHJcbiAgY2hlY2tVcmw/OiBzdHJpbmc7IC8v5pWw5o2u5qCh6aqM5o6l5Y+j5Zyw5Z2AXHJcbiAgaW1wb3J0VXJsOiBzdHJpbmc7IC8v5pWw5o2u5a+85YWl5Zyw5Z2AXHJcbiAgcmVxdWVzdENvbmZpZz86IGFueTtcclxuICBkb3duTG9hZFRlbXBsZXQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuS4i+i9veaooeadv+aMiemSrlxyXG4gIGRvd25UZW1wbGV0VXJsPzogc3RyaW5nOyAvL+S4i+i9veaooeadv+WcsOWdgFxyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgY2hlY2tDYWxsQmFjaz86IGFueTsgLy/mlbDmja7moKHpqozlm57osINcclxuICAgIGltcG9ydENhbGxCYWNrPzogYW55OyAvL+aVsOaNruWvvOWFpeWbnuiwg1xyXG4gICAgY2xvc2VDYWxsQmFjaz86IGFueTtcclxuICB9O1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jbGFzcyBOc2NJbXBvcnREYXRhIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJbXBvcnRQcm9wb3MsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgc3RhdHVzOiAxLFxyXG4gICAgZmlsZTogbnVsbCxcclxuICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgcmVxdWVzdFN0YXR1czogXCJcIixcclxuICAgIGVycm9yTGlzdDogW10sXHJcbiAgICB3YXJuTGlzdDogW10sXHJcbiAgfTtcclxuICBtb2RhbFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZmlsZVNpemVLYihudW1iZXIgPSAwKSB7XHJcbiAgICByZXR1cm4gKG51bWJlciAvIDEwMjQpLnRvRml4ZWQoMik7XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoZmlsZSwgaXNPdmVyd3JpdGUpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdENvbmZpZyA9IHt9LCBpbXBvcnRVcmwsIG9uQ2FsbEJhY2tzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBkYXRhID0ge30sIC4uLmNvbmZpZyB9ID0gcmVxdWVzdENvbmZpZztcclxuICAgIG5zY0ZpbGVcclxuICAgICAgLmltcG9ydEZpbGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdXJsOiBpbXBvcnRVcmwsXHJcbiAgICAgICAgICBkYXRhOiB7IC4uLmRhdGEsIGlzT3ZlcndyaXRlOiBpc092ZXJ3cml0ZSB9LFxyXG4gICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlcXVlc3RDb25maWdcclxuICAgICAgKVxyXG4gICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIG9uQ2FsbEJhY2tzPy5pbXBvcnRDYWxsQmFjayAmJiBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2socmVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJFcnJvckNvbnRlbnQobGlzdCkge1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zdGF0ZS5yZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiKSB7XHJcbiAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e1wi56ysXCIgKyBpdGVtLnJvd051bSArIFwi6KGM5pWw5o2u6YeN5aSN77ybXCJ9PC9kaXY+O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtLmVycm9yTXNnfTwvZGl2PjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlclJlc3VsdCgpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdFN0YXR1cywgZXJyb3JMaXN0LCB3YXJuTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGFsZXJ0X21zZ19tYXAgPSB7XHJcbiAgICAgIHN1Y2Nlc3M6IFwi5a+85YWl5oiQ5YqfXCIsXHJcbiAgICAgIGVycm9yOiBcIuWvvOWFpeWksei0pVwiLFxyXG4gICAgICB3YXJuaW5nOiBcIuWRiuitpuaPkOekulwiLFxyXG4gICAgfTtcclxuICAgIGlmIChyZXF1ZXN0U3RhdHVzID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEFsZXJ0XHJcbiAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IFwiOHB4XCIgfX1cclxuICAgICAgICAgIG1lc3NhZ2U9e2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c10gPz8gXCLmj5DnpLpcIn1cclxuICAgICAgICAgIHR5cGU9e3JlcXVlc3RTdGF0dXN9XHJcbiAgICAgICAgICBzaG93SWNvblxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxDb2xsYXBzZVxyXG4gICAgICAgICAgZXhwYW5kSWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiY29udGVudC13YXJuaW5nXCIgOiBcImNvbnRlbnQtZXJyb3JcIlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkNFMUFCXCIgOiBcIiNmZmYyZjBcIixcclxuICAgICAgICAgICAgYm9yZGVyOlxyXG4gICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCJcclxuICAgICAgICAgICAgICAgID8gXCIxcHggc29saWQgI0ZDRTFBQlwiXHJcbiAgICAgICAgICAgICAgICA6IFwiMXB4IHNvbGlkICNGRkNDQzdcIixcclxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjJweFwiLFxyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGRlZmF1bHRBY3RpdmVLZXk9e1tcIjFcIl19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPENvbGxhcHNlLlBhbmVsXHJcbiAgICAgICAgICAgIGtleT1cIjFcIlxyXG4gICAgICAgICAgICBoZWFkZXI9e1xyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICA8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7YWxlcnRfbXNnX21hcFtyZXF1ZXN0U3RhdHVzXX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBleHRyYT17XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIuafpeeci1wiIDogXCLmn6XnnIvplJnor69cIn1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkZGREY2XCIgOiBcIiNmZmY5ZjlcIixcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbnRlbnQtZXJyb3JfX21zZ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJFcnJvckNvbnRlbnQoXHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gd2Fybkxpc3QgOiBlcnJvckxpc3RcclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvQ29sbGFwc2UuUGFuZWw+XHJcbiAgICAgICAgPC9Db2xsYXBzZT5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHN0YXR1czogMSxcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgIHJlcXVlc3RTdGF0dXM6IFwiXCIsXHJcbiAgICAgIGVycm9yTGlzdDogW10sXHJcbiAgICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZpbGUsIHN0YXR1cywgY3VycmVudFN0ZXAsIHJlcXVlc3RTdGF0dXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRvd25Mb2FkVGVtcGxldCxcclxuICAgICAgZG93blRlbXBsZXRVcmwsXHJcbiAgICAgIGNoZWNrRGF0YSxcclxuICAgICAgY2hlY2tVcmwsXHJcbiAgICAgIHJlcXVlc3RDb25maWcsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb290ZXJcIj5cclxuICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uaGlkZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDlj5bmtohcclxuICAgICAgICA8L05TQ0J1dHRvbj5cclxuXHJcbiAgICAgICAge3N0YXR1cyA9PSAxICYmIHRoaXMuc3RhdGUuZmlsZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMixcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja0RhdGEpIHtcclxuICAgICAgICAgICAgICAgIG5zY0ZpbGVcclxuICAgICAgICAgICAgICAgICAgLmltcG9ydEZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogY2hlY2tVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZXF1ZXN0Q29uZmlnPy5kYXRhIHx8IHt9LFxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmVycm9yQ291bnQgPT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyb3JDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTGlzdDogcmVzLmRhdGEuZXJyb3JMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDkuI3opobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdj5cclxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbiA/IChcclxuICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LnNob3coKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5pWw5o2u5a+85YWlXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8TnNjTW9kYWxcclxuICAgICAgICAgIHRpdGxlPVwi5pWw5o2u5a+85YWlXCJcclxuICAgICAgICAgIHdpZHRoPXs4MDB9XHJcbiAgICAgICAgICB3cmFwQ2xhc3NOYW1lPXtcImltcG9ydC1tb2RhbFwifVxyXG4gICAgICAgICAgcmVmPXt0aGlzLm1vZGFsUmVmfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIHtzdGF0dXMgPT0gMSA/IChcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICAgICAgICAgICAgPE5zY1VwbG9hZFxyXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZVVwbG9hZD17KGZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbGVTdWZmaXg9e1tcInhsc1wiLCBcInhseHNcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0PXtcIi54bHMsLnhseHNcIn1cclxuICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdD17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEZvbGRlck91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOmAieaLqeaWh+S7tlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L05zY1VwbG9hZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHtkb3duTG9hZFRlbXBsZXQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxOc2NEb3duTG9hZCB1cmw9e2Rvd25UZW1wbGV0VXJsfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAg5qih5p2/5LiL6L29XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L05zY0Rvd25Mb2FkPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgMeOAgeaUr+aMgUV4Y2VsIDIwMDflj4rku6XkuIrniYjmnKzvvIzkuJTmr4/mrKHlj6rog73kuIrkvKDkuIDkuKrmlofku7bvvJtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjLjgIHlr7zlhaXliY3lhYjkuIvovb3mqKHmnb/vvIzlubbmoLnmja7mqKHmnb/loavlhpnmlbDmja7vvJs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7ZmlsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLWZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHR5cGU9XCJleGNlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS10aXRsZVwiPntmaWxlLm5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICDmlofku7blpKflsI/vvJp7dGhpcy5maWxlU2l6ZUtiKGZpbGUuc2l6ZSkgKyBcIktCXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxTdGVwc1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW50PXtjdXJyZW50U3RlcH1cclxuICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7liIbmnpBcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruaPkuWFpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicmVzdWx0LWNvbnRlbnRcIn0+e3RoaXMucmVuZGVyUmVzdWx0KCl9PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L05zY01vZGFsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0ltcG9ydERhdGE7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFdBQVcsTUFBTSxhQUFhO0FBQ3JDLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLFFBQVEsTUFBTSxvQkFBb0I7QUFDekMsU0FDRUMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMseUJBQXlCLFFBQ3BCLG1CQUFtQjtBQUMxQixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxPQUFPLE1BQU0sVUFBVTtBQUU5QixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxRQUFRLE1BQU0sYUFBYTtBQWlCbEMsTUFBTUMsYUFBYSxTQUFTZCxLQUFLLENBQUNlLGFBQWEsQ0FBb0I7RUFBQUMsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQUMsZUFBQSxnQkFDekQ7TUFDTkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsSUFBSSxFQUFFLElBQUk7TUFDVkMsV0FBVyxFQUFFLENBQUM7TUFDZEMsYUFBYSxFQUFFLEVBQUU7TUFDakJDLFNBQVMsRUFBRSxFQUFFO01BQ2JDLFFBQVEsRUFBRTtJQUNaLENBQUM7SUFBQU4s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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","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","createRef","fileSizeKb","number","length","undefined","toFixed","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","importFile","url","_objectSpread","then","res","code","_message","success","setState","importCallBack","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","error","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","resetData","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","footer","onClick","_this$modalRef$curren","modalRef","current","hide","marginLeft","children","_this$modalRef$curren2","show","title","width","wrapClassName","ref","onCancel","beforeUpload","allowFileSuffix","accept","showUploadList","disabled","icon","errorCount","duplicateCount","duplicateList","name","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\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 checkCallBack?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n };\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 };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\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 requestConfig\r\n )\r\n .then((res: any) => {\r\n if (res.code == 200) {\r\n message.success(\"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\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 <div key={index}>{\"第\" + item.rowNum + \"行数据重复;\"}</div>;\r\n } else {\r\n return <div key={index}>{item.errorMsg}</div>;\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 == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={requestStatus}\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: 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: 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 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 } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }}\r\n >\r\n 取消\r\n </NSCButton>\r\n {downLoadTemplet && status == 1 && (\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 {requestStatus == \"warning\" && status == 2 && (\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 >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\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 >\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 <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.modalRef.current?.show();\r\n }}\r\n >\r\n 数据导入\r\n </NSCButton>\r\n )}\r\n\r\n <NscModal\r\n title=\"数据导入\"\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.resetData();\r\n }}\r\n >\r\n <div className=\"content\">\r\n {status == 1 ? (\r\n <div>\r\n <div>\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\", \"xlxs\"]}\r\n accept={\".xls,.xlxs\"}\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 <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((res: any) => {\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 requestStatus: \"success\",\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 disabled={file ? false : true}\r\n icon={<UploadOutlined />}\r\n style={{ marginLeft: 20 }}\r\n >\r\n 开始上传\r\n </NSCButton>\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 )}\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":";;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAO,cAAc;AACrB,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,WAAW,MAAM,aAAa;AACrC,OAAOC,QAAQ,MAAM,UAAU;AAC/B,OAAOC,QAAQ,MAAM,oBAAoB;AACzC,SACEC,cAAc,EACdC,cAAc,EACdC,mBAAmB,EACnBC,yBAAyB,QACpB,mBAAmB;AAC1B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,OAAO,MAAM,UAAU;AAE9B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,QAAQ,MAAM,aAAa;AAiBlC,MAAMC,aAAa,SAASd,KAAK,CAACe,aAAa,CAAoB;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBACzD;MACNC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,IAAI;MACVC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,EAAE;MACjBC,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAE;IACZ,CAAC;IAAAN,eAAA,gCACUlB,KAAK,CAACyB,SAAS,CAAM,CAAC;EAAA;EACjCC,UAAUA,CAAA,EAAa;IAAA,IAAZC,MAAM,GAAAV,SAAA,CAAAW,MAAA,QAAAX,SAAA,QAAAY,SAAA,GAAAZ,SAAA,MAAG,CAAC;IACnB,OAAO,CAACU,MAAM,GAAG,IAAI,EAAEG,OAAO,CAAC,CAAC,CAAC;EACnC;EACAC,UAAUA,CAACX,IAAI,EAAEY,WAAW,EAAE;IAC5B,MAAM;MAAEC,aAAa,GAAG,CAAC,CAAC;MAAEC,SAAS;MAAEC,WAAW,GAAG,CAAC;IAAE,CAAC,GAAG,IAAI,CAACC,KAAK;IACtE,IAAI;QAAEC,IAAI,GAAG,CAAC;MAAa,CAAC,GAAGJ,aAAa;MAAxBK,MAAM,GAAAC,wBAAA,CAAKN,aAAa,EAAAO,SAAA;IAC5C7B,OAAO,CACJ8B,UAAU,CACT;MACEC,GAAG,EAAER,SAAS;MACdG,IAAI,EAAAM,aAAA,CAAAA,aAAA,KAAON,IAAI;QAAEL,WAAW,EAAEA;MAAW,EAAE;MAC3CZ,IAAI,EAAEA;IACR,CAAC,EACDa,aACF,CAAC,CACAW,IAAI,CAAEC,GAAQ,IAAK;MAClB,IAAIA,GAAG,CAACC,IAAI,IAAI,GAAG,EAAE;QACnBC,QAAA,CAAQC,OAAO,CAAC,OAAO,CAAC;QACxB,IAAI,CAACC,QAAQ,CAAC;UACZ3B,aAAa,EAAE;QACjB,CAAC,CAAC;QACF,CAAAa,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEe,cAAc,MAAIf,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEe,cAAc,CAACL,GAAG,CAAC;MACjE;IACF,CAAC,CAAC;EACN;EACAM,kBAAkBA,CAACC,IAAI,EAAE;IACvB,OAAOA,IAAI,CAACC,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;MAC/B,IAAI,IAAI,CAACC,KAAK,CAAClC,aAAa,IAAI,SAAS,EAAE;QACzC,oBAAOtB,KAAA,CAAAyD,aAAA;UAAKC,GAAG,EAAEH;QAAM,GAAE,GAAG,GAAGD,IAAI,CAACK,MAAM,GAAG,QAAc,CAAC;MAC9D,CAAC,MAAM;QACL,oBAAO3D,KAAA,CAAAyD,aAAA;UAAKC,GAAG,EAAEH;QAAM,GAAED,IAAI,CAACM,QAAc,CAAC;MAC/C;IACF,CAAC,CAAC;EACJ;EACAC,YAAYA,CAAA,EAAG;IACb,MAAM;MAAEvC,aAAa;MAAEC,SAAS;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACgC,KAAK;IACzD,MAAMM,aAAa,GAAG;MACpBd,OAAO,EAAE,MAAM;MACfe,KAAK,EAAE,MAAM;MACbC,OAAO,EAAE;IACX,CAAC;IACD,IAAI1C,aAAa,IAAI,SAAS,EAAE;MAAA,IAAA2C,qBAAA;MAC9B,oBACEjE,KAAA,CAAAyD,aAAA,CAAC7C,KAAK;QACJsD,KAAK,EAAE;UAAEC,SAAS,EAAE;QAAM,CAAE;QAC5BC,OAAO,GAAAH,qBAAA,GAAEH,aAAa,CAACxC,aAAa,CAAC,cAAA2C,qBAAA,cAAAA,qBAAA,GAAI,IAAK;QAC9CI,IAAI,EAAE/C,aAAc;QACpBgD,QAAQ;MAAA,CACT,CAAC;IAEN,CAAC,MAAM;MACL,oBACEtE,KAAA,CAAAyD,aAAA,CAAC5C,QAAQ;QACP0D,kBAAkB,EAAC,OAAO;QAC1BC,SAAS,EACPlD,aAAa,IAAI,SAAS,GAAG,iBAAiB,GAAG,eAClD;QACD4C,KAAK,EAAE;UACLO,eAAe,EAAEnD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG,SAAS;UACnEoD,MAAM,EACJpD,aAAa,IAAI,SAAS,GACtB,mBAAmB,GACnB,mBAAmB;UACzBqD,YAAY,EAAE;QAChB,CAAE;QACFC,gBAAgB,EAAE,CAAC,GAAG;MAAE,gBAExB5E,KAAA,CAAAyD,aAAA,CAAC5C,QAAQ,CAACgE,KAAK;QACbnB,GAAG,EAAC,GAAG;QACPoB,MAAM,eACJ9E,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA;UACES,KAAK,EAAE;YACLa,KAAK,EAAEzD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG;UAClD;QAAE,GAEDA,aAAa,IAAI,SAAS,gBACzBtB,KAAA,CAAAyD,aAAA,CAAChD,yBAAyB,MAAE,CAAC,gBAE7BT,KAAA,CAAAyD,aAAA,CAACjD,mBAAmB,MAAE,CACvB,EACAsD,aAAa,CAACxC,aAAa,CACxB,CACH,CACN;QACD0D,KAAK,eACHhF,KAAA,CAAAyD,aAAA;UACES,KAAK,EAAE;YACLa,KAAK,EAAEzD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG;UAClD;QAAE,GAEDA,aAAa,IAAI,SAAS,GAAG,IAAI,GAAG,MACjC;MACP,gBAEDtB,KAAA,CAAAyD,aAAA;QACES,KAAK,EAAE;UACLe,UAAU,EAAE3D,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG;QACvD,CAAE;QACFkD,SAAS,EAAC;MAAoB,GAE7B,IAAI,CAACrB,kBAAkB,CACtB7B,aAAa,IAAI,SAAS,GAAGE,QAAQ,GAAGD,SAC1C,CACG,CACS,CACR,CAAC;IAEf;EACF;EACA2D,SAASA,CAAA,EAAG;IACV,IAAI,CAACjC,QAAQ,CAAC;MACZ9B,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,IAAI;MACVC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,EAAE;MACjBC,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EACA2D,MAAMA,CAAA,EAAG;IACP,MAAM;MAAE/D,IAAI;MAAED,MAAM;MAAEE,WAAW;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACkC,KAAK;IAC/D,MAAM;MACJ4B,eAAe;MACfC,cAAc;MACdC,SAAS;MACTC,QAAQ;MACRtD;IACF,CAAC,GAAG,IAAI,CAACG,KAAK;IACd,MAAMoD,MAAM,gBACVxF,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAQ,gBACrBxE,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRuF,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAC,qBAAA;QACb,CAAAA,qBAAA,OAAI,CAACC,QAAQ,CAACC,OAAO,cAAAF,qBAAA,eAArBA,qBAAA,CAAuBG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAACX,SAAS,CAAC,CAAC;MAClB;IAAE,GACH,cAEU,CAAC,EACXE,eAAe,IAAIjE,MAAM,IAAI,CAAC,iBAC7BnB,KAAA,CAAAyD,aAAA,CAACtD,WAAW;MAACuC,GAAG,EAAE2C;IAAe,gBAC/BrF,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MAACmE,IAAI,EAAC,SAAS;MAACH,KAAK,EAAE;QAAE4B,UAAU,EAAE;MAAG;IAAE,GAAC,0BAE1C,CACA,CACd,EACAxE,aAAa,IAAI,SAAS,IAAIH,MAAM,IAAI,CAAC,iBACxCnB,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAC,SAAS;MACdH,KAAK,EAAE;QAAE4B,UAAU,EAAE;MAAG,CAAE;MAC1BL,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAAC1D,UAAU,CAAC,IAAI,CAACyB,KAAK,CAACpC,IAAI,EAAE,KAAK,CAAC;MACzC;IAAE,GACH,gCAEU,CACZ,EACAE,aAAa,IAAI,SAAS,IAAIH,MAAM,IAAI,CAAC,iBACxCnB,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAC,SAAS;MACdH,KAAK,EAAE;QAAE4B,UAAU,EAAE;MAAG,CAAE;MAC1BL,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAAC1D,UAAU,CAAC,IAAI,CAACyB,KAAK,CAACpC,IAAI,EAAE,IAAI,CAAC;MACxC;IAAE,GACH,0BAEU,CAEV,CACN;IAED,oBACEpB,KAAA,CAAAyD,aAAA,cACG,IAAI,CAACrB,KAAK,CAAC2D,QAAQ,GAClB,IAAI,CAAC3D,KAAK,CAAC2D,QAAQ,gBAEnB/F,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAC,SAAS;MACdoB,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAO,sBAAA;QACb,CAAAA,sBAAA,OAAI,CAACL,QAAQ,CAACC,OAAO,cAAAI,sBAAA,eAArBA,sBAAA,CAAuBC,IAAI,CAAC,CAAC;MAC/B;IAAE,GACH,0BAEU,CACZ,eAEDjG,KAAA,CAAAyD,aAAA,CAACrD,QAAQ;MACP8F,KAAK,EAAC,0BAAM;MACZC,KAAK,EAAE,GAAI;MACXC,aAAa,EAAE,cAAe;MAC9BC,GAAG,EAAE,IAAI,CAACV,QAAS;MACnBH,MAAM,EAAEA,MAAO;MACfc,QAAQ,EAAEA,CAAA,KAAM;QACd,IAAI,CAACpB,SAAS,CAAC,CAAC;MAClB;IAAE,gBAEFlF,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAS,GACrBrD,MAAM,IAAI,CAAC,gBACVnB,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA,CAACxD,SAAS;MACRsG,YAAY,EAAGnF,IAAI,IAAK;QACtB,IAAI,CAAC6B,QAAQ,CAAC;UACZ7B;QACF,CAAC,CAAC;QACF,OAAO,KAAK;MACd,CAAE;MACFoF,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,CAAE;MACjCC,MAAM,EAAE,YAAa;MACrBC,cAAc,EAAE;IAAM,gBAEtB1G,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAE,SAAU;MAChBsC,QAAQ,EAAEvF,IAAI,GAAG,IAAI,GAAG,KAAM;MAC9BwF,IAAI,eAAE5G,KAAA,CAAAyD,aAAA,CAAClD,cAAc,MAAE;IAAE,GAC1B,0BAEU,CACF,CAAC,eACZP,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRuF,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAACxC,QAAQ,CAAC;UACZ9B,MAAM,EAAE,CAAC;UACTE,WAAW,EAAE;QACf,CAAC,CAAC;QACF,IAAIiE,SAAS,EAAE;UACb3E,OAAO,CACJ8B,UAAU,CAAC;YACVC,GAAG,EAAE6C,QAAQ;YACbnE,IAAI,EAAEA,IAAI;YACViB,IAAI,EAAE,CAAAJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,IAAI,KAAI,CAAC;UAChC,CAAC,CAAC,CACDO,IAAI,CAAEC,GAAQ,IAAK;YAClB,IACEA,GAAG,CAACR,IAAI,CAACwE,UAAU,IAAI,CAAC,IACxBhE,GAAG,CAACR,IAAI,CAACyE,cAAc,IAAI,CAAC,EAC5B;cACA,IAAI,CAAC7D,QAAQ,CAAC;gBACZ5B,WAAW,EAAE,CAAC;gBACdC,aAAa,EAAE;cACjB,CAAC,CAAC;cACF,IAAI,CAACS,UAAU,CAACX,IAAI,EAAE,KAAK,CAAC;cAC5B;YACF;YACA,IAAIyB,GAAG,CAACR,IAAI,CAACwE,UAAU,GAAG,CAAC,EAAE;cAC3B,IAAI,CAAC5D,QAAQ,CAAC;gBACZ3B,aAAa,EAAE,OAAO;gBACtBC,SAAS,EAAEsB,GAAG,CAACR,IAAI,CAACd;cACtB,CAAC,CAAC;cACF;YACF;YACA,IAAIsB,GAAG,CAACR,IAAI,CAACyE,cAAc,GAAG,CAAC,EAAE;cAC/B,IAAI,CAAC7D,QAAQ,CAAC;gBACZ3B,aAAa,EAAE,SAAS;gBACxBE,QAAQ,EAAEqB,GAAG,CAACR,IAAI,CAAC0E;cACrB,CAAC,CAAC;cACF;YACF;UACF,CAAC,CAAC;QACN;MACF,CAAE;MACFJ,QAAQ,EAAEvF,IAAI,GAAG,KAAK,GAAG,IAAK;MAC9BwF,IAAI,eAAE5G,KAAA,CAAAyD,aAAA,CAACnD,cAAc,MAAE,CAAE;MACzB4D,KAAK,EAAE;QAAE4B,UAAU,EAAE;MAAG;IAAE,GAC3B,0BAEU,CACR,CAAC,eACN9F,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAY,gBACzBxE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAiB,gBAC9BxE,KAAA,CAAAyD,aAAA,CAAChD,yBAAyB,MAAE,CACzB,CAAC,eACNT,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAoB,gBACjCxE,KAAA,CAAAyD,aAAA,cAAK,2IAEA,CAAC,eACNzD,KAAA,CAAAyD,aAAA,cAAK,2HAA0B,CAC5B,CACF,CAAC,EAELrC,IAAI,iBACHpB,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAa,gBAC1BxE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAW,gBACxBxE,KAAA,CAAAyD,aAAA,CAACpD,QAAQ;MAACgE,IAAI,EAAC;IAAO,CAAE,CACrB,CAAC,eACNrE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAc,gBAC3BxE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAY,GAAEpD,IAAI,CAAC4F,IAAU,CAAC,eAC7ChH,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAW,gBACxBxE,KAAA,CAAAyD,aAAA,eAAM,gCACC,EAAC,IAAI,CAAC/B,UAAU,CAACN,IAAI,CAAC6F,IAAI,CAAC,GAAG,IAC/B,CACH,CACF,CACF,CAEJ,CAAC,gBAENjH,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA,CAAC/C,KAAK;MACJkF,OAAO,EAAEvE,WAAY;MACrB6F,KAAK,EAAE,CACL;QACEhB,KAAK,EAAE;MACT,CAAC,EACD;QACEA,KAAK,EAAE;MACT,CAAC;IACD,CACH,CAAC,eACFlG,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAE;IAAiB,GAAE,IAAI,CAACX,YAAY,CAAC,CAAO,CACzD,CAEJ,CACG,CACP,CAAC;EAEV;AACF;AACA,eAAe/C,aAAa"}
1
+ {"version":3,"file":"index.js","names":["React","NscUpload","NSCButton","NscDownLoad","NscModal","FileIcon","UploadOutlined","FolderOutlined","CloseCircleOutlined","ExclamationCircleOutlined","Steps","nscFile","Alert","Collapse","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","createRef","fileSizeKb","number","length","undefined","toFixed","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","importFile","url","_objectSpread","then","res","code","_message","success","setState","importCallBack","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","error","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","resetData","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","footer","onClick","_this$modalRef$curren","modalRef","current","hide","errorCount","duplicateCount","duplicateList","disabled","icon","marginLeft","children","_this$modalRef$curren2","show","title","width","wrapClassName","ref","onCancel","_this$modalRef$curren3","display","beforeUpload","allowFileSuffix","accept","showUploadList","name","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\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 checkCallBack?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n };\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 };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\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 requestConfig\r\n )\r\n .then((res: any) => {\r\n if (res.code == 200) {\r\n message.success(\"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\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 <div key={index}>{\"第\" + item.rowNum + \"行数据重复;\"}</div>;\r\n } else {\r\n return <div key={index}>{item.errorMsg}</div>;\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 == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={requestStatus}\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: 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: 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 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 } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.modalRef.current?.hide();\r\n this.resetData();\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((res: any) => {\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 requestStatus: \"success\",\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 }}\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 {requestStatus == \"warning\" && status == 2 && (\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 >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\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 >\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 <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.modalRef.current?.show();\r\n }}\r\n >\r\n 数据导入\r\n </NSCButton>\r\n )}\r\n\r\n <NscModal\r\n title=\"数据导入\"\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.modalRef.current?.hide();\r\n this.resetData();\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\", \"xlxs\"]}\r\n accept={\".xls,.xlxs\"}\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 )}\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":";;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAO,cAAc;AACrB,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,WAAW,MAAM,aAAa;AACrC,OAAOC,QAAQ,MAAM,UAAU;AAC/B,OAAOC,QAAQ,MAAM,oBAAoB;AACzC,SACEC,cAAc,EACdC,cAAc,EACdC,mBAAmB,EACnBC,yBAAyB,QACpB,mBAAmB;AAC1B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,OAAO,MAAM,UAAU;AAE9B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,QAAQ,MAAM,aAAa;AAiBlC,MAAMC,aAAa,SAASd,KAAK,CAACe,aAAa,CAAoB;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBACzD;MACNC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,IAAI;MACVC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,EAAE;MACjBC,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAE;IACZ,CAAC;IAAAN,eAAA,gCACUlB,KAAK,CAACyB,SAAS,CAAM,CAAC;EAAA;EACjCC,UAAUA,CAAA,EAAa;IAAA,IAAZC,MAAM,GAAAV,SAAA,CAAAW,MAAA,QAAAX,SAAA,QAAAY,SAAA,GAAAZ,SAAA,MAAG,CAAC;IACnB,OAAO,CAACU,MAAM,GAAG,IAAI,EAAEG,OAAO,CAAC,CAAC,CAAC;EACnC;EACAC,UAAUA,CAACX,IAAI,EAAEY,WAAW,EAAE;IAC5B,MAAM;MAAEC,aAAa,GAAG,CAAC,CAAC;MAAEC,SAAS;MAAEC,WAAW,GAAG,CAAC;IAAE,CAAC,GAAG,IAAI,CAACC,KAAK;IACtE,IAAI;QAAEC,IAAI,GAAG,CAAC;MAAa,CAAC,GAAGJ,aAAa;MAAxBK,MAAM,GAAAC,wBAAA,CAAKN,aAAa,EAAAO,SAAA;IAC5C7B,OAAO,CACJ8B,UAAU,CACT;MACEC,GAAG,EAAER,SAAS;MACdG,IAAI,EAAAM,aAAA,CAAAA,aAAA,KAAON,IAAI;QAAEL,WAAW,EAAEA;MAAW,EAAE;MAC3CZ,IAAI,EAAEA;IACR,CAAC,EACDa,aACF,CAAC,CACAW,IAAI,CAAEC,GAAQ,IAAK;MAClB,IAAIA,GAAG,CAACC,IAAI,IAAI,GAAG,EAAE;QACnBC,QAAA,CAAQC,OAAO,CAAC,OAAO,CAAC;QACxB,IAAI,CAACC,QAAQ,CAAC;UACZ3B,aAAa,EAAE;QACjB,CAAC,CAAC;QACF,CAAAa,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEe,cAAc,MAAIf,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEe,cAAc,CAACL,GAAG,CAAC;MACjE;IACF,CAAC,CAAC;EACN;EACAM,kBAAkBA,CAACC,IAAI,EAAE;IACvB,OAAOA,IAAI,CAACC,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;MAC/B,IAAI,IAAI,CAACC,KAAK,CAAClC,aAAa,IAAI,SAAS,EAAE;QACzC,oBAAOtB,KAAA,CAAAyD,aAAA;UAAKC,GAAG,EAAEH;QAAM,GAAE,GAAG,GAAGD,IAAI,CAACK,MAAM,GAAG,QAAc,CAAC;MAC9D,CAAC,MAAM;QACL,oBAAO3D,KAAA,CAAAyD,aAAA;UAAKC,GAAG,EAAEH;QAAM,GAAED,IAAI,CAACM,QAAc,CAAC;MAC/C;IACF,CAAC,CAAC;EACJ;EACAC,YAAYA,CAAA,EAAG;IACb,MAAM;MAAEvC,aAAa;MAAEC,SAAS;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACgC,KAAK;IACzD,MAAMM,aAAa,GAAG;MACpBd,OAAO,EAAE,MAAM;MACfe,KAAK,EAAE,MAAM;MACbC,OAAO,EAAE;IACX,CAAC;IACD,IAAI1C,aAAa,IAAI,SAAS,EAAE;MAAA,IAAA2C,qBAAA;MAC9B,oBACEjE,KAAA,CAAAyD,aAAA,CAAC7C,KAAK;QACJsD,KAAK,EAAE;UAAEC,SAAS,EAAE;QAAM,CAAE;QAC5BC,OAAO,GAAAH,qBAAA,GAAEH,aAAa,CAACxC,aAAa,CAAC,cAAA2C,qBAAA,cAAAA,qBAAA,GAAI,IAAK;QAC9CI,IAAI,EAAE/C,aAAc;QACpBgD,QAAQ;MAAA,CACT,CAAC;IAEN,CAAC,MAAM;MACL,oBACEtE,KAAA,CAAAyD,aAAA,CAAC5C,QAAQ;QACP0D,kBAAkB,EAAC,OAAO;QAC1BC,SAAS,EACPlD,aAAa,IAAI,SAAS,GAAG,iBAAiB,GAAG,eAClD;QACD4C,KAAK,EAAE;UACLO,eAAe,EAAEnD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG,SAAS;UACnEoD,MAAM,EACJpD,aAAa,IAAI,SAAS,GACtB,mBAAmB,GACnB,mBAAmB;UACzBqD,YAAY,EAAE;QAChB,CAAE;QACFC,gBAAgB,EAAE,CAAC,GAAG;MAAE,gBAExB5E,KAAA,CAAAyD,aAAA,CAAC5C,QAAQ,CAACgE,KAAK;QACbnB,GAAG,EAAC,GAAG;QACPoB,MAAM,eACJ9E,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA;UACES,KAAK,EAAE;YACLa,KAAK,EAAEzD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG;UAClD;QAAE,GAEDA,aAAa,IAAI,SAAS,gBACzBtB,KAAA,CAAAyD,aAAA,CAAChD,yBAAyB,MAAE,CAAC,gBAE7BT,KAAA,CAAAyD,aAAA,CAACjD,mBAAmB,MAAE,CACvB,EACAsD,aAAa,CAACxC,aAAa,CACxB,CACH,CACN;QACD0D,KAAK,eACHhF,KAAA,CAAAyD,aAAA;UACES,KAAK,EAAE;YACLa,KAAK,EAAEzD,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG;UAClD;QAAE,GAEDA,aAAa,IAAI,SAAS,GAAG,IAAI,GAAG,MACjC;MACP,gBAEDtB,KAAA,CAAAyD,aAAA;QACES,KAAK,EAAE;UACLe,UAAU,EAAE3D,aAAa,IAAI,SAAS,GAAG,SAAS,GAAG;QACvD,CAAE;QACFkD,SAAS,EAAC;MAAoB,GAE7B,IAAI,CAACrB,kBAAkB,CACtB7B,aAAa,IAAI,SAAS,GAAGE,QAAQ,GAAGD,SAC1C,CACG,CACS,CACR,CAAC;IAEf;EACF;EACA2D,SAASA,CAAA,EAAG;IACV,IAAI,CAACjC,QAAQ,CAAC;MACZ9B,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,IAAI;MACVC,WAAW,EAAE,CAAC;MACdC,aAAa,EAAE,EAAE;MACjBC,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EACA2D,MAAMA,CAAA,EAAG;IACP,MAAM;MAAE/D,IAAI;MAAED,MAAM;MAAEE,WAAW;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACkC,KAAK;IAC/D,MAAM;MACJ4B,eAAe;MACfC,cAAc;MACdC,SAAS;MACTC,QAAQ;MACRtD;IACF,CAAC,GAAG,IAAI,CAACG,KAAK;IACd,MAAMoD,MAAM,gBACVxF,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAQ,gBACrBxE,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRuF,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAC,qBAAA;QACb,CAAAA,qBAAA,OAAI,CAACC,QAAQ,CAACC,OAAO,cAAAF,qBAAA,eAArBA,qBAAA,CAAuBG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAACX,SAAS,CAAC,CAAC;MAClB;IAAE,GACH,cAEU,CAAC,EAEX/D,MAAM,IAAI,CAAC,IAAI,IAAI,CAACqC,KAAK,CAACpC,IAAI,iBAC7BpB,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRuF,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAACxC,QAAQ,CAAC;UACZ9B,MAAM,EAAE,CAAC;UACTE,WAAW,EAAE;QACf,CAAC,CAAC;QACF,IAAIiE,SAAS,EAAE;UACb3E,OAAO,CACJ8B,UAAU,CAAC;YACVC,GAAG,EAAE6C,QAAQ;YACbnE,IAAI,EAAEA,IAAI;YACViB,IAAI,EAAE,CAAAJ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,IAAI,KAAI,CAAC;UAChC,CAAC,CAAC,CACDO,IAAI,CAAEC,GAAQ,IAAK;YAClB,IAAIA,GAAG,CAACC,IAAI,IAAI,GAAG,EAAE;cACnB,IACED,GAAG,CAACR,IAAI,CAACyD,UAAU,IAAI,CAAC,IACxBjD,GAAG,CAACR,IAAI,CAAC0D,cAAc,IAAI,CAAC,EAC5B;gBACA,IAAI,CAAC9C,QAAQ,CAAC;kBACZ5B,WAAW,EAAE,CAAC;kBACdC,aAAa,EAAE;gBACjB,CAAC,CAAC;gBACF,IAAI,CAACS,UAAU,CAACX,IAAI,EAAE,KAAK,CAAC;gBAC5B;cACF;cACA,IAAIyB,GAAG,CAACR,IAAI,CAACyD,UAAU,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC7C,QAAQ,CAAC;kBACZ3B,aAAa,EAAE,OAAO;kBACtBC,SAAS,EAAEsB,GAAG,CAACR,IAAI,CAACd;gBACtB,CAAC,CAAC;gBACF;cACF;cACA,IAAIsB,GAAG,CAACR,IAAI,CAAC0D,cAAc,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC9C,QAAQ,CAAC;kBACZ3B,aAAa,EAAE,SAAS;kBACxBE,QAAQ,EAAEqB,GAAG,CAACR,IAAI,CAAC2D;gBACrB,CAAC,CAAC;gBACF;cACF;YACF;UACF,CAAC,CAAC;QACN;MACF,CAAE;MACFC,QAAQ,EAAE7E,IAAI,GAAG,KAAK,GAAG,IAAK;MAC9B8E,IAAI,eAAElG,KAAA,CAAAyD,aAAA,CAACnD,cAAc,MAAE,CAAE;MACzB4D,KAAK,EAAE;QAAEiC,UAAU,EAAE;MAAG;IAAE,GAC3B,0BAEU,CACZ,EACA7E,aAAa,IAAI,SAAS,IAAIH,MAAM,IAAI,CAAC,iBACxCnB,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAC,SAAS;MACdH,KAAK,EAAE;QAAEiC,UAAU,EAAE;MAAG,CAAE;MAC1BV,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAAC1D,UAAU,CAAC,IAAI,CAACyB,KAAK,CAACpC,IAAI,EAAE,KAAK,CAAC;MACzC;IAAE,GACH,gCAEU,CACZ,EACAE,aAAa,IAAI,SAAS,IAAIH,MAAM,IAAI,CAAC,iBACxCnB,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAC,SAAS;MACdH,KAAK,EAAE;QAAEiC,UAAU,EAAE;MAAG,CAAE;MAC1BV,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAAC1D,UAAU,CAAC,IAAI,CAACyB,KAAK,CAACpC,IAAI,EAAE,IAAI,CAAC;MACxC;IAAE,GACH,0BAEU,CAEV,CACN;IAED,oBACEpB,KAAA,CAAAyD,aAAA,cACG,IAAI,CAACrB,KAAK,CAACgE,QAAQ,GAClB,IAAI,CAAChE,KAAK,CAACgE,QAAQ,gBAEnBpG,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAC,SAAS;MACdoB,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAY,sBAAA;QACb,CAAAA,sBAAA,OAAI,CAACV,QAAQ,CAACC,OAAO,cAAAS,sBAAA,eAArBA,sBAAA,CAAuBC,IAAI,CAAC,CAAC;MAC/B;IAAE,GACH,0BAEU,CACZ,eAEDtG,KAAA,CAAAyD,aAAA,CAACrD,QAAQ;MACPmG,KAAK,EAAC,0BAAM;MACZC,KAAK,EAAE,GAAI;MACXC,aAAa,EAAE,cAAe;MAC9BC,GAAG,EAAE,IAAI,CAACf,QAAS;MACnBH,MAAM,EAAEA,MAAO;MACfmB,QAAQ,EAAEA,CAAA,KAAM;QAAA,IAAAC,sBAAA;QACd,CAAAA,sBAAA,OAAI,CAACjB,QAAQ,CAACC,OAAO,cAAAgB,sBAAA,eAArBA,sBAAA,CAAuBf,IAAI,CAAC,CAAC;QAC7B,IAAI,CAACX,SAAS,CAAC,CAAC;MAClB;IAAE,gBAEFlF,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAS,GACrBrD,MAAM,IAAI,CAAC,gBACVnB,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA;MAAKS,KAAK,EAAE;QAAE2C,OAAO,EAAE;MAAO;IAAE,gBAC9B7G,KAAA,CAAAyD,aAAA,CAACxD,SAAS;MACR6G,YAAY,EAAG1F,IAAI,IAAK;QACtB,IAAI,CAAC6B,QAAQ,CAAC;UACZ7B;QACF,CAAC,CAAC;QACF,OAAO,KAAK;MACd,CAAE;MACF2F,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,CAAE;MACjCC,MAAM,EAAE,YAAa;MACrBC,cAAc,EAAE;IAAM,gBAEtBjH,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MACRmE,IAAI,EAAE,SAAU;MAChB4B,QAAQ,EAAE7E,IAAI,GAAG,IAAI,GAAG,KAAM;MAC9B8E,IAAI,eAAElG,KAAA,CAAAyD,aAAA,CAAClD,cAAc,MAAE;IAAE,GAC1B,0BAEU,CACF,CAAC,EAEX6E,eAAe,iBACdpF,KAAA,CAAAyD,aAAA,CAACtD,WAAW;MAACuC,GAAG,EAAE2C;IAAe,gBAC/BrF,KAAA,CAAAyD,aAAA,CAACvD,SAAS;MAACmE,IAAI,EAAC,SAAS;MAACH,KAAK,EAAE;QAAEiC,UAAU,EAAE;MAAG;IAAE,GAAC,0BAE1C,CACA,CAEZ,CAAC,eACNnG,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAY,gBACzBxE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAiB,gBAC9BxE,KAAA,CAAAyD,aAAA,CAAChD,yBAAyB,MAAE,CACzB,CAAC,eACNT,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAoB,gBACjCxE,KAAA,CAAAyD,aAAA,cAAK,2IAEA,CAAC,eACNzD,KAAA,CAAAyD,aAAA,cAAK,2HAA0B,CAC5B,CACF,CAAC,EAELrC,IAAI,iBACHpB,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAa,gBAC1BxE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAW,gBACxBxE,KAAA,CAAAyD,aAAA,CAACpD,QAAQ;MAACgE,IAAI,EAAC;IAAO,CAAE,CACrB,CAAC,eACNrE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAc,gBAC3BxE,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAY,GAAEpD,IAAI,CAAC8F,IAAU,CAAC,eAC7ClH,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAC;IAAW,gBACxBxE,KAAA,CAAAyD,aAAA,eAAM,gCACC,EAAC,IAAI,CAAC/B,UAAU,CAACN,IAAI,CAAC+F,IAAI,CAAC,GAAG,IAC/B,CACH,CACF,CACF,CAEJ,CAAC,gBAENnH,KAAA,CAAAyD,aAAA,2BACEzD,KAAA,CAAAyD,aAAA,CAAC/C,KAAK;MACJkF,OAAO,EAAEvE,WAAY;MACrB+F,KAAK,EAAE,CACL;QACEb,KAAK,EAAE;MACT,CAAC,EACD;QACEA,KAAK,EAAE;MACT,CAAC;IACD,CACH,CAAC,eACFvG,KAAA,CAAAyD,aAAA;MAAKe,SAAS,EAAE;IAAiB,GAAE,IAAI,CAACX,YAAY,CAAC,CAAO,CACzD,CAEJ,CACG,CACP,CAAC;EAEV;AACF;AACA,eAAe/C,aAAa"}
@@ -21,6 +21,7 @@ export interface FormPageProps {
21
21
  editorParams?: any;
22
22
  };
23
23
  requestConfig?: any;
24
+ footerWidth?: boolean;
24
25
  [propsName: string]: any;
25
26
  }
26
27
  declare class FormPage extends PureComponent<FormPageProps, any> {
@@ -32,6 +33,7 @@ declare class FormPage extends PureComponent<FormPageProps, any> {
32
33
  value: any;
33
34
  dictNames: any;
34
35
  fileList: any;
36
+ width: boolean;
35
37
  };
36
38
  valid: any;
37
39
  dateValueFormat: any;