nsc-react-component 4.2.3 → 4.2.4

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.
@@ -551,4 +551,4 @@ export default class SettingTable extends React.Component {
551
551
  })));
552
552
  }
553
553
  }
554
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJCdXR0b24iLCJSZWFjdCIsIk5zY0NvbSIsIk5zY0ZpbGUiLCJOc2NSZXF1ZXN0IiwiTnNjVXRpbHMiLCJjbHMiLCJxdWVyeVN0cmluZyIsImdldExvY2FsU3RvcmUiLCJkYXlqcyIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJ0eXBlIiwibGVuZ3RoIiwibWFwIiwiaXRlbSIsImluZGV4IiwicGFnZVR5cGUiLCJrZXkiLCJvbkNsaWNrIiwiZXZlbnRPcHRpb24iLCJmdW5jIiwiRnVuY3Rpb24iLCJjb2RlIiwibmFtZSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJfcmVmMiIsInNlbGZDb2x1bW5CdXR0b24iLCJyZWNvcmQiLCJyZWNvcmRTaG93IiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJnZXQiLCJ4c3NGaWx0ZXIiLCJhdXRvUHJlZml4Iiwic2V0RmllbGREaXNhYmxlZCIsImRhdGEiLCJkaXNhYmxlZCIsImNvbHVtbnMiLCJuZXdDb2x1bW5zIiwib2JqIiwiX29iamVjdFNwcmVhZCIsImRhdGFJbmRleCIsImluZGV4T2YiLCJwcm9wcyIsInB1c2giLCJzZXRGaWVsZFZpc2libGUiLCJ2aXNpYmxlIiwiZWRpdG9yIiwic2V0RmllbGRQcm9wc0RhdGEiLCJwcm9wc0RhdGEiLCJqdW1wUGFnZSIsInBhdGhuYW1lIiwicXVlcnkiLCJpZCIsInRpdGxlIiwic2VydmljZU5hbWUiLCJzZXJ2aWNlUGF0aCIsIm9wZW5UeXBlIiwibmV3UXVlcnkiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsInBhcmVudCIsInBvc3RNZXNzYWdlIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsImxvY2F0aW9uIiwib3JpZ2luIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImdvIiwiZ2V0UHJvamVjdCIsInByb2plY3QiLCJkZWZhdWx0U3RhdGVWYWx1ZSIsInBhZ2VQcm9wcyIsInRyZWVQcm9wcyIsInN0b3JlIiwidXJsIiwiYXV0b0xvYWQiLCJ0YWJsZVByb3BzIiwic2VsZlRvb2xCdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInJlcyIsInN0YXRlIiwic2hvd1NlYXJjaCIsImRlZmF1bHRTZWFyY2giLCJ0YWJsZURhdGFSZXNvdXJjZSIsInNldFRpbWVvdXQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQyIiwiY3VycmVudCIsInRhYmxlTG9hZCIsInNldFNlYXJjaFBhcmFtcyIsImNvbXBvbmVudERpZE1vdW50IiwiZ2V0RGF0YSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsInNuYXBzaG90IiwidGFibGVDb2RlIiwic2V0U3RhdGUiLCJwdWJsaXNoZWQiLCJtZW51Q29kZSIsInRhYlBhcmFtcyIsImlzUHVibGlzaGVkIiwidGhlbiIsIl9wYWdlX3Byb3BzJHBlcm1pc3NpbyIsInRhYmxlX3Byb3BzIiwiSlNPTiIsInBhcnNlIiwidHJlZV9wcm9wcyIsInBhZ2VfcHJvcHMiLCJvdGhlcl9wcm9wcyIsIm90aGVyUGFyYW1zIiwiZm9ybV9wcm9wcyIsImZvcm1Qcm9wcyIsInBlcm1pc3Npb24iLCJoYXMiLCJVdGlscyIsInBhcmFtRnVuYyIsImNvbnZlclRhYlBhcmFtcyIsInJlcXVlc3RQYXJhbXMiLCJuZXdSZXF1ZXN0UGFyYW1zIiwicXVlcnlQYXJhbXMiLCJhZGRQYXJhbXMiLCJlZGl0b3JQYXJhbXMiLCJjb252ZXJQYXJhbXMiLCJvdGhlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIm5ld1BhcmFtcyIsImNvbHVtbkJ1dHRvbnMiLCJ0b29sQnV0dG9ucyIsIl9tZXNzYWdlIiwiZXJyb3IiLCJnZXRTZWFyY2hWYWx1ZXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQzIiwidmFsdWUiLCJjYWxsQmFjayIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ1IiwicmVxdWVzdENvbmZpZyIsInVuZGVmaW5lZCIsInRhYmxlUmVsb2FkIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NiIsImdldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDciLCJnZXRTZWxlY3RlZFJvd0RhdGFzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50OCIsInJlc2V0U2VsZWN0ZWRSb3dLZXlzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50OSIsInJlbmRlciIsImNsYXNzTmFtZSIsImJhc2VQcm9wcyIsInNldHRpbmdUcmVlUHJvcHMiLCJzZXR0aW5nVGFibGVQcm9wcyIsIl9leGNsdWRlZDIiLCJfdGhpcyIsImRlYXVsdEZ1bmNzIiwibmV3RGF0YSIsInNldEJ1dHRvbkxvYWRpbmciLCJnZXRDdXJyZW50UHJvamVjdCIsImNoaWxkcmVuIiwiY29kZVNlbGZCdXR0b25zIiwiY29kZWNvbHVtbkJ1dHRvbnMiLCJjb2RlRm9ybUJ1dHRvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZCIsIl9jaGlsZCRwcm9wcyIsIl9jaGlsZCRwcm9wczIiLCJfY2hpbGQkcHJvcHMzIiwiX2l0ZW0kcHJvcHMiLCJfaXRlbSRwcm9wczIiLCJfaXRlbSRwcm9wczMiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3Bpbm5pbmciLCJfZXh0ZW5kcyIsInJlZiIsIm9uSGlkZUZvcm0iLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQxMCIsImhpZGVGb3JtIiwiaW5pdERhdGEiLCJmb3JtVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvU2V0dGluZ1RhYmxlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VFZmZlY3QsIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBCYXNlUGFnZSwgeyBOU0NCYXNlQmFnZVByb3BzIH0gZnJvbSBcIi4uL0Jhc2VQYWdlXCI7XHJcbmltcG9ydCBTcGluIGZyb20gXCIuLi8uLi9iYXNlL3NwaW5cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgTnNjQ29tIGZyb20gXCIuL2NvbVwiO1xyXG5pbXBvcnQgTnNjRmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IE5zY1JlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCAqIGFzIE5zY1V0aWxzIGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgcXVlcnlTdHJpbmcgZnJvbSBcInF1ZXJ5LXN0cmluZ1wiO1xyXG5pbXBvcnQgeyBnZXRMb2NhbFN0b3JlIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IHsgY29udmVyRnVuY3Rpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuLy8gaW1wb3J0IHsgaGlzdG9yeSB9IGZyb20gJ3VtaSdcclxuLy8gaW1wb3J0IHsgZ2V0Q29uZmlnRGF0YSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbmNvbnN0IGRlZmF1bFV0aWwgPSB7XHJcbiAgTnNjQ29tLFxyXG4gIE5zY0ZpbGUsXHJcbiAgTnNjUmVxdWVzdCxcclxuICBOc2NVdGlscyxcclxuICBkYXlqcyxcclxuICBjcmVhdGVFbGVtZW50OiBSZWFjdC5jcmVhdGVFbGVtZW50LFxyXG59IGFzIGFueTtcclxuY29uc3QgcmVuZGVyU2VsZlRvb2xCdXR0b24gPSAoe1xyXG4gIHNlbGZCdXR0b24sXHJcbiAgcGFnZVJlZixcclxuICBmdW5jcyxcclxuICBsb2FkaW5nLFxyXG4gIHR5cGUgPSBcInRvb2xCdXR0b25cIixcclxufSkgPT4ge1xyXG4gIGlmIChzZWxmQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZCdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBwYWdlVHlwZT17dHlwZX1cclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHsgcGFnZVJlZjogcGFnZVJlZiwgZnVuY3M6IGZ1bmNzIH07XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBpdGVtLm9uQ2xpY2spO1xyXG4gICAgICAgICAgICBmdW5jKGRlZmF1bFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nW2l0ZW0uY29kZV0gPT09IHRydWUgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHJlbmRlclNlbGZDb2x1bW5CdXR0b24gPSAoeyBzZWxmQ29sdW1uQnV0dG9uLCBwYWdlUmVmLCBmdW5jcyB9KSA9PiB7XHJcbiAgaWYgKHNlbGZDb2x1bW5CdXR0b24ubGVuZ3RoID09IDApIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc2VsZkNvbHVtbkJ1dHRvbi5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHBhZ2VUeXBlPVwiY29sdW1uQnV0dG9uXCJcclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHtcclxuICAgICAgICAgICAgICBwYWdlUmVmOiBwYWdlUmVmLFxyXG4gICAgICAgICAgICAgIHJlY29yZDogcmVjb3JkLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiBmdW5jcyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIGl0ZW0ub25DbGljayk7XHJcbiAgICAgICAgICAgIGZ1bmMoZGVmYXVsVXRpbCwgZXZlbnRPcHRpb24pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGNvZGU9e2l0ZW0uY29kZX1cclxuICAgICAgICAgIHJlY29yZFNob3c9e2l0ZW0ucmVjb3JkU2hvd31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbS5uYW1lfVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgZ2V0UGFnZURhdGEgPSAocGFyYW1zOiBhbnkpID0+IHtcclxuICByZXR1cm4gTnNjUmVxdWVzdC5nZXQoYC9qcXVpY2stc2V0dGluZy9zZXR0aW5nL3RhYmxlL2luZm8vYCwge1xyXG4gICAgcGFyYW1zLFxyXG4gICAgeHNzRmlsdGVyOiBmYWxzZSxcclxuICAgIGF1dG9QcmVmaXg6IHRydWUsXHJcbiAgfSk7XHJcbn07XHJcblxyXG4vL+iuvue9ruihqOWNleWtl+auteWPquivu1xyXG5jb25zdCBzZXRGaWVsZERpc2FibGVkID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgZGlzYWJsZWQpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuLy/orr7nva7ooajljZXlrZfmrrXpmpDol49cclxuY29uc3Qgc2V0RmllbGRWaXNpYmxlID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgdmlzaWJsZSkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgb2JqLmVkaXRvciA9IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuXHJcbmNvbnN0IHNldEZpZWxkUHJvcHNEYXRhID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgcHJvcHNEYXRhKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSkge1xyXG4gICAgICBsZXQgcHJvcHMgPSBvYmoucHJvcHMgPyB7IC4uLm9iai5wcm9wcyB9IDoge307XHJcbiAgICAgIHByb3BzLmRhdGEgPSBwcm9wc0RhdGE7XHJcbiAgICAgIG9iai5wcm9wcyA9IHByb3BzO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcbmludGVyZmFjZSBJUGFyYW1zIHtcclxuICBwYXRobmFtZT86IHN0cmluZztcclxuICBxdWVyeT86IGFueTtcclxuICBpZD86IHN0cmluZztcclxuICBzZXJ2aWNlTmFtZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzZXJ2aWNlUGF0aD86IHN0cmluZztcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBvcGVuVHlwZT86IG51bWJlcjtcclxufVxyXG5jb25zdCBqdW1wUGFnZSA9IChwYXJhbXM6IElQYXJhbXMsIHR5cGU/OiBcImFkZFRhYlwiIHwgXCJqdW1wTWVudVwiKSA9PiB7XHJcbiAgY29uc3Qge1xyXG4gICAgcGF0aG5hbWUsXHJcbiAgICBxdWVyeSA9IHt9LFxyXG4gICAgaWQsXHJcbiAgICB0aXRsZSxcclxuICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgc2VydmljZVBhdGgsXHJcbiAgICBvcGVuVHlwZSxcclxuICB9ID0gcGFyYW1zO1xyXG4gIGNvbnN0IG5ld1F1ZXJ5ID0geyAuLi5xdWVyeSB9IGFzIGFueTtcclxuICBjb25zdCB1cmxQYXJhbXMgPSBxdWVyeVN0cmluZy5zdHJpbmdpZnkobmV3UXVlcnkpO1xyXG4gIGNvbnN0IHBhdGggPSB1cmxQYXJhbXMgPyBgJHtwYXRobmFtZX0/JHt1cmxQYXJhbXN9YCA6IHBhdGhuYW1lO1xyXG4gIC8vQHRzLWlnbm9yZVxyXG4gIGlmICh3aW5kb3cuX19QT1dFUkVEX0JZX1FJQU5LVU5fXykge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwi5paw5qCH562+XCIsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSwgLy/phY3nva7nmoTlvq7lupTnlKjlkI3np7BcclxuICAgICAgc2VydmljZVBhdGg6IHNlcnZpY2VQYXRoLCAvL+mFjee9rueahOW+ruW6lOeUqOWFpeWPo+WcsOWdgFxyXG4gICAgICBwYXRoOiBwYXRoLCAvL+aWsOagh+etvueahHVybCzmsqHphY3nva5zZXJ2aWNlTmFtZSBwYXRo5Li65a6M5pW06Lev5b6EXHJcbiAgICAgIGlkOiBpZCwgLy/oh6rlrprkuYnllK/kuIDlgLxcclxuICAgICAgb3BlblR5cGU6IG9wZW5UeXBlID8gb3BlblR5cGUgOiA0LCAvL+aJk+W8gOaWueW8jyA05L2N5b6u5YmN56uvLCAz5Li6aWZyYW1lICzpu5jorqQgM1xyXG4gICAgfTtcclxuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXHJcbiAgICAgIHtcclxuICAgICAgICBldmVudFR5cGU6IHR5cGUgPyB0eXBlIDogXCJhZGRUYWJcIixcclxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUgPyBzZXJ2aWNlTmFtZSA6IFwic2V0dGluZy13ZWJcIixcclxuICAgICAgICBwYXlsb2FkOiB0eXBlID8gcGFyYW1zIDogZGF0YSxcclxuICAgICAgfSxcclxuICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpblxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBcIlwiLCBwYXRoKTtcclxuICAgIHdpbmRvdy5oaXN0b3J5LmdvKCk7XHJcbiAgfVxyXG59O1xyXG5jb25zdCBnZXRQcm9qZWN0ID0gKCkgPT4ge1xyXG4gIGNvbnN0IHByb2plY3QgPSBnZXRMb2NhbFN0b3JlKHsgbmFtZTogXCJuc2MtaG9tZS1wcm9qZWN0XCIgfSkgfHwge307XHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn07XHJcbmludGVyZmFjZSBJUHJvcHMge1xyXG4gIHRhYmxlQ29kZTogc3RyaW5nO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBmdW5jcz86IGFueTtcclxuICBwdWJsaXNoZWQ/OiBib29sZWFuO1xyXG4gIGluc3RhbmNlUmVmPzogYW55O1xyXG4gIHRhYlBhcmFtcz86IGFueTtcclxuICBvbkNhbGxCYWNrcz86IHtcclxuICAgIHRyZWVTZWxlY3RDYWxsQmFjaz86IGFueTsgLy/moJHngrnlh7vmn6Xor6LlkI7lm57osINcclxuICAgIG9uUXVlcnlDYWxsQmFjaz86IGFueTsgLy/mn6Xor6Llm57osIPvvIzmn6Xor6LmlbDmja7lkI7lm57osINcclxuICAgIG9uU3VtYml0Q2FsbEJhY2s/OiBhbnk7IC8v5L+d5a2Y5Zue6LCD77yM5L+d5a2Y5pWw5o2u5oiQ5Yqf5ZCO5Zue6LCDXHJcbiAgICBvbkRlbGV0ZUNhbGxCYWNrPzogYW55OyAvL+WIoOmZpOaMiemSruWbnuiwg++8jOWIoOmZpOaVsOaNruWQjuaJp+ihjFxyXG4gICAgb25FZGl0b3JDYWxsQmFjaz86IGFueTsgLy/nvJbovpHmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uQWRkQ2FsbEJhY2s/OiBhbnk7IC8v5re75Yqg5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvblNlYXJjaENhbGxCYWNrPzogYW55OyAvL+WIl+ihqOafpeivouaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gIH07XHJcbiAgYmFzZVByb3BzPzogTlNDQmFzZUJhZ2VQcm9wcztcclxuICBhdXRvTG9hZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmNvbnN0IGRlZmF1bHRTdGF0ZVZhbHVlID0ge1xyXG4gIHBhZ2VQcm9wczoge30gYXMgYW55LFxyXG4gIHRyZWVQcm9wczogeyBzdG9yZTogeyB1cmw6IFwiXCIsIGF1dG9Mb2FkOiBmYWxzZSB9IH0gYXMgYW55LFxyXG4gIHRhYmxlUHJvcHM6IHt9IGFzIGFueSxcclxuICBzZWxmVG9vbEJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHNlbGZDb2x1bW5CdXR0b246IFtdIGFzIGFueSxcclxuICBzZWxmRm9ybUJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gIGRlZmF1bHRDb2x1bW5zOiBbXSBhcyBhbnksXHJcbiAgb3RoZXJQcm9wczoge30gYXMgYW55LFxyXG4gIGJ1dHRvbkxvYWRpbmc6IHt9IGFzIGFueSxcclxuICBmb3JtUGFnZVByb3BzOiB7fSBhcyBhbnksXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldHRpbmdUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgLi4uZGVmYXVsdFN0YXRlVmFsdWUsXHJcbiAgfTtcclxuICBwYWdlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShcclxuICAgIHByZXZQcm9wczogUmVhZG9ubHk8SVByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8YW55PixcclxuICAgIHNuYXBzaG90PzogYW55XHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAocHJldlByb3BzLnRhYmxlQ29kZSAhPSB0aGlzLnByb3BzLnRhYmxlQ29kZSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIC4uLmRlZmF1bHRTdGF0ZVZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdERhdGEgPSAocmVzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgb3RoZXJQcm9wcywgcGFnZVByb3BzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKFxyXG4gICAgICBwYWdlUHJvcHMuc2hvd1NlYXJjaCAhPT0gZmFsc2UgJiZcclxuICAgICAgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgIG90aGVyUHJvcHMudGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIlxyXG4gICAgKSB7XHJcbiAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoKTtcclxuICAgICAgY29uc3QgcGFyYW1zID0gZnVuYyhkZWZhdWxVdGlsLCB7IHBhZ2VSZWY6IHRoaXMucGFnZVJlZiB9KTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZCh7IC4uLnBhcmFtcyB9KTtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2V0U2VhcmNoUGFyYW1zKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICB9LCA1MCk7IC8v55u05o6l6K6+572u77yMcGFnZVJlZuayoee7keWumu+8jOaaguaXtumAmui/h+W7tui/n+WHveaVsOi/m+ihjOino+WGs1xyXG4gICAgfVxyXG4gIH07XHJcbiAgLy8g6I635Y+W5pWw5o2uXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIC8vIOS7jnByb3Bz5Lit6I635Y+WdGFibGVDb2Rl44CBcHVibGlzaGVk44CBbWVudUNvZGVcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwYWdlTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyB0YWJsZUNvZGUsIHB1Ymxpc2hlZCA9IHRydWUsIG1lbnVDb2RlLCB0YWJQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmICh0YWJsZUNvZGUpIHtcclxuICAgICAgLy8g5a6a5LmJ5Y+C5pWwXHJcbiAgICAgIGxldCBwYXJhbXMgPSB7IGNvZGU6IHRhYmxlQ29kZSB9IGFzIGFueTtcclxuICAgICAgLy8g5aaC5p6ccHVibGlzaGVk5Li6dHJ1ZVxyXG4gICAgICBpZiAocHVibGlzaGVkKSB7XHJcbiAgICAgICAgLy8g6K6+572u5Y+C5pWwaXNQdWJsaXNoZWTkuLoxXHJcbiAgICAgICAgcGFyYW1zLmlzUHVibGlzaGVkID0gMTtcclxuICAgICAgfVxyXG4gICAgICAvLyDosIPnlKhnZXRQYWdlRGF0YeaWueazleiOt+WPluaVsOaNrlxyXG4gICAgICBnZXRQYWdlRGF0YSh7IC4uLnBhcmFtcyB9KS50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEpIHtcclxuICAgICAgICAgIGxldCB0YWJsZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudGFibGVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHRyZWVfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnRyZWVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHBhZ2VfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnBhZ2VQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IG90aGVyX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5vdGhlclBhcmFtcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IGZvcm1fcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLmZvcm1Qcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucGVybWlzc2lvbj8uaGFzID09IHRydWUpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uLm1lbnVDb2RlID0gbWVudUNvZGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocHVibGlzaGVkID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBhZ2VfcHJvcHMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAocGFnZV9wcm9wcy5zaG93U2VhcmNoICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgIG90aGVyX3Byb3BzPy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LnRhYmxlRGF0YVJlc291cmNlID09IFwidXJsXCIpIHx8XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuYXV0b0xvYWQgPT09IGZhbHNlXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGFibGVfcHJvcHMuc3RvcmUuYXV0b0xvYWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0YWJQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgVXRpbHMgPSBkZWZhdWxVdGlsIHx8IHt9O1xyXG4gICAgICAgICAgICBsZXQgcGFyYW1GdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgdGFiUGFyYW1zKTtcclxuICAgICAgICAgICAgbGV0IGNvbnZlclRhYlBhcmFtcyA9IHBhcmFtRnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlX3Byb3BzLnJlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICBsZXQgeyByZXF1ZXN0UGFyYW1zID0ge30gfSA9IHBhZ2VfcHJvcHM7XHJcbiAgICAgICAgICAgICAgbGV0IG5ld1JlcXVlc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBuZXdSZXF1ZXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgcmVxdWVzdFBhcmFtc1trZXldKTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGNvbnZlclBhcmFtcyA9IGZ1bmMoVXRpbHMpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIC4uLm90aGVyIH0gPSBjb252ZXJQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBuZXdQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMsIC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgICAgICAgICAuLi5vdGhlcixcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0gbmV3UGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0geyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHsgLi4ubmV3UmVxdWVzdFBhcmFtcyB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgICBlZGl0b3JQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwYWdlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnBhZ2VfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0cmVlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRyZWVfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0YWJsZVByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAuLi50YWJsZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG90aGVyUHJvcHM6IHsgLi4ub3RoZXJfcHJvcHMgfSxcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLmNvbHVtbkJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIHNlbGZUb29sQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLnRvb2xCdXR0b25zKSB8fCBbXSxcclxuICAgICAgICAgICAgICBkZWZhdWx0Q29sdW1uczogcGFnZV9wcm9wcy5jb2x1bW5zLFxyXG4gICAgICAgICAgICAgIGZvcm1QYWdlUHJvcHM6IGZvcm1fcHJvcHMsXHJcbiAgICAgICAgICAgICAgc2VsZkZvcm1CdXR0b246IGZvcm1fcHJvcHM/LnNlbGZCdXR0b24gfHwgW10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5pyq5om+5Yiw6YWN572u5L+h5oGv77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIG9uU2VhcmNoKCkge31cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWFyY2hWYWx1ZXMoKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbiAgc2V0U2VhcmNoUGFyYW1zKHBhcmFtcywgY2FsbEJhY2spIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMocGFyYW1zKTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55LCByZXF1ZXN0Q29uZmlnID0ge30pIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZUxvYWQocGFyYW1zLCByZXF1ZXN0Q29uZmlnKTtcclxuICB9XHJcbiAgdGFibGVSZWxvYWQocGFyYW1zID0ge30sIGF1dG9Mb2FkID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlUmVsb2FkKHBhcmFtcywgYXV0b0xvYWQpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWxlY3RlZFJvd0RhdGFzKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8ucmVzZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjbGFzc05hbWUsXHJcbiAgICAgIGZ1bmNzID0ge30sXHJcbiAgICAgIGJhc2VQcm9wcyA9IHt9IGFzIE5TQ0Jhc2VCYWdlUHJvcHMsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgcGFnZVByb3BzLFxyXG4gICAgICB0cmVlUHJvcHMsXHJcbiAgICAgIHRhYmxlUHJvcHMsXHJcbiAgICAgIHNlbGZUb29sQnV0dG9uLFxyXG4gICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICBwYWdlTG9hZGluZyxcclxuICAgICAgZGVmYXVsdENvbHVtbnMsXHJcbiAgICAgIGJ1dHRvbkxvYWRpbmcgPSB7fSxcclxuICAgICAgZm9ybVBhZ2VQcm9wcyA9IHt9LFxyXG4gICAgICBzZWxmRm9ybUJ1dHRvbixcclxuICAgIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB0cmVlUHJvcHM6IHNldHRpbmdUcmVlUHJvcHMgPSB7fSxcclxuICAgICAgdGFibGVQcm9wczogc2V0dGluZ1RhYmxlUHJvcHMgPSB7fSxcclxuICAgICAgLi4ub3RoZXJQcm9wc1xyXG4gICAgfSA9IGJhc2VQcm9wcztcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAvLyBjb25zdCB7c3RvcmU6dGFibGVTdG9yZX1cclxuICAgIC8vIGNvbnN0IHsgc3RvcmU6IHNldHRpbmdUYWJsZVN0b3JlIH0gPSBzZXR0aW5nVGFibGVQcm9wcztcclxuICAgIGNvbnN0IGRlYXVsdEZ1bmNzID0ge1xyXG4gICAgICBzZXRGaWVsZERpc2FibGVkOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZERpc2FibGVkKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RmllbGRWaXNpYmxlOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFZpc2libGUocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFByb3BzRGF0YTogKGtleSwgZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFByb3BzRGF0YShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkYXRhKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaGlzdG9yeTogKHBhcmFtcywgdHlwZSkgPT4ge1xyXG4gICAgICAgIGp1bXBQYWdlKHBhcmFtcywgdHlwZSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEJ1dHRvbkxvYWRpbmcoY29kZSwgbG9hZGluZykge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGJ1dHRvbkxvYWRpbmc6IHsgLi4uYnV0dG9uTG9hZGluZywgW2NvZGVdOiBsb2FkaW5nIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXRDdXJyZW50UHJvamVjdDogKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBnZXRQcm9qZWN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBjb2RlU2VsZkJ1dHRvbnMgPSBbXTtcclxuICAgIGxldCBjb2RlY29sdW1uQnV0dG9ucyA9IFtdO1xyXG4gICAgbGV0IGNvZGVGb3JtQnV0dG9ucyA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcclxuICAgICAgICAgIGl0ZW0ubWFwKChjaGlsZCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwiZm9ybUJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwiZm9ybUJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoXCJuc2MtZnJhbWV3b3JrLXRhYmxlcGFnZVwiLCBjbGFzc05hbWUpfT5cclxuICAgICAgICB7cGFnZUxvYWRpbmcgPyAoXHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgaGVpZ2h0OiBcIjEwMCVcIiB9fT5cclxuICAgICAgICAgICAgPFNwaW4gc3Bpbm5pbmc9e3BhZ2VMb2FkaW5nfT48L1NwaW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPEJhc2VQYWdlXHJcbiAgICAgICAgICAgIHsuLi5wYWdlUHJvcHN9XHJcbiAgICAgICAgICAgIHRyZWVQcm9wcz17eyAuLi50cmVlUHJvcHMsIC4uLnNldHRpbmdUcmVlUHJvcHMgfX1cclxuICAgICAgICAgICAgdGFibGVQcm9wcz17eyAuLi50YWJsZVByb3BzLCAuLi5zZXR0aW5nVGFibGVQcm9wcyB9fVxyXG4gICAgICAgICAgICBmb3JtUHJvcHM9e3t9fVxyXG4gICAgICAgICAgICBVdGlscz17eyAuLi5kZWZhdWxVdGlsIH19XHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5wYWdlUmVmfVxyXG4gICAgICAgICAgICBwYWdlUmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIG9uSGlkZUZvcm09eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IGRlZmF1bHRDb2x1bW5zIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGZ1bmNzPXt7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9fVxyXG4gICAgICAgICAgICBpbml0RGF0YT17dGhpcy5pbml0RGF0YX1cclxuICAgICAgICAgICAgZm9ybVBhZ2VQcm9wcz17e1xyXG4gICAgICAgICAgICAgIGZvcm1UeXBlOiBmb3JtUGFnZVByb3BzLmZvcm1UeXBlIHx8IFwibW9kYWxcIixcclxuICAgICAgICAgICAgICBwcm9wczogZm9ybVBhZ2VQcm9wcz8ucHJvcHMsXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHRhYmxlQ29kZT17dGhpcy5wcm9wcy50YWJsZUNvZGV9XHJcbiAgICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7cmVuZGVyU2VsZlRvb2xCdXR0b24oe1xyXG4gICAgICAgICAgICAgIHNlbGZCdXR0b246IHNlbGZUb29sQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgICBsb2FkaW5nOiB0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICB7Y29kZVNlbGZCdXR0b25zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge3JlbmRlclNlbGZDb2x1bW5CdXR0b24oe1xyXG4gICAgICAgICAgICAgIHNlbGZDb2x1bW5CdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVjb2x1bW5CdXR0b25zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge3JlbmRlclNlbGZUb29sQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQnV0dG9uOiBzZWxmRm9ybUJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICAgIHR5cGU6IFwiZm9ybUJ1dHRvblwiLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVGb3JtQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICA8L0Jhc2VQYWdlPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9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
554
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlUGFnZSIsIlNwaW4iLCJCdXR0b24iLCJSZWFjdCIsIk5zY0NvbSIsIk5zY0ZpbGUiLCJOc2NSZXF1ZXN0IiwiTnNjVXRpbHMiLCJjbHMiLCJxdWVyeVN0cmluZyIsImdldExvY2FsU3RvcmUiLCJkYXlqcyIsImRlZmF1bFV0aWwiLCJjcmVhdGVFbGVtZW50IiwicmVuZGVyU2VsZlRvb2xCdXR0b24iLCJfcmVmIiwic2VsZkJ1dHRvbiIsInBhZ2VSZWYiLCJmdW5jcyIsImxvYWRpbmciLCJ0eXBlIiwibGVuZ3RoIiwibWFwIiwiaXRlbSIsImluZGV4IiwicGFnZVR5cGUiLCJrZXkiLCJvbkNsaWNrIiwiZXZlbnRPcHRpb24iLCJmdW5jIiwiRnVuY3Rpb24iLCJjb2RlIiwibmFtZSIsInJlbmRlclNlbGZDb2x1bW5CdXR0b24iLCJfcmVmMiIsInNlbGZDb2x1bW5CdXR0b24iLCJyZWNvcmQiLCJyZWNvcmRTaG93IiwiZ2V0UGFnZURhdGEiLCJwYXJhbXMiLCJnZXQiLCJ4c3NGaWx0ZXIiLCJhdXRvUHJlZml4Iiwic2V0RmllbGREaXNhYmxlZCIsImRhdGEiLCJkaXNhYmxlZCIsImNvbHVtbnMiLCJuZXdDb2x1bW5zIiwib2JqIiwiX29iamVjdFNwcmVhZCIsImRhdGFJbmRleCIsImluZGV4T2YiLCJwcm9wcyIsInB1c2giLCJzZXRGaWVsZFZpc2libGUiLCJ2aXNpYmxlIiwiZWRpdG9yIiwic2V0RmllbGRQcm9wc0RhdGEiLCJwcm9wc0RhdGEiLCJqdW1wUGFnZSIsInBhdGhuYW1lIiwicXVlcnkiLCJpZCIsInRpdGxlIiwic2VydmljZU5hbWUiLCJzZXJ2aWNlUGF0aCIsIm9wZW5UeXBlIiwibmV3UXVlcnkiLCJ1cmxQYXJhbXMiLCJzdHJpbmdpZnkiLCJwYXRoIiwiY29uY2F0Iiwid2luZG93IiwiX19QT1dFUkVEX0JZX1FJQU5LVU5fXyIsInBhcmVudCIsInBvc3RNZXNzYWdlIiwiZXZlbnRUeXBlIiwicGF5bG9hZCIsImxvY2F0aW9uIiwib3JpZ2luIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImdvIiwiZ2V0UHJvamVjdCIsInByb2plY3QiLCJkZWZhdWx0U3RhdGVWYWx1ZSIsInBhZ2VQcm9wcyIsInRyZWVQcm9wcyIsInN0b3JlIiwidXJsIiwiYXV0b0xvYWQiLCJ0YWJsZVByb3BzIiwic2VsZlRvb2xCdXR0b24iLCJzZWxmRm9ybUJ1dHRvbiIsInBhZ2VMb2FkaW5nIiwiZGVmYXVsdENvbHVtbnMiLCJvdGhlclByb3BzIiwiYnV0dG9uTG9hZGluZyIsImZvcm1QYWdlUHJvcHMiLCJTZXR0aW5nVGFibGUiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eSIsImNyZWF0ZVJlZiIsInJlcyIsInN0YXRlIiwic2hvd1NlYXJjaCIsImRlZmF1bHRTZWFyY2giLCJ0YWJsZURhdGFSZXNvdXJjZSIsInNldFRpbWVvdXQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQyIiwiY3VycmVudCIsInRhYmxlTG9hZCIsInNldFNlYXJjaFBhcmFtcyIsImNvbXBvbmVudERpZE1vdW50IiwiZ2V0RGF0YSIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZTdGF0ZSIsInNuYXBzaG90IiwidGFibGVDb2RlIiwic2V0U3RhdGUiLCJwdWJsaXNoZWQiLCJtZW51Q29kZSIsInRhYlBhcmFtcyIsImlzUHVibGlzaGVkIiwidGhlbiIsIl9wYWdlX3Byb3BzJHBlcm1pc3NpbyIsInRhYmxlX3Byb3BzIiwiSlNPTiIsInBhcnNlIiwidHJlZV9wcm9wcyIsInBhZ2VfcHJvcHMiLCJvdGhlcl9wcm9wcyIsIm90aGVyUGFyYW1zIiwiZm9ybV9wcm9wcyIsImZvcm1Qcm9wcyIsInBlcm1pc3Npb24iLCJoYXMiLCJVdGlscyIsInBhcmFtRnVuYyIsImNvbnZlclRhYlBhcmFtcyIsInJlcXVlc3RQYXJhbXMiLCJuZXdSZXF1ZXN0UGFyYW1zIiwicXVlcnlQYXJhbXMiLCJhZGRQYXJhbXMiLCJlZGl0b3JQYXJhbXMiLCJjb252ZXJQYXJhbXMiLCJvdGhlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIm5ld1BhcmFtcyIsImNvbHVtbkJ1dHRvbnMiLCJ0b29sQnV0dG9ucyIsIl9tZXNzYWdlIiwiZXJyb3IiLCJnZXRTZWFyY2hWYWx1ZXMiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQzIiwidmFsdWUiLCJjYWxsQmFjayIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDQiLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQ1IiwicmVxdWVzdENvbmZpZyIsInVuZGVmaW5lZCIsInRhYmxlUmVsb2FkIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50NiIsImdldFNlbGVjdGVkUm93S2V5cyIsIl90aGlzJHBhZ2VSZWYkY3VycmVudDciLCJnZXRTZWxlY3RlZFJvd0RhdGFzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50OCIsInJlc2V0U2VsZWN0ZWRSb3dLZXlzIiwiX3RoaXMkcGFnZVJlZiRjdXJyZW50OSIsInJlbmRlciIsImNsYXNzTmFtZSIsImJhc2VQcm9wcyIsInNldHRpbmdUcmVlUHJvcHMiLCJzZXR0aW5nVGFibGVQcm9wcyIsIl9leGNsdWRlZDIiLCJfdGhpcyIsImRlYXVsdEZ1bmNzIiwibmV3RGF0YSIsInNldEJ1dHRvbkxvYWRpbmciLCJnZXRDdXJyZW50UHJvamVjdCIsImNoaWxkcmVuIiwiY29kZVNlbGZCdXR0b25zIiwiY29kZWNvbHVtbkJ1dHRvbnMiLCJjb2RlRm9ybUJ1dHRvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZCIsIl9jaGlsZCRwcm9wcyIsIl9jaGlsZCRwcm9wczIiLCJfY2hpbGQkcHJvcHMzIiwiX2l0ZW0kcHJvcHMiLCJfaXRlbSRwcm9wczIiLCJfaXRlbSRwcm9wczMiLCJzdHlsZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3Bpbm5pbmciLCJfZXh0ZW5kcyIsInJlZiIsIm9uSGlkZUZvcm0iLCJfdGhpcyRwYWdlUmVmJGN1cnJlbnQxMCIsImhpZGVGb3JtIiwiaW5pdERhdGEiLCJmb3JtVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvU2V0dGluZ1RhYmxlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3J3YXJkUmVmLCB1c2VFZmZlY3QsIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBCYXNlUGFnZSwgeyBOU0NCYXNlQmFnZVByb3BzIH0gZnJvbSBcIi4uL0Jhc2VQYWdlXCI7XHJcbmltcG9ydCBTcGluIGZyb20gXCIuLi8uLi9iYXNlL3NwaW5cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0ICogYXMgTnNjQ29tIGZyb20gXCIuL2NvbVwiO1xyXG5pbXBvcnQgTnNjRmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IE5zY1JlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCAqIGFzIE5zY1V0aWxzIGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgcXVlcnlTdHJpbmcgZnJvbSBcInF1ZXJ5LXN0cmluZ1wiO1xyXG5pbXBvcnQgeyBnZXRMb2NhbFN0b3JlIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcclxuaW1wb3J0IHsgY29udmVyRnVuY3Rpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuLy8gaW1wb3J0IHsgaGlzdG9yeSB9IGZyb20gJ3VtaSdcclxuLy8gaW1wb3J0IHsgZ2V0Q29uZmlnRGF0YSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbmNvbnN0IGRlZmF1bFV0aWwgPSB7XHJcbiAgTnNjQ29tLFxyXG4gIE5zY0ZpbGUsXHJcbiAgTnNjUmVxdWVzdCxcclxuICBOc2NVdGlscyxcclxuICBkYXlqcyxcclxuICBjcmVhdGVFbGVtZW50OiBSZWFjdC5jcmVhdGVFbGVtZW50LFxyXG59IGFzIGFueTtcclxuY29uc3QgcmVuZGVyU2VsZlRvb2xCdXR0b24gPSAoe1xyXG4gIHNlbGZCdXR0b24sXHJcbiAgcGFnZVJlZixcclxuICBmdW5jcyxcclxuICBsb2FkaW5nLFxyXG4gIHR5cGUgPSBcInRvb2xCdXR0b25cIixcclxufSkgPT4ge1xyXG4gIGlmIChzZWxmQnV0dG9uLmxlbmd0aCA9PSAwKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHNlbGZCdXR0b24ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBwYWdlVHlwZT17dHlwZX1cclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHsgcGFnZVJlZjogcGFnZVJlZiwgZnVuY3M6IGZ1bmNzIH07XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oXCJVdGlscyxldmVudE9wdGlvblwiLCBpdGVtLm9uQ2xpY2spO1xyXG4gICAgICAgICAgICBmdW5jKGRlZmF1bFV0aWwsIGV2ZW50T3B0aW9uKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBjb2RlPXtpdGVtLmNvZGV9XHJcbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nW2l0ZW0uY29kZV0gPT09IHRydWUgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2l0ZW0ubmFtZX1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufTtcclxuXHJcbmNvbnN0IHJlbmRlclNlbGZDb2x1bW5CdXR0b24gPSAoeyBzZWxmQ29sdW1uQnV0dG9uLCBwYWdlUmVmLCBmdW5jcyB9KSA9PiB7XHJcbiAgaWYgKHNlbGZDb2x1bW5CdXR0b24ubGVuZ3RoID09IDApIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gc2VsZkNvbHVtbkJ1dHRvbi5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIHBhZ2VUeXBlPVwiY29sdW1uQnV0dG9uXCJcclxuICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICB0eXBlPXtpdGVtLnR5cGV9XHJcbiAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBldmVudE9wdGlvbiA9IHtcclxuICAgICAgICAgICAgICBwYWdlUmVmOiBwYWdlUmVmLFxyXG4gICAgICAgICAgICAgIHJlY29yZDogcmVjb3JkLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiBmdW5jcyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBGdW5jdGlvbihcIlV0aWxzLGV2ZW50T3B0aW9uXCIsIGl0ZW0ub25DbGljayk7XHJcbiAgICAgICAgICAgIGZ1bmMoZGVmYXVsVXRpbCwgZXZlbnRPcHRpb24pO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGNvZGU9e2l0ZW0uY29kZX1cclxuICAgICAgICAgIHJlY29yZFNob3c9e2l0ZW0ucmVjb3JkU2hvd31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7aXRlbS5uYW1lfVxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59O1xyXG5cclxuY29uc3QgZ2V0UGFnZURhdGEgPSAocGFyYW1zOiBhbnkpID0+IHtcclxuICByZXR1cm4gTnNjUmVxdWVzdC5nZXQoYC9qcXVpY2stc2V0dGluZy9zZXR0aW5nL3RhYmxlL2luZm8vYCwge1xyXG4gICAgcGFyYW1zLFxyXG4gICAgeHNzRmlsdGVyOiBmYWxzZSxcclxuICAgIGF1dG9QcmVmaXg6IHRydWUsXHJcbiAgfSk7XHJcbn07XHJcblxyXG4vL+iuvue9ruihqOWNleWtl+auteWPquivu1xyXG5jb25zdCBzZXRGaWVsZERpc2FibGVkID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgZGlzYWJsZWQpID0+IHtcclxuICBjb25zdCBjb2x1bW5zID0gWy4uLmRhdGFdO1xyXG4gIGxldCBuZXdDb2x1bW5zID0gW10gYXMgYW55O1xyXG4gIGNvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICBpZiAoaXRlbS5kYXRhSW5kZXggPT0ga2V5IHx8IGtleS5pbmRleE9mKGl0ZW0uZGF0YUluZGV4KSA+IC0xKSB7XHJcbiAgICAgIGxldCBwcm9wcyA9IG9iai5wcm9wcyA/IHsgLi4ub2JqLnByb3BzIH0gOiB7fTtcclxuICAgICAgcHJvcHMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgICAgb2JqLnByb3BzID0gcHJvcHM7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuLy/orr7nva7ooajljZXlrZfmrrXpmpDol49cclxuY29uc3Qgc2V0RmllbGRWaXNpYmxlID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgdmlzaWJsZSkgPT4ge1xyXG4gIGNvbnN0IGNvbHVtbnMgPSBbLi4uZGF0YV07XHJcbiAgbGV0IG5ld0NvbHVtbnMgPSBbXSBhcyBhbnk7XHJcbiAgY29sdW1ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgIGxldCBvYmogPSB7IC4uLml0ZW0gfTtcclxuICAgIGlmIChpdGVtLmRhdGFJbmRleCA9PSBrZXkgfHwga2V5LmluZGV4T2YoaXRlbS5kYXRhSW5kZXgpID4gLTEpIHtcclxuICAgICAgb2JqLmVkaXRvciA9IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICBuZXdDb2x1bW5zLnB1c2gob2JqKTtcclxuICB9KTtcclxuICByZXR1cm4gbmV3Q29sdW1ucztcclxufTtcclxuXHJcbmNvbnN0IHNldEZpZWxkUHJvcHNEYXRhID0gKGRhdGE6IEFycmF5PGFueT4sIGtleSwgcHJvcHNEYXRhKSA9PiB7XHJcbiAgY29uc3QgY29sdW1ucyA9IFsuLi5kYXRhXTtcclxuICBsZXQgbmV3Q29sdW1ucyA9IFtdIGFzIGFueTtcclxuICBjb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgbGV0IG9iaiA9IHsgLi4uaXRlbSB9O1xyXG4gICAgaWYgKGl0ZW0uZGF0YUluZGV4ID09IGtleSkge1xyXG4gICAgICBsZXQgcHJvcHMgPSBvYmoucHJvcHMgPyB7IC4uLm9iai5wcm9wcyB9IDoge307XHJcbiAgICAgIHByb3BzLmRhdGEgPSBwcm9wc0RhdGE7XHJcbiAgICAgIG9iai5wcm9wcyA9IHByb3BzO1xyXG4gICAgfVxyXG4gICAgbmV3Q29sdW1ucy5wdXNoKG9iaik7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIG5ld0NvbHVtbnM7XHJcbn07XHJcbmludGVyZmFjZSBJUGFyYW1zIHtcclxuICBwYXRobmFtZT86IHN0cmluZztcclxuICBxdWVyeT86IGFueTtcclxuICBpZD86IHN0cmluZztcclxuICBzZXJ2aWNlTmFtZT86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzZXJ2aWNlUGF0aD86IHN0cmluZztcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBvcGVuVHlwZT86IG51bWJlcjtcclxufVxyXG5jb25zdCBqdW1wUGFnZSA9IChwYXJhbXM6IElQYXJhbXMsIHR5cGU/OiBcImFkZFRhYlwiIHwgXCJqdW1wTWVudVwiKSA9PiB7XHJcbiAgY29uc3Qge1xyXG4gICAgcGF0aG5hbWUsXHJcbiAgICBxdWVyeSA9IHt9LFxyXG4gICAgaWQsXHJcbiAgICB0aXRsZSxcclxuICAgIHNlcnZpY2VOYW1lLFxyXG4gICAgc2VydmljZVBhdGgsXHJcbiAgICBvcGVuVHlwZSxcclxuICB9ID0gcGFyYW1zO1xyXG4gIGNvbnN0IG5ld1F1ZXJ5ID0geyAuLi5xdWVyeSB9IGFzIGFueTtcclxuICBjb25zdCB1cmxQYXJhbXMgPSBxdWVyeVN0cmluZy5zdHJpbmdpZnkobmV3UXVlcnkpO1xyXG4gIGNvbnN0IHBhdGggPSB1cmxQYXJhbXMgPyBgJHtwYXRobmFtZX0/JHt1cmxQYXJhbXN9YCA6IHBhdGhuYW1lO1xyXG4gIC8vQHRzLWlnbm9yZVxyXG4gIGlmICh3aW5kb3cuX19QT1dFUkVEX0JZX1FJQU5LVU5fXykge1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgdGl0bGU6IHRpdGxlIHx8IFwi5paw5qCH562+XCIsXHJcbiAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSwgLy/phY3nva7nmoTlvq7lupTnlKjlkI3np7BcclxuICAgICAgc2VydmljZVBhdGg6IHNlcnZpY2VQYXRoLCAvL+mFjee9rueahOW+ruW6lOeUqOWFpeWPo+WcsOWdgFxyXG4gICAgICBwYXRoOiBwYXRoLCAvL+aWsOagh+etvueahHVybCzmsqHphY3nva5zZXJ2aWNlTmFtZSBwYXRo5Li65a6M5pW06Lev5b6EXHJcbiAgICAgIGlkOiBpZCwgLy/oh6rlrprkuYnllK/kuIDlgLxcclxuICAgICAgb3BlblR5cGU6IG9wZW5UeXBlID8gb3BlblR5cGUgOiA0LCAvL+aJk+W8gOaWueW8jyA05L2N5b6u5YmN56uvLCAz5Li6aWZyYW1lICzpu5jorqQgM1xyXG4gICAgfTtcclxuICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoXHJcbiAgICAgIHtcclxuICAgICAgICBldmVudFR5cGU6IHR5cGUgPyB0eXBlIDogXCJhZGRUYWJcIixcclxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUgPyBzZXJ2aWNlTmFtZSA6IFwic2V0dGluZy13ZWJcIixcclxuICAgICAgICBwYXlsb2FkOiB0eXBlID8gcGFyYW1zIDogZGF0YSxcclxuICAgICAgfSxcclxuICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpblxyXG4gICAgKTtcclxuICB9IGVsc2Uge1xyXG4gICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt9LCBcIlwiLCBwYXRoKTtcclxuICAgIHdpbmRvdy5oaXN0b3J5LmdvKCk7XHJcbiAgfVxyXG59O1xyXG5jb25zdCBnZXRQcm9qZWN0ID0gKCkgPT4ge1xyXG4gIGNvbnN0IHByb2plY3QgPSBnZXRMb2NhbFN0b3JlKHsgbmFtZTogXCJuc2MtaG9tZS1wcm9qZWN0XCIgfSkgfHwge307XHJcbiAgcmV0dXJuIHByb2plY3Q7XHJcbn07XHJcbmludGVyZmFjZSBJUHJvcHMge1xyXG4gIHRhYmxlQ29kZTogc3RyaW5nO1xyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICBtZW51Q29kZT86IHN0cmluZztcclxuICBmdW5jcz86IGFueTtcclxuICBwdWJsaXNoZWQ/OiBib29sZWFuO1xyXG4gIGluc3RhbmNlUmVmPzogYW55O1xyXG4gIHRhYlBhcmFtcz86IGFueTtcclxuICBvbkNhbGxCYWNrcz86IHtcclxuICAgIHRyZWVTZWxlY3RDYWxsQmFjaz86IGFueTsgLy/moJHngrnlh7vmn6Xor6LlkI7lm57osINcclxuICAgIG9uUXVlcnlDYWxsQmFjaz86IGFueTsgLy/mn6Xor6Llm57osIPvvIzmn6Xor6LmlbDmja7lkI7lm57osINcclxuICAgIG9uU3VtYml0Q2FsbEJhY2s/OiBhbnk7IC8v5L+d5a2Y5Zue6LCD77yM5L+d5a2Y5pWw5o2u5oiQ5Yqf5ZCO5Zue6LCDXHJcbiAgICBvbkRlbGV0ZUNhbGxCYWNrPzogYW55OyAvL+WIoOmZpOaMiemSruWbnuiwg++8jOWIoOmZpOaVsOaNruWQjuaJp+ihjFxyXG4gICAgb25FZGl0b3JDYWxsQmFjaz86IGFueTsgLy/nvJbovpHmjInpkq7lm57osIPvvIzmiZPlvIDlvLnmoYblkI7miafooYxcclxuICAgIG9uQWRkQ2FsbEJhY2s/OiBhbnk7IC8v5re75Yqg5oyJ6ZKu5Zue6LCD77yM5omT5byA5by55qGG5ZCO5omn6KGMXHJcbiAgICBvblNlYXJjaENhbGxCYWNrPzogYW55OyAvL+WIl+ihqOafpeivouaMiemSruWbnuiwg++8jOaJk+W8gOW8ueahhuWQjuaJp+ihjFxyXG4gIH07XHJcbiAgYmFzZVByb3BzPzogTlNDQmFzZUJhZ2VQcm9wcztcclxuICBhdXRvTG9hZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmNvbnN0IGRlZmF1bHRTdGF0ZVZhbHVlID0ge1xyXG4gIHBhZ2VQcm9wczoge30gYXMgYW55LFxyXG4gIHRyZWVQcm9wczogeyBzdG9yZTogeyB1cmw6IFwiXCIsIGF1dG9Mb2FkOiBmYWxzZSB9IH0gYXMgYW55LFxyXG4gIHRhYmxlUHJvcHM6IHt9IGFzIGFueSxcclxuICBzZWxmVG9vbEJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHNlbGZDb2x1bW5CdXR0b246IFtdIGFzIGFueSxcclxuICBzZWxmRm9ybUJ1dHRvbjogW10gYXMgYW55LFxyXG4gIHBhZ2VMb2FkaW5nOiB0cnVlLFxyXG4gIGRlZmF1bHRDb2x1bW5zOiBbXSBhcyBhbnksXHJcbiAgb3RoZXJQcm9wczoge30gYXMgYW55LFxyXG4gIGJ1dHRvbkxvYWRpbmc6IHt9IGFzIGFueSxcclxuICBmb3JtUGFnZVByb3BzOiB7fSBhcyBhbnksXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNldHRpbmdUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgLi4uZGVmYXVsdFN0YXRlVmFsdWUsXHJcbiAgfTtcclxuICBwYWdlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShcclxuICAgIHByZXZQcm9wczogUmVhZG9ubHk8SVByb3BzPixcclxuICAgIHByZXZTdGF0ZTogUmVhZG9ubHk8YW55PixcclxuICAgIHNuYXBzaG90PzogYW55XHJcbiAgKTogdm9pZCB7XHJcbiAgICBpZiAocHJldlByb3BzLnRhYmxlQ29kZSAhPSB0aGlzLnByb3BzLnRhYmxlQ29kZSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIC4uLmRlZmF1bHRTdGF0ZVZhbHVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdERhdGEgPSAocmVzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgb3RoZXJQcm9wcywgcGFnZVByb3BzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKFxyXG4gICAgICBwYWdlUHJvcHMuc2hvd1NlYXJjaCAhPT0gZmFsc2UgJiZcclxuICAgICAgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgIG90aGVyUHJvcHMudGFibGVEYXRhUmVzb3VyY2UgPT0gXCJ1cmxcIlxyXG4gICAgKSB7XHJcbiAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHMsZXZlbnRPcHRpb25cIiwgb3RoZXJQcm9wcy5kZWZhdWx0U2VhcmNoKTtcclxuICAgICAgY29uc3QgcGFyYW1zID0gZnVuYyhkZWZhdWxVdGlsLCB7IHBhZ2VSZWY6IHRoaXMucGFnZVJlZiB9KTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlTG9hZCh7IC4uLnBhcmFtcyB9KTtcclxuICAgICAgICB0aGlzLnBhZ2VSZWYuY3VycmVudD8uc2V0U2VhcmNoUGFyYW1zKHsgLi4ucGFyYW1zIH0pO1xyXG4gICAgICB9LCA1MCk7IC8v55u05o6l6K6+572u77yMcGFnZVJlZuayoee7keWumu+8jOaaguaXtumAmui/h+W7tui/n+WHveaVsOi/m+ihjOino+WGs1xyXG4gICAgfVxyXG4gIH07XHJcbiAgLy8g6I635Y+W5pWw5o2uXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIC8vIOS7jnByb3Bz5Lit6I635Y+WdGFibGVDb2Rl44CBcHVibGlzaGVk44CBbWVudUNvZGVcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwYWdlTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgY29uc3QgeyB0YWJsZUNvZGUsIHB1Ymxpc2hlZCA9IHRydWUsIG1lbnVDb2RlLCB0YWJQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAvLyDlpoLmnpx0YWJsZUNvZGXlrZjlnKhcclxuICAgIGlmICh0YWJsZUNvZGUpIHtcclxuICAgICAgLy8g5a6a5LmJ5Y+C5pWwXHJcbiAgICAgIGxldCBwYXJhbXMgPSB7IGNvZGU6IHRhYmxlQ29kZSB9IGFzIGFueTtcclxuICAgICAgLy8g5aaC5p6ccHVibGlzaGVk5Li6dHJ1ZVxyXG4gICAgICBpZiAocHVibGlzaGVkKSB7XHJcbiAgICAgICAgLy8g6K6+572u5Y+C5pWwaXNQdWJsaXNoZWTkuLoxXHJcbiAgICAgICAgcGFyYW1zLmlzUHVibGlzaGVkID0gMTtcclxuICAgICAgfVxyXG4gICAgICAvLyDosIPnlKhnZXRQYWdlRGF0YeaWueazleiOt+WPluaVsOaNrlxyXG4gICAgICBnZXRQYWdlRGF0YSh7IC4uLnBhcmFtcyB9KS50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEpIHtcclxuICAgICAgICAgIGxldCB0YWJsZV9wcm9wcyA9IEpTT04ucGFyc2UocmVzLmRhdGEudGFibGVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHRyZWVfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnRyZWVQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IHBhZ2VfcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLnBhZ2VQcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IG90aGVyX3Byb3BzID0gSlNPTi5wYXJzZShyZXMuZGF0YS5vdGhlclBhcmFtcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgbGV0IGZvcm1fcHJvcHMgPSBKU09OLnBhcnNlKHJlcy5kYXRhLmZvcm1Qcm9wcyB8fCBcInt9XCIpIHx8IHt9O1xyXG4gICAgICAgICAgaWYgKHBhZ2VfcHJvcHMucGVybWlzc2lvbj8uaGFzID09IHRydWUpIHtcclxuICAgICAgICAgICAgcGFnZV9wcm9wcy5wZXJtaXNzaW9uLm1lbnVDb2RlID0gbWVudUNvZGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocHVibGlzaGVkID09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIHBhZ2VfcHJvcHMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAocGFnZV9wcm9wcy5zaG93U2VhcmNoICE9PSBmYWxzZSAmJlxyXG4gICAgICAgICAgICAgIG90aGVyX3Byb3BzPy5kZWZhdWx0U2VhcmNoICYmXHJcbiAgICAgICAgICAgICAgb3RoZXJfcHJvcHM/LnRhYmxlRGF0YVJlc291cmNlID09IFwidXJsXCIpIHx8XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuYXV0b0xvYWQgPT09IGZhbHNlXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGFibGVfcHJvcHMuc3RvcmUuYXV0b0xvYWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0YWJQYXJhbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgVXRpbHMgPSBkZWZhdWxVdGlsIHx8IHt9O1xyXG4gICAgICAgICAgICBsZXQgcGFyYW1GdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgdGFiUGFyYW1zKTtcclxuICAgICAgICAgICAgbGV0IGNvbnZlclRhYlBhcmFtcyA9IHBhcmFtRnVuYyhVdGlscyk7XHJcbiAgICAgICAgICAgIGlmIChwYWdlX3Byb3BzLnJlcXVlc3RQYXJhbXMpIHtcclxuICAgICAgICAgICAgICBsZXQgeyByZXF1ZXN0UGFyYW1zID0ge30gfSA9IHBhZ2VfcHJvcHM7XHJcbiAgICAgICAgICAgICAgbGV0IG5ld1JlcXVlc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICAgIGVkaXRvclBhcmFtczogbnVsbCxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBuZXdSZXF1ZXN0UGFyYW1zKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdFBhcmFtc1trZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBmdW5jID0gbmV3IEZ1bmN0aW9uKFwiVXRpbHNcIiwgcmVxdWVzdFBhcmFtc1trZXldKTtcclxuICAgICAgICAgICAgICAgICAgbGV0IGNvbnZlclBhcmFtcyA9IGZ1bmMoVXRpbHMpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIC4uLm90aGVyIH0gPSBjb252ZXJQYXJhbXM7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBuZXdQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMsIC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgICAgICAgICAuLi5vdGhlcixcclxuICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0gbmV3UGFyYW1zO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmV3UmVxdWVzdFBhcmFtc1trZXldID0geyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHsgLi4ubmV3UmVxdWVzdFBhcmFtcyB9O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHBhZ2VfcHJvcHMucmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGRhdGE6IHsgLi4uY29udmVyVGFiUGFyYW1zIH0gfSxcclxuICAgICAgICAgICAgICAgIGFkZFBhcmFtczogeyBkYXRhOiB7IC4uLmNvbnZlclRhYlBhcmFtcyB9IH0sXHJcbiAgICAgICAgICAgICAgICBlZGl0b3JQYXJhbXM6IHsgZGF0YTogeyAuLi5jb252ZXJUYWJQYXJhbXMgfSB9LFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwYWdlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnBhZ2VfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0cmVlUHJvcHM6IHtcclxuICAgICAgICAgICAgICAgIC4uLnRyZWVfcHJvcHMsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB0YWJsZVByb3BzOiB7XHJcbiAgICAgICAgICAgICAgICAuLi50YWJsZV9wcm9wcyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIG90aGVyUHJvcHM6IHsgLi4ub3RoZXJfcHJvcHMgfSxcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLmNvbHVtbkJ1dHRvbnMpIHx8IFtdLFxyXG4gICAgICAgICAgICAgIHNlbGZUb29sQnV0dG9uOiBKU09OLnBhcnNlKHJlcy5kYXRhLnRvb2xCdXR0b25zKSB8fCBbXSxcclxuICAgICAgICAgICAgICBkZWZhdWx0Q29sdW1uczogcGFnZV9wcm9wcy5jb2x1bW5zLFxyXG4gICAgICAgICAgICAgIGZvcm1QYWdlUHJvcHM6IGZvcm1fcHJvcHMsXHJcbiAgICAgICAgICAgICAgc2VsZkZvcm1CdXR0b246IGZvcm1fcHJvcHM/LnNlbGZCdXR0b24gfHwgW10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YSA9PSBudWxsKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5pyq5om+5Yiw6YWN572u5L+h5oGv77yBXCIpO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcGFnZUxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHBhZ2VMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIG9uU2VhcmNoKCkge31cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWFyY2hWYWx1ZXMoKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbiAgc2V0U2VhcmNoUGFyYW1zKHBhcmFtcywgY2FsbEJhY2spIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py5zZXRTZWFyY2hQYXJhbXMocGFyYW1zKTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55LCByZXF1ZXN0Q29uZmlnID0ge30pIHtcclxuICAgIHRoaXMucGFnZVJlZi5jdXJyZW50Py50YWJsZUxvYWQocGFyYW1zLCByZXF1ZXN0Q29uZmlnKTtcclxuICB9XHJcbiAgdGFibGVSZWxvYWQocGFyYW1zID0ge30sIGF1dG9Mb2FkID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LnRhYmxlUmVsb2FkKHBhcmFtcywgYXV0b0xvYWQpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmdldFNlbGVjdGVkUm93S2V5cygpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGFnZVJlZi5jdXJyZW50Py5nZXRTZWxlY3RlZFJvd0RhdGFzKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnBhZ2VSZWYuY3VycmVudD8ucmVzZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjbGFzc05hbWUsXHJcbiAgICAgIGZ1bmNzID0ge30sXHJcbiAgICAgIGJhc2VQcm9wcyA9IHt9IGFzIE5TQ0Jhc2VCYWdlUHJvcHMsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgcGFnZVByb3BzLFxyXG4gICAgICB0cmVlUHJvcHMsXHJcbiAgICAgIHRhYmxlUHJvcHMsXHJcbiAgICAgIHNlbGZUb29sQnV0dG9uLFxyXG4gICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICBwYWdlTG9hZGluZyxcclxuICAgICAgZGVmYXVsdENvbHVtbnMsXHJcbiAgICAgIGJ1dHRvbkxvYWRpbmcgPSB7fSxcclxuICAgICAgZm9ybVBhZ2VQcm9wcyA9IHt9LFxyXG4gICAgICBzZWxmRm9ybUJ1dHRvbixcclxuICAgIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB0cmVlUHJvcHM6IHNldHRpbmdUcmVlUHJvcHMgPSB7fSxcclxuICAgICAgdGFibGVQcm9wczogc2V0dGluZ1RhYmxlUHJvcHMgPSB7fSxcclxuICAgICAgLi4ub3RoZXJQcm9wc1xyXG4gICAgfSA9IGJhc2VQcm9wcztcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAvLyBjb25zdCB7c3RvcmU6dGFibGVTdG9yZX1cclxuICAgIC8vIGNvbnN0IHsgc3RvcmU6IHNldHRpbmdUYWJsZVN0b3JlIH0gPSBzZXR0aW5nVGFibGVQcm9wcztcclxuICAgIGNvbnN0IGRlYXVsdEZ1bmNzID0ge1xyXG4gICAgICBzZXRGaWVsZERpc2FibGVkOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZERpc2FibGVkKHBhZ2VQcm9wcy5jb2x1bW5zLCBrZXksIGRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgc2V0RmllbGRWaXNpYmxlOiAoa2V5LCBkaXNhYmxlZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFZpc2libGUocGFnZVByb3BzLmNvbHVtbnMsIGtleSwgZGlzYWJsZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgcGFnZVByb3BzOiB7IC4uLnBhZ2VQcm9wcywgY29sdW1uczogbmV3RGF0YSB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICBzZXRGaWVsZFByb3BzRGF0YTogKGtleSwgZGF0YSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0RhdGEgPSBzZXRGaWVsZFByb3BzRGF0YShwYWdlUHJvcHMuY29sdW1ucywga2V5LCBkYXRhKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IG5ld0RhdGEgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaGlzdG9yeTogKHBhcmFtcywgdHlwZSkgPT4ge1xyXG4gICAgICAgIGp1bXBQYWdlKHBhcmFtcywgdHlwZSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIHNldEJ1dHRvbkxvYWRpbmcoY29kZSwgbG9hZGluZykge1xyXG4gICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGJ1dHRvbkxvYWRpbmc6IHsgLi4uYnV0dG9uTG9hZGluZywgW2NvZGVdOiBsb2FkaW5nIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBnZXRDdXJyZW50UHJvamVjdDogKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBnZXRQcm9qZWN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBjb2RlU2VsZkJ1dHRvbnMgPSBbXTtcclxuICAgIGxldCBjb2RlY29sdW1uQnV0dG9ucyA9IFtdO1xyXG4gICAgbGV0IGNvZGVGb3JtQnV0dG9ucyA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcclxuICAgICAgICAgIGl0ZW0ubWFwKChjaGlsZCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQ/LnByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgICAgIGNvZGVTZWxmQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZD8ucHJvcHM/LnBhZ2VUeXBlID09IFwiZm9ybUJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgICAgY29kZUZvcm1CdXR0b25zLnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgICAgY29kZWNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbT8ucHJvcHM/LnBhZ2VUeXBlID09IFwiZm9ybUJ1dHRvblwiKSB7XHJcbiAgICAgICAgICAgIGNvZGVGb3JtQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlU2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHM/LnBhZ2VUeXBlID09IFwiY29sdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJmb3JtQnV0dG9uXCIpIHtcclxuICAgICAgICBjb2RlRm9ybUJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoXCJuc2MtZnJhbWV3b3JrLXRhYmxlcGFnZVwiLCBjbGFzc05hbWUpfT5cclxuICAgICAgICB7cGFnZUxvYWRpbmcgPyAoXHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiwgaGVpZ2h0OiBcIjEwMCVcIiB9fT5cclxuICAgICAgICAgICAgPFNwaW4gc3Bpbm5pbmc9e3BhZ2VMb2FkaW5nfT48L1NwaW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPEJhc2VQYWdlXHJcbiAgICAgICAgICAgIHsuLi5wYWdlUHJvcHN9XHJcbiAgICAgICAgICAgIHRyZWVQcm9wcz17eyAuLi50cmVlUHJvcHMsIC4uLnNldHRpbmdUcmVlUHJvcHMgfX1cclxuICAgICAgICAgICAgdGFibGVQcm9wcz17eyAuLi50YWJsZVByb3BzLCAuLi5zZXR0aW5nVGFibGVQcm9wcyB9fVxyXG4gICAgICAgICAgICBmb3JtUHJvcHM9e3t9fVxyXG4gICAgICAgICAgICBVdGlscz17eyAuLi5kZWZhdWxVdGlsIH19XHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5wYWdlUmVmfVxyXG4gICAgICAgICAgICBwYWdlUmVmPXt0aGlzLnBhZ2VSZWZ9XHJcbiAgICAgICAgICAgIG9uSGlkZUZvcm09eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHBhZ2VQcm9wczogeyAuLi5wYWdlUHJvcHMsIGNvbHVtbnM6IGRlZmF1bHRDb2x1bW5zIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5wYWdlUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGZ1bmNzPXt7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9fVxyXG4gICAgICAgICAgICBpbml0RGF0YT17dGhpcy5pbml0RGF0YX1cclxuICAgICAgICAgICAgZm9ybVBhZ2VQcm9wcz17e1xyXG4gICAgICAgICAgICAgIGZvcm1UeXBlOiBmb3JtUGFnZVByb3BzLmZvcm1UeXBlICB8fCBcIm1vZGFsXCIsXHJcbiAgICAgICAgICAgICAgcHJvcHM6IGZvcm1QYWdlUHJvcHM/LnByb3BzLFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB0YWJsZUNvZGU9e3RoaXMucHJvcHMudGFibGVDb2RlfVxyXG4gICAgICAgICAgICB7Li4ub3RoZXJQcm9wc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3JlbmRlclNlbGZUb29sQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQnV0dG9uOiBzZWxmVG9vbEJ1dHRvbixcclxuICAgICAgICAgICAgICBwYWdlUmVmOiB0aGlzLnBhZ2VSZWYsXHJcbiAgICAgICAgICAgICAgZnVuY3M6IHsgLi4uZGVhdWx0RnVuY3MsIC4uLmZ1bmNzIH0sXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogdGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAge2NvZGVTZWxmQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmQ29sdW1uQnV0dG9uKHtcclxuICAgICAgICAgICAgICBzZWxmQ29sdW1uQnV0dG9uLFxyXG4gICAgICAgICAgICAgIHBhZ2VSZWY6IHRoaXMucGFnZVJlZixcclxuICAgICAgICAgICAgICBmdW5jczogeyAuLi5kZWF1bHRGdW5jcywgLi4uZnVuY3MgfSxcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtyZW5kZXJTZWxmVG9vbEJ1dHRvbih7XHJcbiAgICAgICAgICAgICAgc2VsZkJ1dHRvbjogc2VsZkZvcm1CdXR0b24sXHJcbiAgICAgICAgICAgICAgcGFnZVJlZjogdGhpcy5wYWdlUmVmLFxyXG4gICAgICAgICAgICAgIGZ1bmNzOiB7IC4uLmRlYXVsdEZ1bmNzLCAuLi5mdW5jcyB9LFxyXG4gICAgICAgICAgICAgIGxvYWRpbmc6IHRoaXMuc3RhdGUuYnV0dG9uTG9hZGluZyxcclxuICAgICAgICAgICAgICB0eXBlOiBcImZvcm1CdXR0b25cIixcclxuICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIHtjb2RlRm9ybUJ1dHRvbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC9CYXNlUGFnZT5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAg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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["BasePage","Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","defaulUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","defaultStateValue","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","SettingTable","Component","constructor","arguments","_defineProperty","createRef","res","state","showSearch","defaultSearch","tableDataResource","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","getCurrentProject","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","_item$props","_item$props2","_item$props3","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst renderSelfColumnButton = ({ selfColumnButton, pageRef, funcs }) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\n\r\nconst defaultStateValue = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n};\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n ...defaultStateValue,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.setState(\r\n {\r\n ...defaultStateValue,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaulUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props?.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaulUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n } else if (props?.pageType == \"formButton\") {\r\n codeFormButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaulUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n }}\r\n tableCode={this.props.tableCode}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["BasePage","Spin","Button","React","NscCom","NscFile","NscRequest","NscUtils","cls","queryString","getLocalStore","dayjs","defaulUtil","createElement","renderSelfToolButton","_ref","selfButton","pageRef","funcs","loading","type","length","map","item","index","pageType","key","onClick","eventOption","func","Function","code","name","renderSelfColumnButton","_ref2","selfColumnButton","record","recordShow","getPageData","params","get","xssFilter","autoPrefix","setFieldDisabled","data","disabled","columns","newColumns","obj","_objectSpread","dataIndex","indexOf","props","push","setFieldVisible","visible","editor","setFieldPropsData","propsData","jumpPage","pathname","query","id","title","serviceName","servicePath","openType","newQuery","urlParams","stringify","path","concat","window","__POWERED_BY_QIANKUN__","parent","postMessage","eventType","payload","location","origin","history","pushState","go","getProject","project","defaultStateValue","pageProps","treeProps","store","url","autoLoad","tableProps","selfToolButton","selfFormButton","pageLoading","defaultColumns","otherProps","buttonLoading","formPageProps","SettingTable","Component","constructor","arguments","_defineProperty","createRef","res","state","showSearch","defaultSearch","tableDataResource","setTimeout","_this$pageRef$current","_this$pageRef$current2","current","tableLoad","setSearchParams","componentDidMount","getData","componentDidUpdate","prevProps","prevState","snapshot","tableCode","setState","published","menuCode","tabParams","isPublished","then","_page_props$permissio","table_props","JSON","parse","tree_props","page_props","other_props","otherParams","form_props","formProps","permission","has","Utils","paramFunc","converTabParams","requestParams","newRequestParams","queryParams","addParams","editorParams","converParams","other","_objectWithoutProperties","_excluded","newParams","columnButtons","toolButtons","_message","error","getSearchValues","_this$pageRef$current3","value","callBack","_this$pageRef$current4","_this$pageRef$current5","requestConfig","undefined","tableReload","_this$pageRef$current6","getSelectedRowKeys","_this$pageRef$current7","getSelectedRowDatas","_this$pageRef$current8","resetSelectedRowKeys","_this$pageRef$current9","render","className","baseProps","settingTreeProps","settingTableProps","_excluded2","_this","deaultFuncs","newData","setButtonLoading","getCurrentProject","children","codeSelfButtons","codecolumnButtons","codeFormButtons","Array","isArray","child","_child$props","_child$props2","_child$props3","_item$props","_item$props2","_item$props3","style","width","height","spinning","_extends","ref","onHideForm","_this$pageRef$current10","hideForm","initData","formType"],"sources":["../../../src/components/page/SettingTable/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\r\nimport BasePage, { NSCBaseBageProps } from \"../BasePage\";\r\nimport Spin from \"../../base/spin\";\r\nimport Button from \"../../base/button\";\r\nimport \"./index.less\";\r\nimport React from \"react\";\r\nimport * as NscCom from \"./com\";\r\nimport NscFile from \"nsc-file\";\r\nimport NscRequest from \"nsc-request\";\r\nimport * as NscUtils from \"@bj-nsc/functions\";\r\nimport cls from \"classnames\";\r\nimport { message } from \"antd\";\r\nimport queryString from \"query-string\";\r\nimport { getLocalStore } from \"@bj-nsc/functions\";\r\nimport dayjs from \"dayjs\";\r\nimport { converFunction } from \"../../utils\";\r\n// import { history } from 'umi'\r\n// import { getConfigData } from '../services';\r\n\r\nconst defaulUtil = {\r\n NscCom,\r\n NscFile,\r\n NscRequest,\r\n NscUtils,\r\n dayjs,\r\n createElement: React.createElement,\r\n} as any;\r\nconst renderSelfToolButton = ({\r\n selfButton,\r\n pageRef,\r\n funcs,\r\n loading,\r\n type = \"toolButton\",\r\n}) => {\r\n if (selfButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType={type}\r\n key={index}\r\n type={item.type}\r\n onClick={() => {\r\n let eventOption = { pageRef: pageRef, funcs: funcs };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n loading={loading[item.code] === true ? true : false}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst renderSelfColumnButton = ({ selfColumnButton, pageRef, funcs }) => {\r\n if (selfColumnButton.length == 0) {\r\n return null;\r\n } else {\r\n return selfColumnButton.map((item: any, index: number) => {\r\n return (\r\n <Button\r\n pageType=\"columnButton\"\r\n key={index}\r\n type={item.type}\r\n onClick={(record) => {\r\n let eventOption = {\r\n pageRef: pageRef,\r\n record: record,\r\n funcs: funcs,\r\n };\r\n const func = new Function(\"Utils,eventOption\", item.onClick);\r\n func(defaulUtil, eventOption);\r\n }}\r\n code={item.code}\r\n recordShow={item.recordShow}\r\n >\r\n {item.name}\r\n </Button>\r\n );\r\n });\r\n }\r\n};\r\n\r\nconst getPageData = (params: any) => {\r\n return NscRequest.get(`/jquick-setting/setting/table/info/`, {\r\n params,\r\n xssFilter: false,\r\n autoPrefix: true,\r\n });\r\n};\r\n\r\n//设置表单字段只读\r\nconst setFieldDisabled = (data: Array<any>, key, disabled) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.disabled = disabled;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n//设置表单字段隐藏\r\nconst setFieldVisible = (data: Array<any>, key, visible) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key || key.indexOf(item.dataIndex) > -1) {\r\n obj.editor = visible;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\n\r\nconst setFieldPropsData = (data: Array<any>, key, propsData) => {\r\n const columns = [...data];\r\n let newColumns = [] as any;\r\n columns.map((item) => {\r\n let obj = { ...item };\r\n if (item.dataIndex == key) {\r\n let props = obj.props ? { ...obj.props } : {};\r\n props.data = propsData;\r\n obj.props = props;\r\n }\r\n newColumns.push(obj);\r\n });\r\n return newColumns;\r\n};\r\ninterface IParams {\r\n pathname?: string;\r\n query?: any;\r\n id?: string;\r\n serviceName?: string;\r\n title?: string;\r\n servicePath?: string;\r\n menuCode?: string;\r\n openType?: number;\r\n}\r\nconst jumpPage = (params: IParams, type?: \"addTab\" | \"jumpMenu\") => {\r\n const {\r\n pathname,\r\n query = {},\r\n id,\r\n title,\r\n serviceName,\r\n servicePath,\r\n openType,\r\n } = params;\r\n const newQuery = { ...query } as any;\r\n const urlParams = queryString.stringify(newQuery);\r\n const path = urlParams ? `${pathname}?${urlParams}` : pathname;\r\n //@ts-ignore\r\n if (window.__POWERED_BY_QIANKUN__) {\r\n const data = {\r\n title: title || \"新标签\",\r\n serviceName: serviceName, //配置的微应用名称\r\n servicePath: servicePath, //配置的微应用入口地址\r\n path: path, //新标签的url,没配置serviceName path为完整路径\r\n id: id, //自定义唯一值\r\n openType: openType ? openType : 4, //打开方式 4位微前端, 3为iframe ,默认 3\r\n };\r\n window.parent.postMessage(\r\n {\r\n eventType: type ? type : \"addTab\",\r\n serviceName: serviceName ? serviceName : \"setting-web\",\r\n payload: type ? params : data,\r\n },\r\n window.location.origin\r\n );\r\n } else {\r\n window.history.pushState({}, \"\", path);\r\n window.history.go();\r\n }\r\n};\r\nconst getProject = () => {\r\n const project = getLocalStore({ name: \"nsc-home-project\" }) || {};\r\n return project;\r\n};\r\ninterface IProps {\r\n tableCode: string;\r\n className?: any;\r\n menuCode?: string;\r\n funcs?: any;\r\n published?: boolean;\r\n instanceRef?: any;\r\n tabParams?: any;\r\n onCallBacks?: {\r\n treeSelectCallBack?: any; //树点击查询后回调\r\n onQueryCallBack?: any; //查询回调,查询数据后回调\r\n onSumbitCallBack?: any; //保存回调,保存数据成功后回调\r\n onDeleteCallBack?: any; //删除按钮回调,删除数据后执行\r\n onEditorCallBack?: any; //编辑按钮回调,打开弹框后执行\r\n onAddCallBack?: any; //添加按钮回调,打开弹框后执行\r\n onSearchCallBack?: any; //列表查询按钮回调,打开弹框后执行\r\n };\r\n baseProps?: NSCBaseBageProps;\r\n autoLoad?: boolean;\r\n}\r\n\r\nconst defaultStateValue = {\r\n pageProps: {} as any,\r\n treeProps: { store: { url: \"\", autoLoad: false } } as any,\r\n tableProps: {} as any,\r\n selfToolButton: [] as any,\r\n selfColumnButton: [] as any,\r\n selfFormButton: [] as any,\r\n pageLoading: true,\r\n defaultColumns: [] as any,\r\n otherProps: {} as any,\r\n buttonLoading: {} as any,\r\n formPageProps: {} as any,\r\n};\r\nexport default class SettingTable extends React.Component<IProps, any> {\r\n state = {\r\n ...defaultStateValue,\r\n };\r\n pageRef = React.createRef<any>();\r\n\r\n componentDidMount(): void {\r\n this.getData();\r\n }\r\n\r\n componentDidUpdate(\r\n prevProps: Readonly<IProps>,\r\n prevState: Readonly<any>,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.tableCode != this.props.tableCode) {\r\n this.setState(\r\n {\r\n ...defaultStateValue,\r\n },\r\n () => {\r\n this.getData();\r\n }\r\n );\r\n }\r\n }\r\n\r\n initData = (res: any) => {\r\n const { otherProps, pageProps } = this.state;\r\n if (\r\n pageProps.showSearch !== false &&\r\n otherProps.defaultSearch &&\r\n otherProps.tableDataResource == \"url\"\r\n ) {\r\n let func = new Function(\"Utils,eventOption\", otherProps.defaultSearch);\r\n const params = func(defaulUtil, { pageRef: this.pageRef });\r\n setTimeout(() => {\r\n this.pageRef.current?.tableLoad({ ...params });\r\n this.pageRef.current?.setSearchParams({ ...params });\r\n }, 50); //直接设置,pageRef没绑定,暂时通过延迟函数进行解决\r\n }\r\n };\r\n // 获取数据\r\n getData() {\r\n // 从props中获取tableCode、published、menuCode\r\n this.setState({\r\n pageLoading: true,\r\n });\r\n const { tableCode, published = true, menuCode, tabParams } = this.props;\r\n // 如果tableCode存在\r\n if (tableCode) {\r\n // 定义参数\r\n let params = { code: tableCode } as any;\r\n // 如果published为true\r\n if (published) {\r\n // 设置参数isPublished为1\r\n params.isPublished = 1;\r\n }\r\n // 调用getPageData方法获取数据\r\n getPageData({ ...params }).then((res: any) => {\r\n if (res.code == 200 && res.data) {\r\n let table_props = JSON.parse(res.data.tableProps || \"{}\") || {};\r\n let tree_props = JSON.parse(res.data.treeProps || \"{}\") || {};\r\n let page_props = JSON.parse(res.data.pageProps || \"{}\") || {};\r\n let other_props = JSON.parse(res.data.otherParams || \"{}\") || {};\r\n let form_props = JSON.parse(res.data.formProps || \"{}\") || {};\r\n if (page_props.permission?.has == true) {\r\n page_props.permission.menuCode = menuCode;\r\n }\r\n if (published == false) {\r\n page_props.permission = false;\r\n }\r\n if (\r\n (page_props.showSearch !== false &&\r\n other_props?.defaultSearch &&\r\n other_props?.tableDataResource == \"url\") ||\r\n this.props.autoLoad === false\r\n ) {\r\n table_props.store.autoLoad = false;\r\n }\r\n if (tabParams) {\r\n const Utils = defaulUtil || {};\r\n let paramFunc = new Function(\"Utils\", tabParams);\r\n let converTabParams = paramFunc(Utils);\r\n if (page_props.requestParams) {\r\n let { requestParams = {} } = page_props;\r\n let newRequestParams = {\r\n queryParams: null,\r\n addParams: null,\r\n editorParams: null,\r\n };\r\n for (let key in newRequestParams) {\r\n if (requestParams[key]) {\r\n let func = new Function(\"Utils\", requestParams[key]);\r\n let converParams = func(Utils);\r\n const { data, ...other } = converParams;\r\n let newParams = {\r\n data: { ...converTabParams, ...data },\r\n ...other,\r\n };\r\n newRequestParams[key] = newParams;\r\n } else {\r\n newRequestParams[key] = { data: { ...converTabParams } };\r\n }\r\n }\r\n page_props.requestParams = { ...newRequestParams };\r\n } else {\r\n page_props.requestParams = {\r\n queryParams: { data: { ...converTabParams } },\r\n addParams: { data: { ...converTabParams } },\r\n editorParams: { data: { ...converTabParams } },\r\n };\r\n }\r\n }\r\n this.setState(\r\n {\r\n pageProps: {\r\n ...page_props,\r\n },\r\n treeProps: {\r\n ...tree_props,\r\n },\r\n tableProps: {\r\n ...table_props,\r\n },\r\n otherProps: { ...other_props },\r\n selfColumnButton: JSON.parse(res.data.columnButtons) || [],\r\n selfToolButton: JSON.parse(res.data.toolButtons) || [],\r\n defaultColumns: page_props.columns,\r\n formPageProps: form_props,\r\n selfFormButton: form_props?.selfButton || [],\r\n },\r\n () => {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n );\r\n } else if (res.code == 200 && res.data == null) {\r\n message.error(\"未找到配置信息!\");\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n });\r\n } else {\r\n this.setState({\r\n pageLoading: false,\r\n });\r\n }\r\n }\r\n // onSearch() {}\r\n getSearchValues() {\r\n const value = this.pageRef.current?.getSearchValues();\r\n return value;\r\n }\r\n setSearchParams(params, callBack) {\r\n this.pageRef.current?.setSearchParams(params);\r\n }\r\n tableLoad(params: any, requestConfig = {}) {\r\n this.pageRef.current?.tableLoad(params, requestConfig);\r\n }\r\n tableReload(params = {}, autoLoad = true) {\r\n this.pageRef.current?.tableReload(params, autoLoad);\r\n }\r\n getSelectedRowKeys() {\r\n return this.pageRef.current?.getSelectedRowKeys();\r\n }\r\n getSelectedRowDatas() {\r\n return this.pageRef.current?.getSelectedRowDatas();\r\n }\r\n\r\n resetSelectedRowKeys() {\r\n return this.pageRef.current?.resetSelectedRowKeys();\r\n }\r\n render() {\r\n const {\r\n className,\r\n funcs = {},\r\n baseProps = {} as NSCBaseBageProps,\r\n } = this.props;\r\n const {\r\n pageProps,\r\n treeProps,\r\n tableProps,\r\n selfToolButton,\r\n selfColumnButton,\r\n pageLoading,\r\n defaultColumns,\r\n buttonLoading = {},\r\n formPageProps = {},\r\n selfFormButton,\r\n } = this.state;\r\n const {\r\n treeProps: settingTreeProps = {},\r\n tableProps: settingTableProps = {},\r\n ...otherProps\r\n } = baseProps;\r\n let _this = this;\r\n // const {store:tableStore}\r\n // const { store: settingTableStore } = settingTableProps;\r\n const deaultFuncs = {\r\n setFieldDisabled: (key, disabled) => {\r\n const newData = setFieldDisabled(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldVisible: (key, disabled) => {\r\n const newData = setFieldVisible(pageProps.columns, key, disabled);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n setFieldPropsData: (key, data) => {\r\n const newData = setFieldPropsData(pageProps.columns, key, data);\r\n this.setState({\r\n pageProps: { ...pageProps, columns: newData },\r\n });\r\n },\r\n history: (params, type) => {\r\n jumpPage(params, type);\r\n },\r\n setButtonLoading(code, loading) {\r\n _this.setState({\r\n buttonLoading: { ...buttonLoading, [code]: loading },\r\n });\r\n },\r\n\r\n getCurrentProject: () => {\r\n return getProject();\r\n },\r\n };\r\n const { children } = this.props;\r\n let codeSelfButtons = [];\r\n let codecolumnButtons = [];\r\n let codeFormButtons = [];\r\n if (Array.isArray(children)) {\r\n children.map((item: any) => {\r\n if (Array.isArray(item)) {\r\n item.map((child) => {\r\n if (child?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(child);\r\n } else if (child?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(child);\r\n } else if (child?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(child);\r\n }\r\n });\r\n } else {\r\n if (item?.props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(item);\r\n } else if (item?.props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(item);\r\n } else if (item?.props?.pageType == \"formButton\") {\r\n codeFormButtons.push(item);\r\n }\r\n }\r\n });\r\n } else if (children) {\r\n const { props }: any = children;\r\n if (props?.pageType == \"toolButton\") {\r\n codeSelfButtons.push(children);\r\n } else if (props?.pageType == \"columnButton\") {\r\n codecolumnButtons.push(children);\r\n } else if (props?.pageType == \"formButton\") {\r\n codeFormButtons.push(children);\r\n }\r\n }\r\n return (\r\n <div className={cls(\"nsc-framework-tablepage\", className)}>\r\n {pageLoading ? (\r\n <div style={{ width: \"100%\", height: \"100%\" }}>\r\n <Spin spinning={pageLoading}></Spin>\r\n </div>\r\n ) : (\r\n <BasePage\r\n {...pageProps}\r\n treeProps={{ ...treeProps, ...settingTreeProps }}\r\n tableProps={{ ...tableProps, ...settingTableProps }}\r\n formProps={{}}\r\n Utils={{ ...defaulUtil }}\r\n ref={this.pageRef}\r\n pageRef={this.pageRef}\r\n onHideForm={() => {\r\n this.setState({\r\n pageProps: { ...pageProps, columns: defaultColumns },\r\n });\r\n this.pageRef.current?.hideForm();\r\n }}\r\n funcs={{ ...deaultFuncs, ...funcs }}\r\n initData={this.initData}\r\n formPageProps={{\r\n formType: formPageProps.formType || \"modal\",\r\n props: formPageProps?.props,\r\n }}\r\n tableCode={this.props.tableCode}\r\n {...otherProps}\r\n >\r\n {renderSelfToolButton({\r\n selfButton: selfToolButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n })}\r\n {codeSelfButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfColumnButton({\r\n selfColumnButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n })}\r\n {codecolumnButtons.map((item) => {\r\n return item;\r\n })}\r\n {renderSelfToolButton({\r\n selfButton: selfFormButton,\r\n pageRef: this.pageRef,\r\n funcs: { ...deaultFuncs, ...funcs },\r\n loading: this.state.buttonLoading,\r\n type: \"formButton\",\r\n })}\r\n {codeFormButtons.map((item) => {\r\n return item;\r\n })}\r\n </BasePage>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;AACA,OAAOA,QAAQ,MAA4B,aAAa;AACxD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,MAAM,MAAM,mBAAmB;AACtC,OAAO,cAAc;AACrB,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,MAAM,MAAM,OAAO;AAC/B,OAAOC,OAAO,MAAM,UAAU;AAC9B,OAAOC,UAAU,MAAM,aAAa;AACpC,OAAO,KAAKC,QAAQ,MAAM,mBAAmB;AAC7C,OAAOC,GAAG,MAAM,YAAY;AAE5B,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAQ,mBAAmB;AACjD,OAAOC,KAAK,MAAM,OAAO;AAEzB;AACA;;AAEA,MAAMC,UAAU,GAAG;EACjBR,MAAM;EACNC,OAAO;EACPC,UAAU;EACVC,QAAQ;EACRI,KAAK;EACLE,aAAa,EAAEV,KAAK,CAACU;AACvB,CAAQ;AACR,MAAMC,oBAAoB,GAAGC,IAAA,IAMvB;EAAA,IANwB;IAC5BC,UAAU;IACVC,OAAO;IACPC,KAAK;IACLC,OAAO;IACPC,IAAI,GAAG;EACT,CAAC,GAAAL,IAAA;EACC,IAAIC,UAAU,CAACK,MAAM,IAAI,CAAC,EAAE;IAC1B,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAOL,UAAU,CAACM,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAa,KAAK;MAClD,oBACErB,KAAA,CAAAU,aAAA,CAACX,MAAM;QACLuB,QAAQ,EAAEL,IAAK;QACfM,GAAG,EAAEF,KAAM;QACXJ,IAAI,EAAEG,IAAI,CAACH,IAAK;QAChBO,OAAO,EAAEA,CAAA,KAAM;UACb,IAAIC,WAAW,GAAG;YAAEX,OAAO,EAAEA,OAAO;YAAEC,KAAK,EAAEA;UAAM,CAAC;UACpD,MAAMW,IAAI,GAAG,IAAIC,QAAQ,CAAC,mBAAmB,EAAEP,IAAI,CAACI,OAAO,CAAC;UAC5DE,IAAI,CAACjB,UAAU,EAAEgB,WAAW,CAAC;QAC/B,CAAE;QACFG,IAAI,EAAER,IAAI,CAACQ,IAAK;QAChBZ,OAAO,EAAEA,OAAO,CAACI,IAAI,CAACQ,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG;MAAM,GAEnDR,IAAI,CAACS,IACA,CAAC;IAEb,CAAC,CAAC;EACJ;AACF,CAAC;AAED,MAAMC,sBAAsB,GAAGC,KAAA,IAA0C;EAAA,IAAzC;IAAEC,gBAAgB;IAAElB,OAAO;IAAEC;EAAM,CAAC,GAAAgB,KAAA;EAClE,IAAIC,gBAAgB,CAACd,MAAM,IAAI,CAAC,EAAE;IAChC,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAOc,gBAAgB,CAACb,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAa,KAAK;MACxD,oBACErB,KAAA,CAAAU,aAAA,CAACX,MAAM;QACLuB,QAAQ,EAAC,cAAc;QACvBC,GAAG,EAAEF,KAAM;QACXJ,IAAI,EAAEG,IAAI,CAACH,IAAK;QAChBO,OAAO,EAAGS,MAAM,IAAK;UACnB,IAAIR,WAAW,GAAG;YAChBX,OAAO,EAAEA,OAAO;YAChBmB,MAAM,EAAEA,MAAM;YACdlB,KAAK,EAAEA;UACT,CAAC;UACD,MAAMW,IAAI,GAAG,IAAIC,QAAQ,CAAC,mBAAmB,EAAEP,IAAI,CAACI,OAAO,CAAC;UAC5DE,IAAI,CAACjB,UAAU,EAAEgB,WAAW,CAAC;QAC/B,CAAE;QACFG,IAAI,EAAER,IAAI,CAACQ,IAAK;QAChBM,UAAU,EAAEd,IAAI,CAACc;MAAW,GAE3Bd,IAAI,CAACS,IACA,CAAC;IAEb,CAAC,CAAC;EACJ;AACF,CAAC;AAED,MAAMM,WAAW,GAAIC,MAAW,IAAK;EACnC,OAAOjC,UAAU,CAACkC,GAAG,wCAAwC;IAC3DD,MAAM;IACNE,SAAS,EAAE,KAAK;IAChBC,UAAU,EAAE;EACd,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,MAAMC,gBAAgB,GAAGA,CAACC,IAAgB,EAAElB,GAAG,EAAEmB,QAAQ,KAAK;EAC5D,MAAMC,OAAO,GAAG,CAAC,GAAGF,IAAI,CAAC;EACzB,IAAIG,UAAU,GAAG,EAAS;EAC1BD,OAAO,CAACxB,GAAG,CAAEC,IAAI,IAAK;IACpB,IAAIyB,GAAG,GAAAC,aAAA,KAAQ1B,IAAI,CAAE;IACrB,IAAIA,IAAI,CAAC2B,SAAS,IAAIxB,GAAG,IAAIA,GAAG,CAACyB,OAAO,CAAC5B,IAAI,CAAC2B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MAC7D,IAAIE,KAAK,GAAGJ,GAAG,CAACI,KAAK,GAAAH,aAAA,KAAQD,GAAG,CAACI,KAAK,IAAK,CAAC,CAAC;MAC7CA,KAAK,CAACP,QAAQ,GAAGA,QAAQ;MACzBG,GAAG,CAACI,KAAK,GAAGA,KAAK;IACnB;IACAL,UAAU,CAACM,IAAI,CAACL,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB,CAAC;AACD;AACA,MAAMO,eAAe,GAAGA,CAACV,IAAgB,EAAElB,GAAG,EAAE6B,OAAO,KAAK;EAC1D,MAAMT,OAAO,GAAG,CAAC,GAAGF,IAAI,CAAC;EACzB,IAAIG,UAAU,GAAG,EAAS;EAC1BD,OAAO,CAACxB,GAAG,CAAEC,IAAI,IAAK;IACpB,IAAIyB,GAAG,GAAAC,aAAA,KAAQ1B,IAAI,CAAE;IACrB,IAAIA,IAAI,CAAC2B,SAAS,IAAIxB,GAAG,IAAIA,GAAG,CAACyB,OAAO,CAAC5B,IAAI,CAAC2B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;MAC7DF,GAAG,CAACQ,MAAM,GAAGD,OAAO;IACtB;IACAR,UAAU,CAACM,IAAI,CAACL,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB,CAAC;AAED,MAAMU,iBAAiB,GAAGA,CAACb,IAAgB,EAAElB,GAAG,EAAEgC,SAAS,KAAK;EAC9D,MAAMZ,OAAO,GAAG,CAAC,GAAGF,IAAI,CAAC;EACzB,IAAIG,UAAU,GAAG,EAAS;EAC1BD,OAAO,CAACxB,GAAG,CAAEC,IAAI,IAAK;IACpB,IAAIyB,GAAG,GAAAC,aAAA,KAAQ1B,IAAI,CAAE;IACrB,IAAIA,IAAI,CAAC2B,SAAS,IAAIxB,GAAG,EAAE;MACzB,IAAI0B,KAAK,GAAGJ,GAAG,CAACI,KAAK,GAAAH,aAAA,KAAQD,GAAG,CAACI,KAAK,IAAK,CAAC,CAAC;MAC7CA,KAAK,CAACR,IAAI,GAAGc,SAAS;MACtBV,GAAG,CAACI,KAAK,GAAGA,KAAK;IACnB;IACAL,UAAU,CAACM,IAAI,CAACL,GAAG,CAAC;EACtB,CAAC,CAAC;EACF,OAAOD,UAAU;AACnB,CAAC;AAWD,MAAMY,QAAQ,GAAGA,CAACpB,MAAe,EAAEnB,IAA4B,KAAK;EAClE,MAAM;IACJwC,QAAQ;IACRC,KAAK,GAAG,CAAC,CAAC;IACVC,EAAE;IACFC,KAAK;IACLC,WAAW;IACXC,WAAW;IACXC;EACF,CAAC,GAAG3B,MAAM;EACV,MAAM4B,QAAQ,GAAAlB,aAAA,KAAQY,KAAK,CAAS;EACpC,MAAMO,SAAS,GAAG3D,WAAW,CAAC4D,SAAS,CAACF,QAAQ,CAAC;EACjD,MAAMG,IAAI,GAAGF,SAAS,MAAAG,MAAA,CAAMX,QAAQ,OAAAW,MAAA,CAAIH,SAAS,IAAKR,QAAQ;EAC9D;EACA,IAAIY,MAAM,CAACC,sBAAsB,EAAE;IACjC,MAAM7B,IAAI,GAAG;MACXmB,KAAK,EAAEA,KAAK,IAAI,KAAK;MACrBC,WAAW,EAAEA,WAAW;MAAE;MAC1BC,WAAW,EAAEA,WAAW;MAAE;MAC1BK,IAAI,EAAEA,IAAI;MAAE;MACZR,EAAE,EAAEA,EAAE;MAAE;MACRI,QAAQ,EAAEA,QAAQ,GAAGA,QAAQ,GAAG,CAAC,CAAE;IACrC,CAAC;IACDM,MAAM,CAACE,MAAM,CAACC,WAAW,CACvB;MACEC,SAAS,EAAExD,IAAI,GAAGA,IAAI,GAAG,QAAQ;MACjC4C,WAAW,EAAEA,WAAW,GAAGA,WAAW,GAAG,aAAa;MACtDa,OAAO,EAAEzD,IAAI,GAAGmB,MAAM,GAAGK;IAC3B,CAAC,EACD4B,MAAM,CAACM,QAAQ,CAACC,MAClB,CAAC;EACH,CAAC,MAAM;IACLP,MAAM,CAACQ,OAAO,CAACC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAEX,IAAI,CAAC;IACtCE,MAAM,CAACQ,OAAO,CAACE,EAAE,CAAC,CAAC;EACrB;AACF,CAAC;AACD,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,MAAMC,OAAO,GAAG1E,aAAa,CAAC;IAAEsB,IAAI,EAAE;EAAmB,CAAC,CAAC,IAAI,CAAC,CAAC;EACjE,OAAOoD,OAAO;AAChB,CAAC;AAsBD,MAAMC,iBAAiB,GAAG;EACxBC,SAAS,EAAE,CAAC,CAAQ;EACpBC,SAAS,EAAE;IAAEC,KAAK,EAAE;MAAEC,GAAG,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAM;EAAE,CAAQ;EACzDC,UAAU,EAAE,CAAC,CAAQ;EACrBC,cAAc,EAAE,EAAS;EACzBzD,gBAAgB,EAAE,EAAS;EAC3B0D,cAAc,EAAE,EAAS;EACzBC,WAAW,EAAE,IAAI;EACjBC,cAAc,EAAE,EAAS;EACzBC,UAAU,EAAE,CAAC,CAAQ;EACrBC,aAAa,EAAE,CAAC,CAAQ;EACxBC,aAAa,EAAE,CAAC;AAClB,CAAC;AACD,eAAe,MAAMC,YAAY,SAAShG,KAAK,CAACiG,SAAS,CAAc;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,gBAAAtD,aAAA,KAEhEoC,iBAAiB;IAAAkB,eAAA,+BAEZpG,KAAK,CAACqG,SAAS,CAAM,CAAC;IAAAD,eAAA,mBAuBpBE,GAAQ,IAAK;MACvB,MAAM;QAAET,UAAU;QAAEV;MAAU,CAAC,GAAG,IAAI,CAACoB,KAAK;MAC5C,IACEpB,SAAS,CAACqB,UAAU,KAAK,KAAK,IAC9BX,UAAU,CAACY,aAAa,IACxBZ,UAAU,CAACa,iBAAiB,IAAI,KAAK,EACrC;QACA,IAAIhF,IAAI,GAAG,IAAIC,QAAQ,CAAC,mBAAmB,EAAEkE,UAAU,CAACY,aAAa,CAAC;QACtE,MAAMrE,MAAM,GAAGV,IAAI,CAACjB,UAAU,EAAE;UAAEK,OAAO,EAAE,IAAI,CAACA;QAAQ,CAAC,CAAC;QAC1D6F,UAAU,CAAC,MAAM;UAAA,IAAAC,qBAAA,EAAAC,sBAAA;UACf,CAAAD,qBAAA,OAAI,CAAC9F,OAAO,CAACgG,OAAO,cAAAF,qBAAA,eAApBA,qBAAA,CAAsBG,SAAS,CAAAjE,aAAA,KAAMV,MAAM,CAAE,CAAC;UAC9C,CAAAyE,sBAAA,OAAI,CAAC/F,OAAO,CAACgG,OAAO,cAAAD,sBAAA,eAApBA,sBAAA,CAAsBG,eAAe,CAAAlE,aAAA,KAAMV,MAAM,CAAE,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACV;IACF,CAAC;EAAA;EAnCD6E,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,OAAO,CAAC,CAAC;EAChB;EAEAC,kBAAkBA,CAChBC,SAA2B,EAC3BC,SAAwB,EACxBC,QAAc,EACR;IACN,IAAIF,SAAS,CAACG,SAAS,IAAI,IAAI,CAACtE,KAAK,CAACsE,SAAS,EAAE;MAC/C,IAAI,CAACC,QAAQ,CAAA1E,aAAA,KAENoC,iBAAiB,GAEtB,MAAM;QACJ,IAAI,CAACgC,OAAO,CAAC,CAAC;MAChB,CACF,CAAC;IACH;EACF;EAiBA;EACAA,OAAOA,CAAA,EAAG;IACR;IACA,IAAI,CAACM,QAAQ,CAAC;MACZ7B,WAAW,EAAE;IACf,CAAC,CAAC;IACF,MAAM;MAAE4B,SAAS;MAAEE,SAAS,GAAG,IAAI;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GAAG,IAAI,CAAC1E,KAAK;IACvE;IACA,IAAIsE,SAAS,EAAE;MACb;MACA,IAAInF,MAAM,GAAG;QAAER,IAAI,EAAE2F;MAAU,CAAQ;MACvC;MACA,IAAIE,SAAS,EAAE;QACb;QACArF,MAAM,CAACwF,WAAW,GAAG,CAAC;MACxB;MACA;MACAzF,WAAW,CAAAW,aAAA,KAAMV,MAAM,CAAE,CAAC,CAACyF,IAAI,CAAEvB,GAAQ,IAAK;QAC5C,IAAIA,GAAG,CAAC1E,IAAI,IAAI,GAAG,IAAI0E,GAAG,CAAC7D,IAAI,EAAE;UAAA,IAAAqF,qBAAA;UAC/B,IAAIC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC+C,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC/D,IAAI0C,UAAU,GAAGF,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC2C,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7D,IAAI+C,UAAU,GAAGH,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC0C,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7D,IAAIiD,WAAW,GAAGJ,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC4F,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAChE,IAAIC,UAAU,GAAGN,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC8F,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7D,IAAI,EAAAT,qBAAA,GAAAK,UAAU,CAACK,UAAU,cAAAV,qBAAA,uBAArBA,qBAAA,CAAuBW,GAAG,KAAI,IAAI,EAAE;YACtCN,UAAU,CAACK,UAAU,CAACd,QAAQ,GAAGA,QAAQ;UAC3C;UACA,IAAID,SAAS,IAAI,KAAK,EAAE;YACtBU,UAAU,CAACK,UAAU,GAAG,KAAK;UAC/B;UACA,IACGL,UAAU,CAAC3B,UAAU,KAAK,KAAK,IAC9B4B,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAE3B,aAAa,IAC1B,CAAA2B,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE1B,iBAAiB,KAAI,KAAK,IACzC,IAAI,CAACzD,KAAK,CAACsC,QAAQ,KAAK,KAAK,EAC7B;YACAwC,WAAW,CAAC1C,KAAK,CAACE,QAAQ,GAAG,KAAK;UACpC;UACA,IAAIoC,SAAS,EAAE;YACb,MAAMe,KAAK,GAAGjI,UAAU,IAAI,CAAC,CAAC;YAC9B,IAAIkI,SAAS,GAAG,IAAIhH,QAAQ,CAAC,OAAO,EAAEgG,SAAS,CAAC;YAChD,IAAIiB,eAAe,GAAGD,SAAS,CAACD,KAAK,CAAC;YACtC,IAAIP,UAAU,CAACU,aAAa,EAAE;cAC5B,IAAI;gBAAEA,aAAa,GAAG,CAAC;cAAE,CAAC,GAAGV,UAAU;cACvC,IAAIW,gBAAgB,GAAG;gBACrBC,WAAW,EAAE,IAAI;gBACjBC,SAAS,EAAE,IAAI;gBACfC,YAAY,EAAE;cAChB,CAAC;cACD,KAAK,IAAI1H,GAAG,IAAIuH,gBAAgB,EAAE;gBAChC,IAAID,aAAa,CAACtH,GAAG,CAAC,EAAE;kBACtB,IAAIG,IAAI,GAAG,IAAIC,QAAQ,CAAC,OAAO,EAAEkH,aAAa,CAACtH,GAAG,CAAC,CAAC;kBACpD,IAAI2H,YAAY,GAAGxH,IAAI,CAACgH,KAAK,CAAC;kBAC9B,MAAM;sBAAEjG;oBAAe,CAAC,GAAGyG,YAAY;oBAAtBC,KAAK,GAAAC,wBAAA,CAAKF,YAAY,EAAAG,SAAA;kBACvC,IAAIC,SAAS,GAAAxG,aAAA;oBACXL,IAAI,EAAAK,aAAA,CAAAA,aAAA,KAAO8F,eAAe,GAAKnG,IAAI;kBAAE,GAClC0G,KAAK,CACT;kBACDL,gBAAgB,CAACvH,GAAG,CAAC,GAAG+H,SAAS;gBACnC,CAAC,MAAM;kBACLR,gBAAgB,CAACvH,GAAG,CAAC,GAAG;oBAAEkB,IAAI,EAAAK,aAAA,KAAO8F,eAAe;kBAAG,CAAC;gBAC1D;cACF;cACAT,UAAU,CAACU,aAAa,GAAA/F,aAAA,KAAQgG,gBAAgB,CAAE;YACpD,CAAC,MAAM;cACLX,UAAU,CAACU,aAAa,GAAG;gBACzBE,WAAW,EAAE;kBAAEtG,IAAI,EAAAK,aAAA,KAAO8F,eAAe;gBAAG,CAAC;gBAC7CI,SAAS,EAAE;kBAAEvG,IAAI,EAAAK,aAAA,KAAO8F,eAAe;gBAAG,CAAC;gBAC3CK,YAAY,EAAE;kBAAExG,IAAI,EAAAK,aAAA,KAAO8F,eAAe;gBAAG;cAC/C,CAAC;YACH;UACF;UACA,IAAI,CAACpB,QAAQ,CACX;YACErC,SAAS,EAAArC,aAAA,KACJqF,UAAU,CACd;YACD/C,SAAS,EAAAtC,aAAA,KACJoF,UAAU,CACd;YACD1C,UAAU,EAAA1C,aAAA,KACLiF,WAAW,CACf;YACDlC,UAAU,EAAA/C,aAAA,KAAOsF,WAAW,CAAE;YAC9BpG,gBAAgB,EAAEgG,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC8G,aAAa,CAAC,IAAI,EAAE;YAC1D9D,cAAc,EAAEuC,IAAI,CAACC,KAAK,CAAC3B,GAAG,CAAC7D,IAAI,CAAC+G,WAAW,CAAC,IAAI,EAAE;YACtD5D,cAAc,EAAEuC,UAAU,CAACxF,OAAO;YAClCoD,aAAa,EAAEuC,UAAU;YACzB5C,cAAc,EAAE,CAAA4C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEzH,UAAU,KAAI;UAC5C,CAAC,EACD,MAAM;YACJ,IAAI,CAAC2G,QAAQ,CAAC;cACZ7B,WAAW,EAAE;YACf,CAAC,CAAC;UACJ,CACF,CAAC;QACH,CAAC,MAAM,IAAIW,GAAG,CAAC1E,IAAI,IAAI,GAAG,IAAI0E,GAAG,CAAC7D,IAAI,IAAI,IAAI,EAAE;UAC9CgH,QAAA,CAAQC,KAAK,CAAC,UAAU,CAAC;UACzB,IAAI,CAAClC,QAAQ,CAAC;YACZ7B,WAAW,EAAE;UACf,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAAC6B,QAAQ,CAAC;YACZ7B,WAAW,EAAE;UACf,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAAC6B,QAAQ,CAAC;QACZ7B,WAAW,EAAE;MACf,CAAC,CAAC;IACJ;EACF;EACA;EACAgE,eAAeA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IAChB,MAAMC,KAAK,IAAAD,sBAAA,GAAG,IAAI,CAAC9I,OAAO,CAACgG,OAAO,cAAA8C,sBAAA,uBAApBA,sBAAA,CAAsBD,eAAe,CAAC,CAAC;IACrD,OAAOE,KAAK;EACd;EACA7C,eAAeA,CAAC5E,MAAM,EAAE0H,QAAQ,EAAE;IAAA,IAAAC,sBAAA;IAChC,CAAAA,sBAAA,OAAI,CAACjJ,OAAO,CAACgG,OAAO,cAAAiD,sBAAA,eAApBA,sBAAA,CAAsB/C,eAAe,CAAC5E,MAAM,CAAC;EAC/C;EACA2E,SAASA,CAAC3E,MAAW,EAAsB;IAAA,IAAA4H,sBAAA;IAAA,IAApBC,aAAa,GAAA9D,SAAA,CAAAjF,MAAA,QAAAiF,SAAA,QAAA+D,SAAA,GAAA/D,SAAA,MAAG,CAAC,CAAC;IACvC,CAAA6D,sBAAA,OAAI,CAAClJ,OAAO,CAACgG,OAAO,cAAAkD,sBAAA,eAApBA,sBAAA,CAAsBjD,SAAS,CAAC3E,MAAM,EAAE6H,aAAa,CAAC;EACxD;EACAE,WAAWA,CAAA,EAA+B;IAAA,IAAAC,sBAAA;IAAA,IAA9BhI,MAAM,GAAA+D,SAAA,CAAAjF,MAAA,QAAAiF,SAAA,QAAA+D,SAAA,GAAA/D,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEZ,QAAQ,GAAAY,SAAA,CAAAjF,MAAA,QAAAiF,SAAA,QAAA+D,SAAA,GAAA/D,SAAA,MAAG,IAAI;IACtC,CAAAiE,sBAAA,OAAI,CAACtJ,OAAO,CAACgG,OAAO,cAAAsD,sBAAA,eAApBA,sBAAA,CAAsBD,WAAW,CAAC/H,MAAM,EAAEmD,QAAQ,CAAC;EACrD;EACA8E,kBAAkBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACnB,QAAAA,sBAAA,GAAO,IAAI,CAACxJ,OAAO,CAACgG,OAAO,cAAAwD,sBAAA,uBAApBA,sBAAA,CAAsBD,kBAAkB,CAAC,CAAC;EACnD;EACAE,mBAAmBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACpB,QAAAA,sBAAA,GAAO,IAAI,CAAC1J,OAAO,CAACgG,OAAO,cAAA0D,sBAAA,uBAApBA,sBAAA,CAAsBD,mBAAmB,CAAC,CAAC;EACpD;EAEAE,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,sBAAA;IACrB,QAAAA,sBAAA,GAAO,IAAI,CAAC5J,OAAO,CAACgG,OAAO,cAAA4D,sBAAA,uBAApBA,sBAAA,CAAsBD,oBAAoB,CAAC,CAAC;EACrD;EACAE,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,SAAS;MACT7J,KAAK,GAAG,CAAC,CAAC;MACV8J,SAAS,GAAG,CAAC;IACf,CAAC,GAAG,IAAI,CAAC5H,KAAK;IACd,MAAM;MACJkC,SAAS;MACTC,SAAS;MACTI,UAAU;MACVC,cAAc;MACdzD,gBAAgB;MAChB2D,WAAW;MACXC,cAAc;MACdE,aAAa,GAAG,CAAC,CAAC;MAClBC,aAAa,GAAG,CAAC,CAAC;MAClBL;IACF,CAAC,GAAG,IAAI,CAACa,KAAK;IACd,MAAM;QACJnB,SAAS,EAAE0F,gBAAgB,GAAG,CAAC,CAAC;QAChCtF,UAAU,EAAEuF,iBAAiB,GAAG,CAAC;MAEnC,CAAC,GAAGF,SAAS;MADRhF,UAAU,GAAAuD,wBAAA,CACXyB,SAAS,EAAAG,UAAA;IACb,IAAIC,KAAK,GAAG,IAAI;IAChB;IACA;IACA,MAAMC,WAAW,GAAG;MAClB1I,gBAAgB,EAAEA,CAACjB,GAAG,EAAEmB,QAAQ,KAAK;QACnC,MAAMyI,OAAO,GAAG3I,gBAAgB,CAAC2C,SAAS,CAACxC,OAAO,EAAEpB,GAAG,EAAEmB,QAAQ,CAAC;QAClE,IAAI,CAAC8E,QAAQ,CAAC;UACZrC,SAAS,EAAArC,aAAA,CAAAA,aAAA,KAAOqC,SAAS;YAAExC,OAAO,EAAEwI;UAAO;QAC7C,CAAC,CAAC;MACJ,CAAC;MACDhI,eAAe,EAAEA,CAAC5B,GAAG,EAAEmB,QAAQ,KAAK;QAClC,MAAMyI,OAAO,GAAGhI,eAAe,CAACgC,SAAS,CAACxC,OAAO,EAAEpB,GAAG,EAAEmB,QAAQ,CAAC;QACjE,IAAI,CAAC8E,QAAQ,CAAC;UACZrC,SAAS,EAAArC,aAAA,CAAAA,aAAA,KAAOqC,SAAS;YAAExC,OAAO,EAAEwI;UAAO;QAC7C,CAAC,CAAC;MACJ,CAAC;MACD7H,iBAAiB,EAAEA,CAAC/B,GAAG,EAAEkB,IAAI,KAAK;QAChC,MAAM0I,OAAO,GAAG7H,iBAAiB,CAAC6B,SAAS,CAACxC,OAAO,EAAEpB,GAAG,EAAEkB,IAAI,CAAC;QAC/D,IAAI,CAAC+E,QAAQ,CAAC;UACZrC,SAAS,EAAArC,aAAA,CAAAA,aAAA,KAAOqC,SAAS;YAAExC,OAAO,EAAEwI;UAAO;QAC7C,CAAC,CAAC;MACJ,CAAC;MACDtG,OAAO,EAAEA,CAACzC,MAAM,EAAEnB,IAAI,KAAK;QACzBuC,QAAQ,CAACpB,MAAM,EAAEnB,IAAI,CAAC;MACxB,CAAC;MACDmK,gBAAgBA,CAACxJ,IAAI,EAAEZ,OAAO,EAAE;QAC9BiK,KAAK,CAACzD,QAAQ,CAAC;UACb1B,aAAa,EAAAhD,aAAA,CAAAA,aAAA,KAAOgD,aAAa;YAAE,CAAClE,IAAI,GAAGZ;UAAO;QACpD,CAAC,CAAC;MACJ,CAAC;MAEDqK,iBAAiB,EAAEA,CAAA,KAAM;QACvB,OAAOrG,UAAU,CAAC,CAAC;MACrB;IACF,CAAC;IACD,MAAM;MAAEsG;IAAS,CAAC,GAAG,IAAI,CAACrI,KAAK;IAC/B,IAAIsI,eAAe,GAAG,EAAE;IACxB,IAAIC,iBAAiB,GAAG,EAAE;IAC1B,IAAIC,eAAe,GAAG,EAAE;IACxB,IAAIC,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAE;MAC3BA,QAAQ,CAACnK,GAAG,CAAEC,IAAS,IAAK;QAC1B,IAAIsK,KAAK,CAACC,OAAO,CAACvK,IAAI,CAAC,EAAE;UACvBA,IAAI,CAACD,GAAG,CAAEyK,KAAK,IAAK;YAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA;YAClB,IAAI,CAAAH,KAAK,aAALA,KAAK,gBAAAC,YAAA,GAALD,KAAK,CAAE3I,KAAK,cAAA4I,YAAA,uBAAZA,YAAA,CAAcvK,QAAQ,KAAI,YAAY,EAAE;cAC1CiK,eAAe,CAACrI,IAAI,CAAC0I,KAAK,CAAC;YAC7B,CAAC,MAAM,IAAI,CAAAA,KAAK,aAALA,KAAK,gBAAAE,aAAA,GAALF,KAAK,CAAE3I,KAAK,cAAA6I,aAAA,uBAAZA,aAAA,CAAcxK,QAAQ,KAAI,cAAc,EAAE;cACnDkK,iBAAiB,CAACtI,IAAI,CAAC0I,KAAK,CAAC;YAC/B,CAAC,MAAM,IAAI,CAAAA,KAAK,aAALA,KAAK,gBAAAG,aAAA,GAALH,KAAK,CAAE3I,KAAK,cAAA8I,aAAA,uBAAZA,aAAA,CAAczK,QAAQ,KAAI,YAAY,EAAE;cACjDmK,eAAe,CAACvI,IAAI,CAAC0I,KAAK,CAAC;YAC7B;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UAAA,IAAAI,WAAA,EAAAC,YAAA,EAAAC,YAAA;UACL,IAAI,CAAA9K,IAAI,aAAJA,IAAI,gBAAA4K,WAAA,GAAJ5K,IAAI,CAAE6B,KAAK,cAAA+I,WAAA,uBAAXA,WAAA,CAAa1K,QAAQ,KAAI,YAAY,EAAE;YACzCiK,eAAe,CAACrI,IAAI,CAAC9B,IAAI,CAAC;UAC5B,CAAC,MAAM,IAAI,CAAAA,IAAI,aAAJA,IAAI,gBAAA6K,YAAA,GAAJ7K,IAAI,CAAE6B,KAAK,cAAAgJ,YAAA,uBAAXA,YAAA,CAAa3K,QAAQ,KAAI,cAAc,EAAE;YAClDkK,iBAAiB,CAACtI,IAAI,CAAC9B,IAAI,CAAC;UAC9B,CAAC,MAAM,IAAI,CAAAA,IAAI,aAAJA,IAAI,gBAAA8K,YAAA,GAAJ9K,IAAI,CAAE6B,KAAK,cAAAiJ,YAAA,uBAAXA,YAAA,CAAa5K,QAAQ,KAAI,YAAY,EAAE;YAChDmK,eAAe,CAACvI,IAAI,CAAC9B,IAAI,CAAC;UAC5B;QACF;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIkK,QAAQ,EAAE;MACnB,MAAM;QAAErI;MAAW,CAAC,GAAGqI,QAAQ;MAC/B,IAAI,CAAArI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3B,QAAQ,KAAI,YAAY,EAAE;QACnCiK,eAAe,CAACrI,IAAI,CAACoI,QAAQ,CAAC;MAChC,CAAC,MAAM,IAAI,CAAArI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3B,QAAQ,KAAI,cAAc,EAAE;QAC5CkK,iBAAiB,CAACtI,IAAI,CAACoI,QAAQ,CAAC;MAClC,CAAC,MAAM,IAAI,CAAArI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3B,QAAQ,KAAI,YAAY,EAAE;QAC1CmK,eAAe,CAACvI,IAAI,CAACoI,QAAQ,CAAC;MAChC;IACF;IACA,oBACEtL,KAAA,CAAAU,aAAA;MAAKkK,SAAS,EAAEvK,GAAG,CAAC,yBAAyB,EAAEuK,SAAS;IAAE,GACvDjF,WAAW,gBACV3F,KAAA,CAAAU,aAAA;MAAKyL,KAAK,EAAE;QAAEC,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE;MAAO;IAAE,gBAC5CrM,KAAA,CAAAU,aAAA,CAACZ,IAAI;MAACwM,QAAQ,EAAE3G;IAAY,CAAO,CAChC,CAAC,gBAEN3F,KAAA,CAAAU,aAAA,CAACb,QAAQ,EAAA0M,QAAA,KACHpH,SAAS;MACbC,SAAS,EAAAtC,aAAA,CAAAA,aAAA,KAAOsC,SAAS,GAAK0F,gBAAgB,CAAG;MACjDtF,UAAU,EAAA1C,aAAA,CAAAA,aAAA,KAAO0C,UAAU,GAAKuF,iBAAiB,CAAG;MACpDxC,SAAS,EAAE,CAAC,CAAE;MACdG,KAAK,EAAA5F,aAAA,KAAOrC,UAAU,CAAG;MACzB+L,GAAG,EAAE,IAAI,CAAC1L,OAAQ;MAClBA,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtB2L,UAAU,EAAEA,CAAA,KAAM;QAAA,IAAAC,uBAAA;QAChB,IAAI,CAAClF,QAAQ,CAAC;UACZrC,SAAS,EAAArC,aAAA,CAAAA,aAAA,KAAOqC,SAAS;YAAExC,OAAO,EAAEiD;UAAc;QACpD,CAAC,CAAC;QACF,CAAA8G,uBAAA,OAAI,CAAC5L,OAAO,CAACgG,OAAO,cAAA4F,uBAAA,eAApBA,uBAAA,CAAsBC,QAAQ,CAAC,CAAC;MAClC,CAAE;MACF5L,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOoI,WAAW,GAAKnK,KAAK,CAAG;MACpC6L,QAAQ,EAAE,IAAI,CAACA,QAAS;MACxB7G,aAAa,EAAE;QACb8G,QAAQ,EAAE9G,aAAa,CAAC8G,QAAQ,IAAK,OAAO;QAC5C5J,KAAK,EAAE8C,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE9C;MACxB,CAAE;MACFsE,SAAS,EAAE,IAAI,CAACtE,KAAK,CAACsE;IAAU,GAC5B1B,UAAU,GAEblF,oBAAoB,CAAC;MACpBE,UAAU,EAAE4E,cAAc;MAC1B3E,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOoI,WAAW,GAAKnK,KAAK,CAAE;MACnCC,OAAO,EAAE,IAAI,CAACuF,KAAK,CAACT;IACtB,CAAC,CAAC,EACDyF,eAAe,CAACpK,GAAG,CAAEC,IAAI,IAAK;MAC7B,OAAOA,IAAI;IACb,CAAC,CAAC,EACDU,sBAAsB,CAAC;MACtBE,gBAAgB;MAChBlB,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOoI,WAAW,GAAKnK,KAAK;IACnC,CAAC,CAAC,EACDyK,iBAAiB,CAACrK,GAAG,CAAEC,IAAI,IAAK;MAC/B,OAAOA,IAAI;IACb,CAAC,CAAC,EACDT,oBAAoB,CAAC;MACpBE,UAAU,EAAE6E,cAAc;MAC1B5E,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,KAAK,EAAA+B,aAAA,CAAAA,aAAA,KAAOoI,WAAW,GAAKnK,KAAK,CAAE;MACnCC,OAAO,EAAE,IAAI,CAACuF,KAAK,CAACT,aAAa;MACjC7E,IAAI,EAAE;IACR,CAAC,CAAC,EACDwK,eAAe,CAACtK,GAAG,CAAEC,IAAI,IAAK;MAC7B,OAAOA,IAAI;IACb,CAAC,CACO,CAET,CAAC;EAEV;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "4.2.3",
3
+ "version": "4.2.4",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {