for-modules 1.1.3 → 1.1.5

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.
@@ -151,7 +151,8 @@ var Player = exports.Player = /*#__PURE__*/function () {
151
151
  var _moveNode = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(node) {
152
152
  var _this = this,
153
153
  _this$queue$current,
154
- _voiceState;
154
+ _this$voiceState$sess,
155
+ _this$voiceState;
155
156
  var destroyOldNode, currentNode, destinationNode, position, fetchedPlayer;
156
157
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
157
158
  while (1) switch (_context2.prev = _context2.next) {
@@ -237,7 +238,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
237
238
  voice: {
238
239
  token: this.voiceState.event.token,
239
240
  endpoint: this.voiceState.event.endpoint,
240
- sessionId: (_voiceState = this.voiceState) === null || _voiceState === void 0 ? void 0 : _voiceState.sessionId
241
+ sessionId: (_this$voiceState$sess = (_this$voiceState = this.voiceState) === null || _this$voiceState === void 0 ? void 0 : _this$voiceState.sessionId) !== null && _this$voiceState$sess !== void 0 ? _this$voiceState$sess : ""
241
242
  }
242
243
  }
243
244
  });
@@ -747,4 +748,4 @@ var Player = exports.Player = /*#__PURE__*/function () {
747
748
  }();
748
749
  /** If track partials are set some of these will be `undefined` as they were removed. */
749
750
  /** Unresolved tracks can't be played normally, they will resolve before playing into a Track. */
750
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRmlsdGVycyIsInJlcXVpcmUiLCJfVXRpbHMiLCJfIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGxheWVyQ2hlY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJXZWFrTWFwIiwiciIsInQiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZiIsIm8iLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwicHJvdG90eXBlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsImtleSIsIl9jcmVhdGVDbGFzcyIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiUGxheWVyIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfb3B0aW9ucyR2b2x1bWUiLCJTdHJ1Y3R1cmUiLCJmaWxsIiwibWFuYWdlciIsIl9tYW5hZ2VyIiwiUmFuZ2VFcnJvciIsInBsYXllcnMiLCJndWlsZCIsInBsYXllckNoZWNrIiwidm9pY2VTdGF0ZSIsImFzc2lnbiIsIm9wIiwiZ3VpbGRfaWQiLCJ2b2ljZUNoYW5uZWwiLCJ0ZXh0Q2hhbm5lbCIsIm5vZGUiLCJub2RlcyIsInVzZWFibGVOb2RlcyIsImVtaXQiLCJzZXRWb2x1bWUiLCJ2b2x1bWUiLCJmaWx0ZXJzIiwiRmlsdGVycyIsImRhdGEiLCJzZWFyY2giLCJxdWVyeSIsInJlcXVlc3RlciIsImNvbm5lY3QiLCJzdGF0ZSIsInNlbmQiLCJjaGFubmVsX2lkIiwic2VsZl9tdXRlIiwic2VsZk11dGUiLCJzZWxmX2RlYWYiLCJzZWxmRGVhZmVuIiwiX21vdmVOb2RlIiwiX2NhbGxlZTIiLCJfdGhpcyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQiLCJfdm9pY2VTdGF0ZSIsImRlc3Ryb3lPbGROb2RlIiwiY3VycmVudE5vZGUiLCJkZXN0aW5hdGlvbk5vZGUiLCJwb3NpdGlvbiIsImZldGNoZWRQbGF5ZXIiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJsZWFzdExvYWROb2RlIiwiZmlyc3QiLCJpZGVudGlmaWVyIiwiY29ubmVjdGVkIiwiX3JlZiIsIl9jYWxsZWUiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzdCIsImRlc3Ryb3lQbGF5ZXIiLCJzZXRUaW1lb3V0IiwiX3gyIiwiY29uY2F0Iiwic2Vzc2lvbklkIiwidHJhY2siLCJpbmZvIiwidXBkYXRlUGxheWVyIiwiZ3VpbGRJZCIsImVuY29kZWRUcmFjayIsInF1ZXVlIiwiY3VycmVudCIsInBhdXNlZCIsImRpc3RvcnRpb24iLCJlcXVhbGl6ZXIiLCJrYXJhb2tlIiwicm90YXRpb24iLCJ0aW1lc2NhbGUiLCJ2aWJyYXRvIiwidm9pY2UiLCJ0b2tlbiIsImV2ZW50IiwiZW5kcG9pbnQiLCJtb3ZlTm9kZSIsIl94IiwiZGlzY29ubmVjdCIsInBhdXNlIiwiZGVzdHJveSIsInVuZGVmaW5lZCIsInNldFZvaWNlQ2hhbm5lbCIsImNoYW5uZWwiLCJzZXRUZXh0Q2hhbm5lbCIsInNldE5vd1BsYXlpbmdNZXNzYWdlIiwibWVzc2FnZSIsIm5vd1BsYXlpbmdNZXNzYWdlIiwiX3BsYXkiLCJfY2FsbGVlMyIsIm9wdGlvbnNPclRyYWNrIiwicGxheU9wdGlvbnMiLCJfdGhpcyRxdWV1ZSRjdXJyZW50MiIsImZpbmFsT3B0aW9ucyIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsIlRyYWNrVXRpbHMiLCJ2YWxpZGF0ZSIsInByZXZpb3VzIiwiZXZlcnkiLCJpbmNsdWRlcyIsImlzVW5yZXNvbHZlZFRyYWNrIiwiZ2V0Q2xvc2VzdFRyYWNrIiwidDAiLCJwbGF5IiwicGxheWluZyIsIl94MyIsIl94NCIsInNldEF1dG9wbGF5IiwiYXV0b3BsYXlTdGF0ZSIsImJvdFVzZXIiLCJpc0F1dG9wbGF5IiwiX2dldFJlY29tbWVuZGVkIiwiX2NhbGxlZTQiLCJoYXNTcG90aWZ5VVJMIiwiaGFzWW91VHViZVVSTCIsIl9yZXMiLCJpc1Nwb3RpZnlQbHVnaW5FbmFibGVkIiwiaXNTcG90aWZ5U291cmNlTWFuYWdlckVuYWJsZWQiLCJ0cmFja0lEIiwiYXJ0aXN0SUQiLCJyZWNvbW1lbmRlZFJlc3VsdCIsInBsYXlsaXN0RGF0YSIsInJlY29tbWVuZGVkVHJhY2tzIiwiX3RyYWNrcyIsInZpZGVvSUQiLCJfcmVzMiIsInNlYXJjaFVSSSIsInJlcyIsInRyYWNrcyIsImZpbHRlcmVkVHJhY2tzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfdHJhY2siLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEiLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEyIiwiYXV0aG9yIiwidGl0bGUiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJzb21lIiwidXJsIiwidXJpIiwicGx1Z2lucyIsInBsdWdpbiIsInNvdXJjZU1hbmFnZXJzIiwiZXh0cmFjdFNwb3RpZnlUcmFja0lEIiwiZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCIsInBsdWdpbkluZm8iLCJhcnRpc3RVcmwiLCJlbmNvZGVVUklDb21wb25lbnQiLCJsb2FkVHlwZSIsIm1hcCIsImJ1aWxkIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsInBsYXlsaXN0IiwicmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscyIsInJlcGxhY2UiLCJzcGxpdCIsInN0ciIsInRyaW0iLCJlcnIiLCJnZXRSZWNvbW1lbmRlZCIsIl94NSIsIl94NiIsInNldFRyYWNrUmVwZWF0IiwicmVwZWF0Iiwib2xkUGxheWVyIiwidHJhY2tSZXBlYXQiLCJxdWV1ZVJlcGVhdCIsImR5bmFtaWNSZXBlYXQiLCJzZXRRdWV1ZVJlcGVhdCIsInNldER5bmFtaWNSZXBlYXQiLCJtcyIsIl90aGlzMiIsInNpemUiLCJkeW5hbWljTG9vcEludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJzaHVmZmxlZCIsInNodWZmbGUiLCJjbGVhciIsImFkZCIsImNsZWFySW50ZXJ2YWwiLCJyZXN0YXJ0IiwiX3RoaXMkcXVldWUkY3VycmVudDMiLCJfdGhpcyRxdWV1ZSRjdXJyZW50NCIsImFtb3VudCIsInNwbGljZSIsInRvdGFsU2l6ZSIsInVuc2hpZnQiLCJzZWVrIiwiZHVyYXRpb24iLCJNYXRoIiwibWF4IiwibWluIiwiaW5pdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHJ1Y3R1cmVzL1BsYXllci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJzIH0gZnJvbSBcIi4vRmlsdGVyc1wiO1xuaW1wb3J0IHsgTGF2YWxpbmtSZXNwb25zZSwgTWFuYWdlciwgUGxheWxpc3RSYXdEYXRhLCBTZWFyY2hRdWVyeSwgU2VhcmNoUmVzdWx0IH0gZnJvbSBcIi4vTWFuYWdlclwiO1xuaW1wb3J0IHsgTGF2YWxpbmtJbmZvLCBOb2RlIH0gZnJvbSBcIi4vTm9kZVwiO1xuaW1wb3J0IHsgUXVldWUgfSBmcm9tIFwiLi9RdWV1ZVwiO1xuaW1wb3J0IHsgU2l6ZXMsIFN0YXRlLCBTdHJ1Y3R1cmUsIFRyYWNrU291cmNlTmFtZSwgVHJhY2tVdGlscywgVm9pY2VTdGF0ZSB9IGZyb20gXCIuL1V0aWxzXCI7XG5pbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCBwbGF5ZXJDaGVjayBmcm9tIFwiLi4vVXRpbHMvUGxheWVyQ2hlY2tcIjtcbmltcG9ydCB7IENsaWVudFVzZXIsIE1lc3NhZ2UsIFVzZXIgfSBmcm9tIFwiZGlzY29yZC5qc1wiO1xuXG5leHBvcnQgY2xhc3MgUGxheWVyIHtcblx0LyoqIFRoZSBRdWV1ZSBmb3IgdGhlIFBsYXllci4gKi9cblx0cHVibGljIHJlYWRvbmx5IHF1ZXVlID0gbmV3IChTdHJ1Y3R1cmUuZ2V0KFwiUXVldWVcIikpKCkgYXMgUXVldWU7XG5cdC8qKiBUaGUgZmlsdGVycyBhcHBsaWVkIHRvIHRoZSBhdWRpby4gKi9cblx0cHVibGljIGZpbHRlcnM6IEZpbHRlcnM7XG5cdC8qKiBXaGV0aGVyIHRoZSBxdWV1ZSByZXBlYXRzIHRoZSB0cmFjay4gKi9cblx0cHVibGljIHRyYWNrUmVwZWF0ID0gZmFsc2U7XG5cdC8qKiBXaGV0aGVyIHRoZSBxdWV1ZSByZXBlYXRzIHRoZSBxdWV1ZS4gKi9cblx0cHVibGljIHF1ZXVlUmVwZWF0ID0gZmFsc2U7XG5cdC8qKldoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgYW5kIHNodWZmbGVzIGFmdGVyIGVhY2ggc29uZy4gKi9cblx0cHVibGljIGR5bmFtaWNSZXBlYXQgPSBmYWxzZTtcblx0LyoqIFRoZSB0aW1lIHRoZSBwbGF5ZXIgaXMgaW4gdGhlIHRyYWNrLiAqL1xuXHRwdWJsaWMgcG9zaXRpb24gPSAwO1xuXHQvKiogV2hldGhlciB0aGUgcGxheWVyIGlzIHBsYXlpbmcuICovXG5cdHB1YmxpYyBwbGF5aW5nID0gZmFsc2U7XG5cdC8qKiBXaGV0aGVyIHRoZSBwbGF5ZXIgaXMgcGF1c2VkLiAqL1xuXHRwdWJsaWMgcGF1c2VkID0gZmFsc2U7XG5cdC8qKiBUaGUgdm9sdW1lIGZvciB0aGUgcGxheWVyICovXG5cdHB1YmxpYyB2b2x1bWU6IG51bWJlcjtcblx0LyoqIFRoZSBOb2RlIGZvciB0aGUgUGxheWVyLiAqL1xuXHRwdWJsaWMgbm9kZTogTm9kZTtcblx0LyoqIFRoZSBndWlsZCBmb3IgdGhlIHBsYXllci4gKi9cblx0cHVibGljIGd1aWxkOiBzdHJpbmc7XG5cdC8qKiBUaGUgdm9pY2UgY2hhbm5lbCBmb3IgdGhlIHBsYXllci4gKi9cblx0cHVibGljIHZvaWNlQ2hhbm5lbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cdC8qKiBUaGUgdGV4dCBjaGFubmVsIGZvciB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgdGV4dENoYW5uZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvKipUaGUgbm93IHBsYXlpbmcgbWVzc2FnZS4gKi9cblx0cHVibGljIG5vd1BsYXlpbmdNZXNzYWdlPzogTWVzc2FnZTtcblx0LyoqIFRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyBzdGF0ZTogU3RhdGUgPSBcIkRJU0NPTk5FQ1RFRFwiO1xuXHQvKiogVGhlIGVxdWFsaXplciBiYW5kcyBhcnJheS4gKi9cblx0cHVibGljIGJhbmRzID0gbmV3IEFycmF5PG51bWJlcj4oMTUpLmZpbGwoMC4wKTtcblx0LyoqIFRoZSB2b2ljZSBzdGF0ZSBvYmplY3QgZnJvbSBEaXNjb3JkLiAqL1xuXHRwdWJsaWMgdm9pY2VTdGF0ZTogVm9pY2VTdGF0ZTtcblx0LyoqIFRoZSBNYW5hZ2VyLiAqL1xuXHRwdWJsaWMgbWFuYWdlcjogTWFuYWdlcjtcblx0LyoqIFRoZSBhdXRvcGxheSBzdGF0ZSBvZiB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgaXNBdXRvcGxheTogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHByaXZhdGUgc3RhdGljIF9tYW5hZ2VyOiBNYW5hZ2VyO1xuXHRwcml2YXRlIHJlYWRvbmx5IGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cdHByaXZhdGUgZHluYW1pY0xvb3BJbnRlcnZhbDogTm9kZUpTLlRpbWVvdXQ7XG5cblx0LyoqXG5cdCAqIFNldCBjdXN0b20gZGF0YS5cblx0ICogQHBhcmFtIGtleVxuXHQgKiBAcGFyYW0gdmFsdWVcblx0ICovXG5cdHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG5cdFx0dGhpcy5kYXRhW2tleV0gPSB2YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgY3VzdG9tIGRhdGEuXG5cdCAqIEBwYXJhbSBrZXlcblx0ICovXG5cdHB1YmxpYyBnZXQ8VD4oa2V5OiBzdHJpbmcpOiBUIHtcblx0XHRyZXR1cm4gdGhpcy5kYXRhW2tleV0gYXMgVDtcblx0fVxuXG5cdC8qKiBAaGlkZGVuICovXG5cdHB1YmxpYyBzdGF0aWMgaW5pdChtYW5hZ2VyOiBNYW5hZ2VyKTogdm9pZCB7XG5cdFx0dGhpcy5fbWFuYWdlciA9IG1hbmFnZXI7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIG5ldyBwbGF5ZXIsIHJldHVybnMgb25lIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0Y29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFBsYXllck9wdGlvbnMpIHtcblx0XHRpZiAoIXRoaXMubWFuYWdlcikgdGhpcy5tYW5hZ2VyID0gU3RydWN0dXJlLmdldChcIlBsYXllclwiKS5fbWFuYWdlcjtcblx0XHRpZiAoIXRoaXMubWFuYWdlcikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJNYW5hZ2VyIGhhcyBub3QgYmVlbiBpbml0aWF0ZWQuXCIpO1xuXG5cdFx0aWYgKHRoaXMubWFuYWdlci5wbGF5ZXJzLmhhcyhvcHRpb25zLmd1aWxkKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMubWFuYWdlci5wbGF5ZXJzLmdldChvcHRpb25zLmd1aWxkKTtcblx0XHR9XG5cblx0XHRwbGF5ZXJDaGVjayhvcHRpb25zKTtcblxuXHRcdHRoaXMuZ3VpbGQgPSBvcHRpb25zLmd1aWxkO1xuXHRcdHRoaXMudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdFx0b3A6IFwidm9pY2VVcGRhdGVcIixcblx0XHRcdGd1aWxkX2lkOiBvcHRpb25zLmd1aWxkLFxuXHRcdH0pO1xuXG5cdFx0aWYgKG9wdGlvbnMudm9pY2VDaGFubmVsKSB0aGlzLnZvaWNlQ2hhbm5lbCA9IG9wdGlvbnMudm9pY2VDaGFubmVsO1xuXHRcdGlmIChvcHRpb25zLnRleHRDaGFubmVsKSB0aGlzLnRleHRDaGFubmVsID0gb3B0aW9ucy50ZXh0Q2hhbm5lbDtcblxuXHRcdGNvbnN0IG5vZGUgPSB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG9wdGlvbnMubm9kZSk7XG5cdFx0dGhpcy5ub2RlID0gbm9kZSB8fCB0aGlzLm1hbmFnZXIudXNlYWJsZU5vZGVzO1xuXG5cdFx0aWYgKCF0aGlzLm5vZGUpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiTm8gYXZhaWxhYmxlIG5vZGVzLlwiKTtcblxuXHRcdHRoaXMubWFuYWdlci5wbGF5ZXJzLnNldChvcHRpb25zLmd1aWxkLCB0aGlzKTtcblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllckNyZWF0ZVwiLCB0aGlzKTtcblx0XHR0aGlzLnNldFZvbHVtZShvcHRpb25zLnZvbHVtZSA/PyAxMDApO1xuXHRcdHRoaXMuZmlsdGVycyA9IG5ldyBGaWx0ZXJzKHRoaXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNhbWUgYXMgTWFuYWdlciNzZWFyY2goKSBidXQgYSBzaG9ydGN1dCBvbiB0aGUgcGxheWVyIGl0c2VsZi5cblx0ICogQHBhcmFtIHF1ZXJ5XG5cdCAqIEBwYXJhbSByZXF1ZXN0ZXJcblx0ICovXG5cdHB1YmxpYyBzZWFyY2gocXVlcnk6IHN0cmluZyB8IFNlYXJjaFF1ZXJ5LCByZXF1ZXN0ZXI/OiBVc2VyIHwgQ2xpZW50VXNlcik6IFByb21pc2U8U2VhcmNoUmVzdWx0PiB7XG5cdFx0cmV0dXJuIHRoaXMubWFuYWdlci5zZWFyY2gocXVlcnksIHJlcXVlc3Rlcik7XG5cdH1cblxuXHQvKiogQ29ubmVjdCB0byB0aGUgdm9pY2UgY2hhbm5lbC4gKi9cblx0cHVibGljIGNvbm5lY3QoKTogdGhpcyB7XG5cdFx0aWYgKCF0aGlzLnZvaWNlQ2hhbm5lbCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyB2b2ljZSBjaGFubmVsIGhhcyBiZWVuIHNldC5cIik7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiQ09OTkVDVElOR1wiO1xuXG5cdFx0dGhpcy5tYW5hZ2VyLm9wdGlvbnMuc2VuZCh0aGlzLmd1aWxkLCB7XG5cdFx0XHRvcDogNCxcblx0XHRcdGQ6IHtcblx0XHRcdFx0Z3VpbGRfaWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRcdGNoYW5uZWxfaWQ6IHRoaXMudm9pY2VDaGFubmVsLFxuXHRcdFx0XHRzZWxmX211dGU6IHRoaXMub3B0aW9ucy5zZWxmTXV0ZSB8fCBmYWxzZSxcblx0XHRcdFx0c2VsZl9kZWFmOiB0aGlzLm9wdGlvbnMuc2VsZkRlYWZlbiB8fCBmYWxzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLnN0YXRlID0gXCJDT05ORUNURURcIjtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBNb3ZlcyB0aGUgcGxheWVyIHRvIGEgZGlmZmVyZW50IG5vZGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBbbm9kZV0gLSBUaGUgSUQgb2YgdGhlIG5vZGUgdG8gbW92ZSB0by5cblx0ICogQHJldHVybnMge3RoaXN9IC0gVGhlIHBsYXllciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBtb3ZlTm9kZShub2RlPzogc3RyaW5nKTogUHJvbWlzZTx0aGlzPiB7XG5cdFx0bm9kZSA9IG5vZGUgfHwgdGhpcy5tYW5hZ2VyLmxlYXN0TG9hZE5vZGUuZmlyc3QoKS5vcHRpb25zLmlkZW50aWZpZXIgfHwgdGhpcy5tYW5hZ2VyLm5vZGVzLmZpbHRlcigobikgPT4gbi5jb25uZWN0ZWQpLmZpcnN0KCkub3B0aW9ucy5pZGVudGlmaWVyO1xuXHRcdGlmICghdGhpcy5tYW5hZ2VyLm5vZGVzLmhhcyhub2RlKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBub2RlcyBhdmFpbGFibGUuXCIpO1xuXHRcdGlmICh0aGlzLm5vZGUub3B0aW9ucy5pZGVudGlmaWVyID09PSBub2RlKSByZXR1cm4gdGhpcztcblxuXHRcdGNvbnN0IGRlc3Ryb3lPbGROb2RlID0gYXN5bmMgKG5vZGU6IE5vZGUpID0+IHtcblx0XHRcdHRoaXMuc3RhdGUgPSBcIk1PVklOR1wiO1xuXG5cdFx0XHRpZiAodGhpcy5tYW5hZ2VyLm5vZGVzLmdldChub2RlLm9wdGlvbnMuaWRlbnRpZmllcikgJiYgdGhpcy5tYW5hZ2VyLm5vZGVzLmdldChub2RlLm9wdGlvbnMuaWRlbnRpZmllcikuY29ubmVjdGVkKSBhd2FpdCBub2RlLnJlc3QuZGVzdHJveVBsYXllcih0aGlzLmd1aWxkKTtcblxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiAodGhpcy5zdGF0ZSA9IFwiQ09OTkVDVEVEXCIpLCA1MDAwKTtcblx0XHR9O1xuXG5cdFx0Y29uc3QgY3VycmVudE5vZGUgPSB0aGlzLm5vZGU7XG5cdFx0Y29uc3QgZGVzdGluYXRpb25Ob2RlID0gdGhpcy5tYW5hZ2VyLm5vZGVzLmdldChub2RlKTtcblx0XHRsZXQgcG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uO1xuXG5cdFx0aWYgKGN1cnJlbnROb2RlLmNvbm5lY3RlZCkge1xuXHRcdFx0Y29uc3QgZmV0Y2hlZFBsYXllcjogYW55ID0gYXdhaXQgY3VycmVudE5vZGUucmVzdC5nZXQoYC92NC9zZXNzaW9ucy8ke2N1cnJlbnROb2RlLnNlc3Npb25JZH0vcGxheWVycy8ke3RoaXMuZ3VpbGR9YCk7XG5cdFx0XHRwb3NpdGlvbiA9IGZldGNoZWRQbGF5ZXIudHJhY2suaW5mby5wb3NpdGlvbjtcblx0XHR9XG5cblx0XHRhd2FpdCBkZXN0aW5hdGlvbk5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0ZW5jb2RlZFRyYWNrOiB0aGlzLnF1ZXVlLmN1cnJlbnQ/LnRyYWNrLFxuXHRcdFx0XHRwb3NpdGlvbjogcG9zaXRpb24sXG5cdFx0XHRcdHZvbHVtZTogdGhpcy52b2x1bWUsXG5cdFx0XHRcdHBhdXNlZDogdGhpcy5wYXVzZWQsXG5cdFx0XHRcdGZpbHRlcnM6IHtcblx0XHRcdFx0XHRkaXN0b3J0aW9uOiB0aGlzLmZpbHRlcnMuZGlzdG9ydGlvbixcblx0XHRcdFx0XHRlcXVhbGl6ZXI6IHRoaXMuZmlsdGVycy5lcXVhbGl6ZXIsXG5cdFx0XHRcdFx0a2FyYW9rZTogdGhpcy5maWx0ZXJzLmthcmFva2UsXG5cdFx0XHRcdFx0cm90YXRpb246IHRoaXMuZmlsdGVycy5yb3RhdGlvbixcblx0XHRcdFx0XHR0aW1lc2NhbGU6IHRoaXMuZmlsdGVycy50aW1lc2NhbGUsXG5cdFx0XHRcdFx0dmlicmF0bzogdGhpcy5maWx0ZXJzLnZpYnJhdG8sXG5cdFx0XHRcdFx0dm9sdW1lOiB0aGlzLmZpbHRlcnMudm9sdW1lLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdGF3YWl0IGRlc3RpbmF0aW9uTm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHR2b2ljZToge1xuXHRcdFx0XHRcdHRva2VuOiB0aGlzLnZvaWNlU3RhdGUuZXZlbnQudG9rZW4sXG5cdFx0XHRcdFx0ZW5kcG9pbnQ6IHRoaXMudm9pY2VTdGF0ZS5ldmVudC5lbmRwb2ludCxcblx0XHRcdFx0XHRzZXNzaW9uSWQ6IHRoaXMhLnZvaWNlU3RhdGU/LnNlc3Npb25JZCEsXG5cdFx0XHRcdH0sXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0dGhpcy5ub2RlID0gZGVzdGluYXRpb25Ob2RlO1xuXHRcdGRlc3Ryb3lPbGROb2RlKGN1cnJlbnROb2RlKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBEaXNjb25uZWN0IGZyb20gdGhlIHZvaWNlIGNoYW5uZWwuICovXG5cdHB1YmxpYyBkaXNjb25uZWN0KCk6IHRoaXMge1xuXHRcdGlmICh0aGlzLnZvaWNlQ2hhbm5lbCA9PT0gbnVsbCkgcmV0dXJuIHRoaXM7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiRElTQ09OTkVDVElOR1wiO1xuXG5cdFx0dGhpcy5wYXVzZSh0cnVlKTtcblx0XHR0aGlzLm1hbmFnZXIub3B0aW9ucy5zZW5kKHRoaXMuZ3VpbGQsIHtcblx0XHRcdG9wOiA0LFxuXHRcdFx0ZDoge1xuXHRcdFx0XHRndWlsZF9pZDogdGhpcy5ndWlsZCxcblx0XHRcdFx0Y2hhbm5lbF9pZDogbnVsbCxcblx0XHRcdFx0c2VsZl9tdXRlOiBmYWxzZSxcblx0XHRcdFx0c2VsZl9kZWFmOiBmYWxzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLnZvaWNlQ2hhbm5lbCA9IG51bGw7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiRElTQ09OTkVDVEVEXCI7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogRGVzdHJveXMgdGhlIHBsYXllci4gKi9cblx0cHVibGljIGRlc3Ryb3koZGlzY29ubmVjdCA9IHRydWUpOiB2b2lkIHtcblx0XHR0aGlzLnN0YXRlID0gXCJERVNUUk9ZSU5HXCI7XG5cblx0XHRpZiAoZGlzY29ubmVjdCkge1xuXHRcdFx0dGhpcy5kaXNjb25uZWN0KCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5ub2RlLnJlc3QuZGVzdHJveVBsYXllcih0aGlzLmd1aWxkKTtcblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllckRlc3Ryb3lcIiwgdGhpcyk7XG5cdFx0dGhpcy5tYW5hZ2VyLnBsYXllcnMuZGVsZXRlKHRoaXMuZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHBsYXllciB2b2ljZSBjaGFubmVsLlxuXHQgKiBAcGFyYW0gY2hhbm5lbFxuXHQgKi9cblx0cHVibGljIHNldFZvaWNlQ2hhbm5lbChjaGFubmVsOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIGNoYW5uZWwgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDaGFubmVsIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLlwiKTtcblxuXHRcdHRoaXMudm9pY2VDaGFubmVsID0gY2hhbm5lbDtcblx0XHR0aGlzLmNvbm5lY3QoKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGF5ZXIgdGV4dCBjaGFubmVsLlxuXHQgKiBAcGFyYW0gY2hhbm5lbFxuXHQgKi9cblx0cHVibGljIHNldFRleHRDaGFubmVsKGNoYW5uZWw6IHN0cmluZyk6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgY2hhbm5lbCAhPT0gXCJzdHJpbmdcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNoYW5uZWwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcuXCIpO1xuXG5cdFx0dGhpcy50ZXh0Q2hhbm5lbCA9IGNoYW5uZWw7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgbm93IHBsYXlpbmcgbWVzc2FnZS4gKi9cblx0cHVibGljIHNldE5vd1BsYXlpbmdNZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpOiBNZXNzYWdlIHtcblx0XHRpZiAoIW1lc3NhZ2UpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJZb3UgbXVzdCBwcm92aWRlIHRoZSBtZXNzYWdlIG9mIHRoZSBub3cgcGxheWluZyBtZXNzYWdlLlwiKTtcblx0XHR9XG5cdFx0cmV0dXJuICh0aGlzLm5vd1BsYXlpbmdNZXNzYWdlID0gbWVzc2FnZSk7XG5cdH1cblxuXHQvKiogUGxheXMgdGhlIG5leHQgdHJhY2suICovXG5cdHB1YmxpYyBhc3luYyBwbGF5KCk6IFByb21pc2U8dm9pZD47XG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBzcGVjaWZpZWQgdHJhY2suXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkodHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrKTogUHJvbWlzZTx2b2lkPjtcblxuXHQvKipcblx0ICogUGxheXMgdGhlIG5leHQgdHJhY2sgd2l0aCBzb21lIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgcGxheShvcHRpb25zOiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBzcGVjaWZpZWQgdHJhY2sgd2l0aCBzb21lIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkodHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBvcHRpb25zOiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cdHB1YmxpYyBhc3luYyBwbGF5KG9wdGlvbnNPclRyYWNrPzogUGxheU9wdGlvbnMgfCBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGxheU9wdGlvbnM/OiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0eXBlb2Ygb3B0aW9uc09yVHJhY2sgIT09IFwidW5kZWZpbmVkXCIgJiYgVHJhY2tVdGlscy52YWxpZGF0ZShvcHRpb25zT3JUcmFjaykpIHtcblx0XHRcdGlmICh0aGlzLnF1ZXVlLmN1cnJlbnQpIHRoaXMucXVldWUucHJldmlvdXMgPSB0aGlzLnF1ZXVlLmN1cnJlbnQ7XG5cdFx0XHR0aGlzLnF1ZXVlLmN1cnJlbnQgPSBvcHRpb25zT3JUcmFjayBhcyBUcmFjaztcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMucXVldWUuY3VycmVudCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBjdXJyZW50IHRyYWNrLlwiKTtcblxuXHRcdGNvbnN0IGZpbmFsT3B0aW9ucyA9IHBsYXlPcHRpb25zXG5cdFx0XHQ/IHBsYXlPcHRpb25zXG5cdFx0XHQ6IFtcInN0YXJ0VGltZVwiLCBcImVuZFRpbWVcIiwgXCJub1JlcGxhY2VcIl0uZXZlcnkoKHYpID0+IE9iamVjdC5rZXlzKG9wdGlvbnNPclRyYWNrIHx8IHt9KS5pbmNsdWRlcyh2KSlcblx0XHRcdD8gKG9wdGlvbnNPclRyYWNrIGFzIFBsYXlPcHRpb25zKVxuXHRcdFx0OiB7fTtcblxuXHRcdGlmIChUcmFja1V0aWxzLmlzVW5yZXNvbHZlZFRyYWNrKHRoaXMucXVldWUuY3VycmVudCkpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHRoaXMucXVldWUuY3VycmVudCA9IGF3YWl0IFRyYWNrVXRpbHMuZ2V0Q2xvc2VzdFRyYWNrKHRoaXMucXVldWUuY3VycmVudCBhcyBVbnJlc29sdmVkVHJhY2spO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja0Vycm9yXCIsIHRoaXMsIHRoaXMucXVldWUuY3VycmVudCwgZXJyb3IpO1xuXHRcdFx0XHRpZiAodGhpcy5xdWV1ZVswXSkgcmV0dXJuIHRoaXMucGxheSh0aGlzLnF1ZXVlWzBdKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGF3YWl0IHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRlbmNvZGVkVHJhY2s6IHRoaXMucXVldWUuY3VycmVudD8udHJhY2ssXG5cdFx0XHRcdC4uLmZpbmFsT3B0aW9ucyxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIHsgcG9zaXRpb246IDAsIHBsYXlpbmc6IHRydWUgfSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgYXV0b3BsYXktc3RhdGUgb2YgdGhlIHBsYXllci5cblx0ICogQHBhcmFtIGF1dG9wbGF5U3RhdGVcblx0ICogQHBhcmFtIGJvdFVzZXJcblx0ICovXG5cdHB1YmxpYyBzZXRBdXRvcGxheShhdXRvcGxheVN0YXRlOiBib29sZWFuLCBib3RVc2VyOiBvYmplY3QpIHtcblx0XHRpZiAodHlwZW9mIGF1dG9wbGF5U3RhdGUgIT09IFwiYm9vbGVhblwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXV0b3BsYXlTdGF0ZSBtdXN0IGJlIGEgYm9vbGVhbi5cIik7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBib3RVc2VyICE9PSBcIm9iamVjdFwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYm90VXNlciBtdXN0IGJlIGEgdXNlci1vYmplY3QuXCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaXNBdXRvcGxheSA9IGF1dG9wbGF5U3RhdGU7XG5cdFx0dGhpcy5zZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIsIGJvdFVzZXIpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyByZWNvbW1lbmRlZCB0cmFja3MgYW5kIHJldHVybnMgYW4gYXJyYXkgb2YgdHJhY2tzLlxuXHQgKiBAcGFyYW0gdHJhY2tcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKi9cblx0cHVibGljIGFzeW5jIGdldFJlY29tbWVuZGVkKHRyYWNrOiBUcmFjaywgcmVxdWVzdGVyPzogVXNlciB8IENsaWVudFVzZXIpIHtcblx0XHRjb25zdCBub2RlID0gdGhpcy5tYW5hZ2VyLnVzZWFibGVOb2RlcztcblxuXHRcdGlmICghbm9kZSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiTm8gYXZhaWxhYmxlIG5vZGVzLlwiKTtcblx0XHR9XG5cblx0XHRjb25zdCBoYXNTcG90aWZ5VVJMID0gW1wic3BvdGlmeS5jb21cIiwgXCJvcGVuLnNwb3RpZnkuY29tXCJdLnNvbWUoKHVybCkgPT4gdHJhY2sudXJpLmluY2x1ZGVzKHVybCkpO1xuXHRcdGNvbnN0IGhhc1lvdVR1YmVVUkwgPSBbXCJ5b3V0dWJlLmNvbVwiLCBcInlvdXR1LmJlXCJdLnNvbWUoKHVybCkgPT4gdHJhY2sudXJpLmluY2x1ZGVzKHVybCkpO1xuXG5cdFx0aWYgKGhhc1Nwb3RpZnlVUkwpIHtcblx0XHRcdGNvbnN0IHJlcyA9IGF3YWl0IG5vZGUucmVzdC5nZXQoYC92NC9pbmZvYCk7XG5cdFx0XHRjb25zdCBpbmZvID0gcmVzIGFzIExhdmFsaW5rSW5mbztcblxuXHRcdFx0Y29uc3QgaXNTcG90aWZ5UGx1Z2luRW5hYmxlZCA9IGluZm8ucGx1Z2lucy5zb21lKChwbHVnaW46IHsgbmFtZTogc3RyaW5nIH0pID0+IHBsdWdpbi5uYW1lID09PSBcImxhdmFzcmMtcGx1Z2luXCIpO1xuXHRcdFx0Y29uc3QgaXNTcG90aWZ5U291cmNlTWFuYWdlckVuYWJsZWQgPSBpbmZvLnNvdXJjZU1hbmFnZXJzLmluY2x1ZGVzKFwic3BvdGlmeVwiKTtcblxuXHRcdFx0aWYgKGlzU3BvdGlmeVBsdWdpbkVuYWJsZWQgJiYgaXNTcG90aWZ5U291cmNlTWFuYWdlckVuYWJsZWQpIHtcblx0XHRcdFx0Y29uc3QgdHJhY2tJRCA9IG5vZGUuZXh0cmFjdFNwb3RpZnlUcmFja0lEKHRyYWNrLnVyaSk7XG5cdFx0XHRcdGNvbnN0IGFydGlzdElEID0gbm9kZS5leHRyYWN0U3BvdGlmeUFydGlzdElEKHRyYWNrLnBsdWdpbkluZm8uYXJ0aXN0VXJsKTtcblxuXHRcdFx0XHRsZXQgaWRlbnRpZmllciA9IFwiXCI7XG5cdFx0XHRcdGlmICh0cmFja0lEICYmIGFydGlzdElEKSB7XG5cdFx0XHRcdFx0aWRlbnRpZmllciA9IGBzcHJlYzpzZWVkX2FydGlzdHM9JHthcnRpc3RJRH0mc2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAodHJhY2tJRCkge1xuXHRcdFx0XHRcdGlkZW50aWZpZXIgPSBgc3ByZWM6c2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAoYXJ0aXN0SUQpIHtcblx0XHRcdFx0XHRpZGVudGlmaWVyID0gYHNwcmVjOnNlZWRfYXJ0aXN0cz0ke2FydGlzdElEfWA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdGNvbnN0IHJlY29tbWVuZGVkUmVzdWx0ID0gKGF3YWl0IG5vZGUucmVzdC5nZXQoYC92NC9sb2FkdHJhY2tzP2lkZW50aWZpZXI9JHtlbmNvZGVVUklDb21wb25lbnQoaWRlbnRpZmllcil9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cblx0XHRcdFx0XHRpZiAocmVjb21tZW5kZWRSZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgcGxheWxpc3REYXRhID0gcmVjb21tZW5kZWRSZXN1bHQuZGF0YSBhcyBQbGF5bGlzdFJhd0RhdGE7XG5cdFx0XHRcdFx0XHRjb25zdCByZWNvbW1lbmRlZFRyYWNrcyA9IHBsYXlsaXN0RGF0YS50cmFja3M7XG5cblx0XHRcdFx0XHRcdGlmIChyZWNvbW1lbmRlZFRyYWNrcykge1xuXHRcdFx0XHRcdFx0XHRjb25zdCB0cmFja3MgPSByZWNvbW1lbmRlZFRyYWNrcy5tYXAoKHRyYWNrKSA9PiBUcmFja1V0aWxzLmJ1aWxkKHRyYWNrLCByZXF1ZXN0ZXIpKTtcblxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdHJhY2tzO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxldCB2aWRlb0lEID0gdHJhY2sudXJpLnN1YnN0cmluZyh0cmFjay51cmkuaW5kZXhPZihcIj1cIikgKyAxKTtcblxuXHRcdGlmICghaGFzWW91VHViZVVSTCkge1xuXHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5tYW5hZ2VyLnNlYXJjaChgJHt0cmFjay5hdXRob3J9IC0gJHt0cmFjay50aXRsZX1gKTtcblxuXHRcdFx0dmlkZW9JRCA9IHJlcy50cmFja3NbMF0udXJpLnN1YnN0cmluZyhyZXMudHJhY2tzWzBdLnVyaS5pbmRleE9mKFwiPVwiKSArIDEpO1xuXHRcdH1cblxuXHRcdGNvbnN0IHNlYXJjaFVSSSA9IGBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PSR7dmlkZW9JRH0mbGlzdD1SRCR7dmlkZW9JRH1gO1xuXG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5tYW5hZ2VyLnNlYXJjaChzZWFyY2hVUkkpO1xuXG5cdFx0aWYgKHJlcy5sb2FkVHlwZSA9PT0gXCJlbXB0eVwiIHx8IHJlcy5sb2FkVHlwZSA9PT0gXCJlcnJvclwiKSByZXR1cm47XG5cblx0XHRsZXQgdHJhY2tzID0gcmVzLnRyYWNrcztcblxuXHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0dHJhY2tzID0gcmVzLnBsYXlsaXN0LnRyYWNrcztcblx0XHR9XG5cblx0XHRjb25zdCBmaWx0ZXJlZFRyYWNrcyA9IHRyYWNrcy5maWx0ZXIoKHRyYWNrKSA9PiB0cmFjay51cmkgIT09IGBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PSR7dmlkZW9JRH1gKTtcblxuXHRcdGlmICh0aGlzLm1hbmFnZXIub3B0aW9ucy5yZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzKSB7XG5cdFx0XHRmb3IgKGNvbnN0IHRyYWNrIG9mIGZpbHRlcmVkVHJhY2tzKSB7XG5cdFx0XHRcdHRyYWNrLmF1dGhvciA9IHRyYWNrLmF1dGhvci5yZXBsYWNlKFwiLSBUb3BpY1wiLCBcIlwiKTtcblx0XHRcdFx0dHJhY2sudGl0bGUgPSB0cmFjay50aXRsZS5yZXBsYWNlKFwiVG9waWMgLVwiLCBcIlwiKTtcblxuXHRcdFx0XHRpZiAodHJhY2sudGl0bGUuaW5jbHVkZXMoXCItXCIpKSB7XG5cdFx0XHRcdFx0Y29uc3QgW2F1dGhvciwgdGl0bGVdID0gdHJhY2sudGl0bGUuc3BsaXQoXCItXCIpLm1hcCgoc3RyOiBzdHJpbmcpID0+IHN0ci50cmltKCkpO1xuXHRcdFx0XHRcdHRyYWNrLmF1dGhvciA9IGF1dGhvcjtcblx0XHRcdFx0XHR0cmFjay50aXRsZSA9IHRpdGxlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZpbHRlcmVkVHJhY2tzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHBsYXllciB2b2x1bWUuXG5cdCAqIEBwYXJhbSB2b2x1bWVcblx0ICovXG5cdHB1YmxpYyBzZXRWb2x1bWUodm9sdW1lOiBudW1iZXIpOiB0aGlzIHtcblx0XHRpZiAoaXNOYU4odm9sdW1lKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlZvbHVtZSBtdXN0IGJlIGEgbnVtYmVyLlwiKTtcblxuXHRcdHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLm9wdGlvbnMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdHZvbHVtZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLnZvbHVtZSA9IHZvbHVtZTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHRyYWNrIHJlcGVhdC5cblx0ICogQHBhcmFtIHJlcGVhdFxuXHQgKi9cblx0cHVibGljIHNldFRyYWNrUmVwZWF0KHJlcGVhdDogYm9vbGVhbik6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgcmVwZWF0ICE9PSBcImJvb2xlYW5cIikgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVwZWF0IGNhbiBvbmx5IGJlIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi4nKTtcblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0aWYgKHJlcGVhdCkge1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IHRydWU7XG5cdFx0XHR0aGlzLnF1ZXVlUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLmR5bmFtaWNSZXBlYXQgPSBmYWxzZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJQbGF5ZXJTdGF0ZVVwZGF0ZVwiLCBvbGRQbGF5ZXIsIHRoaXMpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHF1ZXVlIHJlcGVhdC5cblx0ICogQHBhcmFtIHJlcGVhdFxuXHQgKi9cblx0cHVibGljIHNldFF1ZXVlUmVwZWF0KHJlcGVhdDogYm9vbGVhbik6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgcmVwZWF0ICE9PSBcImJvb2xlYW5cIikgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVwZWF0IGNhbiBvbmx5IGJlIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi4nKTtcblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0aWYgKHJlcGVhdCkge1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IHRydWU7XG5cdFx0XHR0aGlzLmR5bmFtaWNSZXBlYXQgPSBmYWxzZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJQbGF5ZXJTdGF0ZVVwZGF0ZVwiLCBvbGRQbGF5ZXIsIHRoaXMpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHF1ZXVlIHRvIHJlcGVhdCBhbmQgc2h1ZmZsZXMgdGhlIHF1ZXVlIGFmdGVyIGVhY2ggc29uZy5cblx0ICogQHBhcmFtIHJlcGVhdCBcInRydWVcIiBvciBcImZhbHNlXCIuXG5cdCAqIEBwYXJhbSBtcyBBZnRlciBob3cgbWFueSBtaWxsaXNlY29uZHMgdG8gdHJpZ2dlciBkeW5hbWljIHJlcGVhdC5cblx0ICovXG5cdHB1YmxpYyBzZXREeW5hbWljUmVwZWF0KHJlcGVhdDogYm9vbGVhbiwgbXM6IG51bWJlcik6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgcmVwZWF0ICE9PSBcImJvb2xlYW5cIikge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignUmVwZWF0IGNhbiBvbmx5IGJlIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi4nKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5xdWV1ZS5zaXplIDw9IDEpIHtcblx0XHRcdHRocm93IG5ldyBSYW5nZUVycm9yKFwiVGhlIHF1ZXVlIHNpemUgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIik7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgb2xkUGxheWVyID0geyAuLi50aGlzIH07XG5cblx0XHRpZiAocmVwZWF0KSB7XG5cdFx0XHR0aGlzLnRyYWNrUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLnF1ZXVlUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLmR5bmFtaWNSZXBlYXQgPSB0cnVlO1xuXG5cdFx0XHR0aGlzLmR5bmFtaWNMb29wSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHRcdGlmICghdGhpcy5keW5hbWljUmVwZWF0KSByZXR1cm47XG5cdFx0XHRcdGNvbnN0IHNodWZmbGVkID0gXy5zaHVmZmxlKHRoaXMucXVldWUpO1xuXHRcdFx0XHR0aGlzLnF1ZXVlLmNsZWFyKCk7XG5cdFx0XHRcdHNodWZmbGVkLmZvckVhY2goKHRyYWNrKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5xdWV1ZS5hZGQodHJhY2spO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0sIG1zKSBhcyBOb2RlSlMuVGltZW91dDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLmR5bmFtaWNMb29wSW50ZXJ2YWwpO1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJQbGF5ZXJTdGF0ZVVwZGF0ZVwiLCBvbGRQbGF5ZXIsIHRoaXMpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqIFJlc3RhcnRzIHRoZSBjdXJyZW50IHRyYWNrIHRvIHRoZSBzdGFydC4gKi9cblx0cHVibGljIHJlc3RhcnQoKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLnF1ZXVlLmN1cnJlbnQ/LnRyYWNrKSB7XG5cdFx0XHRpZiAodGhpcy5xdWV1ZS5sZW5ndGgpIHRoaXMucGxheSgpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRwb3NpdGlvbjogMCxcblx0XHRcdFx0ZW5jb2RlZFRyYWNrOiB0aGlzLnF1ZXVlLmN1cnJlbnQ/LnRyYWNrLFxuXHRcdFx0fSxcblx0XHR9KTtcblx0fVxuXG5cdC8qKiBTdG9wcyB0aGUgY3VycmVudCB0cmFjaywgb3B0aW9uYWxseSBnaXZlIGFuIGFtb3VudCB0byBza2lwIHRvLCBlLmcgNSB3b3VsZCBwbGF5IHRoZSA1dGggc29uZy4gKi9cblx0cHVibGljIHN0b3AoYW1vdW50PzogbnVtYmVyKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiBhbW91bnQgPT09IFwibnVtYmVyXCIgJiYgYW1vdW50ID4gMSkge1xuXHRcdFx0aWYgKGFtb3VudCA+IHRoaXMucXVldWUubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkNhbm5vdCBza2lwIG1vcmUgdGhhbiB0aGUgcXVldWUgbGVuZ3RoLlwiKTtcblx0XHRcdHRoaXMucXVldWUuc3BsaWNlKDAsIGFtb3VudCAtIDEpO1xuXHRcdH1cblxuXHRcdHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRlbmNvZGVkVHJhY2s6IG51bGwsXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogUGF1c2VzIHRoZSBjdXJyZW50IHRyYWNrLlxuXHQgKiBAcGFyYW0gcGF1c2Vcblx0ICovXG5cdHB1YmxpYyBwYXVzZShwYXVzZTogYm9vbGVhbik6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgcGF1c2UgIT09IFwiYm9vbGVhblwiKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignUGF1c2UgY2FuIG9ubHkgYmUgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLicpO1xuXG5cdFx0aWYgKHRoaXMucGF1c2VkID09PSBwYXVzZSB8fCAhdGhpcy5xdWV1ZS50b3RhbFNpemUpIHJldHVybiB0aGlzO1xuXG5cdFx0Y29uc3Qgb2xkUGxheWVyID0geyAuLi50aGlzIH07XG5cblx0XHR0aGlzLnBsYXlpbmcgPSAhcGF1c2U7XG5cdFx0dGhpcy5wYXVzZWQgPSBwYXVzZTtcblxuXHRcdHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRwYXVzZWQ6IHBhdXNlLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBHbyBiYWNrIHRvIHRoZSBwcmV2aW91cyBzb25nLiAqL1xuXHRwdWJsaWMgcHJldmlvdXMoKTogdGhpcyB7XG5cdFx0dGhpcy5xdWV1ZS51bnNoaWZ0KHRoaXMucXVldWUucHJldmlvdXMpO1xuXHRcdHRoaXMuc3RvcCgpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2Vla3MgdG8gdGhlIHBvc2l0aW9uIGluIHRoZSBjdXJyZW50IHRyYWNrLlxuXHQgKiBAcGFyYW0gcG9zaXRpb25cblx0ICovXG5cdHB1YmxpYyBzZWVrKHBvc2l0aW9uOiBudW1iZXIpOiB0aGlzIHtcblx0XHRpZiAoIXRoaXMucXVldWUuY3VycmVudCkgcmV0dXJuIHVuZGVmaW5lZDtcblx0XHRwb3NpdGlvbiA9IE51bWJlcihwb3NpdGlvbik7XG5cblx0XHRpZiAoaXNOYU4ocG9zaXRpb24pKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlBvc2l0aW9uIG11c3QgYmUgYSBudW1iZXIuXCIpO1xuXHRcdGlmIChwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPiB0aGlzLnF1ZXVlLmN1cnJlbnQuZHVyYXRpb24pIHBvc2l0aW9uID0gTWF0aC5tYXgoTWF0aC5taW4ocG9zaXRpb24sIHRoaXMucXVldWUuY3VycmVudC5kdXJhdGlvbiksIDApO1xuXG5cdFx0dGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuXG5cdFx0dGhpcy5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdHBvc2l0aW9uOiBwb3NpdGlvbixcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXllck9wdGlvbnMge1xuXHQvKiogVGhlIGd1aWxkIHRoZSBQbGF5ZXIgYmVsb25ncyB0by4gKi9cblx0Z3VpbGQ6IHN0cmluZztcblx0LyoqIFRoZSB0ZXh0IGNoYW5uZWwgdGhlIFBsYXllciBiZWxvbmdzIHRvLiAqL1xuXHR0ZXh0Q2hhbm5lbDogc3RyaW5nO1xuXHQvKiogVGhlIHZvaWNlIGNoYW5uZWwgdGhlIFBsYXllciBiZWxvbmdzIHRvLiAqL1xuXHR2b2ljZUNoYW5uZWw/OiBzdHJpbmc7XG5cdC8qKiBUaGUgbm9kZSB0aGUgUGxheWVyIHVzZXMuICovXG5cdG5vZGU/OiBzdHJpbmc7XG5cdC8qKiBUaGUgaW5pdGlhbCB2b2x1bWUgdGhlIFBsYXllciB3aWxsIHVzZS4gKi9cblx0dm9sdW1lPzogbnVtYmVyO1xuXHQvKiogSWYgdGhlIHBsYXllciBzaG91bGQgbXV0ZSBpdHNlbGYuICovXG5cdHNlbGZNdXRlPzogYm9vbGVhbjtcblx0LyoqIElmIHRoZSBwbGF5ZXIgc2hvdWxkIGRlYWYgaXRzZWxmLiAqL1xuXHRzZWxmRGVhZmVuPzogYm9vbGVhbjtcbn1cblxuLyoqIElmIHRyYWNrIHBhcnRpYWxzIGFyZSBzZXQgc29tZSBvZiB0aGVzZSB3aWxsIGJlIGB1bmRlZmluZWRgIGFzIHRoZXkgd2VyZSByZW1vdmVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFjayB7XG5cdC8qKiBUaGUgYmFzZTY0IGVuY29kZWQgdHJhY2suICovXG5cdHJlYWRvbmx5IHRyYWNrOiBzdHJpbmc7XG5cdC8qKiBUaGUgYXJ0d29yayB1cmwgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBhcnR3b3JrVXJsOiBzdHJpbmc7XG5cdC8qKiBUaGUgdHJhY2sgc291cmNlIG5hbWUuICovXG5cdHJlYWRvbmx5IHNvdXJjZU5hbWU6IFRyYWNrU291cmNlTmFtZTtcblx0LyoqIFRoZSB0aXRsZSBvZiB0aGUgdHJhY2suICovXG5cdHRpdGxlOiBzdHJpbmc7XG5cdC8qKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBhdXRob3Igb2YgdGhlIHRyYWNrLiAqL1xuXHRhdXRob3I6IHN0cmluZztcblx0LyoqIFRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXI7XG5cdC8qKiBUaGUgSVNSQyBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGlzcmM6IHN0cmluZztcblx0LyoqIElmIHRoZSB0cmFjayBpcyBzZWVrYWJsZS4gKi9cblx0cmVhZG9ubHkgaXNTZWVrYWJsZTogYm9vbGVhbjtcblx0LyoqIElmIHRoZSB0cmFjayBpcyBhIHN0cmVhbS4uICovXG5cdHJlYWRvbmx5IGlzU3RyZWFtOiBib29sZWFuO1xuXHQvKiogVGhlIHVyaSBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IHVyaTogc3RyaW5nO1xuXHQvKiogVGhlIHRodW1ibmFpbCBvZiB0aGUgdHJhY2sgb3IgbnVsbCBpZiBpdCdzIGEgdW5zdXBwb3J0ZWQgc291cmNlLiAqL1xuXHRyZWFkb25seSB0aHVtYm5haWw6IHN0cmluZyB8IG51bGw7XG5cdC8qKiBUaGUgdXNlciB0aGF0IHJlcXVlc3RlZCB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IHJlcXVlc3RlcjogVXNlciB8IENsaWVudFVzZXIgfCBudWxsO1xuXHQvKiogRGlzcGxheXMgdGhlIHRyYWNrIHRodW1ibmFpbCB3aXRoIG9wdGlvbmFsIHNpemUgb3IgbnVsbCBpZiBpdCdzIGEgdW5zdXBwb3J0ZWQgc291cmNlLiAqL1xuXHRkaXNwbGF5VGh1bWJuYWlsKHNpemU/OiBTaXplcyk6IHN0cmluZztcblx0LyoqIEFkZGl0aW9uYWwgdHJhY2sgaW5mbyBwcm92aWRlZCBieSBwbHVnaW5zLiAqL1xuXHRwbHVnaW5JbmZvOiBUcmFja1BsdWdpbkluZm87XG5cdC8qKiBBZGQgeW91ciBvd24gZGF0YSB0byB0aGUgdHJhY2suICovXG5cdGN1c3RvbURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrUGx1Z2luSW5mbyB7XG5cdGFsYnVtTmFtZT86IHN0cmluZztcblx0YWxidW1Vcmw/OiBzdHJpbmc7XG5cdGFydGlzdEFydHdvcmtVcmw/OiBzdHJpbmc7XG5cdGFydGlzdFVybD86IHN0cmluZztcblx0aXNQcmV2aWV3Pzogc3RyaW5nO1xuXHRwcmV2aWV3VXJsPzogc3RyaW5nO1xufVxuXG4vKiogVW5yZXNvbHZlZCB0cmFja3MgY2FuJ3QgYmUgcGxheWVkIG5vcm1hbGx5LCB0aGV5IHdpbGwgcmVzb2x2ZSBiZWZvcmUgcGxheWluZyBpbnRvIGEgVHJhY2suICovXG5leHBvcnQgaW50ZXJmYWNlIFVucmVzb2x2ZWRUcmFjayBleHRlbmRzIFBhcnRpYWw8VHJhY2s+IHtcblx0LyoqIFRoZSB0aXRsZSB0byBzZWFyY2ggYWdhaW5zdC4gKi9cblx0dGl0bGU6IHN0cmluZztcblx0LyoqIFRoZSBhdXRob3IgdG8gc2VhcmNoIGFnYWluc3QuICovXG5cdGF1dGhvcj86IHN0cmluZztcblx0LyoqIFRoZSBkdXJhdGlvbiB0byBzZWFyY2ggd2l0aGluIDE1MDAgbWlsbGlzZWNvbmRzIG9mIHRoZSByZXN1bHRzIGZyb20gWW91VHViZS4gKi9cblx0ZHVyYXRpb24/OiBudW1iZXI7XG5cdC8qKiBSZXNvbHZlcyBpbnRvIGEgVHJhY2suICovXG5cdHJlc29sdmUoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGF5T3B0aW9ucyB7XG5cdC8qKiBUaGUgcG9zaXRpb24gdG8gc3RhcnQgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBzdGFydFRpbWU/OiBudW1iZXI7XG5cdC8qKiBUaGUgcG9zaXRpb24gdG8gZW5kIHRoZSB0cmFjay4gKi9cblx0cmVhZG9ubHkgZW5kVGltZT86IG51bWJlcjtcblx0LyoqIFdoZXRoZXIgdG8gbm90IHJlcGxhY2UgdGhlIHRyYWNrIGlmIGEgcGxheSBwYXlsb2FkIGlzIHNlbnQuICovXG5cdHJlYWRvbmx5IG5vUmVwbGFjZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXF1YWxpemVyQmFuZCB7XG5cdC8qKiBUaGUgYmFuZCBudW1iZXIgYmVpbmcgMCB0byAxNC4gKi9cblx0YmFuZDogbnVtYmVyO1xuXHQvKiogVGhlIGdhaW4gYW1vdW50IGJlaW5nIC0wLjI1IHRvIDEuMDAsIDAuMjUgYmVpbmcgZG91YmxlLiAqL1xuXHRnYWluOiBudW1iZXI7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztB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
751
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRmlsdGVycyIsInJlcXVpcmUiLCJfVXRpbHMiLCJfIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGxheWVyQ2hlY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJXZWFrTWFwIiwiciIsInQiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZiIsIm8iLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwicHJvdG90eXBlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsImtleSIsIl9jcmVhdGVDbGFzcyIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiUGxheWVyIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfb3B0aW9ucyR2b2x1bWUiLCJTdHJ1Y3R1cmUiLCJmaWxsIiwibWFuYWdlciIsIl9tYW5hZ2VyIiwiUmFuZ2VFcnJvciIsInBsYXllcnMiLCJndWlsZCIsInBsYXllckNoZWNrIiwidm9pY2VTdGF0ZSIsImFzc2lnbiIsIm9wIiwiZ3VpbGRfaWQiLCJ2b2ljZUNoYW5uZWwiLCJ0ZXh0Q2hhbm5lbCIsIm5vZGUiLCJub2RlcyIsInVzZWFibGVOb2RlcyIsImVtaXQiLCJzZXRWb2x1bWUiLCJ2b2x1bWUiLCJmaWx0ZXJzIiwiRmlsdGVycyIsImRhdGEiLCJzZWFyY2giLCJxdWVyeSIsInJlcXVlc3RlciIsImNvbm5lY3QiLCJzdGF0ZSIsInNlbmQiLCJjaGFubmVsX2lkIiwic2VsZl9tdXRlIiwic2VsZk11dGUiLCJzZWxmX2RlYWYiLCJzZWxmRGVhZmVuIiwiX21vdmVOb2RlIiwiX2NhbGxlZTIiLCJfdGhpcyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQiLCJfdGhpcyR2b2ljZVN0YXRlJHNlc3MiLCJfdGhpcyR2b2ljZVN0YXRlIiwiZGVzdHJveU9sZE5vZGUiLCJjdXJyZW50Tm9kZSIsImRlc3RpbmF0aW9uTm9kZSIsInBvc2l0aW9uIiwiZmV0Y2hlZFBsYXllciIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImxlYXN0TG9hZE5vZGUiLCJmaXJzdCIsImlkZW50aWZpZXIiLCJjb25uZWN0ZWQiLCJfcmVmIiwiX2NhbGxlZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJyZXN0IiwiZGVzdHJveVBsYXllciIsInNldFRpbWVvdXQiLCJfeDIiLCJjb25jYXQiLCJzZXNzaW9uSWQiLCJ0cmFjayIsImluZm8iLCJ1cGRhdGVQbGF5ZXIiLCJndWlsZElkIiwiZW5jb2RlZFRyYWNrIiwicXVldWUiLCJjdXJyZW50IiwicGF1c2VkIiwiZGlzdG9ydGlvbiIsImVxdWFsaXplciIsImthcmFva2UiLCJyb3RhdGlvbiIsInRpbWVzY2FsZSIsInZpYnJhdG8iLCJ2b2ljZSIsInRva2VuIiwiZXZlbnQiLCJlbmRwb2ludCIsIm1vdmVOb2RlIiwiX3giLCJkaXNjb25uZWN0IiwicGF1c2UiLCJkZXN0cm95IiwidW5kZWZpbmVkIiwic2V0Vm9pY2VDaGFubmVsIiwiY2hhbm5lbCIsInNldFRleHRDaGFubmVsIiwic2V0Tm93UGxheWluZ01lc3NhZ2UiLCJtZXNzYWdlIiwibm93UGxheWluZ01lc3NhZ2UiLCJfcGxheSIsIl9jYWxsZWUzIiwib3B0aW9uc09yVHJhY2siLCJwbGF5T3B0aW9ucyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQyIiwiZmluYWxPcHRpb25zIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiVHJhY2tVdGlscyIsInZhbGlkYXRlIiwicHJldmlvdXMiLCJldmVyeSIsImluY2x1ZGVzIiwiaXNVbnJlc29sdmVkVHJhY2siLCJnZXRDbG9zZXN0VHJhY2siLCJ0MCIsInBsYXkiLCJwbGF5aW5nIiwiX3gzIiwiX3g0Iiwic2V0QXV0b3BsYXkiLCJhdXRvcGxheVN0YXRlIiwiYm90VXNlciIsImlzQXV0b3BsYXkiLCJfZ2V0UmVjb21tZW5kZWQiLCJfY2FsbGVlNCIsImhhc1Nwb3RpZnlVUkwiLCJoYXNZb3VUdWJlVVJMIiwiX3JlcyIsImlzU3BvdGlmeVBsdWdpbkVuYWJsZWQiLCJpc1Nwb3RpZnlTb3VyY2VNYW5hZ2VyRW5hYmxlZCIsInRyYWNrSUQiLCJhcnRpc3RJRCIsInJlY29tbWVuZGVkUmVzdWx0IiwicGxheWxpc3REYXRhIiwicmVjb21tZW5kZWRUcmFja3MiLCJfdHJhY2tzIiwidmlkZW9JRCIsIl9yZXMyIiwic2VhcmNoVVJJIiwicmVzIiwidHJhY2tzIiwiZmlsdGVyZWRUcmFja3MiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl90cmFjayIsIl90cmFjayR0aXRsZSRzcGxpdCRtYSIsIl90cmFjayR0aXRsZSRzcGxpdCRtYTIiLCJhdXRob3IiLCJ0aXRsZSIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsInNvbWUiLCJ1cmwiLCJ1cmkiLCJwbHVnaW5zIiwicGx1Z2luIiwic291cmNlTWFuYWdlcnMiLCJleHRyYWN0U3BvdGlmeVRyYWNrSUQiLCJleHRyYWN0U3BvdGlmeUFydGlzdElEIiwicGx1Z2luSW5mbyIsImFydGlzdFVybCIsImVuY29kZVVSSUNvbXBvbmVudCIsImxvYWRUeXBlIiwibWFwIiwiYnVpbGQiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwicGxheWxpc3QiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsImVyciIsImdldFJlY29tbWVuZGVkIiwiX3g1IiwiX3g2Iiwic2V0VHJhY2tSZXBlYXQiLCJyZXBlYXQiLCJvbGRQbGF5ZXIiLCJ0cmFja1JlcGVhdCIsInF1ZXVlUmVwZWF0IiwiZHluYW1pY1JlcGVhdCIsInNldFF1ZXVlUmVwZWF0Iiwic2V0RHluYW1pY1JlcGVhdCIsIm1zIiwiX3RoaXMyIiwic2l6ZSIsImR5bmFtaWNMb29wSW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsInNodWZmbGVkIiwic2h1ZmZsZSIsImNsZWFyIiwiYWRkIiwiY2xlYXJJbnRlcnZhbCIsInJlc3RhcnQiLCJfdGhpcyRxdWV1ZSRjdXJyZW50MyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQ0IiwiYW1vdW50Iiwic3BsaWNlIiwidG90YWxTaXplIiwidW5zaGlmdCIsInNlZWsiLCJkdXJhdGlvbiIsIk1hdGgiLCJtYXgiLCJtaW4iLCJpbml0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0cnVjdHVyZXMvUGxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlcnMgfSBmcm9tIFwiLi9GaWx0ZXJzXCI7XG5pbXBvcnQgeyBMYXZhbGlua1Jlc3BvbnNlLCBNYW5hZ2VyLCBQbGF5bGlzdFJhd0RhdGEsIFNlYXJjaFF1ZXJ5LCBTZWFyY2hSZXN1bHQgfSBmcm9tIFwiLi9NYW5hZ2VyXCI7XG5pbXBvcnQgeyBMYXZhbGlua0luZm8sIE5vZGUgfSBmcm9tIFwiLi9Ob2RlXCI7XG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCIuL1F1ZXVlXCI7XG5pbXBvcnQgeyBTaXplcywgU3RhdGUsIFN0cnVjdHVyZSwgVHJhY2tTb3VyY2VOYW1lLCBUcmFja1V0aWxzLCBWb2ljZVN0YXRlIH0gZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHBsYXllckNoZWNrIGZyb20gXCIuLi9VdGlscy9QbGF5ZXJDaGVja1wiO1xuaW1wb3J0IHsgQ2xpZW50VXNlciwgTWVzc2FnZSwgVXNlciB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBQbGF5ZXIge1xuXHQvKiogVGhlIFF1ZXVlIGZvciB0aGUgUGxheWVyLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcXVldWUgPSBuZXcgKFN0cnVjdHVyZS5nZXQoXCJRdWV1ZVwiKSkoKSBhcyBRdWV1ZTtcblx0LyoqIFRoZSBmaWx0ZXJzIGFwcGxpZWQgdG8gdGhlIGF1ZGlvLiAqL1xuXHRwdWJsaWMgZmlsdGVyczogRmlsdGVycztcblx0LyoqIFdoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgdGhlIHRyYWNrLiAqL1xuXHRwdWJsaWMgdHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0LyoqIFdoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgdGhlIHF1ZXVlLiAqL1xuXHRwdWJsaWMgcXVldWVSZXBlYXQgPSBmYWxzZTtcblx0LyoqV2hldGhlciB0aGUgcXVldWUgcmVwZWF0cyBhbmQgc2h1ZmZsZXMgYWZ0ZXIgZWFjaCBzb25nLiAqL1xuXHRwdWJsaWMgZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHQvKiogVGhlIHRpbWUgdGhlIHBsYXllciBpcyBpbiB0aGUgdHJhY2suICovXG5cdHB1YmxpYyBwb3NpdGlvbiA9IDA7XG5cdC8qKiBXaGV0aGVyIHRoZSBwbGF5ZXIgaXMgcGxheWluZy4gKi9cblx0cHVibGljIHBsYXlpbmcgPSBmYWxzZTtcblx0LyoqIFdoZXRoZXIgdGhlIHBsYXllciBpcyBwYXVzZWQuICovXG5cdHB1YmxpYyBwYXVzZWQgPSBmYWxzZTtcblx0LyoqIFRoZSB2b2x1bWUgZm9yIHRoZSBwbGF5ZXIgKi9cblx0cHVibGljIHZvbHVtZTogbnVtYmVyO1xuXHQvKiogVGhlIE5vZGUgZm9yIHRoZSBQbGF5ZXIuICovXG5cdHB1YmxpYyBub2RlOiBOb2RlO1xuXHQvKiogVGhlIGd1aWxkIGZvciB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgZ3VpbGQ6IHN0cmluZztcblx0LyoqIFRoZSB2b2ljZSBjaGFubmVsIGZvciB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgdm9pY2VDaGFubmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblx0LyoqIFRoZSB0ZXh0IGNoYW5uZWwgZm9yIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyB0ZXh0Q2hhbm5lbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cdC8qKlRoZSBub3cgcGxheWluZyBtZXNzYWdlLiAqL1xuXHRwdWJsaWMgbm93UGxheWluZ01lc3NhZ2U/OiBNZXNzYWdlO1xuXHQvKiogVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHBsYXllci4gKi9cblx0cHVibGljIHN0YXRlOiBTdGF0ZSA9IFwiRElTQ09OTkVDVEVEXCI7XG5cdC8qKiBUaGUgZXF1YWxpemVyIGJhbmRzIGFycmF5LiAqL1xuXHRwdWJsaWMgYmFuZHMgPSBuZXcgQXJyYXk8bnVtYmVyPigxNSkuZmlsbCgwLjApO1xuXHQvKiogVGhlIHZvaWNlIHN0YXRlIG9iamVjdCBmcm9tIERpc2NvcmQuICovXG5cdHB1YmxpYyB2b2ljZVN0YXRlOiBWb2ljZVN0YXRlO1xuXHQvKiogVGhlIE1hbmFnZXIuICovXG5cdHB1YmxpYyBtYW5hZ2VyOiBNYW5hZ2VyO1xuXHQvKiogVGhlIGF1dG9wbGF5IHN0YXRlIG9mIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyBpc0F1dG9wbGF5OiBib29sZWFuID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBzdGF0aWMgX21hbmFnZXI6IE1hbmFnZXI7XG5cdHByaXZhdGUgcmVhZG9ubHkgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblx0cHJpdmF0ZSBkeW5hbWljTG9vcEludGVydmFsOiBOb2RlSlMuVGltZW91dDtcblxuXHQvKipcblx0ICogU2V0IGN1c3RvbSBkYXRhLlxuXHQgKiBAcGFyYW0ga2V5XG5cdCAqIEBwYXJhbSB2YWx1ZVxuXHQgKi9cblx0cHVibGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkIHtcblx0XHR0aGlzLmRhdGFba2V5XSA9IHZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBjdXN0b20gZGF0YS5cblx0ICogQHBhcmFtIGtleVxuXHQgKi9cblx0cHVibGljIGdldDxUPihrZXk6IHN0cmluZyk6IFQge1xuXHRcdHJldHVybiB0aGlzLmRhdGFba2V5XSBhcyBUO1xuXHR9XG5cblx0LyoqIEBoaWRkZW4gKi9cblx0cHVibGljIHN0YXRpYyBpbml0KG1hbmFnZXI6IE1hbmFnZXIpOiB2b2lkIHtcblx0XHR0aGlzLl9tYW5hZ2VyID0gbWFuYWdlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHBsYXllciwgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogUGxheWVyT3B0aW9ucykge1xuXHRcdGlmICghdGhpcy5tYW5hZ2VyKSB0aGlzLm1hbmFnZXIgPSBTdHJ1Y3R1cmUuZ2V0KFwiUGxheWVyXCIpLl9tYW5hZ2VyO1xuXHRcdGlmICghdGhpcy5tYW5hZ2VyKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk1hbmFnZXIgaGFzIG5vdCBiZWVuIGluaXRpYXRlZC5cIik7XG5cblx0XHRpZiAodGhpcy5tYW5hZ2VyLnBsYXllcnMuaGFzKG9wdGlvbnMuZ3VpbGQpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5tYW5hZ2VyLnBsYXllcnMuZ2V0KG9wdGlvbnMuZ3VpbGQpO1xuXHRcdH1cblxuXHRcdHBsYXllckNoZWNrKG9wdGlvbnMpO1xuXG5cdFx0dGhpcy5ndWlsZCA9IG9wdGlvbnMuZ3VpbGQ7XG5cdFx0dGhpcy52b2ljZVN0YXRlID0gT2JqZWN0LmFzc2lnbih7XG5cdFx0XHRvcDogXCJ2b2ljZVVwZGF0ZVwiLFxuXHRcdFx0Z3VpbGRfaWQ6IG9wdGlvbnMuZ3VpbGQsXG5cdFx0fSk7XG5cblx0XHRpZiAob3B0aW9ucy52b2ljZUNoYW5uZWwpIHRoaXMudm9pY2VDaGFubmVsID0gb3B0aW9ucy52b2ljZUNoYW5uZWw7XG5cdFx0aWYgKG9wdGlvbnMudGV4dENoYW5uZWwpIHRoaXMudGV4dENoYW5uZWwgPSBvcHRpb25zLnRleHRDaGFubmVsO1xuXG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubWFuYWdlci5ub2Rlcy5nZXQob3B0aW9ucy5ub2RlKTtcblx0XHR0aGlzLm5vZGUgPSBub2RlIHx8IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIXRoaXMubm9kZSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXG5cdFx0dGhpcy5tYW5hZ2VyLnBsYXllcnMuc2V0KG9wdGlvbnMuZ3VpbGQsIHRoaXMpO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyQ3JlYXRlXCIsIHRoaXMpO1xuXHRcdHRoaXMuc2V0Vm9sdW1lKG9wdGlvbnMudm9sdW1lID8/IDEwMCk7XG5cdFx0dGhpcy5maWx0ZXJzID0gbmV3IEZpbHRlcnModGhpcyk7XG5cdH1cblxuXHQvKipcblx0ICogU2FtZSBhcyBNYW5hZ2VyI3NlYXJjaCgpIGJ1dCBhIHNob3J0Y3V0IG9uIHRoZSBwbGF5ZXIgaXRzZWxmLlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKi9cblx0cHVibGljIHNlYXJjaChxdWVyeTogc3RyaW5nIHwgU2VhcmNoUXVlcnksIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKTogUHJvbWlzZTxTZWFyY2hSZXN1bHQ+IHtcblx0XHRyZXR1cm4gdGhpcy5tYW5hZ2VyLnNlYXJjaChxdWVyeSwgcmVxdWVzdGVyKTtcblx0fVxuXG5cdC8qKiBDb25uZWN0IHRvIHRoZSB2b2ljZSBjaGFubmVsLiAqL1xuXHRwdWJsaWMgY29ubmVjdCgpOiB0aGlzIHtcblx0XHRpZiAoIXRoaXMudm9pY2VDaGFubmVsKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIHZvaWNlIGNoYW5uZWwgaGFzIGJlZW4gc2V0LlwiKTtcblx0XHR0aGlzLnN0YXRlID0gXCJDT05ORUNUSU5HXCI7XG5cblx0XHR0aGlzLm1hbmFnZXIub3B0aW9ucy5zZW5kKHRoaXMuZ3VpbGQsIHtcblx0XHRcdG9wOiA0LFxuXHRcdFx0ZDoge1xuXHRcdFx0XHRndWlsZF9pZDogdGhpcy5ndWlsZCxcblx0XHRcdFx0Y2hhbm5lbF9pZDogdGhpcy52b2ljZUNoYW5uZWwsXG5cdFx0XHRcdHNlbGZfbXV0ZTogdGhpcy5vcHRpb25zLnNlbGZNdXRlIHx8IGZhbHNlLFxuXHRcdFx0XHRzZWxmX2RlYWY6IHRoaXMub3B0aW9ucy5zZWxmRGVhZmVuIHx8IGZhbHNlLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHRoaXMuc3RhdGUgPSBcIkNPTk5FQ1RFRFwiO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIHRoZSBwbGF5ZXIgdG8gYSBkaWZmZXJlbnQgbm9kZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IFtub2RlXSAtIFRoZSBJRCBvZiB0aGUgbm9kZSB0byBtb3ZlIHRvLlxuXHQgKiBAcmV0dXJucyB7dGhpc30gLSBUaGUgcGxheWVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFzeW5jIG1vdmVOb2RlKG5vZGU/OiBzdHJpbmcpOiBQcm9taXNlPHRoaXM+IHtcblx0XHRub2RlID0gbm9kZSB8fCB0aGlzLm1hbmFnZXIubGVhc3RMb2FkTm9kZS5maXJzdCgpLm9wdGlvbnMuaWRlbnRpZmllciB8fCB0aGlzLm1hbmFnZXIubm9kZXMuZmlsdGVyKChuKSA9PiBuLmNvbm5lY3RlZCkuZmlyc3QoKS5vcHRpb25zLmlkZW50aWZpZXI7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIubm9kZXMuaGFzKG5vZGUpKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIG5vZGVzIGF2YWlsYWJsZS5cIik7XG5cdFx0aWYgKHRoaXMubm9kZS5vcHRpb25zLmlkZW50aWZpZXIgPT09IG5vZGUpIHJldHVybiB0aGlzO1xuXG5cdFx0Y29uc3QgZGVzdHJveU9sZE5vZGUgPSBhc3luYyAobm9kZTogTm9kZSkgPT4ge1xuXHRcdFx0dGhpcy5zdGF0ZSA9IFwiTU9WSU5HXCI7XG5cblx0XHRcdGlmICh0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUub3B0aW9ucy5pZGVudGlmaWVyKSAmJiB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUub3B0aW9ucy5pZGVudGlmaWVyKS5jb25uZWN0ZWQpIGF3YWl0IG5vZGUucmVzdC5kZXN0cm95UGxheWVyKHRoaXMuZ3VpbGQpO1xuXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnN0YXRlID0gXCJDT05ORUNURURcIiksIDUwMDApO1xuXHRcdH07XG5cblx0XHRjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMubm9kZTtcblx0XHRjb25zdCBkZXN0aW5hdGlvbk5vZGUgPSB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUpO1xuXHRcdGxldCBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG5cblx0XHRpZiAoY3VycmVudE5vZGUuY29ubmVjdGVkKSB7XG5cdFx0XHRjb25zdCBmZXRjaGVkUGxheWVyID0gYXdhaXQgY3VycmVudE5vZGUucmVzdC5nZXQoYC92NC9zZXNzaW9ucy8ke2N1cnJlbnROb2RlLnNlc3Npb25JZH0vcGxheWVycy8ke3RoaXMuZ3VpbGR9YCkgYXMgeyB0cmFjaz86IHsgaW5mbzogeyBwb3NpdGlvbjogbnVtYmVyIH0gfSB9O1xuXHRcdFx0cG9zaXRpb24gPSBmZXRjaGVkUGxheWVyLnRyYWNrLmluZm8ucG9zaXRpb247XG5cdFx0fVxuXG5cdFx0YXdhaXQgZGVzdGluYXRpb25Ob2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdGVuY29kZWRUcmFjazogdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjayxcblx0XHRcdFx0cG9zaXRpb246IHBvc2l0aW9uLFxuXHRcdFx0XHR2b2x1bWU6IHRoaXMudm9sdW1lLFxuXHRcdFx0XHRwYXVzZWQ6IHRoaXMucGF1c2VkLFxuXHRcdFx0XHRmaWx0ZXJzOiB7XG5cdFx0XHRcdFx0ZGlzdG9ydGlvbjogdGhpcy5maWx0ZXJzLmRpc3RvcnRpb24sXG5cdFx0XHRcdFx0ZXF1YWxpemVyOiB0aGlzLmZpbHRlcnMuZXF1YWxpemVyLFxuXHRcdFx0XHRcdGthcmFva2U6IHRoaXMuZmlsdGVycy5rYXJhb2tlLFxuXHRcdFx0XHRcdHJvdGF0aW9uOiB0aGlzLmZpbHRlcnMucm90YXRpb24sXG5cdFx0XHRcdFx0dGltZXNjYWxlOiB0aGlzLmZpbHRlcnMudGltZXNjYWxlLFxuXHRcdFx0XHRcdHZpYnJhdG86IHRoaXMuZmlsdGVycy52aWJyYXRvLFxuXHRcdFx0XHRcdHZvbHVtZTogdGhpcy5maWx0ZXJzLnZvbHVtZSxcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRhd2FpdCBkZXN0aW5hdGlvbk5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0dm9pY2U6IHtcblx0XHRcdFx0XHR0b2tlbjogdGhpcy52b2ljZVN0YXRlLmV2ZW50LnRva2VuLFxuXHRcdFx0XHRcdGVuZHBvaW50OiB0aGlzLnZvaWNlU3RhdGUuZXZlbnQuZW5kcG9pbnQsXG5cdFx0XHRcdFx0c2Vzc2lvbklkOiB0aGlzLnZvaWNlU3RhdGU/LnNlc3Npb25JZCA/PyBcIlwiLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHRoaXMubm9kZSA9IGRlc3RpbmF0aW9uTm9kZTtcblx0XHRkZXN0cm95T2xkTm9kZShjdXJyZW50Tm9kZSk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogRGlzY29ubmVjdCBmcm9tIHRoZSB2b2ljZSBjaGFubmVsLiAqL1xuXHRwdWJsaWMgZGlzY29ubmVjdCgpOiB0aGlzIHtcblx0XHRpZiAodGhpcy52b2ljZUNoYW5uZWwgPT09IG51bGwpIHJldHVybiB0aGlzO1xuXHRcdHRoaXMuc3RhdGUgPSBcIkRJU0NPTk5FQ1RJTkdcIjtcblxuXHRcdHRoaXMucGF1c2UodHJ1ZSk7XG5cdFx0dGhpcy5tYW5hZ2VyLm9wdGlvbnMuc2VuZCh0aGlzLmd1aWxkLCB7XG5cdFx0XHRvcDogNCxcblx0XHRcdGQ6IHtcblx0XHRcdFx0Z3VpbGRfaWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRcdGNoYW5uZWxfaWQ6IG51bGwsXG5cdFx0XHRcdHNlbGZfbXV0ZTogZmFsc2UsXG5cdFx0XHRcdHNlbGZfZGVhZjogZmFsc2UsXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0dGhpcy52b2ljZUNoYW5uZWwgPSBudWxsO1xuXHRcdHRoaXMuc3RhdGUgPSBcIkRJU0NPTk5FQ1RFRFwiO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqIERlc3Ryb3lzIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyBkZXN0cm95KGRpc2Nvbm5lY3QgPSB0cnVlKTogdm9pZCB7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiREVTVFJPWUlOR1wiO1xuXG5cdFx0aWYgKGRpc2Nvbm5lY3QpIHtcblx0XHRcdHRoaXMuZGlzY29ubmVjdCgpO1xuXHRcdH1cblxuXHRcdHRoaXMubm9kZS5yZXN0LmRlc3Ryb3lQbGF5ZXIodGhpcy5ndWlsZCk7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJQbGF5ZXJEZXN0cm95XCIsIHRoaXMpO1xuXHRcdHRoaXMubWFuYWdlci5wbGF5ZXJzLmRlbGV0ZSh0aGlzLmd1aWxkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGF5ZXIgdm9pY2UgY2hhbm5lbC5cblx0ICogQHBhcmFtIGNoYW5uZWxcblx0ICovXG5cdHB1YmxpYyBzZXRWb2ljZUNoYW5uZWwoY2hhbm5lbDogc3RyaW5nKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiBjaGFubmVsICE9PSBcInN0cmluZ1wiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2hhbm5lbCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy5cIik7XG5cblx0XHR0aGlzLnZvaWNlQ2hhbm5lbCA9IGNoYW5uZWw7XG5cdFx0dGhpcy5jb25uZWN0KCk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcGxheWVyIHRleHQgY2hhbm5lbC5cblx0ICogQHBhcmFtIGNoYW5uZWxcblx0ICovXG5cdHB1YmxpYyBzZXRUZXh0Q2hhbm5lbChjaGFubmVsOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIGNoYW5uZWwgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDaGFubmVsIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLlwiKTtcblxuXHRcdHRoaXMudGV4dENoYW5uZWwgPSBjaGFubmVsO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqIFNldHMgdGhlIG5vdyBwbGF5aW5nIG1lc3NhZ2UuICovXG5cdHB1YmxpYyBzZXROb3dQbGF5aW5nTWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlKTogTWVzc2FnZSB7XG5cdFx0aWYgKCFtZXNzYWdlKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiWW91IG11c3QgcHJvdmlkZSB0aGUgbWVzc2FnZSBvZiB0aGUgbm93IHBsYXlpbmcgbWVzc2FnZS5cIik7XG5cdFx0fVxuXHRcdHJldHVybiAodGhpcy5ub3dQbGF5aW5nTWVzc2FnZSA9IG1lc3NhZ2UpO1xuXHR9XG5cblx0LyoqIFBsYXlzIHRoZSBuZXh0IHRyYWNrLiAqL1xuXHRwdWJsaWMgYXN5bmMgcGxheSgpOiBQcm9taXNlPHZvaWQ+O1xuXG5cdC8qKlxuXHQgKiBQbGF5cyB0aGUgc3BlY2lmaWVkIHRyYWNrLlxuXHQgKiBAcGFyYW0gdHJhY2tcblx0ICovXG5cdHB1YmxpYyBhc3luYyBwbGF5KHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjayk6IFByb21pc2U8dm9pZD47XG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBuZXh0IHRyYWNrIHdpdGggc29tZSBvcHRpb25zLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkob3B0aW9uczogUGxheU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuXG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBzcGVjaWZpZWQgdHJhY2sgd2l0aCBzb21lIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkodHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBvcHRpb25zOiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cdHB1YmxpYyBhc3luYyBwbGF5KG9wdGlvbnNPclRyYWNrPzogUGxheU9wdGlvbnMgfCBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGxheU9wdGlvbnM/OiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0eXBlb2Ygb3B0aW9uc09yVHJhY2sgIT09IFwidW5kZWZpbmVkXCIgJiYgVHJhY2tVdGlscy52YWxpZGF0ZShvcHRpb25zT3JUcmFjaykpIHtcblx0XHRcdGlmICh0aGlzLnF1ZXVlLmN1cnJlbnQpIHRoaXMucXVldWUucHJldmlvdXMgPSB0aGlzLnF1ZXVlLmN1cnJlbnQ7XG5cdFx0XHR0aGlzLnF1ZXVlLmN1cnJlbnQgPSBvcHRpb25zT3JUcmFjayBhcyBUcmFjaztcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMucXVldWUuY3VycmVudCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBjdXJyZW50IHRyYWNrLlwiKTtcblxuXHRcdGNvbnN0IGZpbmFsT3B0aW9ucyA9IHBsYXlPcHRpb25zXG5cdFx0XHQ/IHBsYXlPcHRpb25zXG5cdFx0XHQ6IFtcInN0YXJ0VGltZVwiLCBcImVuZFRpbWVcIiwgXCJub1JlcGxhY2VcIl0uZXZlcnkoKHYpID0+IE9iamVjdC5rZXlzKG9wdGlvbnNPclRyYWNrIHx8IHt9KS5pbmNsdWRlcyh2KSlcblx0XHRcdD8gKG9wdGlvbnNPclRyYWNrIGFzIFBsYXlPcHRpb25zKVxuXHRcdFx0OiB7fTtcblxuXHRcdGlmIChUcmFja1V0aWxzLmlzVW5yZXNvbHZlZFRyYWNrKHRoaXMucXVldWUuY3VycmVudCkpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHRoaXMucXVldWUuY3VycmVudCA9IGF3YWl0IFRyYWNrVXRpbHMuZ2V0Q2xvc2VzdFRyYWNrKHRoaXMucXVldWUuY3VycmVudCBhcyBVbnJlc29sdmVkVHJhY2spO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja0Vycm9yXCIsIHRoaXMsIHRoaXMucXVldWUuY3VycmVudCwgZXJyb3IpO1xuXHRcdFx0XHRpZiAodGhpcy5xdWV1ZVswXSkgcmV0dXJuIHRoaXMucGxheSh0aGlzLnF1ZXVlWzBdKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGF3YWl0IHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRlbmNvZGVkVHJhY2s6IHRoaXMucXVldWUuY3VycmVudD8udHJhY2ssXG5cdFx0XHRcdC4uLmZpbmFsT3B0aW9ucyxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIHsgcG9zaXRpb246IDAsIHBsYXlpbmc6IHRydWUgfSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgYXV0b3BsYXktc3RhdGUgb2YgdGhlIHBsYXllci5cblx0ICogQHBhcmFtIGF1dG9wbGF5U3RhdGVcblx0ICogQHBhcmFtIGJvdFVzZXJcblx0ICovXG5cdHB1YmxpYyBzZXRBdXRvcGxheShhdXRvcGxheVN0YXRlOiBib29sZWFuLCBib3RVc2VyOiBvYmplY3QpIHtcblx0XHRpZiAodHlwZW9mIGF1dG9wbGF5U3RhdGUgIT09IFwiYm9vbGVhblwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXV0b3BsYXlTdGF0ZSBtdXN0IGJlIGEgYm9vbGVhbi5cIik7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBib3RVc2VyICE9PSBcIm9iamVjdFwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYm90VXNlciBtdXN0IGJlIGEgdXNlci1vYmplY3QuXCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaXNBdXRvcGxheSA9IGF1dG9wbGF5U3RhdGU7XG5cdFx0dGhpcy5zZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIsIGJvdFVzZXIpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cblx0LyoqXG5cdCAqIEdldHMgcmVjb21tZW5kZWQgdHJhY2tzIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRyYWNrcy5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqIEBwYXJhbSByZXF1ZXN0ZXJcblx0ICovXG5cdHB1YmxpYyBhc3luYyBnZXRSZWNvbW1lbmRlZCh0cmFjazogVHJhY2ssIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKSB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vIGF2YWlsYWJsZSBub2Rlcy5cIik7XG5cdFx0fVxuXG5cdFx0Y29uc3QgaGFzU3BvdGlmeVVSTCA9IFtcInNwb3RpZnkuY29tXCIsIFwib3Blbi5zcG90aWZ5LmNvbVwiXS5zb21lKCh1cmwpID0+IHRyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblx0XHRjb25zdCBoYXNZb3VUdWJlVVJMID0gW1wieW91dHViZS5jb21cIiwgXCJ5b3V0dS5iZVwiXS5zb21lKCh1cmwpID0+IHRyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblxuXHRcdGlmIChoYXNTcG90aWZ5VVJMKSB7XG5cdFx0XHRjb25zdCByZXMgPSBhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvaW5mb2ApO1xuXHRcdFx0Y29uc3QgaW5mbyA9IHJlcyBhcyBMYXZhbGlua0luZm87XG5cblx0XHRcdGNvbnN0IGlzU3BvdGlmeVBsdWdpbkVuYWJsZWQgPSBpbmZvLnBsdWdpbnMuc29tZSgocGx1Z2luOiB7IG5hbWU6IHN0cmluZyB9KSA9PiBwbHVnaW4ubmFtZSA9PT0gXCJsYXZhc3JjLXBsdWdpblwiKTtcblx0XHRcdGNvbnN0IGlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkID0gaW5mby5zb3VyY2VNYW5hZ2Vycy5pbmNsdWRlcyhcInNwb3RpZnlcIik7XG5cblx0XHRcdGlmIChpc1Nwb3RpZnlQbHVnaW5FbmFibGVkICYmIGlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkKSB7XG5cdFx0XHRcdGNvbnN0IHRyYWNrSUQgPSBub2RlLmV4dHJhY3RTcG90aWZ5VHJhY2tJRCh0cmFjay51cmkpO1xuXHRcdFx0XHRjb25zdCBhcnRpc3RJRCA9IG5vZGUuZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCh0cmFjay5wbHVnaW5JbmZvLmFydGlzdFVybCk7XG5cblx0XHRcdFx0bGV0IGlkZW50aWZpZXIgPSBcIlwiO1xuXHRcdFx0XHRpZiAodHJhY2tJRCAmJiBhcnRpc3RJRCkge1xuXHRcdFx0XHRcdGlkZW50aWZpZXIgPSBgc3ByZWM6c2VlZF9hcnRpc3RzPSR7YXJ0aXN0SUR9JnNlZWRfdHJhY2tzPSR7dHJhY2tJRH1gO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHRyYWNrSUQpIHtcblx0XHRcdFx0XHRpZGVudGlmaWVyID0gYHNwcmVjOnNlZWRfdHJhY2tzPSR7dHJhY2tJRH1gO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGFydGlzdElEKSB7XG5cdFx0XHRcdFx0aWRlbnRpZmllciA9IGBzcHJlYzpzZWVkX2FydGlzdHM9JHthcnRpc3RJRH1gO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGlkZW50aWZpZXIpIHtcblx0XHRcdFx0XHRjb25zdCByZWNvbW1lbmRlZFJlc3VsdCA9IChhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvbG9hZHRyYWNrcz9pZGVudGlmaWVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkZW50aWZpZXIpfWApKSBhcyBMYXZhbGlua1Jlc3BvbnNlO1xuXG5cdFx0XHRcdFx0aWYgKHJlY29tbWVuZGVkUmVzdWx0LmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHBsYXlsaXN0RGF0YSA9IHJlY29tbWVuZGVkUmVzdWx0LmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdFx0Y29uc3QgcmVjb21tZW5kZWRUcmFja3MgPSBwbGF5bGlzdERhdGEudHJhY2tzO1xuXG5cdFx0XHRcdFx0XHRpZiAocmVjb21tZW5kZWRUcmFja3MpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgdHJhY2tzID0gcmVjb21tZW5kZWRUcmFja3MubWFwKCh0cmFjaykgPT4gVHJhY2tVdGlscy5idWlsZCh0cmFjaywgcmVxdWVzdGVyKSk7XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRyYWNrcztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRsZXQgdmlkZW9JRCA9IHRyYWNrLnVyaS5zdWJzdHJpbmcodHJhY2sudXJpLmluZGV4T2YoXCI9XCIpICsgMSk7XG5cblx0XHRpZiAoIWhhc1lvdVR1YmVVUkwpIHtcblx0XHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubWFuYWdlci5zZWFyY2goYCR7dHJhY2suYXV0aG9yfSAtICR7dHJhY2sudGl0bGV9YCk7XG5cblx0XHRcdHZpZGVvSUQgPSByZXMudHJhY2tzWzBdLnVyaS5zdWJzdHJpbmcocmVzLnRyYWNrc1swXS51cmkuaW5kZXhPZihcIj1cIikgKyAxKTtcblx0XHR9XG5cblx0XHRjb25zdCBzZWFyY2hVUkkgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0ke3ZpZGVvSUR9Jmxpc3Q9UkQke3ZpZGVvSUR9YDtcblxuXHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubWFuYWdlci5zZWFyY2goc2VhcmNoVVJJKTtcblxuXHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwiZW1wdHlcIiB8fCByZXMubG9hZFR5cGUgPT09IFwiZXJyb3JcIikgcmV0dXJuO1xuXG5cdFx0bGV0IHRyYWNrcyA9IHJlcy50cmFja3M7XG5cblx0XHRpZiAocmVzLmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdHRyYWNrcyA9IHJlcy5wbGF5bGlzdC50cmFja3M7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlsdGVyZWRUcmFja3MgPSB0cmFja3MuZmlsdGVyKCh0cmFjaykgPT4gdHJhY2sudXJpICE9PSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0ke3ZpZGVvSUR9YCk7XG5cblx0XHRpZiAodGhpcy5tYW5hZ2VyLm9wdGlvbnMucmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscykge1xuXHRcdFx0Zm9yIChjb25zdCB0cmFjayBvZiBmaWx0ZXJlZFRyYWNrcykge1xuXHRcdFx0XHR0cmFjay5hdXRob3IgPSB0cmFjay5hdXRob3IucmVwbGFjZShcIi0gVG9waWNcIiwgXCJcIik7XG5cdFx0XHRcdHRyYWNrLnRpdGxlID0gdHJhY2sudGl0bGUucmVwbGFjZShcIlRvcGljIC1cIiwgXCJcIik7XG5cblx0XHRcdFx0aWYgKHRyYWNrLnRpdGxlLmluY2x1ZGVzKFwiLVwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IFthdXRob3IsIHRpdGxlXSA9IHRyYWNrLnRpdGxlLnNwbGl0KFwiLVwiKS5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIudHJpbSgpKTtcblx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSBhdXRob3I7XG5cdFx0XHRcdFx0dHJhY2sudGl0bGUgPSB0aXRsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBmaWx0ZXJlZFRyYWNrcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGF5ZXIgdm9sdW1lLlxuXHQgKiBAcGFyYW0gdm9sdW1lXG5cdCAqL1xuXHRwdWJsaWMgc2V0Vm9sdW1lKHZvbHVtZTogbnVtYmVyKTogdGhpcyB7XG5cdFx0aWYgKGlzTmFOKHZvbHVtZSkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJWb2x1bWUgbXVzdCBiZSBhIG51bWJlci5cIik7XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5vcHRpb25zLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHR2b2x1bWUsXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0dGhpcy52b2x1bWUgPSB2b2x1bWU7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB0cmFjayByZXBlYXQuXG5cdCAqIEBwYXJhbSByZXBlYXRcblx0ICovXG5cdHB1YmxpYyBzZXRUcmFja1JlcGVhdChyZXBlYXQ6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHJlcGVhdCAhPT0gXCJib29sZWFuXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlcGVhdCBjYW4gb25seSBiZSBcInRydWVcIiBvciBcImZhbHNlXCIuJyk7XG5cblx0XHRjb25zdCBvbGRQbGF5ZXIgPSB7IC4uLnRoaXMgfTtcblxuXHRcdGlmIChyZXBlYXQpIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSB0cnVlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBxdWV1ZSByZXBlYXQuXG5cdCAqIEBwYXJhbSByZXBlYXRcblx0ICovXG5cdHB1YmxpYyBzZXRRdWV1ZVJlcGVhdChyZXBlYXQ6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHJlcGVhdCAhPT0gXCJib29sZWFuXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlcGVhdCBjYW4gb25seSBiZSBcInRydWVcIiBvciBcImZhbHNlXCIuJyk7XG5cblx0XHRjb25zdCBvbGRQbGF5ZXIgPSB7IC4uLnRoaXMgfTtcblxuXHRcdGlmIChyZXBlYXQpIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSB0cnVlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBxdWV1ZSB0byByZXBlYXQgYW5kIHNodWZmbGVzIHRoZSBxdWV1ZSBhZnRlciBlYWNoIHNvbmcuXG5cdCAqIEBwYXJhbSByZXBlYXQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLlxuXHQgKiBAcGFyYW0gbXMgQWZ0ZXIgaG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHRyaWdnZXIgZHluYW1pYyByZXBlYXQuXG5cdCAqL1xuXHRwdWJsaWMgc2V0RHluYW1pY1JlcGVhdChyZXBlYXQ6IGJvb2xlYW4sIG1zOiBudW1iZXIpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHJlcGVhdCAhPT0gXCJib29sZWFuXCIpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlcGVhdCBjYW4gb25seSBiZSBcInRydWVcIiBvciBcImZhbHNlXCIuJyk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMucXVldWUuc2l6ZSA8PSAxKSB7XG5cdFx0XHR0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRoZSBxdWV1ZSBzaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCIpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0aWYgKHJlcGVhdCkge1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gdHJ1ZTtcblxuXHRcdFx0dGhpcy5keW5hbWljTG9vcEludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0XHRpZiAoIXRoaXMuZHluYW1pY1JlcGVhdCkgcmV0dXJuO1xuXHRcdFx0XHRjb25zdCBzaHVmZmxlZCA9IF8uc2h1ZmZsZSh0aGlzLnF1ZXVlKTtcblx0XHRcdFx0dGhpcy5xdWV1ZS5jbGVhcigpO1xuXHRcdFx0XHRzaHVmZmxlZC5mb3JFYWNoKCh0cmFjaykgPT4ge1xuXHRcdFx0XHRcdHRoaXMucXVldWUuYWRkKHRyYWNrKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9LCBtcykgYXMgTm9kZUpTLlRpbWVvdXQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy5keW5hbWljTG9vcEludGVydmFsKTtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBSZXN0YXJ0cyB0aGUgY3VycmVudCB0cmFjayB0byB0aGUgc3RhcnQuICovXG5cdHB1YmxpYyByZXN0YXJ0KCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjaykge1xuXHRcdFx0aWYgKHRoaXMucXVldWUubGVuZ3RoKSB0aGlzLnBsYXkoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0cG9zaXRpb246IDAsXG5cdFx0XHRcdGVuY29kZWRUcmFjazogdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjayxcblx0XHRcdH0sXG5cdFx0fSk7XG5cdH1cblxuXHQvKiogU3RvcHMgdGhlIGN1cnJlbnQgdHJhY2ssIG9wdGlvbmFsbHkgZ2l2ZSBhbiBhbW91bnQgdG8gc2tpcCB0bywgZS5nIDUgd291bGQgcGxheSB0aGUgNXRoIHNvbmcuICovXG5cdHB1YmxpYyBzdG9wKGFtb3VudD86IG51bWJlcik6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgYW1vdW50ID09PSBcIm51bWJlclwiICYmIGFtb3VudCA+IDEpIHtcblx0XHRcdGlmIChhbW91bnQgPiB0aGlzLnF1ZXVlLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJDYW5ub3Qgc2tpcCBtb3JlIHRoYW4gdGhlIHF1ZXVlIGxlbmd0aC5cIik7XG5cdFx0XHR0aGlzLnF1ZXVlLnNwbGljZSgwLCBhbW91bnQgLSAxKTtcblx0XHR9XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0ZW5jb2RlZFRyYWNrOiBudWxsLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhdXNlcyB0aGUgY3VycmVudCB0cmFjay5cblx0ICogQHBhcmFtIHBhdXNlXG5cdCAqL1xuXHRwdWJsaWMgcGF1c2UocGF1c2U6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHBhdXNlICE9PSBcImJvb2xlYW5cIikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1BhdXNlIGNhbiBvbmx5IGJlIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi4nKTtcblxuXHRcdGlmICh0aGlzLnBhdXNlZCA9PT0gcGF1c2UgfHwgIXRoaXMucXVldWUudG90YWxTaXplKSByZXR1cm4gdGhpcztcblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0dGhpcy5wbGF5aW5nID0gIXBhdXNlO1xuXHRcdHRoaXMucGF1c2VkID0gcGF1c2U7XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0cGF1c2VkOiBwYXVzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllclN0YXRlVXBkYXRlXCIsIG9sZFBsYXllciwgdGhpcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogR28gYmFjayB0byB0aGUgcHJldmlvdXMgc29uZy4gKi9cblx0cHVibGljIHByZXZpb3VzKCk6IHRoaXMge1xuXHRcdHRoaXMucXVldWUudW5zaGlmdCh0aGlzLnF1ZXVlLnByZXZpb3VzKTtcblx0XHR0aGlzLnN0b3AoKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlZWtzIHRvIHRoZSBwb3NpdGlvbiBpbiB0aGUgY3VycmVudCB0cmFjay5cblx0ICogQHBhcmFtIHBvc2l0aW9uXG5cdCAqL1xuXHRwdWJsaWMgc2Vlayhwb3NpdGlvbjogbnVtYmVyKTogdGhpcyB7XG5cdFx0aWYgKCF0aGlzLnF1ZXVlLmN1cnJlbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0cG9zaXRpb24gPSBOdW1iZXIocG9zaXRpb24pO1xuXG5cdFx0aWYgKGlzTmFOKHBvc2l0aW9uKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJQb3NpdGlvbiBtdXN0IGJlIGEgbnVtYmVyLlwiKTtcblx0XHRpZiAocG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID4gdGhpcy5xdWV1ZS5jdXJyZW50LmR1cmF0aW9uKSBwb3NpdGlvbiA9IE1hdGgubWF4KE1hdGgubWluKHBvc2l0aW9uLCB0aGlzLnF1ZXVlLmN1cnJlbnQuZHVyYXRpb24pLCAwKTtcblxuXHRcdHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcblxuXHRcdHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRwb3NpdGlvbjogcG9zaXRpb24sXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGF5ZXJPcHRpb25zIHtcblx0LyoqIFRoZSBndWlsZCB0aGUgUGxheWVyIGJlbG9uZ3MgdG8uICovXG5cdGd1aWxkOiBzdHJpbmc7XG5cdC8qKiBUaGUgdGV4dCBjaGFubmVsIHRoZSBQbGF5ZXIgYmVsb25ncyB0by4gKi9cblx0dGV4dENoYW5uZWw6IHN0cmluZztcblx0LyoqIFRoZSB2b2ljZSBjaGFubmVsIHRoZSBQbGF5ZXIgYmVsb25ncyB0by4gKi9cblx0dm9pY2VDaGFubmVsPzogc3RyaW5nO1xuXHQvKiogVGhlIG5vZGUgdGhlIFBsYXllciB1c2VzLiAqL1xuXHRub2RlPzogc3RyaW5nO1xuXHQvKiogVGhlIGluaXRpYWwgdm9sdW1lIHRoZSBQbGF5ZXIgd2lsbCB1c2UuICovXG5cdHZvbHVtZT86IG51bWJlcjtcblx0LyoqIElmIHRoZSBwbGF5ZXIgc2hvdWxkIG11dGUgaXRzZWxmLiAqL1xuXHRzZWxmTXV0ZT86IGJvb2xlYW47XG5cdC8qKiBJZiB0aGUgcGxheWVyIHNob3VsZCBkZWFmIGl0c2VsZi4gKi9cblx0c2VsZkRlYWZlbj86IGJvb2xlYW47XG59XG5cbi8qKiBJZiB0cmFjayBwYXJ0aWFscyBhcmUgc2V0IHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBgdW5kZWZpbmVkYCBhcyB0aGV5IHdlcmUgcmVtb3ZlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2sge1xuXHQvKiogVGhlIGJhc2U2NCBlbmNvZGVkIHRyYWNrLiAqL1xuXHRyZWFkb25seSB0cmFjazogc3RyaW5nO1xuXHQvKiogVGhlIGFydHdvcmsgdXJsIG9mIHRoZSB0cmFjay4gKi9cblx0cmVhZG9ubHkgYXJ0d29ya1VybDogc3RyaW5nO1xuXHQvKiogVGhlIHRyYWNrIHNvdXJjZSBuYW1lLiAqL1xuXHRyZWFkb25seSBzb3VyY2VOYW1lOiBUcmFja1NvdXJjZU5hbWU7XG5cdC8qKiBUaGUgdGl0bGUgb2YgdGhlIHRyYWNrLiAqL1xuXHR0aXRsZTogc3RyaW5nO1xuXHQvKiogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgYXV0aG9yIG9mIHRoZSB0cmFjay4gKi9cblx0YXV0aG9yOiBzdHJpbmc7XG5cdC8qKiBUaGUgZHVyYXRpb24gb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBkdXJhdGlvbjogbnVtYmVyO1xuXHQvKiogVGhlIElTUkMgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBpc3JjOiBzdHJpbmc7XG5cdC8qKiBJZiB0aGUgdHJhY2sgaXMgc2Vla2FibGUuICovXG5cdHJlYWRvbmx5IGlzU2Vla2FibGU6IGJvb2xlYW47XG5cdC8qKiBJZiB0aGUgdHJhY2sgaXMgYSBzdHJlYW0uLiAqL1xuXHRyZWFkb25seSBpc1N0cmVhbTogYm9vbGVhbjtcblx0LyoqIFRoZSB1cmkgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSB1cmk6IHN0cmluZztcblx0LyoqIFRoZSB0aHVtYm5haWwgb2YgdGhlIHRyYWNrIG9yIG51bGwgaWYgaXQncyBhIHVuc3VwcG9ydGVkIHNvdXJjZS4gKi9cblx0cmVhZG9ubHkgdGh1bWJuYWlsOiBzdHJpbmcgfCBudWxsO1xuXHQvKiogVGhlIHVzZXIgdGhhdCByZXF1ZXN0ZWQgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSByZXF1ZXN0ZXI6IFVzZXIgfCBDbGllbnRVc2VyIHwgbnVsbDtcblx0LyoqIERpc3BsYXlzIHRoZSB0cmFjayB0aHVtYm5haWwgd2l0aCBvcHRpb25hbCBzaXplIG9yIG51bGwgaWYgaXQncyBhIHVuc3VwcG9ydGVkIHNvdXJjZS4gKi9cblx0ZGlzcGxheVRodW1ibmFpbChzaXplPzogU2l6ZXMpOiBzdHJpbmc7XG5cdC8qKiBBZGRpdGlvbmFsIHRyYWNrIGluZm8gcHJvdmlkZWQgYnkgcGx1Z2lucy4gKi9cblx0cGx1Z2luSW5mbzogVHJhY2tQbHVnaW5JbmZvO1xuXHQvKiogQWRkIHlvdXIgb3duIGRhdGEgdG8gdGhlIHRyYWNrLiAqL1xuXHRjdXN0b21EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja1BsdWdpbkluZm8ge1xuXHRhbGJ1bU5hbWU/OiBzdHJpbmc7XG5cdGFsYnVtVXJsPzogc3RyaW5nO1xuXHRhcnRpc3RBcnR3b3JrVXJsPzogc3RyaW5nO1xuXHRhcnRpc3RVcmw/OiBzdHJpbmc7XG5cdGlzUHJldmlldz86IHN0cmluZztcblx0cHJldmlld1VybD86IHN0cmluZztcbn1cblxuLyoqIFVucmVzb2x2ZWQgdHJhY2tzIGNhbid0IGJlIHBsYXllZCBub3JtYWxseSwgdGhleSB3aWxsIHJlc29sdmUgYmVmb3JlIHBsYXlpbmcgaW50byBhIFRyYWNrLiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbnJlc29sdmVkVHJhY2sgZXh0ZW5kcyBQYXJ0aWFsPFRyYWNrPiB7XG5cdC8qKiBUaGUgdGl0bGUgdG8gc2VhcmNoIGFnYWluc3QuICovXG5cdHRpdGxlOiBzdHJpbmc7XG5cdC8qKiBUaGUgYXV0aG9yIHRvIHNlYXJjaCBhZ2FpbnN0LiAqL1xuXHRhdXRob3I/OiBzdHJpbmc7XG5cdC8qKiBUaGUgZHVyYXRpb24gdG8gc2VhcmNoIHdpdGhpbiAxNTAwIG1pbGxpc2Vjb25kcyBvZiB0aGUgcmVzdWx0cyBmcm9tIFlvdVR1YmUuICovXG5cdGR1cmF0aW9uPzogbnVtYmVyO1xuXHQvKiogUmVzb2x2ZXMgaW50byBhIFRyYWNrLiAqL1xuXHRyZXNvbHZlKCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheU9wdGlvbnMge1xuXHQvKiogVGhlIHBvc2l0aW9uIHRvIHN0YXJ0IHRoZSB0cmFjay4gKi9cblx0cmVhZG9ubHkgc3RhcnRUaW1lPzogbnVtYmVyO1xuXHQvKiogVGhlIHBvc2l0aW9uIHRvIGVuZCB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGVuZFRpbWU/OiBudW1iZXI7XG5cdC8qKiBXaGV0aGVyIHRvIG5vdCByZXBsYWNlIHRoZSB0cmFjayBpZiBhIHBsYXkgcGF5bG9hZCBpcyBzZW50LiAqL1xuXHRyZWFkb25seSBub1JlcGxhY2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVxdWFsaXplckJhbmQge1xuXHQvKiogVGhlIGJhbmQgbnVtYmVyIGJlaW5nIDAgdG8gMTQuICovXG5cdGJhbmQ6IG51bWJlcjtcblx0LyoqIFRoZSBnYWluIGFtb3VudCBiZWlu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
@@ -0,0 +1,18 @@
1
+ import { User, ClientUser } from "discord.js";
2
+ export declare class TikTok {
3
+ /**
4
+ * ตรวจสอบว่าลิงก์เป็นของ TikTok หรือไม่
5
+ */
6
+ static isTikTokURL(url: string): boolean;
7
+ /**
8
+ * ค้นหาและดึงลิงก์เสียงจาก TikTok
9
+ */
10
+ static searchTikTok(url: string, requester?: User | ClientUser): Promise<{
11
+ loadType: string;
12
+ tracks: import("./Player").Track[];
13
+ }>;
14
+ /**
15
+ * ดึงลิงก์เสียงจาก TikTok โดยใช้ API หรือ Web Scraper
16
+ */
17
+ static extractTikTokAudio(url: string): Promise<string | null>;
18
+ }