@discordeno/bot 20.0.0 → 21.0.0-next.0efc454
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.
- package/dist/cjs/bot.cjs +1 -1
- package/dist/cjs/commandOptionsParser.cjs +2 -2
- package/dist/cjs/desiredProperties.cjs +10 -1
- package/dist/cjs/helpers.cjs +7 -1
- package/dist/cjs/transformers/guild.cjs +2 -1
- package/dist/cjs/transformers/incidentsData.cjs +21 -0
- package/dist/cjs/transformers/index.cjs +4 -3
- package/dist/cjs/transformers/interaction.cjs +3 -3
- package/dist/cjs/transformers/subscription.cjs +2 -1
- package/dist/cjs/transformers.cjs +4 -1
- package/dist/esm/bot.js +2 -7
- package/dist/esm/commandOptionsParser.js +2 -2
- package/dist/esm/desiredProperties.js +10 -1
- package/dist/esm/events.js +1 -1
- package/dist/esm/helpers.js +7 -1
- package/dist/esm/transformers/guild.js +2 -1
- package/dist/esm/transformers/incidentsData.js +11 -0
- package/dist/esm/transformers/index.js +5 -4
- package/dist/esm/transformers/interaction.js +3 -3
- package/dist/esm/transformers/subscription.js +2 -1
- package/dist/esm/transformers/types.js +1 -1
- package/dist/esm/transformers.js +4 -1
- package/dist/types/bot.d.ts +1 -0
- package/dist/types/bot.d.ts.map +1 -1
- package/dist/types/commandOptionsParser.d.ts +11 -2
- package/dist/types/commandOptionsParser.d.ts.map +1 -1
- package/dist/types/desiredProperties.d.ts +3 -2
- package/dist/types/desiredProperties.d.ts.map +1 -1
- package/dist/types/events.d.ts +51 -52
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +100 -97
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/transformers/guild.d.ts.map +1 -1
- package/dist/types/transformers/incidentsData.d.ts +4 -0
- package/dist/types/transformers/incidentsData.d.ts.map +1 -0
- package/dist/types/transformers/index.d.ts +4 -3
- package/dist/types/transformers/index.d.ts.map +1 -1
- package/dist/types/transformers/subscription.d.ts.map +1 -1
- package/dist/types/transformers/types.d.ts +16 -2
- package/dist/types/transformers/types.d.ts.map +1 -1
- package/dist/types/transformers.d.ts +156 -154
- package/dist/types/transformers.d.ts.map +1 -1
- package/package.json +23 -18
|
@@ -151,7 +151,8 @@ function transformGuild(bot, payload) {
|
|
|
151
151
|
if (props.iconHash && payload.guild.icon_hash) guild.iconHash = (0, _utils.iconHashToBigInt)(payload.guild.icon_hash);
|
|
152
152
|
if (props.presences && payload.guild.presences) guild.presences = payload.guild.presences?.map((presence)=>bot.transformers.presence(bot, presence));
|
|
153
153
|
if (props.safetyAlertsChannelId && payload.guild.safety_alerts_channel_id) guild.safetyAlertsChannelId = bot.transformers.snowflake(payload.guild.safety_alerts_channel_id);
|
|
154
|
+
if (props.incidentsData && payload.guild.incidents_data) guild.incidentsData = bot.transformers.incidentsData(bot, payload.guild.incidents_data);
|
|
154
155
|
return bot.transformers.customizers.guild(bot, payload.guild, guild);
|
|
155
156
|
}
|
|
156
157
|
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCwgR3VpbGQsIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBJbnRlcm5hbEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2d1aWxkJ10pLFxuXG4gIGdldCB0aHJlYWRzKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVscykgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPGJpZ2ludCwgQ2hhbm5lbD4oKVxuXG4gICAgY29uc3QgdGhyZWFkcyA9IHRoaXMuY2hhbm5lbHNcbiAgICAgIC5hcnJheSgpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5QdWJsaWNUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuUHJpdmF0ZVRocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Bbm5vdW5jZW1lbnRUaHJlYWQpXG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpXG4gIH0sXG4gIGdldCBmZWF0dXJlcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzLmZlYXR1cmVzXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQ7IHNoYXJkSWQ6IG51bWJlciB9KTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGQge1xuICBjb25zdCBndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZClcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkXG4gIGNvbnN0IGd1aWxkOiBHdWlsZCA9IE9iamVjdC5jcmVhdGUoYmFzZUd1aWxkKVxuXG4gIGlmIChwcm9wcy5hZmtUaW1lb3V0ICYmIHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXQpIGd1aWxkLmFma1RpbWVvdXQgPSBwYXlsb2FkLmd1aWxkLmFma190aW1lb3V0XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50KVxuICAgIGd1aWxkLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCA9IHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucykgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5ndWlsZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9uc1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5ndWlsZC5kZXNjcmlwdGlvbikgZ3VpbGQuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy50b2dnbGVzKSBndWlsZC50b2dnbGVzID0gbmV3IEd1aWxkVG9nZ2xlcyhwYXlsb2FkLmd1aWxkKVxuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyKSBndWlsZC5leHBsaWNpdENvbnRlbnRGaWx0ZXIgPSBwYXlsb2FkLmd1aWxkLmV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyXG4gIGlmIChwcm9wcy5tYXhNZW1iZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnMpIGd1aWxkLm1heE1lbWJlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF9tZW1iZXJzXG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkXG4gIGlmIChwcm9wcy5tYXhWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLmd1aWxkLm1heF92aWRlb19jaGFubmVsX3VzZXJzKSBndWlsZC5tYXhWaWRlb0NoYW5uZWxVc2VycyA9IHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnNcbiAgaWYgKHByb3BzLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycylcbiAgICBndWlsZC5tYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5ndWlsZC5tZmFfbGV2ZWxcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5ndWlsZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5ndWlsZC5uYW1lXG4gIGlmIChwcm9wcy5uc2Z3TGV2ZWwpIGd1aWxkLm5zZndMZXZlbCA9IHBheWxvYWQuZ3VpbGQubnNmd19sZXZlbFxuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlXG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnRcbiAgaWYgKHByb3BzLnByZW1pdW1UaWVyKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV90aWVyXG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSlcbiAgaWYgKHByb3BzLmNoYW5uZWxzICYmICghIXBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgfHwgISFwYXlsb2FkLmd1aWxkLnRocmVhZHMpKVxuICAgIGd1aWxkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBbLi4uKHBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgPz8gW10pLCAuLi4ocGF5bG9hZC5ndWlsZC50aHJlYWRzID8/IFtdKV0ubWFwKChjaGFubmVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbCwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5ndWlsZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5lbW9qaXMgJiYgcGF5bG9hZC5ndWlsZC5lbW9qaXMpXG4gICAgZ3VpbGQuZW1vamlzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLmVtb2ppcy5tYXAoKGVtb2ppKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBlbW9qaSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC51c2VySWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN0aWNrZXJzICYmIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnMpXG4gICAgZ3VpbGQuc3RpY2tlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnM/Lm1hcCgoc3RpY2tlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzdGlja2VyKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbEZsYWdzICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3MpIGd1aWxkLnN5c3RlbUNoYW5uZWxGbGFncyA9IHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3NcbiAgaWYgKHByb3BzLnZhbml0eVVybENvZGUgJiYgcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGUpIGd1aWxkLnZhbml0eVVybENvZGUgPSBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZVxuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC5ndWlsZC52ZXJpZmljYXRpb25fbGV2ZWxcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9XG4gIGlmIChwcm9wcy5kaXNjb3ZlcnlTcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKSBndWlsZC5kaXNjb3ZlcnlTcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaClcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCA/PyAwXG4gIGlmIChwcm9wcy5zaGFyZElkKSBndWlsZC5zaGFyZElkID0gcGF5bG9hZC5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuZ3VpbGQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuZ3VpbGQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5ndWlsZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQuZ3VpbGQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpXG4gICAgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5ndWlsZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmd1aWxkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLmd1aWxkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQuZ3VpbGQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGQoYm90LCBwYXlsb2FkLmd1aWxkLCBndWlsZClcbn1cbiJdLCJuYW1lcyI6WyJiYXNlR3VpbGQiLCJ0cmFuc2Zvcm1HdWlsZCIsInVuZGVmaW5lZCIsInRocmVhZHMiLCJjaGFubmVscyIsIkNvbGxlY3Rpb24iLCJhcnJheSIsImZpbHRlciIsIngiLCJ0eXBlIiwiQ2hhbm5lbFR5cGVzIiwiUHVibGljVGhyZWFkIiwiUHJpdmF0ZVRocmVhZCIsIkFubm91bmNlbWVudFRocmVhZCIsIm1hcCIsImlkIiwiZmVhdHVyZXMiLCJ0b2dnbGVzIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZCIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJjcmVhdGUiLCJhZmtUaW1lb3V0IiwiYWZrX3RpbWVvdXQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQiLCJkZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMiLCJkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucyIsImRlc2NyaXB0aW9uIiwiR3VpbGRUb2dnbGVzIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwiZXhwbGljaXRfY29udGVudF9maWx0ZXIiLCJtYXhNZW1iZXJzIiwibWF4X21lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhfcHJlc2VuY2VzIiwibWF4VmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1mYUxldmVsIiwibWZhX2xldmVsIiwibmFtZSIsIm5zZndMZXZlbCIsIm5zZndfbGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVmZXJyZWRfbG9jYWxlIiwicHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50IiwicHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQiLCJwcmVtaXVtVGllciIsInByZW1pdW1fdGllciIsInN0YWdlSW5zdGFuY2VzIiwic3RhZ2VfaW5zdGFuY2VzIiwic2kiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidG9waWMiLCJjaGFubmVsIiwicmVzdWx0IiwibWVtYmVycyIsIm1lbWJlciIsInVzZXIiLCJyb2xlcyIsInJvbGUiLCJlbW9qaXMiLCJlbW9qaSIsInZvaWNlU3RhdGVzIiwidm9pY2Vfc3RhdGVzIiwidm9pY2VTdGF0ZSIsInVzZXJJZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJpY29uSGFzaFRvQmlnSW50Iiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJtZW1iZXJDb3VudCIsIm1lbWJlcl9jb3VudCIsInNoYXJkSWQiLCJpY29uIiwiYmFubmVyIiwic3BsYXNoIiwib3duZXJJZCIsIm93bmVyX2lkIiwicGVybWlzc2lvbnMiLCJhZmtDaGFubmVsSWQiLCJhZmtfY2hhbm5lbF9pZCIsIndpZGdldENoYW5uZWxJZCIsIndpZGdldF9jaGFubmVsX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwic3lzdGVtQ2hhbm5lbElkIiwic3lzdGVtX2NoYW5uZWxfaWQiLCJydWxlc0NoYW5uZWxJZCIsInJ1bGVzX2NoYW5uZWxfaWQiLCJwdWJsaWNVcGRhdGVzQ2hhbm5lbElkIiwicHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZCIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwibGFyZ2UiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJ3aWRnZXRfZW5hYmxlZCIsInVuYXZhaWxhYmxlIiwiaWNvbkhhc2giLCJpY29uX2hhc2giLCJwcmVzZW5jZXMiLCJwcmVzZW5jZSIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUthQSxTQUFTO2VBQVRBOztJQWtCR0MsY0FBYztlQUFkQTs7O3VCQXZCNEQ7dUJBQy9CO3VCQUVoQjtBQUV0QixNQUFNRCxZQUFvRTtJQUMvRSwyRUFBMkU7SUFDM0UsR0FBSUUsU0FBUztJQUViLElBQUlDLFdBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFRLEVBQUUsT0FBTyxJQUFJQyxpQkFBVTtRQUV6QyxNQUFNRixVQUFVLElBQUksQ0FBQ0MsUUFBUSxDQUMxQkUsS0FBSyxHQUNMQyxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLQyxtQkFBWSxDQUFDQyxZQUFZLElBQUlILEVBQUVDLElBQUksS0FBS0MsbUJBQVksQ0FBQ0UsYUFBYSxJQUFJSixFQUFFQyxJQUFJLEtBQUtDLG1C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
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCwgR3VpbGQsIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBJbnRlcm5hbEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2d1aWxkJ10pLFxuXG4gIGdldCB0aHJlYWRzKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVscykgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPGJpZ2ludCwgQ2hhbm5lbD4oKVxuXG4gICAgY29uc3QgdGhyZWFkcyA9IHRoaXMuY2hhbm5lbHNcbiAgICAgIC5hcnJheSgpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5QdWJsaWNUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuUHJpdmF0ZVRocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Bbm5vdW5jZW1lbnRUaHJlYWQpXG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpXG4gIH0sXG4gIGdldCBmZWF0dXJlcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzLmZlYXR1cmVzXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQ7IHNoYXJkSWQ6IG51bWJlciB9KTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGQge1xuICBjb25zdCBndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZClcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkXG4gIGNvbnN0IGd1aWxkOiBHdWlsZCA9IE9iamVjdC5jcmVhdGUoYmFzZUd1aWxkKVxuXG4gIGlmIChwcm9wcy5hZmtUaW1lb3V0ICYmIHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXQpIGd1aWxkLmFma1RpbWVvdXQgPSBwYXlsb2FkLmd1aWxkLmFma190aW1lb3V0XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50KVxuICAgIGd1aWxkLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCA9IHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucykgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5ndWlsZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9uc1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5ndWlsZC5kZXNjcmlwdGlvbikgZ3VpbGQuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy50b2dnbGVzKSBndWlsZC50b2dnbGVzID0gbmV3IEd1aWxkVG9nZ2xlcyhwYXlsb2FkLmd1aWxkKVxuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyKSBndWlsZC5leHBsaWNpdENvbnRlbnRGaWx0ZXIgPSBwYXlsb2FkLmd1aWxkLmV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyXG4gIGlmIChwcm9wcy5tYXhNZW1iZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnMpIGd1aWxkLm1heE1lbWJlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF9tZW1iZXJzXG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkXG4gIGlmIChwcm9wcy5tYXhWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLmd1aWxkLm1heF92aWRlb19jaGFubmVsX3VzZXJzKSBndWlsZC5tYXhWaWRlb0NoYW5uZWxVc2VycyA9IHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnNcbiAgaWYgKHByb3BzLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycylcbiAgICBndWlsZC5tYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5ndWlsZC5tZmFfbGV2ZWxcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5ndWlsZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5ndWlsZC5uYW1lXG4gIGlmIChwcm9wcy5uc2Z3TGV2ZWwpIGd1aWxkLm5zZndMZXZlbCA9IHBheWxvYWQuZ3VpbGQubnNmd19sZXZlbFxuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlXG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnRcbiAgaWYgKHByb3BzLnByZW1pdW1UaWVyKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV90aWVyXG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSlcbiAgaWYgKHByb3BzLmNoYW5uZWxzICYmICghIXBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgfHwgISFwYXlsb2FkLmd1aWxkLnRocmVhZHMpKVxuICAgIGd1aWxkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBbLi4uKHBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgPz8gW10pLCAuLi4ocGF5bG9hZC5ndWlsZC50aHJlYWRzID8/IFtdKV0ubWFwKChjaGFubmVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbCwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5ndWlsZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5lbW9qaXMgJiYgcGF5bG9hZC5ndWlsZC5lbW9qaXMpXG4gICAgZ3VpbGQuZW1vamlzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLmVtb2ppcy5tYXAoKGVtb2ppKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBlbW9qaSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC51c2VySWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN0aWNrZXJzICYmIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnMpXG4gICAgZ3VpbGQuc3RpY2tlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnM/Lm1hcCgoc3RpY2tlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzdGlja2VyKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbEZsYWdzICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3MpIGd1aWxkLnN5c3RlbUNoYW5uZWxGbGFncyA9IHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3NcbiAgaWYgKHByb3BzLnZhbml0eVVybENvZGUgJiYgcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGUpIGd1aWxkLnZhbml0eVVybENvZGUgPSBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZVxuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC5ndWlsZC52ZXJpZmljYXRpb25fbGV2ZWxcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9XG4gIGlmIChwcm9wcy5kaXNjb3ZlcnlTcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKSBndWlsZC5kaXNjb3ZlcnlTcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaClcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCA/PyAwXG4gIGlmIChwcm9wcy5zaGFyZElkKSBndWlsZC5zaGFyZElkID0gcGF5bG9hZC5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuZ3VpbGQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuZ3VpbGQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5ndWlsZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQuZ3VpbGQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpXG4gICAgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5ndWlsZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmd1aWxkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLmd1aWxkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQuZ3VpbGQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5pbmNpZGVudHNEYXRhICYmIHBheWxvYWQuZ3VpbGQuaW5jaWRlbnRzX2RhdGEpIGd1aWxkLmluY2lkZW50c0RhdGEgPSBib3QudHJhbnNmb3JtZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLmd1aWxkLmluY2lkZW50c19kYXRhKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmd1aWxkKGJvdCwgcGF5bG9hZC5ndWlsZCwgZ3VpbGQpXG59XG4iXSwibmFtZXMiOlsiYmFzZUd1aWxkIiwidHJhbnNmb3JtR3VpbGQiLCJ1bmRlZmluZWQiLCJ0aHJlYWRzIiwiY2hhbm5lbHMiLCJDb2xsZWN0aW9uIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIkNoYW5uZWxUeXBlcyIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsImJvdCIsInBheWxvYWQiLCJndWlsZElkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwiZ3VpbGQiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiY3JlYXRlIiwiYWZrVGltZW91dCIsImFma190aW1lb3V0IiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwiZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zIiwiZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnMiLCJkZXNjcmlwdGlvbiIsIkd1aWxkVG9nZ2xlcyIsImV4cGxpY2l0Q29udGVudEZpbHRlciIsImV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyIiwibWF4TWVtYmVycyIsIm1heF9tZW1iZXJzIiwibWF4UHJlc2VuY2VzIiwibWF4X3ByZXNlbmNlcyIsIm1heFZpZGVvQ2hhbm5lbFVzZXJzIiwibWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMiLCJtYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzIiwibWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnMiLCJtZmFMZXZlbCIsIm1mYV9sZXZlbCIsIm5hbWUiLCJuc2Z3TGV2ZWwiLCJuc2Z3X2xldmVsIiwicHJlZmVycmVkTG9jYWxlIiwicHJlZmVycmVkX2xvY2FsZSIsInByZW1pdW1TdWJzY3JpcHRpb25Db3VudCIsInByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50IiwicHJlbWl1bVRpZXIiLCJwcmVtaXVtX3RpZXIiLCJzdGFnZUluc3RhbmNlcyIsInN0YWdlX2luc3RhbmNlcyIsInNpIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsInRvcGljIiwiY2hhbm5lbCIsInJlc3VsdCIsIm1lbWJlcnMiLCJtZW1iZXIiLCJ1c2VyIiwicm9sZXMiLCJyb2xlIiwiZW1vamlzIiwiZW1vamkiLCJ2b2ljZVN0YXRlcyIsInZvaWNlX3N0YXRlcyIsInZvaWNlU3RhdGUiLCJ1c2VySWQiLCJzdGlja2VycyIsInN0aWNrZXIiLCJzeXN0ZW1DaGFubmVsRmxhZ3MiLCJzeXN0ZW1fY2hhbm5lbF9mbGFncyIsInZhbml0eVVybENvZGUiLCJ2YW5pdHlfdXJsX2NvZGUiLCJ2ZXJpZmljYXRpb25MZXZlbCIsInZlcmlmaWNhdGlvbl9sZXZlbCIsIndlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lX3NjcmVlbiIsIndlbGNvbWVDaGFubmVscyIsIndlbGNvbWVfY2hhbm5lbHMiLCJ3YyIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiLCJkaXNjb3ZlcnlTcGxhc2giLCJkaXNjb3Zlcnlfc3BsYXNoIiwiaWNvbkhhc2hUb0JpZ0ludCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwibWVtYmVyQ291bnQiLCJtZW1iZXJfY291bnQiLCJzaGFyZElkIiwiaWNvbiIsImJhbm5lciIsInNwbGFzaCIsIm93bmVySWQiLCJvd25lcl9pZCIsInBlcm1pc3Npb25zIiwiYWZrQ2hhbm5lbElkIiwiYWZrX2NoYW5uZWxfaWQiLCJ3aWRnZXRDaGFubmVsSWQiLCJ3aWRnZXRfY2hhbm5lbF9pZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInN5c3RlbUNoYW5uZWxJZCIsInN5c3RlbV9jaGFubmVsX2lkIiwicnVsZXNDaGFubmVsSWQiLCJydWxlc19jaGFubmVsX2lkIiwicHVibGljVXBkYXRlc0NoYW5uZWxJZCIsInB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImxhcmdlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwid2lkZ2V0X2VuYWJsZWQiLCJ1bmF2YWlsYWJsZSIsImljb25IYXNoIiwiaWNvbl9oYXNoIiwicHJlc2VuY2VzIiwicHJlc2VuY2UiLCJzYWZldHlBbGVydHNDaGFubmVsSWQiLCJzYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQiLCJpbmNpZGVudHNEYXRhIiwiaW5jaWRlbnRzX2RhdGEiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFLYUEsU0FBUztlQUFUQTs7SUFrQkdDLGNBQWM7ZUFBZEE7Ozt1QkF2QjREO3VCQUMvQjt1QkFFaEI7QUFFdEIsTUFBTUQsWUFBb0U7SUFDL0UsMkVBQTJFO0lBQzNFLEdBQUlFLFNBQVM7SUFFYixJQUFJQyxXQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sSUFB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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "transformIncidentsData", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return transformIncidentsData;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function transformIncidentsData(bot, payload) {
|
|
12
|
+
const props = bot.transformers.desiredProperties.incidentsData;
|
|
13
|
+
const incidentsData = {};
|
|
14
|
+
if (props.invitesDisabledUntil && payload.invites_disabled_until) incidentsData.invitesDisabledUntil = Date.parse(payload.invites_disabled_until);
|
|
15
|
+
if (props.dmsDisabledUntil && payload.dms_disabled_until) incidentsData.dmsDisabledUntil = Date.parse(payload.dms_disabled_until);
|
|
16
|
+
if (props.dmSpamDetectedAt && payload.dm_spam_detected_at) incidentsData.dmSpamDetectedAt = Date.parse(payload.dm_spam_detected_at);
|
|
17
|
+
if (props.raidDetectedAt && payload.raid_detected_at) incidentsData.raidDetectedAt = Date.parse(payload.raid_detected_at);
|
|
18
|
+
return bot.transformers.customizers.incidentsData(bot, payload, incidentsData);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRJbmNpZGVudHNEYXRhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEluY2lkZW50c0RhdGEsIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbmNpZGVudHNEYXRhKGJvdDogSW50ZXJuYWxCb3QsIHBheWxvYWQ6IERpc2NvcmRJbmNpZGVudHNEYXRhKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW5jaWRlbnRzRGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbmNpZGVudHNEYXRhXG4gIGNvbnN0IGluY2lkZW50c0RhdGEgPSB7fSBhcyBJbmNpZGVudHNEYXRhXG5cbiAgaWYgKHByb3BzLmludml0ZXNEaXNhYmxlZFVudGlsICYmIHBheWxvYWQuaW52aXRlc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5pbnZpdGVzRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5pbnZpdGVzX2Rpc2FibGVkX3VudGlsKVxuICBpZiAocHJvcHMuZG1zRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbCkgaW5jaWRlbnRzRGF0YS5kbXNEaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmRtc19kaXNhYmxlZF91bnRpbClcbiAgaWYgKHByb3BzLmRtU3BhbURldGVjdGVkQXQgJiYgcGF5bG9hZC5kbV9zcGFtX2RldGVjdGVkX2F0KSBpbmNpZGVudHNEYXRhLmRtU3BhbURldGVjdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuZG1fc3BhbV9kZXRlY3RlZF9hdClcbiAgaWYgKHByb3BzLnJhaWREZXRlY3RlZEF0ICYmIHBheWxvYWQucmFpZF9kZXRlY3RlZF9hdCkgaW5jaWRlbnRzRGF0YS5yYWlkRGV0ZWN0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5yYWlkX2RldGVjdGVkX2F0KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLCBpbmNpZGVudHNEYXRhKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImluY2lkZW50c0RhdGEiLCJpbnZpdGVzRGlzYWJsZWRVbnRpbCIsImludml0ZXNfZGlzYWJsZWRfdW50aWwiLCJEYXRlIiwicGFyc2UiLCJkbXNEaXNhYmxlZFVudGlsIiwiZG1zX2Rpc2FibGVkX3VudGlsIiwiZG1TcGFtRGV0ZWN0ZWRBdCIsImRtX3NwYW1fZGV0ZWN0ZWRfYXQiLCJyYWlkRGV0ZWN0ZWRBdCIsInJhaWRfZGV0ZWN0ZWRfYXQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHVCQUF1QkMsR0FBZ0IsRUFBRUMsT0FBNkI7SUFDcEYsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsYUFBYTtJQUM5RCxNQUFNQSxnQkFBZ0IsQ0FBQztJQUV2QixJQUFJSCxNQUFNSSxvQkFBb0IsSUFBSUwsUUFBUU0sc0JBQXNCLEVBQUVGLGNBQWNDLG9CQUFvQixHQUFHRSxLQUFLQyxLQUFLLENBQUNSLFFBQVFNLHNCQUFzQjtJQUNoSixJQUFJTCxNQUFNUSxnQkFBZ0IsSUFBSVQsUUFBUVUsa0JBQWtCLEVBQUVOLGNBQWNLLGdCQUFnQixHQUFHRixLQUFLQyxLQUFLLENBQUNSLFFBQVFVLGtCQUFrQjtJQUNoSSxJQUFJVCxNQUFNVSxnQkFBZ0IsSUFBSVgsUUFBUVksbUJBQW1CLEVBQUVSLGNBQWNPLGdCQUFnQixHQUFHSixLQUFLQyxLQUFLLENBQUNSLFFBQVFZLG1CQUFtQjtJQUNsSSxJQUFJWCxNQUFNWSxjQUFjLElBQUliLFFBQVFjLGdCQUFnQixFQUFFVixjQUFjUyxjQUFjLEdBQUdOLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUWMsZ0JBQWdCO0lBRXhILE9BQU9mLElBQUlHLFlBQVksQ0FBQ2EsV0FBVyxDQUFDWCxhQUFhLENBQUNMLEtBQUtDLFNBQVNJO0FBQ2xFIn0=
|
|
@@ -20,6 +20,7 @@ _export_star(require("./emoji.cjs"), exports);
|
|
|
20
20
|
_export_star(require("./entitlement.cjs"), exports);
|
|
21
21
|
_export_star(require("./gatewayBot.cjs"), exports);
|
|
22
22
|
_export_star(require("./guild.cjs"), exports);
|
|
23
|
+
_export_star(require("./incidentsData.cjs"), exports);
|
|
23
24
|
_export_star(require("./integration.cjs"), exports);
|
|
24
25
|
_export_star(require("./interaction.cjs"), exports);
|
|
25
26
|
_export_star(require("./invite.cjs"), exports);
|
|
@@ -32,16 +33,16 @@ _export_star(require("./reverse/index.cjs"), exports);
|
|
|
32
33
|
_export_star(require("./role.cjs"), exports);
|
|
33
34
|
_export_star(require("./scheduledEvent.cjs"), exports);
|
|
34
35
|
_export_star(require("./sku.cjs"), exports);
|
|
36
|
+
_export_star(require("./soundboardSound.cjs"), exports);
|
|
35
37
|
_export_star(require("./stageInstance.cjs"), exports);
|
|
36
38
|
_export_star(require("./stageInviteInstance.cjs"), exports);
|
|
37
39
|
_export_star(require("./sticker.cjs"), exports);
|
|
40
|
+
_export_star(require("./subscription.cjs"), exports);
|
|
38
41
|
_export_star(require("./team.cjs"), exports);
|
|
39
42
|
_export_star(require("./template.cjs"), exports);
|
|
40
43
|
_export_star(require("./threadMember.cjs"), exports);
|
|
41
44
|
_export_star(require("./toggles/index.cjs"), exports);
|
|
42
45
|
_export_star(require("./types.cjs"), exports);
|
|
43
|
-
_export_star(require("./subscription.cjs"), exports);
|
|
44
|
-
_export_star(require("./soundboardSound.cjs"), exports);
|
|
45
46
|
_export_star(require("./user.cjs"), exports);
|
|
46
47
|
_export_star(require("./voiceRegion.cjs"), exports);
|
|
47
48
|
_export_star(require("./voiceState.cjs"), exports);
|
|
@@ -63,4 +64,4 @@ function _export_star(from, to) {
|
|
|
63
64
|
return from;
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0TG9nRW50cnkuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RSdWxlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2hhbm5lbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9lbWJlZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vZW1vamkuanMnXG5leHBvcnQgKiBmcm9tICcuL2VudGl0bGVtZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5Qm90LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ndWlsZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW5jaWRlbnRzRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL21lbWJlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vb25ib2FyZGluZy5qcydcbmV4cG9ydCAqIGZyb20gJy4vcG9sbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vcHJlc2VuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3JldmVyc2UvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3JvbGUuanMnXG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZEV2ZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9za3UuanMnXG5leHBvcnQgKiBmcm9tICcuL3NvdW5kYm9hcmRTb3VuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vc3RhZ2VJbnN0YW5jZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vc3RhZ2VJbnZpdGVJbnN0YW5jZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vc3RpY2tlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL3RlYW0uanMnXG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90aHJlYWRNZW1iZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZXMvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi92b2ljZVJlZ2lvbi5qcydcbmV4cG9ydCAqIGZyb20gJy4vdm9pY2VTdGF0ZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vd2ViaG9vay5qcydcbmV4cG9ydCAqIGZyb20gJy4vd2VsY29tZVNjcmVlbi5qcydcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXRTZXR0aW5ncy5qcydcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUFjO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUVBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBO3FCQUNBIn0=
|
|
@@ -68,7 +68,7 @@ const baseInteraction = {
|
|
|
68
68
|
return await this.bot?.helpers.editFollowupMessage(this.token, messageId, response);
|
|
69
69
|
}
|
|
70
70
|
if (!this.acknowledged) {
|
|
71
|
-
if (this.type !== _types.InteractionTypes.MessageComponent) throw new Error("This interaction has not been responded to yet and this isn't a MessageComponent interaction.");
|
|
71
|
+
if (this.type !== _types.InteractionTypes.MessageComponent && this.type !== _types.InteractionTypes.ModalSubmit) throw new Error("This interaction has not been responded to yet and this isn't a MessageComponent or ModalSubmit interaction.");
|
|
72
72
|
this.acknowledged = true;
|
|
73
73
|
return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
|
|
74
74
|
type: _types.InteractionResponseTypes.UpdateMessage,
|
|
@@ -80,7 +80,7 @@ const baseInteraction = {
|
|
|
80
80
|
async deferEdit (options) {
|
|
81
81
|
if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction.');
|
|
82
82
|
if (this.acknowledged) throw new Error('Cannot defer an already responded interaction.');
|
|
83
|
-
if (this.type !== _types.InteractionTypes.MessageComponent) throw new Error("Cannot defer to then edit an interaction that isn't a MessageComponent interaction.");
|
|
83
|
+
if (this.type !== _types.InteractionTypes.MessageComponent && this.type !== _types.InteractionTypes.ModalSubmit) throw new Error("Cannot defer to then edit an interaction that isn't a MessageComponent or ModalSubmit interaction.");
|
|
84
84
|
this.acknowledged = true;
|
|
85
85
|
return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
|
|
86
86
|
type: _types.InteractionResponseTypes.DeferredUpdateMessage
|
|
@@ -271,4 +271,4 @@ function transformInteractionResource(bot, payload) {
|
|
|
271
271
|
return bot.transformers.customizers.interactionResource(bot, payload.interactionResource, resource);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkgcmVzcG9uc2UuZmxhZ3MgPSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsXG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBpbnRlcmFjdGlvbiBoYXMgbm90IGJlZW4gcmVzcG9uZGVkIHRvIHlldCBhbmQgdGhpcyBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICAgIHRoaXMuaWQsXG4gICAgICAgIHRoaXMudG9rZW4sXG4gICAgICAgIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2UsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuLCByZXNwb25zZSlcbiAgfSxcbiAgYXN5bmMgZGVmZXJFZGl0KG9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZWRpdCBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24uJylcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICBpZiAodGhpcy50eXBlICE9PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGVmZXIgdG8gdGhlbiBlZGl0IGFuIGludGVyYWN0aW9uIHRoYXQgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IGludGVyYWN0aW9uLlwiKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sIG9wdGlvbnMpXG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZsYWdzOiBpc1ByaXZhdGUgPyBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKVxuICB9LFxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQpXG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogeyBpbnRlcmFjdGlvbjogRGlzY29yZEludGVyYWN0aW9uOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uIHtcbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXI/LnVzZXIgPz8gcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyISlcblxuICBjb25zdCBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb24gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIHRoaXMsIHNvIHdlIG5lZWQgdG8gdGVsbCBoaW0gZm9yIHN1cmUgdGhpcyBpcyBhIEJvdFxuICBpbnRlcmFjdGlvbi5ib3QgPSBib3QgYXMgdW5rbm93biBhcyBCb3RcbiAgaW50ZXJhY3Rpb24uYWNrbm93bGVkZ2VkID0gZmFsc2VcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmlkKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcGxpY2F0aW9uX2lkKVxuICAgIGludGVyYWN0aW9uLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGUpIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGVcbiAgaWYgKHByb3BzLnRva2VuICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udG9rZW4pIGludGVyYWN0aW9uLnRva2VuID0gcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlblxuICBpZiAocHJvcHMudmVyc2lvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uLnZlcnNpb24pIGludGVyYWN0aW9uLnZlcnNpb24gPSBwYXlsb2FkLmludGVyYWN0aW9uLnZlcnNpb25cbiAgaWYgKHByb3BzLmxvY2FsZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZSkgaW50ZXJhY3Rpb24ubG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkTG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfbG9jYWxlKSBpbnRlcmFjdGlvbi5ndWlsZExvY2FsZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfbG9jYWxlXG4gIGlmIChwcm9wcy5ndWlsZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCBpcyBhIFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAgIGludGVyYWN0aW9uLmd1aWxkID0gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlciAmJiB1c2VyKSBpbnRlcmFjdGlvbi51c2VyID0gdXNlclxuICBpZiAocHJvcHMuYXBwUGVybWlzc2lvbnMgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5hcHBfcGVybWlzc2lvbnMpXG4gICAgaW50ZXJhY3Rpb24uYXBwUGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlKVxuICAgIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb24ubWVzc2FnZSwgc2hhcmRJZDogMCB9KVxuICBpZiAocHJvcHMuY2hhbm5lbCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwpXG4gICAgaW50ZXJhY3Rpb24uY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC5pbnRlcmFjdGlvbi5jaGFubmVsIGFzIERpc2NvcmRDaGFubmVsLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcilcbiAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCB1c2VyLmlkKVxuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycykge1xuICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fVxuXG4gICAgaWYgKHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMuY29udGV4dCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNvbnRleHQpIGludGVyYWN0aW9uLmNvbnRleHQgPSBwYXlsb2FkLmludGVyYWN0aW9uLmNvbnRleHRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZFxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCB7IHJlc29sdmVkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4pOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogdmFsdWUsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLnVzZXJzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmd1aWxkSWQgJiYgcGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwgcGF5bG9hZC5ndWlsZElkISwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCwgbWVtYmVyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkOiBwYXlsb2FkLmd1aWxkSWQhIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHZhbHVlIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsXG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCwgY2hhbm5lbF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLmludGVyYWN0aW9uKVxuICAgIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gIGlmIChwcm9wcy5yZXNvdXJjZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHtcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHJlc3BvbnNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIEludGVyYWN0aW9uUmVzb3VyY2VcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5hY3Rpdml0eV9pbnN0YW5jZSlcbiAgICByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlKVxuICAgIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlLCBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLCByZXNvdXJjZSlcbn1cbiJdLCJuYW1lcyI6WyJiYXNlSW50ZXJhY3Rpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJ1bmRlZmluZWQiLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiSW50ZXJhY3Rpb25UeXBlcyIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiTWVzc2FnZUZsYWdzIiwiRXBoZW1lcmFsIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwiaGVscGVycyIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsIndpdGhSZXNwb25zZSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiY29tcG9uZW50VHlwZSIsImNvbXBvbmVudF90eXBlIiwiY3VzdG9tSWQiLCJjdXN0b21faWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29tcG9uZW50IiwidmFsdWVzIiwibmFtZSIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJvcHQiLCJpbnRlcmFjdGlvbkRhdGFPcHRpb25zIiwidGFyZ2V0SWQiLCJ0YXJnZXRfaWQiLCJjdXN0b21pemVycyIsIm9wdGlvbiIsInZhbHVlIiwiZm9jdXNlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJDb2xsZWN0aW9uIiwiZW50cmllcyIsIl9pZCIsInVzZXJzIiwibWVtYmVycyIsInJvbGVzIiwicm9sZSIsImNoYW5uZWxzIiwiYXR0YWNobWVudHMiLCJrZXkiLCJhdHRhY2htZW50IiwiaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25DYWxsYmFjayIsInJlc291cmNlIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJhY3Rpdml0eUluc3RhbmNl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
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkgcmVzcG9uc2UuZmxhZ3MgPSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsXG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgICB0aGlzLmlkLFxuICAgICAgICB0aGlzLnRva2VuLFxuICAgICAgICB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5VcGRhdGVNZXNzYWdlLCBkYXRhOiByZXNwb25zZSB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdChvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEpIHtcbiAgICBpbnRlcmFjdGlvbi5kYXRhID0ge1xuICAgICAgdHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnR5cGUsXG4gICAgICBjb21wb25lbnRUeXBlOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50X3R5cGUsXG4gICAgICBjdXN0b21JZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmN1c3RvbV9pZCxcbiAgICAgIGNvbXBvbmVudHM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSxcbiAgICAgIHZhbHVlczogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnZhbHVlcyxcbiAgICAgIGlkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgbmFtZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLm5hbWUsXG4gICAgICByZXNvbHZlZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkXG4gICAgICAgID8gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHsgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggaW50ZXJhY3Rpb24uYm90LCBzbyB3ZSBuZWVkIHRvIHRlbGwgaGltIGZvciBzdXJlIHRoaXMgaW50ZXJhY3Rpb24gaXMgdGhlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbiBhcyB1bmtub3duIGFzIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBjb25zdCBvcHQgPSB7XG4gICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgdHlwZTogb3B0aW9uLnR5cGUsXG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICBmb2N1c2VkOiBvcHRpb24uZm9jdXNlZCxcbiAgfSBhcyBJbnRlcmFjdGlvbkRhdGFPcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0aW9uLCBvcHQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogeyByZXNvbHZlZDogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkOyBzaGFyZElkOiBudW1iZXI7IGd1aWxkSWQ/OiBiaWdpbnQgfSxcbik6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkID0ge31cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykge1xuICAgIHRyYW5zZm9ybWVkLm1lc3NhZ2VzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLm1lc3NhZ2VzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgeyBtZXNzYWdlOiB2YWx1ZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gICAgICAgIHJldHVybiBbbWVzc2FnZS5pZCwgbWVzc2FnZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLnVzZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQudXNlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQudXNlcnMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFt1c2VyLmlkLCB1c2VyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLm1lbWJlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLm1lbWJlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVyOiBNZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCBwYXlsb2FkLmd1aWxkSWQhLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gICAgICAgIHJldHVybiBbbWVtYmVyLmlkLCBtZW1iZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5ndWlsZElkICYmIHBheWxvYWQucmVzb2x2ZWQucm9sZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5yb2xlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogdmFsdWUsIGd1aWxkSWQ6IHBheWxvYWQuZ3VpbGRJZCEgfSlcbiAgICAgICAgcmV0dXJuIFtyb2xlLmlkLCByb2xlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5jaGFubmVscykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogdmFsdWUgfSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWxcbiAgICAgICAgcmV0dXJuIFtjaGFubmVsLmlkLCBjaGFubmVsXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIHJldHVybiBbaWQsIGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZCwgdHJhbnNmb3JtZWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2VcbiAgY29uc3QgcmVzcG9uc2UgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2VcblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gICAgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5pbnRlcmFjdGlvbilcbiAgaWYgKHByb3BzLnJlc291cmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlKVxuICAgIHJlc3BvbnNlLnJlc291cmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwge1xuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UucmVzb3VyY2UsXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgcmVzcG9uc2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uQ2FsbGJhY2sge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1xuICBjb25zdCBjYWxsYmFjayA9IHt9IGFzIEludGVyYWN0aW9uQ2FsbGJhY2tcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNhbGxiYWNrLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWxcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZ1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25SZXNvdXJjZTogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2U7IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlID0ge30gYXMgSW50ZXJhY3Rpb25SZXNvdXJjZVxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlKVxuICAgIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UuYWN0aXZpdHlfaW5zdGFuY2VcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLm1lc3NhZ2UpXG4gICAgcmVzb3VyY2UubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLm1lc3NhZ2UsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UsIHJlc291cmNlKVxufVxuIl0sIm5hbWVzIjpbImJhc2VJbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsInVuZGVmaW5lZCIsInJlc3BvbmQiLCJyZXNwb25zZSIsIm9wdGlvbnMiLCJ0eXBlIiwiSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzIiwiQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiY29udGVudCIsInRpdGxlIiwiTW9kYWwiLCJJbnRlcmFjdGlvblR5cGVzIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlIiwiQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0IiwiaXNQcml2YXRlIiwiZmxhZ3MiLCJNZXNzYWdlRmxhZ3MiLCJFcGhlbWVyYWwiLCJhY2tub3dsZWRnZWQiLCJib3QiLCJoZWxwZXJzIiwic2VuZEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwiTW9kYWxTdWJtaXQiLCJFcnJvciIsInNlbmRJbnRlcmFjdGlvblJlc3BvbnNlIiwiaWQiLCJkYXRhIiwid2l0aFJlc3BvbnNlIiwiZWRpdCIsIm1lc3NhZ2VJZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJNZXNzYWdlQ29tcG9uZW50IiwiVXBkYXRlTWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJkZWZlckVkaXQiLCJEZWZlcnJlZFVwZGF0ZU1lc3NhZ2UiLCJkZWZlciIsIkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiZGVsZXRlIiwiZGVsZXRlRm9sbG93dXBNZXNzYWdlIiwiZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwicGF5bG9hZCIsImd1aWxkSWQiLCJpbnRlcmFjdGlvbiIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlciIsIm1lbWJlciIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ2ZXJzaW9uIiwibG9jYWxlIiwiZ3VpbGRMb2NhbGUiLCJndWlsZF9sb2NhbGUiLCJndWlsZCIsInNoYXJkSWQiLCJhcHBQZXJtaXNzaW9ucyIsImFwcF9wZXJtaXNzaW9ucyIsIm1lc3NhZ2UiLCJjaGFubmVsIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsImNvbnRleHQiLCJjb21wb25lbnRUeXBlIiwiY29tcG9uZW50X3R5cGUiLCJjdXN0b21JZCIsImN1c3RvbV9pZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJ2YWx1ZXMiLCJuYW1lIiwicmVzb2x2ZWQiLCJpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsIm9wdCIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsImN1c3RvbWl6ZXJzIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwidHJhbnNmb3JtZWQiLCJtZXNzYWdlcyIsIkNvbGxlY3Rpb24iLCJlbnRyaWVzIiwiX2lkIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImtleSIsImF0dGFjaG1lbnQiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwiY2FsbGJhY2siLCJhY3Rpdml0eUluc3RhbmNlSWQiLCJhY3Rpdml0eV9pbnN0YW5jZV9pZCIsInJlc3BvbnNlTWVzc2FnZUlkIiwicmVzcG9uc2VfbWVzc2FnZV9pZCIsInJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCIsInJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsIiwicmVzcG9uc2VNZXNzYWdlTG9hZGluZyIsInJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZyIsImFjdGl2aXR5SW5zdGFuY2UiLCJhY3Rpdml0eV9pbnN0YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUE0QmFBLGVBQWU7ZUFBZkE7O0lBb0ZHQyxvQkFBb0I7ZUFBcEJBOztJQWtLQUMsNEJBQTRCO2VBQTVCQTs7SUFsQkFDLG9DQUFvQztlQUFwQ0E7O0lBM0VBQyw4QkFBOEI7ZUFBOUJBOztJQVlBQyxnQ0FBZ0M7ZUFBaENBOztJQWtHQUMsNEJBQTRCO2VBQTVCQTs7O3VCQXhSVDt1QkFDb0I7QUFnQnBCLE1BQU1OLGtCQUFnRjtJQUMzRiwyRUFBMkU7SUFDM0UsR0FBSU8sU0FBUztJQUViLE1BQU1DLFNBQVFDLFFBQVEsRUFBRUMsT0FBTztRQUM3QixJQUFJQyxPQUFPQywrQkFBd0IsQ0FBQ0Msd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9KLGFBQWEsVUFBVUEsV0FBVztZQUFFSyxTQUFTTDtRQUFTO1FBRWpFLDRGQUE0RjtRQUM1RixJQUFJQSxTQUFTTSxLQUFLLEVBQUVKLE9BQU9DLCtCQUF3QixDQUFDSSxLQUFLO1FBQ3pELElBQUksSUFBSSxDQUFDTCxJQUFJLEtBQUtNLHVCQUFnQixDQUFDQyw4QkFBOEIsRUFBRVAsT0FBT0MsK0JBQXdCLENBQUNPLG9DQUFvQztRQUN2SSxJQUFJUixTQUFTQywrQkFBd0IsQ0FBQ0Msd0JBQXdCLElBQUlILFNBQVNVLFdBQVdYLFNBQVNZLEtBQUssR0FBR0MsbUJBQVksQ0FBQ0MsU0FBUztRQUU3SCx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUNDLFlBQVksRUFBRSxPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0MsbUJBQW1CLENBQUMsSUFBSSxDQUFDQyxLQUFLLEVBQUVuQjtRQUVyRiwyQkFBMkI7UUFDM0IsSUFBSSxJQUFJLENBQUNFLElBQUksS0FBS00sdUJBQWdCLENBQUNZLFdBQVcsSUFBSWxCLFNBQVNDLCtCQUF3QixDQUFDSSxLQUFLLEVBQ3ZGLE1BQU0sSUFBSWMsTUFBTTtRQUVsQixJQUFJLENBQUNOLFlBQVksR0FBRztRQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0ssdUJBQXVCLENBQUMsSUFBSSxDQUFDQyxFQUFFLEVBQUUsSUFBSSxDQUFDSixLQUFLLEVBQUU7WUFBRWpCO1lBQU1zQixNQUFNeEI7UUFBUyxHQUFHO1lBQUV5QixjQUFjeEIsU0FBU3dCO1FBQWE7SUFDN0k7SUFDQSxNQUFNQyxNQUFLMUIsUUFBUSxFQUFFMkIsU0FBUyxFQUFFMUIsT0FBTztRQUNyQyxJQUFJLElBQUksQ0FBQ0MsSUFBSSxLQUFLTSx1QkFBZ0IsQ0FBQ0MsOEJBQThCLEVBQUUsTUFBTSxJQUFJWSxNQUFNO1FBRW5GLDREQUE0RDtRQUM1RCxJQUFJLE9BQU9yQixhQUFhLFVBQVVBLFdBQVc7WUFBRUssU0FBU0w7UUFBUztRQUVqRSxJQUFJMkIsV0FBVztZQUNiLE9BQU8sTUFBTSxJQUFJLENBQUNYLEdBQUcsRUFBRUMsUUFBUVcsb0JBQW9CLElBQUksQ0FBQ1QsS0FBSyxFQUFFUSxXQUFXM0I7UUFDNUU7UUFFQSxJQUFJLENBQUMsSUFBSSxDQUFDZSxZQUFZLEVBQUU7WUFDdEIsSUFBSSxJQUFJLENBQUNiLElBQUksS0FBS00sdUJBQWdCLENBQUNxQixnQkFBZ0IsSUFBSSxJQUFJLENBQUMzQixJQUFJLEtBQUtNLHVCQUFnQixDQUFDWSxXQUFXLEVBQy9GLE1BQU0sSUFBSUMsTUFBTTtZQUVsQixJQUFJLENBQUNOLFlBQVksR0FBRztZQUNwQixPQUFPLE1BQU0sSUFBSSxDQUFDQyxHQUFHLENBQUNDLE9BQU8sQ0FBQ0ssdUJBQXVCLENBQ25ELElBQUksQ0FBQ0MsRUFBRSxFQUNQLElBQUksQ0FBQ0osS0FBSyxFQUNWO2dCQUFFakIsTUFBTUMsK0JBQXdCLENBQUMyQixhQUFhO2dCQUFFTixNQUFNeEI7WUFBUyxHQUMvREM7UUFFSjtRQUVBLE9BQU8sTUFBTSxJQUFJLENBQUNlLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDYywrQkFBK0IsQ0FBQyxJQUFJLENBQUNaLEtBQUssRUFBRW5CO0lBQzVFO0lBQ0EsTUFBTWdDLFdBQVUvQixPQUFPO1FBQ3JCLElBQUksSUFBSSxDQUFDQyxJQUFJLEtBQUtNLHVCQUFnQixDQUFDQyw4QkFBOEIsRUFBRSxNQUFNLElBQUlZLE1BQU07UUFDbkYsSUFBSSxJQUFJLENBQUNOLFlBQVksRUFBRSxNQUFNLElBQUlNLE1BQU07UUFFdkMsSUFBSSxJQUFJLENBQUNuQixJQUFJLEtBQUtNLHVCQUFnQixDQUFDcUIsZ0JBQWdCLElBQUksSUFBSSxDQUFDM0IsSUFBSSxLQUFLTSx1QkFBZ0IsQ0FBQ1ksV0FBVyxFQUMvRixNQUFNLElBQUlDLE1BQU07UUFFbEIsSUFBSSxDQUFDTixZQUFZLEdBQUc7UUFDcEIsT0FBTyxNQUFNLElBQUksQ0FBQ0MsR0FBRyxDQUFDQyxPQUFPLENBQUNLLHVCQUF1QixDQUFDLElBQUksQ0FBQ0MsRUFBRSxFQUFFLElBQUksQ0FBQ0osS0FBSyxFQUFFO1lBQUVqQixNQUFNQywrQkFBd0IsQ0FBQzhCLHFCQUFxQjtRQUFDLEdBQUdoQztJQUN2STtJQUNBLE1BQU1pQyxPQUFNdkIsU0FBUyxFQUFFVixPQUFPO1FBQzVCLElBQUksSUFBSSxDQUFDYyxZQUFZLEVBQUUsTUFBTSxJQUFJTSxNQUFNO1FBRXZDLElBQUksQ0FBQ04sWUFBWSxHQUFHO1FBQ3BCLE9BQU8sTUFBTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDSyx1QkFBdUIsQ0FDbkQsSUFBSSxDQUFDQyxFQUFFLEVBQ1AsSUFBSSxDQUFDSixLQUFLLEVBQ1Y7WUFDRWpCLE1BQU1DLCtCQUF3QixDQUFDZ0MsZ0NBQWdDO1lBQy9EWCxNQUFNO2dCQUNKWixPQUFPRCxZQUFZRSxtQkFBWSxDQUFDQyxTQUFTLEdBQUdoQjtZQUM5QztRQUNGLEdBQ0FHO0lBRUo7SUFDQSxNQUFNbUMsUUFBT1QsU0FBUztRQUNwQixJQUFJLElBQUksQ0FBQ3pCLElBQUksS0FBS00sdUJBQWdCLENBQUNDLDhCQUE4QixFQUFFLE1BQU0sSUFBSVksTUFBTTtRQUVuRixJQUFJTSxXQUFXLE9BQU8sTUFBTSxJQUFJLENBQUNYLEdBQUcsRUFBRUMsUUFBUW9CLHNCQUFzQixJQUFJLENBQUNsQixLQUFLLEVBQUVRO2FBQzNFLE9BQU8sTUFBTSxJQUFJLENBQUNYLEdBQUcsRUFBRUMsUUFBUXFCLGtDQUFrQyxJQUFJLENBQUNuQixLQUFLO0lBQ2xGO0FBQ0Y7QUFFTyxTQUFTM0IscUJBQ2R3QixHQUFnQixFQUNoQnVCLE9BQTZEO0lBRTdELE1BQU1DLFVBQVVELFFBQVFFLFdBQVcsQ0FBQ0MsUUFBUSxHQUFHMUIsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUNDLFFBQVEsSUFBSTVDO0lBQzFHLE1BQU0rQyxPQUFPN0IsSUFBSTJCLFlBQVksQ0FBQ0UsSUFBSSxDQUFDN0IsS0FBS3VCLFFBQVFFLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFRCxRQUFRTixRQUFRRSxXQUFXLENBQUNJLElBQUk7SUFFcEcsTUFBTUosY0FBMkJNLE9BQU9DLE1BQU0sQ0FBQ3pEO0lBQy9DLE1BQU0wRCxRQUFRakMsSUFBSTJCLFlBQVksQ0FBQ08saUJBQWlCLENBQUNULFdBQVc7SUFDNUQsdUZBQXVGO0lBQ3ZGQSxZQUFZekIsR0FBRyxHQUFHQTtJQUNsQnlCLFlBQVkxQixZQUFZLEdBQUc7SUFFM0IsSUFBSWtDLE1BQU0xQixFQUFFLElBQUlnQixRQUFRRSxXQUFXLENBQUNsQixFQUFFLEVBQUVrQixZQUFZbEIsRUFBRSxHQUFHUCxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ2xCLEVBQUU7SUFDMUcsSUFBSTBCLE1BQU1FLGFBQWEsSUFBSVosUUFBUUUsV0FBVyxDQUFDVyxjQUFjLEVBQzNEWCxZQUFZVSxhQUFhLEdBQUduQyxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFFLFdBQVcsQ0FBQ1csY0FBYztJQUMzRixJQUFJSCxNQUFNL0MsSUFBSSxJQUFJcUMsUUFBUUUsV0FBVyxDQUFDdkMsSUFBSSxFQUFFdUMsWUFBWXZDLElBQUksR0FBR3FDLFFBQVFFLFdBQVcsQ0FBQ3ZDLElBQUk7SUFDdkYsSUFBSStDLE1BQU05QixLQUFLLElBQUlvQixRQUFRRSxXQUFXLENBQUN0QixLQUFLLEVBQUVzQixZQUFZdEIsS0FBSyxHQUFHb0IsUUFBUUUsV0FBVyxDQUFDdEIsS0FBSztJQUMzRixJQUFJOEIsTUFBTUksT0FBTyxJQUFJZCxRQUFRRSxXQUFXLENBQUNZLE9BQU8sRUFBRVosWUFBWVksT0FBTyxHQUFHZCxRQUFRRSxXQUFXLENBQUNZLE9BQU87SUFDbkcsSUFBSUosTUFBTUssTUFBTSxJQUFJZixRQUFRRSxXQUFXLENBQUNhLE1BQU0sRUFBRWIsWUFBWWEsTUFBTSxHQUFHZixRQUFRRSxXQUFXLENBQUNhLE1BQU07SUFDL0YsSUFBSUwsTUFBTU0sV0FBVyxJQUFJaEIsUUFBUUUsV0FBVyxDQUFDZSxZQUFZLEVBQUVmLFlBQVljLFdBQVcsR0FBR2hCLFFBQVFFLFdBQVcsQ0FBQ2UsWUFBWTtJQUNySCxJQUFJUCxNQUFNUSxLQUFLLElBQUlsQixRQUFRRSxXQUFXLENBQUNnQixLQUFLLEVBQzFDLHdFQUF3RTtJQUN4RWhCLFlBQVlnQixLQUFLLEdBQUd6QyxJQUFJMkIsWUFBWSxDQUFDYyxLQUFLLENBQUN6QyxLQUFLO1FBQUV5QyxPQUFPbEIsUUFBUUUsV0FBVyxDQUFDZ0IsS0FBSztRQUFFQyxTQUFTbkIsUUFBUW1CLE9BQU87SUFBQztJQUMvRyxJQUFJVCxNQUFNVCxPQUFPLElBQUlBLFNBQVNDLFlBQVlELE9BQU8sR0FBR0E7SUFDcEQsSUFBSVMsTUFBTUosSUFBSSxJQUFJQSxNQUFNSixZQUFZSSxJQUFJLEdBQUdBO0lBQzNDLElBQUlJLE1BQU1VLGNBQWMsSUFBSXBCLFFBQVFFLFdBQVcsQ0FBQ21CLGVBQWUsRUFDN0RuQixZQUFZa0IsY0FBYyxHQUFHM0MsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUNtQixlQUFlO0lBQzdGLElBQUlYLE1BQU1ZLE9BQU8sSUFBSXRCLFFBQVFFLFdBQVcsQ0FBQ29CLE9BQU8sRUFDOUNwQixZQUFZb0IsT0FBTyxHQUFHN0MsSUFBSTJCLFlBQVksQ0FBQ2tCLE9BQU8sQ0FBQzdDLEtBQUs7UUFBRTZDLFNBQVN0QixRQUFRRSxXQUFXLENBQUNvQixPQUFPO1FBQUVILFNBQVM7SUFBRTtJQUN6RyxJQUFJVCxNQUFNYSxPQUFPLElBQUl2QixRQUFRRSxXQUFXLENBQUNxQixPQUFPLEVBQzlDckIsWUFBWXFCLE9BQU8sR0FBRzlDLElBQUkyQixZQUFZLENBQUNtQixPQUFPLENBQUM5QyxLQUFLO1FBQUU4QyxTQUFTdkIsUUFBUUUsV0FBVyxDQUFDcUIsT0FBTztRQUFvQnRCO0lBQVE7SUFDeEgsSUFBSVMsTUFBTWMsU0FBUyxJQUFJeEIsUUFBUUUsV0FBVyxDQUFDdUIsVUFBVSxFQUFFdkIsWUFBWXNCLFNBQVMsR0FBRy9DLElBQUkyQixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUUUsV0FBVyxDQUFDdUIsVUFBVTtJQUN4SSxJQUFJZixNQUFNSCxNQUFNLElBQUlOLFdBQVdELFFBQVFFLFdBQVcsQ0FBQ0ssTUFBTSxFQUN2REwsWUFBWUssTUFBTSxHQUFHOUIsSUFBSTJCLFlBQVksQ0FBQ0csTUFBTSxDQUFDOUIsS0FBS3VCLFFBQVFFLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFTixTQUFTSyxLQUFLdEIsRUFBRTtJQUNoRyxJQUFJMEIsTUFBTWdCLDRCQUE0QixJQUFJMUIsUUFBUUUsV0FBVyxDQUFDeUIsOEJBQThCLEVBQUU7UUFDNUZ6QixZQUFZd0IsNEJBQTRCLEdBQUcsQ0FBQztRQUU1QyxJQUFJMUIsUUFBUUUsV0FBVyxDQUFDeUIsOEJBQThCLENBQUMsSUFBSSxFQUN6RHpCLFlBQVl3Qiw0QkFBNEIsQ0FBQ0Usd0NBQWlDLENBQUNDLFlBQVksQ0FBQyxHQUFHcEQsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUNuSEwsUUFBUUUsV0FBVyxDQUFDeUIsOEJBQThCLENBQUMsSUFBSTtRQUUzRCxJQUFJM0IsUUFBUUUsV0FBVyxDQUFDeUIsOEJBQThCLENBQUMsSUFBSSxFQUN6RHpCLFlBQVl3Qiw0QkFBNEIsQ0FBQ0Usd0NBQWlDLENBQUNFLFdBQVcsQ0FBQyxHQUFHckQsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUNsSEwsUUFBUUUsV0FBVyxDQUFDeUIsOEJBQThCLENBQUMsSUFBSTtJQUU3RDtJQUNBLElBQUlqQixNQUFNcUIsT0FBTyxJQUFJL0IsUUFBUUUsV0FBVyxDQUFDNkIsT0FBTyxFQUFFN0IsWUFBWTZCLE9BQU8sR0FBRy9CLFFBQVFFLFdBQVcsQ0FBQzZCLE9BQU87SUFDbkcsSUFBSXJCLE1BQU16QixJQUFJLElBQUllLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksRUFBRTtRQUMxQ2lCLFlBQVlqQixJQUFJLEdBQUc7WUFDakJ0QixNQUFNcUMsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDdEIsSUFBSTtZQUNuQ3FFLGVBQWVoQyxRQUFRRSxXQUFXLENBQUNqQixJQUFJLENBQUNnRCxjQUFjO1lBQ3REQyxVQUFVbEMsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDa0QsU0FBUztZQUM1Q0MsWUFBWXBDLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ21ELFVBQVUsRUFBRUMsSUFBSSxDQUFDQyxZQUFjN0QsSUFBSTJCLFlBQVksQ0FBQ2tDLFNBQVMsQ0FBQzdELEtBQUs2RDtZQUNwR0MsUUFBUXZDLFFBQVFFLFdBQVcsQ0FBQ2pCLElBQUksQ0FBQ3NELE1BQU07WUFDdkN2RCxJQUFJZ0IsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDRCxFQUFFLEdBQUdQLElBQUkyQixZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDRCxFQUFFLElBQUl6QjtZQUM1RmlGLE1BQU14QyxRQUFRRSxXQUFXLENBQUNqQixJQUFJLENBQUN1RCxJQUFJO1lBQ25DQyxVQUFVekMsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDd0QsUUFBUSxHQUN2Q2hFLElBQUkyQixZQUFZLENBQUNzQyx1QkFBdUIsQ0FBQ2pFLEtBQUs7Z0JBQUVnRSxVQUFVekMsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDd0QsUUFBUTtnQkFBRXRCLFNBQVNuQixRQUFRbUIsT0FBTztnQkFBRWxCO1lBQVEsS0FDL0gxQztZQUNKRyxTQUFTc0MsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDdkIsT0FBTyxFQUFFMkUsSUFBSSxDQUFDTSxNQUFRbEUsSUFBSTJCLFlBQVksQ0FBQ3dDLHNCQUFzQixDQUFDbkUsS0FBS2tFO1lBQ3JHRSxVQUFVN0MsUUFBUUUsV0FBVyxDQUFDakIsSUFBSSxDQUFDNkQsU0FBUyxHQUFHckUsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRRSxXQUFXLENBQUNqQixJQUFJLENBQUM2RCxTQUFTLElBQUl2RjtRQUNsSDtJQUNGO0lBRUEsZ0lBQWdJO0lBQ2hJLE9BQU9rQixJQUFJMkIsWUFBWSxDQUFDMkMsV0FBVyxDQUFDN0MsV0FBVyxDQUFDekIsS0FBS3VCLFNBQVNFO0FBQ2hFO0FBRU8sU0FBUzlDLCtCQUErQnFCLEdBQVEsRUFBRXVFLE1BQW9DO0lBQzNGLE1BQU1MLE1BQU07UUFDVkgsTUFBTVEsT0FBT1IsSUFBSTtRQUNqQjdFLE1BQU1xRixPQUFPckYsSUFBSTtRQUNqQnNGLE9BQU9ELE9BQU9DLEtBQUs7UUFDbkJ2RixTQUFTc0YsT0FBT3RGLE9BQU87UUFDdkJ3RixTQUFTRixPQUFPRSxPQUFPO0lBQ3pCO0lBRUEsT0FBT3pFLElBQUkyQixZQUFZLENBQUMyQyxXQUFXLENBQUNILHNCQUFzQixDQUFDbkUsS0FBS3VFLFFBQVFMO0FBQzFFO0FBRU8sU0FBU3RGLGlDQUNkb0IsR0FBZ0IsRUFDaEJ1QixPQUF3RjtJQUV4RixNQUFNbUQsY0FBdUMsQ0FBQztJQUU5QyxJQUFJbkQsUUFBUXlDLFFBQVEsQ0FBQ1csUUFBUSxFQUFFO1FBQzdCRCxZQUFZQyxRQUFRLEdBQUcsSUFBSUMsaUJBQVUsQ0FDbkM3QyxPQUFPOEMsT0FBTyxDQUFDdEQsUUFBUXlDLFFBQVEsQ0FBQ1csUUFBUSxFQUFFZixHQUFHLENBQUMsQ0FBQyxDQUFDa0IsS0FBS04sTUFBTTtZQUN6RCxNQUFNM0IsVUFBbUI3QyxJQUFJMkIsWUFBWSxDQUFDa0IsT0FBTyxDQUFDN0MsS0FBSztnQkFBRTZDLFNBQVMyQjtnQkFBTzlCLFNBQVNuQixRQUFRbUIsT0FBTztZQUFDO1lBQ2xHLE9BQU87Z0JBQUNHLFFBQVF0QyxFQUFFO2dCQUFFc0M7YUFBUTtRQUM5QjtJQUVKO0lBRUEsSUFBSXRCLFFBQVF5QyxRQUFRLENBQUNlLEtBQUssRUFBRTtRQUMxQkwsWUFBWUssS0FBSyxHQUFHLElBQUlILGlCQUFVLENBQ2hDN0MsT0FBTzhDLE9BQU8sQ0FBQ3RELFFBQVF5QyxRQUFRLENBQUNlLEtBQUssRUFBRW5CLEdBQUcsQ0FBQyxDQUFDLENBQUNrQixLQUFLTixNQUFNO1lBQ3RELE1BQU0zQyxPQUFPN0IsSUFBSTJCLFlBQVksQ0FBQ0UsSUFBSSxDQUFDN0IsS0FBS3dFO1lBQ3hDLE9BQU87Z0JBQUMzQyxLQUFLdEIsRUFBRTtnQkFBRXNCO2FBQUs7UUFDeEI7SUFFSjtJQUVBLElBQUlOLFFBQVFDLE9BQU8sSUFBSUQsUUFBUXlDLFFBQVEsQ0FBQ2dCLE9BQU8sRUFBRTtRQUMvQ04sWUFBWU0sT0FBTyxHQUFHLElBQUlKLGlCQUFVLENBQ2xDN0MsT0FBTzhDLE9BQU8sQ0FBQ3RELFFBQVF5QyxRQUFRLENBQUNnQixPQUFPLEVBQUVwQixHQUFHLENBQUMsQ0FBQyxDQUFDckQsSUFBSWlFLE1BQU07WUFDdkQsTUFBTTFDLFNBQWlCOUIsSUFBSTJCLFlBQVksQ0FBQ0csTUFBTSxDQUFDOUIsS0FBS3dFLE9BQU9qRCxRQUFRQyxPQUFPLEVBQUd4QixJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUNyQjtZQUN4RyxPQUFPO2dCQUFDdUIsT0FBT3ZCLEVBQUU7Z0JBQUV1QjthQUFPO1FBQzVCO0lBRUo7SUFFQSxJQUFJUCxRQUFRQyxPQUFPLElBQUlELFFBQVF5QyxRQUFRLENBQUNpQixLQUFLLEVBQUU7UUFDN0NQLFlBQVlPLEtBQUssR0FBRyxJQUFJTCxpQkFBVSxDQUNoQzdDLE9BQU84QyxPQUFPLENBQUN0RCxRQUFReUMsUUFBUSxDQUFDaUIsS0FBSyxFQUFFckIsR0FBRyxDQUFDLENBQUMsQ0FBQ2tCLEtBQUtOLE1BQU07WUFDdEQsTUFBTVUsT0FBT2xGLElBQUkyQixZQUFZLENBQUN1RCxJQUFJLENBQUNsRixLQUFLO2dCQUFFa0YsTUFBTVY7Z0JBQU9oRCxTQUFTRCxRQUFRQyxPQUFPO1lBQUU7WUFDakYsT0FBTztnQkFBQzBELEtBQUszRSxFQUFFO2dCQUFFMkU7YUFBSztRQUN4QjtJQUVKO0lBRUEsSUFBSTNELFFBQVF5QyxRQUFRLENBQUNtQixRQUFRLEVBQUU7UUFDN0JULFlBQVlTLFFBQVEsR0FBRyxJQUFJUCxpQkFBVSxDQUNuQzdDLE9BQU84QyxPQUFPLENBQUN0RCxRQUFReUMsUUFBUSxDQUFDbUIsUUFBUSxFQUFFdkIsR0FBRyxDQUFDLENBQUMsQ0FBQ2tCLEtBQUtOLE1BQU07WUFDekQsTUFBTTFCLFVBQVU5QyxJQUFJMkIsWUFBWSxDQUFDbUIsT0FBTyxDQUFDOUMsS0FBSztnQkFBRThDLFNBQVMwQjtZQUFNO1lBQy9ELE9BQU87Z0JBQUMxQixRQUFRdkMsRUFBRTtnQkFBRXVDO2FBQVE7UUFDOUI7SUFFSjtJQUVBLElBQUl2QixRQUFReUMsUUFBUSxDQUFDb0IsV0FBVyxFQUFFO1FBQ2hDVixZQUFZVSxXQUFXLEdBQUcsSUFBSVIsaUJBQVUsQ0FDdEM3QyxPQUFPOEMsT0FBTyxDQUFDdEQsUUFBUXlDLFFBQVEsQ0FBQ29CLFdBQVcsRUFBRXhCLEdBQUcsQ0FBQyxDQUFDLENBQUN5QixLQUFLYixNQUFNO1lBQzVELE1BQU1qRSxLQUFLUCxJQUFJMkIsWUFBWSxDQUFDQyxTQUFTLENBQUN5RDtZQUN0QyxPQUFPO2dCQUFDOUU7Z0JBQUlQLElBQUkyQixZQUFZLENBQUMyRCxVQUFVLENBQUN0RixLQUFLd0U7YUFBTztRQUN0RDtJQUVKO0lBRUEsT0FBT3hFLElBQUkyQixZQUFZLENBQUMyQyxXQUFXLENBQUNMLHVCQUF1QixDQUFDakUsS0FBS3VCLFNBQVNtRDtBQUM1RTtBQUVPLFNBQVNoRyxxQ0FDZHNCLEdBQWdCLEVBQ2hCdUIsT0FBNkY7SUFFN0YsTUFBTVUsUUFBUWpDLElBQUkyQixZQUFZLENBQUNPLGlCQUFpQixDQUFDcUQsMkJBQTJCO0lBQzVFLE1BQU12RyxXQUFXLENBQUM7SUFFbEIsSUFBSWlELE1BQU1SLFdBQVcsSUFBSUYsUUFBUWdFLDJCQUEyQixDQUFDOUQsV0FBVyxFQUN0RXpDLFNBQVN5QyxXQUFXLEdBQUd6QixJQUFJMkIsWUFBWSxDQUFDNkQsbUJBQW1CLENBQUN4RixLQUFLdUIsUUFBUWdFLDJCQUEyQixDQUFDOUQsV0FBVztJQUNsSCxJQUFJUSxNQUFNd0QsUUFBUSxJQUFJbEUsUUFBUWdFLDJCQUEyQixDQUFDRSxRQUFRLEVBQ2hFekcsU0FBU3lHLFFBQVEsR0FBR3pGLElBQUkyQixZQUFZLENBQUMrRCxtQkFBbUIsQ0FBQzFGLEtBQUs7UUFDNUQwRixxQkFBcUJuRSxRQUFRZ0UsMkJBQTJCLENBQUNFLFFBQVE7UUFDakUvQyxTQUFTbkIsUUFBUW1CLE9BQU87SUFDMUI7SUFFRixPQUFPMUMsSUFBSTJCLFlBQVksQ0FBQzJDLFdBQVcsQ0FBQ2lCLDJCQUEyQixDQUFDdkYsS0FBS3VCLFFBQVFnRSwyQkFBMkIsRUFBRXZHO0FBQzVHO0FBRU8sU0FBU1AsNkJBQ2R1QixHQUFnQixFQUNoQnVCLE9BQW1DO0lBRW5DLE1BQU1VLFFBQVFqQyxJQUFJMkIsWUFBWSxDQUFDTyxpQkFBaUIsQ0FBQ3NELG1CQUFtQjtJQUNwRSxNQUFNRyxXQUFXLENBQUM7SUFFbEIsSUFBSTFELE1BQU0xQixFQUFFLElBQUlnQixRQUFRaEIsRUFBRSxFQUFFb0YsU0FBU3BGLEVBQUUsR0FBR1AsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRaEIsRUFBRTtJQUMvRSxJQUFJMEIsTUFBTS9DLElBQUksSUFBSXFDLFFBQVFyQyxJQUFJLEVBQUV5RyxTQUFTekcsSUFBSSxHQUFHcUMsUUFBUXJDLElBQUk7SUFDNUQsSUFBSStDLE1BQU0yRCxrQkFBa0IsSUFBSXJFLFFBQVFzRSxvQkFBb0IsRUFBRUYsU0FBU0Msa0JBQWtCLEdBQUdyRSxRQUFRc0Usb0JBQW9CO0lBQ3hILElBQUk1RCxNQUFNNkQsaUJBQWlCLElBQUl2RSxRQUFRd0UsbUJBQW1CLEVBQUVKLFNBQVNHLGlCQUFpQixHQUFHOUYsSUFBSTJCLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRd0UsbUJBQW1CO0lBQy9JLElBQUk5RCxNQUFNK0Qsd0JBQXdCLElBQUl6RSxRQUFRMEUsMEJBQTBCLEVBQUVOLFNBQVNLLHdCQUF3QixHQUFHekUsUUFBUTBFLDBCQUEwQjtJQUNoSixJQUFJaEUsTUFBTWlFLHNCQUFzQixJQUFJM0UsUUFBUTRFLHdCQUF3QixFQUFFUixTQUFTTyxzQkFBc0IsR0FBRzNFLFFBQVE0RSx3QkFBd0I7SUFFeEksT0FBT25HLElBQUkyQixZQUFZLENBQUMyQyxXQUFXLENBQUNrQixtQkFBbUIsQ0FBQ3hGLEtBQUt1QixTQUFTb0U7QUFDeEU7QUFFTyxTQUFTOUcsNkJBQ2RtQixHQUFnQixFQUNoQnVCLE9BQTZFO0lBRTdFLE1BQU1VLFFBQVFqQyxJQUFJMkIsWUFBWSxDQUFDTyxpQkFBaUIsQ0FBQ3dELG1CQUFtQjtJQUNwRSxNQUFNRCxXQUFXLENBQUM7SUFFbEIsSUFBSXhELE1BQU0vQyxJQUFJLElBQUlxQyxRQUFRbUUsbUJBQW1CLENBQUN4RyxJQUFJLEVBQUV1RyxTQUFTdkcsSUFBSSxHQUFHcUMsUUFBUW1FLG1CQUFtQixDQUFDeEcsSUFBSTtJQUNwRyxJQUFJK0MsTUFBTW1FLGdCQUFnQixJQUFJN0UsUUFBUW1FLG1CQUFtQixDQUFDVyxpQkFBaUIsRUFDekVaLFNBQVNXLGdCQUFnQixHQUFHN0UsUUFBUW1FLG1CQUFtQixDQUFDVyxpQkFBaUI7SUFDM0UsSUFBSXBFLE1BQU1ZLE9BQU8sSUFBSXRCLFFBQVFtRSxtQkFBbUIsQ0FBQzdDLE9BQU8sRUFDdEQ0QyxTQUFTNUMsT0FBTyxHQUFHN0MsSUFBSTJCLFlBQVksQ0FBQ2tCLE9BQU8sQ0FBQzdDLEtBQUs7UUFBRTZDLFNBQVN0QixRQUFRbUUsbUJBQW1CLENBQUM3QyxPQUFPO1FBQUVILFNBQVNuQixRQUFRbUIsT0FBTztJQUFDO0lBRTVILE9BQU8xQyxJQUFJMkIsWUFBWSxDQUFDMkMsV0FBVyxDQUFDb0IsbUJBQW1CLENBQUMxRixLQUFLdUIsUUFBUW1FLG1CQUFtQixFQUFFRDtBQUM1RiJ9
|
|
@@ -15,6 +15,7 @@ function transformSubscription(bot, payload) {
|
|
|
15
15
|
if (props.userId && payload.user_id) subscription.userId = bot.transformers.snowflake(payload.user_id);
|
|
16
16
|
if (props.skuIds && payload.sku_ids) subscription.skuIds = payload.sku_ids.map((skuId)=>bot.transformers.snowflake(skuId));
|
|
17
17
|
if (props.entitlementIds && payload.entitlement_ids) subscription.entitlementIds = payload.entitlement_ids.map((entitlementId)=>bot.transformers.snowflake(entitlementId));
|
|
18
|
+
if (props.renewalSkuIds && payload.renewal_sku_ids) subscription.renewalSkuIds = payload.renewal_sku_ids.map((skuId)=>bot.transformers.snowflake(skuId));
|
|
18
19
|
if (props.currentPeriodStart && payload.current_period_start) subscription.currentPeriodStart = Date.parse(payload.current_period_start);
|
|
19
20
|
if (props.currentPeriodEnd && payload.current_period_end) subscription.currentPeriodEnd = Date.parse(payload.current_period_end);
|
|
20
21
|
if (props.status && payload.status) subscription.status = payload.status;
|
|
@@ -23,4 +24,4 @@ function transformSubscription(bot, payload) {
|
|
|
23
24
|
return bot.transformers.customizers.subscription(bot, payload, subscription);
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvc3Vic2NyaXB0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZFN1YnNjcmlwdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbEJvdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1TdWJzY3JpcHRpb24oYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZFN1YnNjcmlwdGlvbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnN1YnNjcmlwdGlvbiB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5zdWJzY3JpcHRpb25cbiAgY29uc3Qgc3Vic2NyaXB0aW9uID0ge30gYXMgU3Vic2NyaXB0aW9uXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHN1YnNjcmlwdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy51c2VySWQgJiYgcGF5bG9hZC51c2VyX2lkKSBzdWJzY3JpcHRpb24udXNlcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC51c2VyX2lkKVxuICBpZiAocHJvcHMuc2t1SWRzICYmIHBheWxvYWQuc2t1X2lkcykgc3Vic2NyaXB0aW9uLnNrdUlkcyA9IHBheWxvYWQuc2t1X2lkcy5tYXAoKHNrdUlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShza3VJZCkpXG4gIGlmIChwcm9wcy5lbnRpdGxlbWVudElkcyAmJiBwYXlsb2FkLmVudGl0bGVtZW50X2lkcylcbiAgICBzdWJzY3JpcHRpb24uZW50aXRsZW1lbnRJZHMgPSBwYXlsb2FkLmVudGl0bGVtZW50X2lkcy5tYXAoKGVudGl0bGVtZW50SWQpID0+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvc3Vic2NyaXB0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZFN1YnNjcmlwdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbEJvdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1TdWJzY3JpcHRpb24oYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZFN1YnNjcmlwdGlvbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLnN1YnNjcmlwdGlvbiB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5zdWJzY3JpcHRpb25cbiAgY29uc3Qgc3Vic2NyaXB0aW9uID0ge30gYXMgU3Vic2NyaXB0aW9uXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHN1YnNjcmlwdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy51c2VySWQgJiYgcGF5bG9hZC51c2VyX2lkKSBzdWJzY3JpcHRpb24udXNlcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC51c2VyX2lkKVxuICBpZiAocHJvcHMuc2t1SWRzICYmIHBheWxvYWQuc2t1X2lkcykgc3Vic2NyaXB0aW9uLnNrdUlkcyA9IHBheWxvYWQuc2t1X2lkcy5tYXAoKHNrdUlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShza3VJZCkpXG4gIGlmIChwcm9wcy5lbnRpdGxlbWVudElkcyAmJiBwYXlsb2FkLmVudGl0bGVtZW50X2lkcylcbiAgICBzdWJzY3JpcHRpb24uZW50aXRsZW1lbnRJZHMgPSBwYXlsb2FkLmVudGl0bGVtZW50X2lkcy5tYXAoKGVudGl0bGVtZW50SWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGVudGl0bGVtZW50SWQpKVxuICBpZiAocHJvcHMucmVuZXdhbFNrdUlkcyAmJiBwYXlsb2FkLnJlbmV3YWxfc2t1X2lkcylcbiAgICBzdWJzY3JpcHRpb24ucmVuZXdhbFNrdUlkcyA9IHBheWxvYWQucmVuZXdhbF9za3VfaWRzLm1hcCgoc2t1SWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNrdUlkKSlcbiAgaWYgKHByb3BzLmN1cnJlbnRQZXJpb2RTdGFydCAmJiBwYXlsb2FkLmN1cnJlbnRfcGVyaW9kX3N0YXJ0KSBzdWJzY3JpcHRpb24uY3VycmVudFBlcmlvZFN0YXJ0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmN1cnJlbnRfcGVyaW9kX3N0YXJ0KVxuICBpZiAocHJvcHMuY3VycmVudFBlcmlvZEVuZCAmJiBwYXlsb2FkLmN1cnJlbnRfcGVyaW9kX2VuZCkgc3Vic2NyaXB0aW9uLmN1cnJlbnRQZXJpb2RFbmQgPSBEYXRlLnBhcnNlKHBheWxvYWQuY3VycmVudF9wZXJpb2RfZW5kKVxuICBpZiAocHJvcHMuc3RhdHVzICYmIHBheWxvYWQuc3RhdHVzKSBzdWJzY3JpcHRpb24uc3RhdHVzID0gcGF5bG9hZC5zdGF0dXNcbiAgaWYgKHByb3BzLmNhbmNlbGVkQXQgJiYgcGF5bG9hZC5jYW5jZWxlZF9hdCkgc3Vic2NyaXB0aW9uLmNhbmNlbGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuY2FuY2VsZWRfYXQpXG4gIGlmIChwcm9wcy5jb3VudHJ5ICYmIHBheWxvYWQuY291bnRyeSkgc3Vic2NyaXB0aW9uLmNvdW50cnkgPSBwYXlsb2FkLmNvdW50cnlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5zdWJzY3JpcHRpb24oYm90LCBwYXlsb2FkLCBzdWJzY3JpcHRpb24pXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtU3Vic2NyaXB0aW9uIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJzdWJzY3JpcHRpb24iLCJpZCIsInNub3dmbGFrZSIsInVzZXJJZCIsInVzZXJfaWQiLCJza3VJZHMiLCJza3VfaWRzIiwibWFwIiwic2t1SWQiLCJlbnRpdGxlbWVudElkcyIsImVudGl0bGVtZW50X2lkcyIsImVudGl0bGVtZW50SWQiLCJyZW5ld2FsU2t1SWRzIiwicmVuZXdhbF9za3VfaWRzIiwiY3VycmVudFBlcmlvZFN0YXJ0IiwiY3VycmVudF9wZXJpb2Rfc3RhcnQiLCJEYXRlIiwicGFyc2UiLCJjdXJyZW50UGVyaW9kRW5kIiwiY3VycmVudF9wZXJpb2RfZW5kIiwic3RhdHVzIiwiY2FuY2VsZWRBdCIsImNhbmNlbGVkX2F0IiwiY291bnRyeSIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUdnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0Esc0JBQXNCQyxHQUFnQixFQUFFQyxPQUE0QjtJQUNsRixNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxZQUFZO0lBQzdELE1BQU1BLGVBQWUsQ0FBQztJQUV0QixJQUFJSCxNQUFNSSxFQUFFLElBQUlMLFFBQVFLLEVBQUUsRUFBRUQsYUFBYUMsRUFBRSxHQUFHTixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUUssRUFBRTtJQUNuRixJQUFJSixNQUFNTSxNQUFNLElBQUlQLFFBQVFRLE9BQU8sRUFBRUosYUFBYUcsTUFBTSxHQUFHUixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ04sUUFBUVEsT0FBTztJQUNyRyxJQUFJUCxNQUFNUSxNQUFNLElBQUlULFFBQVFVLE9BQU8sRUFBRU4sYUFBYUssTUFBTSxHQUFHVCxRQUFRVSxPQUFPLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxRQUFVYixJQUFJRyxZQUFZLENBQUNJLFNBQVMsQ0FBQ007SUFDckgsSUFBSVgsTUFBTVksY0FBYyxJQUFJYixRQUFRYyxlQUFlLEVBQ2pEVixhQUFhUyxjQUFjLEdBQUdiLFFBQVFjLGVBQWUsQ0FBQ0gsR0FBRyxDQUFDLENBQUNJLGdCQUFrQmhCLElBQUlHLFlBQVksQ0FBQ0ksU0FBUyxDQUFDUztJQUMxRyxJQUFJZCxNQUFNZSxhQUFhLElBQUloQixRQUFRaUIsZUFBZSxFQUNoRGIsYUFBYVksYUFBYSxHQUFHaEIsUUFBUWlCLGVBQWUsQ0FBQ04sR0FBRyxDQUFDLENBQUNDLFFBQVViLElBQUlHLFlBQVksQ0FBQ0ksU0FBUyxDQUFDTTtJQUNqRyxJQUFJWCxNQUFNaUIsa0JBQWtCLElBQUlsQixRQUFRbUIsb0JBQW9CLEVBQUVmLGFBQWFjLGtCQUFrQixHQUFHRSxLQUFLQyxLQUFLLENBQUNyQixRQUFRbUIsb0JBQW9CO0lBQ3ZJLElBQUlsQixNQUFNcUIsZ0JBQWdCLElBQUl0QixRQUFRdUIsa0JBQWtCLEVBQUVuQixhQUFha0IsZ0JBQWdCLEdBQUdGLEtBQUtDLEtBQUssQ0FBQ3JCLFFBQVF1QixrQkFBa0I7SUFDL0gsSUFBSXRCLE1BQU11QixNQUFNLElBQUl4QixRQUFRd0IsTUFBTSxFQUFFcEIsYUFBYW9CLE1BQU0sR0FBR3hCLFFBQVF3QixNQUFNO0lBQ3hFLElBQUl2QixNQUFNd0IsVUFBVSxJQUFJekIsUUFBUTBCLFdBQVcsRUFBRXRCLGFBQWFxQixVQUFVLEdBQUdMLEtBQUtDLEtBQUssQ0FBQ3JCLFFBQVEwQixXQUFXO0lBQ3JHLElBQUl6QixNQUFNMEIsT0FBTyxJQUFJM0IsUUFBUTJCLE9BQU8sRUFBRXZCLGFBQWF1QixPQUFPLEdBQUczQixRQUFRMkIsT0FBTztJQUU1RSxPQUFPNUIsSUFBSUcsWUFBWSxDQUFDMEIsV0FBVyxDQUFDeEIsWUFBWSxDQUFDTCxLQUFLQyxTQUFTSTtBQUNqRSJ9
|