nsc-react-component 3.3.5 → 4.0.1

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.
Files changed (41) hide show
  1. package/lib/base/ImageView/index.d.ts +23 -0
  2. package/lib/base/ImageView/index.js +90 -0
  3. package/lib/base/ImageView/index.js.map +1 -0
  4. package/lib/base/ImageView/index.less +44 -0
  5. package/lib/base/form/Form.js +3 -2
  6. package/lib/base/form/Form.js.map +1 -1
  7. package/lib/base/form/filed/FormItem.js +19 -1
  8. package/lib/base/form/filed/FormItem.js.map +1 -1
  9. package/lib/base/form/filed/Item.js +6 -5
  10. package/lib/base/form/filed/Item.js.map +1 -1
  11. package/lib/base/input/index.js +40 -41
  12. package/lib/base/input/index.js.map +1 -1
  13. package/lib/base/modal/index.js +1 -1
  14. package/lib/base/modal/index.js.map +1 -1
  15. package/lib/base/pdfviwer/index.d.ts +6 -11
  16. package/lib/base/pdfviwer/index.js +74 -68
  17. package/lib/base/pdfviwer/index.js.map +1 -1
  18. package/lib/config.d.ts +6 -0
  19. package/lib/config.js +3 -2
  20. package/lib/config.js.map +1 -1
  21. package/lib/index.d.ts +2 -0
  22. package/lib/index.js +3 -1
  23. package/lib/index.js.map +1 -1
  24. package/lib/page/BasePage/index.d.ts +36 -4
  25. package/lib/page/BasePage/index.js +409 -150
  26. package/lib/page/BasePage/index.js.map +1 -1
  27. package/lib/page/BasePage/index.module.less +9 -1
  28. package/lib/page/FormPage/index.d.ts +13 -1
  29. package/lib/page/FormPage/index.js +84 -18
  30. package/lib/page/FormPage/index.js.map +1 -1
  31. package/lib/page/SettingTable/com.d.ts +81 -0
  32. package/lib/page/SettingTable/com.js +81 -0
  33. package/lib/page/SettingTable/com.js.map +1 -0
  34. package/lib/page/SettingTable/index.d.ts +9 -0
  35. package/lib/page/SettingTable/index.js +244 -0
  36. package/lib/page/SettingTable/index.js.map +1 -0
  37. package/lib/page/SettingTable/index.less +13 -0
  38. package/lib/utils.d.ts +1 -0
  39. package/lib/utils.js +9 -1
  40. package/lib/utils.js.map +1 -1
  41. package/package.json +5 -6
@@ -81,11 +81,12 @@ export default class NSCFormItem extends PureComponent {
81
81
  },
82
82
  validateTrigger: validateTrigger ? validateTrigger : ["onBlur"]
83
83
  });
84
- } else if (type) {
85
- newRules.push({
86
- type: type
87
- });
88
84
  }
85
+ // else if (type) {
86
+ // newRules.push({
87
+ // type: type,
88
+ // });
89
+ // }
89
90
  let fieldProps = omit(this.props, ["label", "required", "message", "type", "name", "initialValue", "valuePropName", "prefixCls", "noStyle", "style", "id", "hidden", "messageVariables", "tooltip", "colon", "dependencies", "extra", "getValueFromEvent", "getValueProps", "hasFeedback", "fieldKey", "help", "htmlFor", "isList", "isListField", "labelAlign", "labelCol", "normalize", "onReset", "preserve", "validateFirst", "validateStatus", "validateTrigger", "valuePropName", "wrapperCol"]);
90
91
  let fieldPropsKey = [];
91
92
  for (let key in fieldProps) {
@@ -116,4 +117,4 @@ export default class NSCFormItem extends PureComponent {
116
117
  return /*#__PURE__*/React.createElement(_Form.Item, itemProps, Child);
117
118
  }
118
119
  }
119
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJvbWl0IiwidXRpbHMiLCJGb3JtSXRlbSIsIl9Gb3JtIiwiSXRlbSIsInR5cGVNZXNzYWdlIiwibW9iaWxlIiwidGVsZSIsImlkY2FyZCIsImVtYWlsIiwiYmFua2NhcmQiLCJOU0NGb3JtSXRlbSIsImdldEZpZWxkQ29tcG9uZW50IiwiaXRlbVByb3BzIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkiLCJjb21wb25lbnROYW1lIiwicmVuZGVyIiwibGFiZWwiLCJyZXF1aXJlZCIsImRlZmFsdXRWYWxpZGF0b3IiLCJtZXNzYWdlIiwiaGFzRmVlZGJhY2siLCJydWxlcyIsInZhbGlkYXRlVHJpZ2dlciIsInR5cGUiLCJhbGxvd0NoYXJzIiwibmV3UnVsZXMiLCJwdXNoIiwidmFsaWRhdG9yIiwiXyIsInZhbHVlIiwiZmlsZUxpc3QiLCJsZW5ndGgiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkFycmF5IiwiaXNBcnJheSIsInJlamVjdCIsIkVycm9yIiwiY2hlY2tNb2RlbCIsImNvbmNhdCIsImZpZWxkUHJvcHMiLCJmaWVsZFByb3BzS2V5Iiwia2V5IiwiQ2hpbGQiLCJjaGVja0NoYXJzIiwiX29iamVjdFNwcmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9maWxlZC9JdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiBGb3JtSXRlbSDlrp7njrBcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA4IDE1OjI3OjQ4XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMiAxNjo1NToxOFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IEZvcm0sIEZvcm1JdGVtUHJvcHMsIEZvcm1Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcblxyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5cclxuaW1wb3J0IHV0aWxzIGZyb20gXCIuLi8uLi8uLi91dGlsc1wiO1xyXG5cclxuY29uc3QgRm9ybUl0ZW0gPSBGb3JtLkl0ZW07XHJcblxyXG5jb25zdCB0eXBlTWVzc2FnZSA9IHtcclxuICBtb2JpbGU6IFwi5omL5py65Y+3XCIsXHJcbiAgdGVsZTogXCLnlLXor53lj7fnoIFcIixcclxuICBpZGNhcmQ6IFwi6Lqr5Lu96K+B5Y+356CBXCIsXHJcbiAgZW1haWw6IFwi6YKu566xXCIsXHJcbiAgYmFua2NhcmQ6IFwi6ZO26KGM5Y2h5Y+3XCIsXHJcbn07XHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybUl0ZW1Qcm9wcyB7XHJcbiAgbWVzc2FnZT86IHN0cmluZzsgLy/kuLrnqbrmj5DnpLrmloflrZdcclxuICB0eXBlPzogYW55O1xyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ0Zvcm1JdGVtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgY29tcG9uZW50TmFtZSA9IFwiXCI7XHJcbiAgLyoqXHJcbiAgICog6Ieq5a6a5LmJ5riy5p+T57uE5Lu2XHJcbiAgICovXHJcbiAgZ2V0RmllbGRDb21wb25lbnQoaXRlbVByb3BzLCBwcm9wcykge1xyXG4gICAgcmV0dXJuIDw+PC8+O1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcm9wcywgbmFtZSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIHJlcXVpcmVkLFxyXG4gICAgICBkZWZhbHV0VmFsaWRhdG9yID0gdHJ1ZSxcclxuICAgICAgbWVzc2FnZSxcclxuICAgICAgaGFzRmVlZGJhY2ssXHJcbiAgICAgIHJ1bGVzID0gW10sXHJcbiAgICAgIHZhbGlkYXRlVHJpZ2dlcixcclxuICAgICAgdHlwZSxcclxuICAgICAgYWxsb3dDaGFycyA9IGZhbHNlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdSdWxlcyA9IFsuLi5ydWxlc107XHJcbiAgICBpZiAoXHJcbiAgICAgIHJlcXVpcmVkICYmXHJcbiAgICAgICh0aGlzLmNvbXBvbmVudE5hbWUgPT09IFwiTnNjVXBsb2FkRHJhZ2dlclwiIHx8XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnROYW1lID09PSBcIk5zY1VwbG9hZFwiKVxyXG4gICAgKSB7XHJcbiAgICAgIG5ld1J1bGVzLnB1c2goe1xyXG4gICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcclxuICAgICAgICB2YWxpZGF0b3I6IChfLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlIHx8IGxhYmVsICsgXCLkuI3og73kuLrnqbrvvIFcIikpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChyZXF1aXJlZCkge1xyXG4gICAgICBuZXdSdWxlcy5wdXNoKHtcclxuICAgICAgICByZXF1aXJlZDogcmVxdWlyZWQsXHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCBsYWJlbCArIFwi5LiN6IO95Li656m677yBXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGUgJiYgdHlwZU1lc3NhZ2VbdHlwZV0pIHtcclxuICAgICAgLy8gaGFzRmVlZGJhY2sgPSBoYXNGZWVkYmFjayA/IGhhc0ZlZWRiYWNrIDogdHJ1ZTtcclxuICAgICAgLy8gdmFsaWRhdGVUcmlnZ2VyID0gdmFsaWRhdGVUcmlnZ2VyID8gdmFsaWRhdGVUcmlnZ2VyIDogXCJvbkNoYW5nZVwiO1xyXG4gICAgICBuZXdSdWxlcy5wdXNoKHtcclxuICAgICAgICB2YWxpZGF0b3I6IChfLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF2YWx1ZSB8fCB1dGlscy5jaGVja01vZGVsKHR5cGUsIHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgICAgIG5ldyBFcnJvcihg6K+36L6T5YWl5q2j56Gu55qEJHt0eXBlTWVzc2FnZVt0eXBlXX3vvIFgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbGlkYXRlVHJpZ2dlcjogdmFsaWRhdGVUcmlnZ2VyID8gdmFsaWRhdGVUcmlnZ2VyIDogW1wib25CbHVyXCJdLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSkge1xyXG4gICAgICBuZXdSdWxlcy5wdXNoKHtcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGxldCBmaWVsZFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwibGFiZWxcIixcclxuICAgICAgXCJyZXF1aXJlZFwiLFxyXG4gICAgICBcIm1lc3NhZ2VcIixcclxuICAgICAgXCJ0eXBlXCIsXHJcbiAgICAgIFwibmFtZVwiLFxyXG4gICAgICBcImluaXRpYWxWYWx1ZVwiLFxyXG4gICAgICBcInZhbHVlUHJvcE5hbWVcIixcclxuICAgICAgXCJwcmVmaXhDbHNcIixcclxuICAgICAgXCJub1N0eWxlXCIsXHJcbiAgICAgIFwic3R5bGVcIixcclxuICAgICAgXCJpZFwiLFxyXG4gICAgICBcImhpZGRlblwiLFxyXG4gICAgICBcIm1lc3NhZ2VWYXJpYWJsZXNcIixcclxuICAgICAgXCJ0b29sdGlwXCIsXHJcbiAgICAgIFwiY29sb25cIixcclxuICAgICAgXCJkZXBlbmRlbmNpZXNcIixcclxuICAgICAgXCJleHRyYVwiLFxyXG4gICAgICBcImdldFZhbHVlRnJvbUV2ZW50XCIsXHJcbiAgICAgIFwiZ2V0VmFsdWVQcm9wc1wiLFxyXG4gICAgICBcImhhc0ZlZWRiYWNrXCIsXHJcbiAgICAgIFwiZmllbGRLZXlcIixcclxuICAgICAgXCJoZWxwXCIsXHJcbiAgICAgIFwiaHRtbEZvclwiLFxyXG4gICAgICBcImlzTGlzdFwiLFxyXG4gICAgICBcImlzTGlzdEZpZWxkXCIsXHJcbiAgICAgIFwibGFiZWxBbGlnblwiLFxyXG4gICAgICBcImxhYmVsQ29sXCIsXHJcbiAgICAgIFwibm9ybWFsaXplXCIsXHJcbiAgICAgIFwib25SZXNldFwiLFxyXG4gICAgICBcInByZXNlcnZlXCIsXHJcbiAgICAgIFwidmFsaWRhdGVGaXJzdFwiLFxyXG4gICAgICBcInZhbGlkYXRlU3RhdHVzXCIsXHJcbiAgICAgIFwidmFsaWRhdGVUcmlnZ2VyXCIsXHJcbiAgICAgIFwidmFsdWVQcm9wTmFtZVwiLFxyXG4gICAgICBcIndyYXBwZXJDb2xcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGZpZWxkUHJvcHNLZXkgPSBbXTtcclxuICAgIGZvciAobGV0IGtleSBpbiBmaWVsZFByb3BzKSB7XHJcbiAgICAgIGZpZWxkUHJvcHNLZXkucHVzaChrZXkpO1xyXG4gICAgfVxyXG4gICAgZmllbGRQcm9wc0tleS5wdXNoKFtcInJ1bGVzXCIsIFwibWVzc2FnZVwiLCBcInJlcXVpcmVkXCJdKTtcclxuICAgIGNvbnN0IENoaWxkID0gdGhpcy5nZXRGaWVsZENvbXBvbmVudChmaWVsZFByb3BzLCB0aGlzLnByb3BzKTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudE5hbWUgPT09IFwiTnNjSW5wdXRcIikge1xyXG4gICAgICBpZiAoIWFsbG93Q2hhcnMpIHtcclxuICAgICAgICBuZXdSdWxlcy5wdXNoKHtcclxuICAgICAgICAgIHZhbGlkYXRvcjogKF8sIHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdmFsdWUgfHwgdXRpbHMuY2hlY2tDaGFycyh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihg5LiN6IO96L6T5YWl54m55q6K5a2X56ym77yBYCkpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHZhbGlkYXRlVHJpZ2dlcjogdmFsaWRhdGVUcmlnZ2VyID8gdmFsaWRhdGVUcmlnZ2VyIDogW1wib25CbHVyXCJdLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgaXRlbVByb3BzID0gb21pdCh0aGlzLnByb3BzLCBmaWVsZFByb3BzS2V5KTtcclxuICAgIGl0ZW1Qcm9wcyA9IHtcclxuICAgICAgLi4ueyBsYWJlbCwgcnVsZXM6IG5ld1J1bGVzLCBoYXNGZWVkYmFjaywgdmFsaWRhdGVUcmlnZ2VyIH0sXHJcbiAgICAgIC4uLml0ZW1Qcm9wcyxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIDxGb3JtLkl0ZW0gey4uLml0ZW1Qcm9wc30+e0NoaWxkfTwvRm9ybS5JdGVtPjtcclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUk1QyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUUxQixPQUFPQyxLQUFLLE1BQU0sZ0JBQWdCO0FBRWxDLE1BQU1DLFFBQVEsR0FBR0MsS0FBQSxDQUFLQyxJQUFJO0FBRTFCLE1BQU1DLFdBQVcsR0FBRztFQUNsQkMsTUFBTSxFQUFFLEtBQUs7RUFDYkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsTUFBTSxFQUFFLE9BQU87RUFDZkMsS0FBSyxFQUFFLElBQUk7RUFDWEMsUUFBUSxFQUFFO0FBQ1osQ0FBQztBQU1ELGVBQWUsTUFBTUMsV0FBVyxTQUFTWixhQUFhLENBQWE7RUFFakU7QUFDRjtBQUNBO0VBQ0VhLGlCQUFpQkEsQ0FBQ0MsU0FBUyxFQUFFQyxLQUFLLEVBQUU7SUFDbEMsb0JBQU9oQixLQUFBLENBQUFpQixhQUFBLENBQUFqQixLQUFBLENBQUFrQixRQUFBLE1BQUksQ0FBQztFQUNkO0VBQ0FDLFdBQVdBLENBQUNILEtBQUssRUFBRUksSUFBSSxFQUFFO0lBQ3ZCLEtBQUssQ0FBQ0osS0FBSyxDQUFDO0lBQUNLLGVBQUEsd0JBUkMsRUFBRTtJQVNoQixJQUFJLENBQUNDLGFBQWEsR0FBR0YsSUFBSTtFQUMzQjtFQUNBRyxNQUFNQSxDQUFBLEVBQUc7SUFDUCxJQUFJO01BQ0ZDLEtBQUs7TUFDTEMsUUFBUTtNQUNSQyxnQkFBZ0IsR0FBRyxJQUFJO01BQ3ZCQyxPQUFPO01BQ1BDLFdBQVc7TUFDWEMsS0FBSyxHQUFHLEVBQUU7TUFDVkMsZUFBZTtNQUNmQyxJQUFJO01BQ0pDLFVBQVUsR0FBRztJQUNmLENBQUMsR0FBRyxJQUFJLENBQUNoQixLQUFLO0lBQ2QsTUFBTWlCLFFBQVEsR0FB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
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJvbWl0IiwidXRpbHMiLCJGb3JtSXRlbSIsIl9Gb3JtIiwiSXRlbSIsInR5cGVNZXNzYWdlIiwibW9iaWxlIiwidGVsZSIsImlkY2FyZCIsImVtYWlsIiwiYmFua2NhcmQiLCJOU0NGb3JtSXRlbSIsImdldEZpZWxkQ29tcG9uZW50IiwiaXRlbVByb3BzIiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkiLCJjb21wb25lbnROYW1lIiwicmVuZGVyIiwibGFiZWwiLCJyZXF1aXJlZCIsImRlZmFsdXRWYWxpZGF0b3IiLCJtZXNzYWdlIiwiaGFzRmVlZGJhY2siLCJydWxlcyIsInZhbGlkYXRlVHJpZ2dlciIsInR5cGUiLCJhbGxvd0NoYXJzIiwibmV3UnVsZXMiLCJwdXNoIiwidmFsaWRhdG9yIiwiXyIsInZhbHVlIiwiZmlsZUxpc3QiLCJsZW5ndGgiLCJQcm9taXNlIiwicmVzb2x2ZSIsIkFycmF5IiwiaXNBcnJheSIsInJlamVjdCIsIkVycm9yIiwiY2hlY2tNb2RlbCIsImNvbmNhdCIsImZpZWxkUHJvcHMiLCJmaWVsZFByb3BzS2V5Iiwia2V5IiwiQ2hpbGQiLCJjaGVja0NoYXJzIiwiX29iamVjdFNwcmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9maWxlZC9JdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiBGb3JtSXRlbSDlrp7njrBcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA4IDE1OjI3OjQ4XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMiAxNjo1NToxOFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IEZvcm0sIEZvcm1JdGVtUHJvcHMsIEZvcm1Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcblxyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5cclxuaW1wb3J0IHV0aWxzIGZyb20gXCIuLi8uLi8uLi91dGlsc1wiO1xyXG5cclxuY29uc3QgRm9ybUl0ZW0gPSBGb3JtLkl0ZW07XHJcblxyXG5jb25zdCB0eXBlTWVzc2FnZSA9IHtcclxuICBtb2JpbGU6IFwi5omL5py65Y+3XCIsXHJcbiAgdGVsZTogXCLnlLXor53lj7fnoIFcIixcclxuICBpZGNhcmQ6IFwi6Lqr5Lu96K+B5Y+356CBXCIsXHJcbiAgZW1haWw6IFwi6YKu566xXCIsXHJcbiAgYmFua2NhcmQ6IFwi6ZO26KGM5Y2h5Y+3XCIsXHJcbn07XHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybUl0ZW1Qcm9wcyB7XHJcbiAgbWVzc2FnZT86IHN0cmluZzsgLy/kuLrnqbrmj5DnpLrmloflrZdcclxuICB0eXBlPzogYW55O1xyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ0Zvcm1JdGVtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgY29tcG9uZW50TmFtZSA9IFwiXCI7XHJcbiAgLyoqXHJcbiAgICog6Ieq5a6a5LmJ5riy5p+T57uE5Lu2XHJcbiAgICovXHJcbiAgZ2V0RmllbGRDb21wb25lbnQoaXRlbVByb3BzLCBwcm9wcykge1xyXG4gICAgcmV0dXJuIDw+PC8+O1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcm9wcywgbmFtZSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5jb21wb25lbnROYW1lID0gbmFtZTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgbGFiZWwsXHJcbiAgICAgIHJlcXVpcmVkLFxyXG4gICAgICBkZWZhbHV0VmFsaWRhdG9yID0gdHJ1ZSxcclxuICAgICAgbWVzc2FnZSxcclxuICAgICAgaGFzRmVlZGJhY2ssXHJcbiAgICAgIHJ1bGVzID0gW10sXHJcbiAgICAgIHZhbGlkYXRlVHJpZ2dlcixcclxuICAgICAgdHlwZSxcclxuICAgICAgYWxsb3dDaGFycyA9IGZhbHNlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdSdWxlcyA9IFsuLi5ydWxlc107XHJcbiAgICBpZiAoXHJcbiAgICAgIHJlcXVpcmVkICYmXHJcbiAgICAgICh0aGlzLmNvbXBvbmVudE5hbWUgPT09IFwiTnNjVXBsb2FkRHJhZ2dlclwiIHx8XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnROYW1lID09PSBcIk5zY1VwbG9hZFwiKVxyXG4gICAgKSB7XHJcbiAgICAgIG5ld1J1bGVzLnB1c2goe1xyXG4gICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcclxuICAgICAgICB2YWxpZGF0b3I6IChfLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmZpbGVMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlIHx8IGxhYmVsICsgXCLkuI3og73kuLrnqbrvvIFcIikpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChyZXF1aXJlZCkge1xyXG4gICAgICBuZXdSdWxlcy5wdXNoKHtcclxuICAgICAgICByZXF1aXJlZDogcmVxdWlyZWQsXHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCBsYWJlbCArIFwi5LiN6IO95Li656m677yBXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGUgJiYgdHlwZU1lc3NhZ2VbdHlwZV0pIHtcclxuICAgICAgLy8gaGFzRmVlZGJhY2sgPSBoYXNGZWVkYmFjayA/IGhhc0ZlZWRiYWNrIDogdHJ1ZTtcclxuICAgICAgLy8gdmFsaWRhdGVUcmlnZ2VyID0gdmFsaWRhdGVUcmlnZ2VyID8gdmFsaWRhdGVUcmlnZ2VyIDogXCJvbkNoYW5nZVwiO1xyXG4gICAgICBuZXdSdWxlcy5wdXNoKHtcclxuICAgICAgICB2YWxpZGF0b3I6IChfLCB2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF2YWx1ZSB8fCB1dGlscy5jaGVja01vZGVsKHR5cGUsIHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgICAgIG5ldyBFcnJvcihg6K+36L6T5YWl5q2j56Gu55qEJHt0eXBlTWVzc2FnZVt0eXBlXX3vvIFgKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbGlkYXRlVHJpZ2dlcjogdmFsaWRhdGVUcmlnZ2VyID8gdmFsaWRhdGVUcmlnZ2VyIDogW1wib25CbHVyXCJdLFxyXG4gICAgICB9KTtcclxuICAgIH0gXHJcbiAgICAvLyBlbHNlIGlmICh0eXBlKSB7XHJcbiAgICAvLyAgIG5ld1J1bGVzLnB1c2goe1xyXG4gICAgLy8gICAgIHR5cGU6IHR5cGUsXHJcbiAgICAvLyAgIH0pO1xyXG4gICAgLy8gfVxyXG4gICAgbGV0IGZpZWxkUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJsYWJlbFwiLFxyXG4gICAgICBcInJlcXVpcmVkXCIsXHJcbiAgICAgIFwibWVzc2FnZVwiLFxyXG4gICAgICBcInR5cGVcIixcclxuICAgICAgXCJuYW1lXCIsXHJcbiAgICAgIFwiaW5pdGlhbFZhbHVlXCIsXHJcbiAgICAgIFwidmFsdWVQcm9wTmFtZVwiLFxyXG4gICAgICBcInByZWZpeENsc1wiLFxyXG4gICAgICBcIm5vU3R5bGVcIixcclxuICAgICAgXCJzdHlsZVwiLFxyXG4gICAgICBcImlkXCIsXHJcbiAgICAgIFwiaGlkZGVuXCIsXHJcbiAgICAgIFwibWVzc2FnZVZhcmlhYmxlc1wiLFxyXG4gICAgICBcInRvb2x0aXBcIixcclxuICAgICAgXCJjb2xvblwiLFxyXG4gICAgICBcImRlcGVuZGVuY2llc1wiLFxyXG4gICAgICBcImV4dHJhXCIsXHJcbiAgICAgIFwiZ2V0VmFsdWVGcm9tRXZlbnRcIixcclxuICAgICAgXCJnZXRWYWx1ZVByb3BzXCIsXHJcbiAgICAgIFwiaGFzRmVlZGJhY2tcIixcclxuICAgICAgXCJmaWVsZEtleVwiLFxyXG4gICAgICBcImhlbHBcIixcclxuICAgICAgXCJodG1sRm9yXCIsXHJcbiAgICAgIFwiaXNMaXN0XCIsXHJcbiAgICAgIFwiaXNMaXN0RmllbGRcIixcclxuICAgICAgXCJsYWJlbEFsaWduXCIsXHJcbiAgICAgIFwibGFiZWxDb2xcIixcclxuICAgICAgXCJub3JtYWxpemVcIixcclxuICAgICAgXCJvblJlc2V0XCIsXHJcbiAgICAgIFwicHJlc2VydmVcIixcclxuICAgICAgXCJ2YWxpZGF0ZUZpcnN0XCIsXHJcbiAgICAgIFwidmFsaWRhdGVTdGF0dXNcIixcclxuICAgICAgXCJ2YWxpZGF0ZVRyaWdnZXJcIixcclxuICAgICAgXCJ2YWx1ZVByb3BOYW1lXCIsXHJcbiAgICAgIFwid3JhcHBlckNvbFwiLFxyXG4gICAgXSk7XHJcbiAgICBsZXQgZmllbGRQcm9wc0tleSA9IFtdO1xyXG4gICAgZm9yIChsZXQga2V5IGluIGZpZWxkUHJvcHMpIHtcclxuICAgICAgZmllbGRQcm9wc0tleS5wdXNoKGtleSk7XHJcbiAgICB9XHJcbiAgICBmaWVsZFByb3BzS2V5LnB1c2goW1wicnVsZXNcIiwgXCJtZXNzYWdlXCIsIFwicmVxdWlyZWRcIl0pO1xyXG4gICAgY29uc3QgQ2hpbGQgPSB0aGlzLmdldEZpZWxkQ29tcG9uZW50KGZpZWxkUHJvcHMsIHRoaXMucHJvcHMpO1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50TmFtZSA9PT0gXCJOc2NJbnB1dFwiKSB7XHJcbiAgICAgIGlmICghYWxsb3dDaGFycykge1xyXG4gICAgICAgIG5ld1J1bGVzLnB1c2goe1xyXG4gICAgICAgICAgdmFsaWRhdG9yOiAoXywgdmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF2YWx1ZSB8fCB1dGlscy5jaGVja0NoYXJzKHZhbHVlKSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKGDkuI3og73ovpPlhaXnibnmrorlrZfnrKbvvIFgKSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdmFsaWRhdGVUcmlnZ2VyOiB2YWxpZGF0ZVRyaWdnZXIgPyB2YWxpZGF0ZVRyaWdnZXIgOiBbXCJvbkJsdXJcIl0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBpdGVtUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIGZpZWxkUHJvcHNLZXkpO1xyXG4gICAgaXRlbVByb3BzID0ge1xyXG4gICAgICAuLi57IGxhYmVsLCBydWxlczogbmV3UnVsZXMsIGhhc0ZlZWRiYWNrLCB2YWxpZGF0ZVRyaWdnZXIgfSxcclxuICAgICAgLi4uaXRlbVByb3BzLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gPEZvcm0uSXRlbSB7Li4uaXRlbVByb3BzfT57Q2hpbGR9PC9Gb3JtLkl0ZW0+O1xyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBSTVDLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBRTFCLE9BQU9DLEtBQUssTUFBTSxnQkFBZ0I7QUFFbEMsTUFBTUMsUUFBUSxHQUFHQyxLQUFBLENBQUtDLElBQUk7QUFFMUIsTUFBTUMsV0FBVyxHQUFHO0VBQ2xCQyxNQUFNLEVBQUUsS0FBSztFQUNiQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxNQUFNLEVBQUUsT0FBTztFQUNmQyxLQUFLLEVBQUUsSUFBSTtFQUNYQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBTUQsZUFBZSxNQUFNQyxXQUFXLFNBQVNaLGFBQWEsQ0FBYTtFQUVqRTtBQUNGO0FBQ0E7RUFDRWEsaUJBQWlCQSxDQUFDQyxTQUFTLEVBQUVDLEtBQUssRUFBRTtJQUNsQyxvQkFBT2hCLEtBQUEsQ0FBQWlCLGFBQUEsQ0FBQWpCLEtBQUEsQ0FBQWtCLFFBQUEsTUFBSSxDQUFDO0VBQ2Q7RUFDQUMsV0FBV0EsQ0FBQ0gsS0FBSyxFQUFFSSxJQUFJLEVBQUU7SUFDdkIsS0FBSyxDQUFDSixLQUFLLENBQUM7SUFBQ0ssZUFBQSx3QkFSQyxFQUFFO0lBU2hCLElBQUksQ0FBQ0MsYUFBYSxHQUFHRixJQUFJO0VBQzNCO0VBQ0FHLE1BQU1BLENBQUEsRUFBRztJQUNQLElBQUk7TUFDRkMsS0FBSztNQUNMQyxRQUFRO01BQ1JDLGdCQUFnQixHQUFHLElBQUk7TUFDdkJDLE9BQU87TUFDUEMsV0FBVztNQUNYQyxLQUFLLEdBQUcsRUFBRTtNQUNWQyxlQUFlO01BQ2ZDLElBQUk7TUFDSkMsVUFBVSxHQUFHO0lBQ2YsQ0FBQyxHQUFHLElBQUksQ0FBQ2hCLEtB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
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","names":["React","PureComponent","omit","utils","FormItem","_Form","Item","typeMessage","mobile","tele","idcard","email","bankcard","NSCFormItem","getFieldComponent","itemProps","props","createElement","Fragment","constructor","name","_defineProperty","componentName","render","label","required","defalutValidator","message","hasFeedback","rules","validateTrigger","type","allowChars","newRules","push","validator","_","value","fileList","length","Promise","resolve","Array","isArray","reject","Error","checkModel","concat","fieldProps","fieldPropsKey","key","Child","checkChars","_objectSpread"],"sources":["../../../../src/components/base/form/filed/Item.tsx"],"sourcesContent":["/*\r\n * @Descripttion: FormItem 实现\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-08 15:27:48\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 16:55:18\r\n */\r\nimport React, { PureComponent } from \"react\";\r\n\r\nimport { Form, FormItemProps, FormProps } from \"antd\";\r\n\r\nimport omit from \"omit.js\";\r\n\r\nimport utils from \"../../../utils\";\r\n\r\nconst FormItem = Form.Item;\r\n\r\nconst typeMessage = {\r\n mobile: \"手机号\",\r\n tele: \"电话号码\",\r\n idcard: \"身份证号码\",\r\n email: \"邮箱\",\r\n bankcard: \"银行卡号\",\r\n};\r\ninterface IFormProps extends FormItemProps {\r\n message?: string; //为空提示文字\r\n type?: any;\r\n [propName: string]: any;\r\n}\r\nexport default class NSCFormItem extends PureComponent<IFormProps> {\r\n componentName = \"\";\r\n /**\r\n * 自定义渲染组件\r\n */\r\n getFieldComponent(itemProps, props) {\r\n return <></>;\r\n }\r\n constructor(props, name) {\r\n super(props);\r\n this.componentName = name;\r\n }\r\n render() {\r\n let {\r\n label,\r\n required,\r\n defalutValidator = true,\r\n message,\r\n hasFeedback,\r\n rules = [],\r\n validateTrigger,\r\n type,\r\n allowChars = false,\r\n } = this.props;\r\n const newRules = [...rules];\r\n if (\r\n required &&\r\n (this.componentName === \"NscUploadDragger\" ||\r\n this.componentName === \"NscUpload\")\r\n ) {\r\n newRules.push({\r\n required: required,\r\n validator: (_, value) => {\r\n if (value && value.fileList.length > 0) {\r\n return Promise.resolve();\r\n } else if (value && Array.isArray(value) && value.length > 0) {\r\n return Promise.resolve();\r\n } else if (value && typeof value == \"string\") {\r\n return Promise.resolve();\r\n } else {\r\n return Promise.reject(new Error(message || label + \"不能为空!\"));\r\n }\r\n },\r\n });\r\n } else if (required) {\r\n newRules.push({\r\n required: required,\r\n message: message || label + \"不能为空!\",\r\n });\r\n }\r\n if (type && typeMessage[type]) {\r\n // hasFeedback = hasFeedback ? hasFeedback : true;\r\n // validateTrigger = validateTrigger ? validateTrigger : \"onChange\";\r\n newRules.push({\r\n validator: (_, value) => {\r\n if (!value || utils.checkModel(type, value)) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n new Error(`请输入正确的${typeMessage[type]}!`)\r\n );\r\n },\r\n validateTrigger: validateTrigger ? validateTrigger : [\"onBlur\"],\r\n });\r\n } else if (type) {\r\n newRules.push({\r\n type: type,\r\n });\r\n }\r\n let fieldProps = omit(this.props, [\r\n \"label\",\r\n \"required\",\r\n \"message\",\r\n \"type\",\r\n \"name\",\r\n \"initialValue\",\r\n \"valuePropName\",\r\n \"prefixCls\",\r\n \"noStyle\",\r\n \"style\",\r\n \"id\",\r\n \"hidden\",\r\n \"messageVariables\",\r\n \"tooltip\",\r\n \"colon\",\r\n \"dependencies\",\r\n \"extra\",\r\n \"getValueFromEvent\",\r\n \"getValueProps\",\r\n \"hasFeedback\",\r\n \"fieldKey\",\r\n \"help\",\r\n \"htmlFor\",\r\n \"isList\",\r\n \"isListField\",\r\n \"labelAlign\",\r\n \"labelCol\",\r\n \"normalize\",\r\n \"onReset\",\r\n \"preserve\",\r\n \"validateFirst\",\r\n \"validateStatus\",\r\n \"validateTrigger\",\r\n \"valuePropName\",\r\n \"wrapperCol\",\r\n ]);\r\n let fieldPropsKey = [];\r\n for (let key in fieldProps) {\r\n fieldPropsKey.push(key);\r\n }\r\n fieldPropsKey.push([\"rules\", \"message\", \"required\"]);\r\n const Child = this.getFieldComponent(fieldProps, this.props);\r\n if (this.componentName === \"NscInput\") {\r\n if (!allowChars) {\r\n newRules.push({\r\n validator: (_, value) => {\r\n if (!value || utils.checkChars(value)) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(new Error(`不能输入特殊字符!`));\r\n },\r\n validateTrigger: validateTrigger ? validateTrigger : [\"onBlur\"],\r\n });\r\n }\r\n }\r\n let itemProps = omit(this.props, fieldPropsKey);\r\n itemProps = {\r\n ...{ label, rules: newRules, hasFeedback, validateTrigger },\r\n ...itemProps,\r\n };\r\n\r\n return <Form.Item {...itemProps}>{Child}</Form.Item>;\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Item.js","names":["React","PureComponent","omit","utils","FormItem","_Form","Item","typeMessage","mobile","tele","idcard","email","bankcard","NSCFormItem","getFieldComponent","itemProps","props","createElement","Fragment","constructor","name","_defineProperty","componentName","render","label","required","defalutValidator","message","hasFeedback","rules","validateTrigger","type","allowChars","newRules","push","validator","_","value","fileList","length","Promise","resolve","Array","isArray","reject","Error","checkModel","concat","fieldProps","fieldPropsKey","key","Child","checkChars","_objectSpread"],"sources":["../../../../src/components/base/form/filed/Item.tsx"],"sourcesContent":["/*\r\n * @Descripttion: FormItem 实现\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-08 15:27:48\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 16:55:18\r\n */\r\nimport React, { PureComponent } from \"react\";\r\n\r\nimport { Form, FormItemProps, FormProps } from \"antd\";\r\n\r\nimport omit from \"omit.js\";\r\n\r\nimport utils from \"../../../utils\";\r\n\r\nconst FormItem = Form.Item;\r\n\r\nconst typeMessage = {\r\n mobile: \"手机号\",\r\n tele: \"电话号码\",\r\n idcard: \"身份证号码\",\r\n email: \"邮箱\",\r\n bankcard: \"银行卡号\",\r\n};\r\ninterface IFormProps extends FormItemProps {\r\n message?: string; //为空提示文字\r\n type?: any;\r\n [propName: string]: any;\r\n}\r\nexport default class NSCFormItem extends PureComponent<IFormProps> {\r\n componentName = \"\";\r\n /**\r\n * 自定义渲染组件\r\n */\r\n getFieldComponent(itemProps, props) {\r\n return <></>;\r\n }\r\n constructor(props, name) {\r\n super(props);\r\n this.componentName = name;\r\n }\r\n render() {\r\n let {\r\n label,\r\n required,\r\n defalutValidator = true,\r\n message,\r\n hasFeedback,\r\n rules = [],\r\n validateTrigger,\r\n type,\r\n allowChars = false,\r\n } = this.props;\r\n const newRules = [...rules];\r\n if (\r\n required &&\r\n (this.componentName === \"NscUploadDragger\" ||\r\n this.componentName === \"NscUpload\")\r\n ) {\r\n newRules.push({\r\n required: required,\r\n validator: (_, value) => {\r\n if (value && value.fileList.length > 0) {\r\n return Promise.resolve();\r\n } else if (value && Array.isArray(value) && value.length > 0) {\r\n return Promise.resolve();\r\n } else if (value && typeof value == \"string\") {\r\n return Promise.resolve();\r\n } else {\r\n return Promise.reject(new Error(message || label + \"不能为空!\"));\r\n }\r\n },\r\n });\r\n } else if (required) {\r\n newRules.push({\r\n required: required,\r\n message: message || label + \"不能为空!\",\r\n });\r\n }\r\n if (type && typeMessage[type]) {\r\n // hasFeedback = hasFeedback ? hasFeedback : true;\r\n // validateTrigger = validateTrigger ? validateTrigger : \"onChange\";\r\n newRules.push({\r\n validator: (_, value) => {\r\n if (!value || utils.checkModel(type, value)) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\r\n new Error(`请输入正确的${typeMessage[type]}!`)\r\n );\r\n },\r\n validateTrigger: validateTrigger ? validateTrigger : [\"onBlur\"],\r\n });\r\n } \r\n // else if (type) {\r\n // newRules.push({\r\n // type: type,\r\n // });\r\n // }\r\n let fieldProps = omit(this.props, [\r\n \"label\",\r\n \"required\",\r\n \"message\",\r\n \"type\",\r\n \"name\",\r\n \"initialValue\",\r\n \"valuePropName\",\r\n \"prefixCls\",\r\n \"noStyle\",\r\n \"style\",\r\n \"id\",\r\n \"hidden\",\r\n \"messageVariables\",\r\n \"tooltip\",\r\n \"colon\",\r\n \"dependencies\",\r\n \"extra\",\r\n \"getValueFromEvent\",\r\n \"getValueProps\",\r\n \"hasFeedback\",\r\n \"fieldKey\",\r\n \"help\",\r\n \"htmlFor\",\r\n \"isList\",\r\n \"isListField\",\r\n \"labelAlign\",\r\n \"labelCol\",\r\n \"normalize\",\r\n \"onReset\",\r\n \"preserve\",\r\n \"validateFirst\",\r\n \"validateStatus\",\r\n \"validateTrigger\",\r\n \"valuePropName\",\r\n \"wrapperCol\",\r\n ]);\r\n let fieldPropsKey = [];\r\n for (let key in fieldProps) {\r\n fieldPropsKey.push(key);\r\n }\r\n fieldPropsKey.push([\"rules\", \"message\", \"required\"]);\r\n const Child = this.getFieldComponent(fieldProps, this.props);\r\n if (this.componentName === \"NscInput\") {\r\n if (!allowChars) {\r\n newRules.push({\r\n validator: (_, value) => {\r\n if (!value || utils.checkChars(value)) {\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(new Error(`不能输入特殊字符!`));\r\n },\r\n validateTrigger: validateTrigger ? validateTrigger : [\"onBlur\"],\r\n });\r\n }\r\n }\r\n let itemProps = omit(this.props, fieldPropsKey);\r\n itemProps = {\r\n ...{ label, rules: newRules, hasFeedback, validateTrigger },\r\n ...itemProps,\r\n };\r\n\r\n return <Form.Item {...itemProps}>{Child}</Form.Item>;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import _Input from "antd/es/input";
2
- const _excluded = ["type", "onChange", "defaultStyle", "maxLength"];
2
+ const _excluded = ["type", "onChange", "maxLength"],
3
+ _excluded2 = ["maxLength", "allowChars"];
3
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
6
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -23,8 +24,6 @@ import TextArea from "./TextArea";
23
24
  import Search from "./Search";
24
25
  import InputNumber from "./Number";
25
26
  import omit from "omit.js";
26
- import cls from "classnames";
27
- import styles from "./index.less";
28
27
  import config from "../../config";
29
28
  export default class NscInput extends PureComponent {
30
29
  constructor(props) {
@@ -39,11 +38,18 @@ export default class NscInput extends PureComponent {
39
38
  onChange,
40
39
  allowChars = false
41
40
  } = this.props;
41
+ const {
42
+ inputProps
43
+ } = config();
44
+ const {
45
+ allowChars: configAllowChars
46
+ } = inputProps;
42
47
  const reg = /^[0-9a-zA-Z\u4E00-\u9FA5\uF900-\uFA2D]*$/;
43
48
  const reg2 = /[a-zA-Z]'[a-zA-Z]/g;
44
49
  const reg3 = /[a-zA-Z]\s[a-zA-Z]/g;
50
+ let lastAllow = this.props.allowChars ? this.props.allowChars : configAllowChars ? configAllowChars : false;
45
51
  if (onChange) {
46
- if (allowChars) {
52
+ if (lastAllow) {
47
53
  this.setState({
48
54
  value: e.target.value
49
55
  });
@@ -58,7 +64,7 @@ export default class NscInput extends PureComponent {
58
64
  }
59
65
  }
60
66
  } else {
61
- if (allowChars) {
67
+ if (lastAllow) {
62
68
  this.setState({
63
69
  value: e.target.value
64
70
  });
@@ -91,65 +97,58 @@ export default class NscInput extends PureComponent {
91
97
  {
92
98
  type,
93
99
  onChange,
94
- defaultStyle,
95
100
  maxLength
96
101
  } = _this$props,
97
102
  params = _objectWithoutProperties(_this$props, _excluded);
103
+ let {
104
+ inputProps
105
+ } = config();
106
+ let {
107
+ maxLength: configMax,
108
+ allowChars
109
+ } = inputProps,
110
+ configParams = _objectWithoutProperties(inputProps, _excluded2);
111
+ let lastMax = maxLength !== undefined || maxLength !== null ? maxLength : configMax;
98
112
  if (type == "number") {
99
- const numberProps = omit(this.props, ["type", "defaultStyle"]);
113
+ const numberProps = omit(this.props, ["type", "allowChars"]);
100
114
  return /*#__PURE__*/React.createElement(InputNumber, _extends({}, numberProps, {
101
115
  ref: this.ref
102
116
  }));
103
117
  } else if (type == "email") {
104
- const emailProps = omit(this.props, ["type", "defaultStyle"]);
118
+ const emailProps = omit(this.props, ["type", "allowChars"]);
105
119
  return /*#__PURE__*/React.createElement(InputEmail, _extends({}, emailProps, {
106
120
  ref: this.ref
107
121
  }));
108
122
  } else if (type == "textarea") {
109
- const textProps = omit(this.props, ["type", "defaultStyle"]);
123
+ const textProps = omit(this.props, ["type", "allowChars"]);
110
124
  return /*#__PURE__*/React.createElement(TextArea, _extends({}, textProps, {
111
125
  ref: this.ref
112
126
  }));
113
127
  } else if (type == "password") {
114
- let passwordProps = omit(this.props, ["type", "maxLength", "defaultStyle", "allowChars"]);
115
- if (!(maxLength === false)) {
128
+ let passwordProps = omit(this.props, ["type", "maxLength", "allowChars"]);
129
+ if (!(lastMax === false)) {
116
130
  passwordProps = _objectSpread({
117
- maxLength: maxLength ? maxLength : 50
131
+ maxLength: lastMax ? lastMax : 50
118
132
  }, passwordProps);
119
133
  }
120
134
  return /*#__PURE__*/React.createElement(Password, _extends({}, passwordProps, {
121
135
  ref: this.ref
122
136
  }));
123
137
  } else {
124
- let inputProps = omit(this.props, ["onChange", "defaultStyle", "allowChars", "maxLength"]);
125
- if (!(maxLength === false)) {
126
- inputProps = _objectSpread({
127
- maxLength: maxLength ? maxLength : 50
128
- }, inputProps);
129
- }
130
- let {
131
- antdStyle
132
- } = config();
133
- if ((defaultStyle || antdStyle) && defaultStyle === true) {
134
- return /*#__PURE__*/React.createElement("div", {
135
- className: cls(styles["nsc_input"], this.props.className)
136
- }, /*#__PURE__*/React.createElement(_Input, _extends({
137
- placeholder: "\u8BF7\u8F93\u5165",
138
- onChange: this.onChange.bind(this),
139
- allowClear: true,
140
- value: this.state.value
141
- }, inputProps, {
142
- ref: this.ref
143
- })));
144
- } else {
145
- return /*#__PURE__*/React.createElement(_Input, _extends({
146
- placeholder: "\u8BF7\u8F93\u5165",
147
- onChange: this.onChange.bind(this),
148
- allowClear: true,
149
- value: this.state.value,
150
- ref: this.ref
151
- }, inputProps));
138
+ let props = omit(this.props, ["onChange", "allowChars", "maxLength"]);
139
+ if (!(lastMax === false)) {
140
+ props = _objectSpread({
141
+ maxLength: lastMax ? lastMax : 50
142
+ }, props);
152
143
  }
144
+ return /*#__PURE__*/React.createElement(_Input, _extends({
145
+ placeholder: "\u8BF7\u8F93\u5165",
146
+ onChange: this.onChange.bind(this),
147
+ allowClear: true,
148
+ value: this.state.value,
149
+ ref: this.ref,
150
+ showCount: true
151
+ }, configParams, props));
153
152
  }
154
153
  }
155
154
  render() {
@@ -162,4 +161,4 @@ _defineProperty(NscInput, "Password", Password);
162
161
  _defineProperty(NscInput, "TextArea", TextArea);
163
162
  _defineProperty(NscInput, "Group", _Input.Group);
164
163
  _defineProperty(NscInput, "Search", Search);
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbnB1dEVtYWlsIiwiUGFzc3dvcmQiLCJUZXh0QXJlYSIsIlNlYXJjaCIsIklucHV0TnVtYmVyIiwib21pdCIsImNscyIsInN0eWxlcyIsImNvbmZpZyIsIk5zY0lucHV0IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwiYWxsb3dDaGFycyIsInJlZyIsInJlZzIiLCJyZWczIiwic2V0U3RhdGUiLCJ0YXJnZXQiLCJ0ZXN0IiwiZ2V0VmFsdWUiLCJzdGF0ZSIsInNldFZhbHVlIiwiZm9jdXMiLCJyZWYiLCJjdXJyZW50IiwiYmx1ciIsInJldHVybkNoaWxkcmVuIiwiX3RoaXMkcHJvcHMiLCJ0eXBlIiwiZGVmYXVsdFN0eWxlIiwibWF4TGVuZ3RoIiwicGFyYW1zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibnVtYmVyUHJvcHMiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJlbWFpbFByb3BzIiwidGV4dFByb3BzIiwicGFzc3dvcmRQcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dFByb3BzIiwiYW50ZFN0eWxlIiwiY2xhc3NOYW1lIiwiX0lucHV0IiwicGxhY2Vob2xkZXIiLCJiaW5kIiwiYWxsb3dDbGVhciIsInJlbmRlciIsIkZyYWdtZW50IiwiR3JvdXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL2lucHV0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiBpbnB1dOe7hOS7tu+8jOebtOaOpei/lOWbnnZhbHVlLOWKoOWvhuWQjueahHZhbHVl5Lul5Y+K5qCh6aqM55qE5YC8XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNCAxNzoxNTo0N1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjIgMTQ6MjA6MDlcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBJbnB1dCwgSW5wdXRQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBJbnB1dEVtYWlsIGZyb20gXCIuL0VtYWlsXCI7XHJcbmltcG9ydCBQYXNzd29yZCBmcm9tIFwiLi9QYXNzd29yZFwiO1xyXG5pbXBvcnQgVGV4dEFyZWEgZnJvbSBcIi4vVGV4dEFyZWFcIjtcclxuaW1wb3J0IFNlYXJjaCBmcm9tIFwiLi9TZWFyY2hcIjtcclxuaW1wb3J0IElucHV0TnVtYmVyIGZyb20gXCIuL051bWJlclwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcblxyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmludGVyZmFjZSBJSW5wdXRQcm9wcyB7XHJcbiAgdHlwZT86IFwibnVtYmVyXCIgfCBcImVtYWlsXCIgfCBcInBhc3N3b3JkXCIgfCBcInRleHRhcmVhXCIgfCBcInRleHRcIjtcclxuICBvbkNoYW5nZT86ICh2YWx1ZTogYW55LCB0YXJnZXQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBhbGxvd0NoYXJzPzogYm9vbGVhbjtcclxuICBtYXhMZW5ndGg/OiBudW1iZXIgfCBib29sZWFuO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjSW5wdXQgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElJbnB1dFByb3BzLCBhbnk+IHtcclxuICBzdGF0aWMgTnVtYmVyID0gSW5wdXROdW1iZXI7XHJcbiAgc3RhdGljIEVtYWlsID0gSW5wdXRFbWFpbDtcclxuICBzdGF0aWMgUGFzc3dvcmQgPSBQYXNzd29yZDtcclxuICBzdGF0aWMgVGV4dEFyZWEgPSBUZXh0QXJlYTtcclxuICBzdGF0aWMgR3JvdXAgPSBJbnB1dC5Hcm91cDtcclxuICBzdGF0aWMgU2VhcmNoID0gU2VhcmNoO1xyXG4gIHJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcbiAgc3RhdGUgPSB7XHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIG9uQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UsIGFsbG93Q2hhcnMgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHJlZyA9IC9eWzAtOWEtekEtWlxcdTRFMDAtXFx1OUZBNVxcdUY5MDAtXFx1RkEyRF0qJC87XHJcbiAgICBjb25zdCByZWcyID0gL1thLXpBLVpdJ1thLXpBLVpdL2c7XHJcbiAgICBjb25zdCByZWczID0gL1thLXpBLVpdXFxzW2EtekEtWl0vZztcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBpZiAoYWxsb3dDaGFycykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICAgIGlmIChyZWcudGVzdCh2YWx1ZSkgfHwgcmVnMi50ZXN0KHZhbHVlKSB8fCByZWczLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoYWxsb3dDaGFycykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgaWYgKHJlZy50ZXN0KHZhbHVlKSB8fCByZWcyLnRlc3QodmFsdWUpIHx8IHJlZzMudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQuYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIG9uQ2hhbmdlLCBkZWZhdWx0U3R5bGUsIG1heExlbmd0aCwgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGlmICh0eXBlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgY29uc3QgbnVtYmVyUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPElucHV0TnVtYmVyIHsuLi5udW1iZXJQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJlbWFpbFwiKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPElucHV0RW1haWwgey4uLmVtYWlsUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwidGV4dGFyZWFcIikge1xyXG4gICAgICBjb25zdCB0ZXh0UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPFRleHRBcmVhIHsuLi50ZXh0UHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwicGFzc3dvcmRcIikge1xyXG4gICAgICBsZXQgcGFzc3dvcmRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwidHlwZVwiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgICAgXCJkZWZhdWx0U3R5bGVcIixcclxuICAgICAgICBcImFsbG93Q2hhcnNcIixcclxuICAgICAgXSk7XHJcbiAgICAgIGlmICghKG1heExlbmd0aCA9PT0gZmFsc2UpKSB7XHJcbiAgICAgICAgcGFzc3dvcmRQcm9wcyA9IHtcclxuICAgICAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsXHJcbiAgICAgICAgICAuLi5wYXNzd29yZFByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDxQYXNzd29yZCB7Li4ucGFzc3dvcmRQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImRlZmF1bHRTdHlsZVwiLFxyXG4gICAgICAgIFwiYWxsb3dDaGFyc1wiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIGlucHV0UHJvcHMgPSB7IG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsIC4uLmlucHV0UHJvcHMgfTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgICBpZiAoKGRlZmF1bHRTdHlsZSB8fCBhbnRkU3R5bGUpICYmIGRlZmF1bHRTdHlsZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19pbnB1dFwiXSwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfT5cclxuICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIlxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cclxuICAgICAgICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlXCJcclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5yZWZ9XHJcbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIHJldHVybiA8Pnt0aGlzLnJldHVybkNoaWxkcmVuKCl9PC8+O1xyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUc1QyxPQUFPQyxVQUFVLE1BQU0sU0FBUztBQUNoQyxPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxNQUFNLE1BQU0sVUFBVTtBQUM3QixPQUFPQyxXQUFXLE1BQU0sVUFBVTtBQUNsQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixPQUFPQyxHQUFHLE1BQU0sWUFBWTtBQUU1QixPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQVNqQyxlQUFlLE1BQU1DLFFBQVEsU0FBU1YsYUFBYSxDQUFtQjtFQVFwRVcsV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUNDLGVBQUEsMkJBRlRkLEtBQUssQ0FBQ2UsU0FBUyxDQUFNLENBQUM7SUFBQUQsZUFBQSxnQkFJcEI7TUFDTkUsS0FBSyxFQUFFO0lBQ1QsQ0FBQztFQUhE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
164
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbnB1dEVtYWlsIiwiUGFzc3dvcmQiLCJUZXh0QXJlYSIsIlNlYXJjaCIsIklucHV0TnVtYmVyIiwib21pdCIsImNvbmZpZyIsIk5zY0lucHV0IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwiYWxsb3dDaGFycyIsImlucHV0UHJvcHMiLCJjb25maWdBbGxvd0NoYXJzIiwicmVnIiwicmVnMiIsInJlZzMiLCJsYXN0QWxsb3ciLCJzZXRTdGF0ZSIsInRhcmdldCIsInRlc3QiLCJnZXRWYWx1ZSIsInN0YXRlIiwic2V0VmFsdWUiLCJmb2N1cyIsInJlZiIsImN1cnJlbnQiLCJibHVyIiwicmV0dXJuQ2hpbGRyZW4iLCJfdGhpcyRwcm9wcyIsInR5cGUiLCJtYXhMZW5ndGgiLCJwYXJhbXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJjb25maWdNYXgiLCJjb25maWdQYXJhbXMiLCJfZXhjbHVkZWQyIiwibGFzdE1heCIsInVuZGVmaW5lZCIsIm51bWJlclByb3BzIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiZW1haWxQcm9wcyIsInRleHRQcm9wcyIsInBhc3N3b3JkUHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiX0lucHV0IiwicGxhY2Vob2xkZXIiLCJiaW5kIiwiYWxsb3dDbGVhciIsInNob3dDb3VudCIsInJlbmRlciIsIkZyYWdtZW50IiwiR3JvdXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL2lucHV0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiBpbnB1dOe7hOS7tu+8jOebtOaOpei/lOWbnnZhbHVlLOWKoOWvhuWQjueahHZhbHVl5Lul5Y+K5qCh6aqM55qE5YC8XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNCAxNzoxNTo0N1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjIgMTQ6MjA6MDlcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgeyBJbnB1dCwgSW5wdXRQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBJbnB1dEVtYWlsIGZyb20gXCIuL0VtYWlsXCI7XHJcbmltcG9ydCBQYXNzd29yZCBmcm9tIFwiLi9QYXNzd29yZFwiO1xyXG5pbXBvcnQgVGV4dEFyZWEgZnJvbSBcIi4vVGV4dEFyZWFcIjtcclxuaW1wb3J0IFNlYXJjaCBmcm9tIFwiLi9TZWFyY2hcIjtcclxuaW1wb3J0IElucHV0TnVtYmVyIGZyb20gXCIuL051bWJlclwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcblxyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmludGVyZmFjZSBJSW5wdXRQcm9wcyB7XHJcbiAgdHlwZT86IFwibnVtYmVyXCIgfCBcImVtYWlsXCIgfCBcInBhc3N3b3JkXCIgfCBcInRleHRhcmVhXCIgfCBcInRleHRcIjtcclxuICBvbkNoYW5nZT86ICh2YWx1ZTogYW55LCB0YXJnZXQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBhbGxvd0NoYXJzPzogYm9vbGVhbjtcclxuICBtYXhMZW5ndGg/OiBudW1iZXIgfCBib29sZWFuO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjSW5wdXQgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElJbnB1dFByb3BzLCBhbnk+IHtcclxuICBzdGF0aWMgTnVtYmVyID0gSW5wdXROdW1iZXI7XHJcbiAgc3RhdGljIEVtYWlsID0gSW5wdXRFbWFpbDtcclxuICBzdGF0aWMgUGFzc3dvcmQgPSBQYXNzd29yZDtcclxuICBzdGF0aWMgVGV4dEFyZWEgPSBUZXh0QXJlYTtcclxuICBzdGF0aWMgR3JvdXAgPSBJbnB1dC5Hcm91cDtcclxuICBzdGF0aWMgU2VhcmNoID0gU2VhcmNoO1xyXG4gIHJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcbiAgc3RhdGUgPSB7XHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIG9uQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UsIGFsbG93Q2hhcnMgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgaW5wdXRQcm9wcyB9ID0gY29uZmlnKCk7XHJcbiAgICBjb25zdCB7IGFsbG93Q2hhcnM6IGNvbmZpZ0FsbG93Q2hhcnMgfSA9IGlucHV0UHJvcHM7XHJcbiAgICBjb25zdCByZWcgPSAvXlswLTlhLXpBLVpcXHU0RTAwLVxcdTlGQTVcXHVGOTAwLVxcdUZBMkRdKiQvO1xyXG4gICAgY29uc3QgcmVnMiA9IC9bYS16QS1aXSdbYS16QS1aXS9nO1xyXG4gICAgY29uc3QgcmVnMyA9IC9bYS16QS1aXVxcc1thLXpBLVpdL2c7XHJcbiAgICBsZXQgbGFzdEFsbG93ID0gdGhpcy5wcm9wcy5hbGxvd0NoYXJzXHJcbiAgICAgID8gdGhpcy5wcm9wcy5hbGxvd0NoYXJzXHJcbiAgICAgIDogY29uZmlnQWxsb3dDaGFyc1xyXG4gICAgICA/IGNvbmZpZ0FsbG93Q2hhcnNcclxuICAgICAgOiBmYWxzZTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBpZiAobGFzdEFsbG93KSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgaWYgKHJlZy50ZXN0KHZhbHVlKSB8fCByZWcyLnRlc3QodmFsdWUpIHx8IHJlZzMudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChsYXN0QWxsb3cpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICAgIGlmIChyZWcudGVzdCh2YWx1ZSkgfHwgcmVnMi50ZXN0KHZhbHVlKSB8fCByZWczLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGJsdXIoKSB7XHJcbiAgICB0aGlzLnJlZi5jdXJyZW50LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIHJldHVybkNoaWxkcmVuKCkge1xyXG4gICAgY29uc3QgeyB0eXBlLCBvbkNoYW5nZSwgbWF4TGVuZ3RoLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBpbnB1dFByb3BzIH0gPSBjb25maWcoKTtcclxuICAgIGxldCB7IG1heExlbmd0aDogY29uZmlnTWF4LCBhbGxvd0NoYXJzLCAuLi5jb25maWdQYXJhbXMgfSA9IGlucHV0UHJvcHM7XHJcbiAgICBsZXQgbGFzdE1heCA9XHJcbiAgICAgIG1heExlbmd0aCAhPT0gdW5kZWZpbmVkIHx8IG1heExlbmd0aCAhPT0gbnVsbCA/IG1heExlbmd0aCA6IGNvbmZpZ01heDtcclxuICAgIGlmICh0eXBlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgY29uc3QgbnVtYmVyUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJhbGxvd0NoYXJzXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dE51bWJlciB7Li4ubnVtYmVyUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZW1haWxcIikge1xyXG4gICAgICBjb25zdCBlbWFpbFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiYWxsb3dDaGFyc1wiXSk7XHJcbiAgICAgIHJldHVybiA8SW5wdXRFbWFpbCB7Li4uZW1haWxQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJ0ZXh0YXJlYVwiKSB7XHJcbiAgICAgIGNvbnN0IHRleHRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1widHlwZVwiLCBcImFsbG93Q2hhcnNcIl0pO1xyXG4gICAgICByZXR1cm4gPFRleHRBcmVhIHsuLi50ZXh0UHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwicGFzc3dvcmRcIikge1xyXG4gICAgICBsZXQgcGFzc3dvcmRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1widHlwZVwiLCBcIm1heExlbmd0aFwiLCBcImFsbG93Q2hhcnNcIl0pO1xyXG4gICAgICBpZiAoIShsYXN0TWF4ID09PSBmYWxzZSkpIHtcclxuICAgICAgICBwYXNzd29yZFByb3BzID0ge1xyXG4gICAgICAgICAgbWF4TGVuZ3RoOiBsYXN0TWF4ID8gbGFzdE1heCA6IDUwLFxyXG4gICAgICAgICAgLi4ucGFzc3dvcmRQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiA8UGFzc3dvcmQgey4uLnBhc3N3b3JkUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJvbkNoYW5nZVwiLCBcImFsbG93Q2hhcnNcIiwgXCJtYXhMZW5ndGhcIl0pO1xyXG4gICAgICBpZiAoIShsYXN0TWF4ID09PSBmYWxzZSkpIHtcclxuICAgICAgICBwcm9wcyA9IHsgbWF4TGVuZ3RoOiBsYXN0TWF4ID8gbGFzdE1heCA6IDUwLCAuLi5wcm9wcyB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPElucHV0XHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgcmVmPXt0aGlzLnJlZn1cclxuICAgICAgICAgIHNob3dDb3VudD17dHJ1ZX1cclxuICAgICAgICAgIHsuLi5jb25maWdQYXJhbXN9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgcmV0dXJuIDw+e3RoaXMucmV0dXJuQ2hpbGRyZW4oKX08Lz47XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBSyxJQUFJQyxhQUFhLFFBQVEsT0FBTztBQUc1QyxPQUFPQyxVQUFVLE1BQU0sU0FBUztBQUNoQyxPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxRQUFRLE1BQU0sWUFBWTtBQUNqQyxPQUFPQyxNQUFNLE1BQU0sVUFBVTtBQUM3QixPQUFPQyxXQUFXLE1BQU0sVUFBVTtBQUNsQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUkxQixPQUFPQyxNQUFNLE1BQU0sY0FBYztBQVNqQyxlQUFlLE1BQU1DLFFBQVEsU0FBU1IsYUFBYSxDQUFtQjtFQVFwRVMsV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUNDLGVBQUEsMkJBRlRaLEtBQUssQ0FBQ2EsU0FBUyxDQUFNLENBQUM7SUFBQUQsZUFBQSxnQkFJcEI7TUFDTkUsS0FBSyxFQUFFO0lBQ1QsQ0FBQztFQUhEO0VBSUFDLFFBQVFBLENBQUNDLENBQUMsRUFBRTtJQUNWLE1BQU07TUFBRUQsUUFBUTtNQUFFRSxVQUFVLEdBQUc7SUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDTixLQUFLO0lBQ25ELE1BQU07TUFBRU87SUFBVyxDQUFDLEdBQUdWLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLE1BQU07TUFBRVMsVUFBVSxFQUFFRTtJQUFpQixDQUFDLEdBQUdELFVBQVU7SUFDbkQsTUFBTUUsR0FBRyxHQUFHLDBDQUEwQztJQUN0RCxNQUFNQyxJQUFJLEdBQUcs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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PureComponent","InputEmail","Password","TextArea","Search","InputNumber","omit","cls","styles","config","NscInput","constructor","props","_defineProperty","createRef","value","onChange","e","allowChars","reg","reg2","reg3","setState","target","test","getValue","state","setValue","focus","ref","current","blur","returnChildren","_this$props","type","defaultStyle","maxLength","params","_objectWithoutProperties","_excluded","numberProps","createElement","_extends","emailProps","textProps","passwordProps","_objectSpread","inputProps","antdStyle","className","_Input","placeholder","bind","allowClear","render","Fragment","Group"],"sources":["../../../src/components/base/input/index.tsx"],"sourcesContent":["/*\r\n * @Descripttion: input组件,直接返回value,加密后的value以及校验的值\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-03-24 17:15:47\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 14:20:09\r\n */\r\nimport React, { PureComponent } from \"react\";\r\n\r\nimport { Input, InputProps } from \"antd\";\r\nimport InputEmail from \"./Email\";\r\nimport Password from \"./Password\";\r\nimport TextArea from \"./TextArea\";\r\nimport Search from \"./Search\";\r\nimport InputNumber from \"./Number\";\r\nimport omit from \"omit.js\";\r\nimport cls from \"classnames\";\r\n\r\nimport styles from \"./index.less\";\r\nimport config from \"../../config\";\r\ninterface IInputProps {\r\n type?: \"number\" | \"email\" | \"password\" | \"textarea\" | \"text\";\r\n onChange?: (value: any, target?: any) => void;\r\n defaultStyle?: boolean;\r\n allowChars?: boolean;\r\n maxLength?: number | boolean;\r\n [proName: string]: any;\r\n}\r\nexport default class NscInput extends PureComponent<IInputProps, any> {\r\n static Number = InputNumber;\r\n static Email = InputEmail;\r\n static Password = Password;\r\n static TextArea = TextArea;\r\n static Group = Input.Group;\r\n static Search = Search;\r\n ref = React.createRef<any>();\r\n constructor(props) {\r\n super(props);\r\n }\r\n state = {\r\n value: \"\",\r\n };\r\n onChange(e) {\r\n const { onChange, allowChars = false } = this.props;\r\n const reg = /^[0-9a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]*$/;\r\n const reg2 = /[a-zA-Z]'[a-zA-Z]/g;\r\n const reg3 = /[a-zA-Z]\\s[a-zA-Z]/g;\r\n if (onChange) {\r\n if (allowChars) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n onChange(e.target.value, e);\r\n } else {\r\n const value = e.target.value;\r\n if (reg.test(value) || reg2.test(value) || reg3.test(value)) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n onChange(e.target.value, e);\r\n }\r\n }\r\n } else {\r\n if (allowChars) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n } else {\r\n const value = e.target.value;\r\n if (reg.test(value) || reg2.test(value) || reg3.test(value)) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n getValue() {\r\n return this.state.value;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n value: value,\r\n });\r\n }\r\n\r\n focus() {\r\n this.ref.current.focus();\r\n }\r\n\r\n blur() {\r\n this.ref.current.blur();\r\n }\r\n\r\n returnChildren() {\r\n const { type, onChange, defaultStyle, maxLength, ...params } = this.props;\r\n\r\n if (type == \"number\") {\r\n const numberProps = omit(this.props, [\"type\", \"defaultStyle\"]);\r\n return <InputNumber {...numberProps} ref={this.ref} />;\r\n } else if (type == \"email\") {\r\n const emailProps = omit(this.props, [\"type\", \"defaultStyle\"]);\r\n return <InputEmail {...emailProps} ref={this.ref} />;\r\n } else if (type == \"textarea\") {\r\n const textProps = omit(this.props, [\"type\", \"defaultStyle\"]);\r\n return <TextArea {...textProps} ref={this.ref} />;\r\n } else if (type == \"password\") {\r\n let passwordProps = omit(this.props, [\r\n \"type\",\r\n \"maxLength\",\r\n \"defaultStyle\",\r\n \"allowChars\",\r\n ]);\r\n if (!(maxLength === false)) {\r\n passwordProps = {\r\n maxLength: maxLength ? maxLength : 50,\r\n ...passwordProps,\r\n };\r\n }\r\n return <Password {...passwordProps} ref={this.ref} />;\r\n } else {\r\n let inputProps = omit(this.props, [\r\n \"onChange\",\r\n \"defaultStyle\",\r\n \"allowChars\",\r\n \"maxLength\",\r\n ]);\r\n if (!(maxLength === false)) {\r\n inputProps = { maxLength: maxLength ? maxLength : 50, ...inputProps };\r\n }\r\n let { antdStyle } = config();\r\n if ((defaultStyle || antdStyle) && defaultStyle === true) {\r\n return (\r\n <div className={cls(styles[\"nsc_input\"], this.props.className)}>\r\n <Input\r\n placeholder=\"请输入\"\r\n onChange={this.onChange.bind(this)}\r\n allowClear={true}\r\n value={this.state.value}\r\n {...inputProps}\r\n ref={this.ref}\r\n />\r\n </div>\r\n );\r\n } else {\r\n return (\r\n <Input\r\n placeholder=\"请输入\"\r\n onChange={this.onChange.bind(this)}\r\n allowClear={true}\r\n value={this.state.value}\r\n ref={this.ref}\r\n {...inputProps}\r\n />\r\n );\r\n }\r\n }\r\n }\r\n render() {\r\n return <>{this.returnChildren()}</>;\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PureComponent","InputEmail","Password","TextArea","Search","InputNumber","omit","config","NscInput","constructor","props","_defineProperty","createRef","value","onChange","e","allowChars","inputProps","configAllowChars","reg","reg2","reg3","lastAllow","setState","target","test","getValue","state","setValue","focus","ref","current","blur","returnChildren","_this$props","type","maxLength","params","_objectWithoutProperties","_excluded","configMax","configParams","_excluded2","lastMax","undefined","numberProps","createElement","_extends","emailProps","textProps","passwordProps","_objectSpread","_Input","placeholder","bind","allowClear","showCount","render","Fragment","Group"],"sources":["../../../src/components/base/input/index.tsx"],"sourcesContent":["/*\r\n * @Descripttion: input组件,直接返回value,加密后的value以及校验的值\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-03-24 17:15:47\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-22 14:20:09\r\n */\r\nimport React, { PureComponent } from \"react\";\r\n\r\nimport { Input, InputProps } from \"antd\";\r\nimport InputEmail from \"./Email\";\r\nimport Password from \"./Password\";\r\nimport TextArea from \"./TextArea\";\r\nimport Search from \"./Search\";\r\nimport InputNumber from \"./Number\";\r\nimport omit from \"omit.js\";\r\nimport cls from \"classnames\";\r\n\r\nimport styles from \"./index.less\";\r\nimport config from \"../../config\";\r\ninterface IInputProps {\r\n type?: \"number\" | \"email\" | \"password\" | \"textarea\" | \"text\";\r\n onChange?: (value: any, target?: any) => void;\r\n defaultStyle?: boolean;\r\n allowChars?: boolean;\r\n maxLength?: number | boolean;\r\n [proName: string]: any;\r\n}\r\nexport default class NscInput extends PureComponent<IInputProps, any> {\r\n static Number = InputNumber;\r\n static Email = InputEmail;\r\n static Password = Password;\r\n static TextArea = TextArea;\r\n static Group = Input.Group;\r\n static Search = Search;\r\n ref = React.createRef<any>();\r\n constructor(props) {\r\n super(props);\r\n }\r\n state = {\r\n value: \"\",\r\n };\r\n onChange(e) {\r\n const { onChange, allowChars = false } = this.props;\r\n const { inputProps } = config();\r\n const { allowChars: configAllowChars } = inputProps;\r\n const reg = /^[0-9a-zA-Z\\u4E00-\\u9FA5\\uF900-\\uFA2D]*$/;\r\n const reg2 = /[a-zA-Z]'[a-zA-Z]/g;\r\n const reg3 = /[a-zA-Z]\\s[a-zA-Z]/g;\r\n let lastAllow = this.props.allowChars\r\n ? this.props.allowChars\r\n : configAllowChars\r\n ? configAllowChars\r\n : false;\r\n if (onChange) {\r\n if (lastAllow) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n onChange(e.target.value, e);\r\n } else {\r\n const value = e.target.value;\r\n if (reg.test(value) || reg2.test(value) || reg3.test(value)) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n onChange(e.target.value, e);\r\n }\r\n }\r\n } else {\r\n if (lastAllow) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n } else {\r\n const value = e.target.value;\r\n if (reg.test(value) || reg2.test(value) || reg3.test(value)) {\r\n this.setState({\r\n value: e.target.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n getValue() {\r\n return this.state.value;\r\n }\r\n setValue(value) {\r\n this.setState({\r\n value: value,\r\n });\r\n }\r\n\r\n focus() {\r\n this.ref.current.focus();\r\n }\r\n\r\n blur() {\r\n this.ref.current.blur();\r\n }\r\n\r\n returnChildren() {\r\n const { type, onChange, maxLength, ...params } = this.props;\r\n let { inputProps } = config();\r\n let { maxLength: configMax, allowChars, ...configParams } = inputProps;\r\n let lastMax =\r\n maxLength !== undefined || maxLength !== null ? maxLength : configMax;\r\n if (type == \"number\") {\r\n const numberProps = omit(this.props, [\"type\", \"allowChars\"]);\r\n return <InputNumber {...numberProps} ref={this.ref} />;\r\n } else if (type == \"email\") {\r\n const emailProps = omit(this.props, [\"type\", \"allowChars\"]);\r\n return <InputEmail {...emailProps} ref={this.ref} />;\r\n } else if (type == \"textarea\") {\r\n const textProps = omit(this.props, [\"type\", \"allowChars\"]);\r\n return <TextArea {...textProps} ref={this.ref} />;\r\n } else if (type == \"password\") {\r\n let passwordProps = omit(this.props, [\"type\", \"maxLength\", \"allowChars\"]);\r\n if (!(lastMax === false)) {\r\n passwordProps = {\r\n maxLength: lastMax ? lastMax : 50,\r\n ...passwordProps,\r\n };\r\n }\r\n return <Password {...passwordProps} ref={this.ref} />;\r\n } else {\r\n let props = omit(this.props, [\"onChange\", \"allowChars\", \"maxLength\"]);\r\n if (!(lastMax === false)) {\r\n props = { maxLength: lastMax ? lastMax : 50, ...props };\r\n }\r\n return (\r\n <Input\r\n placeholder=\"请输入\"\r\n onChange={this.onChange.bind(this)}\r\n allowClear={true}\r\n value={this.state.value}\r\n ref={this.ref}\r\n showCount={true}\r\n {...configParams}\r\n {...props}\r\n />\r\n );\r\n }\r\n }\r\n render() {\r\n return <>{this.returnChildren()}</>;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -349,4 +349,4 @@ _defineProperty(NscModal, "info", _Modal.info);
349
349
  _defineProperty(NscModal, "success", _Modal.success);
350
350
  _defineProperty(NscModal, "error", _Modal.error);
351
351
  _defineProperty(NscModal, "warning", _Modal.warning);
352
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZVJlZiIsIlB1cmVDb21wb25lbnQiLCJ1dGlscyIsImNvbmZpZyIsIlBsdXNDaXJjbGVPdXRsaW5lZCIsIkNsb3NlQ2lyY2xlT3V0bGluZWQiLCJDbG9zZU91dGxpbmVkIiwiRXhwYW5kT3V0bGluZWQiLCJDb21wcmVzc091dGxpbmVkIiwiQnV0dG9uIiwiZ2V0TGVzcyIsInN0eWxlcyIsImdldFN0b3JhZ2UiLCJDb25maXJtIiwib21pdCIsIkRyYWdnYWJsZSIsImNscyIsIk5zY01vZGFsIiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsInNjb3BlIiwicGFyYW1zIiwiYmVmb3JlUmVuZGVyIiwiY2FsbGJhY2tCZWZvcmVDbG9zZSIsImNhbGxiYWNrIiwiYWZ0ZXJSZW5kZXIiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJtb2RhbFR5cGUiLCJtb2RhbCIsInN0b3JlUHJlZml4IiwiYXV0b1R5cGUiLCJjb250ZW50Iiwic3RhdGUiLCJ2aXNpYmxlIiwiZXhwYW5kIiwiYm91bmRzIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiZHJhZ2dlciIsImNvbXBvbmVudERpZE1vdW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxpc3Rlbk1lc3NhZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzaG93Iiwib3B0aW9uIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX29iamVjdFNwcmVhZCIsImhpZGUiLCJnZXRSZXR1cm5WYWx1ZSIsInJldHVyblZhbHVlIiwiY2xvc2UiLCJyZXN1bHQiLCJidXR0b25DbG9zZSIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQnV0dG9uQ2FuY2VsIiwib25DbG9zZSIsInZhbGlkIiwiY2hhbmdlIiwib25PayIsImdldFBhcmFtcyIsImtleSIsIm9uU3RhcnQiLCJfZXZlbnQiLCJ1aURhdGEiLCJfdGhpcyRkcmFnZ2xlUmVmJGN1cnIiLCJjbGllbnRXaWR0aCIsImNsaWVudEhlaWdodCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwidGFyZ2V0UmVjdCIsImRyYWdnbGVSZWYiLCJjdXJyZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsb3NhYmxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwiZHJhZ2FibGUiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJtb3VudEVsZW1lbnRJZCIsImdldENvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwibW9kYWxSZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiZGlzYWJsZWQiLCJldmVudCIsInJlZiIsInRpdGxlIiwiY2xhc3NOYW1lIiwib25Nb3VzZU92ZXIiLCJvbk1vdXNlT3V0Iiwib25DbGljayIsInN0eWxlIiwibWFyZ2luUmlnaHQiLCJtb2RhbEJ1dHRvbiIsImZvb3RlciIsIl9leHRlbmRzIiwiaWNvbiIsIm9rVGV4dCIsImJpbmQiLCJjYW5jbGVCdXR0b25Qcm9wcyIsImNhbmNlbFRleHQiLCJtYXhXaWR0aCIsIndpZHRoIiwib2xkUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsIl9EcmF3ZXIiLCJvcGVuIiwiX01vZGFsIiwiY2VudGVyZWQiLCJhZnRlckNsb3NlIiwiaW5mbyIsInN1Y2Nlc3MiLCJlcnJvciIsIndhcm5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL21vZGFsL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlUmVmLCBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7XHJcbiAgUGx1c0NpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VPdXRsaW5lZCxcclxuICBFeHBhbmRPdXRsaW5lZCxcclxuICBDb21wcmVzc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgQ29uZmlybSBmcm9tIFwiLi9Db25maXJtXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB0eXBlIHsgRHJhZ2dhYmxlRGF0YSwgRHJhZ2dhYmxlRXZlbnQgfSBmcm9tIFwicmVhY3QtZHJhZ2dhYmxlXCI7XHJcbmltcG9ydCBEcmFnZ2FibGUgZnJvbSBcInJlYWN0LWRyYWdnYWJsZVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcblxyXG5pbnRlcmZhY2UgZm9ybUV4cGFuZCB7XHJcbiAgY2hhbmdlPzogYm9vbGVhbjtcclxuICB2YWxpZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOc2NNb2RhbFBvcnBzIGV4dGVuZHMgTW9kYWxQcm9wcyB7XHJcbiAgdHlwZT86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBmb3JtRXhwYW5kPzogZm9ybUV4cGFuZDtcclxuICBvbkJ1dHRvbkNhbmNlbD86IGFueTsgLy/lupXpg6jlj5bmtojmjInpkq7lm57osINcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8v5by55qGG5piv5ZCm55yL5ouW5YqoXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY01vZGFsIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxcclxuICBOc2NNb2RhbFBvcnBzICYgRHJhd2VyUHJvcHMsXHJcbiAgYW55XHJcbj4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gQ29uZmlybTtcclxuICAvLyBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQgbW9kYWwgPSBwcm9wcy50eXBlIHx8IFwiYXV0b1wiO1xyXG4gICAgbGV0IHN0b3JlUHJlZml4ID0gZ2V0U3RvcmFnZShcInN0b3JlLXByZS1rZXlcIik7XHJcbiAgICBsZXQgYXV0b1R5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCJmb3JtVHlwZVwiIDogXCJmb3JtVHlwZVwiXHJcbiAgICApO1xyXG4gICAgYXV0b1R5cGUgPSBhdXRvVHlwZSA/IGF1dG9UeXBlLmNvbnRlbnQgOiBudWxsO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIG1vZGFsVHlwZTogbW9kYWwgPT0gXCJhdXRvXCIgPyBhdXRvVHlwZSA6IG1vZGFsLFxyXG4gICAgICBib3VuZHM6IHsgbGVmdDogMCwgdG9wOiAwLCBib3R0b206IDAsIHJpZ2h0OiAwIH0sXHJcbiAgICAgIGRyYWdnZXI6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuICBkcmFnZ2xlUmVmID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG5cclxuICBvcHRpb246IGFueSA9IHtcclxuICAgIC8v5Zue6LCD5L2c55So5Z+fXHJcbiAgICBzY29wZTogdGhpcyxcclxuICAgIC8vb3BlbuS8oOmAkui/h+adpeeahOmhtemdouWPguaVsFxyXG4gICAgcGFyYW1zOiB7fSxcclxuICAgIC8v5pi+56S65LmL5YmN5Zue6LCDXHJcbiAgICBiZWZvcmVSZW5kZXI6IG51bGwsXHJcbiAgICAvL+WFs+mXreS5i+WJjeWbnuiwg++8jOWmguaenHJldHVybiBmYWxzZe+8jOS4lOeql+WPo+S4jeWFs+mXrVxyXG4gICAgY2FsbGJhY2tCZWZvcmVDbG9zZTogbnVsbCxcclxuICAgIC8v5YWz6Zet5ZCO5Zue6LCD77yM5byC5q2l5pON5L2cXHJcbiAgICBjYWxsYmFjazogbnVsbCxcclxuICAgIC8v5pi+56S65LmL5ZCO5Zue6LCDXHJcbiAgICBhZnRlclJlbmRlcjogbnVsbCxcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIOa4suafk+WujOaIkFxyXG4gICAqIEBwYXJhbSB7Kn0gb3B0aW9uICDmlbTmlLnkvKDpgJLlr7nosaFcclxuICAgKi9cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcbiAgbGlzdGVuTWVzc2FnZSA9IChldikgPT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldi5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldi5kYXRhKSA6IGV2LmRhdGE7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGRhdGEuZXZlbnRUeXBlID09IFwiY2hhbmdlRm9ybVR5cGVcIikge1xyXG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGRhdGE7XHJcbiAgICAgIGlmIChwYXlsb2FkLnR5cGUgPT0gXCJtb2RhbFwiIHx8IHBheWxvYWQudHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBtb2RhbFR5cGU6IHBheWxvYWQudHlwZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcbiAgLy/mmL7npLpcclxuICBzaG93KG9wdGlvbjogYW55ID0ge30pIHtcclxuICAgIGNvbnN0IHsgc2NvcGUgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBiZWZvcmVSZW5kZXIsIGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9LCAoKSA9PiB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKGFmdGVyUmVuZGVyLCBzY29wZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZShvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgZ2V0UmV0dXJuVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWFs+mXreW4puWbnuiwg1xyXG4gICAqL1xyXG4gIGNsb3NlKHJlc3VsdD86IGFueSwgYnV0dG9uQ2xvc2UgPSBmYWxzZSkge1xyXG4gICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHsgY2FsbGJhY2ssIHNjb3BlLCBjYWxsYmFja0JlZm9yZUNsb3NlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgZm9ybUV4cGFuZCA9IHt9LCBvbkNhbmNlbCwgb25CdXR0b25DYW5jZWwsIG9uQ2xvc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyBjb25zdCByID0gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2tCZWZvcmVDbG9zZSwgc2NvcGUsIFt0aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgICAvLyBpZiAociAhPT0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHsgZXhwYW5kID0gZmFsc2UgfSA9IGZvcm1FeHBhbmQ7XHJcbiAgICBpZiAoZXhwYW5kICYmIGZvcm1FeHBhbmQudmFsaWQgJiYgZm9ybUV4cGFuZC5jaGFuZ2UpIHtcclxuICAgICAgQ29uZmlybSh7XHJcbiAgICAgICAgY29udGVudDogXCLlvZPliY3orrDlvZXlt7Lkv67mlLnlsJrmnKrkv53lrZjvvIznoa7lrpropoHmlL7lvIPkv67mlLnlkJfvvJ9cIixcclxuICAgICAgICBvbk9rKCkge1xyXG4gICAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgb25CdXR0b25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIG9uQ2xvc2UgJiYgb25DbG9zZShyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICBpZiAoYnV0dG9uQ2xvc2UgJiYgb25CdXR0b25DYW5jZWwpIHtcclxuICAgICAgICAgIG9uQnV0dG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2ssIHNjb3BlLCBbX3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWPguaVsO+8jOWmguaenGtleeS4jeS8oOmAku+8jOS4lOiOt+WPluWFqOmDqFxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBrZXlcclxuICAgKi9cclxuICBnZXRQYXJhbXMoa2V5KSB7XHJcbiAgICBpZiAoa2V5KSByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zW2tleV07XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zO1xyXG4gIH1cclxuICBvblN0YXJ0KF9ldmVudDogRHJhZ2dhYmxlRXZlbnQsIHVpRGF0YTogRHJhZ2dhYmxlRGF0YSkge1xyXG4gICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgY29uc3QgdGFyZ2V0UmVjdCA9IHRoaXMuZHJhZ2dsZVJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGlmICghdGFyZ2V0UmVjdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYm91bmRzOiB7XHJcbiAgICAgICAgbGVmdDogLXRhcmdldFJlY3QubGVmdCArIHVpRGF0YS54LFxyXG4gICAgICAgIHJpZ2h0OiBjbGllbnRXaWR0aCAtICh0YXJnZXRSZWN0LnJpZ2h0IC0gdWlEYXRhLngpLFxyXG4gICAgICAgIHRvcDogLXRhcmdldFJlY3QudG9wICsgdWlEYXRhLnksXHJcbiAgICAgICAgYm90dG9tOiBjbGllbnRIZWlnaHQgLSAodGFyZ2V0UmVjdC5ib3R0b20gLSB1aURhdGEueSksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSA9IFwibW9kYWxcIixcclxuICAgICAgY2xvc2FibGUsXHJcbiAgICAgIC8vIHRpdGxlOiBvcmd0aXRsZSxcclxuICAgICAgb2tCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBjYW5jZWxCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtRXhwYW5kID0ge30sXHJcbiAgICAgIGRyYWdhYmxlID0gdHJ1ZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wczogYW55ID0geyAuLi5wYXJhbXMgfTtcclxuICAgIGxldCB7IG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBnZXRDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChkcmFnYWJsZSAmJiB0eXBlID09IFwibW9kYWxcIikge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBtb2RhbFJlbmRlcjogKG1vZGFsKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8RHJhZ2dhYmxlXHJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuZHJhZ2dlcn1cclxuICAgICAgICAgICAgICBib3VuZHM9e3RoaXMuc3RhdGUuYm91bmRzfVxyXG4gICAgICAgICAgICAgIG9uU3RhcnQ9eyhldmVudCwgdWlEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uU3RhcnQoZXZlbnQsIHVpRGF0YSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgcmVmPXt0aGlzLmRyYWdnbGVSZWZ9Pnttb2RhbH08L2Rpdj5cclxuICAgICAgICAgICAgPC9EcmFnZ2FibGU+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGl0bGUgPSAoXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGVcIiksIHtcclxuICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtZHJhZ2dlclwiKV06XHJcbiAgICAgICAgICAgIGRyYWdhYmxlICYmIHR5cGUgPT0gXCJtb2RhbFwiLFxyXG4gICAgICAgIH0pfVxyXG4gICAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zdGF0ZS5kcmFnZ2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGRyYWdnZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9fVxyXG4gICAgICAgIG9uTW91c2VPdXQ9eygpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkcmFnZ2VyOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvbnNcIil9PlxyXG4gICAgICAgICAgeyF0aGlzLnN0YXRlLmV4cGFuZCAmJiBmb3JtRXhwYW5kLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgZm9ybUV4cGFuZC5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1pY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENvbXByZXNzT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge2Nsb3NhYmxlICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1pY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1jb250ZW50XCIpfT5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCB7IG1vZGFsQnV0dG9uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC1mb290ZXJcIil9PlxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgcHJvcHMub25PayAmJiBwcm9wcy5vbk9rKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgICAgey4uLm9rQnV0dG9uUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucHJvcHMub2tUZXh0ID8gdGhpcy5wcm9wcy5va1RleHQgOiBcIuS/neWtmFwifVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlLmJpbmQodGhpcywge30sIHRydWUpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtZm9vdGVyLWJ1dHRvbi1tYXJnaW5cIil9XHJcbiAgICAgICAgICBpY29uPXs8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5jYW5jbGVCdXR0b25Qcm9wc31cclxuICAgICAgICAgIHsuLi5jYW5jZWxCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5jYW5jZWxUZXh0ID8gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IDogXCLlj5bmtohcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgaWYgKGZvcm1FeHBhbmQuZXhwYW5kKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgICAgc3R5bGU6IHsgbWF4V2lkdGg6IFwiMTAwdndcIiB9LFxyXG5cclxuICAgICAgICB3aWR0aDogdGhpcy5zdGF0ZS5leHBhbmQgPyBcIjEwMHZ3XCIgOiBwcm9wcy53aWR0aCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdGF0ZS5tb2RhbFR5cGUgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgb2xkUHJvcHMgPSB7IC4uLnByb3BzIH07XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQob2xkUHJvcHMsIFtcIm9uT2tcIiwgXCJva0J1dHRvblByb3BzXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvcGVuPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICBvcGVuPXt0aGlzLnN0YXRlLnZpc2libGV9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb25Paz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgb2tUZXh0PXtcIuehruWumlwifVxyXG4gICAgICAgICAgY2FuY2VsVGV4dD17XCLlj5bmtohcIn1cclxuICAgICAgICAgIGNlbnRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5leHBhbmRcclxuICAgICAgICAgICAgICA/IGdldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC1hbGxzcmVlblwiKVxyXG4gICAgICAgICAgICAgIDogZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsXCIpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyB0aXRsZT17Zm9ybUV4cGFuZCA/IHRpdGxlIDogdGhpcy5wcm9wcy50aXRsZX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIGFmdGVyQ2xvc2U9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMsRUFBRUMsYUFBYSxRQUFtQixPQUFPO0FBRWxFLFNBQVNDLEtBQUssUUFBUSx1QkFBdUI7QUFDN0MsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsU0FDRUMsa0JBQWtCLEVBQ2xCQyxtQkFBbUIsRUFDbkJDLGFBQWEsRUFDYkMsY0FBYyxFQUNkQyxnQkFBZ0IsUUFDWCxtQkFBbUI7QUFDMUIsT0FBT0MsTUFBTSxNQUFNLFdBQVc7QUFDOUIsU0FBU0MsT0FBTyxRQUFRLGFBQWE7QUFDckMsT0FBT0MsTUFBTSxNQUFNLGNBQWM7QUFDakMsU0FBU0MsVUFBVSxRQUFRLG1CQUFtQjtBQUM5QyxPQUFPQyxPQUFPLE1BQU0sV0FBVztBQUMvQixPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUUxQixPQUFPQyxTQUFTLE1BQU0saUJBQWlCO0FBQ3ZDLE9BQU9DLEdBQUcsTUFBTSxZQUFZO0FBZTVCLGVBQWUsTUFBTUMsUUFBUSxTQUFTaEIsYUFBYSxDQUdqRDtFQVVBaUIsV0FBV0EsQ0FBQ0Ms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
352
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZVJlZiIsIlB1cmVDb21wb25lbnQiLCJ1dGlscyIsImNvbmZpZyIsIlBsdXNDaXJjbGVPdXRsaW5lZCIsIkNsb3NlQ2lyY2xlT3V0bGluZWQiLCJDbG9zZU91dGxpbmVkIiwiRXhwYW5kT3V0bGluZWQiLCJDb21wcmVzc091dGxpbmVkIiwiQnV0dG9uIiwiZ2V0TGVzcyIsInN0eWxlcyIsImdldFN0b3JhZ2UiLCJDb25maXJtIiwib21pdCIsIkRyYWdnYWJsZSIsImNscyIsIk5zY01vZGFsIiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eSIsInNjb3BlIiwicGFyYW1zIiwiYmVmb3JlUmVuZGVyIiwiY2FsbGJhY2tCZWZvcmVDbG9zZSIsImNhbGxiYWNrIiwiYWZ0ZXJSZW5kZXIiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJtb2RhbFR5cGUiLCJtb2RhbCIsInN0b3JlUHJlZml4IiwiYXV0b1R5cGUiLCJjb250ZW50Iiwic3RhdGUiLCJ2aXNpYmxlIiwiZXhwYW5kIiwiYm91bmRzIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiZHJhZ2dlciIsImNvbXBvbmVudERpZE1vdW50Iiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImxpc3Rlbk1lc3NhZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzaG93Iiwib3B0aW9uIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiX29iamVjdFNwcmVhZCIsImhpZGUiLCJnZXRSZXR1cm5WYWx1ZSIsInJldHVyblZhbHVlIiwiY2xvc2UiLCJyZXN1bHQiLCJidXR0b25DbG9zZSIsImZvcm1FeHBhbmQiLCJvbkNhbmNlbCIsIm9uQnV0dG9uQ2FuY2VsIiwib25DbG9zZSIsInZhbGlkIiwiY2hhbmdlIiwib25PayIsImdldFBhcmFtcyIsImtleSIsIm9uU3RhcnQiLCJfZXZlbnQiLCJ1aURhdGEiLCJfdGhpcyRkcmFnZ2xlUmVmJGN1cnIiLCJjbGllbnRXaWR0aCIsImNsaWVudEhlaWdodCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwidGFyZ2V0UmVjdCIsImRyYWdnbGVSZWYiLCJjdXJyZW50IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwieCIsInkiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNsb3NhYmxlIiwib2tCdXR0b25Qcm9wcyIsImNhbmNlbEJ1dHRvblByb3BzIiwiZHJhZ2FibGUiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJtb3VudEVsZW1lbnRJZCIsImdldENvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwibW9kYWxSZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiZGlzYWJsZWQiLCJldmVudCIsInJlZiIsInRpdGxlIiwiY2xhc3NOYW1lIiwib25Nb3VzZU92ZXIiLCJvbk1vdXNlT3V0Iiwib25DbGljayIsInN0eWxlIiwibWFyZ2luUmlnaHQiLCJtb2RhbEJ1dHRvbiIsImZvb3RlciIsIl9leHRlbmRzIiwiaWNvbiIsIm9rVGV4dCIsImJpbmQiLCJjYW5jbGVCdXR0b25Qcm9wcyIsImNhbmNlbFRleHQiLCJtYXhXaWR0aCIsIndpZHRoIiwib2xkUHJvcHMiLCJuZXdEcmF3ZXJQcm9wcyIsIl9EcmF3ZXIiLCJvcGVuIiwiX01vZGFsIiwiY2VudGVyZWQiLCJhZnRlckNsb3NlIiwiaW5mbyIsInN1Y2Nlc3MiLCJlcnJvciIsIndhcm5pbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iYXNlL21vZGFsL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlUmVmLCBQdXJlQ29tcG9uZW50LCBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsUHJvcHMsIERyYXdlciwgRHJhd2VyUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7XHJcbiAgUGx1c0NpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VPdXRsaW5lZCxcclxuICBFeHBhbmRPdXRsaW5lZCxcclxuICBDb21wcmVzc091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgQ29uZmlybSBmcm9tIFwiLi9Db25maXJtXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB0eXBlIHsgRHJhZ2dhYmxlRGF0YSwgRHJhZ2dhYmxlRXZlbnQgfSBmcm9tIFwicmVhY3QtZHJhZ2dhYmxlXCI7XHJcbmltcG9ydCBEcmFnZ2FibGUgZnJvbSBcInJlYWN0LWRyYWdnYWJsZVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcblxyXG5pbnRlcmZhY2UgZm9ybUV4cGFuZCB7XHJcbiAgY2hhbmdlPzogYm9vbGVhbjtcclxuICB2YWxpZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOc2NNb2RhbFBvcnBzIGV4dGVuZHMgTW9kYWxQcm9wcyB7XHJcbiAgdHlwZT86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCIgfCBcImF1dG9cIjtcclxuICBmb3JtRXhwYW5kPzogZm9ybUV4cGFuZDtcclxuICBvbkJ1dHRvbkNhbmNlbD86IGFueTsgLy/lupXpg6jlj5bmtojmjInpkq7lm57osINcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8v5by55qGG5piv5ZCm55yL5ouW5YqoXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY01vZGFsIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxcclxuICBOc2NNb2RhbFBvcnBzICYgRHJhd2VyUHJvcHMsXHJcbiAgYW55XHJcbj4ge1xyXG4gIHN0YXRpYyBjb25maXJtID0gQ29uZmlybTtcclxuICAvLyBzdGF0aWMgY29uZmlybSA9IE1vZGFsLmNvbmZpcm07XHJcbiAgc3RhdGljIGluZm8gPSBNb2RhbC5pbmZvO1xyXG4gIHN0YXRpYyBzdWNjZXNzID0gTW9kYWwuc3VjY2VzcztcclxuICBzdGF0aWMgZXJyb3IgPSBNb2RhbC5lcnJvcjtcclxuICBzdGF0aWMgd2FybmluZyA9IE1vZGFsLndhcm5pbmc7XHJcbiAgLy/ov5Tlm57lgLxcclxuICByZXR1cm5WYWx1ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBsZXQgbW9kYWwgPSBwcm9wcy50eXBlIHx8IFwiYXV0b1wiO1xyXG4gICAgbGV0IHN0b3JlUHJlZml4ID0gZ2V0U3RvcmFnZShcInN0b3JlLXByZS1rZXlcIik7XHJcbiAgICBsZXQgYXV0b1R5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCJmb3JtVHlwZVwiIDogXCJmb3JtVHlwZVwiXHJcbiAgICApO1xyXG4gICAgYXV0b1R5cGUgPSBhdXRvVHlwZSA/IGF1dG9UeXBlLmNvbnRlbnQgOiBudWxsO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIG1vZGFsVHlwZTogbW9kYWwgPT0gXCJhdXRvXCIgPyBhdXRvVHlwZSA6IG1vZGFsLFxyXG4gICAgICBib3VuZHM6IHsgbGVmdDogMCwgdG9wOiAwLCBib3R0b206IDAsIHJpZ2h0OiAwIH0sXHJcbiAgICAgIGRyYWdnZXI6IHRydWUsXHJcbiAgICB9O1xyXG4gIH1cclxuICBkcmFnZ2xlUmVmID0gY3JlYXRlUmVmPEhUTUxEaXZFbGVtZW50PigpO1xyXG5cclxuICBvcHRpb246IGFueSA9IHtcclxuICAgIC8v5Zue6LCD5L2c55So5Z+fXHJcbiAgICBzY29wZTogdGhpcyxcclxuICAgIC8vb3BlbuS8oOmAkui/h+adpeeahOmhtemdouWPguaVsFxyXG4gICAgcGFyYW1zOiB7fSxcclxuICAgIC8v5pi+56S65LmL5YmN5Zue6LCDXHJcbiAgICBiZWZvcmVSZW5kZXI6IG51bGwsXHJcbiAgICAvL+WFs+mXreS5i+WJjeWbnuiwg++8jOWmguaenHJldHVybiBmYWxzZe+8jOS4lOeql+WPo+S4jeWFs+mXrVxyXG4gICAgY2FsbGJhY2tCZWZvcmVDbG9zZTogbnVsbCxcclxuICAgIC8v5YWz6Zet5ZCO5Zue6LCD77yM5byC5q2l5pON5L2cXHJcbiAgICBjYWxsYmFjazogbnVsbCxcclxuICAgIC8v5pi+56S65LmL5ZCO5Zue6LCDXHJcbiAgICBhZnRlclJlbmRlcjogbnVsbCxcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIOa4suafk+WujOaIkFxyXG4gICAqIEBwYXJhbSB7Kn0gb3B0aW9uICDmlbTmlLnkvKDpgJLlr7nosaFcclxuICAgKi9cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcbiAgbGlzdGVuTWVzc2FnZSA9IChldikgPT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldi5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldi5kYXRhKSA6IGV2LmRhdGE7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGRhdGEuZXZlbnRUeXBlID09IFwiY2hhbmdlRm9ybVR5cGVcIikge1xyXG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGRhdGE7XHJcbiAgICAgIGlmIChwYXlsb2FkLnR5cGUgPT0gXCJtb2RhbFwiIHx8IHBheWxvYWQudHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBtb2RhbFR5cGU6IHBheWxvYWQudHlwZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcbiAgLy/mmL7npLpcclxuICBzaG93KG9wdGlvbjogYW55ID0ge30pIHtcclxuICAgIGNvbnN0IHsgc2NvcGUgfSA9IHRoaXMub3B0aW9uO1xyXG4gICAgY29uc3QgeyBiZWZvcmVSZW5kZXIsIGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICB0aGlzLm9wdGlvbiA9IHsgLi4udGhpcy5vcHRpb24sIC4uLm9wdGlvbiB9O1xyXG4gICAgdXRpbHMuY2FsbGJhY2soYmVmb3JlUmVuZGVyLCBzY29wZSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgdmlzaWJsZTogdHJ1ZSB9LCAoKSA9PiB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKGFmdGVyUmVuZGVyLCBzY29wZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8v6ZqQ6JePXHJcbiAgaGlkZShvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W6ZyA6KaB6L+U5Zue55qE5YC8XHJcbiAgZ2V0UmV0dXJuVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5WYWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOWFs+mXreW4puWbnuiwg1xyXG4gICAqL1xyXG4gIGNsb3NlKHJlc3VsdD86IGFueSwgYnV0dG9uQ2xvc2UgPSBmYWxzZSkge1xyXG4gICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgIC8vIGNvbnN0IHsgY2FsbGJhY2ssIHNjb3BlLCBjYWxsYmFja0JlZm9yZUNsb3NlIH0gPSB0aGlzLm9wdGlvbjtcclxuICAgIGNvbnN0IHsgZm9ybUV4cGFuZCA9IHt9LCBvbkNhbmNlbCwgb25CdXR0b25DYW5jZWwsIG9uQ2xvc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyBjb25zdCByID0gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2tCZWZvcmVDbG9zZSwgc2NvcGUsIFt0aGlzLnJldHVyblZhbHVlXSk7XHJcbiAgICAvLyBpZiAociAhPT0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHsgZXhwYW5kID0gZmFsc2UgfSA9IGZvcm1FeHBhbmQ7XHJcbiAgICBpZiAoZXhwYW5kICYmIGZvcm1FeHBhbmQudmFsaWQgJiYgZm9ybUV4cGFuZC5jaGFuZ2UpIHtcclxuICAgICAgQ29uZmlybSh7XHJcbiAgICAgICAgY29udGVudDogXCLlvZPliY3orrDlvZXlt7Lkv67mlLnlsJrmnKrkv53lrZjvvIznoa7lrpropoHmlL7lvIPkv67mlLnlkJfvvJ9cIixcclxuICAgICAgICBvbk9rKCkge1xyXG4gICAgICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICAgICAgaWYgKGJ1dHRvbkNsb3NlICYmIG9uQnV0dG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgb25CdXR0b25DYW5jZWwocmVzdWx0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvbkNhbmNlbCAmJiBvbkNhbmNlbChyZXN1bHQpO1xyXG4gICAgICAgICAgICAgIG9uQ2xvc2UgJiYgb25DbG9zZShyZXN1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IHZpc2libGU6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG9uQ2FuY2VsIHx8IG9uQ2xvc2UpIHtcclxuICAgICAgICBpZiAoYnV0dG9uQ2xvc2UgJiYgb25CdXR0b25DYW5jZWwpIHtcclxuICAgICAgICAgIG9uQnV0dG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKHJlc3VsdCk7XHJcbiAgICAgICAgICBvbkNsb3NlICYmIG9uQ2xvc2UocmVzdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB2aXNpYmxlOiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gdXRpbHMuY2FsbGJhY2soY2FsbGJhY2ssIHNjb3BlLCBbX3RoaXMucmV0dXJuVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWPguaVsO+8jOWmguaenGtleeS4jeS8oOmAku+8jOS4lOiOt+WPluWFqOmDqFxyXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBrZXlcclxuICAgKi9cclxuICBnZXRQYXJhbXMoa2V5KSB7XHJcbiAgICBpZiAoa2V5KSByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zW2tleV07XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb24ucGFyYW1zO1xyXG4gIH1cclxuICBvblN0YXJ0KF9ldmVudDogRHJhZ2dhYmxlRXZlbnQsIHVpRGF0YTogRHJhZ2dhYmxlRGF0YSkge1xyXG4gICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB3aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgY29uc3QgdGFyZ2V0UmVjdCA9IHRoaXMuZHJhZ2dsZVJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGlmICghdGFyZ2V0UmVjdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYm91bmRzOiB7XHJcbiAgICAgICAgbGVmdDogLXRhcmdldFJlY3QubGVmdCArIHVpRGF0YS54LFxyXG4gICAgICAgIHJpZ2h0OiBjbGllbnRXaWR0aCAtICh0YXJnZXRSZWN0LnJpZ2h0IC0gdWlEYXRhLngpLFxyXG4gICAgICAgIHRvcDogLXRhcmdldFJlY3QudG9wICsgdWlEYXRhLnksXHJcbiAgICAgICAgYm90dG9tOiBjbGllbnRIZWlnaHQgLSAodGFyZ2V0UmVjdC5ib3R0b20gLSB1aURhdGEueSksXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSA9IFwibW9kYWxcIixcclxuICAgICAgY2xvc2FibGUsXHJcbiAgICAgIC8vIHRpdGxlOiBvcmd0aXRsZSxcclxuICAgICAgb2tCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBjYW5jZWxCdXR0b25Qcm9wcyA9IHt9LFxyXG4gICAgICBmb3JtRXhwYW5kID0ge30sXHJcbiAgICAgIGRyYWdhYmxlID0gdHJ1ZSxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBwcm9wczogYW55ID0geyAuLi5wYXJhbXMgfTtcclxuICAgIGxldCB7IG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBnZXRDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vdW50RWxlbWVudElkKSxcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChkcmFnYWJsZSAmJiB0eXBlID09IFwibW9kYWxcIikge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICBtb2RhbFJlbmRlcjogKG1vZGFsKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8RHJhZ2dhYmxlXHJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuZHJhZ2dlcn1cclxuICAgICAgICAgICAgICBib3VuZHM9e3RoaXMuc3RhdGUuYm91bmRzfVxyXG4gICAgICAgICAgICAgIG9uU3RhcnQ9eyhldmVudCwgdWlEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uU3RhcnQoZXZlbnQsIHVpRGF0YSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgcmVmPXt0aGlzLmRyYWdnbGVSZWZ9Pnttb2RhbH08L2Rpdj5cclxuICAgICAgICAgICAgPC9EcmFnZ2FibGU+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdGl0bGUgPSAoXHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGVcIiksIHtcclxuICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtZHJhZ2dlclwiKV06XHJcbiAgICAgICAgICAgIGRyYWdhYmxlICYmIHR5cGUgPT0gXCJtb2RhbFwiLFxyXG4gICAgICAgIH0pfVxyXG4gICAgICAgIG9uTW91c2VPdmVyPXsoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5zdGF0ZS5kcmFnZ2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIGRyYWdnZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9fVxyXG4gICAgICAgIG9uTW91c2VPdXQ9eygpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkcmFnZ2VyOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvbnNcIil9PlxyXG4gICAgICAgICAgeyF0aGlzLnN0YXRlLmV4cGFuZCAmJiBmb3JtRXhwYW5kLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtdGl0bGUtaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgZm9ybUV4cGFuZC5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1pY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENvbXByZXNzT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge2Nsb3NhYmxlICE9PSBmYWxzZSAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1pY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC10aXRsZS1jb250ZW50XCIpfT5cclxuICAgICAgICAgIHt0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCB7IG1vZGFsQnV0dG9uIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5zYy1tb2RhbC1mb290ZXJcIil9PlxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgcHJvcHMub25PayAmJiBwcm9wcy5vbk9rKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgICAgaWNvbj17PFBsdXNDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5va0J1dHRvblByb3BzfVxyXG4gICAgICAgICAgey4uLm9rQnV0dG9uUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucHJvcHMub2tUZXh0ID8gdGhpcy5wcm9wcy5va1RleHQgOiBcIuS/neWtmFwifVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmNsb3NlLmJpbmQodGhpcywge30sIHRydWUpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWwtZm9vdGVyLWJ1dHRvbi1tYXJnaW5cIil9XHJcbiAgICAgICAgICBpY29uPXs8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPn1cclxuICAgICAgICAgIHsuLi5tb2RhbEJ1dHRvbi5jYW5jbGVCdXR0b25Qcm9wc31cclxuICAgICAgICAgIHsuLi5jYW5jZWxCdXR0b25Qcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5wcm9wcy5jYW5jZWxUZXh0ID8gdGhpcy5wcm9wcy5jYW5jZWxUZXh0IDogXCLlj5bmtohcIn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgaWYgKGZvcm1FeHBhbmQuZXhwYW5kKSB7XHJcbiAgICAgIHByb3BzID0ge1xyXG4gICAgICAgIGZvb3RlcjogZm9vdGVyLFxyXG4gICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgICAgc3R5bGU6IHsgbWF4V2lkdGg6IFwiMTAwdndcIiB9LFxyXG4gICAgICAgIHdpZHRoOiB0aGlzLnN0YXRlLmV4cGFuZCA/IFwiMTAwdndcIiA6IHByb3BzLndpZHRoLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvcHMgPSB7XHJcbiAgICAgICAgZm9vdGVyOiBmb290ZXIsXHJcbiAgICAgICAgLi4ucHJvcHMsXHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnN0YXRlLm1vZGFsVHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGxldCBvbGRQcm9wcyA9IHsgLi4ucHJvcHMgfTtcclxuICAgICAgbGV0IG5ld0RyYXdlclByb3BzID0gb21pdChvbGRQcm9wcywgW1wib25Pa1wiLCBcIm9rQnV0dG9uUHJvcHNcIl0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxEcmF3ZXJcclxuICAgICAgICAgIG9wZW49e3RoaXMuc3RhdGUudmlzaWJsZX1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIG9wZW49e3RoaXMuc3RhdGUudmlzaWJsZX1cclxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBvbk9rPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBva1RleHQ9e1wi56Gu5a6aXCJ9XHJcbiAgICAgICAgICBjYW5jZWxUZXh0PXtcIuWPlua2iFwifVxyXG4gICAgICAgICAgY2VudGVyZWQ9e3RydWV9XHJcbiAgICAgICAgICBjbGFzc05hbWU9e1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlLmV4cGFuZFxyXG4gICAgICAgICAgICAgID8gZ2V0TGVzcyhzdHlsZXMsIFwibnNjLW1vZGFsLWFsbHNyZWVuXCIpXHJcbiAgICAgICAgICAgICAgOiBnZXRMZXNzKHN0eWxlcywgXCJuc2MtbW9kYWxcIilcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC8vIHRpdGxlPXtmb3JtRXhwYW5kID8gdGl0bGUgOiB0aGlzLnByb3BzLnRpdGxlfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgYWZ0ZXJDbG9zZT17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICBleHBhbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxFQUFFQyxhQUFhLFFBQW1CLE9BQU87QUFFbEUsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQUM3QyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxTQUNFQyxrQkFBa0IsRUFDbEJDLG1CQUFtQixFQUNuQkMsYUFBYSxFQUNiQyxjQUFjLEVBQ2RDLGdCQUFnQixRQUNYLG1CQUFtQjtBQUMxQixPQUFPQyxNQUFNLE1BQU0sV0FBVztBQUM5QixTQUFTQyxPQUFPLFFBQVEsYUFBYTtBQUNyQyxPQUFPQyxNQUFNLE1BQU0sY0FBYztBQUNqQyxTQUFTQyxVQUFVLFFBQVEsbUJBQW1CO0FBQzlDLE9BQU9DLE9BQU8sTUFBTSxXQUFXO0FBQy9CLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBRTFCLE9BQU9DLFNBQVMsTUFBTSxpQkFBaUI7QUFDdkMsT0FBT0MsR0FBRyxNQUFNLFlBQVk7QUFlNUIsZUFBZSxNQUFNQyxRQUFRLFNBQVNoQixhQUFhLENBR2pEO0VBVUFpQixXQUFXQSxDQUFDQyxLQUFL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