nsc-react-component 4.1.27 → 4.2.0

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.
@@ -35,17 +35,18 @@ const defaulUtil = {
35
35
  };
36
36
  const renderSelfToolButton = _ref => {
37
37
  let {
38
- selfToolButton,
38
+ selfButton,
39
39
  pageRef,
40
40
  funcs,
41
- loading
41
+ loading,
42
+ type = "toolButton"
42
43
  } = _ref;
43
- if (selfToolButton.length == 0) {
44
+ if (selfButton.length == 0) {
44
45
  return null;
45
46
  } else {
46
- return selfToolButton.map((item, index) => {
47
+ return selfButton.map((item, index) => {
47
48
  return /*#__PURE__*/React.createElement(Button, {
48
- pageType: "toolButton",
49
+ pageType: type,
49
50
  key: index,
50
51
  type: item.type,
51
52
  onClick: () => {
@@ -198,10 +199,12 @@ export default class SettingTable extends React.Component {
198
199
  tableProps: {},
199
200
  selfToolButton: [],
200
201
  selfColumnButton: [],
202
+ selfFormButton: [],
201
203
  pageLoading: true,
202
204
  defaultColumns: [],
203
205
  otherProps: {},
204
- buttonLoading: {}
206
+ buttonLoading: {},
207
+ formPageProps: {}
205
208
  });
206
209
  _defineProperty(this, "pageRef", /*#__PURE__*/React.createRef());
207
210
  _defineProperty(this, "initData", res => {
@@ -261,6 +264,7 @@ export default class SettingTable extends React.Component {
261
264
  let tree_props = JSON.parse(res.data.treeProps || "{}") || {};
262
265
  let page_props = JSON.parse(res.data.pageProps || "{}") || {};
263
266
  let other_props = JSON.parse(res.data.otherParams || "{}") || {};
267
+ let form_props = JSON.parse(res.data.formProps || "{}") || {};
264
268
  if (((_page_props$permissio = page_props.permission) === null || _page_props$permissio === void 0 ? void 0 : _page_props$permissio.has) == true) {
265
269
  page_props.permission.menuCode = menuCode;
266
270
  }
@@ -323,7 +327,9 @@ export default class SettingTable extends React.Component {
323
327
  otherProps: _objectSpread({}, other_props),
324
328
  selfColumnButton: JSON.parse(res.data.columnButtons) || [],
325
329
  selfToolButton: JSON.parse(res.data.toolButtons) || [],
326
- defaultColumns: page_props.columns
330
+ defaultColumns: page_props.columns,
331
+ formPageProps: form_props,
332
+ selfFormButton: (form_props === null || form_props === void 0 ? void 0 : form_props.selfButton) || []
327
333
  }, () => {
328
334
  this.setState({
329
335
  pageLoading: false
@@ -393,7 +399,9 @@ export default class SettingTable extends React.Component {
393
399
  selfColumnButton,
394
400
  pageLoading,
395
401
  defaultColumns,
396
- buttonLoading = {}
402
+ buttonLoading = {},
403
+ formPageProps = {},
404
+ selfFormButton
397
405
  } = this.state;
398
406
  const {
399
407
  treeProps: settingTreeProps = {},
@@ -447,23 +455,28 @@ export default class SettingTable extends React.Component {
447
455
  } = this.props;
448
456
  let codeSelfButtons = [];
449
457
  let codecolumnButtons = [];
458
+ let codeFormButtons = [];
450
459
  if (Array.isArray(children)) {
451
460
  children.map(item => {
452
461
  if (Array.isArray(item)) {
453
462
  item.map(child => {
454
- var _child$props, _child$props2;
463
+ var _child$props, _child$props2, _child$props3;
455
464
  if ((child === null || child === void 0 || (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.pageType) == "toolButton") {
456
465
  codeSelfButtons.push(child);
457
466
  } else if ((child === null || child === void 0 || (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.pageType) == "columnButton") {
458
467
  codecolumnButtons.push(child);
468
+ } else if ((child === null || child === void 0 || (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.pageType) == "formButton") {
469
+ codeFormButtons.push(child);
459
470
  }
460
471
  });
461
472
  } else {
462
- var _item$props, _item$props2;
473
+ var _item$props, _item$props2, _item$props3;
463
474
  if ((item === null || item === void 0 || (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.pageType) == "toolButton") {
464
475
  codeSelfButtons.push(item);
465
476
  } else if ((item === null || item === void 0 || (_item$props2 = item.props) === null || _item$props2 === void 0 ? void 0 : _item$props2.pageType) == "columnButton") {
466
477
  codecolumnButtons.push(item);
478
+ } else if ((item === null || item === void 0 || (_item$props3 = item.props) === null || _item$props3 === void 0 ? void 0 : _item$props3.pageType) == "formButton") {
479
+ codeFormButtons.push(item);
467
480
  }
468
481
  }
469
482
  });
@@ -503,9 +516,13 @@ export default class SettingTable extends React.Component {
503
516
  (_this$pageRef$current10 = this.pageRef.current) === null || _this$pageRef$current10 === void 0 || _this$pageRef$current10.hideForm();
504
517
  },
505
518
  funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs),
506
- initData: this.initData
519
+ initData: this.initData,
520
+ formPageProps: {
521
+ formType: formPageProps.formType || "modal",
522
+ props: formPageProps === null || formPageProps === void 0 ? void 0 : formPageProps.props
523
+ }
507
524
  }, otherProps), renderSelfToolButton({
508
- selfToolButton,
525
+ selfButton: selfToolButton,
509
526
  pageRef: this.pageRef,
510
527
  funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs),
511
528
  loading: this.state.buttonLoading
@@ -517,7 +534,15 @@ export default class SettingTable extends React.Component {
517
534
  funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs)
518
535
  }), codecolumnButtons.map(item => {
519
536
  return item;
537
+ }), renderSelfToolButton({
538
+ selfButton: selfFormButton,
539
+ pageRef: this.pageRef,
540
+ funcs: _objectSpread(_objectSpread({}, deaultFuncs), funcs),
541
+ loading: this.state.buttonLoading,
542
+ type: "formButton"
543
+ }), codeFormButtons.map(item => {
544
+ return item;
520
545
  })));
521
546
  }
522
547
  }
523
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJCdXR0b24iLCJSZWFjdCIsIk5zY0NvbSIsIk5zY0ZpbGUiLCJOc2NSZXF1ZXN0IiwiTnNjVXRpbHMiLCJjbHMiLCJxdWVyeVN0cmluZyIsImdldExvY2FsU3RvcmUiLCJkYXlqcyIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZlRvb2xCdXR0b24iLCJwYWdlUmVmIiwiZnVuY3MiLCJsb2FkaW5nIiwibGVuZ3RoIiwibWFwIiwiaXRlbSIsImluZGV4IiwicGFnZVR5cGUiLCJrZXkiLCJ0eXBlIiwib25DbGljayIsImV2ZW50T3B0aW9uIiwiZnVuYyIsIkZ1bmN0aW9uIiwiY29kZSIsIm5hbWUiLCJyZW5kZXJTZWxmQ29sdW1uQnV0dG9uIiwiX3JlZjIiLCJzZWxmQ29sdW1uQnV0dG9uIiwicmVjb3JkIiwicmVjb3JkU2hvdyIsImdldFBhZ2VEYXRhIiwicGFyYW1zIiwiZ2V0IiwieHNzRmlsdGVyIiwiYXV0b1ByZWZpeCIsInNldEZpZWxkRGlzYWJsZWQiLCJkYXRhIiwiZGlzYWJsZWQiLCJjb2x1bW5zIiwibmV3Q29sdW1ucyIsIm9iaiIsIl9vYmplY3RTcHJlYWQiLCJkYXRhSW5kZXgiLCJpbmRleE9mIiwicHJvcHMiLCJwdXNoIiwic2V0RmllbGRWaXNpYmxlIiwidmlzaWJsZSIsImVkaXRvciIsInNldEZpZWxkUHJvcHNEYXRhIiwicHJvcHNEYXRhIiwianVtcFBhZ2UiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaWQiLCJ0aXRsZSIsInNlcnZpY2VOYW1lIiwic2VydmljZVBhdGgiLCJvcGVuVHlwZSIsIm5ld1F1ZXJ5IiwidXJsUGFyYW1zIiwic3RyaW5naWZ5IiwicGF0aCIsImNvbmNhdCIsIndpbmRvdyIsIl9fUE9XRVJFRF9CWV9RSUFOS1VOX18iLCJwYXJlbnQiLCJwb3N0TWVzc2FnZSIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJsb2NhdGlvbiIsIm9yaWdpbiIsImhpc3RvcnkiLCJwdXNoU3RhdGUiLCJnbyIsImdldFByb2plY3QiLCJwcm9qZWN0IiwiU2V0dGluZ1RhYmxlIiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJhcmd1bWVudHMiLCJfZGVmaW5lUHJvcGVydHkiLCJwYWdlUHJvcHMiLCJ0cmVlUHJvcHMiLCJzdG9yZSIsInVybCIsImF1dG9Mb2FkIiwidGFibGVQcm9wcyIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImNyZWF0ZVJlZiIsInJlcyIsInN0YXRlIiwic2hvd1NlYXJjaCIsImRlZmF1bHRTZWFyY2giLCJ0YWJsZURhdGFSZXNvdXJjZSIsInNldFRpbWVvdXQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQyIiwiY3VycmVudCIsInRhYmxlTG9hZCIsInNldFNlYXJjaFBhcmFtcyIsImNvbXBvbmVudERpZE1vdW50IiwiZ2V0RGF0YSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsInNuYXBzaG90IiwidGFibGVDb2RlIiwic2V0U3RhdGUiLCJwdWJsaXNoZWQiLCJtZW51Q29kZSIsInRhYlBhcmFtcyIsImlzUHVibGlzaGVkIiwidGhlbiIsIl9wYWdlX3Byb3BzJHBlcm1pc3NpbyIsInRhYmxlX3Byb3BzIiwiSlNPTiIsInBhcnNlIiwidHJlZV9wcm9wcyIsInBhZ2VfcHJvcHMiLCJvdGhlcl9wcm9wcyIsIm90aGVyUGFyYW1zIiwicGVybWlzc2lvbiIsImhhcyIsIlV0aWxzIiwicGFyYW1GdW5jIiwiY29udmVyVGFiUGFyYW1zIiwicmVxdWVzdFBhcmFtcyIsIm5ld1JlcXVlc3RQYXJhbXMiLCJxdWVyeVBhcmFtcyIsImFkZFBhcmFtcyIsImVkaXRvclBhcmFtcyIsImNvbnZlclBhcmFtcyIsIm90aGVyIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibmV3UGFyYW1zIiwiY29sdW1uQnV0dG9ucyIsInRvb2xCdXR0b25zIiwiX21lc3NhZ2UiLCJlcnJvciIsImdldFNlYXJjaFZhbHVlcyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDMiLCJ2YWx1ZSIsImNhbGxCYWNrIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NCIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDUiLCJyZXF1ZXN0Q29uZmlnIiwidW5kZWZpbmVkIiwidGFibGVSZWxvYWQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ2IiwiZ2V0U2VsZWN0ZWRSb3dLZXlzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NyIsImdldFNlbGVjdGVkUm93RGF0YXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ4IiwicmVzZXRTZWxlY3RlZFJvd0tleXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ5IiwicmVuZGVyIiwiY2xhc3NOYW1lIiwiYmFzZVByb3BzIiwic2V0dGluZ1RyZWVQcm9wcyIsInNldHRpbmdUYWJsZVByb3BzIiwiX2V4Y2x1ZGVkMiIsIl90aGlzIiwiZGVhdWx0RnVuY3MiLCJuZXdEYXRhIiwic2V0QnV0dG9uTG9hZGluZyIsImdldEN1cnJlbnRQcm9qZWN0IiwiY2hpbGRyZW4iLCJjb2RlU2VsZkJ1dHRvbnMiLCJjb2RlY29sdW1uQnV0dG9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkIiwiX2NoaWxkJHByb3BzIiwiX2NoaWxkJHByb3BzMiIsIl9pdGVtJHByb3BzIiwiX2l0ZW0kcHJvcHMyIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsInNwaW5uaW5nIiwiX2V4dGVuZHMiLCJmb3JtUHJvcHMiLCJyZWYiLCJvbkhpZGVGb3JtIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MTAiLCJoaWRlRm9ybSIsImluaXREYXRhIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnZS9TZXR0aW5nVGFibGUvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIHVzZUVmZmVjdCwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEJhc2VQYWdlLCB7IE5TQ0Jhc2VCYWdlUHJvcHMgfSBmcm9tIFwiLi4vQmFzZVBhZ2VcIjtcclxuaW1wb3J0IFNwaW4gZnJvbSBcIi4uLy4uL2Jhc2Uvc3BpblwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NDb20gZnJvbSBcIi4vY29tXCI7XHJcbmltcG9ydCBOc2NGaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgTnNjUmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0ICogYXMgTnNjVXRpbHMgZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IHsgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBxdWVyeVN0cmluZyBmcm9tIFwicXVlcnktc3RyaW5nXCI7XHJcbmltcG9ydCB7IGdldExvY2FsU3RvcmUgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgeyBjb252ZXJGdW5jdGlvbiB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG4vLyBpbXBvcnQgeyBoaXN0b3J5IH0gZnJvbSAndW1pJ1xyXG4vLyBpbXBvcnQgeyBnZXRDb25maWdEYXRhIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuY29uc3QgZGVmYXVsVXRpbCA9IHtcclxuICBOc2NDb20sXHJcbiAgTnNjRmlsZSxcclxuICBOc2NSZXF1ZXN0LFxyXG4gIE5zY1V0aWxzLFxyXG4gIGRheWpzLFxyXG4gIGNyZWF0ZUVsZW1lbnQ6IFJlYWN0LmNyZWF0ZUVsZW1lbnQsXHJcbn0gYXMgYW55O1xyXG5jb25zdCByZW5kZXJTZWxmVG9vbEJ1dHRvbiA9ICh7IHNlbGZUb29sQnV0dG9uLCBwYWdlUmVmLCBmdW5jcywgbG9hZGluZyB9KSA9PiB7XHJcbiAgaWYgKHNlbGZUb29sQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZUb29sQnV0dG9uLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgcGFnZVR5cGU9XCJ0b29sQnV0dG9uXCJcclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHsgcGFnZVJlZjogcGFnZVJlZiwgZnVuY3M6IGZ1bmNzIH07XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBpdGVtLm9uQ2xpY2spO1xyXG4gICAgICAgICAgICBmdW5jKGRlZmF1bFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nW2l0ZW0uY29kZV0gPT09IHRydWUgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHJlbmRlclNlbGZDb2x1bW5CdXR0b24gPSAoeyBzZWxmQ29sdW1uQnV0dG9uLCBwYWdlUmVmLCBmdW5jcyB9KSA9PiB7XHJcbiAgaWYgKHNlbGZDb2x1bW5CdXR0b24ubGVuZ3RoID09IDApIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc2VsZkNvbHVtbkJ1dHRvbi5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHBhZ2VUeXBlPVwiY29sdW1uQnV0dG9uXCJcclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHtcclxuICAgICAgICAgICAgICBwYWdlUmVmOiBwYWdlUmVmLFxyXG4gICAgICAgICAgICAgIHJlY29yZDogcmVjb3JkLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiBmdW5jcyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIGl0ZW0ub25DbGljayk7XHJcbiAgICAgICAgICAgIGZ1bmMoZGVmYXVsVXRpbCwgZXZlbnRPcHRpb24pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGNvZGU9e2l0ZW0uY29kZX1cclxuICAgICAgICAgIHJlY29yZFNob3c9e2l0ZW0ucmVjb3JkU2hvd31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbS5uYW1lfVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgZ2V0UGFnZURhdGEgPSAocGFyYW1zOiBhbnkpID0+IHtcclxuICByZXR1cm4gTnNjUmVxdWVzdC5nZXQoYC9qcXVpY2stc2V0dGluZy9zZXR0aW5nL3RhYmxlL2luZm8vYCwge1xyXG4gICAgcGFyYW1zLFxyXG4gICAgeHNzRmlsdGVyOiBmYWxzZSxcclxuICAgIGF1dG9QcmVmaXg6IHRydWUsXHJcbiAgfSk7XHJcbn07XHJcblxyXG4vL+iuvue9ruihqOWNleWtl+auteWPquivu1xyXG5jb25zdCBzZXRGaWVsZERpc2FibGVkID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgZGlzYWJsZWQpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuLy/orr7nva7ooajljZXlrZfmrrXpmpDol49cclxuY29uc3Qgc2V0RmllbGRWaXNpYmxlID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgdmlzaWJsZSkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgb2JqLmVkaXRvciA9IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuXHJcbmNvbnN0IHNldEZpZWxkUHJvcHNEYXRhID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgcHJvcHNEYXRhKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSkge1xyXG4gICAgICBsZXQgcHJvcHMgPSBvYmoucHJvcHMgPyB7IC4uLm9iai5wcm9wcyB9IDoge307XHJcbiAgICAgIHByb3BzLmRhdGEgPSBwcm9wc0RhdGE7XHJcbiAgICAgIG9iai5wcm9wcyA9IHByb3BzO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcbmludGVyZmFjZSBJUGFyYW1zIHtcclxuICBwYXRobmFtZT86IHN0cmluZztcclxuICBxdWVyeT86IGFueTtcclxuICBpZD86IHN0cmluZztcclxuICBzZXJ2aWNlTmFtZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzZXJ2aWNlUGF0aD86IHN0cmluZztcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBvcGVuVHlwZT86IG51bWJlcjtcclxufVxyXG5jb25zdCBqdW1wUGFnZSA9IChwYXJhbXM6IElQYXJhbXMsIHR5cGU/OiBcImFkZFRhYlwiIHwgXCJqdW1wTWVudVwiKSA9PiB7XHJcbiAgY29uc3Qge1xyXG4gICAgcGF0aG5hbWUsXHJcbiAgICBxdWVyeSA9IHt9LFxyXG4gICAgaWQsXHJcbiAgICB0aXRsZSxcclxuICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgc2VydmljZVBhdGgsXHJcbiAgICBvcGVuVHlwZSxcclxuICB9ID0gcGFyYW1zO1xyXG4gIGNvbnN0IG5ld1F1ZXJ5ID0geyAuLi5xdWVyeSB9IGFzIGFueTtcclxuICBjb25zdCB1cmxQYXJhbXMgPSBxdWVyeVN0cmluZy5zdHJpbmdpZnkobmV3UXVlcnkpO1xyXG4gIGNvbnN0IHBhdGggPSB1cmxQYXJhbXMgPyBgJHtwYXRobmFtZX0/JHt1cmxQYXJhbXN9YCA6IHBhdGhuYW1lO1xyXG4gIC8vQHRzLWlnbm9yZVxyXG4gIGlmICh3aW5kb3cuX19QT1dFUkVEX0JZX1FJQU5LVU5fXykge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwi5paw5qCH562+XCIsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSwgLy/phY3nva7nmoTlvq7lupTnlKjlkI3np7BcclxuICAgICAgc2VydmljZVBhdGg6IHNlcnZpY2VQYXRoLCAvL+mFjee9rueahOW+ruW6lOeUqOWFpeWPo+WcsOWdgFxyXG4gICAgICBwYXRoOiBwYXRoLCAvL+aWsOagh+etvueahHVybCzmsqHphY3nva5zZXJ2aWNlTmFtZSBwYXRo5Li65a6M5pW06Lev5b6EXHJcbiAgICAgIGlkOiBpZCwgLy/oh6rlrprkuYnllK/kuIDlgLxcclxuICAgICAgb3BlblR5cGU6IG9wZW5UeXBlID8gb3BlblR5cGUgOiA0LCAvL+aJk+W8gOaWueW8jyA05L2N5b6u5YmN56uvLCAz5Li6aWZyYW1lICzpu5jorqQgM1xyXG4gICAgfTtcclxuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXHJcbiAgICAgIHtcclxuICAgICAgICBldmVudFR5cGU6IHR5cGUgPyB0eXBlIDogXCJhZGRUYWJcIixcclxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUgPyBzZXJ2aWNlTmFtZSA6IFwic2V0dGluZy13ZWJcIixcclxuICAgICAgICBwYXlsb2FkOiB0eXBlID8gcGFyYW1zIDogZGF0YSxcclxuICAgICAgfSxcclxuICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpblxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBcIlwiLCBwYXRoKTtcclxuICAgIHdpbmRvdy5oaXN0b3J5LmdvKCk7XHJcbiAgfVxyXG59O1xyXG5jb25zdCBnZXRQcm9qZWN0ID0gKCkgPT4ge1xyXG4gIGNvbnN0IHByb2plY3QgPSBnZXRMb2NhbFN0b3JlKHsgbmFtZTogXCJuc2MtaG9tZS1wcm9qZWN0XCIgfSkgfHwge307XHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn07XHJcbmludGVyZmFjZSBJUHJvcHMge1xyXG4gIHRhYmxlQ29kZTogc3RyaW5nO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBmdW5jcz86IGFueTtcclxuICBwdWJsaXNoZWQ/OiBib29sZWFuO1xyXG4gIGluc3RhbmNlUmVmPzogYW55O1xyXG4gIHRhYlBhcmFtcz86IGFueTtcclxuICBvbkNhbGxCYWNrcz86IHtcclxuICAgIHRyZWVTZWxlY3RDYWxsQmFjaz86IGFueTsgLy/moJHngrnlh7vmn6Xor6LlkI7lm57osINcclxuICAgIG9uUXVlcnlDYWxsQmFjaz86IGFueTsgLy/mn6Xor6Llm57osIPvvIzmn6Xor6LmlbDmja7lkI7lm57osINcclxuICAgIG9uU3VtYml0Q2FsbEJhY2s/OiBhbnk7IC8v5L+d5a2Y5Zue6LCD77yM5L+d5a2Y5pWw5o2u5oiQ5Yqf5ZCO5Zue6LCDXHJcbiAgICBvbkRlbGV0ZUNhbGxCYWNrPzogYW55OyAvL+WIoOmZpOaMiemSruWbnuiwg++8jOWIoOmZpOaVsOaNruWQjuaJp+ihjFxyXG4gICAgb25FZGl0b3JDYWxsQmFjaz86IGFueTsgLy/nvJbovpHmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uQWRkQ2FsbEJhY2s/OiBhbnk7IC8v5re75Yqg5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvblNlYXJjaENhbGxCYWNrPzogYW55OyAvL+WIl+ihqOafpeivouaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gIH07XHJcbiAgYmFzZVByb3BzPzogTlNDQmFzZUJhZ2VQcm9wcztcclxuICBhdXRvTG9hZD86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2V0dGluZ1RhYmxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElQcm9wcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBwYWdlUHJvcHM6IHt9IGFzIGFueSxcclxuICAgIHRyZWVQcm9wczogeyBzdG9yZTogeyB1cmw6IFwiXCIsIGF1dG9Mb2FkOiBmYWxzZSB9IH0gYXMgYW55LFxyXG4gICAgdGFibGVQcm9wczoge30gYXMgYW55LFxyXG4gICAgc2VsZlRvb2xCdXR0b246IFtdIGFzIGFueSxcclxuICAgIHNlbGZDb2x1bW5CdXR0b246IFtdIGFzIGFueSxcclxuICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgZGVmYXVsdENvbHVtbnM6IFtdIGFzIGFueSxcclxuICAgIG90aGVyUHJvcHM6IHt9IGFzIGFueSxcclxuICAgIGJ1dHRvbkxvYWRpbmc6IHt9IGFzIGFueSxcclxuICB9O1xyXG4gIHBhZ2VSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKFxyXG4gICAgcHJldlByb3BzOiBSZWFkb25seTxJUHJvcHM+LFxyXG4gICAgcHJldlN0YXRlOiBSZWFkb25seTxhbnk+LFxyXG4gICAgc25hcHNob3Q/OiBhbnlcclxuICApOiB2b2lkIHtcclxuICAgIGlmIChwcmV2UHJvcHMudGFibGVDb2RlICE9IHRoaXMucHJvcHMudGFibGVDb2RlKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdERhdGEgPSAocmVzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgb3RoZXJQcm9wcywgcGFnZVByb3BzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKFxyXG4gICAgICBwYWdlUHJvcHMuc2hvd1NlYXJjaCAhPT0gZmFsc2UgJiZcclxuICAgICAgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgIG90aGVyUHJvcHMudGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIlxyXG4gICAgKSB7XHJcbiAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoKTtcclxuICAgICAgY29uc3QgcGFyYW1zID0gZnVuYyhkZWZhdWxVdGlsLCB7IHBhZ2VSZWY6IHRoaXMucGFnZVJlZiB9KTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZCh7IC4uLnBhcmFtcyB9KTtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2V0U2VhcmNoUGFyYW1zKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICB9LCA1MCk7IC8v55u05o6l6K6+572u77yMcGFnZVJlZuayoee7keWumu+8jOaaguaXtumAmui/h+W7tui/n+WHveaVsOi/m+ihjOino+WGs1xyXG4gICAgfVxyXG4gIH07XHJcbiAgLy8g6I635Y+W5pWw5o2uXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIC8vIOS7jnByb3Bz5Lit6I635Y+WdGFibGVDb2Rl44CBcHVibGlzaGVk44CBbWVudUNvZGVcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwYWdlTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyB0YWJsZUNvZGUsIHB1Ymxpc2hlZCA9IHRydWUsIG1lbnVDb2RlLCB0YWJQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmICh0YWJsZUNvZGUpIHtcclxuICAgICAgLy8g5a6a5LmJ5Y+C5pWwXHJcbiAgICAgIGxldCBwYXJhbXMgPSB7IGNvZGU6IHRhYmxlQ29kZSB9IGFzIGFueTtcclxuICAgICAgLy8g5aaC5p6ccHVibGlzaGVk5Li6dHJ1ZVxyXG4gICAgICBpZiAocHVibGlzaGVkKSB7XHJcbiAgICAgICAgLy8g6K6+572u5Y+C5pWwaXNQdWJsaXNoZWTkuLoxXHJcbiAgICAgICAgcGFyYW1zLmlzUHVibGlzaGVkID0gMTtcclxuICAgICAgfVxyXG4gICAgICAvLyDosIPnlKhnZXRQYWdlRGF0YeaWueazleiOt+WPluaVsOaNrlxyXG4gICAgICBnZXRQYWdlRGF0YSh7IC4uLnBhcmFtcyB9KS50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEpIHtcclxuICAgICAgICAgIGxldCB0YWJsZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudGFibGVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHRyZWVfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnRyZWVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHBhZ2VfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnBhZ2VQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IG90aGVyX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5vdGhlclBhcmFtcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucGVybWlzc2lvbj8uaGFzID09IHRydWUpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uLm1lbnVDb2RlID0gbWVudUNvZGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocHVibGlzaGVkID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBhZ2VfcHJvcHMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAocGFnZV9wcm9wcy5zaG93U2VhcmNoICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgIG90aGVyX3Byb3BzPy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LnRhYmxlRGF0YVJlc291cmNlID09IFwidXJsXCIpIHx8XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuYXV0b0xvYWQgPT09IGZhbHNlXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGFibGVfcHJvcHMuc3RvcmUuYXV0b0xvYWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0YWJQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgVXRpbHMgPSBkZWZhdWxVdGlsIHx8IHt9O1xyXG4gICAgICAgICAgICBsZXQgcGFyYW1GdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgdGFiUGFyYW1zKTtcclxuICAgICAgICAgICAgbGV0IGNvbnZlclRhYlBhcmFtcyA9IHBhcmFtRnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlX3Byb3BzLnJlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICBsZXQgeyByZXF1ZXN0UGFyYW1zID0ge30gfSA9IHBhZ2VfcHJvcHM7XHJcbiAgICAgICAgICAgICAgbGV0IG5ld1JlcXVlc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBuZXdSZXF1ZXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgcmVxdWVzdFBhcmFtc1trZXldKTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGNvbnZlclBhcmFtcyA9IGZ1bmMoVXRpbHMpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIC4uLm90aGVyIH0gPSBjb252ZXJQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBuZXdQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMsIC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgICAgICAgICAuLi5vdGhlcixcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0gbmV3UGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0geyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHsgLi4ubmV3UmVxdWVzdFBhcmFtcyB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgICBlZGl0b3JQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwYWdlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnBhZ2VfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0cmVlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRyZWVfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0YWJsZVByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAuLi50YWJsZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG90aGVyUHJvcHM6IHsgLi4ub3RoZXJfcHJvcHMgfSxcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLmNvbHVtbkJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIHNlbGZUb29sQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLnRvb2xCdXR0b25zKSB8fCBbXSxcclxuICAgICAgICAgICAgICBkZWZhdWx0Q29sdW1uczogcGFnZV9wcm9wcy5jb2x1bW5zLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEgPT0gbnVsbCkge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuacquaJvuWIsOmFjee9ruS/oeaBr++8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBvblNlYXJjaCgpIHt9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VhcmNoVmFsdWVzKCk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG4gIHNldFNlYXJjaFBhcmFtcyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2V0U2VhcmNoUGFyYW1zKHBhcmFtcyk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSwgcmVxdWVzdENvbmZpZyA9IHt9KSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVMb2FkKHBhcmFtcywgcmVxdWVzdENvbmZpZyk7XHJcbiAgfVxyXG4gIHRhYmxlUmVsb2FkKHBhcmFtcyA9IHt9LCBhdXRvTG9hZCA9IHRydWUpIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZVJlbG9hZChwYXJhbXMsIGF1dG9Mb2FkKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VsZWN0ZWRSb3dEYXRhcygpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnJlc2V0U2VsZWN0ZWRSb3dLZXlzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2xhc3NOYW1lLFxyXG4gICAgICBmdW5jcyA9IHt9LFxyXG4gICAgICBiYXNlUHJvcHMgPSB7fSBhcyBOU0NCYXNlQmFnZVByb3BzLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHBhZ2VQcm9wcyxcclxuICAgICAgdHJlZVByb3BzLFxyXG4gICAgICB0YWJsZVByb3BzLFxyXG4gICAgICBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgc2VsZkNvbHVtbkJ1dHRvbixcclxuICAgICAgcGFnZUxvYWRpbmcsXHJcbiAgICAgIGRlZmF1bHRDb2x1bW5zLFxyXG4gICAgICBidXR0b25Mb2FkaW5nID0ge30sXHJcbiAgICB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHJlZVByb3BzOiBzZXR0aW5nVHJlZVByb3BzID0ge30sXHJcbiAgICAgIHRhYmxlUHJvcHM6IHNldHRpbmdUYWJsZVByb3BzID0ge30sXHJcbiAgICAgIC4uLm90aGVyUHJvcHNcclxuICAgIH0gPSBiYXNlUHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgLy8gY29uc3Qge3N0b3JlOnRhYmxlU3RvcmV9XHJcbiAgICAvLyBjb25zdCB7IHN0b3JlOiBzZXR0aW5nVGFibGVTdG9yZSB9ID0gc2V0dGluZ1RhYmxlUHJvcHM7XHJcbiAgICBjb25zdCBkZWF1bHRGdW5jcyA9IHtcclxuICAgICAgc2V0RmllbGREaXNhYmxlZDogKGtleSwgZGlzYWJsZWQpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdEYXRhID0gc2V0RmllbGREaXNhYmxlZChwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkVmlzaWJsZTogKGtleSwgZGlzYWJsZWQpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRWaXNpYmxlKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RmllbGRQcm9wc0RhdGE6IChrZXksIGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBuZXdEYXRhID0gc2V0RmllbGRQcm9wc0RhdGEocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGhpc3Rvcnk6IChwYXJhbXMsIHR5cGUpID0+IHtcclxuICAgICAgICBqdW1wUGFnZShwYXJhbXMsIHR5cGUpO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRCdXR0b25Mb2FkaW5nKGNvZGUsIGxvYWRpbmcpIHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiB7IC4uLmJ1dHRvbkxvYWRpbmcsIFtjb2RlXTogbG9hZGluZyB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgZ2V0Q3VycmVudFByb2plY3Q6ICgpID0+IHtcclxuICAgICAgICByZXR1cm4gZ2V0UHJvamVjdCgpO1xyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgY29kZVNlbGZCdXR0b25zID0gW107XHJcbiAgICBsZXQgY29kZWNvbHVtbkJ1dHRvbnMgPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XHJcbiAgICAgICAgICBpdGVtLm1hcCgoY2hpbGQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNvbHVtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhcIm5zYy1mcmFtZXdvcmstdGFibGVwYWdlXCIsIGNsYXNzTmFtZSl9PlxyXG4gICAgICAgIHtwYWdlTG9hZGluZyA/IChcclxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiLCBoZWlnaHQ6IFwiMTAwJVwiIH19PlxyXG4gICAgICAgICAgICA8U3BpbiBzcGlubmluZz17cGFnZUxvYWRpbmd9PjwvU3Bpbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8QmFzZVBhZ2VcclxuICAgICAgICAgICAgey4uLnBhZ2VQcm9wc31cclxuICAgICAgICAgICAgdHJlZVByb3BzPXt7IC4uLnRyZWVQcm9wcywgLi4uc2V0dGluZ1RyZWVQcm9wcyB9fVxyXG4gICAgICAgICAgICB0YWJsZVByb3BzPXt7IC4uLnRhYmxlUHJvcHMsIC4uLnNldHRpbmdUYWJsZVByb3BzIH19XHJcbiAgICAgICAgICAgIGZvcm1Qcm9wcz17e319XHJcbiAgICAgICAgICAgIFV0aWxzPXt7IC4uLmRlZmF1bFV0aWwgfX1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIHBhZ2VSZWY9e3RoaXMucGFnZVJlZn1cclxuICAgICAgICAgICAgb25IaWRlRm9ybT17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogZGVmYXVsdENvbHVtbnMgfSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZnVuY3M9e3sgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH19XHJcbiAgICAgICAgICAgIGluaXREYXRhPXt0aGlzLmluaXREYXRhfVxyXG4gICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3JlbmRlclNlbGZUb29sQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVTZWxmQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmQ29sdW1uQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L0Jhc2VQYWdlPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBLE9BQU9BLFFBQVEsTUFBNEIsYUFBYTtBQUN4RCxPQUFPQyxJQUFJLE1BQU0saUJBQWlCO0FBQ2xDLE9BQU9DLE1BQU0sTUFBTSxtQkFBbUI7QUFDdEMsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU8sS0FBS0MsTUFBTSxNQUFNLE9BQU87QUFDL0IsT0FBT0MsT0FBTyxNQUFNLFVBQVU7QUFDOUIsT0FBT0MsVUFBVSxNQUFNLGFBQWE7QUFDcEMsT0FBTyxLQUFLQyxRQUFRLE1BQU0sbUJBQW1CO0FBQzdDLE9BQU9DLEdBQUcsTUFBTSxZQUFZO0FBRTVCLE9BQU9DLFdBQVcsTUFBTSxjQUFjO0FBQ3RDLFNBQVNDLGFBQWEsUUFBUSxtQkFBbUI7QUFDakQsT0FBT0MsS0FBSyxNQUFNLE9BQU87QUFFekI7QUFDQTs7QUFFQSxNQUFNQyxVQUFVLEdBQUc7RUFDakJSLE1BQU07RUFDTkMsT0FBTztFQUNQQyxVQUFVO0VBQ1ZDLFFBQVE7RUFDUkksS0FBSztFQUNMRSxhQUFhLEVBQUVWLEtBQUssQ0FBQ1U7QUFDdkIsQ0FBUTtBQUNSLE1BQU1DLG9CQUFvQixHQUFHQyxJQUFBLElBQWlEO0VBQUEsSUFBaEQ7SUFBRUMsY0FBYztJQUFFQyxPQUFPO0lBQUVDLEtBQUs7SUFBRUM7RUFBUSxDQUFDLEdBQUFKLElBQUE7RUFDdkUsSUFBSUMsY0FBYyxDQUFDSSxNQUFNLElBQUksQ0FBQyxFQUFFO0lBQzlCLE9BQU8sSUFBSTtFQUNiLENBQUMsTUFBTTtJQUNMLE9BQU9KLGNBQWMsQ0FBQ0ss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
548
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJCdXR0b24iLCJSZWFjdCIsIk5zY0NvbSIsIk5zY0ZpbGUiLCJOc2NSZXF1ZXN0IiwiTnNjVXRpbHMiLCJjbHMiLCJxdWVyeVN0cmluZyIsImdldExvY2FsU3RvcmUiLCJkYXlqcyIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJ0eXBlIiwibGVuZ3RoIiwibWFwIiwiaXRlbSIsImluZGV4IiwicGFnZVR5cGUiLCJrZXkiLCJvbkNsaWNrIiwiZXZlbnRPcHRpb24iLCJmdW5jIiwiRnVuY3Rpb24iLCJjb2RlIiwibmFtZSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJfcmVmMiIsInNlbGZDb2x1bW5CdXR0b24iLCJyZWNvcmQiLCJyZWNvcmRTaG93IiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJnZXQiLCJ4c3NGaWx0ZXIiLCJhdXRvUHJlZml4Iiwic2V0RmllbGREaXNhYmxlZCIsImRhdGEiLCJkaXNhYmxlZCIsImNvbHVtbnMiLCJuZXdDb2x1bW5zIiwib2JqIiwiX29iamVjdFNwcmVhZCIsImRhdGFJbmRleCIsImluZGV4T2YiLCJwcm9wcyIsInB1c2giLCJzZXRGaWVsZFZpc2libGUiLCJ2aXNpYmxlIiwiZWRpdG9yIiwic2V0RmllbGRQcm9wc0RhdGEiLCJwcm9wc0RhdGEiLCJqdW1wUGFnZSIsInBhdGhuYW1lIiwicXVlcnkiLCJpZCIsInRpdGxlIiwic2VydmljZU5hbWUiLCJzZXJ2aWNlUGF0aCIsIm9wZW5UeXBlIiwibmV3UXVlcnkiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsInBhcmVudCIsInBvc3RNZXNzYWdlIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsImxvY2F0aW9uIiwib3JpZ2luIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImdvIiwiZ2V0UHJvamVjdCIsInByb2plY3QiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsInBhZ2VQcm9wcyIsInRyZWVQcm9wcyIsInN0b3JlIiwidXJsIiwiYXV0b0xvYWQiLCJ0YWJsZVByb3BzIiwic2VsZlRvb2xCdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJjcmVhdGVSZWYiLCJyZXMiLCJzdGF0ZSIsInNob3dTZWFyY2giLCJkZWZhdWx0U2VhcmNoIiwidGFibGVEYXRhUmVzb3VyY2UiLCJzZXRUaW1lb3V0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MiIsImN1cnJlbnQiLCJ0YWJsZUxvYWQiLCJzZXRTZWFyY2hQYXJhbXMiLCJjb21wb25lbnREaWRNb3VudCIsImdldERhdGEiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJwcmV2U3RhdGUiLCJzbmFwc2hvdCIsInRhYmxlQ29kZSIsInNldFN0YXRlIiwicHVibGlzaGVkIiwibWVudUNvZGUiLCJ0YWJQYXJhbXMiLCJpc1B1Ymxpc2hlZCIsInRoZW4iLCJfcGFnZV9wcm9wcyRwZXJtaXNzaW8iLCJ0YWJsZV9wcm9wcyIsIkpTT04iLCJwYXJzZSIsInRyZWVfcHJvcHMiLCJwYWdlX3Byb3BzIiwib3RoZXJfcHJvcHMiLCJvdGhlclBhcmFtcyIsImZvcm1fcHJvcHMiLCJmb3JtUHJvcHMiLCJwZXJtaXNzaW9uIiwiaGFzIiwiVXRpbHMiLCJwYXJhbUZ1bmMiLCJjb252ZXJUYWJQYXJhbXMiLCJyZXF1ZXN0UGFyYW1zIiwibmV3UmVxdWVzdFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiYWRkUGFyYW1zIiwiZWRpdG9yUGFyYW1zIiwiY29udmVyUGFyYW1zIiwib3RoZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJuZXdQYXJhbXMiLCJjb2x1bW5CdXR0b25zIiwidG9vbEJ1dHRvbnMiLCJfbWVzc2FnZSIsImVycm9yIiwiZ2V0U2VhcmNoVmFsdWVzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MyIsInZhbHVlIiwiY2FsbEJhY2siLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ0IiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NSIsInJlcXVlc3RDb25maWciLCJ1bmRlZmluZWQiLCJ0YWJsZVJlbG9hZCIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDYiLCJnZXRTZWxlY3RlZFJvd0tleXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ3IiwiZ2V0U2VsZWN0ZWRSb3dEYXRhcyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDgiLCJyZXNldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDkiLCJyZW5kZXIiLCJjbGFzc05hbWUiLCJiYXNlUHJvcHMiLCJzZXR0aW5nVHJlZVByb3BzIiwic2V0dGluZ1RhYmxlUHJvcHMiLCJfZXhjbHVkZWQyIiwiX3RoaXMiLCJkZWF1bHRGdW5jcyIsIm5ld0RhdGEiLCJzZXRCdXR0b25Mb2FkaW5nIiwiZ2V0Q3VycmVudFByb2plY3QiLCJjaGlsZHJlbiIsImNvZGVTZWxmQnV0dG9ucyIsImNvZGVjb2x1bW5CdXR0b25zIiwiY29kZUZvcm1CdXR0b25zIiwiQXJyYXkiLCJpc0FycmF5IiwiY2hpbGQiLCJfY2hpbGQkcHJvcHMiLCJfY2hpbGQkcHJvcHMyIiwiX2NoaWxkJHByb3BzMyIsIl9pdGVtJHByb3BzIiwiX2l0ZW0kcHJvcHMyIiwiX2l0ZW0kcHJvcHMzIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsInNwaW5uaW5nIiwiX2V4dGVuZHMiLCJyZWYiLCJvbkhpZGVGb3JtIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50MTAiLCJoaWRlRm9ybSIsImluaXREYXRhIiwiZm9ybVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wYWdlL1NldHRpbmdUYWJsZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgdXNlRWZmZWN0LCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgQmFzZVBhZ2UsIHsgTlNDQmFzZUJhZ2VQcm9wcyB9IGZyb20gXCIuLi9CYXNlUGFnZVwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vLi4vYmFzZS9zcGluXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uLy4uL2Jhc2UvYnV0dG9uXCI7XHJcbmltcG9ydCBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCAqIGFzIE5zY0NvbSBmcm9tIFwiLi9jb21cIjtcclxuaW1wb3J0IE5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBOc2NSZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgKiBhcyBOc2NVdGlscyBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHF1ZXJ5U3RyaW5nIGZyb20gXCJxdWVyeS1zdHJpbmdcIjtcclxuaW1wb3J0IHsgZ2V0TG9jYWxTdG9yZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCB7IGNvbnZlckZ1bmN0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbi8vIGltcG9ydCB7IGhpc3RvcnkgfSBmcm9tICd1bWknXHJcbi8vIGltcG9ydCB7IGdldENvbmZpZ0RhdGEgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcblxyXG5jb25zdCBkZWZhdWxVdGlsID0ge1xyXG4gIE5zY0NvbSxcclxuICBOc2NGaWxlLFxyXG4gIE5zY1JlcXVlc3QsXHJcbiAgTnNjVXRpbHMsXHJcbiAgZGF5anMsXHJcbiAgY3JlYXRlRWxlbWVudDogUmVhY3QuY3JlYXRlRWxlbWVudCxcclxufSBhcyBhbnk7XHJcbmNvbnN0IHJlbmRlclNlbGZUb29sQnV0dG9uID0gKHtcclxuICBzZWxmQnV0dG9uLFxyXG4gIHBhZ2VSZWYsXHJcbiAgZnVuY3MsXHJcbiAgbG9hZGluZyxcclxuICB0eXBlID0gXCJ0b29sQnV0dG9uXCIsXHJcbn0pID0+IHtcclxuICBpZiAoc2VsZkJ1dHRvbi5sZW5ndGggPT0gMCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBzZWxmQnV0dG9uLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgcGFnZVR5cGU9e3R5cGV9XHJcbiAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgdHlwZT17aXRlbS50eXBlfVxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXZlbnRPcHRpb24gPSB7IHBhZ2VSZWY6IHBhZ2VSZWYsIGZ1bmNzOiBmdW5jcyB9O1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgaXRlbS5vbkNsaWNrKTtcclxuICAgICAgICAgICAgZnVuYyhkZWZhdWxVdGlsLCBldmVudE9wdGlvbik7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgY29kZT17aXRlbS5jb2RlfVxyXG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ1tpdGVtLmNvZGVdID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtpdGVtLm5hbWV9XHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG5jb25zdCByZW5kZXJTZWxmQ29sdW1uQnV0dG9uID0gKHsgc2VsZkNvbHVtbkJ1dHRvbiwgcGFnZVJlZiwgZnVuY3MgfSkgPT4ge1xyXG4gIGlmIChzZWxmQ29sdW1uQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZDb2x1bW5CdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBwYWdlVHlwZT1cImNvbHVtbkJ1dHRvblwiXHJcbiAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgdHlwZT17aXRlbS50eXBlfVxyXG4gICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXZlbnRPcHRpb24gPSB7XHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogcGFnZVJlZixcclxuICAgICAgICAgICAgICByZWNvcmQ6IHJlY29yZCxcclxuICAgICAgICAgICAgICBmdW5jczogZnVuY3MsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBpdGVtLm9uQ2xpY2spO1xyXG4gICAgICAgICAgICBmdW5jKGRlZmF1bFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICByZWNvcmRTaG93PXtpdGVtLnJlY29yZFNob3d9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IGdldFBhZ2VEYXRhID0gKHBhcmFtczogYW55KSA9PiB7XHJcbiAgcmV0dXJuIE5zY1JlcXVlc3QuZ2V0KGAvanF1aWNrLXNldHRpbmcvc2V0dGluZy90YWJsZS9pbmZvL2AsIHtcclxuICAgIHBhcmFtcyxcclxuICAgIHhzc0ZpbHRlcjogZmFsc2UsXHJcbiAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gIH0pO1xyXG59O1xyXG5cclxuLy/orr7nva7ooajljZXlrZfmrrXlj6ror7tcclxuY29uc3Qgc2V0RmllbGREaXNhYmxlZCA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSB8fCBrZXkuaW5kZXhPZihpdGVtLmRhdGFJbmRleCkgPiAtMSkge1xyXG4gICAgICBsZXQgcHJvcHMgPSBvYmoucHJvcHMgPyB7IC4uLm9iai5wcm9wcyB9IDoge307XHJcbiAgICAgIHByb3BzLmRpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICAgIG9iai5wcm9wcyA9IHByb3BzO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcbi8v6K6+572u6KGo5Y2V5a2X5q616ZqQ6JePXHJcbmNvbnN0IHNldEZpZWxkVmlzaWJsZSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHZpc2libGUpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIG9iai5lZGl0b3IgPSB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcblxyXG5jb25zdCBzZXRGaWVsZFByb3BzRGF0YSA9IChkYXRhOiBBcnJheTxhbnk+LCBrZXksIHByb3BzRGF0YSkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkpIHtcclxuICAgICAgbGV0IHByb3BzID0gb2JqLnByb3BzID8geyAuLi5vYmoucHJvcHMgfSA6IHt9O1xyXG4gICAgICBwcm9wcy5kYXRhID0gcHJvcHNEYXRhO1xyXG4gICAgICBvYmoucHJvcHMgPSBwcm9wcztcclxuICAgIH1cclxuICAgIG5ld0NvbHVtbnMucHVzaChvYmopO1xyXG4gIH0pO1xyXG4gIHJldHVybiBuZXdDb2x1bW5zO1xyXG59O1xyXG5pbnRlcmZhY2UgSVBhcmFtcyB7XHJcbiAgcGF0aG5hbWU/OiBzdHJpbmc7XHJcbiAgcXVlcnk/OiBhbnk7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgc2VydmljZVBhdGg/OiBzdHJpbmc7XHJcbiAgbWVudUNvZGU/OiBzdHJpbmc7XHJcbiAgb3BlblR5cGU/OiBudW1iZXI7XHJcbn1cclxuY29uc3QganVtcFBhZ2UgPSAocGFyYW1zOiBJUGFyYW1zLCB0eXBlPzogXCJhZGRUYWJcIiB8IFwianVtcE1lbnVcIikgPT4ge1xyXG4gIGNvbnN0IHtcclxuICAgIHBhdGhuYW1lLFxyXG4gICAgcXVlcnkgPSB7fSxcclxuICAgIGlkLFxyXG4gICAgdGl0bGUsXHJcbiAgICBzZXJ2aWNlTmFtZSxcclxuICAgIHNlcnZpY2VQYXRoLFxyXG4gICAgb3BlblR5cGUsXHJcbiAgfSA9IHBhcmFtcztcclxuICBjb25zdCBuZXdRdWVyeSA9IHsgLi4ucXVlcnkgfSBhcyBhbnk7XHJcbiAgY29uc3QgdXJsUGFyYW1zID0gcXVlcnlTdHJpbmcuc3RyaW5naWZ5KG5ld1F1ZXJ5KTtcclxuICBjb25zdCBwYXRoID0gdXJsUGFyYW1zID8gYCR7cGF0aG5hbWV9PyR7dXJsUGFyYW1zfWAgOiBwYXRobmFtZTtcclxuICAvL0B0cy1pZ25vcmVcclxuICBpZiAod2luZG93Ll9fUE9XRVJFRF9CWV9RSUFOS1VOX18pIHtcclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIHRpdGxlOiB0aXRsZSB8fCBcIuaWsOagh+etvlwiLFxyXG4gICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsIC8v6YWN572u55qE5b6u5bqU55So5ZCN56ewXHJcbiAgICAgIHNlcnZpY2VQYXRoOiBzZXJ2aWNlUGF0aCwgLy/phY3nva7nmoTlvq7lupTnlKjlhaXlj6PlnLDlnYBcclxuICAgICAgcGF0aDogcGF0aCwgLy/mlrDmoIfnrb7nmoR1cmws5rKh6YWN572uc2VydmljZU5hbWUgcGF0aOS4uuWujOaVtOi3r+W+hFxyXG4gICAgICBpZDogaWQsIC8v6Ieq5a6a5LmJ5ZSv5LiA5YC8XHJcbiAgICAgIG9wZW5UeXBlOiBvcGVuVHlwZSA/IG9wZW5UeXBlIDogNCwgLy/miZPlvIDmlrnlvI8gNOS9jeW+ruWJjeerrywgM+S4umlmcmFtZSAs6buY6K6kIDNcclxuICAgIH07XHJcbiAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZXZlbnRUeXBlOiB0eXBlID8gdHlwZSA6IFwiYWRkVGFiXCIsXHJcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lID8gc2VydmljZU5hbWUgOiBcInNldHRpbmctd2ViXCIsXHJcbiAgICAgICAgcGF5bG9hZDogdHlwZSA/IHBhcmFtcyA6IGRhdGEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7fSwgXCJcIiwgcGF0aCk7XHJcbiAgICB3aW5kb3cuaGlzdG9yeS5nbygpO1xyXG4gIH1cclxufTtcclxuY29uc3QgZ2V0UHJvamVjdCA9ICgpID0+IHtcclxuICBjb25zdCBwcm9qZWN0ID0gZ2V0TG9jYWxTdG9yZSh7IG5hbWU6IFwibnNjLWhvbWUtcHJvamVjdFwiIH0pIHx8IHt9O1xyXG4gIHJldHVybiBwcm9qZWN0O1xyXG59O1xyXG5pbnRlcmZhY2UgSVByb3BzIHtcclxuICB0YWJsZUNvZGU6IHN0cmluZztcclxuICBjbGFzc05hbWU/OiBhbnk7XHJcbiAgbWVudUNvZGU/OiBzdHJpbmc7XHJcbiAgZnVuY3M/OiBhbnk7XHJcbiAgcHVibGlzaGVkPzogYm9vbGVhbjtcclxuICBpbnN0YW5jZVJlZj86IGFueTtcclxuICB0YWJQYXJhbXM/OiBhbnk7XHJcbiAgb25DYWxsQmFja3M/OiB7XHJcbiAgICB0cmVlU2VsZWN0Q2FsbEJhY2s/OiBhbnk7IC8v5qCR54K55Ye75p+l6K+i5ZCO5Zue6LCDXHJcbiAgICBvblF1ZXJ5Q2FsbEJhY2s/OiBhbnk7IC8v5p+l6K+i5Zue6LCD77yM5p+l6K+i5pWw5o2u5ZCO5Zue6LCDXHJcbiAgICBvblN1bWJpdENhbGxCYWNrPzogYW55OyAvL+S/neWtmOWbnuiwg++8jOS/neWtmOaVsOaNruaIkOWKn+WQjuWbnuiwg1xyXG4gICAgb25EZWxldGVDYWxsQmFjaz86IGFueTsgLy/liKDpmaTmjInpkq7lm57osIPvvIzliKDpmaTmlbDmja7lkI7miafooYxcclxuICAgIG9uRWRpdG9yQ2FsbEJhY2s/OiBhbnk7IC8v57yW6L6R5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvbkFkZENhbGxCYWNrPzogYW55OyAvL+a3u+WKoOaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gICAgb25TZWFyY2hDYWxsQmFjaz86IGFueTsgLy/liJfooajmn6Xor6LmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICB9O1xyXG4gIGJhc2VQcm9wcz86IE5TQ0Jhc2VCYWdlUHJvcHM7XHJcbiAgYXV0b0xvYWQ/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldHRpbmdUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgcGFnZVByb3BzOiB7fSBhcyBhbnksXHJcbiAgICB0cmVlUHJvcHM6IHsgc3RvcmU6IHsgdXJsOiBcIlwiLCBhdXRvTG9hZDogZmFsc2UgfSB9IGFzIGFueSxcclxuICAgIHRhYmxlUHJvcHM6IHt9IGFzIGFueSxcclxuICAgIHNlbGZUb29sQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgICBzZWxmQ29sdW1uQnV0dG9uOiBbXSBhcyBhbnksXHJcbiAgICBzZWxmRm9ybUJ1dHRvbjogW10gYXMgYW55LFxyXG4gICAgcGFnZUxvYWRpbmc6IHRydWUsXHJcbiAgICBkZWZhdWx0Q29sdW1uczogW10gYXMgYW55LFxyXG4gICAgb3RoZXJQcm9wczoge30gYXMgYW55LFxyXG4gICAgYnV0dG9uTG9hZGluZzoge30gYXMgYW55LFxyXG4gICAgZm9ybVBhZ2VQcm9wczoge30gYXMgYW55LFxyXG4gIH07XHJcbiAgcGFnZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoXHJcbiAgICBwcmV2UHJvcHM6IFJlYWRvbmx5PElQcm9wcz4sXHJcbiAgICBwcmV2U3RhdGU6IFJlYWRvbmx5PGFueT4sXHJcbiAgICBzbmFwc2hvdD86IGFueVxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKHByZXZQcm9wcy50YWJsZUNvZGUgIT0gdGhpcy5wcm9wcy50YWJsZUNvZGUpIHtcclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0RGF0YSA9IChyZXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBvdGhlclByb3BzLCBwYWdlUHJvcHMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHBhZ2VQcm9wcy5zaG93U2VhcmNoICE9PSBmYWxzZSAmJlxyXG4gICAgICBvdGhlclByb3BzLmRlZmF1bHRTZWFyY2ggJiZcclxuICAgICAgb3RoZXJQcm9wcy50YWJsZURhdGFSZXNvdXJjZSA9PSBcInVybFwiXHJcbiAgICApIHtcclxuICAgICAgbGV0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBvdGhlclByb3BzLmRlZmF1bHRTZWFyY2gpO1xyXG4gICAgICBjb25zdCBwYXJhbXMgPSBmdW5jKGRlZmF1bFV0aWwsIHsgcGFnZVJlZjogdGhpcy5wYWdlUmVmIH0pO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVMb2FkKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMoeyAuLi5wYXJhbXMgfSk7XHJcbiAgICAgIH0sIDUwKTsgLy/nm7TmjqXorr7nva7vvIxwYWdlUmVm5rKh57uR5a6a77yM5pqC5pe26YCa6L+H5bu26L+f5Ye95pWw6L+b6KGM6Kej5YazXHJcbiAgICB9XHJcbiAgfTtcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXREYXRhKCkge1xyXG4gICAgLy8g5LuOcHJvcHPkuK3ojrflj5Z0YWJsZUNvZGXjgIFwdWJsaXNoZWTjgIFtZW51Q29kZVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IHRhYmxlQ29kZSwgcHVibGlzaGVkID0gdHJ1ZSwgbWVudUNvZGUsIHRhYlBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIC8vIOWmguaenHRhYmxlQ29kZeWtmOWcqFxyXG4gICAgaWYgKHRhYmxlQ29kZSkge1xyXG4gICAgICAvLyDlrprkuYnlj4LmlbBcclxuICAgICAgbGV0IHBhcmFtcyA9IHsgY29kZTogdGFibGVDb2RlIH0gYXMgYW55O1xyXG4gICAgICAvLyDlpoLmnpxwdWJsaXNoZWTkuLp0cnVlXHJcbiAgICAgIGlmIChwdWJsaXNoZWQpIHtcclxuICAgICAgICAvLyDorr7nva7lj4LmlbBpc1B1Ymxpc2hlZOS4ujFcclxuICAgICAgICBwYXJhbXMuaXNQdWJsaXNoZWQgPSAxO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIOiwg+eUqGdldFBhZ2VEYXRh5pa55rOV6I635Y+W5pWw5o2uXHJcbiAgICAgIGdldFBhZ2VEYXRhKHsgLi4ucGFyYW1zIH0pLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSkge1xyXG4gICAgICAgICAgbGV0IHRhYmxlX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS50YWJsZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgdHJlZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudHJlZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgcGFnZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEucGFnZVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgb3RoZXJfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLm90aGVyUGFyYW1zIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBsZXQgZm9ybV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEuZm9ybVByb3BzIHx8IFwie31cIikgfHwge307XHJcbiAgICAgICAgICBpZiAocGFnZV9wcm9wcy5wZXJtaXNzaW9uPy5oYXMgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBwYWdlX3Byb3BzLnBlcm1pc3Npb24ubWVudUNvZGUgPSBtZW51Q29kZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChwdWJsaXNoZWQgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChwYWdlX3Byb3BzLnNob3dTZWFyY2ggIT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LmRlZmF1bHRTZWFyY2ggJiZcclxuICAgICAgICAgICAgICBvdGhlcl9wcm9wcz8udGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIikgfHxcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy5hdXRvTG9hZCA9PT0gZmFsc2VcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0YWJsZV9wcm9wcy5zdG9yZS5hdXRvTG9hZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRhYlBhcmFtcykge1xyXG4gICAgICAgICAgICBjb25zdCBVdGlscyA9IGRlZmF1bFV0aWwgfHwge307XHJcbiAgICAgICAgICAgIGxldCBwYXJhbUZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlsc1wiLCB0YWJQYXJhbXMpO1xyXG4gICAgICAgICAgICBsZXQgY29udmVyVGFiUGFyYW1zID0gcGFyYW1GdW5jKFV0aWxzKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcykge1xyXG4gICAgICAgICAgICAgIGxldCB7IHJlcXVlc3RQYXJhbXMgPSB7fSB9ID0gcGFnZV9wcm9wcztcclxuICAgICAgICAgICAgICBsZXQgbmV3UmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgYWRkUGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgZWRpdG9yUGFyYW1zOiBudWxsLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIG5ld1JlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXF1ZXN0UGFyYW1zW2tleV0pIHtcclxuICAgICAgICAgICAgICAgICAgbGV0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlsc1wiLCByZXF1ZXN0UGFyYW1zW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgY29udmVyUGFyYW1zID0gZnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSwgLi4ub3RoZXIgfSA9IGNvbnZlclBhcmFtcztcclxuICAgICAgICAgICAgICAgICAgbGV0IG5ld1BhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcywgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLm90aGVyLFxyXG4gICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0UGFyYW1zW2tleV0gPSBuZXdQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBuZXdSZXF1ZXN0UGFyYW1zW2tleV0gPSB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgcGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zID0geyAuLi5uZXdSZXF1ZXN0UGFyYW1zIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcGFnZV9wcm9wcy5yZXF1ZXN0UGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgICAgYWRkUGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHBhZ2VQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4ucGFnZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHRyZWVQcm9wczoge1xyXG4gICAgICAgICAgICAgICAgLi4udHJlZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHRhYmxlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRhYmxlX3Byb3BzLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgb3RoZXJQcm9wczogeyAuLi5vdGhlcl9wcm9wcyB9LFxyXG4gICAgICAgICAgICAgIHNlbGZDb2x1bW5CdXR0b246IEpTT04ucGFyc2UocmVzLmRhdGEuY29sdW1uQnV0dG9ucykgfHwgW10sXHJcbiAgICAgICAgICAgICAgc2VsZlRvb2xCdXR0b246IEpTT04ucGFyc2UocmVzLmRhdGEudG9vbEJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRDb2x1bW5zOiBwYWdlX3Byb3BzLmNvbHVtbnMsXHJcbiAgICAgICAgICAgICAgZm9ybVBhZ2VQcm9wczogZm9ybV9wcm9wcyxcclxuICAgICAgICAgICAgICBzZWxmRm9ybUJ1dHRvbjogZm9ybV9wcm9wcz8uc2VsZkJ1dHRvbiB8fCBbXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhID09IG51bGwpIHtcclxuICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmnKrmib7liLDphY3nva7kv6Hmga/vvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBwYWdlTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gb25TZWFyY2goKSB7fVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlYXJjaFZhbHVlcygpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuICBzZXRTZWFyY2hQYXJhbXMocGFyYW1zLCBjYWxsQmFjaykge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnNldFNlYXJjaFBhcmFtcyhwYXJhbXMpO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnksIHJlcXVlc3RDb25maWcgPSB7fSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZChwYXJhbXMsIHJlcXVlc3RDb25maWcpO1xyXG4gIH1cclxuICB0YWJsZVJlbG9hZChwYXJhbXMgPSB7fSwgYXV0b0xvYWQgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8udGFibGVSZWxvYWQocGFyYW1zLCBhdXRvTG9hZCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8uZ2V0U2VsZWN0ZWRSb3dLZXlzKCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93RGF0YXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlbGVjdGVkUm93RGF0YXMoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5yZXNldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNsYXNzTmFtZSxcclxuICAgICAgZnVuY3MgPSB7fSxcclxuICAgICAgYmFzZVByb3BzID0ge30gYXMgTlNDQmFzZUJhZ2VQcm9wcyxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBwYWdlUHJvcHMsXHJcbiAgICAgIHRyZWVQcm9wcyxcclxuICAgICAgdGFibGVQcm9wcyxcclxuICAgICAgc2VsZlRvb2xCdXR0b24sXHJcbiAgICAgIHNlbGZDb2x1bW5CdXR0b24sXHJcbiAgICAgIHBhZ2VMb2FkaW5nLFxyXG4gICAgICBkZWZhdWx0Q29sdW1ucyxcclxuICAgICAgYnV0dG9uTG9hZGluZyA9IHt9LFxyXG4gICAgICBmb3JtUGFnZVByb3BzID0ge30sXHJcbiAgICAgIHNlbGZGb3JtQnV0dG9uLFxyXG4gICAgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHRyZWVQcm9wczogc2V0dGluZ1RyZWVQcm9wcyA9IHt9LFxyXG4gICAgICB0YWJsZVByb3BzOiBzZXR0aW5nVGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICAuLi5vdGhlclByb3BzXHJcbiAgICB9ID0gYmFzZVByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHtzdG9yZTp0YWJsZVN0b3JlfVxyXG4gICAgLy8gY29uc3QgeyBzdG9yZTogc2V0dGluZ1RhYmxlU3RvcmUgfSA9IHNldHRpbmdUYWJsZVByb3BzO1xyXG4gICAgY29uc3QgZGVhdWx0RnVuY3MgPSB7XHJcbiAgICAgIHNldEZpZWxkRGlzYWJsZWQ6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkRGlzYWJsZWQocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFZpc2libGU6IChrZXksIGRpc2FibGVkKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkVmlzaWJsZShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkaXNhYmxlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBuZXdEYXRhIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEZpZWxkUHJvcHNEYXRhOiAoa2V5LCBkYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IHNldEZpZWxkUHJvcHNEYXRhKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRhdGEpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBoaXN0b3J5OiAocGFyYW1zLCB0eXBlKSA9PiB7XHJcbiAgICAgICAganVtcFBhZ2UocGFyYW1zLCB0eXBlKTtcclxuICAgICAgfSxcclxuICAgICAgc2V0QnV0dG9uTG9hZGluZyhjb2RlLCBsb2FkaW5nKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgYnV0dG9uTG9hZGluZzogeyAuLi5idXR0b25Mb2FkaW5nLCBbY29kZV06IGxvYWRpbmcgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGdldEN1cnJlbnRQcm9qZWN0OiAoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGdldFByb2plY3QoKTtcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IGNvZGVTZWxmQnV0dG9ucyA9IFtdO1xyXG4gICAgbGV0IGNvZGVjb2x1bW5CdXR0b25zID0gW107XHJcbiAgICBsZXQgY29kZUZvcm1CdXR0b25zID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY2hpbGRyZW4ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgICAgaXRlbS5tYXAoKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZVNlbGZCdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjb2x1bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvZGVjb2x1bW5CdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKFwibnNjLWZyYW1ld29yay10YWJsZXBhZ2VcIiwgY2xhc3NOYW1lKX0+XHJcbiAgICAgICAge3BhZ2VMb2FkaW5nID8gKFxyXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0+XHJcbiAgICAgICAgICAgIDxTcGluIHNwaW5uaW5nPXtwYWdlTG9hZGluZ30+PC9TcGluPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxCYXNlUGFnZVxyXG4gICAgICAgICAgICB7Li4ucGFnZVByb3BzfVxyXG4gICAgICAgICAgICB0cmVlUHJvcHM9e3sgLi4udHJlZVByb3BzLCAuLi5zZXR0aW5nVHJlZVByb3BzIH19XHJcbiAgICAgICAgICAgIHRhYmxlUHJvcHM9e3sgLi4udGFibGVQcm9wcywgLi4uc2V0dGluZ1RhYmxlUHJvcHMgfX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXt7fX1cclxuICAgICAgICAgICAgVXRpbHM9e3sgLi4uZGVmYXVsVXRpbCB9fVxyXG4gICAgICAgICAgICByZWY9e3RoaXMucGFnZVJlZn1cclxuICAgICAgICAgICAgcGFnZVJlZj17dGhpcy5wYWdlUmVmfVxyXG4gICAgICAgICAgICBvbkhpZGVGb3JtPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwYWdlUHJvcHM6IHsgLi4ucGFnZVByb3BzLCBjb2x1bW5zOiBkZWZhdWx0Q29sdW1ucyB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBmdW5jcz17eyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfX1cclxuICAgICAgICAgICAgaW5pdERhdGE9e3RoaXMuaW5pdERhdGF9XHJcbiAgICAgICAgICAgIGZvcm1QYWdlUHJvcHM9e3tcclxuICAgICAgICAgICAgICBmb3JtVHlwZTogZm9ybVBhZ2VQcm9wcy5mb3JtVHlwZSB8fCBcIm1vZGFsXCIsXHJcbiAgICAgICAgICAgICAgcHJvcHM6IGZvcm1QYWdlUHJvcHM/LnByb3BzLFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3JlbmRlclNlbGZUb29sQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQnV0dG9uOiBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVTZWxmQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmQ29sdW1uQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbjogc2VsZkZvcm1CdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgICB0eXBlOiBcImZvcm1CdXR0b25cIixcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlRm9ybUJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC9CYXNlUGFnZT5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSxPQUFPQSxRQUFRLE1BQTRCLGFBQWE7QUFDeEQsT0FBT0MsSUFBSSxNQUFNLGlCQUFpQjtBQUNsQyxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLE9BQU8sY0FBYztBQUNyQixPQUFPQyxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPLEtBQUtDLE1BQU0sTUFBTSxPQUFPO0FBQy9CLE9BQU9DLE9BQU8sTUFBTSxVQUFVO0FBQzlCLE9BQU9DLFVBQVUsTUFBTSxhQUFhO0FBQ3BDLE9BQU8sS0FBS0MsUUFBUSxNQUFNLG1CQUFtQjtBQUM3QyxPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQUU1QixPQUFPQyxXQUFXLE1BQU0sY0FBYztBQUN0QyxTQUFTQyxh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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BasePage","Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","defaulUtil","createElement","renderSelfToolButton","_ref","selfToolButton","pageRef","funcs","loading","length","map","item","index","pageType","key","type","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","SettingTable","Component","constructor","arguments","_defineProperty","pageProps","treeProps","store","url","autoLoad","tableProps","pageLoading","defaultColumns","otherProps","buttonLoading","createRef","res","state","showSearch","defaultSearch","tableDataResource","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","getCurrentProject","children","codeSelfButtons","codecolumnButtons","Array","isArray","child","_child$props","_child$props2","_item$props","_item$props2","style","width","height","spinning","_extends","formProps","ref","onHideForm","_this$pageRef$current10","hideForm","initData"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({ selfToolButton, pageRef, funcs, loading }) => {\r\n if (selfToolButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfToolButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"toolButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst renderSelfColumnButton = ({ selfColumnButton, pageRef, funcs }) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.getData();\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaulUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props?.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaulUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaulUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["BasePage","Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","defaulUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","SettingTable","Component","constructor","arguments","_defineProperty","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","createRef","res","state","showSearch","defaultSearch","tableDataResource","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","getCurrentProject","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","_item$props","_item$props2","_item$props3","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst renderSelfColumnButton = ({ selfColumnButton, pageRef, funcs }) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.getData();\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaulUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props?.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaulUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaulUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n }}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;AACA,OAAOA,QAAQ,MAA4B,aAAa;AACxD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,MAAM,MAAM,mBAAmB;AACtC,OAAO,cAAc;AACrB,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,MAAM,MAAM,OAAO;AAC/B,OAAOC,OAAO,MAAM,UAAU;AAC9B,OAAOC,UAAU,MAAM,aAAa;AACpC,OAAO,KAAKC,QAAQ,MAAM,mBAAmB;AAC7C,OAAOC,GAAG,MAAM,YAAY;AAE5B,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAQ,mBAAmB;AACjD,OAAOC,KAAK,MAAM,OAAO;AAEzB;AACA;;AAEA,MAAMC,UAAU,GAAG;EACjBR,MAAM;EACNC,OAAO;EACPC,UAAU;EACVC,QAAQ;EACRI,KAAK;EACLE,aAAa,EAAEV,KAAK,CAACU;AACvB,CAAQ;AACR,MAAMC,oBAAoB,GAAGC,IAAA,IAMvB;EAAA,IANwB;IAC5BC,UAAU;IACVC,OAAO;IACPC,KAAK;IACLC,OAAO;IACPC,IAAI,GAAG;EACT,CAAC,GAAAL,IAAA;EACC,IAAIC,UAAU,CAACK,MAAM,IAAI,CAAC,EAAE;IAC1B,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAOL,UAAU,CAACM,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAa,KAAK;MAClD,oBACErB,KAAA,CAAAU,aAAA,CAACX,MAAM;QACLuB,QAAQ,EAAEL,IAAK;QACfM,GAAG,EAAEF,KAAM;QACXJ,IAAI,EAAEG,IAAI,CAACH,IAAK;QAChBO,OAAO,EAAEA,CAAA,KAAM;UACb,IAAIC,WAAW,GAAG;YAAEX,OAAO,EAAEA,OAAO;YAAEC,KAAK,EAAEA;UAAM,CAAC;UACpD,MAAMW,IAAI,GAAG,IAAIC,QAAQ,CAAC,mBAAmB,EAAEP,IAAI,CAACI,OAAO,CAAC;UAC5DE,IAAI,CAACjB,UAAU,EAAEgB,WAAW,CAAC;QAC/B,CAAE;QACFG,IAAI,EAAER,IAAI,CAACQ,IAAK;QAChBZ,OAAO,EAAEA,OAAO,CAACI,IAAI,CAACQ,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG;MAAM,GAEnDR,IAAI,CAACS,IACA,CAAC;IAEb,CAAC,CAAC;EACJ;AACF,CAAC;AAED,MAAMC,sBAAsB,GAAGC,KAAA,IAA0C;EAAA,IAAzC;IAAEC,gBAAgB;IAAElB,OAAO;IAAEC;EAAM,CAAC,GAAAgB,KAAA;EAClE,IAAIC,gBAAgB,CAACd,MAAM,IAAI,CAAC,EAAE;IAChC,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAOc,gBAAgB,CAACb,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAa,KAAK;MACxD,oBACErB,KAAA,CAAAU,aAAA,CAACX,MAAM;QACLuB,QAAQ,EAAC,cAAc;QACvBC,GAAG,EAAEF,KAAM;QACXJ,IAAI,EAAEG,IAAI,CAACH,IAAK;QAChBO,OAAO,EAAGS,MAAM,IAAK;UACnB,IAAIR,WAAW,GAAG;YAChBX,OAAO,EAAEA,OAAO;YAChBmB,MAAM,EAAEA,MAAM;YACdlB,KAAK,EAAEA;UACT,CAAC;UACD,MAAMW,IAAI,GAAG,IAAIC,QAAQ,CAAC,mBAAmB,EAAEP,IAAI,CAACI,OAAO,CAAC;UAC5DE,IAAI,CAACjB,UAAU,EAAEgB,WAAW,CAAC;QAC/B,CAAE;QACFG,IAAI,EAAER,IAAI,CAACQ,IAAK;QAChBM,UAAU,EAAEd,IAAI,CAACc;MAAW,GAE3Bd,IAAI,CAACS,IACA,CAAC;IAEb,CAAC,CAAC;EACJ;AACF,CAAC;AAED,MAAMM,WAAW,GAAIC,MAAW,IAAK;EACnC,OAAOjC,UAAU,CAACkC,GAAG,wCAAwC;IAC3DD,MAAM;IACNE,SAAS,EAAE,KAAK;IAChBC,UAAU,EAAE;EACd,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,MAAMC,gBAAgB,GAAGA,CAACC,IAAgB,EAAElB,GAAG,EAAEmB,QAAQ,KAAK;EAC5D,MAAMC,OAAO,GAAG,CAAC,GAAGF,IAAI,CAAC;EACzB,IAAIG,UAAU,GAAG,EAAS;EAC1BD,OAAO,CAACxB,GAAG,CAAEC,IAAI,IAAK;IACpB,IAAIyB,GAAG,GAAAC,aAAA,KAAQ1B,IAAI,CAAE;IACrB,IAAIA,IAAI,CAAC2B,SAAS,IAAIxB,GAAG,IAAIA,GAAG,CAACyB,OAAO,CAAC5B,IAAI,CAAC2B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MAC7D,IAAIE,KAAK,GAAGJ,GAAG,CAACI,KAAK,GAAAH,aAAA,KAAQD,GAAG,CAACI,KAAK,IAAK,CAAC,CAAC;MAC7CA,KAAK,CAACP,QAAQ,GAAGA,QAAQ;MACzBG,GAAG,CAACI,KAAK,GAAGA,KAAK;IACnB;IACAL,UAAU,CAACM,IAAI,CAACL,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB,CAAC;AACD;AACA,MAAMO,eAAe,GAAGA,CAACV,IAAgB,EAAElB,GAAG,EAAE6B,OAAO,KAAK;EAC1D,MAAMT,OAAO,GAAG,CAAC,GAAGF,IAAI,CAAC;EACzB,IAAIG,UAAU,GAAG,EAAS;EAC1BD,OAAO,CAACxB,GAAG,CAAEC,IAAI,IAAK;IACpB,IAAIyB,GAAG,GAAAC,aAAA,KAAQ1B,IAAI,CAAE;IACrB,IAAIA,IAAI,CAAC2B,SAAS,IAAIxB,GAAG,IAAIA,GAAG,CAACyB,OAAO,CAAC5B,IAAI,CAAC2B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MAC7DF,GAAG,CAACQ,MAAM,GAAGD,OAAO;IACtB;IACAR,UAAU,CAACM,IAAI,CAACL,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB,CAAC;AAED,MAAMU,iBAAiB,GAAGA,CAACb,IAAgB,EAAElB,GAAG,EAAEgC,SAAS,KAAK;EAC9D,MAAMZ,OAAO,GAAG,CAAC,GAAGF,IAAI,CAAC;EACzB,IAAIG,UAAU,GAAG,EAAS;EAC1BD,OAAO,CAACxB,GAAG,CAAEC,IAAI,IAAK;IACpB,IAAIyB,GAAG,GAAAC,aAAA,KAAQ1B,IAAI,CAAE;IACrB,IAAIA,IAAI,CAAC2B,SAAS,IAAIxB,GAAG,EAAE;MACzB,IAAI0B,KAAK,GAAGJ,GAAG,CAACI,KAAK,GAAAH,aAAA,KAAQD,GAAG,CAACI,KAAK,IAAK,CAAC,CAAC;MAC7CA,KAAK,CAACR,IAAI,GAAGc,SAAS;MACtBV,GAAG,CAACI,KAAK,GAAGA,KAAK;IACnB;IACAL,UAAU,CAACM,IAAI,CAACL,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB,CAAC;AAWD,MAAMY,QAAQ,GAAGA,CAACpB,MAAe,EAAEnB,IAA4B,KAAK;EAClE,MAAM;IACJwC,QAAQ;IACRC,KAAK,GAAG,CAAC,CAAC;IACVC,EAAE;IACFC,KAAK;IACLC,WAAW;IACXC,WAAW;IACXC;EACF,CAAC,GAAG3B,MAAM;EACV,MAAM4B,QAAQ,GAAAlB,aAAA,KAAQY,KAAK,CAAS;EACpC,MAAMO,SAAS,GAAG3D,WAAW,CAAC4D,SAAS,CAACF,QAAQ,CAAC;EACjD,MAAMG,IAAI,GAAGF,SAAS,MAAAG,MAAA,CAAMX,QAAQ,OAAAW,MAAA,CAAIH,SAAS,IAAKR,QAAQ;EAC9D;EACA,IAAIY,MAAM,CAACC,sBAAsB,EAAE;IACjC,MAAM7B,IAAI,GAAG;MACXmB,KAAK,EAAEA,KAAK,IAAI,KAAK;MACrBC,WAAW,EAAEA,WAAW;MAAE;MAC1BC,WAAW,EAAEA,WAAW;MAAE;MAC1BK,IAAI,EAAEA,IAAI;MAAE;MACZR,EAAE,EAAEA,EAAE;MAAE;MACRI,QAAQ,EAAEA,QAAQ,GAAGA,QAAQ,GAAG,CAAC,CAAE;IACrC,CAAC;IACDM,MAAM,CAACE,MAAM,CAACC,WAAW,CACvB;MACEC,SAAS,EAAExD,IAAI,GAAGA,IAAI,GAAG,QAAQ;MACjC4C,WAAW,EAAEA,WAAW,GAAGA,WAAW,GAAG,aAAa;MACtDa,OAAO,EAAEzD,IAAI,GAAGmB,MAAM,GAAGK;IAC3B,CAAC,EACD4B,MAAM,CAACM,QAAQ,CAACC,MAClB,CAAC;EACH,CAAC,MAAM;IACLP,MAAM,CAACQ,OAAO,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAEX,IAAI,CAAC;IACtCE,MAAM,CAACQ,OAAO,CAACE,EAAE,CAAC,CAAC;EACrB;AACF,CAAC;AACD,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,MAAMC,OAAO,GAAG1E,aAAa,CAAC;IAAEsB,IAAI,EAAE;EAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;EACjE,OAAOoD,OAAO;AAChB,CAAC;AAqBD,eAAe,MAAMC,YAAY,SAASlF,KAAK,CAACmF,SAAS,CAAc;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBAC7D;MACNC,SAAS,EAAE,CAAC,CAAQ;MACpBC,SAAS,EAAE;QAAEC,KAAK,EAAE;UAAEC,GAAG,EAAE,EAAE;UAAEC,QAAQ,EAAE;QAAM;MAAE,CAAQ;MACzDC,UAAU,EAAE,CAAC,CAAQ;MACrBC,cAAc,EAAE,EAAS;MACzB7D,gBAAgB,EAAE,EAAS;MAC3B8D,cAAc,EAAE,EAAS;MACzBC,WAAW,EAAE,IAAI;MACjBC,cAAc,EAAE,EAAS;MACzBC,UAAU,EAAE,CAAC,CAAQ;MACrBC,aAAa,EAAE,CAAC,CAAQ;MACxBC,aAAa,EAAE,CAAC;IAClB,CAAC;IAAAb,eAAA,+BACStF,KAAK,CAACoG,SAAS,CAAM,CAAC;IAAAd,eAAA,mBAgBpBe,GAAQ,IAAK;MACvB,MAAM;QAAEJ,UAAU;QAAEV;MAAU,CAAC,GAAG,IAAI,CAACe,KAAK;MAC5C,IACEf,SAAS,CAACgB,UAAU,KAAK,KAAK,IAC9BN,UAAU,CAACO,aAAa,IACxBP,UAAU,CAACQ,iBAAiB,IAAI,KAAK,EACrC;QACA,IAAI/E,IAAI,GAAG,IAAIC,QAAQ,CAAC,mBAAmB,EAAEsE,UAAU,CAACO,aAAa,CAAC;QACtE,MAAMpE,MAAM,GAAGV,IAAI,CAACjB,UAAU,EAAE;UAAEK,OAAO,EAAE,IAAI,CAACA;QAAQ,CAAC,CAAC;QAC1D4F,UAAU,CAAC,MAAM;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UACf,CAAAD,qBAAA,OAAI,CAAC7F,OAAO,CAAC+F,OAAO,cAAAF,qBAAA,eAApBA,qBAAA,CAAsBG,SAAS,CAAAhE,aAAA,KAAMV,MAAM,CAAE,CAAC;UAC9C,CAAAwE,sBAAA,OAAI,CAAC9F,OAAO,CAAC+F,OAAO,cAAAD,sBAAA,eAApBA,sBAAA,CAAsBG,eAAe,CAAAjE,aAAA,KAAMV,MAAM,CAAE,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACV;IACF,CAAC;EAAA;EA5BD4E,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,OAAO,CAAC,CAAC;EAChB;EAEAC,kBAAkBA,CAChBC,SAA2B,EAC3BC,SAAwB,EACxBC,QAAc,EACR;IACN,IAAIF,SAAS,CAACG,SAAS,IAAI,IAAI,CAACrE,KAAK,CAACqE,SAAS,EAAE;MAC/C,IAAI,CAACL,OAAO,CAAC,CAAC;IAChB;EACF;EAiBA;EACAA,OAAOA,CAAA,EAAG;IACR;IACA,IAAI,CAACM,QAAQ,CAAC;MACZxB,WAAW,EAAE;IACf,CAAC,CAAC;IACF,MAAM;MAAEuB,SAAS;MAAEE,SAAS,GAAG,IAAI;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACzE,KAAK;IACvE;IACA,IAAIqE,SAAS,EAAE;MACb;MACA,IAAIlF,MAAM,GAAG;QAAER,IAAI,EAAE0F;MAAU,CAAQ;MACvC;MACA,IAAIE,SAAS,EAAE;QACb;QACApF,MAAM,CAACuF,WAAW,GAAG,CAAC;MACxB;MACA;MACAxF,WAAW,CAAAW,aAAA,KAAMV,MAAM,CAAE,CAAC,CAACwF,IAAI,CAAEvB,GAAQ,IAAK;QAC5C,IAAIA,GAAG,CAACzE,IAAI,IAAI,GAAG,IAAIyE,GAAG,CAAC5D,IAAI,EAAE;UAAA,IAAAoF,qBAAA;UAC/B,IAAIC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAACmD,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC/D,IAAIqC,UAAU,GAAGF,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAAC+C,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7D,IAAI0C,UAAU,GAAGH,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAAC8C,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7D,IAAI4C,WAAW,GAAGJ,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAAC2F,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAChE,IAAIC,UAAU,GAAGN,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAAC6F,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7D,IAAI,EAAAT,qBAAA,GAAAK,UAAU,CAACK,UAAU,cAAAV,qBAAA,uBAArBA,qBAAA,CAAuBW,GAAG,KAAI,IAAI,EAAE;YACtCN,UAAU,CAACK,UAAU,CAACd,QAAQ,GAAGA,QAAQ;UAC3C;UACA,IAAID,SAAS,IAAI,KAAK,EAAE;YACtBU,UAAU,CAACK,UAAU,GAAG,KAAK;UAC/B;UACA,IACGL,UAAU,CAAC3B,UAAU,KAAK,KAAK,IAC9B4B,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAE3B,aAAa,IAC1B,CAAA2B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE1B,iBAAiB,KAAI,KAAK,IACzC,IAAI,CAACxD,KAAK,CAAC0C,QAAQ,KAAK,KAAK,EAC7B;YACAmC,WAAW,CAACrC,KAAK,CAACE,QAAQ,GAAG,KAAK;UACpC;UACA,IAAI+B,SAAS,EAAE;YACb,MAAMe,KAAK,GAAGhI,UAAU,IAAI,CAAC,CAAC;YAC9B,IAAIiI,SAAS,GAAG,IAAI/G,QAAQ,CAAC,OAAO,EAAE+F,SAAS,CAAC;YAChD,IAAIiB,eAAe,GAAGD,SAAS,CAACD,KAAK,CAAC;YACtC,IAAIP,UAAU,CAACU,aAAa,EAAE;cAC5B,IAAI;gBAAEA,aAAa,GAAG,CAAC;cAAE,CAAC,GAAGV,UAAU;cACvC,IAAIW,gBAAgB,GAAG;gBACrBC,WAAW,EAAE,IAAI;gBACjBC,SAAS,EAAE,IAAI;gBACfC,YAAY,EAAE;cAChB,CAAC;cACD,KAAK,IAAIzH,GAAG,IAAIsH,gBAAgB,EAAE;gBAChC,IAAID,aAAa,CAACrH,GAAG,CAAC,EAAE;kBACtB,IAAIG,IAAI,GAAG,IAAIC,QAAQ,CAAC,OAAO,EAAEiH,aAAa,CAACrH,GAAG,CAAC,CAAC;kBACpD,IAAI0H,YAAY,GAAGvH,IAAI,CAAC+G,KAAK,CAAC;kBAC9B,MAAM;sBAAEhG;oBAAe,CAAC,GAAGwG,YAAY;oBAAtBC,KAAK,GAAAC,wBAAA,CAAKF,YAAY,EAAAG,SAAA;kBACvC,IAAIC,SAAS,GAAAvG,aAAA;oBACXL,IAAI,EAAAK,aAAA,CAAAA,aAAA,KAAO6F,eAAe,GAAKlG,IAAI;kBAAE,GAClCyG,KAAK,CACT;kBACDL,gBAAgB,CAACtH,GAAG,CAAC,GAAG8H,SAAS;gBACnC,CAAC,MAAM;kBACLR,gBAAgB,CAACtH,GAAG,CAAC,GAAG;oBAAEkB,IAAI,EAAAK,aAAA,KAAO6F,eAAe;kBAAG,CAAC;gBAC1D;cACF;cACAT,UAAU,CAACU,aAAa,GAAA9F,aAAA,KAAQ+F,gBAAgB,CAAE;YACpD,CAAC,MAAM;cACLX,UAAU,CAACU,aAAa,GAAG;gBACzBE,WAAW,EAAE;kBAAErG,IAAI,EAAAK,aAAA,KAAO6F,eAAe;gBAAG,CAAC;gBAC7CI,SAAS,EAAE;kBAAEtG,IAAI,EAAAK,aAAA,KAAO6F,eAAe;gBAAG,CAAC;gBAC3CK,YAAY,EAAE;kBAAEvG,IAAI,EAAAK,aAAA,KAAO6F,eAAe;gBAAG;cAC/C,CAAC;YACH;UACF;UACA,IAAI,CAACpB,QAAQ,CACX;YACEhC,SAAS,EAAAzC,aAAA,KACJoF,UAAU,CACd;YACD1C,SAAS,EAAA1C,aAAA,KACJmF,UAAU,CACd;YACDrC,UAAU,EAAA9C,aAAA,KACLgF,WAAW,CACf;YACD7B,UAAU,EAAAnD,aAAA,KAAOqF,WAAW,CAAE;YAC9BnG,gBAAgB,EAAE+F,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAAC6G,aAAa,CAAC,IAAI,EAAE;YAC1DzD,cAAc,EAAEkC,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC5D,IAAI,CAAC8G,WAAW,CAAC,IAAI,EAAE;YACtDvD,cAAc,EAAEkC,UAAU,CAACvF,OAAO;YAClCwD,aAAa,EAAEkC,UAAU;YACzBvC,cAAc,EAAE,CAAAuC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExH,UAAU,KAAI;UAC5C,CAAC,EACD,MAAM;YACJ,IAAI,CAAC0G,QAAQ,CAAC;cACZxB,WAAW,EAAE;YACf,CAAC,CAAC;UACJ,CACF,CAAC;QACH,CAAC,MAAM,IAAIM,GAAG,CAACzE,IAAI,IAAI,GAAG,IAAIyE,GAAG,CAAC5D,IAAI,IAAI,IAAI,EAAE;UAC9C+G,QAAA,CAAQC,KAAK,CAAC,UAAU,CAAC;UACzB,IAAI,CAAClC,QAAQ,CAAC;YACZxB,WAAW,EAAE;UACf,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACwB,QAAQ,CAAC;YACZxB,WAAW,EAAE;UACf,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACwB,QAAQ,CAAC;QACZxB,WAAW,EAAE;MACf,CAAC,CAAC;IACJ;EACF;EACA;EACA2D,eAAeA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IAChB,MAAMC,KAAK,IAAAD,sBAAA,GAAG,IAAI,CAAC7I,OAAO,CAAC+F,OAAO,cAAA8C,sBAAA,uBAApBA,sBAAA,CAAsBD,eAAe,CAAC,CAAC;IACrD,OAAOE,KAAK;EACd;EACA7C,eAAeA,CAAC3E,MAAM,EAAEyH,QAAQ,EAAE;IAAA,IAAAC,sBAAA;IAChC,CAAAA,sBAAA,OAAI,CAAChJ,OAAO,CAAC+F,OAAO,cAAAiD,sBAAA,eAApBA,sBAAA,CAAsB/C,eAAe,CAAC3E,MAAM,CAAC;EAC/C;EACA0E,SAASA,CAAC1E,MAAW,EAAsB;IAAA,IAAA2H,sBAAA;IAAA,IAApBC,aAAa,GAAA3E,SAAA,CAAAnE,MAAA,QAAAmE,SAAA,QAAA4E,SAAA,GAAA5E,SAAA,MAAG,CAAC,CAAC;IACvC,CAAA0E,sBAAA,OAAI,CAACjJ,OAAO,CAAC+F,OAAO,cAAAkD,sBAAA,eAApBA,sBAAA,CAAsBjD,SAAS,CAAC1E,MAAM,EAAE4H,aAAa,CAAC;EACxD;EACAE,WAAWA,CAAA,EAA+B;IAAA,IAAAC,sBAAA;IAAA,IAA9B/H,MAAM,GAAAiD,SAAA,CAAAnE,MAAA,QAAAmE,SAAA,QAAA4E,SAAA,GAAA5E,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEM,QAAQ,GAAAN,SAAA,CAAAnE,MAAA,QAAAmE,SAAA,QAAA4E,SAAA,GAAA5E,SAAA,MAAG,IAAI;IACtC,CAAA8E,sBAAA,OAAI,CAACrJ,OAAO,CAAC+F,OAAO,cAAAsD,sBAAA,eAApBA,sBAAA,CAAsBD,WAAW,CAAC9H,MAAM,EAAEuD,QAAQ,CAAC;EACrD;EACAyE,kBAAkBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACnB,QAAAA,sBAAA,GAAO,IAAI,CAACvJ,OAAO,CAAC+F,OAAO,cAAAwD,sBAAA,uBAApBA,sBAAA,CAAsBD,kBAAkB,CAAC,CAAC;EACnD;EACAE,mBAAmBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACpB,QAAAA,sBAAA,GAAO,IAAI,CAACzJ,OAAO,CAAC+F,OAAO,cAAA0D,sBAAA,uBAApBA,sBAAA,CAAsBD,mBAAmB,CAAC,CAAC;EACpD;EAEAE,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACrB,QAAAA,sBAAA,GAAO,IAAI,CAAC3J,OAAO,CAAC+F,OAAO,cAAA4D,sBAAA,uBAApBA,sBAAA,CAAsBD,oBAAoB,CAAC,CAAC;EACrD;EACAE,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,SAAS;MACT5J,KAAK,GAAG,CAAC,CAAC;MACV6J,SAAS,GAAG,CAAC;IACf,CAAC,GAAG,IAAI,CAAC3H,KAAK;IACd,MAAM;MACJsC,SAAS;MACTC,SAAS;MACTI,UAAU;MACVC,cAAc;MACd7D,gBAAgB;MAChB+D,WAAW;MACXC,cAAc;MACdE,aAAa,GAAG,CAAC,CAAC;MAClBC,aAAa,GAAG,CAAC,CAAC;MAClBL;IACF,CAAC,GAAG,IAAI,CAACQ,KAAK;IACd,MAAM;QACJd,SAAS,EAAEqF,gBAAgB,GAAG,CAAC,CAAC;QAChCjF,UAAU,EAAEkF,iBAAiB,GAAG,CAAC;MAEnC,CAAC,GAAGF,SAAS;MADR3E,UAAU,GAAAkD,wBAAA,CACXyB,SAAS,EAAAG,UAAA;IACb,IAAIC,KAAK,GAAG,IAAI;IAChB;IACA;IACA,MAAMC,WAAW,GAAG;MAClBzI,gBAAgB,EAAEA,CAACjB,GAAG,EAAEmB,QAAQ,KAAK;QACnC,MAAMwI,OAAO,GAAG1I,gBAAgB,CAAC+C,SAAS,CAAC5C,OAAO,EAAEpB,GAAG,EAAEmB,QAAQ,CAAC;QAClE,IAAI,CAAC6E,QAAQ,CAAC;UACZhC,SAAS,EAAAzC,aAAA,CAAAA,aAAA,KAAOyC,SAAS;YAAE5C,OAAO,EAAEuI;UAAO;QAC7C,CAAC,CAAC;MACJ,CAAC;MACD/H,eAAe,EAAEA,CAAC5B,GAAG,EAAEmB,QAAQ,KAAK;QAClC,MAAMwI,OAAO,GAAG/H,eAAe,CAACoC,SAAS,CAAC5C,OAAO,EAAEpB,GAAG,EAAEmB,QAAQ,CAAC;QACjE,IAAI,CAAC6E,QAAQ,CAAC;UACZhC,SAAS,EAAAzC,aAAA,CAAAA,aAAA,KAAOyC,SAAS;YAAE5C,OAAO,EAAEuI;UAAO;QAC7C,CAAC,CAAC;MACJ,CAAC;MACD5H,iBAAiB,EAAEA,CAAC/B,GAAG,EAAEkB,IAAI,KAAK;QAChC,MAAMyI,OAAO,GAAG5H,iBAAiB,CAACiC,SAAS,CAAC5C,OAAO,EAAEpB,GAAG,EAAEkB,IAAI,CAAC;QAC/D,IAAI,CAAC8E,QAAQ,CAAC;UACZhC,SAAS,EAAAzC,aAAA,CAAAA,aAAA,KAAOyC,SAAS;YAAE5C,OAAO,EAAEuI;UAAO;QAC7C,CAAC,CAAC;MACJ,CAAC;MACDrG,OAAO,EAAEA,CAACzC,MAAM,EAAEnB,IAAI,KAAK;QACzBuC,QAAQ,CAACpB,MAAM,EAAEnB,IAAI,CAAC;MACxB,CAAC;MACDkK,gBAAgBA,CAACvJ,IAAI,EAAEZ,OAAO,EAAE;QAC9BgK,KAAK,CAACzD,QAAQ,CAAC;UACbrB,aAAa,EAAApD,aAAA,CAAAA,aAAA,KAAOoD,aAAa;YAAE,CAACtE,IAAI,GAAGZ;UAAO;QACpD,CAAC,CAAC;MACJ,CAAC;MAEDoK,iBAAiB,EAAEA,CAAA,KAAM;QACvB,OAAOpG,UAAU,CAAC,CAAC;MACrB;IACF,CAAC;IACD,MAAM;MAAEqG;IAAS,CAAC,GAAG,IAAI,CAACpI,KAAK;IAC/B,IAAIqI,eAAe,GAAG,EAAE;IACxB,IAAIC,iBAAiB,GAAG,EAAE;IAC1B,IAAIC,eAAe,GAAG,EAAE;IACxB,IAAIC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAE;MAC3BA,QAAQ,CAAClK,GAAG,CAAEC,IAAS,IAAK;QAC1B,IAAIqK,KAAK,CAACC,OAAO,CAACtK,IAAI,CAAC,EAAE;UACvBA,IAAI,CAACD,GAAG,CAAEwK,KAAK,IAAK;YAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA;YAClB,IAAI,CAAAH,KAAK,aAALA,KAAK,gBAAAC,YAAA,GAALD,KAAK,CAAE1I,KAAK,cAAA2I,YAAA,uBAAZA,YAAA,CAActK,QAAQ,KAAI,YAAY,EAAE;cAC1CgK,eAAe,CAACpI,IAAI,CAACyI,KAAK,CAAC;YAC7B,CAAC,MAAM,IAAI,CAAAA,KAAK,aAALA,KAAK,gBAAAE,aAAA,GAALF,KAAK,CAAE1I,KAAK,cAAA4I,aAAA,uBAAZA,aAAA,CAAcvK,QAAQ,KAAI,cAAc,EAAE;cACnDiK,iBAAiB,CAACrI,IAAI,CAACyI,KAAK,CAAC;YAC/B,CAAC,MAAM,IAAI,CAAAA,KAAK,aAALA,KAAK,gBAAAG,aAAA,GAALH,KAAK,CAAE1I,KAAK,cAAA6I,aAAA,uBAAZA,aAAA,CAAcxK,QAAQ,KAAI,YAAY,EAAE;cACjDkK,eAAe,CAACtI,IAAI,CAACyI,KAAK,CAAC;YAC7B;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UAAA,IAAAI,WAAA,EAAAC,YAAA,EAAAC,YAAA;UACL,IAAI,CAAA7K,IAAI,aAAJA,IAAI,gBAAA2K,WAAA,GAAJ3K,IAAI,CAAE6B,KAAK,cAAA8I,WAAA,uBAAXA,WAAA,CAAazK,QAAQ,KAAI,YAAY,EAAE;YACzCgK,eAAe,CAACpI,IAAI,CAAC9B,IAAI,CAAC;UAC5B,CAAC,MAAM,IAAI,CAAAA,IAAI,aAAJA,IAAI,gBAAA4K,YAAA,GAAJ5K,IAAI,CAAE6B,KAAK,cAAA+I,YAAA,uBAAXA,YAAA,CAAa1K,QAAQ,KAAI,cAAc,EAAE;YAClDiK,iBAAiB,CAACrI,IAAI,CAAC9B,IAAI,CAAC;UAC9B,CAAC,MAAM,IAAI,CAAAA,IAAI,aAAJA,IAAI,gBAAA6K,YAAA,GAAJ7K,IAAI,CAAE6B,KAAK,cAAAgJ,YAAA,uBAAXA,YAAA,CAAa3K,QAAQ,KAAI,YAAY,EAAE;YAChDkK,eAAe,CAACtI,IAAI,CAAC9B,IAAI,CAAC;UAC5B;QACF;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIiK,QAAQ,EAAE;MACnB,MAAM;QAAEpI;MAAW,CAAC,GAAGoI,QAAQ;MAC/B,IAAI,CAAApI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3B,QAAQ,KAAI,YAAY,EAAE;QACnCgK,eAAe,CAACpI,IAAI,CAACmI,QAAQ,CAAC;MAChC,CAAC,MAAM,IAAI,CAAApI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3B,QAAQ,KAAI,cAAc,EAAE;QAC5CiK,iBAAiB,CAACrI,IAAI,CAACmI,QAAQ,CAAC;MAClC;IACF;IACA,oBACErL,KAAA,CAAAU,aAAA;MAAKiK,SAAS,EAAEtK,GAAG,CAAC,yBAAyB,EAAEsK,SAAS;IAAE,GACvD5E,WAAW,gBACV/F,KAAA,CAAAU,aAAA;MAAKwL,KAAK,EAAE;QAAEC,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE;MAAO;IAAE,gBAC5CpM,KAAA,CAAAU,aAAA,CAACZ,IAAI;MAACuM,QAAQ,EAAEtG;IAAY,CAAO,CAChC,CAAC,gBAEN/F,KAAA,CAAAU,aAAA,CAACb,QAAQ,EAAAyM,QAAA,KACH/G,SAAS;MACbC,SAAS,EAAA1C,aAAA,CAAAA,aAAA,KAAO0C,SAAS,GAAKqF,gBAAgB,CAAG;MACjDjF,UAAU,EAAA9C,aAAA,CAAAA,aAAA,KAAO8C,UAAU,GAAKkF,iBAAiB,CAAG;MACpDxC,SAAS,EAAE,CAAC,CAAE;MACdG,KAAK,EAAA3F,aAAA,KAAOrC,UAAU,CAAG;MACzB8L,GAAG,EAAE,IAAI,CAACzL,OAAQ;MAClBA,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtB0L,UAAU,EAAEA,CAAA,KAAM;QAAA,IAAAC,uBAAA;QAChB,IAAI,CAAClF,QAAQ,CAAC;UACZhC,SAAS,EAAAzC,aAAA,CAAAA,aAAA,KAAOyC,SAAS;YAAE5C,OAAO,EAAEqD;UAAc;QACpD,CAAC,CAAC;QACF,CAAAyG,uBAAA,OAAI,CAAC3L,OAAO,CAAC+F,OAAO,cAAA4F,uBAAA,eAApBA,uBAAA,CAAsBC,QAAQ,CAAC,CAAC;MAClC,CAAE;MACF3L,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOmI,WAAW,GAAKlK,KAAK,CAAG;MACpC4L,QAAQ,EAAE,IAAI,CAACA,QAAS;MACxBxG,aAAa,EAAE;QACbyG,QAAQ,EAAEzG,aAAa,CAACyG,QAAQ,IAAI,OAAO;QAC3C3J,KAAK,EAAEkD,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAElD;MACxB;IAAE,GACEgD,UAAU,GAEbtF,oBAAoB,CAAC;MACpBE,UAAU,EAAEgF,cAAc;MAC1B/E,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOmI,WAAW,GAAKlK,KAAK,CAAE;MACnCC,OAAO,EAAE,IAAI,CAACsF,KAAK,CAACJ;IACtB,CAAC,CAAC,EACDoF,eAAe,CAACnK,GAAG,CAAEC,IAAI,IAAK;MAC7B,OAAOA,IAAI;IACb,CAAC,CAAC,EACDU,sBAAsB,CAAC;MACtBE,gBAAgB;MAChBlB,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOmI,WAAW,GAAKlK,KAAK;IACnC,CAAC,CAAC,EACDwK,iBAAiB,CAACpK,GAAG,CAAEC,IAAI,IAAK;MAC/B,OAAOA,IAAI;IACb,CAAC,CAAC,EACDT,oBAAoB,CAAC;MACpBE,UAAU,EAAEiF,cAAc;MAC1BhF,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOmI,WAAW,GAAKlK,KAAK,CAAE;MACnCC,OAAO,EAAE,IAAI,CAACsF,KAAK,CAACJ,aAAa;MACjCjF,IAAI,EAAE;IACR,CAAC,CAAC,EACDuK,eAAe,CAACrK,GAAG,CAAEC,IAAI,IAAK;MAC7B,OAAOA,IAAI;IACb,CAAC,CACO,CAET,CAAC;EAEV;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "4.1.27",
3
+ "version": "4.2.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {