nsc-react-component 2.0.17 → 2.0.20

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.
@@ -97,7 +97,8 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
97
97
  _props$viewtype = props.viewtype,
98
98
  viewtype = _props$viewtype === void 0 ? "system" : _props$viewtype;
99
99
  var viewname = store.viewname;
100
- var valueField = viewname ? "dictKey" : "value";
100
+ var valueField = props.valueField;
101
+ valueField = valueField ? valueField : viewname ? "dictKey" : "value";
101
102
 
102
103
  var _config = config(),
103
104
  viewUrl = _config.viewUrl,
@@ -207,11 +208,14 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
207
208
  _createClass(NSCCheckboxGroup, [{
208
209
  key: "convertData",
209
210
  value: function convertData(data) {
210
- var _this$props$store = this.props.store,
211
- store = _this$props$store === void 0 ? {} : _this$props$store;
211
+ var _this$props = this.props,
212
+ _this$props$store = _this$props.store,
213
+ store = _this$props$store === void 0 ? {} : _this$props$store,
214
+ valueField = _this$props.valueField,
215
+ labelField = _this$props.labelField;
212
216
  var viewname = store.viewname;
213
- var valueField = viewname ? "dictKey" : "value";
214
- var labelField = viewname ? "dictValue" : "label";
217
+ valueField = valueField ? valueField : viewname ? "dictKey" : "value";
218
+ labelField = labelField ? labelField : viewname ? "dictValue" : "label";
215
219
  var dataSoure = [];
216
220
 
217
221
  var _loop = function _loop(i) {
@@ -286,10 +290,10 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
286
290
  }, {
287
291
  key: "componentDidMount",
288
292
  value: function componentDidMount() {
289
- var _this$props = this.props,
290
- data = _this$props.data,
291
- options = _this$props.options,
292
- children = _this$props.children;
293
+ var _this$props2 = this.props,
294
+ data = _this$props2.data,
295
+ options = _this$props2.options,
296
+ children = _this$props2.children;
293
297
 
294
298
  if (!children && (data || options)) {
295
299
  this.setState({
@@ -302,9 +306,9 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
302
306
  key: "componentDidUpdate",
303
307
  value: function componentDidUpdate() {
304
308
  var dataStore = this.state.dataStore;
305
- var _this$props2 = this.props,
306
- data = _this$props2.data,
307
- options = _this$props2.options;
309
+ var _this$props3 = this.props,
310
+ data = _this$props3.data,
311
+ options = _this$props3.options;
308
312
  var newData = data ? data : options;
309
313
 
310
314
  if (data || options) {
@@ -319,10 +323,10 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
319
323
  }, {
320
324
  key: "render",
321
325
  value: function render() {
322
- var _this$props3 = this.props,
323
- data = _this$props3.data,
324
- options = _this$props3.options,
325
- params = _objectWithoutProperties(_this$props3, _excluded2);
326
+ var _this$props4 = this.props,
327
+ data = _this$props4.data,
328
+ options = _this$props4.options,
329
+ params = _objectWithoutProperties(_this$props4, _excluded2);
326
330
 
327
331
  var CheckBoxProps = omit(_objectSpread({}, params), ["store", "valueField", "labelField", "data", "onChange", "addData", "deleteData"]);
328
332
  return /*#__PURE__*/React.createElement(_Checkbox.Group, _extends({
@@ -337,4 +341,4 @@ var NSCCheckboxGroup = /*#__PURE__*/function (_PureComponent) {
337
341
  }(PureComponent);
338
342
 
339
343
  export default NSCCheckboxGroup;
340
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvY2hlY2tib3gvQ2hlY2tib3hHcm91cC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsIm9taXQiLCJjb25maWciLCJOU0NDaGVja2JveEdyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmlld3R5cGUiLCJ2aWV3bmFtZSIsInZhbHVlRmllbGQiLCJ2aWV3VXJsIiwidmlld0JpelVybCIsInJlcXVlc3RWaWV3VXJsIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiRXJyb3IiLCJnZXRBbGxEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJjb252ZXJ0RGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsImxhYmVsRmllbGQiLCJkYXRhU291cmUiLCJvYmoiLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImRpc2FibGVkIiwicHVzaCIsImNoZWNrZWRWYWx1ZSIsIm9uQ2hhbmdlIiwic3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwicGFyYW1zIiwiQ2hlY2tCb3hQcm9wcyIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QSxVQUEwQjBELE1BQTFCOztBQUNBLFVBQU1DLGFBQWEsR0FBR3BFLElBQUksbUJBQU1tRSxNQUFOLEdBQWdCLENBQ3hDLE9BRHdDLEVBRXhDLFlBRndDLEVBR3hDLFlBSHdDLEVBSXhDLE1BSndDLEVBS3hDLFVBTHdDLEVBTXhDLFNBTndDLEVBT3hDLFlBUHdDLENBQWhCLENBQTFCO0FBU0EsMEJBQ0UsOEJBQVUsS0FBVjtBQUNFLFFBQUEsS0FBSyxFQUFFLEtBQUtILEtBQUwsQ0FBVzFELEtBRHBCO0FBRUUsUUFBQSxPQUFPLEVBQUUsS0FBSzBELEtBQUwsQ0FBVzVELFVBRnRCO0FBR0UsUUFBQSxRQUFRLEVBQUUsS0FBSzJELFFBQUwsQ0FBY00sSUFBZCxDQUFtQixJQUFuQjtBQUhaLFNBSU1ELGFBSk4sRUFERjtBQVFEOzs7O0VBak40QnZFLGE7O0FBb04vQixlQUFlSyxnQkFBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0xNCAwODo1OToxOVxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTY6NDY6MzNcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IENoZWNrYm94LCBDaGVja2JveFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5cclxuaW50ZXJmYWNlIElDaGVja2JveEdyb3VwUHJvcHMgZXh0ZW5kcyBDaGVja2JveFByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZERhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+O1xyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxzdHJpbmc+O1xyXG4gIFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5jbGFzcyBOU0NDaGVja2JveEdyb3VwIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJQ2hlY2tib3hHcm91cFByb3BzPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgICB2YWx1ZTogW10sXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgZGF0YSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2aWV3dHlwZSA9IFwic3lzdGVtXCIsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIGNvbnN0IHZhbHVlRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICB1cmwsXHJcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgICAgdmlld25hbWUsXHJcbiAgICAgICAgY2FjaGVkLFxyXG4gICAgICAgIGNhY2hlS2V5LFxyXG5cclxuICAgICAgICAuLi5zdG9yZXNcclxuICAgICAgfSA9IHN0b3JlO1xyXG4gICAgICBpZiAoIXVybCAmJiAhb3B0aW9ucyAmJiAhZGF0YSAmJiAhdmlld25hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgbmV3RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZihpdGVtKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfTtcclxuICAgICAgdmFyIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhU291cmNlID0gX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RGF0YShkYXRhKSB7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsZXQgdmFsdWVGaWVsZCA9IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgbGFiZWxGaWVsZCA9IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIGxldCBkYXRhU291cmUgPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodHlwZW9mIGRhdGFbaV0gPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICBsZXQgb2JqID0geyAuLi5kYXRhW2ldIH07XHJcbiAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICBpZiAodmFsdWVGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIHZhbHVlID0gZGF0YVtpXVt2YWx1ZUZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGRhdGFbaV1bdl0gOiB2YWx1ZSArIFwiLFwiICsgZGF0YVtpXVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgbGFiZWwgPSBkYXRhW2ldW2xhYmVsRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgZGF0YVtpXVtsXSA6IGxhYmVsICsgXCItXCIgKyBkYXRhW2ldW2xdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9iai5sYWJlbCA9IGxhYmVsO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGRhdGFbaV0uZGlzYWJsZWQgPyBkYXRhW2ldLmRpc2FibGVkIDogZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgb2JqID0ge30gYXMgeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogYW55OyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcclxuICAgICAgICBvYmoubGFiZWwgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai52YWx1ZSA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgZGF0YVNvdXJlLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRhdGFTb3VyZTtcclxuICB9XHJcbiAgb25DaGFuZ2UoY2hlY2tlZFZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IGNoZWNrZWRWYWx1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZShjaGVja2VkVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEoZGF0YSA/IGRhdGEgOiBvcHRpb25zKSxcclxuICAgICAgICBkYXRhU3RvcmU6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcclxuICAgIGNvbnN0IHsgZGF0YVN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgIGlmIChkYXRhIHx8IG9wdGlvbnMpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTdG9yZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKG5ld0RhdGEpLFxyXG4gICAgICAgICAgZGF0YVN0b3JlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IENoZWNrQm94UHJvcHMgPSBvbWl0KHsgLi4ucGFyYW1zIH0sIFtcclxuICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICBcInZhbHVlRmllbGRcIixcclxuICAgICAgXCJsYWJlbEZpZWxkXCIsXHJcbiAgICAgIFwiZGF0YVwiLFxyXG4gICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgIFwiYWRkRGF0YVwiLFxyXG4gICAgICBcImRlbGV0ZURhdGFcIixcclxuICAgIF0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPENoZWNrYm94Lkdyb3VwXHJcbiAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgb3B0aW9ucz17dGhpcy5zdGF0ZS5kYXRhU291cmNlfVxyXG4gICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgey4uLkNoZWNrQm94UHJvcHN9XHJcbiAgICAgIC8+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTlNDQ2hlY2tib3hHcm91cDtcclxuIl19
344
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvY2hlY2tib3gvQ2hlY2tib3hHcm91cC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsIm9taXQiLCJjb25maWciLCJOU0NDaGVja2JveEdyb3VwIiwicHJvcHMiLCJkYXRhU291cmNlIiwiZGF0YVN0b3JlIiwidmFsdWUiLCJfdGhpcyIsInN0b3JlIiwib3B0aW9ucyIsImRhdGEiLCJjaGlsZHJlbiIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmlld3R5cGUiLCJ2aWV3bmFtZSIsInZhbHVlRmllbGQiLCJ2aWV3VXJsIiwidmlld0JpelVybCIsInJlcXVlc3RWaWV3VXJsIiwidXJsIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUG9wcyIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwiRXJyb3IiLCJnZXRBbGxEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvbkJlZm9yZUxvYWQiLCJjYWxsYmFjayIsImxvYWQiLCJtb2RlbERhdGEiLCJjb252ZXJ0RGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsImxhYmVsRmllbGQiLCJkYXRhU291cmUiLCJvYmoiLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImRpc2FibGVkIiwicHVzaCIsImNoZWNrZWRWYWx1ZSIsIm9uQ2hhbmdlIiwic3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwicGFyYW1zIiwiQ2hlY2tCb3hQcm9wcyIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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VSxFQUFFLEtBQUs0QyxXQUFMLENBQWlCbEIsT0FBakIsQ0FEQTtBQUVaekIsWUFBQUEsU0FBUyxFQUFFeUI7QUFGQyxXQUFkO0FBSUQ7QUFDRjtBQUNGOzs7V0FFRCxrQkFBUztBQUNQLHlCQUFxQyxLQUFLM0IsS0FBMUM7QUFBQSxVQUFRTyxJQUFSLGdCQUFRQSxJQUFSO0FBQUEsVUFBY0QsT0FBZCxnQkFBY0EsT0FBZDtBQUFBLFVBQTBCMEQsTUFBMUI7O0FBQ0EsVUFBTUMsYUFBYSxHQUFHcEUsSUFBSSxtQkFBTW1FLE1BQU4sR0FBZ0IsQ0FDeEMsT0FEd0MsRUFFeEMsWUFGd0MsRUFHeEMsWUFId0MsRUFJeEMsTUFKd0MsRUFLeEMsVUFMd0MsRUFNeEMsU0FOd0MsRUFPeEMsWUFQd0MsQ0FBaEIsQ0FBMUI7QUFTQSwwQkFDRSw4QkFBVSxLQUFWO0FBQ0UsUUFBQSxLQUFLLEVBQUUsS0FBS0gsS0FBTCxDQUFXMUQsS0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxLQUFLMEQsS0FBTCxDQUFXNUQsVUFGdEI7QUFHRSxRQUFBLFFBQVEsRUFBRSxLQUFLMkQsUUFBTCxDQUFjTSxJQUFkLENBQW1CLElBQW5CO0FBSFosU0FJTUQsYUFKTixFQURGO0FBUUQ7Ozs7RUFsTjRCdkUsYTs7QUFxTi9CLGVBQWVLLGdCQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTE0IDA4OjU5OjE5XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NjozM1xyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgQ2hlY2tib3gsIENoZWNrYm94UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSUNoZWNrYm94R3JvdXBQcm9wcyBleHRlbmRzIENoZWNrYm94UHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgYWRkRGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47XHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PHN0cmluZz47XHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmNsYXNzIE5TQ0NoZWNrYm94R3JvdXAgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElDaGVja2JveEdyb3VwUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgZGF0YVN0b3JlOiBbXSxcclxuICAgIHZhbHVlOiBbXSxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXN0ZW1cIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgbGV0IHsgdmFsdWVGaWVsZCB9ID0gcHJvcHM7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICB1cmwsXHJcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgICAgdmlld25hbWUsXHJcbiAgICAgICAgY2FjaGVkLFxyXG4gICAgICAgIGNhY2hlS2V5LFxyXG5cclxuICAgICAgICAuLi5zdG9yZXNcclxuICAgICAgfSA9IHN0b3JlO1xyXG4gICAgICBpZiAoIXVybCAmJiAhb3B0aW9ucyAmJiAhZGF0YSAmJiAhdmlld25hbWUpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh5ZKMb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgbmV3RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpdGVtID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZihpdGVtKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfTtcclxuICAgICAgdmFyIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhU291cmNlID0gX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogZGF0YVNvdXJjZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RGF0YShkYXRhKSB7XHJcbiAgICBsZXQgeyBzdG9yZSA9IHt9LCB2YWx1ZUZpZWxkLCBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGFiZWxGaWVsZCA9IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgbGV0IGRhdGFTb3VyZSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtpXSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgIGxldCBvYmogPSB7IC4uLmRhdGFbaV0gfTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgdmFsdWUgPSBkYXRhW2ldW3ZhbHVlRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgZGF0YVtpXVt2XSA6IHZhbHVlICsgXCIsXCIgKyBkYXRhW2ldW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICBsYWJlbCA9IGRhdGFbaV1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBkYXRhW2ldW2xdIDogbGFiZWwgKyBcIi1cIiArIGRhdGFbaV1bbF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JqLmxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgb2JqLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZGF0YVtpXS5kaXNhYmxlZCA/IGRhdGFbaV0uZGlzYWJsZWQgOiBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBvYmogPSB7fSBhcyB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgICAgIG9iai5sYWJlbCA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLnZhbHVlID0gZGF0YVtpXTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YVNvdXJlO1xyXG4gIH1cclxuICBvbkNoYW5nZShjaGVja2VkVmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogY2hlY2tlZFZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIG9uQ2hhbmdlKGNoZWNrZWRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShkYXRhID8gZGF0YSA6IG9wdGlvbnMpLFxyXG4gICAgICAgIGRhdGFTdG9yZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xyXG4gICAgY29uc3QgeyBkYXRhU3RvcmUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgaWYgKGRhdGEgfHwgb3B0aW9ucykge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YVN0b3JlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEobmV3RGF0YSksXHJcbiAgICAgICAgICBkYXRhU3RvcmU6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgQ2hlY2tCb3hQcm9wcyA9IG9taXQoeyAuLi5wYXJhbXMgfSwgW1xyXG4gICAgICBcInN0b3JlXCIsXHJcbiAgICAgIFwidmFsdWVGaWVsZFwiLFxyXG4gICAgICBcImxhYmVsRmllbGRcIixcclxuICAgICAgXCJkYXRhXCIsXHJcbiAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgXCJhZGREYXRhXCIsXHJcbiAgICAgIFwiZGVsZXRlRGF0YVwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Q2hlY2tib3guR3JvdXBcclxuICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICBvcHRpb25zPXt0aGlzLnN0YXRlLmRhdGFTb3VyY2V9XHJcbiAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICB7Li4uQ2hlY2tCb3hQcm9wc31cclxuICAgICAgLz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOU0NDaGVja2JveEdyb3VwO1xyXG4iXX0=
@@ -96,8 +96,9 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
96
96
  deleteData = _props$deleteData === void 0 ? [] : _props$deleteData,
97
97
  _props$viewtype = props.viewtype,
98
98
  viewtype = _props$viewtype === void 0 ? "system" : _props$viewtype;
99
+ var valueField = props.valueField;
99
100
  var viewname = store.viewname;
100
- var valueField = viewname ? "dictKey" : "value";
101
+ valueField = valueField ? valueField : viewname ? "dictKey" : "value";
101
102
 
102
103
  var _config = config(),
103
104
  viewUrl = _config.viewUrl,
@@ -236,11 +237,14 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
236
237
  }, {
237
238
  key: "convertData",
238
239
  value: function convertData(data) {
239
- var _this$props$store = this.props.store,
240
- store = _this$props$store === void 0 ? {} : _this$props$store;
240
+ var _this$props2 = this.props,
241
+ _this$props2$store = _this$props2.store,
242
+ store = _this$props2$store === void 0 ? {} : _this$props2$store,
243
+ valueField = _this$props2.valueField,
244
+ labelField = _this$props2.labelField;
241
245
  var viewname = store.viewname;
242
- var valueField = viewname ? "dictKey" : "value";
243
- var labelField = viewname ? "dictValue" : "label";
246
+ valueField = valueField ? valueField : viewname ? "dictKey" : "value";
247
+ labelField = labelField ? labelField : viewname ? "dictValue" : "label";
244
248
  var dataSoure = [];
245
249
 
246
250
  var _loop = function _loop(i) {
@@ -291,10 +295,10 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
291
295
  }, {
292
296
  key: "componentDidMount",
293
297
  value: function componentDidMount() {
294
- var _this$props2 = this.props,
295
- data = _this$props2.data,
296
- options = _this$props2.options,
297
- children = _this$props2.children;
298
+ var _this$props3 = this.props,
299
+ data = _this$props3.data,
300
+ options = _this$props3.options,
301
+ children = _this$props3.children;
298
302
 
299
303
  if (!children && (data || options)) {
300
304
  this.setState({
@@ -307,9 +311,9 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
307
311
  key: "componentDidUpdate",
308
312
  value: function componentDidUpdate() {
309
313
  var dataStore = this.state.dataStore;
310
- var _this$props3 = this.props,
311
- data = _this$props3.data,
312
- options = _this$props3.options;
314
+ var _this$props4 = this.props,
315
+ data = _this$props4.data,
316
+ options = _this$props4.options;
313
317
  var newData = data ? data : options;
314
318
 
315
319
  if (data || options) {
@@ -326,10 +330,10 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
326
330
  value: function render() {
327
331
  var _this3 = this;
328
332
 
329
- var _this$props4 = this.props,
330
- children = _this$props4.children,
331
- _this$props4$customiz = _this$props4.customize,
332
- customize = _this$props4$customiz === void 0 ? false : _this$props4$customiz;
333
+ var _this$props5 = this.props,
334
+ children = _this$props5.children,
335
+ _this$props5$customiz = _this$props5.customize,
336
+ customize = _this$props5$customiz === void 0 ? false : _this$props5$customiz;
333
337
  var radios;
334
338
  radios = children;
335
339
  var isArray = Array.isArray(children);
@@ -356,10 +360,10 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
356
360
  });
357
361
  }
358
362
  } else {
359
- var _this$props5 = this.props,
360
- data = _this$props5.data,
361
- options = _this$props5.options,
362
- params = _objectWithoutProperties(_this$props5, _excluded2);
363
+ var _this$props6 = this.props,
364
+ data = _this$props6.data,
365
+ options = _this$props6.options,
366
+ params = _objectWithoutProperties(_this$props6, _excluded2);
363
367
 
364
368
  var RadioProps = omit(_objectSpread({}, params), ["store", "labelField", "valueField", "customize", "onChange", "addData", "deleteData"]);
365
369
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Radio.Group, _extends({
@@ -375,4 +379,4 @@ var RadioGroup = /*#__PURE__*/function (_Component) {
375
379
  }(Component);
376
380
 
377
381
  export { RadioGroup as default };
378
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvcmFkaW8vUmFkaW9Hcm91cC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJvbWl0IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsIlJhZGlvR3JvdXAiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJkYXRhU3RvcmUiLCJ2YWx1ZSIsIl90aGlzIiwic3RvcmUiLCJvcHRpb25zIiwiZGF0YSIsImNoaWxkcmVuIiwiYWRkRGF0YSIsImRlbGV0ZURhdGEiLCJ2aWV3dHlwZSIsInZpZXduYW1lIiwidmFsdWVGaWVsZCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwicmVxdWVzdFZpZXdVcmwiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJzdG9yZXMiLCJFcnJvciIsImdldEFsbERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwibGVuZ3RoIiwidmFsdWVGaWVsZHMiLCJzcGxpdCIsIm1hcCIsIml0ZW0iLCJpIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsImNvbnZlcnREYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwiZSIsImN1c3RvbWl6ZSIsIm9uQ2hhbmdlIiwidGFyZ2V0Iiwic3RhdGUiLCJsYWJlbEZpZWxkIiwiZGF0YVNvdXJlIiwib2JqIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJkaXNhYmxlZCIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5IiwicmFkaW9zIiwiY2hpbGQiLCJpc0FjdGl2ZSIsImNsb25lRWxlbWVudCIsImFjdGl2ZSIsIm9uQ2xpY2siLCJoYW5kbGVBY3RpdmVDaGFuZ2UiLCJi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QkFBTCxDQUF3QkMsSUFBeEIsQ0FBNkIsSUFBN0I7QUFIWixXQUlNRyxVQUpOLEVBREYsQ0FERjtBQVVEO0FBQ0Y7Ozs7RUFyUHFDbEYsUzs7U0FBbkJLLFUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTQ6MzM6MzVcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE2OjQ2OjE3XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFJhZGlvLCBSYWRpb0dyb3VwUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcblxyXG5pbnRlcmZhY2UgSVJhZGlvR3JvdXBQcm9wcyBleHRlbmRzIFJhZGlvR3JvdXBQcm9wcyB7XHJcbiAgY3VzdG9taXplPzogYm9vbGVhbjtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PHN0cmluZyB8IE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGFkZERhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+S4jnN0b3Jl5LiA6LW355SoXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PHN0cmluZz47XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSwgZT86IGFueSkgPT4gdm9pZDtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50PElSYWRpb0dyb3VwUHJvcHM+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgZGF0YVN0b3JlOiBbXSxcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmlld3R5cGUgPSBcInN5c3RlbVwiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsZXQgdmFsdWVGaWVsZCA9IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzdGVtXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qge1xyXG4gICAgICAgIHVybCxcclxuICAgICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgICB2aWV3bmFtZSxcclxuICAgICAgICBjYWNoZWQsXHJcbiAgICAgICAgY2FjaGVLZXksXHJcbiAgICAgICAgLi4uc3RvcmVzXHJcbiAgICAgIH0gPSBzdG9yZTtcclxuICAgICAgaWYgKCF1cmwgJiYgIW9wdGlvbnMgJiYgIWRhdGEgJiYgIXZpZXduYW1lKVxyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeWSjG9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgICBpZiAoYWRkRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGVsZXRlRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0gPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGlmIChkZWxldGVEYXRhLmluZGV4T2YodmFsdWUpID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICAgIGlmIChkZWxldGVEYXRhLmluZGV4T2YoaXRlbSkgPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgbmV3RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICAgIH07XHJcbiAgICAgIHZhciBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBsZXQgZGF0YVNvdXJjZSA9IF90aGlzLmNvbnZlcnREYXRhKGdldEFsbERhdGEoZGF0YSkpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IGRhdGFTb3VyY2UgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICBkYXRhU291cmNlOiBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgPyB1cmwgOiByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWN0aXZlQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgY3VzdG9taXplLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChjdXN0b21pemUpIHtcclxuICAgICAgb25DaGFuZ2UgJiYgb25DaGFuZ2UoZSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHZhbHVlOiBlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29udmVydERhdGEoZGF0YSkge1xyXG4gICAgbGV0IHsgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgbGV0IHZhbHVlRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IGxhYmVsRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBsZXQgZGF0YVNvdXJlID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhW2ldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHsgLi4uZGF0YVtpXSB9O1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGRhdGFbaV1bdmFsdWVGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBkYXRhW2ldW3ZdIDogdmFsdWUgKyBcIixcIiArIGRhdGFbaV1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIGxhYmVsID0gZGF0YVtpXVtsYWJlbEZpZWxkXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGRhdGFbaV1bbF0gOiBsYWJlbCArIFwiLVwiICsgZGF0YVtpXVtsXTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYmoubGFiZWwgPSBsYWJlbDtcclxuICAgICAgICBvYmoudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBkYXRhW2ldLmRpc2FibGVkID8gZGF0YVtpXS5kaXNhYmxlZCA6IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IG9iaiA9IHt9IGFzIHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XHJcbiAgICAgICAgb2JqLmxhYmVsID0gZGF0YVtpXTtcclxuICAgICAgICBvYmoudmFsdWUgPSBkYXRhW2ldO1xyXG4gICAgICAgIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGFTb3VyZS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhU291cmU7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShkYXRhID8gZGF0YSA6IG9wdGlvbnMpLFxyXG4gICAgICAgIGRhdGFTdG9yZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcclxuICAgIGNvbnN0IHsgZGF0YVN0b3JlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgIGlmIChkYXRhIHx8IG9wdGlvbnMpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGRhdGFTdG9yZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiB0aGlzLmNvbnZlcnREYXRhKG5ld0RhdGEpLFxyXG4gICAgICAgICAgZGF0YVN0b3JlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjdXN0b21pemUgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCByYWRpb3M6IGFueTtcclxuICAgIHJhZGlvcyA9IGNoaWxkcmVuO1xyXG4gICAgY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pO1xyXG4gICAgaWYgKGN1c3RvbWl6ZSkge1xyXG4gICAgICBpZiAoaXNBcnJheSkge1xyXG4gICAgICAgIHJldHVybiByYWRpb3MubWFwKChjaGlsZCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxldCBpc0FjdGl2ZSA9IHRoaXMucHJvcHMudmFsdWUgPT09IGNoaWxkLnByb3BzLnZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwge1xyXG4gICAgICAgICAgICBsYWJlbDogY2hpbGQucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIHZhbHVlOiBjaGlsZC5wcm9wcy52YWx1ZSxcclxuICAgICAgICAgICAgYWN0aXZlOiBpc0FjdGl2ZSxcclxuICAgICAgICAgICAgb25DbGljazogdGhpcy5oYW5kbGVBY3RpdmVDaGFuZ2UuYmluZCh0aGlzLCBjaGlsZC5wcm9wcy52YWx1ZSksXHJcbiAgICAgICAgICAgIGtleTogaW5kZXgsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsZXQgaXNBY3RpdmUgPSB0aGlzLnByb3BzLnZhbHVlID09PSByYWRpb3MucHJvcHMudmFsdWUgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChyYWRpb3MsIHtcclxuICAgICAgICAgIGxhYmVsOiByYWRpb3MucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICB2YWx1ZTogcmFkaW9zLnByb3BzLnZhbHVlLFxyXG4gICAgICAgICAgYWN0aXZlOiBpc0FjdGl2ZSxcclxuICAgICAgICAgIG9uQ2xpY2s6IHRoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcywgcmFkaW9zLnByb3BzLnZhbHVlKSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCAuLi5wYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgIGNvbnN0IFJhZGlvUHJvcHMgPSBvbWl0KHsgLi4ucGFyYW1zIH0sIFtcclxuICAgICAgICBcInN0b3JlXCIsXHJcbiAgICAgICAgXCJsYWJlbEZpZWxkXCIsXHJcbiAgICAgICAgXCJ2YWx1ZUZpZWxkXCIsXHJcbiAgICAgICAgXCJjdXN0b21pemVcIixcclxuICAgICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgICAgXCJhZGREYXRhXCIsXHJcbiAgICAgICAgXCJkZWxldGVEYXRhXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICA8UmFkaW8uR3JvdXBcclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgIG9wdGlvbnM9e3RoaXMuc3RhdGUuZGF0YVNvdXJjZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIHsuLi5SYWRpb1Byb3BzfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
382
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvcmFkaW8vUmFkaW9Hcm91cC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJvbWl0IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsIlJhZGlvR3JvdXAiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJkYXRhU3RvcmUiLCJ2YWx1ZSIsIl90aGlzIiwic3RvcmUiLCJvcHRpb25zIiwiZGF0YSIsImNoaWxkcmVuIiwiYWRkRGF0YSIsImRlbGV0ZURhdGEiLCJ2aWV3dHlwZSIsInZhbHVlRmllbGQiLCJ2aWV3bmFtZSIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwicmVxdWVzdFZpZXdVcmwiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwiY2FjaGVkIiwiY2FjaGVLZXkiLCJzdG9yZXMiLCJFcnJvciIsImdldEFsbERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwibGVuZ3RoIiwidmFsdWVGaWVsZHMiLCJzcGxpdCIsIm1hcCIsIml0ZW0iLCJpIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsImNvbnZlcnREYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwiZSIsImN1c3RvbWl6ZSIsIm9uQ2hhbmdlIiwidGFyZ2V0Iiwic3RhdGUiLCJsYWJlbEZpZWxkIiwiZGF0YVNvdXJlIiwib2JqIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJkaXNhYmxlZCIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5IiwicmFkaW9zIiwiY2hpbGQiLCJpc0FjdGl2ZSIsImNsb25lRWxlbWVudCIsImFjdGl2ZSIsIm9uQ2xpY2siLCJoYW5kbGVBY3RpdmVDaGFuZ2UiLCJi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QyxFQU1yQyxTQU5xQyxFQU9yQyxZQVBxQyxDQUFoQixDQUF2QjtBQVNBLDRCQUNFLHVEQUNFLDJCQUFPLEtBQVA7QUFDRSxVQUFBLEtBQUssRUFBRSxLQUFLcEIsS0FBTCxDQUFXcEQsS0FEcEI7QUFFRSxVQUFBLE9BQU8sRUFBRSxLQUFLb0QsS0FBTCxDQUFXdEQsVUFGdEI7QUFHRSxVQUFBLFFBQVEsRUFBRSxLQUFLdUUsa0JBQUwsQ0FBd0JDLElBQXhCLENBQTZCLElBQTdCO0FBSFosV0FJTUcsVUFKTixFQURGLENBREY7QUFVRDtBQUNGOzs7O0VBdlBxQ2xGLFM7O1NBQW5CSyxVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI0IDE0OjMzOjM1XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NjoxN1xyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBSYWRpbywgUmFkaW9Hcm91cFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5cclxuaW50ZXJmYWNlIElSYWRpb0dyb3VwUHJvcHMgZXh0ZW5kcyBSYWRpb0dyb3VwUHJvcHMge1xyXG4gIGN1c3RvbWl6ZT86IGJvb2xlYW47XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxzdHJpbmcgfCBPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBhZGREYXRhPzogQXJyYXk8c3RyaW5nIHwgT2JqZWN0PjsgLy/kuI5zdG9yZeS4gOi1t+eUqFxyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxzdHJpbmc+O1xyXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBhbnksIGU/OiBhbnkpID0+IHZvaWQ7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudDxJUmFkaW9Hcm91cFByb3BzPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGRhdGFTdG9yZTogW10sXHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXN0ZW1cIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGxldCB7IHZhbHVlRmllbGQgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHtcclxuICAgICAgICB1cmwsXHJcbiAgICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgICAgdmlld25hbWUsXHJcbiAgICAgICAgY2FjaGVkLFxyXG4gICAgICAgIGNhY2hlS2V5LFxyXG4gICAgICAgIC4uLnN0b3Jlc1xyXG4gICAgICB9ID0gc3RvcmU7XHJcbiAgICAgIGlmICghdXJsICYmICFvcHRpb25zICYmICFkYXRhICYmICF2aWV3bmFtZSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHlkoxvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICBuZXdEYXRhLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKGl0ZW0pID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9O1xyXG4gICAgICB2YXIgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgbGV0IGRhdGFTb3VyY2UgPSBfdGhpcy5jb252ZXJ0RGF0YShnZXRBbGxEYXRhKGRhdGEpKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBkYXRhU291cmNlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgZGF0YVNvdXJjZTogX3RoaXMuY29udmVydERhdGEoZ2V0QWxsRGF0YShkYXRhKSksXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsID8gdXJsIDogcmVxdWVzdFZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUFjdGl2ZUNoYW5nZShlKSB7XHJcbiAgICBjb25zdCB7IGN1c3RvbWl6ZSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoY3VzdG9taXplKSB7XHJcbiAgICAgIG9uQ2hhbmdlICYmIG9uQ2hhbmdlKGUpO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB2YWx1ZTogZSxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbnZlcnREYXRhKGRhdGEpIHtcclxuICAgIGxldCB7IHN0b3JlID0ge30sIHZhbHVlRmllbGQsIGxhYmVsRmllbGQgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuXHJcbiAgICB2YWx1ZUZpZWxkID0gdmFsdWVGaWVsZCA/IHZhbHVlRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGFiZWxGaWVsZCA9IGxhYmVsRmllbGQgPyBsYWJlbEZpZWxkIDogdmlld25hbWUgPyBcImRpY3RWYWx1ZVwiIDogXCJsYWJlbFwiO1xyXG4gICAgbGV0IGRhdGFTb3VyZSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtpXSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgIGxldCBvYmogPSB7IC4uLmRhdGFbaV0gfTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgdmFsdWUgPSBkYXRhW2ldW3ZhbHVlRmllbGRdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgZGF0YVtpXVt2XSA6IHZhbHVlICsgXCIsXCIgKyBkYXRhW2ldW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICBsYWJlbCA9IGRhdGFbaV1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBkYXRhW2ldW2xdIDogbGFiZWwgKyBcIi1cIiArIGRhdGFbaV1bbF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JqLmxhYmVsID0gbGFiZWw7XHJcbiAgICAgICAgb2JqLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgb2JqLmRpc2FibGVkID0gZGF0YVtpXS5kaXNhYmxlZCA/IGRhdGFbaV0uZGlzYWJsZWQgOiBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBvYmogPSB7fSBhcyB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgICAgIG9iai5sYWJlbCA9IGRhdGFbaV07XHJcbiAgICAgICAgb2JqLnZhbHVlID0gZGF0YVtpXTtcclxuICAgICAgICBvYmouZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICBkYXRhU291cmUucHVzaChvYmopO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YVNvdXJlO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuY29udmVydERhdGEoZGF0YSA/IGRhdGEgOiBvcHRpb25zKSxcclxuICAgICAgICBkYXRhU3RvcmU6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICBjb25zdCB7IGRhdGFTdG9yZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICBpZiAoZGF0YSB8fCBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShkYXRhU3RvcmUpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5jb252ZXJ0RGF0YShuZXdEYXRhKSxcclxuICAgICAgICAgIGRhdGFTdG9yZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY3VzdG9taXplID0gZmFsc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgcmFkaW9zOiBhbnk7XHJcbiAgICByYWRpb3MgPSBjaGlsZHJlbjtcclxuICAgIGNvbnN0IGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNoaWxkcmVuKTtcclxuICAgIGlmIChjdXN0b21pemUpIHtcclxuICAgICAgaWYgKGlzQXJyYXkpIHtcclxuICAgICAgICByZXR1cm4gcmFkaW9zLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBsZXQgaXNBY3RpdmUgPSB0aGlzLnByb3BzLnZhbHVlID09PSBjaGlsZC5wcm9wcy52YWx1ZSA/IHRydWUgOiBmYWxzZTtcclxuICAgICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcclxuICAgICAgICAgICAgbGFiZWw6IGNoaWxkLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICB2YWx1ZTogY2hpbGQucHJvcHMudmFsdWUsXHJcbiAgICAgICAgICAgIGFjdGl2ZTogaXNBY3RpdmUsXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6IHRoaXMuaGFuZGxlQWN0aXZlQ2hhbmdlLmJpbmQodGhpcywgY2hpbGQucHJvcHMudmFsdWUpLFxyXG4gICAgICAgICAgICBrZXk6IGluZGV4LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGlzQWN0aXZlID0gdGhpcy5wcm9wcy52YWx1ZSA9PT0gcmFkaW9zLnByb3BzLnZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQocmFkaW9zLCB7XHJcbiAgICAgICAgICBsYWJlbDogcmFkaW9zLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgdmFsdWU6IHJhZGlvcy5wcm9wcy52YWx1ZSxcclxuICAgICAgICAgIGFjdGl2ZTogaXNBY3RpdmUsXHJcbiAgICAgICAgICBvbkNsaWNrOiB0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMsIHJhZGlvcy5wcm9wcy52YWx1ZSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBjb25zdCBSYWRpb1Byb3BzID0gb21pdCh7IC4uLnBhcmFtcyB9LCBbXHJcbiAgICAgICAgXCJzdG9yZVwiLFxyXG4gICAgICAgIFwibGFiZWxGaWVsZFwiLFxyXG4gICAgICAgIFwidmFsdWVGaWVsZFwiLFxyXG4gICAgICAgIFwiY3VzdG9taXplXCIsXHJcbiAgICAgICAgXCJvbkNoYW5nZVwiLFxyXG4gICAgICAgIFwiYWRkRGF0YVwiLFxyXG4gICAgICAgIFwiZGVsZXRlRGF0YVwiLFxyXG4gICAgICBdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgPFJhZGlvLkdyb3VwXHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICBvcHRpb25zPXt0aGlzLnN0YXRlLmRhdGFTb3VyY2V9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUFjdGl2ZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4uUmFkaW9Qcm9wc31cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -308,8 +308,9 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
308
308
  children = _this$props3.children,
309
309
  _this$props3$store = _this$props3.store,
310
310
  store = _this$props3$store === void 0 ? {} : _this$props3$store;
311
+ var labelField = this.props.labelField;
311
312
  var viewname = store.viewname;
312
- var labelField = viewname ? "dictValue" : "label";
313
+ labelField = labelField ? labelField : viewname ? "dictValue" : "label";
313
314
 
314
315
  if (filterOption) {
315
316
  var result = [];
@@ -377,10 +378,12 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
377
378
  _this$props4$store = _this$props4.store,
378
379
  store = _this$props4$store === void 0 ? {} : _this$props4$store,
379
380
  _this$props4$valueTyp = _this$props4.valueType,
380
- valueType = _this$props4$valueTyp === void 0 ? "string" : _this$props4$valueTyp;
381
+ valueType = _this$props4$valueTyp === void 0 ? "string" : _this$props4$valueTyp,
382
+ labelField = _this$props4.labelField,
383
+ valueField = _this$props4.valueField;
381
384
  var viewname = store.viewname;
382
- var valueField = viewname ? "dictKey" : "value";
383
- var labelField = viewname ? "dictValue" : "label";
385
+ valueField = valueField ? valueField : viewname ? "dictKey" : "value";
386
+ labelField = labelField ? labelField : viewname ? "dictValue" : "label";
384
387
  return optionData.map(function (item) {
385
388
  var value;
386
389
 
@@ -526,4 +529,4 @@ _defineProperty(NSCSelect, "Option", Option);
526
529
  _defineProperty(NSCSelect, "OptGroup", OptGroup);
527
530
 
528
531
  export { NSCSelect as default };
529
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2Uvc2VsZWN0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJPcHRpb24iLCJPcHRHcm91cCIsIk5TQ1NlbGVjdCIsInByb3BzIiwiZGF0YVNvdXJjZSIsInNlbGVjdFZhbHVlIiwiYWxsRGF0YVNvdXJjZSIsImNoaWxkcmVuIiwiYWxsQ2hpbGRyZW4iLCJkYXRhIiwic3RvcmUiLCJvcHRpb25zIiwiYWRkRGF0YSIsImRlbGV0ZURhdGEiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwidmFsdWVGaWVsZCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwicmVxdWVzdFZpZXdVcmwiLCJnZXRBbGxEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInNwbGljZURhdGEiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2YWx1ZSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJwdXNoIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwibmV3UHJvcHMiLCJuZXdTdGF0ZSIsIlNuYXBzaG90IiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXRlQ2hpbGRyZW5Qcm9wcyIsInMiLCJjaGlsZHJlblByb3BzIiwiYyIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiZGlzYWJsZWQiLCJzaG93R3JvdXAiLCJvcHRHcm91cERhdGEiLCJncm91cE5hbWUiLCJvcHRpb24iLCJyZW5kZXJPcHRpb24iLCJvcHRHcm91cCIsIk9iamVjdCIsImtleXMiLCJvbkNoYW5nZSIsIm9wZW4iLCJyZXNldERhdGEiLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsImNsYXNzTmFtZSIsImJpbmQiLCJvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSIsInJlbmRlckNoaWxkcmVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUVBLE9BQU9DLEtBQVAsTUFBa0MsYUFBbEM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUVBLE9BQU9DLFdBQVAsTUFBd0IsY0FBeEI7QUFDQSxJQUFRQyxNQUFSLFdBQVFBLE1BQVI7QUFBQSxJQUFnQkMsUUFBaEIsV0FBZ0JBLFFBQWhCOztJQWVxQkMsUzs7Ozs7QUFXbkIscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLEtBQU47O0FBRGlCLDZEQVJYO0FBQ05DLE1BQUFBLFVBQVUsRUFBRSxFQUROO0FBRU5DLE1BQUFBLFdBQVcsRUFBRSxJQUZQO0FBR05DLE1BQUFBLGFBQWEsRUFBRSxFQUhUO0FBSU5DLE1BQUFBLFFB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YWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFBpbnlpbk1hdGNoIGZyb20gXCJwaW55aW4tbWF0Y2hcIjtcclxuY29uc3QgeyBPcHRpb24sIE9wdEdyb3VwIH0gPSBTZWxlY3Q7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFByb3BzIGV4dGVuZHMgU2VsZWN0UHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlQnJlYWs/OiBzdHJpbmc7IC8v5aSa5LiqdmFsdWXkvb/nlKjnmoTliIbpmpTnrKZcclxuICB2YWx1ZVR5cGU/OiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIjtcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgdmlld3R5cGUgPSBcInN5c3RlbVwiLFxyXG4gICAgICAuLi5zdG9yZXNcclxuICAgIH0gPSBzdG9yZTtcclxuICAgIGNvbnN0IHZhbHVlRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgbGV0IHsgdmlld1VybCwgdmlld0JpelVybCB9ID0gY29uZmlnKCk7XHJcbiAgICBsZXQgcmVxdWVzdFZpZXdVcmwgPSB2aWV3dHlwZSA9PSBcInN5c3RlbVwiID8gdmlld1VybCA6IHZpZXdCaXpVcmw7XHJcbiAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICBpZiAoYWRkRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVsZXRlRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHNwbGljZURhdGEgPSBbXTtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBzcGxpY2VEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHNwbGljZURhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh44CBb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgcmVxdWVzdFZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjaGlsZHJlbjogYWxsQ2hpbGRyZW4gfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5hbGxEYXRhU291cmNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICAgIGFsbERhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBTbmFwc2hvdCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhbGxEYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlQ2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGFsbENoaWxkcmVuLm1hcCgoczogYW55KSA9PiB7XHJcbiAgICAgICAgc3RhdGVDaGlsZHJlblByb3BzLnB1c2gocy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgY2hpbGRyZW4ubWFwKChjOiBhbnkpID0+IHtcclxuICAgICAgICBjaGlsZHJlblByb3BzLnB1c2goYy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3RhdGVDaGlsZHJlblByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hpbGRyZW5Qcm9wcylcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb25TZWFyY2godmFsdWUpIHtcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGZpbHRlck9wdGlvbiA9IHRydWUsIG9uU2VhcmNoLCBjaGlsZHJlbiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgbGV0IGxhYmVsRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IHN0b3JlID0ge30sIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHZpZXduYW1lIH0gPSBzdG9yZTtcclxuICAgIGNvbnN0IHZhbHVlRmllbGQgPSB2aWV3bmFtZSA/IFwiZGljdEtleVwiIDogXCJ2YWx1ZVwiO1xyXG4gICAgY29uc3QgbGFiZWxGaWVsZCA9IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiXHJcbiAgICAgICAgICAgID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pXHJcbiAgICAgICAgICAgIDogaXRlbVt2YWx1ZUZpZWxkXSArIFwiXCI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgcHJvcHMgPSB7XHJcbiAgICAgIGZpbHRlck9wdGlvbjogZmFsc2UsXHJcbiAgICAgIHNob3dTZWFyY2g6IHRydWUsXHJcbiAgICAgIG9wdGlvbkZpbHRlclByb3A6IFwibGFiZWxcIixcclxuICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oupXCIsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgbGV0IHsgYW50ZFN0eWxlIH0gPSBjb25maWcoKTtcclxuICAgIGlmICgoZGVmYXVsdFN0eWxlIHx8IGFudGRTdHlsZSkgJiYgZGVmYXVsdFN0eWxlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
532
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2Uvc2VsZWN0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJPcHRpb24iLCJPcHRHcm91cCIsIk5TQ1NlbGVjdCIsInByb3BzIiwiZGF0YVNvdXJjZSIsInNlbGVjdFZhbHVlIiwiYWxsRGF0YVNvdXJjZSIsImNoaWxkcmVuIiwiYWxsQ2hpbGRyZW4iLCJkYXRhIiwic3RvcmUiLCJvcHRpb25zIiwiYWRkRGF0YSIsImRlbGV0ZURhdGEiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwidmFsdWVGaWVsZCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwicmVxdWVzdFZpZXdVcmwiLCJnZXRBbGxEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInNwbGljZURhdGEiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2YWx1ZSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJwdXNoIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwibmV3UHJvcHMiLCJuZXdTdGF0ZSIsIlNuYXBzaG90IiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXRlQ2hpbGRyZW5Qcm9wcyIsInMiLCJjaGlsZHJlblByb3BzIiwiYyIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiZGlzYWJsZWQiLCJzaG93R3JvdXAiLCJvcHRHcm91cERhdGEiLCJncm91cE5hbWUiLCJvcHRpb24iLCJyZW5kZXJPcHRpb24iLCJvcHRHcm91cCIsIk9iamVjdCIsImtleXMiLCJvbkNoYW5nZSIsIm9wZW4iLCJyZXNldERhdGEiLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsImNsYXNzTmFtZSIsImJpbmQiLCJvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSIsInJlbmRlckNoaWxkcmVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUVBLE9BQU9DLEtBQVAsTUFBa0MsYUFBbEM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUVBLE9BQU9DLFdBQVAsTUFBd0IsY0FBeEI7QUFDQSxJQUFRQyxNQUFSLFdBQVFBLE1BQVI7QUFBQSxJQUFnQkMsUUFBaEIsV0FBZ0JBLFFBQWhCOztJQWVxQkMsUzs7Ozs7QUFXbkIscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLEtBQU47O0FBRGlCLDZEQVJYO0FBQ05DLE1BQUFBLFVBQVUsRUFBRSxFQUROO0FBRU5DLE1BQUFBLFdBQVcsRUFBRSxJQUZQO0FBR05DLE1BQUFBLGFBQWEsRUFBRSxFQUhUO0FBSU5DLE1BQUFBLFFB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QixDQUFrQyxJQUFsQztBQUozQixXQUtNbkcsS0FMTixFQU1NNEYsTUFOTixHQVFHLEtBQUtTLGNBQUwsRUFSSCxDQURGO0FBWUQ7QUFDRjs7OztFQTdYb0MvRyxhOztnQkFBbEJTLFMsWUFDSEYsTTs7Z0JBREdFLFMsY0FFREQsUTs7U0FGQ0MsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG4gIGFkZERhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5LuO5aKe5Yqg6aKd5aSW55qE5pWw5o2uXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PFN0cmluZz47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzliKDpmaTku47mlbDmja7lupPkuK3ojrflj5bliLDnmoTmjIflrprmlbDmja5cclxuICB2YWx1ZUJyZWFrPzogc3RyaW5nOyAvL+WkmuS4qnZhbHVl5L2/55So55qE5YiG6ZqU56ymXHJcbiAgdmFsdWVUeXBlPzogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCI7XHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RQcm9wcz4ge1xyXG4gIHN0YXRpYyBPcHRpb24gPSBPcHRpb247XHJcbiAgc3RhdGljIE9wdEdyb3VwID0gT3B0R3JvdXA7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIHNlbGVjdFZhbHVlOiBudWxsLFxyXG4gICAgYWxsRGF0YVNvdXJjZTogW10sXHJcbiAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgIGFsbENoaWxkcmVuOiBudWxsLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIHZpZXd0eXBlID0gXCJzeXN0ZW1cIixcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBjb25zdCB2YWx1ZUZpZWxkID0gdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxldCB7IHZpZXdVcmwsIHZpZXdCaXpVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHJlcXVlc3RWaWV3VXJsID0gdmlld3R5cGUgPT0gXCJzeXN0ZW1cIiA/IHZpZXdVcmwgOiB2aWV3Qml6VXJsO1xyXG4gICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzcGxpY2VEYXRhID0gW107XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHJlcXVlc3RWaWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldERhdGEoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRyZW46IGFsbENoaWxkcmVuIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgICBhbGxEYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYWxsRGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjb25zdCBzdGF0ZUNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBhbGxDaGlsZHJlbi5tYXAoKHM6IGFueSkgPT4ge1xyXG4gICAgICAgIHN0YXRlQ2hpbGRyZW5Qcm9wcy5wdXNoKHMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgY2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgY2hpbGRyZW5Qcm9wcy5wdXNoKGMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHN0YXRlQ2hpbGRyZW5Qcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KGNoaWxkcmVuUHJvcHMpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJPcHRpb24gPSB0cnVlLCBvblNlYXJjaCwgY2hpbGRyZW4sIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiXHJcbiAgICAgICAgICAgID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pXHJcbiAgICAgICAgICAgIDogaXRlbVt2YWx1ZUZpZWxkXSArIFwiXCI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgcHJvcHMgPSB7XHJcbiAgICAgIGZpbHRlck9wdGlvbjogZmFsc2UsXHJcbiAgICAgIHNob3dTZWFyY2g6IHRydWUsXHJcbiAgICAgIG9wdGlvbkZpbHRlclByb3A6IFwibGFiZWxcIixcclxuICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oupXCIsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgbGV0IHsgYW50ZFN0eWxlIH0gPSBjb25maWcoKTtcclxuICAgIGlmICgoZGVmYXVsdFN0eWxlIHx8IGFudGRTdHlsZSkgJiYgZGVmYXVsdFN0eWxlID09PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -64,6 +64,8 @@ declare class NSCTable extends React.Component<INSCTableProps> {
64
64
  sorter: any[];
65
65
  sortInfo: {};
66
66
  defaultSort: boolean;
67
+ checkColumn: any[];
68
+ defaultCheck: boolean;
67
69
  };
68
70
  listeners: {
69
71
  onBeforeLoad: any;