nsc-react-component 1.4.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
35
35
  import * as React from "react";
36
36
  import styles from "./index.less";
37
37
  import cls from "classnames";
38
+ import config from "../config";
38
39
  /**
39
40
  * @param {string} defaultStyle 是否显示默认样式,传入默认样式,
40
41
  * type 默认样式分为两种按钮模式,铺满和带边框两种 default ,border 默认primary
@@ -77,7 +78,10 @@ var NSCButton = /*#__PURE__*/function (_React$PureComponent) {
77
78
  loading = _this$props.loading,
78
79
  params = _objectWithoutProperties(_this$props, _excluded);
79
80
 
80
- if (defaultStyle) {
81
+ var _config = config(),
82
+ antdStyle = _config.antdStyle;
83
+
84
+ if ((defaultStyle || antdStyle) && defaultStyle === true) {
81
85
  var _defaultStyle$colorTy = defaultStyle.colorType,
82
86
  colorType = _defaultStyle$colorTy === void 0 ? "" : _defaultStyle$colorTy,
83
87
  _defaultStyle$type = defaultStyle.type,
@@ -125,4 +129,4 @@ var NSCButton = /*#__PURE__*/function (_React$PureComponent) {
125
129
  }(React.PureComponent);
126
130
 
127
131
  export { NSCButton as default };
128
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJzdHlsZXMiLCJjbHMiLCJOU0NCdXR0b24iLCJwcm9wcyIsImJ1dHRvbkxvYWRpbmciLCJzdG9yZUxvYWRpb25nIiwibG9hZGluZyIsInNldFN0YXRlIiwiY2hpbGRyZW4iLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJjb2xvclR5cGUiLCJ0eXBlIiwiY2xhc3NuYW1lIiwic3RhdGUiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJuZXdTdGF0ZSIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0lBVXFCQyxTOzs7OztBQUtuQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiw4QkFBTUEsS0FBTjs7QUFEaUIsNERBSlg7QUFDTkMsTUFBQUEsYUFBYSxFQUFFLEtBRFQ7QUFFTkMsTUFBQUEsYUFBYSxFQUFFO0FBRlQsS0FJVzs7QUFBQTtBQUVsQjs7OztXQXNCRCxvQkFBV0MsT0FBWCxFQUE2QjtBQUMzQixXQUFLQyxRQUFMLENBQWM7QUFDWkgsUUFBQUEsYUFBYSxFQUFFRTtBQURILE9BQWQ7QUFHRDs7O1dBRUQsa0JBQVM7QUFDUCx3QkFBdUQsS0FBS0gsS0FBNUQ7QUFBQSxVQUFRSyxRQUFSLGVBQVFBLFFBQVI7QUFBQSxVQUFrQkMsWUFBbEIsZUFBa0JBLFlBQWxCO0FBQUEsVUFBZ0NILE9BQWhDLGVBQWdDQSxPQUFoQztBQUFBLFVBQTRDSSxNQUE1Qzs7QUFDQSxVQUFJRCxZQUFKLEVBQWtCO0FBQ2hCLG9DQUE2Q0EsWUFBN0MsQ0FBUUUsU0FBUjtBQUFBLFlBQVFBLFNBQVIsc0NBQW9CLEVBQXBCO0FBQUEsaUNBQTZDRixZQUE3QyxDQUF3QkcsSUFBeEI7QUFBQSxZQUF3QkEsSUFBeEIsbUNBQStCLFNBQS9CO0FBQ0EsWUFBSUMsU0FBUyxHQUFHRixTQUFTLEdBQUcsR0FBWixHQUFrQkMsSUFBbEM7QUFDQSw0QkFDRTtBQUFLLFVBQUEsU0FBUyxFQUFFWCxHQUFHLENBQUNELE1BQU0sQ0FBQyxhQUFELENBQVAsRUFBd0JBLE1BQU0sQ0FBQ2EsU0FBRCxDQUE5QjtBQUFuQix3QkFDRSwwQ0FBWUgsTUFBWjtBQUFvQixVQUFBLE9BQU8sRUFBRSxLQUFLSSxLQUFMLENBQVdWO0FBQXhDLFlBQ0dJLFFBREgsQ0FERixDQURGO0FBT0QsT0FWRCxNQVVPO0FBQ0wsNEJBQ0UsMENBQVlFLE1BQVo7QUFBb0IsVUFBQSxPQUFPLEVBQUUsS0FBS0ksS0FBTCxDQUFXVjtBQUF4QyxZQUNHSSxRQURILENBREY7QUFLRDtBQUNGOzs7V0E3Q0Qsa0NBQWdDTyxTQUFoQyxFQUEyQ0MsU0FBM0MsRUFBc0Q7QUFDcEQsVUFBUVYsT0FBUixHQUFvQlMsU0FBcEIsQ0FBUVQsT0FBUjtBQUNBLFVBQVFELGFBQVIsR0FBeUNXLFNBQXpDLENBQVFYLGFBQVI7QUFBQSxVQUF1QkQsYUFBdkIsR0FBeUNZLFNBQXpDLENBQXVCWixhQUF2Qjs7QUFDQSxVQUFJRSxPQUFPLEtBQUtELGFBQWhCLEVBQStCO0FBQzdCLFlBQUlZLFFBQVEsR0FBRztBQUNiYixVQUFBQSxhQUFhLEVBQUVFLE9BREY7QUFFYkQsVUFBQUEsYUFBYSxFQUFFQztBQUZGLFNBQWY7QUFJQSxlQUFPVyxRQUFQO0FBQ0Q7O0FBQ0QsVUFBSVgsT0FBTyxLQUFLRCxhQUFaLElBQTZCRCxhQUFhLEtBQUtDLGFBQW5ELEVBQWtFO0FBQ2hFLFlBQUlZLFNBQVEsR0FBRztBQUNiYixVQUFBQSxhQUFhLEVBQUVBLGFBREY7QUFFYkMsVUFBQUEsYUFBYSxFQUFFRDtBQUZGLFNBQWY7QUFJQSxlQUFPYSxTQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUEzQm9DbEIsS0FBSyxDQUFDbUIsYTs7U0FBeEJoQixTIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjog5oyJ6ZKu57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yMiAxMDozOToyOVxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDUtMDggMTk6MDk6MjZcclxuICovXHJcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVmYXVsdFN0eWxlIOaYr+WQpuaYvuekuum7mOiupOagt+W8jyzkvKDlhaXpu5jorqTmoLflvI8sXHJcbiAqICAgdHlwZSDpu5jorqTmoLflvI/liIbkuLrkuKTnp43mjInpkq7mqKHlvI/vvIzpk7rmu6HlkozluKbovrnmoYbkuKTnp40gIGRlZmF1bHQgLGJvcmRlciDpu5jorqRwcmltYXJ5XHJcbiAqICAgY29sb3JUeXBlIOaMiemSruiDjOaZr+minOiJsuexu+WeiyBzdWNjZXNzIHN0cmVzcyBub3JtYWwgZGFuZ2VyIHdoaXRlIOm7mOiupG5vcm1hbFxyXG4gKi9cclxuXHJcbmludGVyZmFjZSBJQnV0dG9uUHJvcCB7XHJcbiAgZGVmYXVsdFN0eWxlPzoge1xyXG4gICAgdHlwZT86IFwicHJpbWFyeVwiIHwgXCJib3JkZXJcIjtcclxuICAgIGNvbG9yVHlwZT86IFwic3VjY2Vzc1wiIHwgXCJzdHJlc3NcIiB8IFwid2hpdGVcIiB8IFwiZGFuZ2VyXCIgfCBcIm5vcm1hbFwiO1xyXG4gIH07XHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ0J1dHRvbiBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SUJ1dHRvblByb3A+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gICAgc3RvcmVMb2FkaW9uZzogZmFsc2UsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBsb2FkaW5nIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IHN0b3JlTG9hZGlvbmcsIGJ1dHRvbkxvYWRpbmcgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChsb2FkaW5nICE9PSBzdG9yZUxvYWRpb25nKSB7XHJcbiAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICBidXR0b25Mb2FkaW5nOiBsb2FkaW5nLFxyXG4gICAgICAgIHN0b3JlTG9hZGlvbmc6IGxvYWRpbmcsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgIH1cclxuICAgIGlmIChsb2FkaW5nID09PSBzdG9yZUxvYWRpb25nICYmIGJ1dHRvbkxvYWRpbmcgIT09IHN0b3JlTG9hZGlvbmcpIHtcclxuICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgIGJ1dHRvbkxvYWRpbmc6IGJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgc3RvcmVMb2FkaW9uZzogYnV0dG9uTG9hZGluZyxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBidXR0b25Mb2FkaW5nOiBsb2FkaW5nLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBkZWZhdWx0U3R5bGUsIGxvYWRpbmcsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChkZWZhdWx0U3R5bGUpIHtcclxuICAgICAgY29uc3QgeyBjb2xvclR5cGUgPSBcIlwiLCB0eXBlID0gXCJwcmltYXJ5XCIgfSA9IGRlZmF1bHRTdHlsZTtcclxuICAgICAgbGV0IGNsYXNzbmFtZSA9IGNvbG9yVHlwZSArIFwiX1wiICsgdHlwZTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcImJ1dHRvbl9iYXNlXCJdLCBzdHlsZXNbY2xhc3NuYW1lXSl9PlxyXG4gICAgICAgICAgPEJ1dHRvbiB7Li4ucGFyYW1zfSBsb2FkaW5nPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9PlxyXG4gICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvbiB7Li4ucGFyYW1zfSBsb2FkaW5nPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9PlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJzdHlsZXMiLCJjbHMiLCJjb25maWciLCJOU0NCdXR0b24iLCJwcm9wcyIsImJ1dHRvbkxvYWRpbmciLCJzdG9yZUxvYWRpb25nIiwibG9hZGluZyIsInNldFN0YXRlIiwiY2hpbGRyZW4iLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJhbnRkU3R5bGUiLCJjb2xvclR5cGUiLCJ0eXBlIiwiY2xhc3NuYW1lIiwic3RhdGUiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJuZXdTdGF0ZSIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztJQVVxQkMsUzs7Ozs7QUFLbkIscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsOEJBQU1BLEtBQU47O0FBRGlCLDREQUpYO0FBQ05DLE1BQUFBLGFBQWEsRUFBRSxLQURUO0FBRU5DLE1BQUFBLGFBQWEsRUFBRTtBQUZULEtBSVc7O0FBQUE7QUFFbEI7Ozs7V0FzQkQsb0JBQVdDLE9BQVgsRUFBNkI7QUFDM0IsV0FBS0MsUUFBTCxDQUFjO0FBQ1pILFFBQUFBLGFBQWEsRUFBRUU7QUFESCxPQUFkO0FBR0Q7OztXQUVELGtCQUFTO0FBQ1Asd0JBQXVELEtBQUtILEtBQTVEO0FBQUEsVUFBUUssUUFBUixlQUFRQSxRQUFSO0FBQUEsVUFBa0JDLFlBQWxCLGVBQWtCQSxZQUFsQjtBQUFBLFVBQWdDSCxPQUFoQyxlQUFnQ0EsT0FBaEM7QUFBQSxVQUE0Q0ksTUFBNUM7O0FBQ0Esb0JBQW9CVCxNQUFNLEVBQTFCO0FBQUEsVUFBTVUsU0FBTixXQUFNQSxTQUFOOztBQUNBLFVBQUksQ0FBQ0YsWUFBWSxJQUFJRSxTQUFqQixLQUErQkYsWUFBWSxLQUFLLElBQXBELEVBQTBEO0FBQ3hELG9DQUE2Q0EsWUFBN0MsQ0FBUUcsU0FBUjtBQUFBLFlBQVFBLFNBQVIsc0NBQW9CLEVBQXBCO0FBQUEsaUNBQTZDSCxZQUE3QyxDQUF3QkksSUFBeEI7QUFBQSxZQUF3QkEsSUFBeEIsbUNBQStCLFNBQS9CO0FBQ0EsWUFBSUMsU0FBUyxHQUFHRixTQUFTLEdBQUcsR0FBWixHQUFrQkMsSUFBbEM7QUFDQSw0QkFDRTtBQUFLLFVBQUEsU0FBUyxFQUFFYixHQUFHLENBQUNELE1BQU0sQ0FBQyxhQUFELENBQVAsRUFBd0JBLE1BQU0sQ0FBQ2UsU0FBRCxDQUE5QjtBQUFuQix3QkFDRSwwQ0FBWUosTUFBWjtBQUFvQixVQUFBLE9BQU8sRUFBRSxLQUFLSyxLQUFMLENBQVdYO0FBQXhDLFlBQ0dJLFFBREgsQ0FERixDQURGO0FBT0QsT0FWRCxNQVVPO0FBQ0wsNEJBQ0UsMENBQVlFLE1BQVo7QUFBb0IsVUFBQSxPQUFPLEVBQUUsS0FBS0ssS0FBTCxDQUFXWDtBQUF4QyxZQUNHSSxRQURILENBREY7QUFLRDtBQUNGOzs7V0E5Q0Qsa0NBQWdDUSxTQUFoQyxFQUEyQ0MsU0FBM0MsRUFBc0Q7QUFDcEQsVUFBUVgsT0FBUixHQUFvQlUsU0FBcEIsQ0FBUVYsT0FBUjtBQUNBLFVBQVFELGFBQVIsR0FBeUNZLFNBQXpDLENBQVFaLGFBQVI7QUFBQSxVQUF1QkQsYUFBdkIsR0FBeUNhLFNBQXpDLENBQXVCYixhQUF2Qjs7QUFDQSxVQUFJRSxPQUFPLEtBQUtELGFBQWhCLEVBQStCO0FBQzdCLFlBQUlhLFFBQVEsR0FBRztBQUNiZCxVQUFBQSxhQUFhLEVBQUVFLE9BREY7QUFFYkQsVUFBQUEsYUFBYSxFQUFFQztBQUZGLFNBQWY7QUFJQSxlQUFPWSxRQUFQO0FBQ0Q7O0FBQ0QsVUFBSVosT0FBTyxLQUFLRCxhQUFaLElBQTZCRCxhQUFhLEtBQUtDLGFBQW5ELEVBQWtFO0FBQ2hFLFlBQUlhLFNBQVEsR0FBRztBQUNiZCxVQUFBQSxhQUFhLEVBQUVBLGFBREY7QUFFYkMsVUFBQUEsYUFBYSxFQUFFRDtBQUZGLFNBQWY7QUFJQSxlQUFPYyxTQUFQO0FBQ0Q7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUEzQm9DcEIsS0FBSyxDQUFDcUIsYTs7U0FBeEJqQixTIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjog5oyJ6ZKu57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yMiAxMDozOToyOVxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDUtMDggMTk6MDk6MjZcclxuICovXHJcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcblxyXG4vKipcclxuICogQHBhcmFtIHtzdHJpbmd9IGRlZmF1bHRTdHlsZSDmmK/lkKbmmL7npLrpu5jorqTmoLflvI8s5Lyg5YWl6buY6K6k5qC35byPLFxyXG4gKiAgIHR5cGUg6buY6K6k5qC35byP5YiG5Li65Lik56eN5oyJ6ZKu5qih5byP77yM6ZO65ruh5ZKM5bim6L655qGG5Lik56eNICBkZWZhdWx0ICxib3JkZXIg6buY6K6kcHJpbWFyeVxyXG4gKiAgIGNvbG9yVHlwZSDmjInpkq7og4zmma/popzoibLnsbvlnosgc3VjY2VzcyBzdHJlc3Mgbm9ybWFsIGRhbmdlciB3aGl0ZSDpu5jorqRub3JtYWxcclxuICovXHJcblxyXG5pbnRlcmZhY2UgSUJ1dHRvblByb3Age1xyXG4gIGRlZmF1bHRTdHlsZT86IHtcclxuICAgIHR5cGU/OiBcInByaW1hcnlcIiB8IFwiYm9yZGVyXCI7XHJcbiAgICBjb2xvclR5cGU/OiBcInN1Y2Nlc3NcIiB8IFwic3RyZXNzXCIgfCBcIndoaXRlXCIgfCBcImRhbmdlclwiIHwgXCJub3JtYWxcIjtcclxuICB9O1xyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NCdXR0b24gZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElCdXR0b25Qcm9wPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICAgIHN0b3JlTG9hZGlvbmc6IGZhbHNlLFxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpIHtcclxuICAgIGNvbnN0IHsgbG9hZGluZyB9ID0gbmV4dFByb3BzO1xyXG4gICAgY29uc3QgeyBzdG9yZUxvYWRpb25nLCBidXR0b25Mb2FkaW5nIH0gPSBwcmV2U3RhdGU7XHJcbiAgICBpZiAobG9hZGluZyAhPT0gc3RvcmVMb2FkaW9uZykge1xyXG4gICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgYnV0dG9uTG9hZGluZzogbG9hZGluZyxcclxuICAgICAgICBzdG9yZUxvYWRpb25nOiBsb2FkaW5nLFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICB9XHJcbiAgICBpZiAobG9hZGluZyA9PT0gc3RvcmVMb2FkaW9uZyAmJiBidXR0b25Mb2FkaW5nICE9PSBzdG9yZUxvYWRpb25nKSB7XHJcbiAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICBidXR0b25Mb2FkaW5nOiBidXR0b25Mb2FkaW5nLFxyXG4gICAgICAgIHN0b3JlTG9hZGlvbmc6IGJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYnV0dG9uTG9hZGluZzogbG9hZGluZyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgZGVmYXVsdFN0eWxlLCBsb2FkaW5nLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgY29uc3QgeyBjb2xvclR5cGUgPSBcIlwiLCB0eXBlID0gXCJwcmltYXJ5XCIgfSA9IGRlZmF1bHRTdHlsZTtcclxuICAgICAgbGV0IGNsYXNzbmFtZSA9IGNvbG9yVHlwZSArIFwiX1wiICsgdHlwZTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcImJ1dHRvbl9iYXNlXCJdLCBzdHlsZXNbY2xhc3NuYW1lXSl9PlxyXG4gICAgICAgICAgPEJ1dHRvbiB7Li4ucGFyYW1zfSBsb2FkaW5nPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9PlxyXG4gICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEJ1dHRvbiB7Li4ucGFyYW1zfSBsb2FkaW5nPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9PlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
package/lib/config.d.ts CHANGED
@@ -6,6 +6,8 @@ interface IComponentConfig {
6
6
  exception403?: string;
7
7
  iconfontUrl?: string;
8
8
  viewUrl?: string;
9
+ antdStyle?: boolean;
10
+ allowChars?: boolean;
9
11
  }
10
12
  export declare const setConfig: (config: IComponentConfig) => {
11
13
  loginProjectName: string;
@@ -15,6 +17,8 @@ export declare const setConfig: (config: IComponentConfig) => {
15
17
  exception403: string;
16
18
  iconfontUrl: string;
17
19
  viewUrl: string;
20
+ antdStyle: boolean;
21
+ allowChars: boolean;
18
22
  } & IComponentConfig;
19
23
  declare const _default: () => IComponentConfig;
20
24
  export default _default;
package/lib/config.js CHANGED
@@ -20,7 +20,11 @@ var configData = {
20
20
  //阿里图标库URL
21
21
  iconfontUrl: "",
22
22
  //后台视图获取地址
23
- viewUrl: "/dict/v1/"
23
+ viewUrl: "/dict/v1/",
24
+ //默认antd样式
25
+ antdStyle: true,
26
+ //input特殊字符全局变量
27
+ allowChars: false
24
28
  };
25
29
  export var setConfig = function setConfig(config) {
26
30
  return Object.assign(configData, config);
@@ -28,4 +32,4 @@ export var setConfig = function setConfig(config) {
28
32
  export default (function () {
29
33
  return configData;
30
34
  });
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJzZXRDb25maWciLCJjb25maWciLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFXQSxJQUFJQSxVQUFVLEdBQUc7QUFDZjtBQUNBQyxFQUFBQSxnQkFBZ0IsRUFBRSxlQUZIO0FBR2Y7QUFDQUMsRUFBQUEsYUFBYSxFQUFFLG9CQUpBO0FBS2Y7QUFDQUMsRUFBQUEsU0FBUyxFQUFFLFFBTkk7QUFPZjtBQUNBQyxFQUFBQSxZQUFZLEVBQUUsZ0JBUkM7QUFTZjtBQUNBQyxFQUFBQSxZQUFZLEVBQUUsZ0JBVkM7QUFXZjtBQUNBQyxFQUFBQSxXQUFXLEVBQUUsRUFaRTtBQWFmO0FBQ0FDLEVBQUFBLE9BQU8sRUFBRTtBQWRNLENBQWpCO0FBaUJBLE9BQU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsTUFBRDtBQUFBLFNBQ3ZCQyxNQUFNLENBQUNDLE1BQVAsQ0FBY1gsVUFBZCxFQUEwQlMsTUFBMUIsQ0FEdUI7QUFBQSxDQUFsQjtBQUVQLGdCQUFlO0FBQUEsU0FBd0JULFVBQXhCO0FBQUEsQ0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wMy0yNSAxMDozNDo1M1xyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTY6NDU6MDNcclxuICovXHJcbmludGVyZmFjZSBJQ29tcG9uZW50Q29uZmlnIHtcclxuICBsb2dpblByb2plY3ROYW1lPzogc3RyaW5nO1xyXG4gIGF1dGhvcml6YXRpb24/OiBzdHJpbmc7XHJcbiAgbG9naW5QYXRoPzogc3RyaW5nO1xyXG4gIGV4Y2VwdGlvbjUwNT86IHN0cmluZztcclxuICBleGNlcHRpb240MDM/OiBzdHJpbmc7XHJcbiAgaWNvbmZvbnRVcmw/OiBzdHJpbmc7XHJcbiAgdmlld1VybD86IHN0cmluZztcclxufVxyXG5cclxubGV0IGNvbmZpZ0RhdGEgPSB7XHJcbiAgLy/nmbvlvZXnlYzpnaLpobnnm67lkI3np7BcclxuICBsb2dpblByb2plY3ROYW1lOiBcIk5TQyBGcmFtZXdvcmtcIixcclxuICAvL+ezu+e7n+aMh+e6ue+8jOeZu+W9leaXtuWAmemcgOimgeS8oOmAklxyXG4gIGF1dGhvcml6YXRpb246IFwiQmFzaWMgYm5Oak9tNXpZdz09XCIsXHJcbiAgLy/nmbvpmYbnlYzpnaJVUkxcclxuICBsb2dpblBhdGg6IFwiL2xvZ2luXCIsXHJcbiAgLy81MDXplJnor69VUkxcclxuICBleGNlcHRpb241MDU6IFwiL2V4Y2VwdGlvbi81MDBcIixcclxuICAvLzQwM+mUmeivr1VSTFxyXG4gIGV4Y2VwdGlvbjQwMzogXCIvZXhjZXB0aW9uLzQwM1wiLFxyXG4gIC8v6Zi/6YeM5Zu+5qCH5bqTVVJMXHJcbiAgaWNvbmZvbnRVcmw6IFwiXCIsXHJcbiAgLy/lkI7lj7Dop4blm77ojrflj5blnLDlnYBcclxuICB2aWV3VXJsOiBcIi9kaWN0L3YxL1wiLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldENvbmZpZyA9IChjb25maWc6IElDb21wb25lbnRDb25maWcpID0+XHJcbiAgT2JqZWN0LmFzc2lnbihjb25maWdEYXRhLCBjb25maWcpO1xyXG5leHBvcnQgZGVmYXVsdCAoKTogSUNvbXBvbmVudENvbmZpZyA9PiBjb25maWdEYXRhO1xyXG4iXX0=
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJhbnRkU3R5bGUiLCJhbGxvd0NoYXJzIiwic2V0Q29uZmlnIiwiY29uZmlnIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUEsSUFBSUEsVUFBVSxHQUFHO0FBQ2Y7QUFDQUMsRUFBQUEsZ0JBQWdCLEVBQUUsZUFGSDtBQUdmO0FBQ0FDLEVBQUFBLGFBQWEsRUFBRSxvQkFKQTtBQUtmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxRQU5JO0FBT2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVJDO0FBU2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVZDO0FBV2Y7QUFDQUMsRUFBQUEsV0FBVyxFQUFFLEVBWkU7QUFhZjtBQUNBQyxFQUFBQSxPQUFPLEVBQUUsV0FkTTtBQWVmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxJQWhCSTtBQWlCZjtBQUNBQyxFQUFBQSxVQUFVLEVBQUU7QUFsQkcsQ0FBakI7QUFxQkEsT0FBTyxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDQyxNQUFEO0FBQUEsU0FDdkJDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjYixVQUFkLEVBQTBCVyxNQUExQixDQUR1QjtBQUFBLENBQWxCO0FBRVAsZ0JBQWU7QUFBQSxTQUF3QlgsVUFBeEI7QUFBQSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI1IDEwOjM0OjUzXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NTowM1xyXG4gKi9cclxuaW50ZXJmYWNlIElDb21wb25lbnRDb25maWcge1xyXG4gIGxvZ2luUHJvamVjdE5hbWU/OiBzdHJpbmc7XHJcbiAgYXV0aG9yaXphdGlvbj86IHN0cmluZztcclxuICBsb2dpblBhdGg/OiBzdHJpbmc7XHJcbiAgZXhjZXB0aW9uNTA1Pzogc3RyaW5nO1xyXG4gIGV4Y2VwdGlvbjQwMz86IHN0cmluZztcclxuICBpY29uZm9udFVybD86IHN0cmluZztcclxuICB2aWV3VXJsPzogc3RyaW5nO1xyXG4gIGFudGRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmxldCBjb25maWdEYXRhID0ge1xyXG4gIC8v55m75b2V55WM6Z2i6aG555uu5ZCN56ewXHJcbiAgbG9naW5Qcm9qZWN0TmFtZTogXCJOU0MgRnJhbWV3b3JrXCIsXHJcbiAgLy/ns7vnu5/mjIfnurnvvIznmbvlvZXml7blgJnpnIDopoHkvKDpgJJcclxuICBhdXRob3JpemF0aW9uOiBcIkJhc2ljIGJuTmpPbTV6WXc9PVwiLFxyXG4gIC8v55m76ZmG55WM6Z2iVVJMXHJcbiAgbG9naW5QYXRoOiBcIi9sb2dpblwiLFxyXG4gIC8vNTA16ZSZ6K+vVVJMXHJcbiAgZXhjZXB0aW9uNTA1OiBcIi9leGNlcHRpb24vNTAwXCIsXHJcbiAgLy80MDPplJnor69VUkxcclxuICBleGNlcHRpb240MDM6IFwiL2V4Y2VwdGlvbi80MDNcIixcclxuICAvL+mYv+mHjOWbvuagh+W6k1VSTFxyXG4gIGljb25mb250VXJsOiBcIlwiLFxyXG4gIC8v5ZCO5Y+w6KeG5Zu+6I635Y+W5Zyw5Z2AXHJcbiAgdmlld1VybDogXCIvZGljdC92MS9cIixcclxuICAvL+m7mOiupGFudGTmoLflvI9cclxuICBhbnRkU3R5bGU6IHRydWUsXHJcbiAgLy9pbnB1dOeJueauiuWtl+espuWFqOWxgOWPmOmHj1xyXG4gIGFsbG93Q2hhcnM6IGZhbHNlLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldENvbmZpZyA9IChjb25maWc6IElDb21wb25lbnRDb25maWcpID0+XHJcbiAgT2JqZWN0LmFzc2lnbihjb25maWdEYXRhLCBjb25maWcpO1xyXG5leHBvcnQgZGVmYXVsdCAoKTogSUNvbXBvbmVudENvbmZpZyA9PiBjb25maWdEYXRhO1xyXG4iXX0=
@@ -53,6 +53,7 @@ import InputNumber from "./Number";
53
53
  import omit from "omit.js";
54
54
  import cls from "classnames";
55
55
  import styles from "./index.less";
56
+ import config from "../config";
56
57
 
57
58
  var NscInput = /*#__PURE__*/function (_PureComponent) {
58
59
  _inherits(NscInput, _PureComponent);
@@ -150,8 +151,7 @@ var NscInput = /*#__PURE__*/function (_PureComponent) {
150
151
  var _this$props2 = this.props,
151
152
  type = _this$props2.type,
152
153
  onChange = _this$props2.onChange,
153
- _this$props2$defaultS = _this$props2.defaultStyle,
154
- defaultStyle = _this$props2$defaultS === void 0 ? true : _this$props2$defaultS,
154
+ defaultStyle = _this$props2.defaultStyle,
155
155
  maxLength = _this$props2.maxLength,
156
156
  params = _objectWithoutProperties(_this$props2, _excluded);
157
157
 
@@ -191,7 +191,10 @@ var NscInput = /*#__PURE__*/function (_PureComponent) {
191
191
  }, inputProps);
192
192
  }
193
193
 
194
- if (defaultStyle) {
194
+ var _config = config(),
195
+ antdStyle = _config.antdStyle;
196
+
197
+ if ((defaultStyle || antdStyle) && defaultStyle === true) {
195
198
  return /*#__PURE__*/React.createElement("div", {
196
199
  className: cls(styles["nsc_input"], this.props.className)
197
200
  }, /*#__PURE__*/React.createElement(_Input, _extends({
@@ -236,4 +239,4 @@ _defineProperty(NscInput, "Group", _Input.Group);
236
239
  _defineProperty(NscInput, "Search", Search);
237
240
 
238
241
  export { NscInput as default };
239
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2lucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbnB1dEVtYWlsIiwiUGFzc3dvcmQiLCJUZXh0QXJlYSIsIlNlYXJjaCIsIklucHV0TnVtYmVyIiwib21pdCIsImNscyIsInN0eWxlcyIsIk5zY0lucHV0IiwicHJvcHMiLCJjcmVhdGVSZWYiLCJ2YWx1ZSIsImUiLCJvbkNoYW5nZSIsImFsbG93Q2hhcnMiLCJyZWciLCJyZWcyIiwicmVnMyIsInNldFN0YXRlIiwidGFyZ2V0IiwidGVzdCIsInN0YXRlIiwicmVmIiwiY3VycmVudCIsImZvY3VzIiwiYmx1ciIsInR5cGUiLCJkZWZhdWx0U3R5bGUiLCJtYXhMZW5ndGgiLCJwYXJhbXMiLCJudW1iZXJQcm9wcyIsImVtYWlsUHJvcHMiLCJ0ZXh0UHJvcHMiLCJwYXNzd29yZFByb3BzIiwiaW5wdXRQcm9wcyIsImNsYXNzTmFtZSIsImJpbmQiLCJyZXR1cm5DaGlsZHJlbiIsIkdyb3VwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUdBLE9BQU9DLFVBQVAsTUFBdUIsU0FBdkI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixZQUFyQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsVUFBbkI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLFVBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFFQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5COztJQVNxQkMsUTs7Ozs7QUFRbkIsb0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsOEJB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TyxRLGNBSUROLFE7O2dCQUpDTSxRLFdBS0osT0FBTThCLEs7O2dCQUxGOUIsUSxZQU1ITCxNOztTQU5HSyxRIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjogaW5wdXTnu4Tku7bvvIznm7TmjqXov5Tlm552YWx1ZSzliqDlr4blkI7nmoR2YWx1ZeS7peWPiuagoemqjOeahOWAvFxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTc6MTU6NDdcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIyIDE0OjIwOjA5XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuaW1wb3J0IHsgSW5wdXQsIElucHV0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgSW5wdXRFbWFpbCBmcm9tIFwiLi9FbWFpbFwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vUGFzc3dvcmRcIjtcclxuaW1wb3J0IFRleHRBcmVhIGZyb20gXCIuL1RleHRBcmVhXCI7XHJcbmltcG9ydCBTZWFyY2ggZnJvbSBcIi4vU2VhcmNoXCI7XHJcbmltcG9ydCBJbnB1dE51bWJlciBmcm9tIFwiLi9OdW1iZXJcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5cclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmludGVyZmFjZSBJSW5wdXRQcm9wcyB7XHJcbiAgdHlwZT86IFwibnVtYmVyXCIgfCBcImVtYWlsXCIgfCBcInBhc3N3b3JkXCIgfCBcInRleHRhcmVhXCIgfCBcInRleHRcIjtcclxuICBvbkNoYW5nZT86ICh2YWx1ZTogYW55LCB0YXJnZXQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBhbGxvd0NoYXJzPzogYm9vbGVhbjtcclxuICBtYXhMZW5ndGg/OiBudW1iZXIgfCBib29sZWFuO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjSW5wdXQgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElJbnB1dFByb3BzLCBhbnk+IHtcclxuICBzdGF0aWMgTnVtYmVyID0gSW5wdXROdW1iZXI7XHJcbiAgc3RhdGljIEVtYWlsID0gSW5wdXRFbWFpbDtcclxuICBzdGF0aWMgUGFzc3dvcmQgPSBQYXNzd29yZDtcclxuICBzdGF0aWMgVGV4dEFyZWEgPSBUZXh0QXJlYTtcclxuICBzdGF0aWMgR3JvdXAgPSBJbnB1dC5Hcm91cDtcclxuICBzdGF0aWMgU2VhcmNoID0gU2VhcmNoO1xyXG4gIHJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcbiAgc3RhdGUgPSB7XHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIG9uQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UsIGFsbG93Q2hhcnMgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHJlZyA9IC9eWzAtOWEtekEtWlxcdTRFMDAtXFx1OUZBNVxcdUY5MDAtXFx1RkEyRF0qJC87XHJcbiAgICBjb25zdCByZWcyID0gL1thLXpBLVpdJ1thLXpBLVpdL2c7XHJcbiAgICBjb25zdCByZWczID0gL1thLXpBLVpdXFxzW2EtekEtWl0vZztcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBpZiAoYWxsb3dDaGFycykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICAgIGlmIChyZWcudGVzdCh2YWx1ZSkgfHwgcmVnMi50ZXN0KHZhbHVlKSB8fCByZWczLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoYWxsb3dDaGFycykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgaWYgKHJlZy50ZXN0KHZhbHVlKSB8fCByZWcyLnRlc3QodmFsdWUpIHx8IHJlZzMudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudD8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGJsdXIoKSB7XHJcbiAgICB0aGlzLnJlZi5jdXJyZW50Py5ibHVyKCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm5DaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIG1heExlbmd0aCxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgXHJcbiAgICBpZiAodHlwZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgIGNvbnN0IG51bWJlclByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dE51bWJlciB7Li4ubnVtYmVyUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZW1haWxcIikge1xyXG4gICAgICBjb25zdCBlbWFpbFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dEVtYWlsIHsuLi5lbWFpbFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInRleHRhcmVhXCIpIHtcclxuICAgICAgY29uc3QgdGV4dFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxUZXh0QXJlYSB7Li4udGV4dFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInBhc3N3b3JkXCIpIHtcclxuICAgICAgbGV0IHBhc3N3b3JkUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcInR5cGVcIixcclxuICAgICAgICBcIm1heExlbmd0aFwiLFxyXG4gICAgICAgIFwiZGVmYXVsdFN0eWxlXCIsXHJcbiAgICAgICAgXCJhbGxvd0NoYXJzXCJcclxuICAgICAgXSk7XHJcbiAgICAgIGlmICghKG1heExlbmd0aCA9PT0gZmFsc2UpKSB7XHJcbiAgICAgICAgcGFzc3dvcmRQcm9wcyA9IHtcclxuICAgICAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsXHJcbiAgICAgICAgICAuLi5wYXNzd29yZFByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDxQYXNzd29yZCB7Li4ucGFzc3dvcmRQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImRlZmF1bHRTdHlsZVwiLFxyXG4gICAgICAgIFwiYWxsb3dDaGFyc1wiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIGlucHV0UHJvcHMgPSB7IG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsIC4uLmlucHV0UHJvcHMgfTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoc3R5bGVzW1wibnNjX2lucHV0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBhbGxvd0NsZWFyPXt0cnVlfVxyXG4gICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5yZWZ9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIlxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBhbGxvd0NsZWFyPXt0cnVlfVxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLnJlZn1cclxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgcmV0dXJuIDw+e3RoaXMucmV0dXJuQ2hpbGRyZW4oKX08Lz47XHJcbiAgfVxyXG59XHJcbiJdfQ==
242
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2lucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbnB1dEVtYWlsIiwiUGFzc3dvcmQiLCJUZXh0QXJlYSIsIlNlYXJjaCIsIklucHV0TnVtYmVyIiwib21pdCIsImNscyIsInN0eWxlcyIsImNvbmZpZyIsIk5zY0lucHV0IiwicHJvcHMiLCJjcmVhdGVSZWYiLCJ2YWx1ZSIsImUiLCJvbkNoYW5nZSIsImFsbG93Q2hhcnMiLCJyZWciLCJyZWcyIiwicmVnMyIsInNldFN0YXRlIiwidGFyZ2V0IiwidGVzdCIsInN0YXRlIiwicmVmIiwiY3VycmVudCIsImZvY3VzIiwiYmx1ciIsInR5cGUiLCJkZWZhdWx0U3R5bGUiLCJtYXhMZW5ndGgiLCJwYXJhbXMiLCJudW1iZXJQcm9wcyIsImVtYWlsUHJvcHMiLCJ0ZXh0UHJvcHMiLCJwYXNzd29yZFByb3BzIiwiaW5wdXRQcm9wcyIsImFudGRTdHlsZSIsImNsYXNzTmFtZSIsImJpbmQiLCJyZXR1cm5DaGlsZHJlbiIsIkdyb3VwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUdBLE9BQU9DLFVBQVAsTUFBdUIsU0FBdkI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixZQUFyQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsVUFBbkI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLFVBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFFQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBRUEsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjs7SUFTcUJDLFE7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Q0Y7QUFDRjs7O1dBQ0Qsa0JBQVM7QUFDUCwwQkFBTywwQ0FBRyxLQUFLSSxjQUFMLEVBQUgsQ0FBUDtBQUNEOzs7O0VBcEltQ3hDLGE7O2dCQUFqQlUsUSxZQUNITCxXOztnQkFER0ssUSxXQUVKVCxVOztnQkFGSVMsUSxjQUdEUixROztnQkFIQ1EsUSxjQUlEUCxROztnQkFKQ08sUSxXQUtKLE9BQU0rQixLOztnQkFMRi9CLFEsWUFNSE4sTTs7U0FOR00sUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246IGlucHV057uE5Lu277yM55u05o6l6L+U5ZuedmFsdWUs5Yqg5a+G5ZCO55qEdmFsdWXku6Xlj4rmoKHpqoznmoTlgLxcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI0IDE3OjE1OjQ3XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMiAxNDoyMDowOVxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IElucHV0LCBJbnB1dFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IElucHV0RW1haWwgZnJvbSBcIi4vRW1haWxcIjtcclxuaW1wb3J0IFBhc3N3b3JkIGZyb20gXCIuL1Bhc3N3b3JkXCI7XHJcbmltcG9ydCBUZXh0QXJlYSBmcm9tIFwiLi9UZXh0QXJlYVwiO1xyXG5pbXBvcnQgU2VhcmNoIGZyb20gXCIuL1NlYXJjaFwiO1xyXG5pbXBvcnQgSW5wdXROdW1iZXIgZnJvbSBcIi4vTnVtYmVyXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBGYXN0Rm9yd2FyZEZpbGxlZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW50ZXJmYWNlIElJbnB1dFByb3BzIHtcclxuICB0eXBlPzogXCJudW1iZXJcIiB8IFwiZW1haWxcIiB8IFwicGFzc3dvcmRcIiB8IFwidGV4dGFyZWFcIiB8IFwidGV4dFwiO1xyXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBhbnksIHRhcmdldD86IGFueSkgPT4gdm9pZDtcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIGFsbG93Q2hhcnM/OiBib29sZWFuO1xyXG4gIG1heExlbmd0aD86IG51bWJlciB8IGJvb2xlYW47XHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOc2NJbnB1dCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUlucHV0UHJvcHMsIGFueT4ge1xyXG4gIHN0YXRpYyBOdW1iZXIgPSBJbnB1dE51bWJlcjtcclxuICBzdGF0aWMgRW1haWwgPSBJbnB1dEVtYWlsO1xyXG4gIHN0YXRpYyBQYXNzd29yZCA9IFBhc3N3b3JkO1xyXG4gIHN0YXRpYyBUZXh0QXJlYSA9IFRleHRBcmVhO1xyXG4gIHN0YXRpYyBHcm91cCA9IElucHV0Lkdyb3VwO1xyXG4gIHN0YXRpYyBTZWFyY2ggPSBTZWFyY2g7XHJcbiAgcmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuICBzdGF0ZSA9IHtcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgb25DaGFuZ2UoZSkge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSwgYWxsb3dDaGFycyA9IGZhbHNlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgcmVnID0gL15bMC05YS16QS1aXFx1NEUwMC1cXHU5RkE1XFx1RjkwMC1cXHVGQTJEXSokLztcclxuICAgIGNvbnN0IHJlZzIgPSAvW2EtekEtWl0nW2EtekEtWl0vZztcclxuICAgIGNvbnN0IHJlZzMgPSAvW2EtekEtWl1cXHNbYS16QS1aXS9nO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIGlmIChhbGxvd0NoYXJzKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgaWYgKHJlZy50ZXN0KHZhbHVlKSB8fCByZWcyLnRlc3QodmFsdWUpIHx8IHJlZzMudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChhbGxvd0NoYXJzKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcclxuICAgICAgICBpZiAocmVnLnRlc3QodmFsdWUpIHx8IHJlZzIudGVzdCh2YWx1ZSkgfHwgcmVnMy50ZXN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLnJlZi5jdXJyZW50Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIHJldHVybkNoaWxkcmVuKCkge1xyXG4gICAgY29uc3QgeyB0eXBlLCBvbkNoYW5nZSwgZGVmYXVsdFN0eWxlLCBtYXhMZW5ndGgsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAodHlwZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgIGNvbnN0IG51bWJlclByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dE51bWJlciB7Li4ubnVtYmVyUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZW1haWxcIikge1xyXG4gICAgICBjb25zdCBlbWFpbFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dEVtYWlsIHsuLi5lbWFpbFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInRleHRhcmVhXCIpIHtcclxuICAgICAgY29uc3QgdGV4dFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxUZXh0QXJlYSB7Li4udGV4dFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInBhc3N3b3JkXCIpIHtcclxuICAgICAgbGV0IHBhc3N3b3JkUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcInR5cGVcIixcclxuICAgICAgICBcIm1heExlbmd0aFwiLFxyXG4gICAgICAgIFwiZGVmYXVsdFN0eWxlXCIsXHJcbiAgICAgICAgXCJhbGxvd0NoYXJzXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIHBhc3N3b3JkUHJvcHMgPSB7XHJcbiAgICAgICAgICBtYXhMZW5ndGg6IG1heExlbmd0aCA/IG1heExlbmd0aCA6IDUwLFxyXG4gICAgICAgICAgLi4ucGFzc3dvcmRQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiA8UGFzc3dvcmQgey4uLnBhc3N3b3JkUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGlucHV0UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgICAgXCJkZWZhdWx0U3R5bGVcIixcclxuICAgICAgICBcImFsbG93Q2hhcnNcIixcclxuICAgICAgICBcIm1heExlbmd0aFwiLFxyXG4gICAgICBdKTtcclxuICAgICAgaWYgKCEobWF4TGVuZ3RoID09PSBmYWxzZSkpIHtcclxuICAgICAgICBpbnB1dFByb3BzID0geyBtYXhMZW5ndGg6IG1heExlbmd0aCA/IG1heExlbmd0aCA6IDUwLCAuLi5pbnB1dFByb3BzIH07XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHsgYW50ZFN0eWxlIH0gPSBjb25maWcoKTtcclxuICAgICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2NfaW5wdXRcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlXCJcclxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIGFsbG93Q2xlYXI9e3RydWV9XHJcbiAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnJlZn1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGFsbG93Q2xlYXI9e3RydWV9XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZXR1cm5DaGlsZHJlbigpfTwvPjtcclxuICB9XHJcbn1cclxuIl19
@@ -467,8 +467,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
467
467
  options = _this$props5.options,
468
468
  labelField = _this$props5.labelField,
469
469
  valueField = _this$props5.valueField,
470
- _this$props5$defaultS = _this$props5.defaultStyle,
471
- defaultStyle = _this$props5$defaultS === void 0 ? true : _this$props5$defaultS,
470
+ defaultStyle = _this$props5.defaultStyle,
472
471
  _this$props5$showGrou = _this$props5.showGroup,
473
472
  showGroup = _this$props5$showGrou === void 0 ? true : _this$props5$showGrou,
474
473
  addData = _this$props5.addData,
@@ -483,7 +482,10 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
483
482
  allowClear: true
484
483
  };
485
484
 
486
- if (defaultStyle) {
485
+ var _config2 = config(),
486
+ antdStyle = _config2.antdStyle;
487
+
488
+ if ((defaultStyle || antdStyle) && defaultStyle === true) {
487
489
  return /*#__PURE__*/React.createElement("div", {
488
490
  className: cls(styles["nsc_select"], this.props.className)
489
491
  }, /*#__PURE__*/React.createElement(_Select, _extends({
@@ -511,4 +513,4 @@ _defineProperty(NSCSelect, "Option", Option);
511
513
  _defineProperty(NSCSelect, "OptGroup", OptGroup);
512
514
 
513
515
  export { NSCSelect as default };
514
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic3RhdGUiLCJuZXdQcm9wcyIsIm5ld1N0YXRlIiwiU25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGVDaGlsZHJlblByb3BzIiwicyIsImNoaWxkcmVuUHJvcHMiLCJjIiwibGFiZWxGaWVsZCIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwicmVzdWx0IiwiZm9yRWFjaCIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZmxhZyIsIm1hdGNoIiwiY2hpbGQiLCJvcHRpb25EYXRhIiwia2V5IiwiaWQiLCJkaXNhYmxlZCIsInNob3dHcm91cCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsInJlbmRlck9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib3BlbiIsInJlc2V0RGF0YSIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsInNob3dTZWFyY2giLCJvcHRpb25GaWx0ZXJQcm9wIiwicGxhY2Vob2xkZXIiLCJhbGxvd0NsZWFyIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBY3FCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsV0FBVyxFQUFFLElBRlA7QUFHTkMsTUFBQUEsYUFBYSxFQUFFLEVBSFQ7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLElBSko7QUFLTkMsTUFBQUEsV0FBVyxFQUFFO0FBTFAsS0FRVzs7QUFBQSw2REFEWCxFQUNXOztBQUVqQixRQUNFQyxJQURGLEdB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QixDQUhaO0FBSUUsVUFBQSx1QkFBdUIsRUFBRSxLQUFLQyx1QkFBTCxDQUE2QkQsSUFBN0IsQ0FBa0MsSUFBbEM7QUFKM0IsV0FLTTdGLEtBTE4sRUFNTXVGLE1BTk4sR0FRRyxLQUFLUSxjQUFMLEVBUkgsQ0FERjtBQVlEO0FBQ0Y7Ozs7RUE1V29DekcsYTs7Z0JBQWxCUyxTLFlBQ0hGLE07O2dCQURHRSxTLGNBRURELFE7O1NBRkNDLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgUGlueWluTWF0Y2ggZnJvbSBcInBpbnlpbi1tYXRjaFwiO1xyXG5jb25zdCB7IE9wdGlvbiwgT3B0R3JvdXAgfSA9IFNlbGVjdDtcclxuXHJcbmludGVyZmFjZSBJU2VsZWN0UHJvcHMgZXh0ZW5kcyBTZWxlY3RQcm9wczxhbnk+IHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGRlZmF1bHRTdHlsZT86IGJvb2xlYW47XHJcbiAgc2hvd0dyb3VwPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbnu4RcclxuICBhZGREYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOS7juWinuWKoOmineWklueahOaVsOaNrlxyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxTdHJpbmc+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5Yig6Zmk5LuO5pWw5o2u5bqT5Lit6I635Y+W5Yiw55qE5oyH5a6a5pWw5o2uXHJcbiAgdmFsdWVCcmVhaz86IHN0cmluZzsgLy/lpJrkuKp2YWx1ZeS9v+eUqOeahOWIhumalOesplxyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0UHJvcHM+IHtcclxuICBzdGF0aWMgT3B0aW9uID0gT3B0aW9uO1xyXG4gIHN0YXRpYyBPcHRHcm91cCA9IE9wdEdyb3VwO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBzZWxlY3RWYWx1ZTogbnVsbCxcclxuICAgIGFsbERhdGFTb3VyY2U6IFtdLFxyXG4gICAgY2hpbGRyZW46IG51bGwsXHJcbiAgICBhbGxDaGlsZHJlbjogbnVsbCxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHVybCxcclxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgIHZpZXduYW1lLFxyXG4gICAgICBjYWNoZWQsXHJcbiAgICAgIGNhY2hlS2V5LFxyXG4gICAgICAuLi5zdG9yZXNcclxuICAgIH0gPSBzdG9yZTtcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICBpZiAoYWRkRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVsZXRlRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHNwbGljZURhdGEgPSBbXTtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBzcGxpY2VEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHNwbGljZURhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh44CBb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCB2aWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldERhdGEoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRyZW46IGFsbENoaWxkcmVuIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgICBhbGxEYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYWxsRGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjb25zdCBzdGF0ZUNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBhbGxDaGlsZHJlbi5tYXAoKHM6IGFueSkgPT4ge1xyXG4gICAgICAgIHN0YXRlQ2hpbGRyZW5Qcm9wcy5wdXNoKHMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgY2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgY2hpbGRyZW5Qcm9wcy5wdXNoKGMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHN0YXRlQ2hpbGRyZW5Qcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KGNoaWxkcmVuUHJvcHMpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBsYWJlbEZpZWxkID0gXCJsYWJlbFwiLFxyXG4gICAgICBmaWx0ZXJPcHRpb24gPSB0cnVlLFxyXG4gICAgICBvblNlYXJjaCxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChmaWx0ZXJPcHRpb24pIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IFtdO1xyXG4gICAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgbGFiZWwgPSBpdGVtW2xhYmVsRmllbGRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGl0ZW1bbF0gOiBsYWJlbCArIFwiLVwiICsgaXRlbVtsXTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZmxhZyA9IFBpbnlpbk1hdGNoLm1hdGNoKGxhYmVsLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbENoaWxkcmVuKSkge1xyXG4gICAgICAgICAgICBhbGxDaGlsZHJlbi5tYXAoKGNoaWxkOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGxhYmVsID0gY2hpbGQ/LnByb3BzPy5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICBsZXQgZmxhZyA9IFBpbnlpbk1hdGNoLm1hdGNoKGxhYmVsLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25TZWFyY2ggJiYgb25TZWFyY2godmFsdWUpO1xyXG4gIH1cclxuICByZW5kZXJPcHRpb24ob3B0aW9uRGF0YSkge1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCA9IFwibGFiZWxcIiwgdmFsdWVGaWVsZCA9IFwidmFsdWVcIiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICBpZiAodmFsdWVGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICB2YWx1ZSA9IGl0ZW1bdmFsdWVGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
516
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic3RhdGUiLCJuZXdQcm9wcyIsIm5ld1N0YXRlIiwiU25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGVDaGlsZHJlblByb3BzIiwicyIsImNoaWxkcmVuUHJvcHMiLCJjIiwibGFiZWxGaWVsZCIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwicmVzdWx0IiwiZm9yRWFjaCIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZmxhZyIsIm1hdGNoIiwiY2hpbGQiLCJvcHRpb25EYXRhIiwia2V5IiwiaWQiLCJkaXNhYmxlZCIsInNob3dHcm91cCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsInJlbmRlck9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib3BlbiIsInJlc2V0RGF0YSIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsInNob3dTZWFyY2giLCJvcHRpb25GaWx0ZXJQcm9wIiwicGxhY2Vob2xkZXIiLCJhbGxvd0NsZWFyIiwiYW50ZFN0eWxlIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBY3FCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsV0FBVyxFQUFFLElBRlA7QUFHTkMsTUFBQUEsYUFBYSxFQUFFLEVBSFQ7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLElBSko7QUFLTkMsTUFBQUEsV0FBVyxFQUFFO0FBTFAsS0FRVzs7QUFBQSw2REFEWCxFQUNXOztBQUVqQixR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RCxRQUFMLENBQWNnQyxJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxVQUFBLFFBQVEsRUFBRSxLQUFLWCxRQUFMLENBQWNXLElBQWQsQ0FBbUIsSUFBbkIsQ0FIWjtBQUlFLFVBQUEsdUJBQXVCLEVBQUUsS0FBS0MsdUJBQUwsQ0FBNkJELElBQTdCLENBQWtDLElBQWxDO0FBSjNCLFdBS005RixLQUxOLEVBTU11RixNQU5OLEdBUUcsS0FBS1MsY0FBTCxFQVJILENBREY7QUFZRDtBQUNGOzs7O0VBN1dvQzFHLGE7O2dCQUFsQlMsUyxZQUNIRixNOztnQkFER0UsUyxjQUVERCxROztTQUZDQyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFBpbnlpbk1hdGNoIGZyb20gXCJwaW55aW4tbWF0Y2hcIjtcclxuY29uc3QgeyBPcHRpb24sIE9wdEdyb3VwIH0gPSBTZWxlY3Q7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFByb3BzIGV4dGVuZHMgU2VsZWN0UHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlQnJlYWs/OiBzdHJpbmc7IC8v5aSa5LiqdmFsdWXkvb/nlKjnmoTliIbpmpTnrKZcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2YWx1ZUZpZWxkID0gXCJ2YWx1ZVwiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzcGxpY2VEYXRhID0gW107XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbGFiZWxGaWVsZCA9IFwibGFiZWxcIixcclxuICAgICAgZmlsdGVyT3B0aW9uID0gdHJ1ZSxcclxuICAgICAgb25TZWFyY2gsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPSBpdGVtW3ZhbHVlRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZShvcGVuKSB7XHJcbiAgICBpZiAoIW9wZW4pIHtcclxuICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3RvcmUsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIG9uQ2hhbmdlLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -45,6 +45,7 @@ declare class NSCTable extends React.Component<INSCTableProps> {
45
45
  };
46
46
  store: any;
47
47
  thIconRef: React.RefObject<HTMLDivElement>;
48
+ tableSearchRef: React.RefObject<any>;
48
49
  state: {
49
50
  dataSource: any[];
50
51
  columns: any[];
@@ -55,6 +56,10 @@ declare class NSCTable extends React.Component<INSCTableProps> {
55
56
  fieldOption: any;
56
57
  searchColor: any;
57
58
  cols: any[];
59
+ sorts: any[];
60
+ filterParams: {};
61
+ tableSize: string;
62
+ sortType: string;
58
63
  };
59
64
  listeners: {
60
65
  onBeforeLoad: any;
@@ -2,6 +2,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
2
2
 
3
3
  import "antd/es/table/style/css";
4
4
  import _Table from "antd/es/table";
5
+ import "antd/es/space/style/css";
6
+ import _Space from "antd/es/space";
7
+ import "antd/es/button/style/css";
8
+ import _Button from "antd/es/button";
5
9
  import "antd/es/popover/style/css";
6
10
  import _Popover from "antd/es/popover";
7
11
  import "antd/es/tooltip/style/css";
@@ -11,8 +15,6 @@ import _Checkbox from "antd/es/checkbox";
11
15
  var _excluded = ["onResize", "width"],
12
16
  _excluded2 = ["listeners"];
13
17
 
14
- function _extends() { _extends = Object.assign || 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); }
15
-
16
18
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
19
 
18
20
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -21,6 +23,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
21
23
 
22
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
25
 
26
+ function _extends() { _extends = Object.assign || 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); }
27
+
24
28
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
29
 
26
30
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -71,7 +75,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
71
75
  * @LastEditors: rxzhu
72
76
  * @LastEditTime: 2021-03-23 10:30:42
73
77
  */
74
- import { AppstoreOutlined } from "@ant-design/icons";
78
+ import { AppstoreOutlined, CheckOutlined, SearchOutlined } from "@ant-design/icons";
75
79
  import { isEmptyObj } from "@bj-nsc/functions";
76
80
  import Store, { PageStore } from "@bj-nsc/msn";
77
81
  import { utils } from "@bj-nsc/msn/lib/utils";
@@ -83,7 +87,7 @@ import styles from "./index.less";
83
87
  var BodyRowComponent = BodyRow.BodyRowComponent,
84
88
  HTML5Backend = BodyRow.HTML5Backend;
85
89
  import withZhLocale from "../common/withZhLocale";
86
- import { NoData } from "..";
90
+ import { NoData, Input, Select } from "..";
87
91
  import { Resizable } from "react-resizable";
88
92
  import "./resize.less";
89
93
  export { DndContextType, IBodyRowProps };
@@ -119,6 +123,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
119
123
 
120
124
  _defineProperty(_assertThisInitialized(_this2), "thIconRef", /*#__PURE__*/React.createRef());
121
125
 
126
+ _defineProperty(_assertThisInitialized(_this2), "tableSearchRef", /*#__PURE__*/React.createRef());
127
+
122
128
  _defineProperty(_assertThisInitialized(_this2), "state", {
123
129
  dataSource: [],
124
130
  columns: [],
@@ -129,7 +135,11 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
129
135
  searchText: null,
130
136
  fieldOption: null,
131
137
  searchColor: null,
132
- cols: []
138
+ cols: [],
139
+ sorts: [],
140
+ filterParams: {},
141
+ tableSize: "middle",
142
+ sortType: 'sigle'
133
143
  });
134
144
 
135
145
  _defineProperty(_assertThisInitialized(_this2), "listeners", {
@@ -177,14 +187,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
177
187
  _this2.props.moveRow(params);
178
188
  } else {
179
189
  _this2.store.reload();
180
- } // request("http://demo.javasvn.com/api/admin/menus/drag", {
181
- // method: "PATCH",
182
- // data: params,
183
- // callback: function (data) {
184
- // this.store.reload();
185
- // },
186
- // });
187
-
190
+ }
188
191
  });
189
192
 
190
193
  if (props.store instanceof Store) {
@@ -335,11 +338,15 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
335
338
  value: function onChange(pagination, filters, sorter, extra) {
336
339
  var _this4 = this;
337
340
 
341
+ console.log("sorter", sorter);
338
342
  var _this$props = this.props,
339
343
  autoOnChange = _this$props.autoOnChange,
340
344
  autoSort = _this$props.autoSort,
341
345
  autoPagination = _this$props.autoPagination,
342
346
  onChange = _this$props.onChange;
347
+ console.log("autoSort", autoSort);
348
+ console.log("autoPagination", autoPagination);
349
+ var filterParams = this.state.filterParams;
343
350
 
344
351
  if (autoOnChange === false) {
345
352
  onChange && onChange(pagination, filters, sorter, extra);
@@ -369,6 +376,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
369
376
  }
370
377
  }
371
378
 
379
+ params = _objectSpread(_objectSpread({}, filterParams), params);
380
+
372
381
  _this4.store.reload({
373
382
  params: params
374
383
  });
@@ -448,16 +457,13 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
448
457
  value: function getColumns() {
449
458
  var _this5 = this;
450
459
 
460
+ var _this = this;
461
+
451
462
  var columns = this.state.columns;
452
- var _this$props2 = this.props,
453
- disableColumns = _this$props2.disableColumns,
454
- colLists = _this$props2.columns;
463
+ var colLists = this.props.columns;
455
464
  var defaultShowCols = columns.filter(function (cols) {
456
465
  return cols.initShow !== false;
457
466
  });
458
- var defaultHideCols = columns.filter(function (cols) {
459
- return cols.initShow === false;
460
- });
461
467
  var content = /*#__PURE__*/React.createElement(_Checkbox.Group, {
462
468
  onChange: this.filterColumn.bind(this),
463
469
  options: colLists.map(function (col) {
@@ -517,6 +523,76 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
517
523
  cols.push(IconAction);
518
524
  }
519
525
 
526
+ cols.map(function (item, index) {
527
+ if (!isEmptyObj(item.filterProps)) {
528
+ var obj = _objectSpread({}, item);
529
+
530
+ var _item$filterProps = item.filterProps,
531
+ type = _item$filterProps.type,
532
+ dataProps = _item$filterProps.dataProps,
533
+ searchKey = _item$filterProps.searchKey;
534
+ var Div = null;
535
+ var text = item.title;
536
+
537
+ if (type == "Input") {
538
+ Div = /*#__PURE__*/React.createElement(Input, {
539
+ ref: _this5.tableSearchRef,
540
+ size: "smail",
541
+ placeholder: "\u641C\u7D22".concat(text)
542
+ });
543
+ } else if (type == "Select") {
544
+ Div = /*#__PURE__*/React.createElement(Select, _extends({}, dataProps, {
545
+ ref: _this5.tableSearchRef,
546
+ size: "smail",
547
+ placeholder: "\u641C\u7D22".concat(text),
548
+ style: {
549
+ width: "100%"
550
+ }
551
+ }));
552
+ }
553
+
554
+ obj = _objectSpread({
555
+ filterDropdown: function filterDropdown(_ref3) {
556
+ var setSelectedKeys = _ref3.setSelectedKeys,
557
+ selectedKeys = _ref3.selectedKeys,
558
+ confirm = _ref3.confirm,
559
+ clearFilters = _ref3.clearFilters;
560
+ return /*#__PURE__*/React.createElement("div", {
561
+ className: styles["search"]
562
+ }, /*#__PURE__*/React.createElement("div", {
563
+ className: styles["space"]
564
+ }, Div), /*#__PURE__*/React.createElement(_Space, null, /*#__PURE__*/React.createElement(_Button, {
565
+ type: "primary",
566
+ onClick: function onClick() {
567
+ var _this5$tableSearchRef;
568
+
569
+ confirm();
570
+ var filterParams = _this5.state.filterParams;
571
+
572
+ var newFilterParams = _objectSpread({}, filterParams);
573
+
574
+ var key = searchKey || item.dataIndex;
575
+ newFilterParams[key] = (_this5$tableSearchRef = _this5.tableSearchRef.current) === null || _this5$tableSearchRef === void 0 ? void 0 : _this5$tableSearchRef.getValue();
576
+
577
+ _this5.setState({
578
+ filterParams: _objectSpread({}, newFilterParams)
579
+ });
580
+
581
+ _this5.store.load({
582
+ params: _objectSpread({}, newFilterParams)
583
+ });
584
+ },
585
+ size: "small",
586
+ className: styles["button"]
587
+ }, "\u67E5\u8BE2")));
588
+ },
589
+ filterIcon: function filterIcon() {
590
+ return /*#__PURE__*/React.createElement(SearchOutlined, null);
591
+ }
592
+ }, obj);
593
+ cols[index] = obj;
594
+ }
595
+ });
520
596
  return cols;
521
597
  }
522
598
  }, {
@@ -533,6 +609,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
533
609
  searchText = _this$state.searchText,
534
610
  fieldOption = _this$state.fieldOption,
535
611
  searchColor = _this$state.searchColor,
612
+ tableSize = _this$state.tableSize,
536
613
  props = utils.omit(this.props, ["store", "onChange", "columns", "resetColumn"], {
537
614
  rowKey: "id",
538
615
  clickChangeColor: false
@@ -546,10 +623,10 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
546
623
  }, props.pagination), pagination);
547
624
 
548
625
  if (props.showTotal == true) {
549
- props.pagination.showTotal = function (total, _ref3) {
550
- var _ref4 = _slicedToArray(_ref3, 2),
551
- from = _ref4[0],
552
- to = _ref4[1];
626
+ props.pagination.showTotal = function (total, _ref4) {
627
+ var _ref5 = _slicedToArray(_ref4, 2),
628
+ from = _ref5[0],
629
+ to = _ref5[1];
553
630
 
554
631
  // return "显示 " + from + " - " + to + "条,共 " + total + " 条";
555
632
  return "共 " + total + " 条";
@@ -612,16 +689,61 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
612
689
  var resizeProps = resizeColumn === true ? {
613
690
  components: this.components
614
691
  } : null;
615
- var DefaultTable = /*#__PURE__*/React.createElement(_Table, _extends({
692
+ var sizeItem = [{
693
+ title: "宽松",
694
+ key: "default"
695
+ }, {
696
+ title: "中等",
697
+ key: "middle"
698
+ }, {
699
+ title: "紧凑",
700
+ key: "small"
701
+ }];
702
+ var sortItem = [{
703
+ title: "单字段排序",
704
+ key: "sigle"
705
+ }, {
706
+ title: "多字段排序",
707
+ key: "multiple"
708
+ }];
709
+ var sortContent = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "\u5F53\u524D\u6392\u5E8F"), sortItem.map(function (item, index) {
710
+ return /*#__PURE__*/React.createElement("div", {
711
+ key: item.key,
712
+ onClick: function onClick() {
713
+ console.log("item.key", item.key);
714
+
715
+ _this6.setState({
716
+ tableSize: item.key
717
+ });
718
+ }
719
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, tableSize == item.key && /*#__PURE__*/React.createElement(CheckOutlined, null)), item.title));
720
+ }));
721
+ var sizeContent = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "\u8868\u683C\u5BC6\u5EA6"), sizeItem.map(function (item, index) {
722
+ return /*#__PURE__*/React.createElement("div", {
723
+ key: item.key,
724
+ onClick: function onClick() {
725
+ console.log("item.key", item.key);
726
+
727
+ _this6.setState({
728
+ tableSize: item.key
729
+ });
730
+ }
731
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, tableSize == item.key && /*#__PURE__*/React.createElement(CheckOutlined, null)), item.title));
732
+ }));
733
+ var DefaultTable = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Table, _extends({
616
734
  childrenColumnName: "childNodes",
617
735
  dataSource: newDataSource,
618
736
  columns: this.getColumns(),
619
- loading: loading,
620
- className: styles["nsc-table"],
737
+ loading: loading // className={styles["nsc-table"]}
738
+ ,
621
739
  locale: {
622
740
  emptyText: /*#__PURE__*/React.createElement(NoData, null)
623
- }
624
- }, resizeProps, props, dragableProps));
741
+ },
742
+ scroll: {
743
+ x: true
744
+ },
745
+ size: tableSize
746
+ }, resizeProps, props, dragableProps)));
625
747
  return dragable === true ? /*#__PURE__*/React.createElement(DndProvider, {
626
748
  backend: HTML5Backend
627
749
  }, DefaultTable) : DefaultTable;
@@ -635,13 +757,13 @@ _defineProperty(NSCTable, "defaultProps", {
635
757
  disableColumns: [],
636
758
  dragable: false,
637
759
  showTotal: true,
638
- filterColumn: true,
760
+ filterColumn: false,
639
761
  dragUrl: "",
640
762
  autoPagination: true,
641
763
  autoSort: true,
642
764
  autoOnChange: true,
643
- resizeColumn: false
765
+ resizeColumn: true
644
766
  });
645
767
 
646
768
  export default withZhLocale(NSCTable);
647
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYmxlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJBcHBzdG9yZU91dGxpbmVkIiwiaXNFbXB0eU9iaiIsIlN0b3JlIiwiUGFnZVN0b3JlIiwidXRpbHMiLCJSZWFjdCIsIkRuZFByb3ZpZGVyIiwiQm9keVJvdyIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsInRyZWVVdGlscyIsInN0eWxlcyIsIkJvZHlSb3dDb21wb25lbnQiLCJIVE1MNUJhY2tlbmQiLCJ3aXRoWmhMb2NhbGUiLCJOb0RhdGEiLCJSZXNpemFibGUiLCJSZXNpemVhYmxlVGl0bGUiLCJwcm9wcyIsIm9uUmVzaXplIiwid2lkdGgiLCJyZXN0UHJvcHMiLCJlbmFibGVVc2VyU2VsZWN0SGFjayIsIk5TQ1RhYmxlIiwiY3JlYXRlUmVmIiwiZGF0YVNvdXJjZSIsImNvbHVtbnMiLCJsb2FkaW5nIiwicGFnaW5hdGlvbiIsImFjdGl2ZUluZGV4Iiwic2VhcmNoVGV4dCIsImZpZWxkT3B0aW9uIiwic2VhcmNoQ29sb3IiLCJjb2xzIiwib25CZWZvcmVMb2FkIiwibG9hZCIsImhlYWRlciIsImNlbGwiLCJpbmRleCIsImUiLCJzaXplIiwic3RhdGUiLCJuZXh0Q29sdW1ucyIsInNldFN0YXRlIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlZCIsImRhdGEiLCJtb2RlbERhdGEiLCJwYWdpbmciLCJnZXRQYWdpbmF0aW9uIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImF1dG9Mb2FkIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudCIsInJlc2l6ZUNvbHVtbiIsInNldERhdGEiLCJwcmV2UHJvcHMiLCJwcmVTdGF0ZSIsInJlc2V0Q29sdW1uIiwibmV3Q29scyIsImNvbHNzIiwibWFwIiwiY29sIiwidGVtcCIsIm9uSGVhZGVyQ2VsbCIsImNvbHVtbiIsImhhbmRsZVJlc2l6ZSIsInB1c2giLCJmaWx0ZXJzIiwic29ydGVyIiwiZXh0cmEiLCJhdXRvT25DaGFuZ2UiLCJhdXRvU29ydCIsImF1dG9QYWdpbmF0aW9uIiwib25DaGFuZ2UiLCJoYW5kbGVQYWdpbmF0aW9uIiwiZ2V0UGFnaW5hdGlvbkJ5U3RvcmUiLCJwIiwiY3VycmVudEtleSIsInBhZ2VTaXplS2V5IiwicGFnZVNpemUiLCJvcmRlciIsImFzY3MiLCJzb3J0RmllbGQiLCJmaWVsZCIsImRlc2NzIiwib25DaGFuZ2VGbiIsImdldE1vZGVsIiwidmFsIiwiY2hlY2tlZFZhbHVlIiwiZmlsdGVyQ29sdW1ucyIsIm5ld0NvbCIsImluY2x1ZGVzIiwiZGF0YUluZGV4IiwiaW5pdFNob3ciLCJkaXNhYmxlQ29sdW1ucyIsImNvbExpc3RzIiwiZGVmYXVsdFNob3dDb2xzIiwiZmlsdGVyIiwiZGVmYXVsdEhpZGVDb2xzIiwiY29udGVudCIsImZpbHRlckNvbHVtbiIsImJpbmQiLCJsYWJlbCIsInRpdGxlIiwidmFsdWUiLCJlbGxpcHNpcyIsInJlbmRlciIsInNob3dUaXRsZSIsInRleHQiLCJJY29uQWN0aW9uIiwidGhJY29uUmVmIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImtleSIsImFsaWduIiwib21pdCIsInJvd0tleSIsImNsaWNrQ2hhbmdlQ29sb3IiLCJwb3NpdGlvbiIsInNob3dTaXplQ2hhbmdlciIsInNob3dRdWlja0p1bXBlciIsInNob3dUb3RhbCIsInRvdGFsIiwiZnJvbSIsInRvIiwib25Sb3dGbiIsIm9uUm93IiwiY3VzdG9tIiwib25DbGlja0ZuIiwib25DbGljayIsImV2ZW50Iiwicm93Q2xhc3NOYW1lIiwiY2xpY2tSb3dTdHlsZSIsIm5ld0RhdGFTb3VyY2UiLCJnZXRTZWFyY2hNZW51RGF0YXMiLCJ0cmVlRGF0YXMiLCJleHBhbmRlZFJvd0tleXMiLCJvcGVuS2V5cyIsImRyYWdhYmxlIiwiZHJhZ2FibGVQcm9wcyIsImNvbXBvbmVudHMiLCJyZXNpemVQcm9wcyIsIkRlZmF1bHRUYWJsZSIsImdldENvbHVtbnMiLCJlbXB0eVRleHQiLCJDb21wb25lbnQiLCJkcmFnVXJsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxnQkFBVCxRQUFpQyxtQkFBakM7QUFDQSxTQUFTQyxVQUFULFFBQTJCLG1CQUEzQjtBQUNBLE9BQU9DLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQTZDLGFBQTdDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFVQSxPQUFPLEtBQUtDLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxTQUFTQyxXQUFULFFBQTRCLFdBQTVCO0FBQ0EsT0FBT0MsT0FBUCxJQUFrQkMsY0FBbEIsRUFBa0NDLGFBQWxDLFFBQXVELG1CQUF2RDtBQUNBLE9BQU9DLFNBQVAsTUFBc0IsY0FBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsSUFBUUMsZ0JBQVIsR0FBMkNMLE9BQTNDLENBQVFLLGdCQUFSO0FBQUEsSUFBMEJDLFlBQTFCLEdBQTJDTixPQUEzQyxDQUEwQk0sWUFBMUI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLHdCQUF6QjtBQUNBLFNBQVNDLE1BQVQsUUFBdUIsSUFBdkI7QUFDQSxTQUFTQyxTQUFULFFBQTBCLGlCQUExQjtBQUNBLE9BQU8sZUFBUDtBQWlD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QU5WLFNBT01ILFdBUE4sRUFRTXpKLEtBUk4sRUFTTXVKLGFBVE4sRUFERjtBQWNBLGFBQU9ELFFBQVEsS0FBSyxJQUFiLGdCQUNMLG9CQUFDLFdBQUQ7QUFBYSxRQUFBLE9BQU8sRUFBRTNKO0FBQXRCLFNBQXFDK0osWUFBckMsQ0FESyxHQUdMQSxZQUhGO0FBS0Q7Ozs7RUFsZG9CdkssS0FBSyxDQUFDMEssUzs7Z0JBQXZCeEosUSxrQkFDa0I7QUFDcEJxRyxFQUFBQSxjQUFjLEVBQUUsRUFESTtBQUVwQjRDLEVBQUFBLFFBQVEsRUFBRSxLQUZVO0FBR3BCakIsRUFBQUEsU0FBUyxFQUFFLElBSFM7QUFJcEJyQixFQUFBQSxZQUFZLEVBQUUsSUFKTTtBQUtwQjhDLEVBQUFBLE9BQU8sRUFBRSxFQUxXO0FBTXBCMUUsRUFBQUEsY0FBYyxFQUFFLElBTkk7QUFPcEJELEVBQUFBLFFBQVEsRUFBRSxJQVBVO0FBUXBCRCxFQUFBQSxZQUFZLEVBQUUsSUFSTTtBQVNwQmpCLEVBQUFBLFlBQVksRUFBRTtBQVRNLEM7O0FBb2R4QixlQUFlckUsWUFBWSxDQUFDUyxRQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIzIDA4OjQ2OjIwXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wMy0yMyAxMDozMDo0MlxyXG4gKi9cclxuaW1wb3J0IHsgQXBwc3RvcmVPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgQ2hlY2tib3gsXHJcbiAgQ2hlY2tib3hPcHRpb25UeXBlLFxyXG4gIFBvcG92ZXIsXHJcbiAgVGFibGUsXHJcbiAgVGFibGVQcm9wcyxcclxuICBUb29sdGlwLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG5kUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtZG5kXCI7XHJcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmltcG9ydCB0cmVlVXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuY29uc3QgeyBCb2R5Um93Q29tcG9uZW50LCBIVE1MNUJhY2tlbmQgfSA9IEJvZHlSb3c7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IHsgTm9EYXRhIH0gZnJvbSBcIi4uXCI7XHJcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcclxuaW1wb3J0IFwiLi9yZXNpemUubGVzc1wiO1xyXG5cclxuaW50ZXJmYWNlIElEcmFnUGFyYW1zIHtcclxuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGlkczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBwYXJlbnRJZDogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcbi8vIGludGVyZmFjZSBTdG9yZVByb3BzIHt9XHJcblxyXG5leHBvcnQgdHlwZSBTdG9yZVR5cGUgPSBcIlBhZ2VTdG9yZVwiIHwgXCJUcmVlU3RvcmVcIiB8IFwiQmFzZVN0b3JlXCI7XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQYWdpbmF0aW9uIGV4dGVuZHMgVGFibGVQYWdpbmF0aW9uQ29uZmlnIHtcclxuICB0b3RhbEtleT86IHN0cmluZztcclxuICBwYWdlU2l6ZUtleT86IHN0cmluZztcclxuICBjdXJyZW50S2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlUHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47IC8vIOaYr+WQpuaYvuekuuaAu+adoeaVsOS/oeaBr++8jOm7mOiupHRydWVcclxuICBkaXNhYmxlQ29sdW1ucz86IHN0cmluZ1tdOyAvLyDkuI3lj6/pmpDol4/lv4XpobvmmL7npLrnmoTliJdcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8vIOaYr+WQpuWPr+aLluWKqCwg6buY6K6kZmFsc2VcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvLyDmmK/lkKbmlK/mjIHov4fmu6TmmL7npLrooajmoLzliJcsIOm7mOiupHRydWVcclxuICBtb3ZlUm93PzogKHBhcmFtczogSURyYWdQYXJhbXMpID0+IHZvaWQ7IC8vIOaLluaLveWujOaIkOWQjueahOWbnuiwg1xyXG4gIGRyYWdVcmw/OiBzdHJpbmc7IC8vIOS/neWtmOaLluaLveaOkuW6j+eahOaOpeWPo1xyXG4gIHBhZ2luYXRpb24/OiBmYWxzZSB8IE5TQ1RhYmxlUGFnaW5hdGlvbjtcclxuICBhdXRvUGFnaW5hdGlvbj86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqOWkhOeQhuWIhumhtVxyXG4gIGF1dG9Tb3J0PzogYm9vbGVhbjsgLy/nu4Tku7bmmK/lkKboh6rliqjlpITnkIbmjpLluo9cclxuICBhdXRvT25DaGFuZ2U/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqhvbkNoYW5nZSwgZmFsc2XliJnkuI3lgZrku7vkvZXlpITnkIblhajpg6jkuqTnu5nosIPnlKjmlrlcclxuICByZXNpemVDb2x1bW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9O1xyXG5cclxuY29uc3QgUmVzaXplYWJsZVRpdGxlID0gKHByb3BzOiBhbnkpID0+IHtcclxuICBjb25zdCB7IG9uUmVzaXplLCB3aWR0aCwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPFJlc2l6YWJsZVxyXG4gICAgICB3aWR0aD17d2lkdGggfHwgMTUwfVxyXG4gICAgICBoZWlnaHQ9ezB9XHJcbiAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cclxuICAgICAgZHJhZ2dhYmxlT3B0cz17eyBlbmFibGVVc2VyU2VsZWN0SGFjazogZmFsc2UgfX1cclxuICAgID5cclxuICAgICAgPHRoIHsuLi5yZXN0UHJvcHN9IC8+XHJcbiAgICA8L1Jlc2l6YWJsZT5cclxuICApO1xyXG59O1xyXG5jbGFzcyBOU0NUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTlNDVGFibGVQcm9wcz4ge1xyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBkaXNhYmxlQ29sdW1uczogW10sXHJcbiAgICBkcmFnYWJsZTogZmFsc2UsXHJcbiAgICBzaG93VG90YWw6IHRydWUsXHJcbiAgICBmaWx0ZXJDb2x1bW46IHRydWUsXHJcbiAgICBkcmFnVXJsOiBcIlwiLFxyXG4gICAgYXV0b1BhZ2luYXRpb246IHRydWUsXHJcbiAgICBhdXRvU29ydDogdHJ1ZSxcclxuICAgIGF1dG9PbkNoYW5nZTogdHJ1ZSxcclxuICAgIHJlc2l6ZUNvbHVtbjogZmFsc2UsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuXHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICAgIGNvbHM6IFtdLFxyXG4gIH07XHJcblxyXG4gIGxpc3RlbmVycyA9IHtcclxuICAgIG9uQmVmb3JlTG9hZDogbnVsbCxcclxuICAgIGxvYWQ6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgY29tcG9uZW50cyA9IHtcclxuICAgIGhlYWRlcjoge1xyXG4gICAgICBjZWxsOiBSZXNpemVhYmxlVGl0bGUsXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBpZiAocHJvcHMuc3RvcmUgaW5zdGFuY2VvZiBTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPVxyXG4gICAgICAgIHByb3BzLnN0b3JlIHx8IHt9O1xyXG4gICAgICBjb25zdCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiAoc3RvcmUsIG9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uQmVmb3JlTG9hZCwgdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBwYWdpbmcgPSAhKHRoaXMucHJvcHMucGFnaW5hdGlvbiA9PT0gZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHBhZ2luZyAmJiAhdGhpcy5wcm9wcy5kYXRhU291cmNlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBzdG9yZS5nZXRQYWdpbmF0aW9uKCksXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhLCBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMuZGF0YUNoYW5nZWQsIHRoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgICBwYWdpbmcsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmxvYWQsIHRoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25FcnJvckxvYWQsIHRoaXMsIFtlcnIsIHJlc3BvbnNlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YTogcmVzdFN0b3JlLmRhdGFcclxuICAgICAgICAgID8gcmVzdFN0b3JlLmRhdGFcclxuICAgICAgICAgIDogcHJvcHMuZGF0YVNvdXJjZVxyXG4gICAgICAgICAgPyBwcm9wcy5kYXRhU291cmNlXHJcbiAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgLi4ucmVzdFN0b3JlLFxyXG4gICAgICAgIGF1dG9Mb2FkOiByZXN0U3RvcmUuYXV0b0xvYWQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFBhZ2VTdG9yZShcclxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBzdG9yZVByb3BzLCB7XHJcbiAgICAgICAgICBwYWdpbmF0aW9uOiB7Y3VycmVudDoxLC4uLnRoaXMucHJvcHMucGFnaW5hdGlvbn0sXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2l6ZSA9XHJcbiAgICAoaW5kZXg6IGFueSkgPT5cclxuICAgIChlOiBhbnksIHsgc2l6ZSB9OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjb2xzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCBuZXh0Q29sdW1ucyA9IFsuLi5jb2xzXTtcclxuICAgICAgbmV4dENvbHVtbnNbaW5kZXhdID0ge1xyXG4gICAgICAgIC4uLm5leHRDb2x1bW5zW2luZGV4XSxcclxuICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY29sczogbmV4dENvbHVtbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xzOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgICAgLy8gdGhpcy5yZXNldENvbHVtbigpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnByb3BzLnN0b3JlO1xyXG4gICAgaWYgKHN0b3JlICYmIHN0b3JlLmRhdGEpIHtcclxuICAgICAgdGhpcy5zdG9yZS5zZXREYXRhKHN0b3JlLmRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJlU3RhdGUpIHtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgaWYgKHRoaXMucHJvcHMuY29sdW1ucyAhPT0gcHJldlByb3BzLmNvbHVtbnMpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgY29sdW1uczogdGhpcy5wcm9wcy5jb2x1bW5zIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAocHJlU3RhdGUuY29scyAhPT0gdGhpcy5zdGF0ZS5jb2xzKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldENvbHVtbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldENvbHVtbigpIHtcclxuICAgIGNvbnN0IHsgY29scyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IG5ld0NvbHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IGNvbHNzID0gY29scyB8fCBbXTtcclxuICAgIGNvbHNzLm1hcCgoY29sOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7XHJcbiAgICAgICAgLi4uY29sLFxyXG4gICAgICAgIG9uSGVhZGVyQ2VsbDogKGNvbHVtbjogeyB3aWR0aDogYW55IH0pID0+ICh7XHJcbiAgICAgICAgICB3aWR0aDogY29sdW1uLndpZHRoLFxyXG4gICAgICAgICAgb25SZXNpemU6IHRoaXMuaGFuZGxlUmVzaXplKGluZGV4KSxcclxuICAgICAgICB9KSxcclxuICAgICAgfTtcclxuICAgICAgbmV3Q29scy5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgY29sdW1uczogbmV3Q29scyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5riF6Zmk6YCJ5Lit6aKc6ImyXHJcbiAgICovXHJcbiAgY2xlYXJTZWxlY3RDb2xvcigpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3RpdmVJbmRleDogLTEgfSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGdldFBhZ2luYXRpb25CeVN0b3JlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0UGFnaW5hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UocGFnaW5hdGlvbiwgZmlsdGVycywgc29ydGVyLCBleHRyYSkge1xyXG4gICAgY29uc3QgeyBhdXRvT25DaGFuZ2UsIGF1dG9Tb3J0LCBhdXRvUGFnaW5hdGlvbiwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoYXV0b09uQ2hhbmdlID09PSBmYWxzZSkge1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhbmRsZVBhZ2luYXRpb24gPSAoKSA9PiB7XHJcbiAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyB7XHJcbiAgICAgICAgc2l6ZT86IHN0cmluZztcclxuICAgICAgICBwYWdlU2l6ZT86IHN0cmluZztcclxuICAgICAgICBhc2NzPzogc3RyaW5nO1xyXG4gICAgICAgIGRlc2NzPzogc3RyaW5nO1xyXG4gICAgICAgIFtwcm9wTmFtZTogc3RyaW5nXTogc3RyaW5nO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgcGFnaW5nID0gdGhpcy5nZXRQYWdpbmF0aW9uQnlTdG9yZSgpIHx8IHt9O1xyXG5cclxuICAgICAgaWYgKCFpc0VtcHR5T2JqKHBhZ2luYXRpb24pKSB7XHJcbiAgICAgICAgY29uc3QgcCA9IHtcclxuICAgICAgICAgIFtwYWdpbmcuY3VycmVudEtleSB8fCBcImN1cnJlbnRcIl06IHBhZ2luYXRpb24uY3VycmVudCxcclxuICAgICAgICAgIFtwYWdpbmcucGFnZVNpemVLZXkgfHwgXCJzaXplXCJdOiBwYWdpbmF0aW9uLnBhZ2VTaXplLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIHApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXV0b1NvcnQgPT09IHRydWUgJiYgIWlzRW1wdHlPYmooc29ydGVyKSkge1xyXG4gICAgICAgIGlmIChzb3J0ZXIub3JkZXIgPT0gXCJhc2NlbmRcIikge1xyXG4gICAgICAgICAgcGFyYW1zLmFzY3MgPVxyXG4gICAgICAgICAgICBzb3J0ZXIuY29sdW1uLnNvcnRGaWVsZCB8fCBzb3J0ZXIuY29sdW1uLmZpZWxkIHx8IHNvcnRlci5maWVsZDtcclxuICAgICAgICAgIHBhcmFtcy5kZXNjcyA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzb3J0ZXIub3JkZXIgPT0gXCJkZXNjZW5kXCIpIHtcclxuICAgICAgICAgIHBhcmFtcy5kZXNjcyA9XHJcbiAgICAgICAgICAgIHNvcnRlci5jb2x1bW4uc29ydEZpZWxkIHx8IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmZpZWxkO1xyXG4gICAgICAgICAgcGFyYW1zLmFzY3MgPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlLnJlbG9hZCh7IHBhcmFtcyB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb25DaGFuZ2VGbiA9IHRoaXMucHJvcHMub25DaGFuZ2U7XHJcbiAgICAvLyDnlKjmiLfkvKDkuoZvbkNoYW5nZeS/neeVmeeUqOaIt+iHquS4u+WkhOeQhuihqOagvOWPmOWMlueahOadg+WKm1xyXG4gICAgaWYgKG9uQ2hhbmdlRm4pIHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGFuZ2VGbiwgdGhpcywgW3BhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmFdKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByb3BzLmF1dG9QYWdpbmF0aW9uKSB7XHJcbiAgICAgIGhhbmRsZVBhZ2luYXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFN0b3JlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmlbDmja7mqKHlnovlr7nosaFcclxuICAgKi9cclxuICBnZXRNb2RlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldE1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDoj5zljZXmkJzntKLov4fmu6TmmL7npLpcclxuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsXHJcbiAgICovXHJcbiAgaGFuZGxlU2VhcmNoKHZhbCwgZmllbGRPcHRpb24sIHNlYXJjaENvbG9yKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VhcmNoVGV4dDogdmFsLFxyXG4gICAgICBmaWVsZE9wdGlvbjogZmllbGRPcHRpb24sXHJcbiAgICAgIHNlYXJjaENvbG9yOiBzZWFyY2hDb2xvcixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5qih5Z2X5YiX6KGo56e75Yqo5o6S5bqPXHJcbiAgICovXHJcbiAgbW92ZVJvdyA9IChkcmFnSW5kZXgsIGhvdmVySW5kZXgsIGRyYWcsIHRhcmdldCkgPT4ge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgbGV0IGRyYWdOb2RlID0gZHJhZy5yZWNvcmQ7XHJcbiAgICBsZXQgdGFyZ2V0Tm9kZSA9IHRhcmdldC5yZWNvcmQ7XHJcbiAgICBkcmFnTm9kZS5tb3ZlQXJyYXkoZHJhZ05vZGUsIHRhcmdldE5vZGUpO1xyXG4gICAgbGV0IGlkcyA9IGRyYWdOb2RlLnBhcmVudE5vZGUuZ2V0Q2hpbGROb2RlSWRzKCk7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBpZDogZHJhZ05vZGUuaWQsXHJcbiAgICAgIHBhcmVudElkOiBkcmFnTm9kZS5hdHRyaWJ1dGUucGFyZW50SWQsXHJcbiAgICAgIGlkczogaWRzLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5wcm9wcy5tb3ZlUm93KSB7XHJcbiAgICAgIHRoaXMucHJvcHMubW92ZVJvdyhwYXJhbXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZS5yZWxvYWQoKTtcclxuICAgIH1cclxuICAgIC8vIHJlcXVlc3QoXCJodHRwOi8vZGVtby5qYXZhc3ZuLmNvbS9hcGkvYWRtaW4vbWVudXMvZHJhZ1wiLCB7XHJcbiAgICAvLyAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgLy8gICBkYXRhOiBwYXJhbXMsXHJcbiAgICAvLyAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoZGF0YSkge1xyXG4gICAgLy8gICAgIHRoaXMuc3RvcmUucmVsb2FkKCk7XHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyB9KTtcclxuICB9O1xyXG5cclxuICBmaWx0ZXJDb2x1bW4oY2hlY2tlZFZhbHVlKSB7XHJcbiAgICBjb25zdCBmaWx0ZXJDb2x1bW5zID0gdGhpcy5wcm9wcy5jb2x1bW5zLm1hcCgoY29sOiBDb2x1bW5UeXBlPHt9PikgPT4ge1xyXG4gICAgICBjb25zdCBuZXdDb2wgPSB7IC4uLmNvbCB9IGFzIENvbHVtblR5cGU8e30+ICYgeyBpbml0U2hvdzogYm9vbGVhbiB9O1xyXG4gICAgICBpZiAoY2hlY2tlZFZhbHVlLmluY2x1ZGVzKGNvbC5kYXRhSW5kZXgpKSB7XHJcbiAgICAgICAgbmV3Q29sLmluaXRTaG93ID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdDb2wuaW5pdFNob3cgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV3Q29sO1xyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLnNldFN0YXRlKHsgY29sdW1uczogZmlsdGVyQ29sdW1ucyB9KTtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY29sczogZmlsdGVyQ29sdW1ucyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbHVtbnMoKSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGRpc2FibGVDb2x1bW5zLCBjb2x1bW5zOiBjb2xMaXN0cyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGRlZmF1bHRTaG93Q29scyA9IGNvbHVtbnMuZmlsdGVyKChjb2xzKSA9PiBjb2xzLmluaXRTaG93ICE9PSBmYWxzZSk7XHJcbiAgICBjb25zdCBkZWZhdWx0SGlkZUNvbHMgPSBjb2x1bW5zLmZpbHRlcigoY29scykgPT4gY29scy5pbml0U2hvdyA9PT0gZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnQgPSAoXHJcbiAgICAgIDxDaGVja2JveC5Hcm91cFxyXG4gICAgICAgIG9uQ2hhbmdlPXt0aGlzLmZpbHRlckNvbHVtbi5iaW5kKHRoaXMpfVxyXG4gICAgICAgIG9wdGlvbnM9e2NvbExpc3RzLm1hcChcclxuICAgICAgICAgIChjb2w6IENvbHVtblR5cGU8e30+KSA9PlxyXG4gICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiBjb2wudGl0bGUsXHJcbiAgICAgICAgICAgICAgdmFsdWU6IGNvbC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICAgIH0gYXMgQ2hlY2tib3hPcHRpb25UeXBlKVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0U2hvd0NvbHMubWFwKChjb2wpID0+IGNvbC5kYXRhSW5kZXgpfVxyXG4gICAgICA+PC9DaGVja2JveC5Hcm91cD5cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgY29scyA9IGRlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICBpZiAoY29sLmVsbGlwc2lzICYmICFjb2wucmVuZGVyKSB7XHJcbiAgICAgICAgY29sLmVsbGlwc2lzID0ge1xyXG4gICAgICAgICAgc2hvd1RpdGxlOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbC5yZW5kZXIgPSAodGV4dCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFRvb2x0aXAgcGxhY2VtZW50PVwidG9wTGVmdFwiIHRpdGxlPXt0ZXh0fT5cclxuICAgICAgICAgICAgICB7dGV4dH1cclxuICAgICAgICAgICAgPC9Ub29sdGlwPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBjb2w7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBJY29uQWN0aW9uOiBDb2x1bW5UeXBlPHt9PiA9IHtcclxuICAgICAgdGl0bGU6IChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widGgtaWNvblwiXX0gcmVmPXt0aGlzLnRoSWNvblJlZn0+XHJcbiAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICB0aXRsZT1cIumAieaLqeaYvuekuueahOWIl1wiXHJcbiAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcclxuICAgICAgICAgICAgdHJpZ2dlcj1cImNsaWNrXCJcclxuICAgICAgICAgICAgb3ZlcmxheVN0eWxlPXt7IG1pbldpZHRoOiA0MTAsIG1heFdpZHRoOiA0NTAgfX1cclxuICAgICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9eygpID0+IHRoaXMudGhJY29uUmVmLmN1cnJlbnR9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxBcHBzdG9yZU91dGxpbmVkIHNpemU9ezI0fSBjbGFzc05hbWU9e3N0eWxlc1tcImFwcC1zdG9yZS1pY29uXCJdfSAvPlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApLFxyXG4gICAgICBkYXRhSW5kZXg6IFwiaWNvbi1tZW51XCIsXHJcbiAgICAgIGtleTogXCJpY29uLW1lbnVcIixcclxuICAgICAgd2lkdGg6IDUwLFxyXG4gICAgICBhbGlnbjogXCJjZW50ZXJcIixcclxuICAgICAgLy8gZml4ZWQ6IFwicmlnaHRcIixcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5wcm9wcy5maWx0ZXJDb2x1bW4pIHtcclxuICAgICAgY29scy5wdXNoKEljb25BY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xzO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcyxcclxuICAgICAge1xyXG4gICAgICAgIGxvYWRpbmcsXHJcbiAgICAgICAgZGF0YVNvdXJjZSxcclxuICAgICAgICBwYWdpbmF0aW9uID0ge30sXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvcixcclxuICAgICAgfSA9IHRoaXMuc3RhdGUsXHJcbiAgICAgIHByb3BzID0gdXRpbHMub21pdChcclxuICAgICAgICB0aGlzLnByb3BzLFxyXG4gICAgICAgIFtcInN0b3JlXCIsIFwib25DaGFuZ2VcIiwgXCJjb2x1bW5zXCIsIFwicmVzZXRDb2x1bW5cIl0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93S2V5OiBcImlkXCIsXHJcbiAgICAgICAgICBjbGlja0NoYW5nZUNvbG9yOiBmYWxzZSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgaWYgKHByb3BzLnBhZ2luYXRpb24gIT09IGZhbHNlKSB7XHJcbiAgICAgIHByb3BzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgcG9zaXRpb246IFtcImJvdHRvbVJpZ2h0XCJdLFxyXG4gICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcclxuICAgICAgICBzaG93UXVpY2tKdW1wZXI6IHRydWUsXHJcbiAgICAgICAgLi4ucHJvcHMucGFnaW5hdGlvbixcclxuICAgICAgICAuLi5wYWdpbmF0aW9uLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAocHJvcHMuc2hvd1RvdGFsID09IHRydWUpIHtcclxuICAgICAgICBwcm9wcy5wYWdpbmF0aW9uLnNob3dUb3RhbCA9IGZ1bmN0aW9uICh0b3RhbCwgW2Zyb20sIHRvXSkge1xyXG4gICAgICAgICAgLy8gcmV0dXJuIFwi5pi+56S6IFwiICsgZnJvbSArIFwiIC0gXCIgKyB0byArIFwi5p2h77yM5YWxIFwiICsgdG90YWwgKyBcIiDmnaFcIjtcclxuICAgICAgICAgIHJldHVybiBcIuWFsSBcIiArIHRvdGFsICsgXCIg5p2hXCI7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3BzLm9uQ2hhbmdlID0gZnVuY3Rpb24gKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpIHtcclxuICAgICAgX3RoaXMub25DaGFuZ2UocGFnaW5hdGlvbiwgZmlsdGVycywgc29ydGVyLCBleHRyYSk7XHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3BzLmNsaWNrQ2hhbmdlQ29sb3IpIHtcclxuICAgICAgY29uc3Qgb25Sb3dGbiA9IHByb3BzLm9uUm93O1xyXG4gICAgICBwcm9wcy5vblJvdyA9IGZ1bmN0aW9uIChyZWNvcmQsIGluZGV4KSB7XHJcbiAgICAgICAgdmFyIGN1c3RvbSA9IG9uUm93Rm4gPyBvblJvd0ZuKHJlY29yZCwgaW5kZXgpIDoge307XHJcbiAgICAgICAgY29uc3Qgb25DbGlja0ZuID0gY3VzdG9tLm9uQ2xpY2s7XHJcbiAgICAgICAgY3VzdG9tLm9uQ2xpY2sgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgYWN0aXZlSW5kZXg6IGluZGV4LCAvL+iOt+WPlueCueWHu+ihjOeahOe0ouW8lVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB1dGlscy5jYWxsYmFjayhvbkNsaWNrRm4sIF90aGlzLCBbZXZlbnRdKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBjdXN0b207XHJcbiAgICAgIH07XHJcbiAgICAgIHByb3BzLnJvd0NsYXNzTmFtZSA9IGZ1bmN0aW9uIChyZWNvcmQsIGluZGV4KSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBfdGhpcy5zdGF0ZS5hY3RpdmVJbmRleFxyXG4gICAgICAgICAgPyBgJHtzdHlsZXMuY2xpY2tSb3dTdHlsZX1gXHJcbiAgICAgICAgICA6IFwiXCI7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgbmV3RGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRyZWVVdGlscy5nZXRTZWFyY2hNZW51RGF0YXMoXHJcbiAgICAgICAgdGhpcyxcclxuICAgICAgICBzZWFyY2hUZXh0LFxyXG4gICAgICAgIGZpZWxkT3B0aW9uLFxyXG4gICAgICAgIHNlYXJjaENvbG9yXHJcbiAgICAgICk7XHJcbiAgICAgIG5ld0RhdGFTb3VyY2UgPSBkYXRhLnRyZWVEYXRhcztcclxuICAgICAgcHJvcHMuZXhwYW5kZWRSb3dLZXlzID0gZGF0YS5vcGVuS2V5cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld0RhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xyXG4gICAgfVxyXG4gICAgcHJvcHMuc3RvcmUgPSBwcm9wcy5zdG9yZSB8fCB7fTtcclxuICAgIHByb3BzLnN0b3JlLmF1dG9Mb2FkID0gcHJvcHMuc3RvcmUuYXV0b0xvYWQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgY29uc3QgeyBkcmFnYWJsZSB9ID0gX3RoaXMucHJvcHM7XHJcbiAgICBjb25zdCBkcmFnYWJsZVByb3BzID1cclxuICAgICAgZHJhZ2FibGUgPT09IHRydWVcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgY29tcG9uZW50czogQm9keVJvd0NvbXBvbmVudCxcclxuICAgICAgICAgICAgb25Sb3c6IChyZWNvcmQsIGluZGV4KSA9PiAoe1xyXG4gICAgICAgICAgICAgIGluZGV4LFxyXG4gICAgICAgICAgICAgIHJlY29yZCxcclxuICAgICAgICAgICAgICBtb3ZlUm93OiB0aGlzLm1vdmVSb3csXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge307XHJcbiAgICBsZXQgeyByZXNpemVDb2x1bW4gfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgY29uc3QgcmVzaXplUHJvcHMgPVxyXG4gICAgICByZXNpemVDb2x1bW4gPT09IHRydWUgPyB7IGNvbXBvbmVudHM6IHRoaXMuY29tcG9uZW50cyB9IDogbnVsbDtcclxuXHJcbiAgICBjb25zdCBEZWZhdWx0VGFibGUgPSAoXHJcbiAgICAgIDxUYWJsZVxyXG4gICAgICAgIGNoaWxkcmVuQ29sdW1uTmFtZT1cImNoaWxkTm9kZXNcIlxyXG4gICAgICAgIGRhdGFTb3VyY2U9e25ld0RhdGFTb3VyY2V9XHJcbiAgICAgICAgY29sdW1ucz17dGhpcy5nZXRDb2x1bW5zKCl9XHJcbiAgICAgICAgbG9hZGluZz17bG9hZGluZ31cclxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10YWJsZVwiXX1cclxuICAgICAgICBsb2NhbGU9e3sgZW1wdHlUZXh0OiA8Tm9EYXRhIC8+IH19XHJcbiAgICAgICAgey4uLnJlc2l6ZVByb3BzfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICB7Li4uZHJhZ2FibGVQcm9wc31cclxuICAgICAgLz5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGRyYWdhYmxlID09PSB0cnVlID8gKFxyXG4gICAgICA8RG5kUHJvdmlkZXIgYmFja2VuZD17SFRNTDVCYWNrZW5kfT57RGVmYXVsdFRhYmxlfTwvRG5kUHJvdmlkZXI+XHJcbiAgICApIDogKFxyXG4gICAgICBEZWZhdWx0VGFibGVcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB3aXRoWmhMb2NhbGUoTlNDVGFibGUpO1xyXG4iXX0=
769
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYmxlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJBcHBzdG9yZU91dGxpbmVkIiwiQ2hlY2tPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiaXNFbXB0eU9iaiIsIlN0b3JlIiwiUGFnZVN0b3JlIiwidXRpbHMiLCJSZWFjdCIsIkRuZFByb3ZpZGVyIiwiQm9keVJvdyIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsInRyZWVVdGlscyIsInN0eWxlcyIsIkJvZHlSb3dDb21wb25lbnQiLCJIVE1MNUJhY2tlbmQiLCJ3aXRoWmhMb2NhbGUiLCJOb0RhdGEiLCJJbnB1dCIsIlNlbGVjdCIsIlJlc2l6YWJsZSIsIlJlc2l6ZWFibGVUaXRsZSIsInByb3BzIiwib25SZXNpemUiLCJ3aWR0aCIsInJlc3RQcm9wcyIsImVuYWJsZVVzZXJTZWxlY3RIYWNrIiwiTlNDVGFibGUiLCJjcmVhdGVSZWYiLCJkYXRhU291cmNlIiwiY29sdW1ucyIsImxvYWRpbmciLCJwYWdpbmF0aW9uIiwiYWN0aXZlSW5kZXgiLCJzZWFyY2hUZXh0IiwiZmllbGRPcHRpb24iLCJzZWFyY2hDb2xvciIsImNvbHMiLCJzb3J0cyIsImZpbHRlclBhcmFtcyIsInRhYmxlU2l6ZSIsInNvcnRUeXBlIiwib25CZWZvcmVMb2FkIiwibG9hZCIsImhlYWRlciIsImNlbGwiLCJpbmRleCIsImUiLCJzaXplIiwic3RhdGUiLCJuZXh0Q29sdW1ucyIsInNldFN0YXRlIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlZCIsImRhdGEiLCJtb2RlbERhdGEiLCJwYWdpbmciLCJnZXRQYWdpbmF0aW9uIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImF1dG9Mb2FkIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudCIsInJlc2l6ZUNvbHVtbiIsInNldERhdGEiLCJwcmV2UHJvcHMiLCJwcmVTdGF0ZSIsInJlc2V0Q29sdW1uIiwibmV3Q29scyIsImNvbHNzIiwibWFwIiwiY29sIiwidGVtcCIsIm9uSGVhZGVyQ2VsbCIsImNvbHVtbiIsImhhbmRsZVJlc2l6ZSIsInB1c2giLCJmaWx0ZXJzIiwic29ydGVyIiwiZXh0cmEiLCJjb25zb2xlIiwibG9nIiwiYXV0b09uQ2hhbmdlIiwiYXV0b1NvcnQiLCJhdXRvUGFnaW5hdGlvbiIsIm9uQ2hhbmdlIiwiaGFuZGxlUGFnaW5hdGlvbiIsImdldFBhZ2luYXRpb25CeVN0b3JlIiwicCIsImN1cnJlbnRLZXkiLCJwYWdlU2l6ZUtleSIsInBhZ2VTaXplIiwib3JkZXIiLCJhc2NzIiwic29ydEZpZWxkIiwiZmllbGQiLCJkZXNjcyIsIm9uQ2hhbmdlRm4iLCJnZXRNb2RlbCIsInZhbCIsImNoZWNrZWRWYWx1ZSIsImZpbHRlckNvbHVtbnMiLCJuZXdDb2wiLCJpbmNsdWRlcyIsImRhdGFJbmRleCIsImluaXRTaG93IiwiY29sTGlzdHMiLCJkZWZhdWx0U2hvd0NvbHMiLCJmaWx0ZXIiLCJjb250ZW50IiwiZmlsdGVyQ29sdW1uIiwiYmluZCIsImxhYmVsIiwidGl0bGUiLCJ2YWx1ZSIsImVsbGlwc2lzIiwicmVuZGVyIiwic2hvd1RpdGxlIiwidGV4dCIsIkljb25BY3Rpb24iLCJ0aEljb25SZWYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwia2V5IiwiYWxpZ24iLCJpdGVtIiwiZmlsdGVyUHJvcHMiLCJvYmoiLCJ0eXBlIiwiZGF0YVByb3BzIiwic2VhcmNoS2V5IiwiRGl2IiwidGFibGVTZWFyY2hSZWYiLCJmaWx0ZXJEcm9wZG93biIsInNldFNlbGVjdGVkS2V5cyIsInNlbGVjdGVkS2V5cyIsImNvbmZpcm0iLCJjbGVhckZpbHRlcnMiLCJuZXdGaWx0ZXJQYXJhbXMiLCJnZXRWYWx1ZSIsImZpbHRlckljb24iLCJvbWl0Iiwicm93S2V5IiwiY2xpY2tDaGFuZ2VDb2xvciIsInBvc2l0aW9uIiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1F1aWNrSnVtcGVyIiwic2hvd1RvdGFsIiwidG90YWwiLCJmcm9tIiwidG8iLCJvblJvd0ZuIiwib25Sb3ciLCJjdXN0b20iLCJvbkNsaWNrRm4iLCJvbkNsaWNrIiwiZXZlbnQiLCJyb3dDbGFzc05hbWUiLCJjbGlja1Jvd1N0eWxlIiwibmV3RGF0YVNvdXJjZSIsImdldFNlYXJjaE1lbnVEYXRhcyIsInRyZWVEYXRhcyIsImV4cGFuZGVkUm93S2V5cyIsIm9wZW5LZXlzIiwiZHJhZ2FibGUiLCJkcmFnYWJsZVByb3BzIiwiY29tcG9uZW50cyIsInJlc2l6ZVByb3BzIiwic2l6ZUl0ZW0iLCJzb3J0SXRlbSIsInNvcnRDb250ZW50Iiwic2l6ZUNvbnRlbnQiLCJEZWZhdWx0VGFibGUiLCJnZXRDb2x1bW5zIiwiZW1wdHlUZXh0IiwieCIsIkNvbXBvbmVudCIsImRpc2FibGVDb2x1bW5zIiwiZHJhZ1VybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQ0VBLGdCQURGLEVBRUVDLGFBRkYsRUFJRUMsY0FKRixRQU1PLG1CQU5QO0FBT0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxTQUFoQixRQUE2QyxhQUE3QztBQUNBLFNBQVNDLEtBQVQsUUFBc0Is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QUEsT0FBTyxFQUFFLEtBQUtjLFVBQUwsRUFIWDtBQUlFLFFBQUEsT0FBTyxFQUFFMUssT0FKWCxDQUtFO0FBTEY7QUFNRSxRQUFBLE1BQU0sRUFBRTtBQUFFMkssVUFBQUEsU0FBUyxlQUFFLG9CQUFDLE1BQUQ7QUFBYixTQU5WO0FBT0UsUUFBQSxNQUFNLEVBQUU7QUFBRUMsVUFBQUEsQ0FBQyxFQUFFO0FBQUwsU0FQVjtBQVFFLFFBQUEsSUFBSSxFQUFFbks7QUFSUixTQVNNMkosV0FUTixFQVVNN0ssS0FWTixFQVdNMkssYUFYTixFQVhGLENBREY7QUE0QkEsYUFBT0QsUUFBUSxLQUFLLElBQWIsZ0JBQ0wsb0JBQUMsV0FBRDtBQUFhLFFBQUEsT0FBTyxFQUFFakw7QUFBdEIsU0FBcUN5TCxZQUFyQyxDQURLLEdBR0xBLFlBSEY7QUFLRDs7OztFQXhsQm9Cak0sS0FBSyxDQUFDcU0sUzs7Z0JBQXZCakwsUSxrQkFDa0I7QUFDcEJrTCxFQUFBQSxjQUFjLEVBQUUsRUFESTtBQUVwQmIsRUFBQUEsUUFBUSxFQUFFLEtBRlU7QUFHcEJqQixFQUFBQSxTQUFTLEVBQUUsSUFIUztBQUlwQnJDLEVBQUFBLFlBQVksRUFBRSxLQUpNO0FBS3BCb0UsRUFBQUEsT0FBTyxFQUFFLEVBTFc7QUFNcEI5RixFQUFBQSxjQUFjLEVBQUUsSUFOSTtBQU9wQkQsRUFBQUEsUUFBUSxFQUFFLElBUFU7QUFRcEJELEVBQUFBLFlBQVksRUFBRSxJQVJNO0FBU3BCbkIsRUFBQUEsWUFBWSxFQUFFO0FBVE0sQzs7QUEwbEJ4QixlQUFlM0UsWUFBWSxDQUFDVyxRQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIzIDA4OjQ2OjIwXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wMy0yMyAxMDozMDo0MlxyXG4gKi9cclxuaW1wb3J0IHtcclxuICBBcHBzdG9yZU91dGxpbmVkLFxyXG4gIENoZWNrT3V0bGluZWQsXHJcbiAgQ29sdW1uSGVpZ2h0T3V0bGluZWQsXHJcbiAgU2VhcmNoT3V0bGluZWQsXHJcbiAgU29ydEFzY2VuZGluZ091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uLFxyXG4gIENoZWNrYm94LFxyXG4gIENoZWNrYm94T3B0aW9uVHlwZSxcclxuICBNZW51LFxyXG4gIFBvcG92ZXIsXHJcbiAgU3BhY2UsXHJcbiAgVGFibGUsXHJcbiAgVGFibGVQcm9wcyxcclxuICBUb29sdGlwLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG5kUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtZG5kXCI7XHJcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmltcG9ydCB0cmVlVXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuY29uc3QgeyBCb2R5Um93Q29tcG9uZW50LCBIVE1MNUJhY2tlbmQgfSA9IEJvZHlSb3c7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IHsgSWNvbiwgTm9EYXRhLCBJbnB1dCwgU2VsZWN0IH0gZnJvbSBcIi4uXCI7XHJcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcclxuaW1wb3J0IFwiLi9yZXNpemUubGVzc1wiO1xyXG5cclxuaW50ZXJmYWNlIElEcmFnUGFyYW1zIHtcclxuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGlkczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBwYXJlbnRJZDogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcbi8vIGludGVyZmFjZSBTdG9yZVByb3BzIHt9XHJcblxyXG5leHBvcnQgdHlwZSBTdG9yZVR5cGUgPSBcIlBhZ2VTdG9yZVwiIHwgXCJUcmVlU3RvcmVcIiB8IFwiQmFzZVN0b3JlXCI7XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQYWdpbmF0aW9uIGV4dGVuZHMgVGFibGVQYWdpbmF0aW9uQ29uZmlnIHtcclxuICB0b3RhbEtleT86IHN0cmluZztcclxuICBwYWdlU2l6ZUtleT86IHN0cmluZztcclxuICBjdXJyZW50S2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlUHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47IC8vIOaYr+WQpuaYvuekuuaAu+adoeaVsOS/oeaBr++8jOm7mOiupHRydWVcclxuICBkaXNhYmxlQ29sdW1ucz86IHN0cmluZ1tdOyAvLyDkuI3lj6/pmpDol4/lv4XpobvmmL7npLrnmoTliJdcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8vIOaYr+WQpuWPr+aLluWKqCwg6buY6K6kZmFsc2VcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvLyDmmK/lkKbmlK/mjIHov4fmu6TmmL7npLrooajmoLzliJcsIOm7mOiupHRydWVcclxuICBtb3ZlUm93PzogKHBhcmFtczogSURyYWdQYXJhbXMpID0+IHZvaWQ7IC8vIOaLluaLveWujOaIkOWQjueahOWbnuiwg1xyXG4gIGRyYWdVcmw/OiBzdHJpbmc7IC8vIOS/neWtmOaLluaLveaOkuW6j+eahOaOpeWPo1xyXG4gIHBhZ2luYXRpb24/OiBmYWxzZSB8IE5TQ1RhYmxlUGFnaW5hdGlvbjtcclxuICBhdXRvUGFnaW5hdGlvbj86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqOWkhOeQhuWIhumhtVxyXG4gIGF1dG9Tb3J0PzogYm9vbGVhbjsgLy/nu4Tku7bmmK/lkKboh6rliqjlpITnkIbmjpLluo9cclxuICBhdXRvT25DaGFuZ2U/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqhvbkNoYW5nZSwgZmFsc2XliJnkuI3lgZrku7vkvZXlpITnkIblhajpg6jkuqTnu5nosIPnlKjmlrlcclxuICByZXNpemVDb2x1bW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9O1xyXG5cclxuY29uc3QgUmVzaXplYWJsZVRpdGxlID0gKHByb3BzOiBhbnkpID0+IHtcclxuICBjb25zdCB7IG9uUmVzaXplLCB3aWR0aCwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPFJlc2l6YWJsZVxyXG4gICAgICB3aWR0aD17d2lkdGggfHwgMTUwfVxyXG4gICAgICBoZWlnaHQ9ezB9XHJcbiAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cclxuICAgICAgZHJhZ2dhYmxlT3B0cz17eyBlbmFibGVVc2VyU2VsZWN0SGFjazogZmFsc2UgfX1cclxuICAgID5cclxuICAgICAgPHRoIHsuLi5yZXN0UHJvcHN9IC8+XHJcbiAgICA8L1Jlc2l6YWJsZT5cclxuICApO1xyXG59O1xyXG5jbGFzcyBOU0NUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTlNDVGFibGVQcm9wcz4ge1xyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBkaXNhYmxlQ29sdW1uczogW10sXHJcbiAgICBkcmFnYWJsZTogZmFsc2UsXHJcbiAgICBzaG93VG90YWw6IHRydWUsXHJcbiAgICBmaWx0ZXJDb2x1bW46IGZhbHNlLFxyXG4gICAgZHJhZ1VybDogXCJcIixcclxuICAgIGF1dG9QYWdpbmF0aW9uOiB0cnVlLFxyXG4gICAgYXV0b1NvcnQ6IHRydWUsXHJcbiAgICBhdXRvT25DaGFuZ2U6IHRydWUsXHJcbiAgICByZXNpemVDb2x1bW46IHRydWUsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuICB0YWJsZVNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICAgIGNvbHM6IFtdLFxyXG4gICAgc29ydHM6IFtdLFxyXG4gICAgZmlsdGVyUGFyYW1zOiB7fSxcclxuICAgIHRhYmxlU2l6ZTogXCJtaWRkbGVcIixcclxuICAgIHNvcnRUeXBlOidzaWdsZSdcclxuICB9O1xyXG5cclxuICBsaXN0ZW5lcnMgPSB7XHJcbiAgICBvbkJlZm9yZUxvYWQ6IG51bGwsXHJcbiAgICBsb2FkOiBudWxsLFxyXG4gIH07XHJcblxyXG4gIGNvbXBvbmVudHMgPSB7XHJcbiAgICBoZWFkZXI6IHtcclxuICAgICAgY2VsbDogUmVzaXplYWJsZVRpdGxlLFxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgaWYgKHByb3BzLnN0b3JlIGluc3RhbmNlb2YgU3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZSA9IHByb3BzLnN0b3JlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgeyBsaXN0ZW5lcnM6IGxpc3RlbmVyc1Byb3BzID0ge30sIC4uLnJlc3RTdG9yZSB9ID1cclxuICAgICAgICBwcm9wcy5zdG9yZSB8fCB7fTtcclxuICAgICAgY29uc3Qgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogKHN0b3JlLCBvcHRpb25zKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkJlZm9yZUxvYWQsIHRoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgcGFnaW5nID0gISh0aGlzLnByb3BzLnBhZ2luYXRpb24gPT09IGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwYWdpbmcgJiYgIXRoaXMucHJvcHMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogc3RvcmUuZ2V0UGFnaW5hdGlvbigpLFxyXG4gICAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogLTEsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSwgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmRhdGFDaGFuZ2VkLCB0aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgICAgcGFnaW5nLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5sb2FkLCB0aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uRXJyb3JMb2FkOiAoZXJyLCByZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uRXJyb3JMb2FkLCB0aGlzLCBbZXJyLCByZXNwb25zZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGE6IHJlc3RTdG9yZS5kYXRhXHJcbiAgICAgICAgICA/IHJlc3RTdG9yZS5kYXRhXHJcbiAgICAgICAgICA6IHByb3BzLmRhdGFTb3VyY2VcclxuICAgICAgICAgID8gcHJvcHMuZGF0YVNvdXJjZVxyXG4gICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgIC4uLnJlc3RTdG9yZSxcclxuICAgICAgICBhdXRvTG9hZDogcmVzdFN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBQYWdlU3RvcmUoXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVQcm9wcywge1xyXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBjdXJyZW50OiAxLCAuLi50aGlzLnByb3BzLnBhZ2luYXRpb24gfSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVzaXplID1cclxuICAgIChpbmRleDogYW55KSA9PlxyXG4gICAgKGU6IGFueSwgeyBzaXplIH06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNvbHMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgIGNvbnN0IG5leHRDb2x1bW5zID0gWy4uLmNvbHNdO1xyXG4gICAgICBuZXh0Q29sdW1uc1tpbmRleF0gPSB7XHJcbiAgICAgICAgLi4ubmV4dENvbHVtbnNbaW5kZXhdLFxyXG4gICAgICAgIHdpZHRoOiBzaXplLndpZHRoLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjb2xzOiBuZXh0Q29sdW1ucyxcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IFsuLi50aGlzLnByb3BzLmNvbHVtbnNdIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHM6IFsuLi50aGlzLnByb3BzLmNvbHVtbnNdIH0pO1xyXG4gICAgICAvLyB0aGlzLnJlc2V0Q29sdW1uKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMucHJvcHMuc3RvcmU7XHJcbiAgICBpZiAoc3RvcmUgJiYgc3RvcmUuZGF0YSkge1xyXG4gICAgICB0aGlzLnN0b3JlLnNldERhdGEoc3RvcmUuZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgY29uc3QgeyByZXNpemVDb2x1bW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXJlc2l6ZUNvbHVtbikge1xyXG4gICAgICBpZiAodGhpcy5wcm9wcy5jb2x1bW5zICE9PSBwcmV2UHJvcHMuY29sdW1ucykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiB0aGlzLnByb3BzLmNvbHVtbnMgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChwcmVTdGF0ZS5jb2xzICE9PSB0aGlzLnN0YXRlLmNvbHMpIHtcclxuICAgICAgICB0aGlzLnJlc2V0Q29sdW1uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0Q29sdW1uKCkge1xyXG4gICAgY29uc3QgeyBjb2xzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbmV3Q29sczogYW55ID0gW107XHJcbiAgICBsZXQgY29sc3MgPSBjb2xzIHx8IFtdO1xyXG4gICAgY29sc3MubWFwKChjb2w6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAuLi5jb2wsXHJcbiAgICAgICAgb25IZWFkZXJDZWxsOiAoY29sdW1uOiB7IHdpZHRoOiBhbnkgfSkgPT4gKHtcclxuICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICBvblJlc2l6ZTogdGhpcy5oYW5kbGVSZXNpemUoaW5kZXgpLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9O1xyXG4gICAgICBuZXdDb2xzLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBjb2x1bW5zOiBuZXdDb2xzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmuIXpmaTpgInkuK3popzoibJcclxuICAgKi9cclxuICBjbGVhclNlbGVjdENvbG9yKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZUluZGV4OiAtMSB9KTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnaW5hdGlvbkJ5U3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRQYWdpbmF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcInNvcnRlclwiLCBzb3J0ZXIpO1xyXG4gICAgY29uc3QgeyBhdXRvT25DaGFuZ2UsIGF1dG9Tb3J0LCBhdXRvUGFnaW5hdGlvbiwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zb2xlLmxvZyhcImF1dG9Tb3J0XCIsIGF1dG9Tb3J0KTtcclxuICAgIGNvbnNvbGUubG9nKFwiYXV0b1BhZ2luYXRpb25cIiwgYXV0b1BhZ2luYXRpb24pO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJQYXJhbXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoYXV0b09uQ2hhbmdlID09PSBmYWxzZSkge1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGFuZGxlUGFnaW5hdGlvbiA9ICgpID0+IHtcclxuICAgICAgbGV0IHBhcmFtcyA9IHt9IGFzIHtcclxuICAgICAgICBzaXplPzogc3RyaW5nO1xyXG4gICAgICAgIHBhZ2VTaXplPzogc3RyaW5nO1xyXG4gICAgICAgIGFzY3M/OiBzdHJpbmc7XHJcbiAgICAgICAgZGVzY3M/OiBzdHJpbmc7XHJcbiAgICAgICAgW3Byb3BOYW1lOiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBwYWdpbmcgPSB0aGlzLmdldFBhZ2luYXRpb25CeVN0b3JlKCkgfHwge307XHJcblxyXG4gICAgICBpZiAoIWlzRW1wdHlPYmoocGFnaW5hdGlvbikpIHtcclxuICAgICAgICBjb25zdCBwID0ge1xyXG4gICAgICAgICAgW3BhZ2luZy5jdXJyZW50S2V5IHx8IFwiY3VycmVudFwiXTogcGFnaW5hdGlvbi5jdXJyZW50LFxyXG4gICAgICAgICAgW3BhZ2luZy5wYWdlU2l6ZUtleSB8fCBcInNpemVcIl06IHBhZ2luYXRpb24ucGFnZVNpemUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgcCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhdXRvU29ydCA9PT0gdHJ1ZSAmJiAhaXNFbXB0eU9iaihzb3J0ZXIpKSB7XHJcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImFzY2VuZFwiKSB7XHJcbiAgICAgICAgICBwYXJhbXMuYXNjcyA9XHJcbiAgICAgICAgICAgIHNvcnRlci5jb2x1bW4uc29ydEZpZWxkIHx8IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmZpZWxkO1xyXG4gICAgICAgICAgcGFyYW1zLmRlc2NzID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImRlc2NlbmRcIikge1xyXG4gICAgICAgICAgcGFyYW1zLmRlc2NzID1cclxuICAgICAgICAgICAgc29ydGVyLmNvbHVtbi5zb3J0RmllbGQgfHwgc29ydGVyLmNvbHVtbi5maWVsZCB8fCBzb3J0ZXIuZmllbGQ7XHJcbiAgICAgICAgICBwYXJhbXMuYXNjcyA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHBhcmFtcyA9IHsgLi4uZmlsdGVyUGFyYW1zLCAuLi5wYXJhbXMgfTtcclxuICAgICAgdGhpcy5zdG9yZS5yZWxvYWQoeyBwYXJhbXMgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9uQ2hhbmdlRm4gPSB0aGlzLnByb3BzLm9uQ2hhbmdlO1xyXG4gICAgLy8g55So5oi35Lyg5LqGb25DaGFuZ2Xkv53nlZnnlKjmiLfoh6rkuLvlpITnkIbooajmoLzlj5jljJbnmoTmnYPliptcclxuICAgIGlmIChvbkNoYW5nZUZuKSB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uQ2hhbmdlRm4sIHRoaXMsIFtwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhXSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wcm9wcy5hdXRvUGFnaW5hdGlvbikge1xyXG4gICAgICBoYW5kbGVQYWdpbmF0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5pWw5o2u5qih5Z6L5a+56LGhXHJcbiAgICovXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I+c5Y2V5pCc57Si6L+H5ruk5pi+56S6XHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IHZhbFxyXG4gICAqL1xyXG4gIGhhbmRsZVNlYXJjaCh2YWwsIGZpZWxkT3B0aW9uLCBzZWFyY2hDb2xvcikge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlYXJjaFRleHQ6IHZhbCxcclxuICAgICAgZmllbGRPcHRpb246IGZpZWxkT3B0aW9uLFxyXG4gICAgICBzZWFyY2hDb2xvcjogc2VhcmNoQ29sb3IsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaooeWdl+WIl+ihqOenu+WKqOaOkuW6j1xyXG4gICAqL1xyXG4gIG1vdmVSb3cgPSAoZHJhZ0luZGV4LCBob3ZlckluZGV4LCBkcmFnLCB0YXJnZXQpID0+IHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGxldCBkcmFnTm9kZSA9IGRyYWcucmVjb3JkO1xyXG4gICAgbGV0IHRhcmdldE5vZGUgPSB0YXJnZXQucmVjb3JkO1xyXG4gICAgZHJhZ05vZGUubW92ZUFycmF5KGRyYWdOb2RlLCB0YXJnZXROb2RlKTtcclxuICAgIGxldCBpZHMgPSBkcmFnTm9kZS5wYXJlbnROb2RlLmdldENoaWxkTm9kZUlkcygpO1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgaWQ6IGRyYWdOb2RlLmlkLFxyXG4gICAgICBwYXJlbnRJZDogZHJhZ05vZGUuYXR0cmlidXRlLnBhcmVudElkLFxyXG4gICAgICBpZHM6IGlkcyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMubW92ZVJvdykge1xyXG4gICAgICB0aGlzLnByb3BzLm1vdmVSb3cocGFyYW1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcmUucmVsb2FkKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgZmlsdGVyQ29sdW1uKGNoZWNrZWRWYWx1ZSkge1xyXG4gICAgY29uc3QgZmlsdGVyQ29sdW1ucyA9IHRoaXMucHJvcHMuY29sdW1ucy5tYXAoKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+IHtcclxuICAgICAgY29uc3QgbmV3Q29sID0geyAuLi5jb2wgfSBhcyBDb2x1bW5UeXBlPHt9PiAmIHsgaW5pdFNob3c6IGJvb2xlYW4gfTtcclxuICAgICAgaWYgKGNoZWNrZWRWYWx1ZS5pbmNsdWRlcyhjb2wuZGF0YUluZGV4KSkge1xyXG4gICAgICAgIG5ld0NvbC5pbml0U2hvdyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3Q29sLmluaXRTaG93ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld0NvbDtcclxuICAgIH0pO1xyXG4gICAgLy8gdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBmaWx0ZXJDb2x1bW5zIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb2x1bW5zKCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgY29sdW1ucyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgY29sdW1uczogY29sTGlzdHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBkZWZhdWx0U2hvd0NvbHMgPSBjb2x1bW5zLmZpbHRlcigoY29scykgPT4gY29scy5pbml0U2hvdyAhPT0gZmFsc2UpO1xyXG4gICAgY29uc3QgY29udGVudCA9IChcclxuICAgICAgPENoZWNrYm94Lkdyb3VwXHJcbiAgICAgICAgb25DaGFuZ2U9e3RoaXMuZmlsdGVyQ29sdW1uLmJpbmQodGhpcyl9XHJcbiAgICAgICAgb3B0aW9ucz17Y29sTGlzdHMubWFwKFxyXG4gICAgICAgICAgKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+XHJcbiAgICAgICAgICAgICh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6IGNvbC50aXRsZSxcclxuICAgICAgICAgICAgICB2YWx1ZTogY29sLmRhdGFJbmRleCxcclxuICAgICAgICAgICAgfSBhcyBDaGVja2JveE9wdGlvblR5cGUpXHJcbiAgICAgICAgKX1cclxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4gY29sLmRhdGFJbmRleCl9XHJcbiAgICAgID48L0NoZWNrYm94Lkdyb3VwPlxyXG4gICAgKTtcclxuICAgIGNvbnN0IGNvbHMgPSBkZWZhdWx0U2hvd0NvbHMubWFwKChjb2wpID0+IHtcclxuICAgICAgaWYgKGNvbC5lbGxpcHNpcyAmJiAhY29sLnJlbmRlcikge1xyXG4gICAgICAgIGNvbC5lbGxpcHNpcyA9IHtcclxuICAgICAgICAgIHNob3dUaXRsZTogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2wucmVuZGVyID0gKHRleHQpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxUb29sdGlwIHBsYWNlbWVudD1cInRvcExlZnRcIiB0aXRsZT17dGV4dH0+XHJcbiAgICAgICAgICAgICAge3RleHR9XHJcbiAgICAgICAgICAgIDwvVG9vbHRpcD5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgSWNvbkFjdGlvbjogQ29sdW1uVHlwZTx7fT4gPSB7XHJcbiAgICAgIHRpdGxlOiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInRoLWljb25cIl19IHJlZj17dGhpcy50aEljb25SZWZ9PlxyXG4gICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgdGl0bGU9XCLpgInmi6nmmL7npLrnmoTliJdcIlxyXG4gICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21SaWdodFwiXHJcbiAgICAgICAgICAgIHRyaWdnZXI9XCJjbGlja1wiXHJcbiAgICAgICAgICAgIG92ZXJsYXlTdHlsZT17eyBtaW5XaWR0aDogNDEwLCBtYXhXaWR0aDogNDUwIH19XHJcbiAgICAgICAgICAgIGdldFBvcHVwQ29udGFpbmVyPXsoKSA9PiB0aGlzLnRoSWNvblJlZi5jdXJyZW50fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8QXBwc3RvcmVPdXRsaW5lZCBzaXplPXsyNH0gY2xhc3NOYW1lPXtzdHlsZXNbXCJhcHAtc3RvcmUtaWNvblwiXX0gLz5cclxuICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKSxcclxuICAgICAgZGF0YUluZGV4OiBcImljb24tbWVudVwiLFxyXG4gICAgICBrZXk6IFwiaWNvbi1tZW51XCIsXHJcbiAgICAgIHdpZHRoOiA1MCxcclxuICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgIC8vIGZpeGVkOiBcInJpZ2h0XCIsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsdGVyQ29sdW1uKSB7XHJcbiAgICAgIGNvbHMucHVzaChJY29uQWN0aW9uKTtcclxuICAgIH1cclxuICAgIGNvbHMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAoIWlzRW1wdHlPYmooaXRlbS5maWx0ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICAgICAgY29uc3QgeyB0eXBlLCBkYXRhUHJvcHMsIHNlYXJjaEtleSB9ID0gaXRlbS5maWx0ZXJQcm9wcztcclxuICAgICAgICBsZXQgRGl2ID0gbnVsbDtcclxuICAgICAgICBsZXQgdGV4dCA9IGl0ZW0udGl0bGU7XHJcbiAgICAgICAgaWYgKHR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICBEaXYgPSAoXHJcbiAgICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICBzaXplPXtcInNtYWlsXCJ9XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2DmkJzntKIke3RleHR9YH1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiU2VsZWN0XCIpIHtcclxuICAgICAgICAgIERpdiA9IChcclxuICAgICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICAgIHsuLi5kYXRhUHJvcHN9XHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnRhYmxlU2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgIHNpemU9e1wic21haWxcIn1cclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17YOaQnOe0oiR7dGV4dH1gfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JqID0ge1xyXG4gICAgICAgICAgZmlsdGVyRHJvcGRvd246ICh7XHJcbiAgICAgICAgICAgIHNldFNlbGVjdGVkS2V5cyxcclxuICAgICAgICAgICAgc2VsZWN0ZWRLZXlzLFxyXG4gICAgICAgICAgICBjb25maXJtLFxyXG4gICAgICAgICAgICBjbGVhckZpbHRlcnMsXHJcbiAgICAgICAgICB9KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInNlYXJjaFwiXX0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wic3BhY2VcIl19PntEaXZ9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8U3BhY2U+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3RmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJQYXJhbXMgfTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBrZXkgPSBzZWFyY2hLZXkgfHwgaXRlbS5kYXRhSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBuZXdGaWx0ZXJQYXJhbXNba2V5XSA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTZWFyY2hSZWYuY3VycmVudD8uZ2V0VmFsdWUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJQYXJhbXM6IHsgLi4ubmV3RmlsdGVyUGFyYW1zIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUubG9hZCh7IHBhcmFtczogeyAuLi5uZXdGaWx0ZXJQYXJhbXMgfSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJidXR0b25cIl19XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L1NwYWNlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZpbHRlckljb246ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDxTZWFyY2hPdXRsaW5lZCAvPjtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5vYmosXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2xzW2luZGV4XSA9IG9iajtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29scztcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgIHtcclxuICAgICAgICBsb2FkaW5nLFxyXG4gICAgICAgIGRhdGFTb3VyY2UsXHJcbiAgICAgICAgcGFnaW5hdGlvbiA9IHt9LFxyXG4gICAgICAgIHNlYXJjaFRleHQsXHJcbiAgICAgICAgZmllbGRPcHRpb24sXHJcbiAgICAgICAgc2VhcmNoQ29sb3IsXHJcbiAgICAgICAgdGFibGVTaXplLFxyXG4gICAgICB9ID0gdGhpcy5zdGF0ZSxcclxuICAgICAgcHJvcHMgPSB1dGlscy5vbWl0KFxyXG4gICAgICAgIHRoaXMucHJvcHMsXHJcbiAgICAgICAgW1wic3RvcmVcIiwgXCJvbkNoYW5nZVwiLCBcImNvbHVtbnNcIiwgXCJyZXNldENvbHVtblwiXSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICByb3dLZXk6IFwiaWRcIixcclxuICAgICAgICAgIGNsaWNrQ2hhbmdlQ29sb3I6IGZhbHNlLFxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIGlmIChwcm9wcy5wYWdpbmF0aW9uICE9PSBmYWxzZSkge1xyXG4gICAgICBwcm9wcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBbXCJib3R0b21SaWdodFwiXSxcclxuICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXHJcbiAgICAgICAgc2hvd1F1aWNrSnVtcGVyOiB0cnVlLFxyXG4gICAgICAgIC4uLnByb3BzLnBhZ2luYXRpb24sXHJcbiAgICAgICAgLi4ucGFnaW5hdGlvbixcclxuICAgICAgfTtcclxuICAgICAgaWYgKHByb3BzLnNob3dUb3RhbCA9PSB0cnVlKSB7XHJcbiAgICAgICAgcHJvcHMucGFnaW5hdGlvbi5zaG93VG90YWwgPSBmdW5jdGlvbiAodG90YWwsIFtmcm9tLCB0b10pIHtcclxuICAgICAgICAgIC8vIHJldHVybiBcIuaYvuekuiBcIiArIGZyb20gKyBcIiAtIFwiICsgdG8gKyBcIuadoe+8jOWFsSBcIiArIHRvdGFsICsgXCIg5p2hXCI7XHJcbiAgICAgICAgICByZXR1cm4gXCLlhbEgXCIgKyB0b3RhbCArIFwiIOadoVwiO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm9wcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICAgIF90aGlzLm9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgfTtcclxuICAgIGlmIChwcm9wcy5jbGlja0NoYW5nZUNvbG9yKSB7XHJcbiAgICAgIGNvbnN0IG9uUm93Rm4gPSBwcm9wcy5vblJvdztcclxuICAgICAgcHJvcHMub25Sb3cgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHZhciBjdXN0b20gPSBvblJvd0ZuID8gb25Sb3dGbihyZWNvcmQsIGluZGV4KSA6IHt9O1xyXG4gICAgICAgIGNvbnN0IG9uQ2xpY2tGbiA9IGN1c3RvbS5vbkNsaWNrO1xyXG4gICAgICAgIGN1c3RvbS5vbkNsaWNrID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiBpbmRleCwgLy/ojrflj5bngrnlh7vooYznmoTntKLlvJVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sob25DbGlja0ZuLCBfdGhpcywgW2V2ZW50XSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY3VzdG9tO1xyXG4gICAgICB9O1xyXG4gICAgICBwcm9wcy5yb3dDbGFzc05hbWUgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gX3RoaXMuc3RhdGUuYWN0aXZlSW5kZXhcclxuICAgICAgICAgID8gYCR7c3R5bGVzLmNsaWNrUm93U3R5bGV9YFxyXG4gICAgICAgICAgOiBcIlwiO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IG5ld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgIGlmIChzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVlVXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvclxyXG4gICAgICApO1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkUm93S2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YVNvdXJjZTtcclxuICAgIH1cclxuICAgIHByb3BzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwge307XHJcbiAgICBwcm9wcy5zdG9yZS5hdXRvTG9hZCA9IHByb3BzLnN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgIGNvbnN0IHsgZHJhZ2FibGUgfSA9IF90aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZHJhZ2FibGVQcm9wcyA9XHJcbiAgICAgIGRyYWdhYmxlID09PSB0cnVlXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IEJvZHlSb3dDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG9uUm93OiAocmVjb3JkLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAgICAgICBpbmRleCxcclxuICAgICAgICAgICAgICByZWNvcmQsXHJcbiAgICAgICAgICAgICAgbW92ZVJvdzogdGhpcy5tb3ZlUm93LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH1cclxuICAgICAgICA6IHt9O1xyXG4gICAgbGV0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IHJlc2l6ZVByb3BzID1cclxuICAgICAgcmVzaXplQ29sdW1uID09PSB0cnVlID8geyBjb21wb25lbnRzOiB0aGlzLmNvbXBvbmVudHMgfSA6IG51bGw7XHJcbiAgIFxyXG4gICAgY29uc3Qgc2l6ZUl0ZW0gPSBbXHJcbiAgICAgIHsgdGl0bGU6IFwi5a695p2+XCIsIGtleTogXCJkZWZhdWx0XCIgfSxcclxuICAgICAgeyB0aXRsZTogXCLkuK3nrYlcIiwga2V5OiBcIm1pZGRsZVwiIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwi57Sn5YeRXCIsIGtleTogXCJzbWFsbFwiIH0sXHJcbiAgICBdO1xyXG4gICAgY29uc3Qgc29ydEl0ZW0gPSBbXHJcbiAgICAgIHsgdGl0bGU6IFwi5Y2V5a2X5q615o6S5bqPXCIsIGtleTogXCJzaWdsZVwiIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwi5aSa5a2X5q615o6S5bqPXCIsIGtleTogXCJtdWx0aXBsZVwiIH0sXHJcbiAgICBdO1xyXG4gICAgY29uc3Qgc29ydENvbnRlbnQgPSAoXHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdj7lvZPliY3mjpLluo88L2Rpdj5cclxuICAgICAgICB7c29ydEl0ZW0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGtleT17aXRlbS5rZXl9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpdGVtLmtleVwiLCBpdGVtLmtleSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgdGFibGVTaXplOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt0YWJsZVNpemUgPT0gaXRlbS5rZXkgJiYgPENoZWNrT3V0bGluZWQgLz59PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge2l0ZW0udGl0bGV9XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGNvbnN0IHNpemVDb250ZW50ID0gKFxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXY+6KGo5qC85a+G5bqmPC9kaXY+XHJcbiAgICAgICAge3NpemVJdGVtLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaXRlbS5rZXlcIiwgaXRlbS5rZXkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHRhYmxlU2l6ZTogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57dGFibGVTaXplID09IGl0ZW0ua2V5ICYmIDxDaGVja091dGxpbmVkIC8+fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIHtpdGVtLnRpdGxlfVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCBEZWZhdWx0VGFibGUgPSAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgey8qIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8UG9wb3ZlciBwbGFjZW1lbnQ9XCJib3R0b21cIiBjb250ZW50PXtzaXplQ29udGVudH0gdHJpZ2dlcj1cImNsaWNrXCI+XHJcbiAgICAgICAgICAgICAgPENvbHVtbkhlaWdodE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPFBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tXCIgY29udGVudD17c29ydENvbnRlbnR9IHRyaWdnZXI9XCJjbGlja1wiPlxyXG4gICAgICAgICAgICA8U29ydEFzY2VuZGluZ091dGxpbmVkIC8+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgPC9kaXY+ICovfVxyXG4gICAgICAgIDxUYWJsZVxyXG4gICAgICAgICAgY2hpbGRyZW5Db2x1bW5OYW1lPVwiY2hpbGROb2Rlc1wiXHJcbiAgICAgICAgICBkYXRhU291cmNlPXtuZXdEYXRhU291cmNlfVxyXG4gICAgICAgICAgY29sdW1ucz17dGhpcy5nZXRDb2x1bW5zKCl9XHJcbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxyXG4gICAgICAgICAgLy8gY2xhc3NOYW1lPXtzdHlsZXNbXCJuc2MtdGFibGVcIl19XHJcbiAgICAgICAgICBsb2NhbGU9e3sgZW1wdHlUZXh0OiA8Tm9EYXRhIC8+IH19XHJcbiAgICAgICAgICBzY3JvbGw9e3sgeDogdHJ1ZSB9fVxyXG4gICAgICAgICAgc2l6ZT17dGFibGVTaXplfVxyXG4gICAgICAgICAgey4uLnJlc2l6ZVByb3BzfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLmRyYWdhYmxlUHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBkcmFnYWJsZSA9PT0gdHJ1ZSA/IChcclxuICAgICAgPERuZFByb3ZpZGVyIGJhY2tlbmQ9e0hUTUw1QmFja2VuZH0+e0RlZmF1bHRUYWJsZX08L0RuZFByb3ZpZGVyPlxyXG4gICAgKSA6IChcclxuICAgICAgRGVmYXVsdFRhYmxlXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5TQ1RhYmxlKTtcclxuIl19
@@ -45,3 +45,18 @@
45
45
  cursor: pointer;
46
46
  }
47
47
  }
48
+
49
+ .search {
50
+ width: 220px;
51
+ padding: 8px;
52
+ height: 45px;
53
+ .space {
54
+ margin-bottom: 8px;
55
+ }
56
+ .button {
57
+ width: 80px;
58
+ position: absolute;
59
+ bottom: 8px;
60
+ right: 8px;
61
+ }
62
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "1.4.1",
3
+ "version": "2.0.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {