@discordeno/bot 21.0.1-next.aa5982a → 21.0.1-next.b6bfaa3

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.
@@ -14,9 +14,11 @@ async function handleThreadMemberUpdate(bot, data, _shardId) {
14
14
  bot.events.threadMemberUpdate({
15
15
  id: bot.transformers.snowflake(payload.id),
16
16
  guildId: bot.transformers.snowflake(payload.guild_id),
17
- joinedAt: Date.parse(payload.joined_at),
17
+ // TODO: remove this in the next major version
18
+ joinedAt: 'joined_at' in payload && typeof payload.joined_at === 'string' ? Date.parse(payload.joined_at) : 0,
19
+ joinedTimestamp: Date.parse(payload.join_timestamp),
18
20
  flags: payload.flags
19
21
  });
20
22
  }
21
23
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oYW5kbGVycy9jaGFubmVscy9USFJFQURfTUVNQkVSX1VQREFURS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZShib3Q6IEJvdCwgZGF0YTogRGlzY29yZEdhdGV3YXlQYXlsb2FkLCBfc2hhcmRJZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYm90LmV2ZW50cy50aHJlYWRNZW1iZXJVcGRhdGUpIHJldHVyblxuXG4gIGNvbnN0IHBheWxvYWQgPSBkYXRhLmQgYXMgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZVxuXG4gIGJvdC5ldmVudHMudGhyZWFkTWVtYmVyVXBkYXRlKHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgZ3VpbGRJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCksXG4gICAgam9pbmVkQXQ6IERhdGUucGFyc2UocGF5bG9hZC5qb2luZWRfYXQpLFxuICAgIGZsYWdzOiBwYXlsb2FkLmZsYWdzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZSIsImJvdCIsImRhdGEiLCJfc2hhcmRJZCIsImV2ZW50cyIsInRocmVhZE1lbWJlclVwZGF0ZSIsInBheWxvYWQiLCJkIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJqb2luZWRBdCIsIkRhdGUiLCJwYXJzZSIsImpvaW5lZF9hdCIsImZsYWdzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdzQkE7OztlQUFBQTs7O0FBQWYsZUFBZUEseUJBQXlCQyxHQUFRLEVBQUVDLElBQTJCLEVBQUVDLFFBQWdCO0lBQ3BHLElBQUksQ0FBQ0YsSUFBSUcsTUFBTSxDQUFDQyxrQkFBa0IsRUFBRTtJQUVwQyxNQUFNQyxVQUFVSixLQUFLSyxDQUFDO0lBRXRCTixJQUFJRyxNQUFNLENBQUNDLGtCQUFrQixDQUFDO1FBQzVCRyxJQUFJUCxJQUFJUSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUUUsRUFBRTtRQUN6Q0csU0FBU1YsSUFBSVEsWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFNLFFBQVE7UUFDcERDLFVBQVVDLEtBQUtDLEtBQUssQ0FBQ1QsUUFBUVUsU0FBUztRQUN0Q0MsT0FBT1gsUUFBUVcsS0FBSztJQUN0QjtBQUNGIn0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oYW5kbGVycy9jaGFubmVscy9USFJFQURfTUVNQkVSX1VQREFURS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZShib3Q6IEJvdCwgZGF0YTogRGlzY29yZEdhdGV3YXlQYXlsb2FkLCBfc2hhcmRJZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYm90LmV2ZW50cy50aHJlYWRNZW1iZXJVcGRhdGUpIHJldHVyblxuXG4gIGNvbnN0IHBheWxvYWQgPSBkYXRhLmQgYXMgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZVxuXG4gIGJvdC5ldmVudHMudGhyZWFkTWVtYmVyVXBkYXRlKHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgZ3VpbGRJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCksXG4gICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxuICAgIGpvaW5lZEF0OiAnam9pbmVkX2F0JyBpbiBwYXlsb2FkICYmIHR5cGVvZiBwYXlsb2FkLmpvaW5lZF9hdCA9PT0gJ3N0cmluZycgPyBEYXRlLnBhcnNlKHBheWxvYWQuam9pbmVkX2F0KSA6IDAsXG4gICAgam9pbmVkVGltZXN0YW1wOiBEYXRlLnBhcnNlKHBheWxvYWQuam9pbl90aW1lc3RhbXApLFxuICAgIGZsYWdzOiBwYXlsb2FkLmZsYWdzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZSIsImJvdCIsImRhdGEiLCJfc2hhcmRJZCIsImV2ZW50cyIsInRocmVhZE1lbWJlclVwZGF0ZSIsInBheWxvYWQiLCJkIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsImpvaW5lZFRpbWVzdGFtcCIsImpvaW5fdGltZXN0YW1wIiwiZmxhZ3MiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR3NCQTs7O2VBQUFBOzs7QUFBZixlQUFlQSx5QkFBeUJDLEdBQVEsRUFBRUMsSUFBMkIsRUFBRUMsUUFBZ0I7SUFDcEcsSUFBSSxDQUFDRixJQUFJRyxNQUFNLENBQUNDLGtCQUFrQixFQUFFO0lBRXBDLE1BQU1DLFVBQVVKLEtBQUtLLENBQUM7SUFFdEJOLElBQUlHLE1BQU0sQ0FBQ0Msa0JBQWtCLENBQUM7UUFDNUJHLElBQUlQLElBQUlRLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRRSxFQUFFO1FBQ3pDRyxTQUFTVixJQUFJUSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUU0sUUFBUTtRQUNwRCw4Q0FBOEM7UUFDOUNDLFVBQVUsZUFBZVAsV0FBVyxPQUFPQSxRQUFRUSxTQUFTLEtBQUssV0FBV0MsS0FBS0MsS0FBSyxDQUFDVixRQUFRUSxTQUFTLElBQUk7UUFDNUdHLGlCQUFpQkYsS0FBS0MsS0FBSyxDQUFDVixRQUFRWSxjQUFjO1FBQ2xEQyxPQUFPYixRQUFRYSxLQUFLO0lBQ3RCO0FBQ0YifQ==
@@ -190,7 +190,8 @@ function transformMessage(bot, payload) {
190
190
  }
191
191
  message.interaction = interaction;
192
192
  }
193
- if (props.member && guildId && userId && payload.message.member) message.member = bot.transformers.member(bot, payload.message.member, guildId, userId);
193
+ if (props.member && guildId && userId && payload.message.member) // @ts-expect-error TODO: partial
194
+ message.member = bot.transformers.member(bot, payload.message.member, guildId, userId);
194
195
  if (payload.message.mention_everyone) message.mentionEveryone = true;
195
196
  if (props.mentionedChannelIds && payload.message.mention_channels?.length) {
196
197
  message.mentionedChannelIds = [
@@ -310,4 +311,4 @@ function transformMessageCall(bot, payload) {
310
311
  return bot.transformers.customizers.messageCall(bot, payload, call);
311
312
  }
312
313
 
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlQ2FsbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VQaW4sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcydcbmltcG9ydCB7XG4gIHR5cGUgSW50ZXJuYWxCb3QsXG4gIHR5cGUgTWVzc2FnZSxcbiAgdHlwZSBNZXNzYWdlQ2FsbCxcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlUGluLFxuICB0eXBlIE1lc3NhZ2VTbmFwc2hvdCxcbiAgc25vd2ZsYWtlVG9UaW1lc3RhbXAsXG59IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnXG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnXG5cbmV4cG9ydCBjb25zdCBiYXNlTWVzc2FnZTogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10pLFxuXG4gIGdldCBjcm9zc3Bvc3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKVxuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgZXBoZW1lcmFsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICB9LFxuICBnZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZClcbiAgfSxcbiAgZ2V0IGhhc1RocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBpc0Nyb3NzcG9zdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpXG4gIH0sXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuTG9hZGluZykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuTG9hZGluZylcbiAgfSxcbiAgZ2V0IG1lbnRpb25lZFVzZXJJZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudGlvbnM/Lm1hcCgodXNlcikgPT4gdXNlci5pZCkgPz8gW11cbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IG1lbnRpb25FdmVyeW9uZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgyKVxuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMilcbiAgfSxcbiAgZ2V0IHBpbm5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHBpbm5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKVxuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMylcbiAgfSxcbiAgZ2V0IHNvdXJjZU1lc3NhZ2VEZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpXG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc3VwcHJlc3NFbWJlZHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKVxuICB9LFxuICBnZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICB9LFxuICBnZXQgdGltZXN0YW1wKCkge1xuICAgIHJldHVybiB0aGlzLmlkID8gc25vd2ZsYWtlVG9UaW1lc3RhbXAodGhpcy5pZCkgOiAwXG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlXG4gIH0sXG4gIHNldCB0dHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMSlcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpXG4gIH0sXG4gIGdldCB1cmdlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5VcmdlbnQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCB1cmdlbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IG1lc3NhZ2U6IERpc2NvcmRNZXNzYWdlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5tZXNzYWdlLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yPy5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS5hdXRob3IuaWQpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IE9iamVjdC5jcmVhdGUoYmFzZU1lc3NhZ2UpXG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKVxuICBtZXNzYWdlLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQubWVzc2FnZS5mbGFncylcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVxuXG4gIGlmIChwcm9wcy5hdXRob3IgJiYgcGF5bG9hZC5tZXNzYWdlLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb24gJiYgcGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uKVxuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwge1xuICAgICAgYXBwbGljYXRpb246IHBheWxvYWQubWVzc2FnZS5hcHBsaWNhdGlvbiBhcyBEaXNjb3JkQXBwbGljYXRpb24sXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uX2lkKSBtZXNzYWdlLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLm1lc3NhZ2UuYXR0YWNobWVudHM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLmF0dGFjaG1lbnRzID0gcGF5bG9hZC5tZXNzYWdlLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlLmNoYW5uZWxfaWQpIG1lc3NhZ2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQubWVzc2FnZS5jb21wb25lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5tZXNzYWdlLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKVxuICBpZiAocHJvcHMuY29udGVudCkgbWVzc2FnZS5jb250ZW50ID0gcGF5bG9hZC5tZXNzYWdlLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HXG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5tZXNzYWdlLmVkaXRlZF90aW1lc3RhbXApIG1lc3NhZ2UuZWRpdGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLm1lc3NhZ2UuZWRpdGVkX3RpbWVzdGFtcClcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLm1lc3NhZ2UuZW1iZWRzPy5sZW5ndGgpIG1lc3NhZ2UuZW1iZWRzID0gcGF5bG9hZC5tZXNzYWdlLmVtYmVkcy5tYXAoKGVtYmVkKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtYmVkKGJvdCwgZW1iZWQpKVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLm1lc3NhZ2UuaWQpIG1lc3NhZ2UuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuaWQpXG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICBtZXNzYWdlLmludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydpbnRlcmFjdGlvbiddPlxuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25cblxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5pZCkge1xuICAgICAgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24uaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLm1lbWJlcikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBwYXJ0aWFsIC0gY2hlY2sgd2h5IHRoaXMgaXMgcGFydGlhbCBhbmQgaGFuZGxlIGFzIG5lZWRlZFxuICAgICAgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24udXNlci5pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLm5hbWUpIHtcbiAgICAgIGludGVyYWN0aW9uLm5hbWUgPSBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24ubmFtZVxuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbi50eXBlXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLnVzZXIpXG4gICAgfVxuXG4gICAgbWVzc2FnZS5pbnRlcmFjdGlvbiA9IGludGVyYWN0aW9uXG4gIH1cbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHVzZXJJZCAmJiBwYXlsb2FkLm1lc3NhZ2UubWVtYmVyKVxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UubWVtYmVyLCBndWlsZElkLCB1c2VySWQpXG4gIGlmIChwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9ldmVyeW9uZSkgbWVzc2FnZS5tZW50aW9uRXZlcnlvbmUgPSB0cnVlXG4gIGlmIChwcm9wcy5tZW50aW9uZWRDaGFubmVsSWRzICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9jaGFubmVscyA/PyBbXSkubWFwKChtKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtLmlkKSksXG4gICAgICAvLyBBZGQgYW55IG90aGVyIGlkcyB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQgaW4gYSBjaGFubmVsIG1lbnRpb24gZm9ybWF0XG4gICAgICAuLi4ocGF5bG9hZC5tZXNzYWdlLmNvbnRlbnQ/Lm1hdGNoKENIQU5ORUxfTUVOVElPTl9SRUdFWCkgPz8gW10pLm1hcCgodGV4dCkgPT5cbiAgICAgICAgLy8gY29udmVydHMgdGhlIDwjMTIzPiBpbnRvIDEyM1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh0ZXh0LnN1YnN0cmluZygyLCB0ZXh0Lmxlbmd0aCAtIDEpKSxcbiAgICAgICksXG4gICAgXVxuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9uX3JvbGVzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5tZW50aW9uZWRSb2xlSWRzID0gcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25fcm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25zPy5sZW5ndGgpIG1lc3NhZ2UubWVudGlvbnMgPSBwYXlsb2FkLm1lc3NhZ2UubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSlcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnbWVzc2FnZVJlZmVyZW5jZSddPlxuICAgIGNvbnN0IG1lc3NhZ2VSZWZlcmVuY2VQcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVJlZmVyZW5jZVxuXG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLm1lc3NhZ2VfaWQpXG4gICAgfVxuXG4gICAgbWVzc2FnZS5tZXNzYWdlUmVmZXJlbmNlID0gcmVmZXJlbmNlXG4gIH1cbiAgaWYgKHByb3BzLnJlZmVyZW5jZWRNZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZS5yZWZlcmVuY2VkX21lc3NhZ2UpXG4gICAgbWVzc2FnZS5yZWZlcmVuY2VkTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlLnJlZmVyZW5jZWRfbWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5tZXNzYWdlU25hcHNob3RzICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9zbmFwc2hvdHMubWFwKChzbmFwKSA9PlxuICAgICAgYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCB7IG1lc3NhZ2VTbmFwc2hvdDogc25hcCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLm5vbmNlICYmIHBheWxvYWQubWVzc2FnZS5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubWVzc2FnZS5ub25jZVxuICBpZiAocGF5bG9hZC5tZXNzYWdlLnBpbm5lZCkgbWVzc2FnZS5waW5uZWQgPSB0cnVlXG4gIGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcGF5bG9hZC5tZXNzYWdlLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLm1lc3NhZ2UucmVhY3Rpb25zLm1hcCgocmVhY3Rpb24pID0+ICh7XG4gICAgICBtZTogcmVhY3Rpb24ubWUsXG4gICAgICBtZUJ1cnN0OiByZWFjdGlvbi5tZV9idXJzdCxcbiAgICAgIGNvdW50OiByZWFjdGlvbi5jb3VudCxcbiAgICAgIGNvdW50RGV0YWlsczoge1xuICAgICAgICBidXJzdDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5idXJzdCxcbiAgICAgICAgbm9ybWFsOiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLm5vcm1hbCxcbiAgICAgIH0sXG4gICAgICBlbW9qaTogYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHJlYWN0aW9uLmVtb2ppKSxcbiAgICAgIGJ1cnN0Q29sb3JzOiByZWFjdGlvbi5idXJzdF9jb2xvcnMsXG4gICAgfSkpXG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLm1lc3NhZ2Uuc3RpY2tlcl9pdGVtcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2Uuc3RpY2tlckl0ZW1zID0gcGF5bG9hZC5tZXNzYWdlLnN0aWNrZXJfaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGl0ZW0uaWQpLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgZm9ybWF0VHlwZTogaXRlbS5mb3JtYXRfdHlwZSxcbiAgICB9KSlcbiAgaWYgKHBheWxvYWQubWVzc2FnZS50dHMpIG1lc3NhZ2UudHRzID0gdHJ1ZVxuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQubWVzc2FnZS50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLm1lc3NhZ2UudGhyZWFkLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy50eXBlKSBtZXNzYWdlLnR5cGUgPSBwYXlsb2FkLm1lc3NhZ2UudHlwZVxuICBpZiAocHJvcHMud2ViaG9va0lkICYmIHBheWxvYWQubWVzc2FnZS53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS53ZWJob29rX2lkKVxuICBpZiAocHJvcHMucG9sbCAmJiBwYXlsb2FkLm1lc3NhZ2UucG9sbCkgbWVzc2FnZS5wb2xsID0gYm90LnRyYW5zZm9ybWVycy5wb2xsKGJvdCwgcGF5bG9hZC5tZXNzYWdlLnBvbGwpXG4gIGlmIChwcm9wcy5jYWxsICYmIHBheWxvYWQubWVzc2FnZS5jYWxsKSBtZXNzYWdlLmNhbGwgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmNhbGwpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgbWVzc2FnZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VQaW4oYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VQaW4pOiBNZXNzYWdlUGluIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VQaW5cbiAgY29uc3QgbWVzc2FnZVBpbiA9IHt9IGFzIE1lc3NhZ2VQaW5cblxuICBpZiAocHJvcHMucGlubmVkQXQgJiYgcGF5bG9hZC5waW5uZWRfYXQpIG1lc3NhZ2VQaW4ucGlubmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucGlubmVkX2F0KVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIG1lc3NhZ2VQaW4ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVBpbihib3QsIHBheWxvYWQsIG1lc3NhZ2VQaW4pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgbWVzc2FnZVNuYXBzaG90OiBEaXNjb3JkTWVzc2FnZVNuYXBzaG90OyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2VTbmFwc2hvdCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlU25hcHNob3RcbiAgY29uc3QgbWVzc2FnZVNuYXBzaG90ID0ge30gYXMgTWVzc2FnZVNuYXBzaG90XG5cbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSlcbiAgICBtZXNzYWdlU25hcHNob3QubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSBhcyBEaXNjb3JkTWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QsIG1lc3NhZ2VTbmFwc2hvdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG5cbiAgaWYgKHByb3BzLmlkKSBtZXRhZGF0YS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnR5cGUpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZXRhZGF0YS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpXG4gIH1cbiAgLy8gTWVzc2FnZSBjb21wb25lbnQgbWV0YWRhdGFcbiAgaWYgKCdpbnRlcmFjdGVkX21lc3NhZ2VfaWQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuaW50ZXJhY3RlZE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgICAgIG1ldGFkYXRhLmludGVyYWN0ZWRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZCwgbWV0YWRhdGEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlQ2FsbChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBNZXNzYWdlQ2FsbFxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGxcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpXG4gIGlmIChwcm9wcy5lbmRlZFRpbWVzdGFtcCAmJiBwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCkgY2FsbC5lbmRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRlZF90aW1lc3RhbXApXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKVxufVxuIl0sIm5hbWVzIjpbImJhc2VNZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZSIsInRyYW5zZm9ybU1lc3NhZ2VDYWxsIiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwiRU1QVFlfU1RSSU5HIiwidW5kZWZpbmVkIiwiY3Jvc3Nwb3N0ZWQiLCJmbGFncyIsImNvbnRhaW5zIiwiTWVzc2FnZUZsYWdzIiwiQ3Jvc3Nwb3N0ZWQiLCJ2YWx1ZSIsImFkZCIsInJlbW92ZSIsImVwaGVtZXJhbCIsIkVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJoYXNUaHJlYWQiLCJIYXNUaHJlYWQiLCJpc0Nyb3NzcG9zdCIsIklzQ3Jvc3Nwb3N0IiwibG9hZGluZyIsIkxvYWRpbmciLCJtZW50aW9uZWRVc2VySWRzIiwibWVudGlvbnMiLCJtYXAiLCJ1c2VyIiwiaWQiLCJtZW50aW9uRXZlcnlvbmUiLCJiaXRmaWVsZCIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwiU291cmNlTWVzc2FnZURlbGV0ZWQiLCJzdXBwcmVzc0VtYmVkcyIsIlN1cHByZXNzRW1iZWRzIiwic3VwcHJlc3NOb3RpZmljYXRpb25zIiwiU3VwcHJlc3NOb3RpZmljYXRpb25zIiwidGltZXN0YW1wIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsIm1lc3NhZ2UiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXJJZCIsImF1dGhvciIsIk9iamVjdCIsImNyZWF0ZSIsIlRvZ2dsZUJpdGZpZWxkIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsImFwcGxpY2F0aW9uIiwic2hhcmRJZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwiYXR0YWNobWVudCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJjb21wb25lbnRzIiwiY29tcCIsImNvbXBvbmVudCIsImNvbnRlbnQiLCJlZGl0ZWRUaW1lc3RhbXAiLCJlZGl0ZWRfdGltZXN0YW1wIiwiRGF0ZSIsInBhcnNlIiwiZW1iZWRzIiwiZW1iZWQiLCJpbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uIiwibWVzc2FnZUludGVyYWN0aW9uUHJvcHMiLCJtZXNzYWdlSW50ZXJhY3Rpb24iLCJtZW1iZXIiLCJuYW1lIiwidHlwZSIsIm1lbnRpb25fZXZlcnlvbmUiLCJtZW50aW9uZWRDaGFubmVsSWRzIiwibWVudGlvbl9jaGFubmVscyIsIm0iLCJtYXRjaCIsIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsInRleHQiLCJzdWJzdHJpbmciLCJtZW50aW9uZWRSb2xlSWRzIiwibWVudGlvbl9yb2xlcyIsIm1lc3NhZ2VSZWZlcmVuY2UiLCJtZXNzYWdlX3JlZmVyZW5jZSIsInJlZmVyZW5jZSIsIm1lc3NhZ2VSZWZlcmVuY2VQcm9wcyIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2VfaWQiLCJyZWZlcmVuY2VkTWVzc2FnZSIsInJlZmVyZW5jZWRfbWVzc2FnZSIsIm1lc3NhZ2VTbmFwc2hvdHMiLCJtZXNzYWdlX3NuYXBzaG90cyIsInNuYXAiLCJtZXNzYWdlU25hcHNob3QiLCJub25jZSIsInJlYWN0aW9ucyIsInJlYWN0aW9uIiwibWUiLCJtZUJ1cnN0IiwibWVfYnVyc3QiLCJjb3VudCIsImNvdW50RGV0YWlscyIsImJ1cnN0IiwiY291bnRfZGV0YWlscyIsIm5vcm1hbCIsImVtb2ppIiwiYnVyc3RDb2xvcnMiLCJidXJzdF9jb2xvcnMiLCJzdGlja2VySXRlbXMiLCJzdGlja2VyX2l0ZW1zIiwiaXRlbSIsImZvcm1hdFR5cGUiLCJmb3JtYXRfdHlwZSIsInRocmVhZCIsImNoYW5uZWwiLCJ3ZWJob29rSWQiLCJ3ZWJob29rX2lkIiwicG9sbCIsImNhbGwiLCJtZXNzYWdlQ2FsbCIsImN1c3RvbWl6ZXJzIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwibWV0YWRhdGEiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJvcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkIiwib3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZCIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldE1lc3NhZ2VJZCIsInRhcmdldF9tZXNzYWdlX2lkIiwiaW50ZXJhY3RlZE1lc3NhZ2VJZCIsImludGVyYWN0ZWRfbWVzc2FnZV9pZCIsInRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUF3QmFBO2VBQUFBOztRQW9IR0M7ZUFBQUE7O1FBOExBQztlQUFBQTs7UUExQ0FDO2VBQUFBOztRQXZCQUM7ZUFBQUE7O1FBVUFDO2VBQUFBOzs7dUJBMVFUOzJCQUMrQjt1QkFTL0I7Z0NBQ3dCO0FBRS9CLE1BQU1DLGVBQWU7QUFFZCxNQUFNTixjQUF3RTtJQUNuRiwyRUFBMkU7SUFDM0UsR0FBSU8sU0FBUztJQUViLElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU0MsbUJBQVksQ0FBQ0MsV0FBVyxLQUFLO0lBQzNEO0lBQ0EsSUFBSUosYUFBWUssTUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0osS0FBSyxFQUFFO1FBQ2pCLElBQUlJLE9BQU8sSUFBSSxDQUFDSixLQUFLLENBQUNLLEdBQUcsQ0FBQ0gsbUJBQVksQ0FBQ0MsV0FBVzthQUM3QyxJ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
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlQ2FsbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VQaW4sXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcydcbmltcG9ydCB7XG4gIHR5cGUgSW50ZXJuYWxCb3QsXG4gIHR5cGUgTWVzc2FnZSxcbiAgdHlwZSBNZXNzYWdlQ2FsbCxcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlUGluLFxuICB0eXBlIE1lc3NhZ2VTbmFwc2hvdCxcbiAgc25vd2ZsYWtlVG9UaW1lc3RhbXAsXG59IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnXG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnXG5cbmV4cG9ydCBjb25zdCBiYXNlTWVzc2FnZTogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ10pLFxuXG4gIGdldCBjcm9zc3Bvc3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgY3Jvc3Nwb3N0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKVxuICB9LFxuICBnZXQgZXBoZW1lcmFsKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgZXBoZW1lcmFsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICB9LFxuICBnZXQgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5GYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZClcbiAgfSxcbiAgZ2V0IGhhc1RocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGhhc1RocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSGFzVGhyZWFkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgfSxcbiAgZ2V0IGlzQ3Jvc3Nwb3N0KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBpc0Nyb3NzcG9zdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpXG4gIH0sXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuTG9hZGluZykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuTG9hZGluZylcbiAgfSxcbiAgZ2V0IG1lbnRpb25lZFVzZXJJZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudGlvbnM/Lm1hcCgodXNlcikgPT4gdXNlci5pZCkgPz8gW11cbiAgfSxcbiAgZ2V0IG1lbnRpb25FdmVyeW9uZSgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMikgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IG1lbnRpb25FdmVyeW9uZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgyKVxuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMilcbiAgfSxcbiAgZ2V0IHBpbm5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5iaXRmaWVsZD8uY29udGFpbnMoMykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHBpbm5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgzKVxuICAgIGVsc2UgdGhpcy5iaXRmaWVsZC5yZW1vdmUoMylcbiAgfSxcbiAgZ2V0IHNvdXJjZU1lc3NhZ2VEZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpXG4gIH0sXG4gIGdldCBzdXBwcmVzc0VtYmVkcygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc3VwcHJlc3NFbWJlZHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKVxuICB9LFxuICBnZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICB9LFxuICBnZXQgdGltZXN0YW1wKCkge1xuICAgIHJldHVybiB0aGlzLmlkID8gc25vd2ZsYWtlVG9UaW1lc3RhbXAodGhpcy5pZCkgOiAwXG4gIH0sXG4gIGdldCB0dHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDEpID8/IGZhbHNlXG4gIH0sXG4gIHNldCB0dHModmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMSlcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDEpXG4gIH0sXG4gIGdldCB1cmdlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5VcmdlbnQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCB1cmdlbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlVyZ2VudClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IG1lc3NhZ2U6IERpc2NvcmRNZXNzYWdlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5tZXNzYWdlLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yPy5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS5hdXRob3IuaWQpIDogdW5kZWZpbmVkXG5cbiAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IE9iamVjdC5jcmVhdGUoYmFzZU1lc3NhZ2UpXG4gIG1lc3NhZ2UuYml0ZmllbGQgPSBuZXcgVG9nZ2xlQml0ZmllbGQoKVxuICBtZXNzYWdlLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQubWVzc2FnZS5mbGFncylcblxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVxuXG4gIGlmIChwcm9wcy5hdXRob3IgJiYgcGF5bG9hZC5tZXNzYWdlLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UuYXV0aG9yKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb24gJiYgcGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uKVxuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwge1xuICAgICAgYXBwbGljYXRpb246IHBheWxvYWQubWVzc2FnZS5hcHBsaWNhdGlvbiBhcyBEaXNjb3JkQXBwbGljYXRpb24sXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5tZXNzYWdlLmFwcGxpY2F0aW9uX2lkKSBtZXNzYWdlLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5hdHRhY2htZW50cyAmJiBwYXlsb2FkLm1lc3NhZ2UuYXR0YWNobWVudHM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLmF0dGFjaG1lbnRzID0gcGF5bG9hZC5tZXNzYWdlLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlLmNoYW5uZWxfaWQpIG1lc3NhZ2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5jb21wb25lbnRzICYmIHBheWxvYWQubWVzc2FnZS5jb21wb25lbnRzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5tZXNzYWdlLmNvbXBvbmVudHMubWFwKChjb21wKSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXApKVxuICBpZiAocHJvcHMuY29udGVudCkgbWVzc2FnZS5jb250ZW50ID0gcGF5bG9hZC5tZXNzYWdlLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HXG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5tZXNzYWdlLmVkaXRlZF90aW1lc3RhbXApIG1lc3NhZ2UuZWRpdGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLm1lc3NhZ2UuZWRpdGVkX3RpbWVzdGFtcClcbiAgaWYgKHByb3BzLmVtYmVkcyAmJiBwYXlsb2FkLm1lc3NhZ2UuZW1iZWRzPy5sZW5ndGgpIG1lc3NhZ2UuZW1iZWRzID0gcGF5bG9hZC5tZXNzYWdlLmVtYmVkcy5tYXAoKGVtYmVkKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtYmVkKGJvdCwgZW1iZWQpKVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBtZXNzYWdlLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLm1lc3NhZ2UuaWQpIG1lc3NhZ2UuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuaWQpXG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICBtZXNzYWdlLmludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uX21ldGFkYXRhKVxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydpbnRlcmFjdGlvbiddPlxuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25cblxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5pZCkge1xuICAgICAgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24uaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLm1lbWJlcikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBwYXJ0aWFsIC0gY2hlY2sgd2h5IHRoaXMgaXMgcGFydGlhbCBhbmQgaGFuZGxlIGFzIG5lZWRlZFxuICAgICAgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24udXNlci5pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLm5hbWUpIHtcbiAgICAgIGludGVyYWN0aW9uLm5hbWUgPSBwYXlsb2FkLm1lc3NhZ2UuaW50ZXJhY3Rpb24ubmFtZVxuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMudHlwZSkge1xuICAgICAgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQubWVzc2FnZS5pbnRlcmFjdGlvbi50eXBlXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmludGVyYWN0aW9uLnVzZXIpXG4gICAgfVxuXG4gICAgbWVzc2FnZS5pbnRlcmFjdGlvbiA9IGludGVyYWN0aW9uXG4gIH1cbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHVzZXJJZCAmJiBwYXlsb2FkLm1lc3NhZ2UubWVtYmVyKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogcGFydGlhbFxuICAgIG1lc3NhZ2UubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lc3NhZ2UubWVtYmVyLCBndWlsZElkLCB1c2VySWQpXG4gIGlmIChwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9ldmVyeW9uZSkgbWVzc2FnZS5tZW50aW9uRXZlcnlvbmUgPSB0cnVlXG4gIGlmIChwcm9wcy5tZW50aW9uZWRDaGFubmVsSWRzICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lc3NhZ2UubWVudGlvbl9jaGFubmVscyA/PyBbXSkubWFwKChtKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtLmlkKSksXG4gICAgICAvLyBBZGQgYW55IG90aGVyIGlkcyB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQgaW4gYSBjaGFubmVsIG1lbnRpb24gZm9ybWF0XG4gICAgICAuLi4ocGF5bG9hZC5tZXNzYWdlLmNvbnRlbnQ/Lm1hdGNoKENIQU5ORUxfTUVOVElPTl9SRUdFWCkgPz8gW10pLm1hcCgodGV4dCkgPT5cbiAgICAgICAgLy8gY29udmVydHMgdGhlIDwjMTIzPiBpbnRvIDEyM1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh0ZXh0LnN1YnN0cmluZygyLCB0ZXh0Lmxlbmd0aCAtIDEpKSxcbiAgICAgICksXG4gICAgXVxuICB9XG4gIGlmIChwcm9wcy5tZW50aW9uZWRSb2xlSWRzICYmIHBheWxvYWQubWVzc2FnZS5tZW50aW9uX3JvbGVzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5tZW50aW9uZWRSb2xlSWRzID0gcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25fcm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICBpZiAocHJvcHMubWVudGlvbnMgJiYgcGF5bG9hZC5tZXNzYWdlLm1lbnRpb25zPy5sZW5ndGgpIG1lc3NhZ2UubWVudGlvbnMgPSBwYXlsb2FkLm1lc3NhZ2UubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSlcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnbWVzc2FnZVJlZmVyZW5jZSddPlxuICAgIGNvbnN0IG1lc3NhZ2VSZWZlcmVuY2VQcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVJlZmVyZW5jZVxuXG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpXG4gICAgfVxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlLm1lc3NhZ2VfcmVmZXJlbmNlLm1lc3NhZ2VfaWQpXG4gICAgfVxuXG4gICAgbWVzc2FnZS5tZXNzYWdlUmVmZXJlbmNlID0gcmVmZXJlbmNlXG4gIH1cbiAgaWYgKHByb3BzLnJlZmVyZW5jZWRNZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZS5yZWZlcmVuY2VkX21lc3NhZ2UpXG4gICAgbWVzc2FnZS5yZWZlcmVuY2VkTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlLnJlZmVyZW5jZWRfbWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5tZXNzYWdlU25hcHNob3RzICYmIHBheWxvYWQubWVzc2FnZS5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZV9zbmFwc2hvdHMubWFwKChzbmFwKSA9PlxuICAgICAgYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCB7IG1lc3NhZ2VTbmFwc2hvdDogc25hcCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLm5vbmNlICYmIHBheWxvYWQubWVzc2FnZS5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubWVzc2FnZS5ub25jZVxuICBpZiAocGF5bG9hZC5tZXNzYWdlLnBpbm5lZCkgbWVzc2FnZS5waW5uZWQgPSB0cnVlXG4gIGlmIChwcm9wcy5yZWFjdGlvbnMgJiYgcGF5bG9hZC5tZXNzYWdlLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLm1lc3NhZ2UucmVhY3Rpb25zLm1hcCgocmVhY3Rpb24pID0+ICh7XG4gICAgICBtZTogcmVhY3Rpb24ubWUsXG4gICAgICBtZUJ1cnN0OiByZWFjdGlvbi5tZV9idXJzdCxcbiAgICAgIGNvdW50OiByZWFjdGlvbi5jb3VudCxcbiAgICAgIGNvdW50RGV0YWlsczoge1xuICAgICAgICBidXJzdDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5idXJzdCxcbiAgICAgICAgbm9ybWFsOiByZWFjdGlvbi5jb3VudF9kZXRhaWxzLm5vcm1hbCxcbiAgICAgIH0sXG4gICAgICBlbW9qaTogYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHJlYWN0aW9uLmVtb2ppKSxcbiAgICAgIGJ1cnN0Q29sb3JzOiByZWFjdGlvbi5idXJzdF9jb2xvcnMsXG4gICAgfSkpXG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLm1lc3NhZ2Uuc3RpY2tlcl9pdGVtcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2Uuc3RpY2tlckl0ZW1zID0gcGF5bG9hZC5tZXNzYWdlLnN0aWNrZXJfaXRlbXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGl0ZW0uaWQpLFxuICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgZm9ybWF0VHlwZTogaXRlbS5mb3JtYXRfdHlwZSxcbiAgICB9KSlcbiAgaWYgKHBheWxvYWQubWVzc2FnZS50dHMpIG1lc3NhZ2UudHRzID0gdHJ1ZVxuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQubWVzc2FnZS50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLm1lc3NhZ2UudGhyZWFkLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy50eXBlKSBtZXNzYWdlLnR5cGUgPSBwYXlsb2FkLm1lc3NhZ2UudHlwZVxuICBpZiAocHJvcHMud2ViaG9va0lkICYmIHBheWxvYWQubWVzc2FnZS53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZS53ZWJob29rX2lkKVxuICBpZiAocHJvcHMucG9sbCAmJiBwYXlsb2FkLm1lc3NhZ2UucG9sbCkgbWVzc2FnZS5wb2xsID0gYm90LnRyYW5zZm9ybWVycy5wb2xsKGJvdCwgcGF5bG9hZC5tZXNzYWdlLnBvbGwpXG4gIGlmIChwcm9wcy5jYWxsICYmIHBheWxvYWQubWVzc2FnZS5jYWxsKSBtZXNzYWdlLmNhbGwgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VDYWxsKGJvdCwgcGF5bG9hZC5tZXNzYWdlLmNhbGwpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgbWVzc2FnZSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VQaW4oYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VQaW4pOiBNZXNzYWdlUGluIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VQaW5cbiAgY29uc3QgbWVzc2FnZVBpbiA9IHt9IGFzIE1lc3NhZ2VQaW5cblxuICBpZiAocHJvcHMucGlubmVkQXQgJiYgcGF5bG9hZC5waW5uZWRfYXQpIG1lc3NhZ2VQaW4ucGlubmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucGlubmVkX2F0KVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIG1lc3NhZ2VQaW4ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVBpbihib3QsIHBheWxvYWQsIG1lc3NhZ2VQaW4pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgbWVzc2FnZVNuYXBzaG90OiBEaXNjb3JkTWVzc2FnZVNuYXBzaG90OyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lc3NhZ2VTbmFwc2hvdCB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlU25hcHNob3RcbiAgY29uc3QgbWVzc2FnZVNuYXBzaG90ID0ge30gYXMgTWVzc2FnZVNuYXBzaG90XG5cbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSlcbiAgICBtZXNzYWdlU25hcHNob3QubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5tZXNzYWdlU25hcHNob3QubWVzc2FnZSBhcyBEaXNjb3JkTWVzc2FnZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZC5tZXNzYWdlU25hcHNob3QsIG1lc3NhZ2VTbmFwc2hvdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhXG5cbiAgaWYgKHByb3BzLmlkKSBtZXRhZGF0YS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzKSB7XG4gICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLm9yaWdpbmFsX3Jlc3BvbnNlX21lc3NhZ2VfaWQpXG4gICAgbWV0YWRhdGEub3JpZ2luYWxSZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnR5cGUpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLnVzZXIgJiYgcGF5bG9hZC51c2VyKSBtZXRhZGF0YS51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuICAvLyBBcHBsaWNhdGlvbiBjb21tYW5kIG1ldGFkYXRhXG4gIGlmICgndGFyZ2V0X3VzZXInIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLnRhcmdldF91c2VyKSBtZXRhZGF0YS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpXG4gIH1cbiAgLy8gTWVzc2FnZSBjb21wb25lbnQgbWV0YWRhdGFcbiAgaWYgKCdpbnRlcmFjdGVkX21lc3NhZ2VfaWQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuaW50ZXJhY3RlZE1lc3NhZ2VJZCAmJiBwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgICAgIG1ldGFkYXRhLmludGVyYWN0ZWRNZXNzYWdlSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0ZWRfbWVzc2FnZV9pZClcbiAgfVxuICAvLyBNb2RhbCBzdWJtaXQgbWV0YWRhdGFcbiAgaWYgKCd0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICAgIG1ldGFkYXRhLnRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQudHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZCwgbWV0YWRhdGEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlQ2FsbChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5tZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBNZXNzYWdlQ2FsbFxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUNhbGxcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpXG4gIGlmIChwcm9wcy5lbmRlZFRpbWVzdGFtcCAmJiBwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcCkgY2FsbC5lbmRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lbmRlZF90aW1lc3RhbXApXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLCBjYWxsKVxufVxuIl0sIm5hbWVzIjpbImJhc2VNZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZSIsInRyYW5zZm9ybU1lc3NhZ2VDYWxsIiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwiRU1QVFlfU1RSSU5HIiwidW5kZWZpbmVkIiwiY3Jvc3Nwb3N0ZWQiLCJmbGFncyIsImNvbnRhaW5zIiwiTWVzc2FnZUZsYWdzIiwiQ3Jvc3Nwb3N0ZWQiLCJ2YWx1ZSIsImFkZCIsInJlbW92ZSIsImVwaGVtZXJhbCIsIkVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJoYXNUaHJlYWQiLCJIYXNUaHJlYWQiLCJpc0Nyb3NzcG9zdCIsIklzQ3Jvc3Nwb3N0IiwibG9hZGluZyIsIkxvYWRpbmciLCJtZW50aW9uZWRVc2VySWRzIiwibWVudGlvbnMiLCJtYXAiLCJ1c2VyIiwiaWQiLCJtZW50aW9uRXZlcnlvbmUiLCJiaXRmaWVsZCIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwiU291cmNlTWVzc2FnZURlbGV0ZWQiLCJzdXBwcmVzc0VtYmVkcyIsIlN1cHByZXNzRW1iZWRzIiwic3VwcHJlc3NOb3RpZmljYXRpb25zIiwiU3VwcHJlc3NOb3RpZmljYXRpb25zIiwidGltZXN0YW1wIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsIm1lc3NhZ2UiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXJJZCIsImF1dGhvciIsIk9iamVjdCIsImNyZWF0ZSIsIlRvZ2dsZUJpdGZpZWxkIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsImFwcGxpY2F0aW9uIiwic2hhcmRJZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwiYXR0YWNobWVudCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJjb21wb25lbnRzIiwiY29tcCIsImNvbXBvbmVudCIsImNvbnRlbnQiLCJlZGl0ZWRUaW1lc3RhbXAiLCJlZGl0ZWRfdGltZXN0YW1wIiwiRGF0ZSIsInBhcnNlIiwiZW1iZWRzIiwiZW1iZWQiLCJpbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb25fbWV0YWRhdGEiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsImludGVyYWN0aW9uIiwibWVzc2FnZUludGVyYWN0aW9uUHJvcHMiLCJtZXNzYWdlSW50ZXJhY3Rpb24iLCJtZW1iZXIiLCJuYW1lIiwidHlwZSIsIm1lbnRpb25fZXZlcnlvbmUiLCJtZW50aW9uZWRDaGFubmVsSWRzIiwibWVudGlvbl9jaGFubmVscyIsIm0iLCJtYXRjaCIsIkNIQU5ORUxfTUVOVElPTl9SRUdFWCIsInRleHQiLCJzdWJzdHJpbmciLCJtZW50aW9uZWRSb2xlSWRzIiwibWVudGlvbl9yb2xlcyIsIm1lc3NhZ2VSZWZlcmVuY2UiLCJtZXNzYWdlX3JlZmVyZW5jZSIsInJlZmVyZW5jZSIsIm1lc3NhZ2VSZWZlcmVuY2VQcm9wcyIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2VfaWQiLCJyZWZlcmVuY2VkTWVzc2FnZSIsInJlZmVyZW5jZWRfbWVzc2FnZSIsIm1lc3NhZ2VTbmFwc2hvdHMiLCJtZXNzYWdlX3NuYXBzaG90cyIsInNuYXAiLCJtZXNzYWdlU25hcHNob3QiLCJub25jZSIsInJlYWN0aW9ucyIsInJlYWN0aW9uIiwibWUiLCJtZUJ1cnN0IiwibWVfYnVyc3QiLCJjb3VudCIsImNvdW50RGV0YWlscyIsImJ1cnN0IiwiY291bnRfZGV0YWlscyIsIm5vcm1hbCIsImVtb2ppIiwiYnVyc3RDb2xvcnMiLCJidXJzdF9jb2xvcnMiLCJzdGlja2VySXRlbXMiLCJzdGlja2VyX2l0ZW1zIiwiaXRlbSIsImZvcm1hdFR5cGUiLCJmb3JtYXRfdHlwZSIsInRocmVhZCIsImNoYW5uZWwiLCJ3ZWJob29rSWQiLCJ3ZWJob29rX2lkIiwicG9sbCIsImNhbGwiLCJtZXNzYWdlQ2FsbCIsImN1c3RvbWl6ZXJzIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwibWV0YWRhdGEiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJvcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkIiwib3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZCIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldE1lc3NhZ2VJZCIsInRhcmdldF9tZXNzYWdlX2lkIiwiaW50ZXJhY3RlZE1lc3NhZ2VJZCIsImludGVyYWN0ZWRfbWVzc2FnZV9pZCIsInRyaWdnZXJpbmdJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJpZ2dlcmluZ19pbnRlcmFjdGlvbl9tZXRhZGF0YSIsInBhcnRpY2lwYW50cyIsIngiLCJlbmRlZFRpbWVzdGFtcCIsImVuZGVkX3RpbWVzdGFtcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUF3QmFBO2VBQUFBOztRQW9IR0M7ZUFBQUE7O1FBK0xBQztlQUFBQTs7UUExQ0FDO2VBQUFBOztRQXZCQUM7ZUFBQUE7O1FBVUFDO2VBQUFBOzs7dUJBM1FUOzJCQUMrQjt1QkFTL0I7Z0NBQ3dCO0FBRS9CLE1BQU1DLGVBQWU7QUFFZCxNQUFNTixjQUF3RTtJQUNuRiwyRUFBMkU7SUFDM0UsR0FBSU8sU0FBUztJQUViLElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU0MsbUJBQVksQ0FBQ0MsV0FBVyxLQUFLO0lBQzNEO0lBQ0EsSUFBSUosYUFBWUssTUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0osS0FBSyxFQUFFO1FBQ2pCLElBQUlJLE9BQU8sSUFBSSxDQUFDSixLQUFLLENB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
@@ -37,7 +37,8 @@ const MemberToggle = {
37
37
  /** Member has started Server Guide new member actions */ startedHomeActions: 1 << 8,
38
38
  /** Member has completed Server Guide new member actions */ completedHomeActions: 1 << 9,
39
39
  /** Member's username, display name, or nickname is blocked by AutoMod */ automodQuarantinedUsername: 1 << 10,
40
- /** Member has dismissed the DM settings upsell */ dmSettingsUpsellAcknowledged: 1 << 11
40
+ /** Member has dismissed the DM settings upsell */ dmSettingsUpsellAcknowledged: 1 << 11,
41
+ /** Member's guild tag is blocked by AutoMod */ automodQuarantinedGuildTag: 1 << 12
41
42
  };
42
43
  let MemberToggles = class MemberToggles extends _ToggleBitfield.ToggleBitfield {
43
44
  constructor(memberOrTogglesInt){
@@ -58,6 +59,7 @@ let MemberToggles = class MemberToggles extends _ToggleBitfield.ToggleBitfield {
58
59
  if (member.flags & _types.MemberFlags.CompletedHomeActions) this.add(MemberToggle.completedHomeActions);
59
60
  if (member.flags & _types.MemberFlags.AutomodQuarantinedUsername) this.add(MemberToggle.automodQuarantinedUsername);
60
61
  if (member.flags & _types.MemberFlags.DmSettingsUpsellAcknowledged) this.add(MemberToggle.dmSettingsUpsellAcknowledged);
62
+ if (member.flags & _types.MemberFlags.AutomodQuarantinedGuildTag) this.add(MemberToggle.automodQuarantinedGuildTag);
61
63
  }
62
64
  }
63
65
  }
@@ -72,6 +74,7 @@ let MemberToggles = class MemberToggles extends _ToggleBitfield.ToggleBitfield {
72
74
  if (this.completedHomeActions) flags |= _types.MemberFlags.CompletedHomeActions;
73
75
  if (this.automodQuarantinedUsername) flags |= _types.MemberFlags.AutomodQuarantinedUsername;
74
76
  if (this.dmSettingsUpsellAcknowledged) flags |= _types.MemberFlags.DmSettingsUpsellAcknowledged;
77
+ if (this.automodQuarantinedGuildTag) flags |= _types.MemberFlags.AutomodQuarantinedGuildTag;
75
78
  return flags;
76
79
  }
77
80
  /** Whether the user belongs to an OAuth2 application */ get deaf() {
@@ -110,6 +113,9 @@ let MemberToggles = class MemberToggles extends _ToggleBitfield.ToggleBitfield {
110
113
  /** Member has dismissed the DM settings upsell */ get dmSettingsUpsellAcknowledged() {
111
114
  return this.has('dmSettingsUpsellAcknowledged');
112
115
  }
116
+ /** Member's guild tag is blocked by AutoMod */ get automodQuarantinedGuildTag() {
117
+ return this.has('automodQuarantinedGuildTag');
118
+ }
113
119
  /** Checks whether or not the permissions exist in this */ has(permissions) {
114
120
  if (!Array.isArray(permissions)) return super.contains(MemberToggle[permissions]);
115
121
  return super.contains(permissions.reduce((a, b)=>a |= MemberToggle[b], 0));
@@ -123,4 +129,4 @@ let MemberToggles = class MemberToggles extends _ToggleBitfield.ToggleBitfield {
123
129
  }
124
130
  };
125
131
 
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9tZW1iZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkTWVtYmVyLCBNZW1iZXJGbGFncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBtZW1iZXJGbGFncyA9IFsnZGlkUmVqb2luJywgJ3N0YXJ0ZWRPbmJvYXJkaW5nJywgJ2J5cGFzc2VzVmVyaWZpY2F0aW9uJywgJ2NvbXBsZXRlZE9uYm9hcmRpbmcnXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgTWVtYmVyVG9nZ2xlID0ge1xuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmOiAxIDw8IDAsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU6IDEgPDwgMSxcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nOiAxIDw8IDIsXG5cbiAgLy8gTWVtYmVyIGZsYWdzXG5cbiAgLyoqIE1lbWJlciBoYXMgbGVmdCBhbmQgcmVqb2luZWQgdGhlIGd1aWxkICovXG4gIGRpZFJlam9pbjogMSA8PCAzLFxuICAvKiogTWVtYmVyIGhhcyBjb21wbGV0ZWQgb25ib2FyZGluZyAqL1xuICBzdGFydGVkT25ib2FyZGluZzogMSA8PCA0LFxuICAvKiogTWVtYmVyIGlzIGV4ZW1wdCBmcm9tIGd1aWxkIHZlcmlmaWNhdGlvbiByZXF1aXJlbWVudHMgKi9cbiAgYnlwYXNzZXNWZXJpZmljYXRpb246IDEgPDwgNSxcbiAgLyoqIE1lbWJlciBoYXMgc3RhcnRlZCBvbmJvYXJkaW5nICovXG4gIGNvbXBsZXRlZE9uYm9hcmRpbmc6IDEgPDwgNixcbiAgLyoqIE1lbWJlciBpcyBhIGd1ZXN0IGFuZCBjYW4gb25seSBhY2Nlc3MgdGhlIHZvaWNlIGNoYW5uZWwgdGhleSB3ZXJlIGludml0ZWQgdG8gKi9cbiAgaXNHdWVzdDogMSA8PCA3LFxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIFNlcnZlciBHdWlkZSBuZXcgbWVtYmVyIGFjdGlvbnMgKi9cbiAgc3RhcnRlZEhvbWVBY3Rpb25zOiAxIDw8IDgsXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBTZXJ2ZXIgR3VpZGUgbmV3IG1lbWJlciBhY3Rpb25zICovXG4gIGNvbXBsZXRlZEhvbWVBY3Rpb25zOiAxIDw8IDksXG4gIC8qKiBNZW1iZXIncyB1c2VybmFtZSwgZGlzcGxheSBuYW1lLCBvciBuaWNrbmFtZSBpcyBibG9ja2VkIGJ5IEF1dG9Nb2QgKi9cbiAgYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWU6IDEgPDwgMTAsXG4gIC8qKiBNZW1iZXIgaGFzIGRpc21pc3NlZCB0aGUgRE0gc2V0dGluZ3MgdXBzZWxsICovXG4gIGRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQ6IDEgPDwgMTEsXG59XG5cbmV4cG9ydCBjbGFzcyBNZW1iZXJUb2dnbGVzIGV4dGVuZHMgVG9nZ2xlQml0ZmllbGQge1xuICBjb25zdHJ1Y3RvcihtZW1iZXJPclRvZ2dsZXNJbnQ6IFBhcnRpYWw8RGlzY29yZE1lbWJlcj4gfCBudW1iZXIpIHtcbiAgICBzdXBlcigpXG5cbiAgICBpZiAodHlwZW9mIG1lbWJlck9yVG9nZ2xlc0ludCA9PT0gJ251bWJlcicpIHRoaXMuYml0ZmllbGQgPSBtZW1iZXJPclRvZ2dsZXNJbnRcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IG1lbWJlciA9IG1lbWJlck9yVG9nZ2xlc0ludFxuXG4gICAgICBpZiAobWVtYmVyLmRlYWYpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5kZWFmKVxuICAgICAgaWYgKG1lbWJlci5tdXRlKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUubXV0ZSlcbiAgICAgIGlmIChtZW1iZXIucGVuZGluZykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLnBlbmRpbmcpXG5cbiAgICAgIGlmIChtZW1iZXIuZmxhZ3MpIHtcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkRpZFJlam9pbikgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmRpZFJlam9pbilcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLlN0YXJ0ZWRPbmJvYXJkaW5nKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuc3RhcnRlZE9uYm9hcmRpbmcpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5CeXBhc3Nlc1ZlcmlmaWNhdGlvbikgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmJ5cGFzc2VzVmVyaWZpY2F0aW9uKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQ29tcGxldGVkT25ib2FyZGluZykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmNvbXBsZXRlZE9uYm9hcmRpbmcpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5Jc0d1ZXN0KSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuaXNHdWVzdClcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLlN0YXJ0ZWRIb21lQWN0aW9ucykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLnN0YXJ0ZWRIb21lQWN0aW9ucylcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkNvbXBsZXRlZEhvbWVBY3Rpb25zKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuY29tcGxldGVkSG9tZUFjdGlvbnMpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5BdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSkgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuRG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCkgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGZsYWdzKCk6IG51bWJlciB7XG4gICAgbGV0IGZsYWdzID0gMFxuXG4gICAgaWYgKHRoaXMuZGlkUmVqb2luKSBmbGFncyB8PSBNZW1iZXJGbGFncy5EaWRSZWpvaW5cbiAgICBpZiAodGhpcy5zdGFydGVkT25ib2FyZGluZykgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuU3RhcnRlZE9uYm9hcmRpbmdcbiAgICBpZiAodGhpcy5ieXBhc3Nlc1ZlcmlmaWNhdGlvbikgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuQnlwYXNzZXNWZXJpZmljYXRpb25cbiAgICBpZiAodGhpcy5jb21wbGV0ZWRPbmJvYXJkaW5nKSBmbGFncyB8PSBNZW1iZXJGbGFncy5Db21wbGV0ZWRPbmJvYXJkaW5nXG4gICAgaWYgKHRoaXMuaXNHdWVzdCkgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuSXNHdWVzdFxuICAgIGlmICh0aGlzLnN0YXJ0ZWRIb21lQWN0aW9ucykgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuU3RhcnRlZEhvbWVBY3Rpb25zXG4gICAgaWYgKHRoaXMuY29tcGxldGVkSG9tZUFjdGlvbnMpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkNvbXBsZXRlZEhvbWVBY3Rpb25zXG4gICAgaWYgKHRoaXMuYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lXG4gICAgaWYgKHRoaXMuZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCkgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuRG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZFxuXG4gICAgcmV0dXJuIGZsYWdzXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgdXNlciBiZWxvbmdzIHRvIGFuIE9BdXRoMiBhcHBsaWNhdGlvbiAqL1xuICBnZXQgZGVhZigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2RlYWYnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgbXV0ZWQgaW4gdm9pY2UgY2hhbm5lbHMgKi9cbiAgZ2V0IG11dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdtdXRlJylcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgZ2V0IHBlbmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdwZW5kaW5nJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGxlZnQgYW5kIHJlam9pbmVkIHRoZSBndWlsZCAqL1xuICBnZXQgZGlkUmVqb2luKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGlkUmVqb2luJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBvbmJvYXJkaW5nICovXG4gIGdldCBzdGFydGVkT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3N0YXJ0ZWRPbmJvYXJkaW5nJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaXMgZXhlbXB0IGZyb20gZ3VpbGQgdmVyaWZpY2F0aW9uIHJlcXVpcmVtZW50cyAqL1xuICBnZXQgYnlwYXNzZXNWZXJpZmljYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdieXBhc3Nlc1ZlcmlmaWNhdGlvbicpXG4gIH1cblxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIG9uYm9hcmRpbmcgKi9cbiAgZ2V0IGNvbXBsZXRlZE9uYm9hcmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjb21wbGV0ZWRPbmJvYXJkaW5nJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaXMgYSBndWVzdCBhbmQgY2FuIG9ubHkgYWNjZXNzIHRoZSB2b2ljZSBjaGFubmVsIHRoZXkgd2VyZSBpbnZpdGVkIHRvICovXG4gIGdldCBpc0d1ZXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnaXNHdWVzdCcpXG4gIH1cblxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIFNlcnZlciBHdWlkZSBuZXcgbWVtYmVyIGFjdGlvbnMgKi9cbiAgZ2V0IHN0YXJ0ZWRIb21lQWN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3N0YXJ0ZWRIb21lQWN0aW9ucycpXG4gIH1cblxuICAvKiogTWVtYmVyIGhhcyBjb21wbGV0ZWQgU2VydmVyIEd1aWRlIG5ldyBtZW1iZXIgYWN0aW9ucyAqL1xuICBnZXQgY29tcGxldGVkSG9tZUFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdjb21wbGV0ZWRIb21lQWN0aW9ucycpXG4gIH1cblxuICAvKiogTWVtYmVyJ3MgdXNlcm5hbWUsIGRpc3BsYXkgbmFtZSwgb3Igbmlja25hbWUgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGdldCBhdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGRpc21pc3NlZCB0aGUgRE0gc2V0dGluZ3MgdXBzZWxsICovXG4gIGdldCBkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCcpXG4gIH1cblxuICAvKiogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSBwZXJtaXNzaW9ucyBleGlzdCBpbiB0aGlzICovXG4gIGhhcyhwZXJtaXNzaW9uczogTWVtYmVyVG9nZ2xlS2V5cyB8IE1lbWJlclRvZ2dsZUtleXNbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwZXJtaXNzaW9ucykpIHJldHVybiBzdXBlci5jb250YWlucyhNZW1iZXJUb2dnbGVbcGVybWlzc2lvbnNdKVxuXG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKHBlcm1pc3Npb25zLnJlZHVjZSgoYSwgYikgPT4gKGEgfD0gTWVtYmVyVG9nZ2xlW2JdKSwgMCkpXG4gIH1cblxuICAvKiogTGlzdHMgYWxsIHRoZSB0b2dnbGVzIGZvciB0aGUgcm9sZSBhbmQgd2hldGhlciBvciBub3QgZWFjaCBpcyB0cnVlIG9yIGZhbHNlLiAqL1xuICBsaXN0KCk6IFJlY29yZDxNZW1iZXJUb2dnbGVLZXlzLCBib29sZWFuPiB7XG4gICAgY29uc3QganNvbjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKE1lbWJlclRvZ2dsZSkpIHtcbiAgICAgIGpzb25ba2V5XSA9IHN1cGVyLmNvbnRhaW5zKHZhbHVlKVxuICAgIH1cblxuICAgIHJldHVybiBqc29uIGFzIFJlY29yZDxNZW1iZXJUb2dnbGVLZXlzLCBib29sZWFuPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIE1lbWJlclRvZ2dsZUtleXMgPSBrZXlvZiB0eXBlb2YgTWVtYmVyVG9nZ2xlXG5cbmV4cG9ydCB0eXBlIE1lbWJlckZsYWdzS2V5cyA9ICh0eXBlb2YgbWVtYmVyRmxhZ3MpW251bWJlcl1cbiJdLCJuYW1lcyI6WyJNZW1iZXJUb2dnbGUiLCJNZW1iZXJUb2dnbGVzIiwibWVtYmVyRmxhZ3MiLCJkZWFmIiwibXV0ZSIsInBlbmRpbmciLCJkaWRSZWpvaW4iLCJzdGFydGVkT25ib2FyZGluZyIsImJ5cGFzc2VzVmVyaWZpY2F0aW9uIiwiY29tcGxldGVkT25ib2FyZGluZyIsImlzR3Vlc3QiLCJzdGFydGVkSG9tZUFjdGlvbnMiLCJjb21wbGV0ZWRIb21lQWN0aW9ucyIsImF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lIiwiZG1TZXR0aW5nc1Vwc2VsbEFja25vd2xlZGdlZCIsIlRvZ2dsZUJpdGZpZWxkIiwibWVtYmVyT3JUb2dnbGVzSW50IiwiYml0ZmllbGQiLCJtZW1iZXIiLCJhZGQiLCJmbGFncyIsIk1lbWJlckZsYWdzIiwiRGlkUmVqb2luIiwiU3RhcnRlZE9uYm9hcmRpbmciLCJCeXBhc3Nlc1ZlcmlmaWNhdGlvbiIsIkNvbXBsZXRlZE9uYm9hcmRpbmciLCJJc0d1ZXN0IiwiU3RhcnRlZEhvbWVBY3Rpb25zIiwiQ29tcGxldGVkSG9tZUFjdGlvbnMiLCJBdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSIsIkRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQiLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNvbnRhaW5zIiwicmVkdWNlIiwiYSIsImIiLCJsaXN0IiwianNvbiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBOEJBQztlQUFBQTs7O3VCQW5DbUM7Z0NBQ2pCO0FBRS9CLE1BQU1DLGNBQWM7SUFBQztJQUFhO0lBQXFCO0lBQXdCO0NBQXNCO0FBRTlGLE1BQU1GLGVBQWU7SUFDMUIsbURBQW1ELEdBQ25ERyxNQUFNLEtBQUs7SUFDWCxnREFBZ0QsR0FDaERDLE1BQU0sS0FBSztJQUNYLHNGQUFzRixHQUN0RkMsU0FBUyxLQUFLO0lBRWQsZUFBZTtJQUVmLDJDQUEyQyxHQUMzQ0MsV0FBVyxLQUFLO0lBQ2hCLG9DQUFvQyxHQUNwQ0MsbUJBQW1CLEtBQUs7SUFDeEIsMERBQTBELEdBQzFEQyxzQkFBc0IsS0FBSztJQUMzQixrQ0FBa0MsR0FDbENDLHFCQUFxQixLQUFLO0lBQzFCLGlGQUFpRixHQUNqRkMsU0FBUyxLQUFLO0lBQ2Qs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
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvdG9nZ2xlcy9tZW1iZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBEaXNjb3JkTWVtYmVyLCBNZW1iZXJGbGFncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuXG5jb25zdCBtZW1iZXJGbGFncyA9IFsnZGlkUmVqb2luJywgJ3N0YXJ0ZWRPbmJvYXJkaW5nJywgJ2J5cGFzc2VzVmVyaWZpY2F0aW9uJywgJ2NvbXBsZXRlZE9uYm9hcmRpbmcnXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgTWVtYmVyVG9nZ2xlID0ge1xuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmOiAxIDw8IDAsXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU6IDEgPDwgMSxcbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBwZW5kaW5nOiAxIDw8IDIsXG5cbiAgLy8gTWVtYmVyIGZsYWdzXG5cbiAgLyoqIE1lbWJlciBoYXMgbGVmdCBhbmQgcmVqb2luZWQgdGhlIGd1aWxkICovXG4gIGRpZFJlam9pbjogMSA8PCAzLFxuICAvKiogTWVtYmVyIGhhcyBjb21wbGV0ZWQgb25ib2FyZGluZyAqL1xuICBzdGFydGVkT25ib2FyZGluZzogMSA8PCA0LFxuICAvKiogTWVtYmVyIGlzIGV4ZW1wdCBmcm9tIGd1aWxkIHZlcmlmaWNhdGlvbiByZXF1aXJlbWVudHMgKi9cbiAgYnlwYXNzZXNWZXJpZmljYXRpb246IDEgPDwgNSxcbiAgLyoqIE1lbWJlciBoYXMgc3RhcnRlZCBvbmJvYXJkaW5nICovXG4gIGNvbXBsZXRlZE9uYm9hcmRpbmc6IDEgPDwgNixcbiAgLyoqIE1lbWJlciBpcyBhIGd1ZXN0IGFuZCBjYW4gb25seSBhY2Nlc3MgdGhlIHZvaWNlIGNoYW5uZWwgdGhleSB3ZXJlIGludml0ZWQgdG8gKi9cbiAgaXNHdWVzdDogMSA8PCA3LFxuICAvKiogTWVtYmVyIGhhcyBzdGFydGVkIFNlcnZlciBHdWlkZSBuZXcgbWVtYmVyIGFjdGlvbnMgKi9cbiAgc3RhcnRlZEhvbWVBY3Rpb25zOiAxIDw8IDgsXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBTZXJ2ZXIgR3VpZGUgbmV3IG1lbWJlciBhY3Rpb25zICovXG4gIGNvbXBsZXRlZEhvbWVBY3Rpb25zOiAxIDw8IDksXG4gIC8qKiBNZW1iZXIncyB1c2VybmFtZSwgZGlzcGxheSBuYW1lLCBvciBuaWNrbmFtZSBpcyBibG9ja2VkIGJ5IEF1dG9Nb2QgKi9cbiAgYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWU6IDEgPDwgMTAsXG4gIC8qKiBNZW1iZXIgaGFzIGRpc21pc3NlZCB0aGUgRE0gc2V0dGluZ3MgdXBzZWxsICovXG4gIGRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQ6IDEgPDwgMTEsXG4gIC8qKiBNZW1iZXIncyBndWlsZCB0YWcgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnOiAxIDw8IDEyLFxufVxuXG5leHBvcnQgY2xhc3MgTWVtYmVyVG9nZ2xlcyBleHRlbmRzIFRvZ2dsZUJpdGZpZWxkIHtcbiAgY29uc3RydWN0b3IobWVtYmVyT3JUb2dnbGVzSW50OiBQYXJ0aWFsPERpc2NvcmRNZW1iZXI+IHwgbnVtYmVyKSB7XG4gICAgc3VwZXIoKVxuXG4gICAgaWYgKHR5cGVvZiBtZW1iZXJPclRvZ2dsZXNJbnQgPT09ICdudW1iZXInKSB0aGlzLmJpdGZpZWxkID0gbWVtYmVyT3JUb2dnbGVzSW50XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBtZW1iZXIgPSBtZW1iZXJPclRvZ2dsZXNJbnRcblxuICAgICAgaWYgKG1lbWJlci5kZWFmKSB0aGlzLmFkZChNZW1iZXJUb2dnbGUuZGVhZilcbiAgICAgIGlmIChtZW1iZXIubXV0ZSkgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLm11dGUpXG4gICAgICBpZiAobWVtYmVyLnBlbmRpbmcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5wZW5kaW5nKVxuXG4gICAgICBpZiAobWVtYmVyLmZsYWdzKSB7XG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5EaWRSZWpvaW4pIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5kaWRSZWpvaW4pXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5TdGFydGVkT25ib2FyZGluZykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLnN0YXJ0ZWRPbmJvYXJkaW5nKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQnlwYXNzZXNWZXJpZmljYXRpb24pIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5ieXBhc3Nlc1ZlcmlmaWNhdGlvbilcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkNvbXBsZXRlZE9uYm9hcmRpbmcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5jb21wbGV0ZWRPbmJvYXJkaW5nKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuSXNHdWVzdCkgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmlzR3Vlc3QpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5TdGFydGVkSG9tZUFjdGlvbnMpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5zdGFydGVkSG9tZUFjdGlvbnMpXG4gICAgICAgIGlmIChtZW1iZXIuZmxhZ3MgJiBNZW1iZXJGbGFncy5Db21wbGV0ZWRIb21lQWN0aW9ucykgdGhpcy5hZGQoTWVtYmVyVG9nZ2xlLmNvbXBsZXRlZEhvbWVBY3Rpb25zKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5hdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSlcbiAgICAgICAgaWYgKG1lbWJlci5mbGFncyAmIE1lbWJlckZsYWdzLkRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5kbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKVxuICAgICAgICBpZiAobWVtYmVyLmZsYWdzICYgTWVtYmVyRmxhZ3MuQXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWcpIHRoaXMuYWRkKE1lbWJlclRvZ2dsZS5hdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgZmxhZ3MoKTogbnVtYmVyIHtcbiAgICBsZXQgZmxhZ3MgPSAwXG5cbiAgICBpZiAodGhpcy5kaWRSZWpvaW4pIGZsYWdzIHw9IE1lbWJlckZsYWdzLkRpZFJlam9pblxuICAgIGlmICh0aGlzLnN0YXJ0ZWRPbmJvYXJkaW5nKSBmbGFncyB8PSBNZW1iZXJGbGFncy5TdGFydGVkT25ib2FyZGluZ1xuICAgIGlmICh0aGlzLmJ5cGFzc2VzVmVyaWZpY2F0aW9uKSBmbGFncyB8PSBNZW1iZXJGbGFncy5CeXBhc3Nlc1ZlcmlmaWNhdGlvblxuICAgIGlmICh0aGlzLmNvbXBsZXRlZE9uYm9hcmRpbmcpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkNvbXBsZXRlZE9uYm9hcmRpbmdcbiAgICBpZiAodGhpcy5pc0d1ZXN0KSBmbGFncyB8PSBNZW1iZXJGbGFncy5Jc0d1ZXN0XG4gICAgaWYgKHRoaXMuc3RhcnRlZEhvbWVBY3Rpb25zKSBmbGFncyB8PSBNZW1iZXJGbGFncy5TdGFydGVkSG9tZUFjdGlvbnNcbiAgICBpZiAodGhpcy5jb21wbGV0ZWRIb21lQWN0aW9ucykgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuQ29tcGxldGVkSG9tZUFjdGlvbnNcbiAgICBpZiAodGhpcy5hdXRvbW9kUXVhcmFudGluZWRVc2VybmFtZSkgZmxhZ3MgfD0gTWVtYmVyRmxhZ3MuQXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWVcbiAgICBpZiAodGhpcy5kbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkKSBmbGFncyB8PSBNZW1iZXJGbGFncy5EbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkXG4gICAgaWYgKHRoaXMuYXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWcpIGZsYWdzIHw9IE1lbWJlckZsYWdzLkF1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnXG5cbiAgICByZXR1cm4gZmxhZ3NcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGJlbG9uZ3MgdG8gYW4gT0F1dGgyIGFwcGxpY2F0aW9uICovXG4gIGdldCBkZWFmKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnZGVhZicpXG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBnZXQgbXV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ211dGUnKVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaGFzIG5vdCB5ZXQgcGFzc2VkIHRoZSBndWlsZCdzIE1lbWJlcnNoaXAgU2NyZWVuaW5nIHJlcXVpcmVtZW50cyAqL1xuICBnZXQgcGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ3BlbmRpbmcnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBoYXMgbGVmdCBhbmQgcmVqb2luZWQgdGhlIGd1aWxkICovXG4gIGdldCBkaWRSZWpvaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkaWRSZWpvaW4nKVxuICB9XG5cbiAgLyoqIE1lbWJlciBoYXMgY29tcGxldGVkIG9uYm9hcmRpbmcgKi9cbiAgZ2V0IHN0YXJ0ZWRPbmJvYXJkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc3RhcnRlZE9uYm9hcmRpbmcnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBpcyBleGVtcHQgZnJvbSBndWlsZCB2ZXJpZmljYXRpb24gcmVxdWlyZW1lbnRzICovXG4gIGdldCBieXBhc3Nlc1ZlcmlmaWNhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2J5cGFzc2VzVmVyaWZpY2F0aW9uJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIHN0YXJ0ZWQgb25ib2FyZGluZyAqL1xuICBnZXQgY29tcGxldGVkT25ib2FyZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbXBsZXRlZE9uYm9hcmRpbmcnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBpcyBhIGd1ZXN0IGFuZCBjYW4gb25seSBhY2Nlc3MgdGhlIHZvaWNlIGNoYW5uZWwgdGhleSB3ZXJlIGludml0ZWQgdG8gKi9cbiAgZ2V0IGlzR3Vlc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdpc0d1ZXN0JylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIHN0YXJ0ZWQgU2VydmVyIEd1aWRlIG5ldyBtZW1iZXIgYWN0aW9ucyAqL1xuICBnZXQgc3RhcnRlZEhvbWVBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnc3RhcnRlZEhvbWVBY3Rpb25zJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIgaGFzIGNvbXBsZXRlZCBTZXJ2ZXIgR3VpZGUgbmV3IG1lbWJlciBhY3Rpb25zICovXG4gIGdldCBjb21wbGV0ZWRIb21lQWN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2NvbXBsZXRlZEhvbWVBY3Rpb25zJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIncyB1c2VybmFtZSwgZGlzcGxheSBuYW1lLCBvciBuaWNrbmFtZSBpcyBibG9ja2VkIGJ5IEF1dG9Nb2QgKi9cbiAgZ2V0IGF1dG9tb2RRdWFyYW50aW5lZFVzZXJuYW1lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhhcygnYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUnKVxuICB9XG5cbiAgLyoqIE1lbWJlciBoYXMgZGlzbWlzc2VkIHRoZSBETSBzZXR0aW5ncyB1cHNlbGwgKi9cbiAgZ2V0IGRtU2V0dGluZ3NVcHNlbGxBY2tub3dsZWRnZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzKCdkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkJylcbiAgfVxuXG4gIC8qKiBNZW1iZXIncyBndWlsZCB0YWcgaXMgYmxvY2tlZCBieSBBdXRvTW9kICovXG4gIGdldCBhdXRvbW9kUXVhcmFudGluZWRHdWlsZFRhZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXMoJ2F1dG9tb2RRdWFyYW50aW5lZEd1aWxkVGFnJylcbiAgfVxuXG4gIC8qKiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhlIHBlcm1pc3Npb25zIGV4aXN0IGluIHRoaXMgKi9cbiAgaGFzKHBlcm1pc3Npb25zOiBNZW1iZXJUb2dnbGVLZXlzIHwgTWVtYmVyVG9nZ2xlS2V5c1tdKTogYm9vbGVhbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBlcm1pc3Npb25zKSkgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKE1lbWJlclRvZ2dsZVtwZXJtaXNzaW9uc10pXG5cbiAgICByZXR1cm4gc3VwZXIuY29udGFpbnMocGVybWlzc2lvbnMucmVkdWNlKChhLCBiKSA9PiAoYSB8PSBNZW1iZXJUb2dnbGVbYl0pLCAwKSlcbiAgfVxuXG4gIC8qKiBMaXN0cyBhbGwgdGhlIHRvZ2dsZXMgZm9yIHRoZSByb2xlIGFuZCB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHRydWUgb3IgZmFsc2UuICovXG4gIGxpc3QoKTogUmVjb3JkPE1lbWJlclRvZ2dsZUtleXMsIGJvb2xlYW4+IHtcbiAgICBjb25zdCBqc29uOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoTWVtYmVyVG9nZ2xlKSkge1xuICAgICAganNvbltrZXldID0gc3VwZXIuY29udGFpbnModmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIGpzb24gYXMgUmVjb3JkPE1lbWJlclRvZ2dsZUtleXMsIGJvb2xlYW4+XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgTWVtYmVyVG9nZ2xlS2V5cyA9IGtleW9mIHR5cGVvZiBNZW1iZXJUb2dnbGVcblxuZXhwb3J0IHR5cGUgTWVtYmVyRmxhZ3NLZXlzID0gKHR5cGVvZiBtZW1iZXJGbGFncylbbnVtYmVyXVxuIl0sIm5hbWVzIjpbIk1lbWJlclRvZ2dsZSIsIk1lbWJlclRvZ2dsZXMiLCJtZW1iZXJGbGFncyIsImRlYWYiLCJtdXRlIiwicGVuZGluZyIsImRpZFJlam9pbiIsInN0YXJ0ZWRPbmJvYXJkaW5nIiwiYnlwYXNzZXNWZXJpZmljYXRpb24iLCJjb21wbGV0ZWRPbmJvYXJkaW5nIiwiaXNHdWVzdCIsInN0YXJ0ZWRIb21lQWN0aW9ucyIsImNvbXBsZXRlZEhvbWVBY3Rpb25zIiwiYXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUiLCJkbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkIiwiYXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWciLCJUb2dnbGVCaXRmaWVsZCIsIm1lbWJlck9yVG9nZ2xlc0ludCIsImJpdGZpZWxkIiwibWVtYmVyIiwiYWRkIiwiZmxhZ3MiLCJNZW1iZXJGbGFncyIsIkRpZFJlam9pbiIsIlN0YXJ0ZWRPbmJvYXJkaW5nIiwiQnlwYXNzZXNWZXJpZmljYXRpb24iLCJDb21wbGV0ZWRPbmJvYXJkaW5nIiwiSXNHdWVzdCIsIlN0YXJ0ZWRIb21lQWN0aW9ucyIsIkNvbXBsZXRlZEhvbWVBY3Rpb25zIiwiQXV0b21vZFF1YXJhbnRpbmVkVXNlcm5hbWUiLCJEbVNldHRpbmdzVXBzZWxsQWNrbm93bGVkZ2VkIiwiQXV0b21vZFF1YXJhbnRpbmVkR3VpbGRUYWciLCJoYXMiLCJwZXJtaXNzaW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImNvbnRhaW5zIiwicmVkdWNlIiwiYSIsImIiLCJsaXN0IiwianNvbiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFLYUE7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7O3VCQXJDbUM7Z0NBQ2pCO0FBRS9CLE1BQU1DLGNBQWM7SUFBQztJQUFhO0lBQXFCO0lBQXdCO0NBQXNCO0FBRTlGLE1BQU1GLGVBQWU7SUFDMUIsbURBQW1ELEdBQ25ERyxNQUFNLEtBQUs7SUFDWCxnREFBZ0QsR0FDaERDLE1BQU0sS0FBSztJQUNYLHNGQUFzRixHQUN0RkMsU0FBUyxLQUFLO0lBRWQsZUFBZTtJQUVmLDJDQUEyQyxHQUMzQ0MsV0FBVyxLQUFLO0lBQ2hCLG9DQUFvQyxHQUNwQ0MsbUJBQW1CLEtBQUs7SUFDeEIsMERBQTBELEdBQzFEQyxzQkFBc0IsS0FBSztJQUMzQixrQ0FBa0MsR0FDbENDLHFCQUFxQixLQUFLO0lBQzFCLGlGQUFpRixHQUNqRkMsU0FBUyxLQUFLO0lBQ2QsdURBQXVELEdBQ3ZEQyxvQkFBb0IsS0FBSztJQUN6Qix5REFBeUQsR0FDekRDLHNCQUFzQixLQUFLO0lBQzNCLHVFQUF1RSxHQUN2RUMsNEJBQTRCLEtBQUs7SUFDakMsZ0RBQWdELEdBQ2hEQyw4QkFBOEIsS0FBSztJQUNuQyw2Q0FBNkMsR0FDN0NDLDRCQUE0QixLQUFLO0FBQ25DO0FBRU8sSUFBQSxBQUFNZCxnQkFBTixNQUFNQSxzQkFBc0JlLDhCQUFjO0lBQy9DLFlBQVlDLGtCQUFtRCxDQUFFO1FBQy9ELEtBQUs7UUFFTCxJQUFJLE9BQU9BLHVCQUF1QixVQUFVLElBQUksQ0FBQ0MsUUFBUSxHQUFHRDthQUN2RDtZQUNILE1BQU1FLFNBQVNGO1lBRWYsSUFBSUUsT0FBT2hCLElBQUksRUFBRSxJQUFJLENBQUNpQixHQUFHLENBQUNwQixhQUFhRyxJQUFJO1lBQzNDLElBQUlnQixP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
@@ -1,3 +1,3 @@
1
1
  export { };
2
2
 
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkR2F0ZXdheVBheWxvYWQsIERpc2NvcmRSZWFkeSwgRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdEFuaW1hdGlvblR5cGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBBdWRpdExvZ0VudHJ5LFxuICBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgQXV0b01vZGVyYXRpb25SdWxlLFxuICBDaGFubmVsLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEd1aWxkLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBJbnRlZ3JhdGlvbixcbiAgSW50ZXJhY3Rpb24sXG4gIEludml0ZSxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxuICBQcmVzZW5jZVVwZGF0ZSxcbiAgUm9sZSxcbiAgU2NoZWR1bGVkRXZlbnQsXG4gIFNvdW5kYm9hcmRTb3VuZCxcbiAgU3RpY2tlcixcbiAgU3Vic2NyaXB0aW9uLFxuICBUaHJlYWRNZW1iZXIsXG4gIFVzZXIsXG4gIFZvaWNlU3RhdGUsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3R5cGVzLmpzJ1xuXG5leHBvcnQgdHlwZSBFdmVudEhhbmRsZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgZGVidWc6ICh0ZXh0OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB1bmtub3duXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVXBkYXRlOiAoY29tbWFuZDogR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucykgPT4gdW5rbm93blxuICBndWlsZEF1ZGl0TG9nRW50cnlDcmVhdGU6IChsb2c6IEF1ZGl0TG9nRW50cnksIGd1aWxkSWQ6IGJpZ2ludCkgPT4gdW5rbm93blxuICBhdXRvbW9kUnVsZUNyZWF0ZTogKHJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gdW5rbm93blxuICBhdXRvbW9kUnVsZVVwZGF0ZTogKHJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gdW5rbm93blxuICBhdXRvbW9kUnVsZURlbGV0ZTogKHJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gdW5rbm93blxuICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiAocGF5bG9hZDogQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24pID0+IHVua25vd25cbiAgdGhyZWFkQ3JlYXRlOiAodGhyZWFkOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgdGhyZWFkRGVsZXRlOiAodGhyZWFkOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgdGhyZWFkTGlzdFN5bmM6IChwYXlsb2FkOiB7XG4gICAgZ3VpbGRJZDogYmlnaW50XG4gICAgY2hhbm5lbElkcz86IGJpZ2ludFtdXG4gICAgdGhyZWFkczogU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+W11cbiAgICBtZW1iZXJzOiBUaHJlYWRNZW1iZXJbXVxuICB9KSA9PiB1bmtub3duXG4gIHRocmVhZE1lbWJlclVwZGF0ZTogKHBheWxvYWQ6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBqb2luZWRBdDogbnVtYmVyOyBmbGFnczogbnVtYmVyIH0pID0+IHVua25vd25cbiAgdGhyZWFkTWVtYmVyc1VwZGF0ZTogKHBheWxvYWQ6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBhZGRlZE1lbWJlcnM/OiBUaHJlYWRNZW1iZXJbXTsgcmVtb3ZlZE1lbWJlcklkcz86IGJpZ2ludFtdIH0pID0+IHVua25vd25cbiAgdGhyZWFkVXBkYXRlOiAodGhyZWFkOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgc2NoZWR1bGVkRXZlbnRDcmVhdGU6IChldmVudDogU2V0dXBEZXNpcmVkUHJvcHM8U2NoZWR1bGVkRXZlbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzY2hlZHVsZWRFdmVudFVwZGF0ZTogKGV2ZW50OiBTZXR1cERlc2lyZWRQcm9wczxTY2hlZHVsZWRFdmVudCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50RGVsZXRlOiAoZXZlbnQ6IFNldHVwRGVzaXJlZFByb3BzPFNjaGVkdWxlZEV2ZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgc2NoZWR1bGVkRXZlbnRVc2VyQWRkOiAocGF5bG9hZDogeyBndWlsZFNjaGVkdWxlZEV2ZW50SWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyB1c2VySWQ6IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50VXNlclJlbW92ZTogKHBheWxvYWQ6IHsgZ3VpbGRTY2hlZHVsZWRFdmVudElkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgdXNlcklkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICByZWFkeTogKFxuICAgIHBheWxvYWQ6IHtcbiAgICAgIHNoYXJkSWQ6IG51bWJlclxuICAgICAgdjogbnVtYmVyXG4gICAgICB1c2VyOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgIGd1aWxkczogYmlnaW50W11cbiAgICAgIHNlc3Npb25JZDogc3RyaW5nXG4gICAgICBzaGFyZD86IG51bWJlcltdXG4gICAgICBhcHBsaWNhdGlvbklkOiBiaWdpbnRcbiAgICB9LFxuICAgIHJhd1BheWxvYWQ6IERpc2NvcmRSZWFkeSxcbiAgKSA9PiB1bmtub3duXG4gIGludGVyYWN0aW9uQ3JlYXRlOiAoaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgaW50ZWdyYXRpb25DcmVhdGU6IChpbnRlZ3JhdGlvbjogSW50ZWdyYXRpb24pID0+IHVua25vd25cbiAgaW50ZWdyYXRpb25EZWxldGU6IChwYXlsb2FkOiB7IGlkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgYXBwbGljYXRpb25JZD86IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIGludGVncmF0aW9uVXBkYXRlOiAocGF5bG9hZDogeyBndWlsZElkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBpbnZpdGVDcmVhdGU6IChpbnZpdGU6IFNldHVwRGVzaXJlZFByb3BzPEludml0ZSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGludml0ZURlbGV0ZTogKHBheWxvYWQ6IHsgY2hhbm5lbElkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQ7IGNvZGU6IHN0cmluZyB9KSA9PiB1bmtub3duXG4gIGd1aWxkTWVtYmVyQWRkOiAobWVtYmVyOiBTZXR1cERlc2lyZWRQcm9wczxNZW1iZXIsIFRQcm9wcywgVEJlaGF2aW9yPiwgdXNlcjogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGd1aWxkTWVtYmVyUmVtb3ZlOiAodXNlcjogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+LCBndWlsZElkOiBiaWdpbnQpID0+IHVua25vd25cbiAgZ3VpbGRNZW1iZXJVcGRhdGU6IChtZW1iZXI6IFNldHVwRGVzaXJlZFByb3BzPE1lbWJlciwgVFByb3BzLCBUQmVoYXZpb3I+LCB1c2VyOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgZ3VpbGRTdGlja2Vyc1VwZGF0ZTogKHBheWxvYWQ6IHsgZ3VpbGRJZDogYmlnaW50OyBzdGlja2VyczogU2V0dXBEZXNpcmVkUHJvcHM8U3RpY2tlciwgVFByb3BzLCBUQmVoYXZpb3I+W10gfSkgPT4gdW5rbm93blxuICBtZXNzYWdlQ3JlYXRlOiAobWVzc2FnZTogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIG1lc3NhZ2VEZWxldGU6IChwYXlsb2FkOiB7IGlkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyBndWlsZElkPzogYmlnaW50IH0sIG1lc3NhZ2U/OiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgbWVzc2FnZURlbGV0ZUJ1bGs6IChwYXlsb2FkOiB7IGlkczogYmlnaW50W107IGNoYW5uZWxJZDogYmlnaW50OyBndWlsZElkPzogYmlnaW50IH0pID0+IHVua25vd25cbiAgbWVzc2FnZVVwZGF0ZTogKG1lc3NhZ2U6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2UsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICByZWFjdGlvbkFkZDogKHBheWxvYWQ6IHtcbiAgICB1c2VySWQ6IGJpZ2ludFxuICAgIGNoYW5uZWxJZDogYmlnaW50XG4gICAgbWVzc2FnZUlkOiBiaWdpbnRcbiAgICBndWlsZElkPzogYmlnaW50XG4gICAgbWVtYmVyPzogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICB1c2VyPzogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgZW1vamk6IFNldHVwRGVzaXJlZFByb3BzPEVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICBtZXNzYWdlQXV0aG9ySWQ/OiBiaWdpbnRcbiAgICBidXJzdDogYm9vbGVhblxuICAgIGJ1cnN0Q29sb3JzPzogc3RyaW5nW11cbiAgfSkgPT4gdW5rbm93blxuICByZWFjdGlvblJlbW92ZTogKHBheWxvYWQ6IHtcbiAgICB1c2VySWQ6IGJpZ2ludFxuICAgIGNoYW5uZWxJZDogYmlnaW50XG4gICAgbWVzc2FnZUlkOiBiaWdpbnRcbiAgICBndWlsZElkPzogYmlnaW50XG4gICAgZW1vamk6IFNldHVwRGVzaXJlZFByb3BzPEVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICBidXJzdDogYm9vbGVhblxuICB9KSA9PiB1bmtub3duXG4gIHJlYWN0aW9uUmVtb3ZlRW1vamk6IChwYXlsb2FkOiB7XG4gICAgY2hhbm5lbElkOiBiaWdpbnRcbiAgICBtZXNzYWdlSWQ6IGJpZ2ludFxuICAgIGd1aWxkSWQ/OiBiaWdpbnRcbiAgICBlbW9qaTogU2V0dXBEZXNpcmVkUHJvcHM8RW1vamksIFRQcm9wcywgVEJlaGF2aW9yPlxuICB9KSA9PiB1bmtub3duXG4gIHJlYWN0aW9uUmVtb3ZlQWxsOiAocGF5bG9hZDogeyBjaGFubmVsSWQ6IGJpZ2ludDsgbWVzc2FnZUlkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBwcmVzZW5jZVVwZGF0ZTogKHByZXNlbmNlOiBQcmVzZW5jZVVwZGF0ZSkgPT4gdW5rbm93blxuICB2b2ljZUNoYW5uZWxFZmZlY3RTZW5kOiAocGF5bG9hZDoge1xuICAgIGNoYW5uZWxJZDogYmlnaW50XG4gICAgZ3VpbGRJZDogYmlnaW50XG4gICAgdXNlcklkOiBiaWdpbnRcbiAgICBlbW9qaT86IFNldHVwRGVzaXJlZFByb3BzPEVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICBhbmltYXRpb25UeXBlPzogRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdEFuaW1hdGlvblR5cGVcbiAgICBhbmltYXRpb25JZD86IG51bWJlclxuICAgIHNvdW5kSWQ/OiBiaWdpbnQgfCBudW1iZXJcbiAgICBzb3VuZFZvbHVtZT86IG51bWJlclxuICB9KSA9PiB1bmtub3duXG4gIHZvaWNlU2VydmVyVXBkYXRlOiAocGF5bG9hZDogeyB0b2tlbjogc3RyaW5nOyBlbmRwb2ludD86IHN0cmluZzsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgdm9pY2VTdGF0ZVVwZGF0ZTogKHZvaWNlU3RhdGU6IFNldHVwRGVzaXJlZFByb3BzPFZvaWNlU3RhdGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBjaGFubmVsQ3JlYXRlOiAoY2hhbm5lbDogU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGRpc3BhdGNoUmVxdWlyZW1lbnRzOiAoZGF0YTogRGlzY29yZEdhdGV3YXlQYXlsb2FkLCBzaGFyZElkOiBudW1iZXIpID0+IHVua25vd25cbiAgY2hhbm5lbERlbGV0ZTogKGNoYW5uZWw6IFNldHVwRGVzaXJlZFByb3BzPENoYW5uZWwsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBjaGFubmVsUGluc1VwZGF0ZTogKGRhdGE6IHsgZ3VpbGRJZD86IGJpZ2ludDsgY2hhbm5lbElkOiBiaWdpbnQ7IGxhc3RQaW5UaW1lc3RhbXA/OiBudW1iZXIgfSkgPT4gdW5rbm93blxuICBjaGFubmVsVXBkYXRlOiAoY2hhbm5lbDogU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHN0YWdlSW5zdGFuY2VDcmVhdGU6IChkYXRhOiB7IGlkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgY2hhbm5lbElkOiBiaWdpbnQ7IHRvcGljOiBzdHJpbmcgfSkgPT4gdW5rbm93blxuICBzdGFnZUluc3RhbmNlRGVsZXRlOiAoZGF0YTogeyBpZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyB0b3BpYzogc3RyaW5nIH0pID0+IHVua25vd25cbiAgc3RhZ2VJbnN0YW5jZVVwZGF0ZTogKGRhdGE6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgdG9waWM6IHN0cmluZyB9KSA9PiB1bmtub3duXG4gIGd1aWxkRW1vamlzVXBkYXRlOiAocGF5bG9hZDoge1xuICAgIGd1aWxkSWQ6IGJpZ2ludFxuICAgIGVtb2ppczogQ29sbGVjdGlvbjxiaWdpbnQsIFNldHVwRGVzaXJlZFByb3BzPEVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj4+XG4gIH0pID0+IHVua25vd25cbiAgZ3VpbGRCYW5BZGQ6ICh1c2VyOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4sIGd1aWxkSWQ6IGJpZ2ludCkgPT4gdW5rbm93blxuICBndWlsZEJhblJlbW92ZTogKHVzZXI6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPiwgZ3VpbGRJZDogYmlnaW50KSA9PiB1bmtub3duXG4gIGd1aWxkQ3JlYXRlOiAoZ3VpbGQ6IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgZ3VpbGREZWxldGU6IChpZDogYmlnaW50LCBzaGFyZElkOiBudW1iZXIpID0+IHVua25vd25cbiAgZ3VpbGRVbmF2YWlsYWJsZTogKGlkOiBiaWdpbnQsIHNoYXJkSWQ6IG51bWJlcikgPT4gdW5rbm93blxuICBndWlsZFVwZGF0ZTogKGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHJhdzogKGRhdGE6IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgc2hhcmRJZDogbnVtYmVyKSA9PiB1bmtub3duXG4gIHJvbGVDcmVhdGU6IChyb2xlOiBTZXR1cERlc2lyZWRQcm9wczxSb2xlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgcm9sZURlbGV0ZTogKHBheWxvYWQ6IHsgZ3VpbGRJZDogYmlnaW50OyByb2xlSWQ6IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIHJvbGVVcGRhdGU6IChyb2xlOiBTZXR1cERlc2lyZWRQcm9wczxSb2xlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgd2ViaG9va3NVcGRhdGU6IChwYXlsb2FkOiB7IGNoYW5uZWxJZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBib3RVcGRhdGU6ICh1c2VyOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgdHlwaW5nU3RhcnQ6IChwYXlsb2FkOiB7XG4gICAgZ3VpbGRJZDogYmlnaW50IHwgdW5kZWZpbmVkXG4gICAgY2hhbm5lbElkOiBiaWdpbnRcbiAgICB1c2VySWQ6IGJpZ2ludFxuICAgIHRpbWVzdGFtcDogbnVtYmVyXG4gICAgbWVtYmVyOiBTZXR1cERlc2lyZWRQcm9wczxNZW1iZXIsIFRQcm9wcywgVEJlaGF2aW9yPiB8IHVuZGVmaW5lZFxuICB9KSA9PiB1bmtub3duXG4gIGVudGl0bGVtZW50Q3JlYXRlOiAoZW50aXRsZW1lbnQ6IFNldHVwRGVzaXJlZFByb3BzPEVudGl0bGVtZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgZW50aXRsZW1lbnRVcGRhdGU6IChlbnRpdGxlbWVudDogU2V0dXBEZXNpcmVkUHJvcHM8RW50aXRsZW1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBlbnRpdGxlbWVudERlbGV0ZTogKGVudGl0bGVtZW50OiBTZXR1cERlc2lyZWRQcm9wczxFbnRpdGxlbWVudCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHN1YnNjcmlwdGlvbkNyZWF0ZTogKHN1YnNjcmlwdGlvbjogU2V0dXBEZXNpcmVkUHJvcHM8U3Vic2NyaXB0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgc3Vic2NyaXB0aW9uVXBkYXRlOiAoc3Vic2NyaXB0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxTdWJzY3JpcHRpb24sIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzdWJzY3JpcHRpb25EZWxldGU6IChzdWJzY3JpcHRpb246IFNldHVwRGVzaXJlZFByb3BzPFN1YnNjcmlwdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIG1lc3NhZ2VQb2xsVm90ZUFkZDogKHBheWxvYWQ6IHsgdXNlcklkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyBtZXNzYWdlSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludDsgYW5zd2VySWQ6IG51bWJlciB9KSA9PiB1bmtub3duXG4gIG1lc3NhZ2VQb2xsVm90ZVJlbW92ZTogKHBheWxvYWQ6IHsgdXNlcklkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyBtZXNzYWdlSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludDsgYW5zd2VySWQ6IG51bWJlciB9KSA9PiB1bmtub3duXG4gIHNvdW5kYm9hcmRTb3VuZENyZWF0ZTogKHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPFNvdW5kYm9hcmRTb3VuZCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHNvdW5kYm9hcmRTb3VuZFVwZGF0ZTogKHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPFNvdW5kYm9hcmRTb3VuZCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHNvdW5kYm9hcmRTb3VuZERlbGV0ZTogKHBheWxvYWQ6IHsgc291bmRJZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBzb3VuZGJvYXJkU291bmRzVXBkYXRlOiAocGF5bG9hZDogeyBzb3VuZGJvYXJkU291bmRzOiBTZXR1cERlc2lyZWRQcm9wczxTb3VuZGJvYXJkU291bmQsIFRQcm9wcywgVEJlaGF2aW9yPltdOyBndWlsZElkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBzb3VuZGJvYXJkU291bmRzOiAocGF5bG9hZDogeyBzb3VuZGJvYXJkU291bmRzOiBTZXR1cERlc2lyZWRQcm9wczxTb3VuZGJvYXJkU291bmQsIFRQcm9wcywgVEJlaGF2aW9yPltdOyBndWlsZElkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCQSxXQXNJQyJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkR2F0ZXdheVBheWxvYWQsIERpc2NvcmRSZWFkeSwgRGlzY29yZFZvaWNlQ2hhbm5lbEVmZmVjdEFuaW1hdGlvblR5cGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUge1xuICBBdWRpdExvZ0VudHJ5LFxuICBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgQXV0b01vZGVyYXRpb25SdWxlLFxuICBDaGFubmVsLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEd1aWxkLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBJbnRlZ3JhdGlvbixcbiAgSW50ZXJhY3Rpb24sXG4gIEludml0ZSxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxuICBQcmVzZW5jZVVwZGF0ZSxcbiAgUm9sZSxcbiAgU2NoZWR1bGVkRXZlbnQsXG4gIFNvdW5kYm9hcmRTb3VuZCxcbiAgU3RpY2tlcixcbiAgU3Vic2NyaXB0aW9uLFxuICBUaHJlYWRNZW1iZXIsXG4gIFVzZXIsXG4gIFZvaWNlU3RhdGUsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3R5cGVzLmpzJ1xuXG5leHBvcnQgdHlwZSBFdmVudEhhbmRsZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgZGVidWc6ICh0ZXh0OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSA9PiB1bmtub3duXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zVXBkYXRlOiAoY29tbWFuZDogR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucykgPT4gdW5rbm93blxuICBndWlsZEF1ZGl0TG9nRW50cnlDcmVhdGU6IChsb2c6IEF1ZGl0TG9nRW50cnksIGd1aWxkSWQ6IGJpZ2ludCkgPT4gdW5rbm93blxuICBhdXRvbW9kUnVsZUNyZWF0ZTogKHJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gdW5rbm93blxuICBhdXRvbW9kUnVsZVVwZGF0ZTogKHJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gdW5rbm93blxuICBhdXRvbW9kUnVsZURlbGV0ZTogKHJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gdW5rbm93blxuICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiAocGF5bG9hZDogQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24pID0+IHVua25vd25cbiAgdGhyZWFkQ3JlYXRlOiAodGhyZWFkOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgdGhyZWFkRGVsZXRlOiAodGhyZWFkOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgdGhyZWFkTGlzdFN5bmM6IChwYXlsb2FkOiB7XG4gICAgZ3VpbGRJZDogYmlnaW50XG4gICAgY2hhbm5lbElkcz86IGJpZ2ludFtdXG4gICAgdGhyZWFkczogU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+W11cbiAgICBtZW1iZXJzOiBUaHJlYWRNZW1iZXJbXVxuICB9KSA9PiB1bmtub3duXG4gIHRocmVhZE1lbWJlclVwZGF0ZTogKHBheWxvYWQ6IHtcbiAgICBpZDogYmlnaW50XG4gICAgZ3VpbGRJZDogYmlnaW50XG4gICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxuICAgIC8qKiBAZGVwcmVjYXRlZCBVc2Ugam9pbmVkVGltZXN0YW1wICovXG4gICAgam9pbmVkQXQ6IG51bWJlclxuICAgIGpvaW5lZFRpbWVzdGFtcDogbnVtYmVyXG4gICAgZmxhZ3M6IG51bWJlclxuICB9KSA9PiB1bmtub3duXG4gIHRocmVhZE1lbWJlcnNVcGRhdGU6IChwYXlsb2FkOiB7IGlkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgYWRkZWRNZW1iZXJzPzogVGhyZWFkTWVtYmVyW107IHJlbW92ZWRNZW1iZXJJZHM/OiBiaWdpbnRbXSB9KSA9PiB1bmtub3duXG4gIHRocmVhZFVwZGF0ZTogKHRocmVhZDogU2V0dXBEZXNpcmVkUHJvcHM8Q2hhbm5lbCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50Q3JlYXRlOiAoZXZlbnQ6IFNldHVwRGVzaXJlZFByb3BzPFNjaGVkdWxlZEV2ZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgc2NoZWR1bGVkRXZlbnRVcGRhdGU6IChldmVudDogU2V0dXBEZXNpcmVkUHJvcHM8U2NoZWR1bGVkRXZlbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzY2hlZHVsZWRFdmVudERlbGV0ZTogKGV2ZW50OiBTZXR1cERlc2lyZWRQcm9wczxTY2hlZHVsZWRFdmVudCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50VXNlckFkZDogKHBheWxvYWQ6IHsgZ3VpbGRTY2hlZHVsZWRFdmVudElkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgdXNlcklkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBzY2hlZHVsZWRFdmVudFVzZXJSZW1vdmU6IChwYXlsb2FkOiB7IGd1aWxkU2NoZWR1bGVkRXZlbnRJZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQ7IHVzZXJJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgcmVhZHk6IChcbiAgICBwYXlsb2FkOiB7XG4gICAgICBzaGFyZElkOiBudW1iZXJcbiAgICAgIHY6IG51bWJlclxuICAgICAgdXNlcjogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICBndWlsZHM6IGJpZ2ludFtdXG4gICAgICBzZXNzaW9uSWQ6IHN0cmluZ1xuICAgICAgc2hhcmQ/OiBudW1iZXJbXVxuICAgICAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gICAgfSxcbiAgICByYXdQYXlsb2FkOiBEaXNjb3JkUmVhZHksXG4gICkgPT4gdW5rbm93blxuICBpbnRlcmFjdGlvbkNyZWF0ZTogKGludGVyYWN0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGludGVncmF0aW9uQ3JlYXRlOiAoaW50ZWdyYXRpb246IEludGVncmF0aW9uKSA9PiB1bmtub3duXG4gIGludGVncmF0aW9uRGVsZXRlOiAocGF5bG9hZDogeyBpZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQ7IGFwcGxpY2F0aW9uSWQ/OiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBpbnRlZ3JhdGlvblVwZGF0ZTogKHBheWxvYWQ6IHsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgaW52aXRlQ3JlYXRlOiAoaW52aXRlOiBTZXR1cERlc2lyZWRQcm9wczxJbnZpdGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBpbnZpdGVEZWxldGU6IChwYXlsb2FkOiB7IGNoYW5uZWxJZDogYmlnaW50OyBndWlsZElkPzogYmlnaW50OyBjb2RlOiBzdHJpbmcgfSkgPT4gdW5rbm93blxuICBndWlsZE1lbWJlckFkZDogKG1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4sIHVzZXI6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBndWlsZE1lbWJlclJlbW92ZTogKHVzZXI6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPiwgZ3VpbGRJZDogYmlnaW50KSA9PiB1bmtub3duXG4gIGd1aWxkTWVtYmVyVXBkYXRlOiAobWVtYmVyOiBTZXR1cERlc2lyZWRQcm9wczxNZW1iZXIsIFRQcm9wcywgVEJlaGF2aW9yPiwgdXNlcjogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGd1aWxkU3RpY2tlcnNVcGRhdGU6IChwYXlsb2FkOiB7IGd1aWxkSWQ6IGJpZ2ludDsgc3RpY2tlcnM6IFNldHVwRGVzaXJlZFByb3BzPFN0aWNrZXIsIFRQcm9wcywgVEJlaGF2aW9yPltdIH0pID0+IHVua25vd25cbiAgbWVzc2FnZUNyZWF0ZTogKG1lc3NhZ2U6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2UsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBtZXNzYWdlRGVsZXRlOiAocGF5bG9hZDogeyBpZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludCB9LCBtZXNzYWdlPzogU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIG1lc3NhZ2VEZWxldGVCdWxrOiAocGF5bG9hZDogeyBpZHM6IGJpZ2ludFtdOyBjaGFubmVsSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIG1lc3NhZ2VVcGRhdGU6IChtZXNzYWdlOiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgcmVhY3Rpb25BZGQ6IChwYXlsb2FkOiB7XG4gICAgdXNlcklkOiBiaWdpbnRcbiAgICBjaGFubmVsSWQ6IGJpZ2ludFxuICAgIG1lc3NhZ2VJZDogYmlnaW50XG4gICAgZ3VpbGRJZD86IGJpZ2ludFxuICAgIG1lbWJlcj86IFNldHVwRGVzaXJlZFByb3BzPE1lbWJlciwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgdXNlcj86IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIGVtb2ppOiBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgbWVzc2FnZUF1dGhvcklkPzogYmlnaW50XG4gICAgYnVyc3Q6IGJvb2xlYW5cbiAgICBidXJzdENvbG9ycz86IHN0cmluZ1tdXG4gIH0pID0+IHVua25vd25cbiAgcmVhY3Rpb25SZW1vdmU6IChwYXlsb2FkOiB7XG4gICAgdXNlcklkOiBiaWdpbnRcbiAgICBjaGFubmVsSWQ6IGJpZ2ludFxuICAgIG1lc3NhZ2VJZDogYmlnaW50XG4gICAgZ3VpbGRJZD86IGJpZ2ludFxuICAgIGVtb2ppOiBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgYnVyc3Q6IGJvb2xlYW5cbiAgfSkgPT4gdW5rbm93blxuICByZWFjdGlvblJlbW92ZUVtb2ppOiAocGF5bG9hZDoge1xuICAgIGNoYW5uZWxJZDogYmlnaW50XG4gICAgbWVzc2FnZUlkOiBiaWdpbnRcbiAgICBndWlsZElkPzogYmlnaW50XG4gICAgZW1vamk6IFNldHVwRGVzaXJlZFByb3BzPEVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgfSkgPT4gdW5rbm93blxuICByZWFjdGlvblJlbW92ZUFsbDogKHBheWxvYWQ6IHsgY2hhbm5lbElkOiBiaWdpbnQ7IG1lc3NhZ2VJZDogYmlnaW50OyBndWlsZElkPzogYmlnaW50IH0pID0+IHVua25vd25cbiAgcHJlc2VuY2VVcGRhdGU6IChwcmVzZW5jZTogUHJlc2VuY2VVcGRhdGUpID0+IHVua25vd25cbiAgdm9pY2VDaGFubmVsRWZmZWN0U2VuZDogKHBheWxvYWQ6IHtcbiAgICBjaGFubmVsSWQ6IGJpZ2ludFxuICAgIGd1aWxkSWQ6IGJpZ2ludFxuICAgIHVzZXJJZDogYmlnaW50XG4gICAgZW1vamk/OiBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gICAgYW5pbWF0aW9uVHlwZT86IERpc2NvcmRWb2ljZUNoYW5uZWxFZmZlY3RBbmltYXRpb25UeXBlXG4gICAgYW5pbWF0aW9uSWQ/OiBudW1iZXJcbiAgICBzb3VuZElkPzogYmlnaW50IHwgbnVtYmVyXG4gICAgc291bmRWb2x1bWU/OiBudW1iZXJcbiAgfSkgPT4gdW5rbm93blxuICB2b2ljZVNlcnZlclVwZGF0ZTogKHBheWxvYWQ6IHsgdG9rZW46IHN0cmluZzsgZW5kcG9pbnQ/OiBzdHJpbmc7IGd1aWxkSWQ6IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIHZvaWNlU3RhdGVVcGRhdGU6ICh2b2ljZVN0YXRlOiBTZXR1cERlc2lyZWRQcm9wczxWb2ljZVN0YXRlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgY2hhbm5lbENyZWF0ZTogKGNoYW5uZWw6IFNldHVwRGVzaXJlZFByb3BzPENoYW5uZWwsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBkaXNwYXRjaFJlcXVpcmVtZW50czogKGRhdGE6IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgc2hhcmRJZDogbnVtYmVyKSA9PiB1bmtub3duXG4gIGNoYW5uZWxEZWxldGU6IChjaGFubmVsOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgY2hhbm5lbFBpbnNVcGRhdGU6IChkYXRhOiB7IGd1aWxkSWQ/OiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyBsYXN0UGluVGltZXN0YW1wPzogbnVtYmVyIH0pID0+IHVua25vd25cbiAgY2hhbm5lbFVwZGF0ZTogKGNoYW5uZWw6IFNldHVwRGVzaXJlZFByb3BzPENoYW5uZWwsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzdGFnZUluc3RhbmNlQ3JlYXRlOiAoZGF0YTogeyBpZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyB0b3BpYzogc3RyaW5nIH0pID0+IHVua25vd25cbiAgc3RhZ2VJbnN0YW5jZURlbGV0ZTogKGRhdGE6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgdG9waWM6IHN0cmluZyB9KSA9PiB1bmtub3duXG4gIHN0YWdlSW5zdGFuY2VVcGRhdGU6IChkYXRhOiB7IGlkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgY2hhbm5lbElkOiBiaWdpbnQ7IHRvcGljOiBzdHJpbmcgfSkgPT4gdW5rbm93blxuICBndWlsZEVtb2ppc1VwZGF0ZTogKHBheWxvYWQ6IHtcbiAgICBndWlsZElkOiBiaWdpbnRcbiAgICBlbW9qaXM6IENvbGxlY3Rpb248YmlnaW50LCBTZXR1cERlc2lyZWRQcm9wczxFbW9qaSwgVFByb3BzLCBUQmVoYXZpb3I+PlxuICB9KSA9PiB1bmtub3duXG4gIGd1aWxkQmFuQWRkOiAodXNlcjogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+LCBndWlsZElkOiBiaWdpbnQpID0+IHVua25vd25cbiAgZ3VpbGRCYW5SZW1vdmU6ICh1c2VyOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4sIGd1aWxkSWQ6IGJpZ2ludCkgPT4gdW5rbm93blxuICBndWlsZENyZWF0ZTogKGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGd1aWxkRGVsZXRlOiAoaWQ6IGJpZ2ludCwgc2hhcmRJZDogbnVtYmVyKSA9PiB1bmtub3duXG4gIGd1aWxkVW5hdmFpbGFibGU6IChpZDogYmlnaW50LCBzaGFyZElkOiBudW1iZXIpID0+IHVua25vd25cbiAgZ3VpbGRVcGRhdGU6IChndWlsZDogU2V0dXBEZXNpcmVkUHJvcHM8R3VpbGQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICByYXc6IChkYXRhOiBEaXNjb3JkR2F0ZXdheVBheWxvYWQsIHNoYXJkSWQ6IG51bWJlcikgPT4gdW5rbm93blxuICByb2xlQ3JlYXRlOiAocm9sZTogU2V0dXBEZXNpcmVkUHJvcHM8Um9sZSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHJvbGVEZWxldGU6IChwYXlsb2FkOiB7IGd1aWxkSWQ6IGJpZ2ludDsgcm9sZUlkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICByb2xlVXBkYXRlOiAocm9sZTogU2V0dXBEZXNpcmVkUHJvcHM8Um9sZSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHdlYmhvb2tzVXBkYXRlOiAocGF5bG9hZDogeyBjaGFubmVsSWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgYm90VXBkYXRlOiAodXNlcjogU2V0dXBEZXNpcmVkUHJvcHM8VXNlciwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHR5cGluZ1N0YXJ0OiAocGF5bG9hZDoge1xuICAgIGd1aWxkSWQ6IGJpZ2ludCB8IHVuZGVmaW5lZFxuICAgIGNoYW5uZWxJZDogYmlnaW50XG4gICAgdXNlcklkOiBiaWdpbnRcbiAgICB0aW1lc3RhbXA6IG51bWJlclxuICAgIG1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4gfCB1bmRlZmluZWRcbiAgfSkgPT4gdW5rbm93blxuICBlbnRpdGxlbWVudENyZWF0ZTogKGVudGl0bGVtZW50OiBTZXR1cERlc2lyZWRQcm9wczxFbnRpdGxlbWVudCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIGVudGl0bGVtZW50VXBkYXRlOiAoZW50aXRsZW1lbnQ6IFNldHVwRGVzaXJlZFByb3BzPEVudGl0bGVtZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgZW50aXRsZW1lbnREZWxldGU6IChlbnRpdGxlbWVudDogU2V0dXBEZXNpcmVkUHJvcHM8RW50aXRsZW1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzdWJzY3JpcHRpb25DcmVhdGU6IChzdWJzY3JpcHRpb246IFNldHVwRGVzaXJlZFByb3BzPFN1YnNjcmlwdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiB1bmtub3duXG4gIHN1YnNjcmlwdGlvblVwZGF0ZTogKHN1YnNjcmlwdGlvbjogU2V0dXBEZXNpcmVkUHJvcHM8U3Vic2NyaXB0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IHVua25vd25cbiAgc3Vic2NyaXB0aW9uRGVsZXRlOiAoc3Vic2NyaXB0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxTdWJzY3JpcHRpb24sIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBtZXNzYWdlUG9sbFZvdGVBZGQ6IChwYXlsb2FkOiB7IHVzZXJJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgbWVzc2FnZUlkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQ7IGFuc3dlcklkOiBudW1iZXIgfSkgPT4gdW5rbm93blxuICBtZXNzYWdlUG9sbFZvdGVSZW1vdmU6IChwYXlsb2FkOiB7IHVzZXJJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgbWVzc2FnZUlkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQ7IGFuc3dlcklkOiBudW1iZXIgfSkgPT4gdW5rbm93blxuICBzb3VuZGJvYXJkU291bmRDcmVhdGU6IChwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxTb3VuZGJvYXJkU291bmQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzb3VuZGJvYXJkU291bmRVcGRhdGU6IChwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxTb3VuZGJvYXJkU291bmQsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gdW5rbm93blxuICBzb3VuZGJvYXJkU291bmREZWxldGU6IChwYXlsb2FkOiB7IHNvdW5kSWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgc291bmRib2FyZFNvdW5kc1VwZGF0ZTogKHBheWxvYWQ6IHsgc291bmRib2FyZFNvdW5kczogU2V0dXBEZXNpcmVkUHJvcHM8U291bmRib2FyZFNvdW5kLCBUUHJvcHMsIFRCZWhhdmlvcj5bXTsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgc291bmRib2FyZFNvdW5kczogKHBheWxvYWQ6IHsgc291bmRib2FyZFNvdW5kczogU2V0dXBEZXNpcmVkUHJvcHM8U291bmRib2FyZFNvdW5kLCBUUHJvcHMsIFRCZWhhdmlvcj5bXTsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QkEsV0E4SUMifQ==
@@ -4,9 +4,11 @@ export async function handleThreadMemberUpdate(bot, data, _shardId) {
4
4
  bot.events.threadMemberUpdate({
5
5
  id: bot.transformers.snowflake(payload.id),
6
6
  guildId: bot.transformers.snowflake(payload.guild_id),
7
- joinedAt: Date.parse(payload.joined_at),
7
+ // TODO: remove this in the next major version
8
+ joinedAt: 'joined_at' in payload && typeof payload.joined_at === 'string' ? Date.parse(payload.joined_at) : 0,
9
+ joinedTimestamp: Date.parse(payload.join_timestamp),
8
10
  flags: payload.flags
9
11
  });
10
12
  }
11
13
 
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oYW5kbGVycy9jaGFubmVscy9USFJFQURfTUVNQkVSX1VQREFURS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZShib3Q6IEJvdCwgZGF0YTogRGlzY29yZEdhdGV3YXlQYXlsb2FkLCBfc2hhcmRJZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYm90LmV2ZW50cy50aHJlYWRNZW1iZXJVcGRhdGUpIHJldHVyblxuXG4gIGNvbnN0IHBheWxvYWQgPSBkYXRhLmQgYXMgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZVxuXG4gIGJvdC5ldmVudHMudGhyZWFkTWVtYmVyVXBkYXRlKHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgZ3VpbGRJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCksXG4gICAgam9pbmVkQXQ6IERhdGUucGFyc2UocGF5bG9hZC5qb2luZWRfYXQpLFxuICAgIGZsYWdzOiBwYXlsb2FkLmZsYWdzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZSIsImJvdCIsImRhdGEiLCJfc2hhcmRJZCIsImV2ZW50cyIsInRocmVhZE1lbWJlclVwZGF0ZSIsInBheWxvYWQiLCJkIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJqb2luZWRBdCIsIkRhdGUiLCJwYXJzZSIsImpvaW5lZF9hdCIsImZsYWdzIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLGVBQWVBLHlCQUF5QkMsR0FBUSxFQUFFQyxJQUEyQixFQUFFQyxRQUFnQjtJQUNwRyxJQUFJLENBQUNGLElBQUlHLE1BQU0sQ0FBQ0Msa0JBQWtCLEVBQUU7SUFFcEMsTUFBTUMsVUFBVUosS0FBS0ssQ0FBQztJQUV0Qk4sSUFBSUcsTUFBTSxDQUFDQyxrQkFBa0IsQ0FBQztRQUM1QkcsSUFBSVAsSUFBSVEsWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFFLEVBQUU7UUFDekNHLFNBQVNWLElBQUlRLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRTSxRQUFRO1FBQ3BEQyxVQUFVQyxLQUFLQyxLQUFLLENBQUNULFFBQVFVLFNBQVM7UUFDdENDLE9BQU9YLFFBQVFXLEtBQUs7SUFDdEI7QUFDRiJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9oYW5kbGVycy9jaGFubmVscy9USFJFQURfTUVNQkVSX1VQREFURS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi8uLi9pbmRleC5qcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZShib3Q6IEJvdCwgZGF0YTogRGlzY29yZEdhdGV3YXlQYXlsb2FkLCBfc2hhcmRJZDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghYm90LmV2ZW50cy50aHJlYWRNZW1iZXJVcGRhdGUpIHJldHVyblxuXG4gIGNvbnN0IHBheWxvYWQgPSBkYXRhLmQgYXMgRGlzY29yZFRocmVhZE1lbWJlclVwZGF0ZVxuXG4gIGJvdC5ldmVudHMudGhyZWFkTWVtYmVyVXBkYXRlKHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgZ3VpbGRJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCksXG4gICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxuICAgIGpvaW5lZEF0OiAnam9pbmVkX2F0JyBpbiBwYXlsb2FkICYmIHR5cGVvZiBwYXlsb2FkLmpvaW5lZF9hdCA9PT0gJ3N0cmluZycgPyBEYXRlLnBhcnNlKHBheWxvYWQuam9pbmVkX2F0KSA6IDAsXG4gICAgam9pbmVkVGltZXN0YW1wOiBEYXRlLnBhcnNlKHBheWxvYWQuam9pbl90aW1lc3RhbXApLFxuICAgIGZsYWdzOiBwYXlsb2FkLmZsYWdzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZVRocmVhZE1lbWJlclVwZGF0ZSIsImJvdCIsImRhdGEiLCJfc2hhcmRJZCIsImV2ZW50cyIsInRocmVhZE1lbWJlclVwZGF0ZSIsInBheWxvYWQiLCJkIiwiaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsImpvaW5lZFRpbWVzdGFtcCIsImpvaW5fdGltZXN0YW1wIiwiZmxhZ3MiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sZUFBZUEseUJBQXlCQyxHQUFRLEVBQUVDLElBQTJCLEVBQUVDLFFBQWdCO0lBQ3BHLElBQUksQ0FBQ0YsSUFBSUcsTUFBTSxDQUFDQyxrQkFBa0IsRUFBRTtJQUVwQyxNQUFNQyxVQUFVSixLQUFLSyxDQUFDO0lBRXRCTixJQUFJRyxNQUFNLENBQUNDLGtCQUFrQixDQUFDO1FBQzVCRyxJQUFJUCxJQUFJUSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUUUsRUFBRTtRQUN6Q0csU0FBU1YsSUFBSVEsWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFNLFFBQVE7UUFDcEQsOENBQThDO1FBQzlDQyxVQUFVLGVBQWVQLFdBQVcsT0FBT0EsUUFBUVEsU0FBUyxLQUFLLFdBQVdDLEtBQUtDLEtBQUssQ0FBQ1YsUUFBUVEsU0FBUyxJQUFJO1FBQzVHRyxpQkFBaUJGLEtBQUtDLEtBQUssQ0FBQ1YsUUFBUVksY0FBYztRQUNsREMsT0FBT2IsUUFBUWEsS0FBSztJQUN0QjtBQUNGIn0=