@discordeno/bot 19.0.0-next.f8f976a → 19.0.0-next.f9bdfce
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/README.md +30 -0
- package/dist/cjs/bot.cjs +1 -1
- package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +2 -2
- package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +8 -5
- package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +6 -3
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +4 -2
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +3 -2
- package/dist/cjs/transformers/attachment.cjs +2 -1
- package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
- package/dist/cjs/transformers/channel.cjs +29 -2
- package/dist/cjs/transformers/emoji.cjs +19 -4
- package/dist/cjs/transformers/guild.cjs +5 -2
- package/dist/cjs/transformers/index.cjs +2 -1
- package/dist/cjs/transformers/interaction.cjs +38 -41
- package/dist/cjs/transformers/invite.cjs +2 -1
- package/dist/cjs/transformers/member.cjs +3 -2
- package/dist/cjs/transformers/message.cjs +32 -33
- package/dist/cjs/transformers/reverse/member.cjs +7 -2
- package/dist/cjs/transformers/sku.cjs +1 -1
- package/dist/cjs/transformers/toggles/Permissions.cjs +2 -2
- package/dist/cjs/transformers/toggles/channel.cjs +7 -2
- package/dist/cjs/transformers/toggles/guild.cjs +74 -52
- package/dist/cjs/transformers/user.cjs +2 -2
- package/dist/cjs/transformers.cjs +48 -7
- package/dist/cjs/typings.cjs +4 -26
- package/dist/esm/bot.js +1 -1
- package/dist/esm/handlers/emojis/GUILD_EMOJIS_UPDATE.js +2 -2
- package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +8 -5
- package/dist/esm/handlers/interactions/INTERACTION_CREATE.js +6 -3
- package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +4 -2
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +3 -2
- package/dist/esm/transformers/attachment.js +2 -1
- package/dist/esm/transformers/avatarDecorationData.js +10 -0
- package/dist/esm/transformers/channel.js +27 -3
- package/dist/esm/transformers/emoji.js +8 -1
- package/dist/esm/transformers/guild.js +5 -2
- package/dist/esm/transformers/index.js +2 -1
- package/dist/esm/transformers/interaction.js +37 -40
- package/dist/esm/transformers/invite.js +2 -1
- package/dist/esm/transformers/member.js +3 -2
- package/dist/esm/transformers/message.js +3 -4
- package/dist/esm/transformers/reverse/member.js +7 -2
- package/dist/esm/transformers/sku.js +1 -1
- package/dist/esm/transformers/toggles/Permissions.js +2 -2
- package/dist/esm/transformers/toggles/channel.js +7 -2
- package/dist/esm/transformers/toggles/guild.js +74 -52
- package/dist/esm/transformers/user.js +2 -2
- package/dist/esm/transformers.js +51 -10
- package/dist/esm/typings.js +1 -15
- package/dist/types/bot.d.ts +9 -3
- package/dist/types/bot.d.ts.map +1 -1
- package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts +1 -1
- package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
- package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
- package/dist/types/transformers/attachment.d.ts +2 -0
- package/dist/types/transformers/attachment.d.ts.map +1 -1
- package/dist/types/transformers/avatarDecorationData.d.ts +9 -0
- package/dist/types/transformers/avatarDecorationData.d.ts.map +1 -0
- package/dist/types/transformers/channel.d.ts +38 -4
- package/dist/types/transformers/channel.d.ts.map +1 -1
- package/dist/types/transformers/emoji.d.ts +8 -1
- package/dist/types/transformers/emoji.d.ts.map +1 -1
- package/dist/types/transformers/guild.d.ts +3 -3
- package/dist/types/transformers/guild.d.ts.map +1 -1
- package/dist/types/transformers/index.d.ts +1 -0
- package/dist/types/transformers/index.d.ts.map +1 -1
- package/dist/types/transformers/interaction.d.ts +8 -14
- package/dist/types/transformers/interaction.d.ts.map +1 -1
- package/dist/types/transformers/invite.d.ts +3 -1
- package/dist/types/transformers/invite.d.ts.map +1 -1
- package/dist/types/transformers/member.d.ts +4 -1
- package/dist/types/transformers/member.d.ts.map +1 -1
- package/dist/types/transformers/message.d.ts +2 -2
- package/dist/types/transformers/message.d.ts.map +1 -1
- package/dist/types/transformers/reverse/member.d.ts.map +1 -1
- package/dist/types/transformers/sku.d.ts +2 -2
- package/dist/types/transformers/sku.d.ts.map +1 -1
- package/dist/types/transformers/toggles/Permissions.d.ts +4 -4
- package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -1
- package/dist/types/transformers/toggles/channel.d.ts +3 -0
- package/dist/types/transformers/toggles/channel.d.ts.map +1 -1
- package/dist/types/transformers/toggles/guild.d.ts +50 -35
- package/dist/types/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/types/transformers/user.d.ts +3 -3
- package/dist/types/transformers/user.d.ts.map +1 -1
- package/dist/types/transformers.d.ts +50 -8
- package/dist/types/transformers.d.ts.map +1 -1
- package/dist/types/typings.d.ts +0 -24
- package/dist/types/typings.d.ts.map +1 -1
- package/package.json +13 -13
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -13,12 +13,15 @@ const _utils = require("@discordeno/utils");
|
|
|
13
13
|
const _guild = require("./toggles/guild.cjs");
|
|
14
14
|
const baseGuild = {
|
|
15
15
|
get threads () {
|
|
16
|
-
if (!this.channels) return;
|
|
16
|
+
if (!this.channels) return new _utils.Collection();
|
|
17
17
|
const threads = this.channels.array().filter((x)=>x.type === _types.ChannelTypes.PublicThread || x.type === _types.ChannelTypes.PrivateThread || x.type === _types.ChannelTypes.AnnouncementThread);
|
|
18
18
|
return new _utils.Collection(threads.map((x)=>[
|
|
19
19
|
x.id,
|
|
20
20
|
x
|
|
21
21
|
]));
|
|
22
|
+
},
|
|
23
|
+
get features () {
|
|
24
|
+
return this.toggles.features;
|
|
22
25
|
}
|
|
23
26
|
};
|
|
24
27
|
function transformGuild(bot, payload) {
|
|
@@ -140,4 +143,4 @@ function transformGuild(bot, payload) {
|
|
|
140
143
|
return bot.transformers.customizers.guild(bot, payload.guild, guild);
|
|
141
144
|
}
|
|
142
145
|
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbm5lbFR5cGVzLFxuICB0eXBlIERlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uTGV2ZWxzLFxuICB0eXBlIERpc2NvcmRHdWlsZCxcbiAgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsXG4gIHR5cGUgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICB0eXBlIEd1aWxkRmVhdHVyZXMsXG4gIHR5cGUgR3VpbGROc2Z3TGV2ZWwsXG4gIHR5cGUgTWZhTGV2ZWxzLFxuICB0eXBlIFByZW1pdW1UaWVycyxcbiAgdHlwZSBTeXN0ZW1DaGFubmVsRmxhZ3MsXG4gIHR5cGUgVmVyaWZpY2F0aW9uTGV2ZWxzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90LCBDaGFubmVsLCBNZW1iZXIsIFByZXNlbmNlVXBkYXRlLCBSb2xlLCBTdGFnZUluc3RhbmNlLCBTdGlja2VyLCBWb2ljZVN0YXRlLCBXZWxjb21lU2NyZWVuIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEVtb2ppIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzL2Vtb2ppLmpzJ1xuaW1wb3J0IHsgR3VpbGRUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL2d1aWxkLmpzJ1xuXG5jb25zdCBiYXNlR3VpbGQgPSB7XG4gIGdldCB0aHJlYWRzKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVscykgcmV0dXJuXG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZClcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aHJlYWRzLm1hcCgoeCkgPT4gW3guaWQsIHhdKSlcbiAgfSxcbn0gYXMgR3VpbGRcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkKGJvdDogQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQgfSAmIHsgc2hhcmRJZDogbnVtYmVyIH0pOiBHdWlsZCB7XG4gIGNvbnN0IGd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLmlkKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRcbiAgY29uc3QgZ3VpbGQ6IEd1aWxkID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpXG5cbiAgaWYgKHByb3BzLmFma1RpbWVvdXQgJiYgcGF5bG9hZC5ndWlsZC5hZmtfdGltZW91dCkgZ3VpbGQuYWZrVGltZW91dCA9IHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGd1aWxkLmFwcHJveGltYXRlTWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudFxuICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQpXG4gICAgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudFxuICBpZiAocHJvcHMuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zKSBndWlsZC5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMgPSBwYXlsb2FkLmd1aWxkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uKSBndWlsZC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZ3VpbGQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQuZ3VpbGQpXG4gIGlmIChwcm9wcy5leHBsaWNpdENvbnRlbnRGaWx0ZXIpIGd1aWxkLmV4cGxpY2l0Q29udGVudEZpbHRlciA9IHBheWxvYWQuZ3VpbGQuZXhwbGljaXRfY29udGVudF9maWx0ZXJcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnNcbiAgaWYgKHByb3BzLm1heFByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMpIGd1aWxkLm1heFByZXNlbmNlcyA9IHBheWxvYWQuZ3VpbGQubWF4X3ByZXNlbmNlcyA/PyB1bmRlZmluZWRcbiAgaWYgKHByb3BzLm1heFZpZGVvQ2hhbm5lbFVzZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMpIGd1aWxkLm1heFZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5ndWlsZC5tZmFfbGV2ZWxcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5ndWlsZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5ndWlsZC5uYW1lXG4gIGlmIChwcm9wcy5uc2Z3TGV2ZWwpIGd1aWxkLm5zZndMZXZlbCA9IHBheWxvYWQuZ3VpbGQubnNmd19sZXZlbFxuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlXG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnRcbiAgaWYgKHByb3BzLnByZW1pdW1UaWVyKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV90aWVyXG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSlcbiAgaWYgKHByb3BzLmNoYW5uZWxzICYmICghIXBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgfHwgISFwYXlsb2FkLmd1aWxkLnRocmVhZHMpKVxuICAgIGd1aWxkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBbLi4uKHBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgPz8gW10pLCAuLi4ocGF5bG9hZC5ndWlsZC50aHJlYWRzID8/IFtdKV0ubWFwKChjaGFubmVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbCwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5ndWlsZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5lbW9qaXMgJiYgcGF5bG9hZC5ndWlsZC5lbW9qaXMpXG4gICAgZ3VpbGQuZW1vamlzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLmVtb2ppcy5tYXAoKGVtb2ppKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBlbW9qaSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC51c2VySWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN0aWNrZXJzICYmIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnMpXG4gICAgZ3VpbGQuc3RpY2tlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnM/Lm1hcCgoc3RpY2tlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzdGlja2VyKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbEZsYWdzICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3MpIGd1aWxkLnN5c3RlbUNoYW5uZWxGbGFncyA9IHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3NcbiAgaWYgKHByb3BzLnZhbml0eVVybENvZGUgJiYgcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGUpIGd1aWxkLnZhbml0eVVybENvZGUgPSBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZVxuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC5ndWlsZC52ZXJpZmljYXRpb25fbGV2ZWxcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9XG4gIGlmIChwcm9wcy5kaXNjb3ZlcnlTcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKSBndWlsZC5kaXNjb3ZlcnlTcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaClcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCA/PyAwXG4gIGlmIChwcm9wcy5zaGFyZElkKSBndWlsZC5zaGFyZElkID0gcGF5bG9hZC5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuZ3VpbGQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuZ3VpbGQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5ndWlsZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQuZ3VpbGQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpXG4gICAgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5ndWlsZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmd1aWxkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLmd1aWxkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQuZ3VpbGQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGQoYm90LCBwYXlsb2FkLmd1aWxkLCBndWlsZClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHdWlsZCB7XG4gIC8qKiBHdWlsZCBuYW1lICgyLTEwMCBjaGFyYWN0ZXJzLCBleGNsdWRpbmcgdHJhaWxpbmcgYW5kIGxlYWRpbmcgd2hpdGVzcGFjZSkgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKiBUcnVlIGlmIHRoZSB1c2VyIGlzIHRoZSBvd25lciBvZiB0aGUgZ3VpbGQgKi9cbiAgb3duZXI6IGJvb2xlYW4gfCB1bmRlZmluZWRcbiAgLyoqIEFmayB0aW1lb3V0IGluIHNlY29uZHMgKi9cbiAgYWZrVGltZW91dDogbnVtYmVyXG4gIC8qKiBUcnVlIGlmIHRoZSBzZXJ2ZXIgd2lkZ2V0IGlzIGVuYWJsZWQgKi9cbiAgd2lkZ2V0RW5hYmxlZD86IGJvb2xlYW5cbiAgLyoqIFZlcmlmaWNhdGlvbiBsZXZlbCByZXF1aXJlZCBmb3IgdGhlIGd1aWxkICovXG4gIHZlcmlmaWNhdGlvbkxldmVsOiBWZXJpZmljYXRpb25MZXZlbHNcbiAgLyoqIERlZmF1bHQgbWVzc2FnZSBub3RpZmljYXRpb25zIGxldmVsICovXG4gIGRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uczogRGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25MZXZlbHNcbiAgLyoqIEV4cGxpY2l0IGNvbnRlbnQgZmlsdGVyIGxldmVsICovXG4gIGV4cGxpY2l0Q29udGVudEZpbHRlcjogRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzXG4gIC8qKiBFbmFibGVkIGd1aWxkIGZlYXR1cmVzICovXG4gIGZlYXR1cmVzOiBHdWlsZEZlYXR1cmVzW11cbiAgLyoqIFJlcXVpcmVkIE1GQSBsZXZlbCBmb3IgdGhlIGd1aWxkICovXG4gIG1mYUxldmVsOiBNZmFMZXZlbHNcbiAgLyoqIFN5c3RlbSBjaGFubmVsIGZsYWdzICovXG4gIHN5c3RlbUNoYW5uZWxGbGFnczogU3lzdGVtQ2hhbm5lbEZsYWdzXG4gIC8qKiBUcnVlIGlmIHRoaXMgaXMgY29uc2lkZXJlZCBhIGxhcmdlIGd1aWxkICovXG4gIGxhcmdlPzogYm9vbGVhblxuICAvKiogVHJ1ZSBpZiB0aGlzIGd1aWxkIGlzIHVuYXZhaWxhYmxlIGR1ZSB0byBhbiBvdXRhZ2UgKi9cbiAgdW5hdmFpbGFibGU/OiBib29sZWFuXG4gIC8qKiBUb3RhbCBudW1iZXIgb2YgbWVtYmVycyBpbiB0aGlzIGd1aWxkICovXG4gIG1lbWJlckNvdW50OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcmVzZW5jZXMgZm9yIHRoZSBndWlsZCAodGhlIGRlZmF1bHQgdmFsdWUsIGN1cnJlbnRseSAyNTAwMCwgaXMgaW4gZWZmZWN0IHdoZW4gbnVsbCBpcyByZXR1cm5lZCkgKi9cbiAgbWF4UHJlc2VuY2VzPzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWVtYmVycyBmb3IgdGhlIGd1aWxkICovXG4gIG1heE1lbWJlcnM/OiBudW1iZXJcbiAgLyoqIFRoZSB2YW5pdHkgdXJsIGNvZGUgZm9yIHRoZSBndWlsZCAqL1xuICB2YW5pdHlVcmxDb2RlPzogc3RyaW5nXG4gIC8qKiBUaGUgZGVzY3JpcHRpb24gb2YgYSBndWlsZCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0b2dnbGVzOiBHdWlsZFRvZ2dsZXNcbiAgc2hhcmRJZDogbnVtYmVyXG4gIC8qKiBQcmVtaXVtIHRpZXIgKFNlcnZlciBCb29zdCBsZXZlbCkgKi9cbiAgcHJlbWl1bVRpZXI6IFByZW1pdW1UaWVyc1xuICAvKiogVGhlIG51bWJlciBvZiBib29zdHMgdGhpcyBndWlsZCBjdXJyZW50bHkgaGFzICovXG4gIHByZW1pdW1TdWJzY3JpcHRpb25Db3VudD86IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IG9mIHVzZXJzIGluIGEgdmlkZW8gY2hhbm5lbCAqL1xuICBtYXhWaWRlb0NoYW5uZWxVc2Vycz86IG51bWJlclxuICAvKiogTWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSBzdGFnZSB2aWRlbyBjaGFubmVsICovXG4gIG1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnM/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZU1lbWJlckNvdW50PzogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBudW1iZXIgb2Ygbm9uLW9mZmxpbmUgbWVtYmVycyBpbiB0aGlzIGd1aWxkLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2d1aWxkcy9pZCBlbmRwb2ludCB3aGVuIHdpdGhfY291bnRzIGlzIHRydWUgKi9cbiAgYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50PzogbnVtYmVyXG4gIC8qKiBHdWlsZCBOU0ZXIGxldmVsICovXG4gIG5zZndMZXZlbDogR3VpbGROc2Z3TGV2ZWxcbiAgLyoqIFdoZXRoZXIgdGhlIGd1aWxkIGhhcyB0aGUgYm9vc3QgcHJvZ3Jlc3MgYmFyIGVuYWJsZWQgKi9cbiAgcHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZDogYm9vbGVhblxuICAvKiogR3VpbGQgaWQgKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogSWNvbiBoYXNoICovXG4gIGljb24/OiBiaWdpbnRcbiAgLyoqIEljb24gaGFzaCwgcmV0dXJuZWQgd2hlbiBpbiB0aGUgdGVtcGxhdGUgb2JqZWN0ICovXG4gIGljb25IYXNoPzogYmlnaW50XG4gIC8qKiBTcGxhc2ggaGFzaCAqL1xuICBzcGxhc2g/OiBiaWdpbnRcbiAgLyoqIERpc2NvdmVyeSBzcGxhc2ggaGFzaDsgb25seSBwcmVzZW50IGZvciBndWlsZHMgd2l0aCB0aGUgXCJESVNDT1ZFUkFCTEVcIiBmZWF0dXJlICovXG4gIGRpc2NvdmVyeVNwbGFzaD86IGJpZ2ludFxuICAvKiogSWQgb2YgdGhlIG93bmVyICovXG4gIG93bmVySWQ6IGJpZ2ludFxuICAvKiogVG90YWwgcGVybWlzc2lvbnMgZm9yIHRoZSB1c2VyIGluIHRoZSBndWlsZCAoZXhjbHVkZXMgb3ZlcndyaXRlcyBhbmQgaW1wbGljaXQgcGVybWlzc2lvbnMpICovXG4gIHBlcm1pc3Npb25zOiBiaWdpbnRcbiAgLyoqIElkIG9mIGFmayBjaGFubmVsICovXG4gIGFma0NoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogVGhlIGNoYW5uZWwgaWQgdGhhdCB0aGUgd2lkZ2V0IHdpbGwgZ2VuZXJhdGUgYW4gaW52aXRlIHRvLCBvciBudWxsIGlmIHNldCB0byBubyBpbnZpdGUgKi9cbiAgd2lkZ2V0Q2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBSb2xlcyBpbiB0aGUgZ3VpbGQgKi9cbiAgcm9sZXM6IENvbGxlY3Rpb248YmlnaW50LCBSb2xlPlxuICAvKiogQ3VzdG9tIGd1aWxkIGVtb2ppcyAqL1xuICBlbW9qaXM6IENvbGxlY3Rpb248YmlnaW50LCBFbW9qaT5cbiAgLyoqIEFwcGxpY2F0aW9uIGlkIG9mIHRoZSBndWlsZCBjcmVhdG9yIGlmIGl0IGlzIGJvdC1jcmVhdGVkICovXG4gIGFwcGxpY2F0aW9uSWQ/OiBiaWdpbnRcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBndWlsZCBub3RpY2VzIHN1Y2ggYXMgd2VsY29tZSBtZXNzYWdlcyBhbmQgYm9vc3QgZXZlbnRzIGFyZSBwb3N0ZWQgKi9cbiAgc3lzdGVtQ2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgY29tbXVuaXR5IGd1aWxkcyBjYW4gZGlzcGxheSBydWxlcyBhbmQvb3IgZ3VpZGVsaW5lcyAqL1xuICBydWxlc0NoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogV2hlbiB0aGlzIGd1aWxkIHdhcyBqb2luZWQgYXQgKi9cbiAgam9pbmVkQXQ/OiBudW1iZXJcbiAgLyoqIFN0YXRlcyBvZiBtZW1iZXJzIGN1cnJlbnRseSBpbiB2b2ljZSBjaGFubmVsczsgbGFja3MgdGhlIGd1aWxkX2lkIGtleSAqL1xuICB2b2ljZVN0YXRlczogQ29sbGVjdGlvbjxiaWdpbnQsIFZvaWNlU3RhdGU+XG4gIC8qKiBVc2VycyBpbiB0aGUgZ3VpbGQgKi9cbiAgbWVtYmVyczogQ29sbGVjdGlvbjxiaWdpbnQsIE1lbWJlcj5cbiAgLyoqIENoYW5uZWxzIGluIHRoZSBndWlsZCAqL1xuICBjaGFubmVsczogQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+XG4gIC8qKiBBbGwgYWN0aXZlIHRocmVhZHMgaW4gdGhlIGd1aWxkIHRoYXQgdGhlIGN1cnJlbnQgdXNlciBoYXMgcGVybWlzc2lvbiB0byB2aWV3ICovXG4gIHRocmVhZHM6IENvbGxlY3Rpb248YmlnaW50LCBDaGFubmVsPlxuICAvKiogUHJlc2VuY2VzIG9mIHRoZSBtZW1iZXJzIGluIHRoZSBndWlsZCwgd2lsbCBvbmx5IGluY2x1ZGUgbm9uLW9mZmxpbmUgbWVtYmVycyBpZiB0aGUgc2l6ZSBpcyBncmVhdGVyIHRoYW4gbGFyZ2UgdGhyZXNob2xkICovXG4gIHByZXNlbmNlcz86IFByZXNlbmNlVXBkYXRlW11cbiAgLyoqIEJhbm5lciBoYXNoICovXG4gIGJhbm5lcj86IGJpZ2ludFxuICAvKiogVGhlIHByZWZlcnJlZCBsb2NhbGUgb2YgYSBDb21tdW5pdHkgZ3VpbGQ7IHVzZWQgaW4gc2VydmVyIGRpc2NvdmVyeSBhbmQgbm90aWNlcyBmcm9tIERpc2NvcmQ7IGRlZmF1bHRzIHRvIFwiZW4tVVNcIiAqL1xuICBwcmVmZXJyZWRMb2NhbGU6IHN0cmluZ1xuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgbm90aWNlcyBmcm9tIERpc2NvcmQgKi9cbiAgcHVibGljVXBkYXRlc0NoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogVGhlIHdlbGNvbWUgc2NyZWVuIG9mIGEgQ29tbXVuaXR5IGd1aWxkLCBzaG93biB0byBuZXcgbWVtYmVycywgcmV0dXJuZWQgaW4gYW4gSW52aXRlJ3MgZ3VpbGQgb2JqZWN0ICovXG4gIHdlbGNvbWVTY3JlZW4/OiBXZWxjb21lU2NyZWVuXG4gIC8qKiBTdGFnZSBpbnN0YW5jZXMgaW4gdGhlIGd1aWxkICovXG4gIHN0YWdlSW5zdGFuY2VzPzogU3RhZ2VJbnN0YW5jZVtdXG4gIC8qKiBDdXN0b20gZ3VpbGQgc3RpY2tlcnMgKi9cbiAgc3RpY2tlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgU3RpY2tlcj5cbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBhZG1pbnMgYW5kIG1vZGVyYXRvcnMgb2YgQ29tbXVuaXR5IGd1aWxkcyByZWNlaXZlIHNhZmV0eSBhbGVydHMgZnJvbSBEaXNjb3JkICovXG4gIHNhZmV0eUFsZXJ0c0NoYW5uZWxJZD86IGJpZ2ludFxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUd1aWxkIiwiYmFzZUd1aWxkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIkNoYW5uZWxUeXBlcyIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJDb2xsZWN0aW9uIiwibWFwIiwiaWQiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImd1aWxkIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsIk9iamVjdCIsImNyZWF0ZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJ0b2dnbGVzIiwiR3VpbGRUb2dnbGVzIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwiZXhwbGljaXRfY29udGVudF9maWx0ZXIiLCJtYXhNZW1iZXJzIiwibWF4X21lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhfcHJlc2VuY2VzIiwidW5kZWZpbmVkIiwibWF4VmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1mYUxldmVsIiwibWZhX2xldmVsIiwibmFtZSIsIm5zZndMZXZlbCIsIm5zZndfbGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVmZXJyZWRfbG9jYWxlIiwicHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50IiwicHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQiLCJwcmVtaXVtVGllciIsInByZW1pdW1fdGllciIsInN0YWdlSW5zdGFuY2VzIiwic3RhZ2VfaW5zdGFuY2VzIiwic2kiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidG9waWMiLCJjaGFubmVsIiwicmVzdWx0IiwibWVtYmVycyIsIm1lbWJlciIsInVzZXIiLCJyb2xlcyIsInJvbGUiLCJlbW9qaXMiLCJlbW9qaSIsInZvaWNlU3RhdGVzIiwidm9pY2Vfc3RhdGVzIiwidm9pY2VTdGF0ZSIsInVzZXJJZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJpY29uSGFzaFRvQmlnSW50Iiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJtZW1iZXJDb3VudCIsIm1lbWJlcl9jb3VudCIsInNoYXJkSWQiLCJpY29uIiwiYmFubmVyIiwic3BsYXNoIiwib3duZXJJZCIsIm93bmVyX2lkIiwicGVybWlzc2lvbnMiLCJhZmtDaGFubmVsSWQiLCJhZmtfY2hhbm5lbF9pZCIsIndpZGdldENoYW5uZWxJZCIsIndpZGdldF9jaGFubmVsX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwic3lzdGVtQ2hhbm5lbElkIiwic3lzdGVtX2NoYW5uZWxfaWQiLCJydWxlc0NoYW5uZWxJZCIsInJ1bGVzX2NoYW5uZWxfaWQiLCJwdWJsaWNVcGRhdGVzQ2hhbm5lbElkIiwicHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZCIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwibGFyZ2UiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJ3aWRnZXRfZW5hYmxlZCIsInVuYXZhaWxhYmxlIiwiaWNvbkhhc2giLCJpY29uX2hhc2giLCJwcmVzZW5jZXMiLCJwcmVzZW5jZSIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7OytCQThCZ0JBOzs7ZUFBQUE7Ozt1QkFsQlQ7dUJBQ3NDO3VCQUdoQjtBQUU3QixNQUFNQyxZQUFZO0lBQ2hCLElBQUlDLFdBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDQyxRQUFRLEVBQUU7UUFFcEIsTUFBTUQsVUFBVSxJQUFJLENBQUNDLFFBQVEsQ0FDMUJDLEtBQUssR0FDTEMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0MsbUJBQVksQ0FBQ0MsWUFBWSxJQUFJSCxFQUFFQyxJQUFJLEtBQUtDLG1CQUFZLENBQUNFLGFBQWEsSUFB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
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbm5lbFR5cGVzLFxuICB0eXBlIERlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9uTGV2ZWxzLFxuICB0eXBlIERpc2NvcmRHdWlsZCxcbiAgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsXG4gIHR5cGUgRXhwbGljaXRDb250ZW50RmlsdGVyTGV2ZWxzLFxuICB0eXBlIEd1aWxkTnNmd0xldmVsLFxuICB0eXBlIE1mYUxldmVscyxcbiAgdHlwZSBQcmVtaXVtVGllcnMsXG4gIHR5cGUgU3lzdGVtQ2hhbm5lbEZsYWdzLFxuICB0eXBlIFZlcmlmaWNhdGlvbkxldmVscyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCwgQ2hhbm5lbCwgR3VpbGRGZWF0dXJlS2V5cywgTWVtYmVyLCBQcmVzZW5jZVVwZGF0ZSwgUm9sZSwgU3RhZ2VJbnN0YW5jZSwgU3RpY2tlciwgVm9pY2VTdGF0ZSwgV2VsY29tZVNjcmVlbiB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBFbW9qaSB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy9lbW9qaS5qcydcbmltcG9ydCB7IEd1aWxkVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9ndWlsZC5qcydcblxuY29uc3QgYmFzZUd1aWxkID0ge1xuICBnZXQgdGhyZWFkcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMpIHJldHVybiBuZXcgQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+KClcblxuICAgIGNvbnN0IHRocmVhZHMgPSB0aGlzLmNoYW5uZWxzXG4gICAgICAuYXJyYXkoKVxuICAgICAgLmZpbHRlcigoeCkgPT4geC50eXBlID09PSBDaGFubmVsVHlwZXMuUHVibGljVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlByaXZhdGVUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuQW5ub3VuY2VtZW50VGhyZWFkKVxuXG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRocmVhZHMubWFwKCh4KSA9PiBbeC5pZCwgeF0pKVxuICB9LFxuICBnZXQgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5mZWF0dXJlc1xuICB9LFxufSBhcyBHdWlsZFxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGQoYm90OiBCb3QsIHBheWxvYWQ6IHsgZ3VpbGQ6IERpc2NvcmRHdWlsZCB9ICYgeyBzaGFyZElkOiBudW1iZXIgfSk6IEd1aWxkIHtcbiAgY29uc3QgZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuaWQpXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5ndWlsZFxuICBjb25zdCBndWlsZDogR3VpbGQgPSBPYmplY3QuY3JlYXRlKGJhc2VHdWlsZClcblxuICBpZiAocHJvcHMuYWZrVGltZW91dCAmJiBwYXlsb2FkLmd1aWxkLmFma190aW1lb3V0KSBndWlsZC5hZmtUaW1lb3V0ID0gcGF5bG9hZC5ndWlsZC5hZmtfdGltZW91dFxuICBpZiAocHJvcHMuYXBwcm94aW1hdGVNZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVNZW1iZXJDb3VudCA9IHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudClcbiAgICBndWlsZC5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50XG4gIGlmIChwcm9wcy5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMpIGd1aWxkLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyA9IHBheWxvYWQuZ3VpbGQuZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnNcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZ3VpbGQuZGVzY3JpcHRpb24pIGd1aWxkLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5ndWlsZC5kZXNjcmlwdGlvblxuICBpZiAocHJvcHMudG9nZ2xlcykgZ3VpbGQudG9nZ2xlcyA9IG5ldyBHdWlsZFRvZ2dsZXMocGF5bG9hZC5ndWlsZClcbiAgaWYgKHByb3BzLmV4cGxpY2l0Q29udGVudEZpbHRlcikgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5ndWlsZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlclxuICBpZiAocHJvcHMubWF4TWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1heF9tZW1iZXJzKSBndWlsZC5tYXhNZW1iZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfbWVtYmVyc1xuICBpZiAocHJvcHMubWF4UHJlc2VuY2VzICYmIHBheWxvYWQuZ3VpbGQubWF4X3ByZXNlbmNlcykgZ3VpbGQubWF4UHJlc2VuY2VzID0gcGF5bG9hZC5ndWlsZC5tYXhfcHJlc2VuY2VzID8/IHVuZGVmaW5lZFxuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF92aWRlb19jaGFubmVsX3VzZXJzXG4gIGlmIChwcm9wcy5tZmFMZXZlbCkgZ3VpbGQubWZhTGV2ZWwgPSBwYXlsb2FkLmd1aWxkLm1mYV9sZXZlbFxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLmd1aWxkLm5hbWUpIGd1aWxkLm5hbWUgPSBwYXlsb2FkLmd1aWxkLm5hbWVcbiAgaWYgKHByb3BzLm5zZndMZXZlbCkgZ3VpbGQubnNmd0xldmVsID0gcGF5bG9hZC5ndWlsZC5uc2Z3X2xldmVsXG4gIGlmIChwcm9wcy5wcmVmZXJyZWRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlKSBndWlsZC5wcmVmZXJyZWRMb2NhbGUgPSBwYXlsb2FkLmd1aWxkLnByZWZlcnJlZF9sb2NhbGVcbiAgaWYgKHByb3BzLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgZ3VpbGQucHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50ID0gcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudFxuICBpZiAocHJvcHMucHJlbWl1bVRpZXIpIGd1aWxkLnByZW1pdW1UaWVyID0gcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3RpZXJcbiAgaWYgKHByb3BzLnN0YWdlSW5zdGFuY2VzICYmIHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzKVxuICAgIGd1aWxkLnN0YWdlSW5zdGFuY2VzID0gcGF5bG9hZC5ndWlsZC5zdGFnZV9pbnN0YW5jZXMubWFwKChzaSkgPT4gKHtcbiAgICAgIC8qKiBUaGUgaWQgb2YgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmlkKSxcbiAgICAgIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICAgICAgZ3VpbGRJZCxcbiAgICAgIC8qKiBUaGUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5jaGFubmVsX2lkKSxcbiAgICAgIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICAgICAgdG9waWM6IHNpLnRvcGljLFxuICAgIH0pKVxuICBpZiAocHJvcHMuY2hhbm5lbHMgJiYgKCEhcGF5bG9hZC5ndWlsZC5jaGFubmVscyB8fCAhIXBheWxvYWQuZ3VpbGQudGhyZWFkcykpXG4gICAgZ3VpbGQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIFsuLi4ocGF5bG9hZC5ndWlsZC5jaGFubmVscyA/PyBbXSksIC4uLihwYXlsb2FkLmd1aWxkLnRocmVhZHMgPz8gW10pXS5tYXAoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5tZW1iZXJzICYmIHBheWxvYWQuZ3VpbGQubWVtYmVycylcbiAgICBndWlsZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLm1lbWJlcnMubWFwKChtZW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBtZW1iZXIsIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG1lbWJlci51c2VyIS5pZCkpXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLmd1aWxkLnJvbGVzKVxuICAgIGd1aWxkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLnJvbGVzLm1hcCgocm9sZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGUsIGd1aWxkSWQgfSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLmVtb2ppcyAmJiBwYXlsb2FkLmd1aWxkLmVtb2ppcylcbiAgICBndWlsZC5lbW9qaXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuZW1vamlzLm1hcCgoZW1vamkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIGVtb2ppKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCEsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnZvaWNlU3RhdGVzICYmIHBheWxvYWQuZ3VpbGQudm9pY2Vfc3RhdGVzKVxuICAgIGd1aWxkLnZvaWNlU3RhdGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcy5tYXAoKHZvaWNlU3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy52b2ljZVN0YXRlKGJvdCwgeyB2b2ljZVN0YXRlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LnVzZXJJZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5ndWlsZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsRmxhZ3MgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9mbGFncykgZ3VpbGQuc3lzdGVtQ2hhbm5lbEZsYWdzID0gcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9mbGFnc1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQuZ3VpbGQudmFuaXR5X3VybF9jb2RlXG4gIGlmIChwcm9wcy52ZXJpZmljYXRpb25MZXZlbCkgZ3VpbGQudmVyaWZpY2F0aW9uTGV2ZWwgPSBwYXlsb2FkLmd1aWxkLnZlcmlmaWNhdGlvbl9sZXZlbFxuICBpZiAocHJvcHMud2VsY29tZVNjcmVlbiAmJiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuKVxuICAgIGd1aWxkLndlbGNvbWVTY3JlZW4gPSB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbi5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgICB3ZWxjb21lQ2hhbm5lbHM6IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4ud2VsY29tZV9jaGFubmVscy5tYXAoKHdjKSA9PiAoe1xuICAgICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmNoYW5uZWxfaWQpLFxuICAgICAgICBkZXNjcmlwdGlvbjogd2MuZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppSWQ6IHdjLmVtb2ppX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uod2MuZW1vamlfaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICBlbW9qaU5hbWU6IHdjLmVtb2ppX25hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgfSkpLFxuICAgIH1cbiAgaWYgKHByb3BzLmRpc2NvdmVyeVNwbGFzaCAmJiBwYXlsb2FkLmd1aWxkLmRpc2NvdmVyeV9zcGxhc2gpIGd1aWxkLmRpc2NvdmVyeVNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKVxuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpIGd1aWxkLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmd1aWxkLmpvaW5lZF9hdClcbiAgaWYgKHByb3BzLm1lbWJlckNvdW50ICYmIHBheWxvYWQuZ3VpbGQubWVtYmVyX2NvdW50KSBndWlsZC5tZW1iZXJDb3VudCA9IHBheWxvYWQuZ3VpbGQubWVtYmVyX2NvdW50ID8/IDBcbiAgaWYgKHByb3BzLnNoYXJkSWQpIGd1aWxkLnNoYXJkSWQgPSBwYXlsb2FkLnNoYXJkSWRcbiAgaWYgKHByb3BzLmljb24gJiYgcGF5bG9hZC5ndWlsZC5pY29uKSBndWlsZC5pY29uID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb24pXG4gIGlmIChwcm9wcy5iYW5uZXIgJiYgcGF5bG9hZC5ndWlsZC5iYW5uZXIpIGd1aWxkLmJhbm5lciA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5iYW5uZXIpXG4gIGlmIChwcm9wcy5zcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5zcGxhc2gpIGd1aWxkLnNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5zcGxhc2gpXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmd1aWxkLmlkKSBndWlsZC5pZCA9IGd1aWxkSWRcbiAgaWYgKHByb3BzLm93bmVySWQgJiYgcGF5bG9hZC5ndWlsZC5vd25lcl9pZCkgZ3VpbGQub3duZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQub3duZXJfaWQpXG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKSBndWlsZC5wZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQucGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5hZmtDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5hZmtfY2hhbm5lbF9pZCkgZ3VpbGQuYWZrQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5hZmtfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLndpZGdldENoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLndpZGdldF9jaGFubmVsX2lkKSBndWlsZC53aWRnZXRDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLndpZGdldF9jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmd1aWxkLmFwcGxpY2F0aW9uX2lkKSBndWlsZC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLnN5c3RlbV9jaGFubmVsX2lkKSBndWlsZC5zeXN0ZW1DaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnN5c3RlbV9jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucnVsZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5ydWxlc19jaGFubmVsX2lkKSBndWlsZC5ydWxlc0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkICYmIHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZClcbiAgICBndWlsZC5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkID0gcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkXG4gIGlmIChwcm9wcy5sYXJnZSAmJiBwYXlsb2FkLmd1aWxkLmxhcmdlKSBndWlsZC5sYXJnZSA9IHBheWxvYWQuZ3VpbGQubGFyZ2VcbiAgaWYgKHByb3BzLm93bmVyICYmIHBheWxvYWQuZ3VpbGQub3duZXIpIGd1aWxkLm93bmVyID0gcGF5bG9hZC5ndWlsZC5vd25lclxuICBpZiAocHJvcHMud2lkZ2V0RW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLndpZGdldF9lbmFibGVkKSBndWlsZC53aWRnZXRFbmFibGVkID0gcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZFxuICBpZiAocHJvcHMudW5hdmFpbGFibGUgJiYgcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZSkgZ3VpbGQudW5hdmFpbGFibGUgPSBwYXlsb2FkLmd1aWxkLnVuYXZhaWxhYmxlXG4gIGlmIChwcm9wcy5pY29uSGFzaCAmJiBwYXlsb2FkLmd1aWxkLmljb25faGFzaCkgZ3VpbGQuaWNvbkhhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuaWNvbl9oYXNoKVxuICBpZiAocHJvcHMucHJlc2VuY2VzICYmIHBheWxvYWQuZ3VpbGQucHJlc2VuY2VzKVxuICAgIGd1aWxkLnByZXNlbmNlcyA9IHBheWxvYWQuZ3VpbGQucHJlc2VuY2VzPy5tYXAoKHByZXNlbmNlKSA9PiBib3QudHJhbnNmb3JtZXJzLnByZXNlbmNlKGJvdCwgcHJlc2VuY2UgYXMgRGlzY29yZFByZXNlbmNlVXBkYXRlKSlcbiAgaWYgKHByb3BzLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5zYWZldHlBbGVydHNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZChib3QsIHBheWxvYWQuZ3VpbGQsIGd1aWxkKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEd1aWxkIHtcbiAgLyoqIEd1aWxkIG5hbWUgKDItMTAwIGNoYXJhY3RlcnMsIGV4Y2x1ZGluZyB0cmFpbGluZyBhbmQgbGVhZGluZyB3aGl0ZXNwYWNlKSAqL1xuICBuYW1lOiBzdHJpbmdcbiAgLyoqIFRydWUgaWYgdGhlIHVzZXIgaXMgdGhlIG93bmVyIG9mIHRoZSBndWlsZCAqL1xuICBvd25lcjogYm9vbGVhbiB8IHVuZGVmaW5lZFxuICAvKiogQWZrIHRpbWVvdXQgaW4gc2Vjb25kcyAqL1xuICBhZmtUaW1lb3V0OiBudW1iZXJcbiAgLyoqIFRydWUgaWYgdGhlIHNlcnZlciB3aWRnZXQgaXMgZW5hYmxlZCAqL1xuICB3aWRnZXRFbmFibGVkPzogYm9vbGVhblxuICAvKiogVmVyaWZpY2F0aW9uIGxldmVsIHJlcXVpcmVkIGZvciB0aGUgZ3VpbGQgKi9cbiAgdmVyaWZpY2F0aW9uTGV2ZWw6IFZlcmlmaWNhdGlvbkxldmVsc1xuICAvKiogRGVmYXVsdCBtZXNzYWdlIG5vdGlmaWNhdGlvbnMgbGV2ZWwgKi9cbiAgZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zOiBEZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbkxldmVsc1xuICAvKiogRXhwbGljaXQgY29udGVudCBmaWx0ZXIgbGV2ZWwgKi9cbiAgZXhwbGljaXRDb250ZW50RmlsdGVyOiBFeHBsaWNpdENvbnRlbnRGaWx0ZXJMZXZlbHNcbiAgLyoqIEVuYWJsZWQgZ3VpbGQgZmVhdHVyZXMgKi9cbiAgZmVhdHVyZXM6IEd1aWxkRmVhdHVyZUtleXNbXVxuICAvKiogUmVxdWlyZWQgTUZBIGxldmVsIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWZhTGV2ZWw6IE1mYUxldmVsc1xuICAvKiogU3lzdGVtIGNoYW5uZWwgZmxhZ3MgKi9cbiAgc3lzdGVtQ2hhbm5lbEZsYWdzOiBTeXN0ZW1DaGFubmVsRmxhZ3NcbiAgLyoqIFRydWUgaWYgdGhpcyBpcyBjb25zaWRlcmVkIGEgbGFyZ2UgZ3VpbGQgKi9cbiAgbGFyZ2U/OiBib29sZWFuXG4gIC8qKiBUcnVlIGlmIHRoaXMgZ3VpbGQgaXMgdW5hdmFpbGFibGUgZHVlIHRvIGFuIG91dGFnZSAqL1xuICB1bmF2YWlsYWJsZT86IGJvb2xlYW5cbiAgLyoqIFRvdGFsIG51bWJlciBvZiBtZW1iZXJzIGluIHRoaXMgZ3VpbGQgKi9cbiAgbWVtYmVyQ291bnQ6IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHByZXNlbmNlcyBmb3IgdGhlIGd1aWxkICh0aGUgZGVmYXVsdCB2YWx1ZSwgY3VycmVudGx5IDI1MDAwLCBpcyBpbiBlZmZlY3Qgd2hlbiBudWxsIGlzIHJldHVybmVkKSAqL1xuICBtYXhQcmVzZW5jZXM/OiBudW1iZXJcbiAgLyoqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtZW1iZXJzIGZvciB0aGUgZ3VpbGQgKi9cbiAgbWF4TWVtYmVycz86IG51bWJlclxuICAvKiogVGhlIHZhbml0eSB1cmwgY29kZSBmb3IgdGhlIGd1aWxkICovXG4gIHZhbml0eVVybENvZGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBkZXNjcmlwdGlvbiBvZiBhIGd1aWxkICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIHRvZ2dsZXM6IEd1aWxkVG9nZ2xlc1xuICBzaGFyZElkOiBudW1iZXJcbiAgLyoqIFByZW1pdW0gdGllciAoU2VydmVyIEJvb3N0IGxldmVsKSAqL1xuICBwcmVtaXVtVGllcjogUHJlbWl1bVRpZXJzXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGJvb3N0cyB0aGlzIGd1aWxkIGN1cnJlbnRseSBoYXMgKi9cbiAgcHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50PzogbnVtYmVyXG4gIC8qKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdXNlcnMgaW4gYSB2aWRlbyBjaGFubmVsICovXG4gIG1heFZpZGVvQ2hhbm5lbFVzZXJzPzogbnVtYmVyXG4gIC8qKiBNYXhpbXVtIGFtb3VudCBvZiB1c2VycyBpbiBhIHN0YWdlIHZpZGVvIGNoYW5uZWwgKi9cbiAgbWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2Vycz86IG51bWJlclxuICAvKiogQXBwcm94aW1hdGUgbnVtYmVyIG9mIG1lbWJlcnMgaW4gdGhpcyBndWlsZCwgcmV0dXJuZWQgZnJvbSB0aGUgR0VUIC9ndWlsZHMvaWQgZW5kcG9pbnQgd2hlbiB3aXRoX2NvdW50cyBpcyB0cnVlICovXG4gIGFwcHJveGltYXRlTWVtYmVyQ291bnQ/OiBudW1iZXJcbiAgLyoqIEFwcHJveGltYXRlIG51bWJlciBvZiBub24tb2ZmbGluZSBtZW1iZXJzIGluIHRoaXMgZ3VpbGQsIHJldHVybmVkIGZyb20gdGhlIEdFVCAvZ3VpbGRzL2lkIGVuZHBvaW50IHdoZW4gd2l0aF9jb3VudHMgaXMgdHJ1ZSAqL1xuICBhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQ/OiBudW1iZXJcbiAgLyoqIEd1aWxkIE5TRlcgbGV2ZWwgKi9cbiAgbnNmd0xldmVsOiBHdWlsZE5zZndMZXZlbFxuICAvKiogV2hldGhlciB0aGUgZ3VpbGQgaGFzIHRoZSBib29zdCBwcm9ncmVzcyBiYXIgZW5hYmxlZCAqL1xuICBwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkOiBib29sZWFuXG4gIC8qKiBHdWlsZCBpZCAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBJY29uIGhhc2ggKi9cbiAgaWNvbj86IGJpZ2ludFxuICAvKiogSWNvbiBoYXNoLCByZXR1cm5lZCB3aGVuIGluIHRoZSB0ZW1wbGF0ZSBvYmplY3QgKi9cbiAgaWNvbkhhc2g/OiBiaWdpbnRcbiAgLyoqIFNwbGFzaCBoYXNoICovXG4gIHNwbGFzaD86IGJpZ2ludFxuICAvKiogRGlzY292ZXJ5IHNwbGFzaCBoYXNoOyBvbmx5IHByZXNlbnQgZm9yIGd1aWxkcyB3aXRoIHRoZSBcIkRJU0NPVkVSQUJMRVwiIGZlYXR1cmUgKi9cbiAgZGlzY292ZXJ5U3BsYXNoPzogYmlnaW50XG4gIC8qKiBJZCBvZiB0aGUgb3duZXIgKi9cbiAgb3duZXJJZDogYmlnaW50XG4gIC8qKiBUb3RhbCBwZXJtaXNzaW9ucyBmb3IgdGhlIHVzZXIgaW4gdGhlIGd1aWxkIChleGNsdWRlcyBvdmVyd3JpdGVzIGFuZCBpbXBsaWNpdCBwZXJtaXNzaW9ucykgKi9cbiAgcGVybWlzc2lvbnM6IGJpZ2ludFxuICAvKiogSWQgb2YgYWZrIGNoYW5uZWwgKi9cbiAgYWZrQ2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBUaGUgY2hhbm5lbCBpZCB0aGF0IHRoZSB3aWRnZXQgd2lsbCBnZW5lcmF0ZSBhbiBpbnZpdGUgdG8sIG9yIG51bGwgaWYgc2V0IHRvIG5vIGludml0ZSAqL1xuICB3aWRnZXRDaGFubmVsSWQ/OiBiaWdpbnRcbiAgLyoqIFJvbGVzIGluIHRoZSBndWlsZCAqL1xuICByb2xlczogQ29sbGVjdGlvbjxiaWdpbnQsIFJvbGU+XG4gIC8qKiBDdXN0b20gZ3VpbGQgZW1vamlzICovXG4gIGVtb2ppczogQ29sbGVjdGlvbjxiaWdpbnQsIEVtb2ppPlxuICAvKiogQXBwbGljYXRpb24gaWQgb2YgdGhlIGd1aWxkIGNyZWF0b3IgaWYgaXQgaXMgYm90LWNyZWF0ZWQgKi9cbiAgYXBwbGljYXRpb25JZD86IGJpZ2ludFxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGd1aWxkIG5vdGljZXMgc3VjaCBhcyB3ZWxjb21lIG1lc3NhZ2VzIGFuZCBib29zdCBldmVudHMgYXJlIHBvc3RlZCAqL1xuICBzeXN0ZW1DaGFubmVsSWQ/OiBiaWdpbnRcbiAgLyoqIFRoZSBpZCBvZiB0aGUgY2hhbm5lbCB3aGVyZSBjb21tdW5pdHkgZ3VpbGRzIGNhbiBkaXNwbGF5IHJ1bGVzIGFuZC9vciBndWlkZWxpbmVzICovXG4gIHJ1bGVzQ2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBXaGVuIHRoaXMgZ3VpbGQgd2FzIGpvaW5lZCBhdCAqL1xuICBqb2luZWRBdD86IG51bWJlclxuICAvKiogU3RhdGVzIG9mIG1lbWJlcnMgY3VycmVudGx5IGluIHZvaWNlIGNoYW5uZWxzOyBsYWNrcyB0aGUgZ3VpbGRfaWQga2V5ICovXG4gIHZvaWNlU3RhdGVzOiBDb2xsZWN0aW9uPGJpZ2ludCwgVm9pY2VTdGF0ZT5cbiAgLyoqIFVzZXJzIGluIHRoZSBndWlsZCAqL1xuICBtZW1iZXJzOiBDb2xsZWN0aW9uPGJpZ2ludCwgTWVtYmVyPlxuICAvKiogQ2hhbm5lbHMgaW4gdGhlIGd1aWxkICovXG4gIGNoYW5uZWxzOiBDb2xsZWN0aW9uPGJpZ2ludCwgQ2hhbm5lbD5cbiAgLyoqIEFsbCBhY3RpdmUgdGhyZWFkcyBpbiB0aGUgZ3VpbGQgdGhhdCB0aGUgY3VycmVudCB1c2VyIGhhcyBwZXJtaXNzaW9uIHRvIHZpZXcgKi9cbiAgdGhyZWFkczogQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+XG4gIC8qKiBQcmVzZW5jZXMgb2YgdGhlIG1lbWJlcnMgaW4gdGhlIGd1aWxkLCB3aWxsIG9ubHkgaW5jbHVkZSBub24tb2ZmbGluZSBtZW1iZXJzIGlmIHRoZSBzaXplIGlzIGdyZWF0ZXIgdGhhbiBsYXJnZSB0aHJlc2hvbGQgKi9cbiAgcHJlc2VuY2VzPzogUHJlc2VuY2VVcGRhdGVbXVxuICAvKiogQmFubmVyIGhhc2ggKi9cbiAgYmFubmVyPzogYmlnaW50XG4gIC8qKiBUaGUgcHJlZmVycmVkIGxvY2FsZSBvZiBhIENvbW11bml0eSBndWlsZDsgdXNlZCBpbiBzZXJ2ZXIgZGlzY292ZXJ5IGFuZCBub3RpY2VzIGZyb20gRGlzY29yZDsgZGVmYXVsdHMgdG8gXCJlbi1VU1wiICovXG4gIHByZWZlcnJlZExvY2FsZTogc3RyaW5nXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNoYW5uZWwgd2hlcmUgYWRtaW5zIGFuZCBtb2RlcmF0b3JzIG9mIENvbW11bml0eSBndWlsZHMgcmVjZWl2ZSBub3RpY2VzIGZyb20gRGlzY29yZCAqL1xuICBwdWJsaWNVcGRhdGVzQ2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBUaGUgd2VsY29tZSBzY3JlZW4gb2YgYSBDb21tdW5pdHkgZ3VpbGQsIHNob3duIHRvIG5ldyBtZW1iZXJzLCByZXR1cm5lZCBpbiBhbiBJbnZpdGUncyBndWlsZCBvYmplY3QgKi9cbiAgd2VsY29tZVNjcmVlbj86IFdlbGNvbWVTY3JlZW5cbiAgLyoqIFN0YWdlIGluc3RhbmNlcyBpbiB0aGUgZ3VpbGQgKi9cbiAgc3RhZ2VJbnN0YW5jZXM/OiBTdGFnZUluc3RhbmNlW11cbiAgLyoqIEN1c3RvbSBndWlsZCBzdGlja2VycyAqL1xuICBzdGlja2Vycz86IENvbGxlY3Rpb248YmlnaW50LCBTdGlja2VyPlxuICAvKiogVGhlIGlkIG9mIHRoZSBjaGFubmVsIHdoZXJlIGFkbWlucyBhbmQgbW9kZXJhdG9ycyBvZiBDb21tdW5pdHkgZ3VpbGRzIHJlY2VpdmUgc2FmZXR5IGFsZXJ0cyBmcm9tIERpc2NvcmQgKi9cbiAgc2FmZXR5QWxlcnRzQ2hhbm5lbElkPzogYmlnaW50XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtR3VpbGQiLCJiYXNlR3VpbGQiLCJ0aHJlYWRzIiwiY2hhbm5lbHMiLCJDb2xsZWN0aW9uIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIkNoYW5uZWxUeXBlcyIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsImJvdCIsInBheWxvYWQiLCJndWlsZElkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwiZ3VpbGQiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiY3JlYXRlIiwiYWZrVGltZW91dCIsImFma190aW1lb3V0IiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwiZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zIiwiZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnMiLCJkZXNjcmlwdGlvbiIsIkd1aWxkVG9nZ2xlcyIsImV4cGxpY2l0Q29udGVudEZpbHRlciIsImV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyIiwibWF4TWVtYmVycyIsIm1heF9tZW1iZXJzIiwibWF4UHJlc2VuY2VzIiwibWF4X3ByZXNlbmNlcyIsInVuZGVmaW5lZCIsIm1heFZpZGVvQ2hhbm5lbFVzZXJzIiwibWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMiLCJtZmFMZXZlbCIsIm1mYV9sZXZlbCIsIm5hbWUiLCJuc2Z3TGV2ZWwiLCJuc2Z3X2xldmVsIiwicHJlZmVycmVkTG9jYWxlIiwicHJlZmVycmVkX2xvY2FsZSIsInByZW1pdW1TdWJzY3JpcHRpb25Db3VudCIsInByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50IiwicHJlbWl1bVRpZXIiLCJwcmVtaXVtX3RpZXIiLCJzdGFnZUluc3RhbmNlcyIsInN0YWdlX2luc3RhbmNlcyIsInNpIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsInRvcGljIiwiY2hhbm5lbCIsInJlc3VsdCIsIm1lbWJlcnMiLCJtZW1iZXIiLCJ1c2VyIiwicm9sZXMiLCJyb2xlIiwiZW1vamlzIiwiZW1vamkiLCJ2b2ljZVN0YXRlcyIsInZvaWNlX3N0YXRlcyIsInZvaWNlU3RhdGUiLCJ1c2VySWQiLCJzdGlja2VycyIsInN0aWNrZXIiLCJzeXN0ZW1DaGFubmVsRmxhZ3MiLCJzeXN0ZW1fY2hhbm5lbF9mbGFncyIsInZhbml0eVVybENvZGUiLCJ2YW5pdHlfdXJsX2NvZGUiLCJ2ZXJpZmljYXRpb25MZXZlbCIsInZlcmlmaWNhdGlvbl9sZXZlbCIsIndlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lX3NjcmVlbiIsIndlbGNvbWVDaGFubmVscyIsIndlbGNvbWVfY2hhbm5lbHMiLCJ3YyIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiLCJkaXNjb3ZlcnlTcGxhc2giLCJkaXNjb3Zlcnlfc3BsYXNoIiwiaWNvbkhhc2hUb0JpZ0ludCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwibWVtYmVyQ291bnQiLCJtZW1iZXJfY291bnQiLCJzaGFyZElkIiwiaWNvbiIsImJhbm5lciIsInNwbGFzaCIsIm93bmVySWQiLCJvd25lcl9pZCIsInBlcm1pc3Npb25zIiwiYWZrQ2hhbm5lbElkIiwiYWZrX2NoYW5uZWxfaWQiLCJ3aWRnZXRDaGFubmVsSWQiLCJ3aWRnZXRfY2hhbm5lbF9pZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInN5c3RlbUNoYW5uZWxJZCIsInN5c3RlbV9jaGFubmVsX2lkIiwicnVsZXNDaGFubmVsSWQiLCJydWxlc19jaGFubmVsX2lkIiwicHVibGljVXBkYXRlc0NoYW5uZWxJZCIsInB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImxhcmdlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwid2lkZ2V0X2VuYWJsZWQiLCJ1bmF2YWlsYWJsZSIsImljb25IYXNoIiwiaWNvbl9oYXNoIiwicHJlc2VuY2VzIiwicHJlc2VuY2UiLCJzYWZldHlBbGVydHNDaGFubmVsSWQiLCJzYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFnQ2dCQTs7O2VBQUFBOzs7dUJBckJUO3VCQUNzQzt1QkFHaEI7QUFFN0IsTUFBTUMsWUFBWTtJQUNoQixJQUFJQyxXQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sSUFBSUMsaUJBQVU7UUFFekMsTUFBTUYsVUFBVSxJQUFJLENBQUNDLFFB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
|
|
@@ -12,6 +12,7 @@ _export_star(require("./attachment.cjs"), exports);
|
|
|
12
12
|
_export_star(require("./auditLogEntry.cjs"), exports);
|
|
13
13
|
_export_star(require("./automodActionExecution.cjs"), exports);
|
|
14
14
|
_export_star(require("./automodRule.cjs"), exports);
|
|
15
|
+
_export_star(require("./avatarDecorationData.cjs"), exports);
|
|
15
16
|
_export_star(require("./channel.cjs"), exports);
|
|
16
17
|
_export_star(require("./component.cjs"), exports);
|
|
17
18
|
_export_star(require("./embed.cjs"), exports);
|
|
@@ -59,4 +60,4 @@ function _export_star(from, to) {
|
|
|
59
60
|
return from;
|
|
60
61
|
}
|
|
61
62
|
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1ZGl0TG9nRW50cnkuanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RBY3Rpb25FeGVjdXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2F1dG9tb2RSdWxlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9hdmF0YXJEZWNvcmF0aW9uRGF0YS5qcydcbmV4cG9ydCAqIGZyb20gJy4vY2hhbm5lbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9lbWJlZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vZW1vamkuanMnXG5leHBvcnQgKiBmcm9tICcuL2VudGl0bGVtZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9nYXRld2F5Qm90LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9ndWlsZC5qcydcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24uanMnXG5leHBvcnQgKiBmcm9tICcuL2ludGVyYWN0aW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUuanMnXG5leHBvcnQgKiBmcm9tICcuL21lbWJlci5qcydcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5qcydcbmV4cG9ydCAqIGZyb20gJy4vb25ib2FyZGluZy5qcydcbmV4cG9ydCAqIGZyb20gJy4vcG9sbC5qcydcbmV4cG9ydCAqIGZyb20gJy4vcHJlc2VuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3JldmVyc2UvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3JvbGUuanMnXG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZEV2ZW50LmpzJ1xuZXhwb3J0ICogZnJvbSAnLi9za3UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5leHBvcnQgKiBmcm9tICcuL3N0aWNrZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RlYW0uanMnXG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi90aHJlYWRNZW1iZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZXMvaW5kZXguanMnXG5leHBvcnQgKiBmcm9tICcuL3VzZXIuanMnXG5leHBvcnQgKiBmcm9tICcuL3ZvaWNlUmVnaW9uLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi92b2ljZVN0YXRlLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93ZWJob29rLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93ZWxjb21lU2NyZWVuLmpzJ1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQuanMnXG5leHBvcnQgKiBmcm9tICcuL3dpZGdldFNldHRpbmdzLmpzJ1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWM7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0E7cUJBQ0EifQ==
|
|
@@ -22,7 +22,6 @@ _export(exports, {
|
|
|
22
22
|
const _types = require("@discordeno/types");
|
|
23
23
|
const _utils = require("@discordeno/utils");
|
|
24
24
|
const _index = require("../index.cjs");
|
|
25
|
-
const _typings = require("../typings.cjs");
|
|
26
25
|
const baseInteraction = {
|
|
27
26
|
async respond (response, options) {
|
|
28
27
|
let type = _types.InteractionResponseTypes.ChannelMessageWithSource;
|
|
@@ -33,7 +32,7 @@ const baseInteraction = {
|
|
|
33
32
|
// If user provides an object, determine if it should be an autocomplete or a modal response
|
|
34
33
|
if (response.title) type = _types.InteractionResponseTypes.Modal;
|
|
35
34
|
if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) type = _types.InteractionResponseTypes.ApplicationCommandAutocompleteResult;
|
|
36
|
-
if (type === _types.InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags =
|
|
35
|
+
if (type === _types.InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = _types.MessageFlags.Ephemeral;
|
|
37
36
|
// Since this has already been given a response, any further responses must be followups.
|
|
38
37
|
if (this.acknowledged) return await this.bot.helpers.sendFollowupMessage(this.token, response);
|
|
39
38
|
// Modals cannot be chained
|
|
@@ -78,17 +77,10 @@ const baseInteraction = {
|
|
|
78
77
|
return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
|
|
79
78
|
type: _types.InteractionResponseTypes.DeferredChannelMessageWithSource,
|
|
80
79
|
data: {
|
|
81
|
-
flags: isPrivate ?
|
|
80
|
+
flags: isPrivate ? _types.MessageFlags.Ephemeral : undefined
|
|
82
81
|
}
|
|
83
82
|
});
|
|
84
83
|
},
|
|
85
|
-
async premiumRequired () {
|
|
86
|
-
if (this.acknowledged) throw new Error('Cannot respond to an already responded interaction.');
|
|
87
|
-
this.acknowledged = true;
|
|
88
|
-
return await this.bot.helpers.sendInteractionResponse(this.id, this.token, {
|
|
89
|
-
type: _types.InteractionResponseTypes.PremiumRequired
|
|
90
|
-
});
|
|
91
|
-
},
|
|
92
84
|
async delete (messageId) {
|
|
93
85
|
if (this.type === _types.InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction');
|
|
94
86
|
if (messageId) return await this.bot?.helpers.deleteFollowupMessage(this.token, messageId);
|
|
@@ -96,47 +88,52 @@ const baseInteraction = {
|
|
|
96
88
|
}
|
|
97
89
|
};
|
|
98
90
|
function transformInteraction(bot, payload) {
|
|
99
|
-
const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
|
|
100
|
-
const user = bot.transformers.user(bot, payload.member?.user ?? payload.user);
|
|
91
|
+
const guildId = payload.interaction.guild_id ? bot.transformers.snowflake(payload.interaction.guild_id) : undefined;
|
|
92
|
+
const user = bot.transformers.user(bot, payload.interaction.member?.user ?? payload.interaction.user);
|
|
101
93
|
const interaction = Object.create(baseInteraction);
|
|
102
94
|
const props = bot.transformers.desiredProperties.interaction;
|
|
103
95
|
interaction.bot = bot;
|
|
104
96
|
interaction.acknowledged = false;
|
|
105
|
-
if (props.id && payload.id) interaction.id = bot.transformers.snowflake(payload.id);
|
|
106
|
-
if (props.applicationId && payload.application_id) interaction.applicationId = bot.transformers.snowflake(payload.application_id);
|
|
107
|
-
if (props.type && payload.type) interaction.type = payload.type;
|
|
108
|
-
if (props.token && payload.token) interaction.token = payload.token;
|
|
109
|
-
if (props.version && payload.version) interaction.version = payload.version;
|
|
110
|
-
if (props.locale && payload.locale) interaction.locale = payload.locale;
|
|
111
|
-
if (props.guildLocale && payload.guild_locale) interaction.guildLocale = payload.guild_locale;
|
|
97
|
+
if (props.id && payload.interaction.id) interaction.id = bot.transformers.snowflake(payload.interaction.id);
|
|
98
|
+
if (props.applicationId && payload.interaction.application_id) interaction.applicationId = bot.transformers.snowflake(payload.interaction.application_id);
|
|
99
|
+
if (props.type && payload.interaction.type) interaction.type = payload.interaction.type;
|
|
100
|
+
if (props.token && payload.interaction.token) interaction.token = payload.interaction.token;
|
|
101
|
+
if (props.version && payload.interaction.version) interaction.version = payload.interaction.version;
|
|
102
|
+
if (props.locale && payload.interaction.locale) interaction.locale = payload.interaction.locale;
|
|
103
|
+
if (props.guildLocale && payload.interaction.guild_locale) interaction.guildLocale = payload.interaction.guild_locale;
|
|
104
|
+
if (props.guild && payload.interaction.guild) // @ts-expect-error payload.interaction.guild is a Partial<DiscordGuild>
|
|
105
|
+
interaction.guild = bot.transformers.guild(bot, {
|
|
106
|
+
guild: payload.interaction.guild,
|
|
107
|
+
shardId: payload.shardId
|
|
108
|
+
});
|
|
112
109
|
if (props.guildId && guildId) interaction.guildId = guildId;
|
|
113
110
|
if (props.user && user) interaction.user = user;
|
|
114
|
-
if (props.appPermissions && payload.app_permissions) interaction.appPermissions = bot.transformers.snowflake(payload.app_permissions);
|
|
115
|
-
if (props.message && payload.message) interaction.message = bot.transformers.message(bot, payload.message);
|
|
116
|
-
if (props.channel && payload.channel) interaction.channel = bot.transformers.channel(bot, {
|
|
117
|
-
channel: payload.channel,
|
|
111
|
+
if (props.appPermissions && payload.interaction.app_permissions) interaction.appPermissions = bot.transformers.snowflake(payload.interaction.app_permissions);
|
|
112
|
+
if (props.message && payload.interaction.message) interaction.message = bot.transformers.message(bot, payload.interaction.message);
|
|
113
|
+
if (props.channel && payload.interaction.channel) interaction.channel = bot.transformers.channel(bot, {
|
|
114
|
+
channel: payload.interaction.channel,
|
|
118
115
|
guildId
|
|
119
116
|
});
|
|
120
|
-
if (props.channelId && payload.channel_id) interaction.channelId = bot.transformers.snowflake(payload.channel_id);
|
|
121
|
-
if (props.member && guildId && payload.member) interaction.member = bot.transformers.member(bot, payload.member, guildId, user.id);
|
|
122
|
-
if (props.authorizingIntegrationOwners && payload.authorizing_integration_owners) {
|
|
117
|
+
if (props.channelId && payload.interaction.channel_id) interaction.channelId = bot.transformers.snowflake(payload.interaction.channel_id);
|
|
118
|
+
if (props.member && guildId && payload.interaction.member) interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, user.id);
|
|
119
|
+
if (props.authorizingIntegrationOwners && payload.interaction.authorizing_integration_owners) {
|
|
123
120
|
interaction.authorizingIntegrationOwners = {};
|
|
124
|
-
if (payload.authorizing_integration_owners['0']) interaction.authorizingIntegrationOwners[_index.DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['0']);
|
|
125
|
-
if (payload.authorizing_integration_owners['1']) interaction.authorizingIntegrationOwners[_index.DiscordApplicationIntegrationType.UserInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['1']);
|
|
121
|
+
if (payload.interaction.authorizing_integration_owners['0']) interaction.authorizingIntegrationOwners[_index.DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.interaction.authorizing_integration_owners['0']);
|
|
122
|
+
if (payload.interaction.authorizing_integration_owners['1']) interaction.authorizingIntegrationOwners[_index.DiscordApplicationIntegrationType.UserInstall] = bot.transformers.snowflake(payload.interaction.authorizing_integration_owners['1']);
|
|
126
123
|
}
|
|
127
|
-
if (props.context && payload.context) interaction.context = payload.context;
|
|
128
|
-
if (props.data && payload.data) {
|
|
124
|
+
if (props.context && payload.interaction.context) interaction.context = payload.interaction.context;
|
|
125
|
+
if (props.data && payload.interaction.data) {
|
|
129
126
|
interaction.data = {
|
|
130
|
-
type: payload.data.type,
|
|
131
|
-
componentType: payload.data.component_type,
|
|
132
|
-
customId: payload.data.custom_id,
|
|
133
|
-
components: payload.data.components?.map((component)=>bot.transformers.component(bot, component)),
|
|
134
|
-
values: payload.data.values,
|
|
135
|
-
id: payload.data.id ? bot.transformers.snowflake(payload.data.id) : undefined,
|
|
136
|
-
name: payload.data.name,
|
|
137
|
-
resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,
|
|
138
|
-
options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
|
|
139
|
-
targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined
|
|
127
|
+
type: payload.interaction.data.type,
|
|
128
|
+
componentType: payload.interaction.data.component_type,
|
|
129
|
+
customId: payload.interaction.data.custom_id,
|
|
130
|
+
components: payload.interaction.data.components?.map((component)=>bot.transformers.component(bot, component)),
|
|
131
|
+
values: payload.interaction.data.values,
|
|
132
|
+
id: payload.interaction.data.id ? bot.transformers.snowflake(payload.interaction.data.id) : undefined,
|
|
133
|
+
name: payload.interaction.data.name,
|
|
134
|
+
resolved: payload.interaction.data.resolved ? transformInteractionDataResolved(bot, payload.interaction.data.resolved, guildId) : undefined,
|
|
135
|
+
options: payload.interaction.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
|
|
136
|
+
targetId: payload.interaction.data.target_id ? bot.transformers.snowflake(payload.interaction.data.target_id) : undefined
|
|
140
137
|
};
|
|
141
138
|
}
|
|
142
139
|
return bot.transformers.customizers.interaction(bot, payload, interaction);
|
|
@@ -219,4 +216,4 @@ function transformInteractionDataResolved(bot, resolved, guildId) {
|
|
|
219
216
|
return transformed;
|
|
220
217
|
}
|
|
221
218
|
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICB0eXBlIEJpZ1N0cmluZyxcbiAgdHlwZSBDaGFubmVsVHlwZXMsXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsXG4gIHR5cGUgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB7XG4gIHR5cGUgQm90LFxuICB0eXBlIENoYW5uZWwsXG4gIHR5cGUgQ29tcG9uZW50LFxuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZENoYW5uZWwsXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ29udGV4dFR5cGUsXG59IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgTWVzc2FnZUZsYWdzLCB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB9IGZyb20gJy4uL3R5cGluZ3MuanMnXG5pbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnQgfSBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5pbXBvcnQgdHlwZSB7IE1lbWJlciB9IGZyb20gJy4vbWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSAnLi9tZXNzYWdlLmpzJ1xuaW1wb3J0IHR5cGUgeyBSb2xlIH0gZnJvbSAnLi9yb2xlLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uIGV4dGVuZHMgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqIFRoZSBib3Qgb2JqZWN0ICovXG4gIGJvdDogQm90XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGludGVyYWN0aW9uIGhhcyBiZWVuIHJlc3BvbmRlZCB0by4gKi9cbiAgYWNrbm93bGVkZ2VkOiBib29sZWFuXG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogSWQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgaW50ZXJhY3Rpb24gaXMgZm9yICovXG4gIGFwcGxpY2F0aW9uSWQ6IGJpZ2ludFxuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogVGhlIGd1aWxkIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgZ3VpbGRJZD86IGJpZ2ludFxuICAvKiogVGhlIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBjaGFubmVsOiBQYXJ0aWFsPENoYW5uZWw+XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGJlZ2luIHVzaW5nIHRoaXMgY2hhbm5lbCBmaWVsZCB0byBpZGVudGlmeSB0aGUgc291cmNlIGNoYW5uZWwgb2YgdGhlIGludGVyYWN0aW9uIGFzIHRoZXkgbWF5IGRlcHJlY2F0ZSB0aGUgZXhpc3RpbmcgY2hhbm5lbF9pZCBmaWVsZCBpbiB0aGUgZnV0dXJlLlxuICAgKi9cbiAgY2hhbm5lbElkPzogYmlnaW50XG4gIC8qKiBHdWlsZCBtZW1iZXIgZGF0YSBmb3IgdGhlIGludm9raW5nIHVzZXIsIGluY2x1ZGluZyBwZXJtaXNzaW9ucyAqL1xuICBtZW1iZXI/OiBNZW1iZXJcbiAgLyoqIFVzZXIgb2JqZWN0IGZvciB0aGUgaW52b2tpbmcgdXNlciwgaWYgaW52b2tlZCBpbiBhIERNICovXG4gIHVzZXI6IFVzZXJcbiAgLyoqIEEgY29udGludWF0aW9uIHRva2VuIGZvciByZXNwb25kaW5nIHRvIHRoZSBpbnRlcmFjdGlvbiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBSZWFkLW9ubHkgcHJvcGVydHksIGFsd2F5cyBgMWAgKi9cbiAgdmVyc2lvbjogMVxuICAvKiogRm9yIHRoZSBtZXNzYWdlIHRoZSBidXR0b24gd2FzIGF0dGFjaGVkIHRvICovXG4gIG1lc3NhZ2U/OiBNZXNzYWdlXG4gIC8qKiB0aGUgY29tbWFuZCBkYXRhIHBheWxvYWQgKi9cbiAgZGF0YT86IHtcbiAgICB0eXBlPzogQXBwbGljYXRpb25Db21tYW5kVHlwZXNcbiAgICBjb21wb25lbnRUeXBlPzogTWVzc2FnZUNvbXBvbmVudFR5cGVzXG4gICAgY3VzdG9tSWQ/OiBzdHJpbmdcbiAgICBjb21wb25lbnRzPzogQ29tcG9uZW50W11cbiAgICB2YWx1ZXM/OiBzdHJpbmdbXVxuICAgIG5hbWU6IHN0cmluZ1xuICAgIHJlc29sdmVkPzogSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWRcbiAgICBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgICBpZD86IGJpZ2ludFxuICAgIHRhcmdldElkPzogYmlnaW50XG4gICAgLy8gZ3VpbGRJZD86IGJpZ2ludFxuICB9XG4gIC8qKiBUaGUgc2VsZWN0ZWQgbGFuZ3VhZ2Ugb2YgdGhlIGludm9raW5nIHVzZXIgKi9cbiAgbG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgZ3VpbGQncyBwcmVmZXJyZWQgbG9jYWxlLCBpZiBpbnZva2VkIGluIGEgZ3VpbGQgKi9cbiAgZ3VpbGRMb2NhbGU/OiBzdHJpbmdcbiAgLyoqIFRoZSBjb21wdXRlZCBwZXJtaXNzaW9ucyBmb3IgYSBib3Qgb3IgYXBwIGluIHRoZSBjb250ZXh0IG9mIGEgc3BlY2lmaWMgaW50ZXJhY3Rpb24gKGluY2x1ZGluZyBjaGFubmVsIG92ZXJ3cml0ZXMpICovXG4gIGFwcFBlcm1pc3Npb25zOiBiaWdpbnRcbiAgLyoqIE1hcHBpbmcgb2YgaW5zdGFsbGF0aW9uIGNvbnRleHRzIHRoYXQgdGhlIGludGVyYWN0aW9uIHdhcyBhdXRob3JpemVkIGZvciB0byByZWxhdGVkIHVzZXIgb3IgZ3VpbGQgSURzLiAqL1xuICBhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzOiBQYXJ0aWFsPFJlY29yZDxEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsIGJpZ2ludD4+XG4gIC8qKiBDb250ZXh0IHdoZXJlIHRoZSBpbnRlcmFjdGlvbiB3YXMgdHJpZ2dlcmVkIGZyb20gKi9cbiAgY29udGV4dD86IERpc2NvcmRJbnRlcmFjdGlvbkNvbnRleHRUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqXG4gICAqIFNlbmRzIGEgcmVzcG9uc2UgdG8gYW4gaW50ZXJhY3Rpb24uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgd2lsbCBzZW5kIGEge0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2V9LCB7QGxpbmsgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdH0gb3Ige0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbH0gcmVzcG9uc2UgYmFzZWQgb24gdGhlIHR5cGUgb2YgdGhlIGludGVyYWN0aW9uIHlvdSBhcmUgcmVzcG9uZGluZyB0by5cbiAgICpcbiAgICogSWYgdGhlIGludGVyYWN0aW9uIGhhcyBiZWVuIGFscmVhZHkgYWNrbm93bGVkZ2VkLCBpbmRpY2F0ZWQgYnkge0BsaW5rIEludGVyYWN0aW9uLmFja25vd2xlZGdlZH0sIGl0IHdpbGwgc2VuZCBhIGZvbGxvd3VwIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICpcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAsIGBpbnRlcmFjdGlvbi50b2tlbmAgYW5kIGBpbnRlcmFjdGlvbi5pZGAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgcmVzcG9uZDogKHJlc3BvbnNlOiBzdHJpbmcgfCBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSwgb3B0aW9ucz86IHsgaXNQcml2YXRlPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB2b2lkPlxuICAvKipcbiAgICogRWRpdCB0aGUgb3JpZ2luYWwgcmVzcG9uc2Ugb2YgYW4gaW50ZXJhY3Rpb24gb3IgYSBmb2xsb3d1cCBpZiB0aGUgbWVzc2FnZSBpZCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB3aWxsIGVkaXQgdGhlIG9yaWdpbmFsIGludGVyYWN0aW9uIHJlc3BvbnNlIG9yLCBpZiB0aGUgaW50ZXJhY3Rpb24gaGFzIG5vdCB5ZXQgYmVlbiBhY2tub3dsZWRnZWQgYW5kIHRoZSB0eXBlIG9mIHRoZSBpbnRlcmFjdGlvbiBpcyB7QGxpbmsgSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50fSBpdCB3aWxsIGluc3RlYWQgc2VuZCBhIHtAbGluayBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuVXBkYXRlTWVzc2FnZX0gcmVzcG9uc2UgaW5zdGVhZC5cbiAgICpcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAsIGBpbnRlcmFjdGlvbi50b2tlbmAgYW5kIGBpbnRlcmFjdGlvbi5pZGAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgZWRpdDogKHJlc3BvbnNlOiBzdHJpbmcgfCBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSwgbWVzc2FnZUlkPzogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB2b2lkPlxuICAvKipcbiAgICogRGVmZXIgdGhlIGludGVyYWN0aW9uIGZvciB1cGRhdGluZyB0aGUgcmVmZXJlbmNlZCBtZXNzYWdlIGF0IGEgbGF0ZXIgdGltZSB3aXRoIHtAbGluayBlZGl0fS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB3aWxsIHNlbmQgYSB7QGxpbmsgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkVXBkYXRlTWVzc2FnZX0gcmVzcG9uc2UuXG4gICAqXG4gICAqIFVzZXMgYGludGVyYWN0aW9uLnR5cGVgLCBgaW50ZXJhY3Rpb24udG9rZW5gIGFuZCBgaW50ZXJhY3Rpb24uaWRgLCBtaXNzaW5nIG9uZSBvZiB0aGVzZSBpbiB0aGUgZGVzaXJlZCBwcm9wcmlldGllcyBtYXkgY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICovXG4gIGRlZmVyRWRpdDogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKipcbiAgICogRGVmZXIgdGhlIGludGVyYWN0aW9uIGZvciB1cGRhdGluZyB0aGUgcmVzcG9uc2UgYXQgYSBsYXRlciB0aW1lIHdpdGgge0BsaW5rIGVkaXR9LlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHdpbGwgc2VuZCBhIHtAbGluayBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2V9IHJlc3BvbnNlLlxuICAgKlxuICAgKiBVc2VzIGBpbnRlcmFjdGlvbi50eXBlYCwgYGludGVyYWN0aW9uLnRva2VuYCBhbmQgYGludGVyYWN0aW9uLmlkYCwgbWlzc2luZyBvbmUgb2YgdGhlc2UgaW4gdGhlIGRlc2lyZWQgcHJvcHJpZXRpZXMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG4gICAqL1xuICBkZWZlcjogKGlzUHJpdmF0ZT86IGJvb2xlYW4pID0+IFByb21pc2U8dm9pZD5cbiAgLyoqXG4gICAqIERlbGV0ZSB0aGUgb3JpZ2luYWwgaW50ZXJhY3Rpb24gcmVzcG9uc2Ugb3IgYSBmb2xsb3d1cCBpZiB0aGUgbWVzc2FnZSBpZCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAgYW5kIGBpbnRlcmFjdGlvbi50b2tlbmAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgZGVsZXRlOiAobWVzc2FnZUlkPzogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKlxuICAgKiBTZW5kcyBhIHJlc3BvbnNlIHdpdGggYW4gdXBncmFkZSBidXR0b24uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgd2lsbCBzZW5kIGEge0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5QcmVtaXVtUmVxdWlyZWR9IHJlc3BvbnNlLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIG9ubHkgd2l0aCBhcHBsaWNhdGlvbnMgdGhhdCBoYXZlIG1vbmV0aXphdGlvbiBlbmFibGVkLlxuICAgKlxuICAgKiBVc2VzIGBpbnRlcmFjdGlvbi50eXBlYCwgYGludGVyYWN0aW9uLnRva2VuYCBhbmQgYGludGVyYWN0aW9uLmlkYCwgbWlzc2luZyBvbmUgb2YgdGhlc2UgaW4gdGhlIGRlc2lyZWQgcHJvcHJpZXRpZXMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG4gICAqL1xuICBwcmVtaXVtUmVxdWlyZWQ6ICgpID0+IFByb21pc2U8dm9pZD5cbn1cblxuY29uc3QgYmFzZUludGVyYWN0aW9uOiBQYXJ0aWFsPEludGVyYWN0aW9uPiAmIEJhc2VJbnRlcmFjdGlvbiA9IHtcbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkgcmVzcG9uc2UuZmxhZ3MgPSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsXG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90IS5oZWxwZXJzLnNlbmRGb2xsb3d1cE1lc3NhZ2UodGhpcy50b2tlbiEsIHJlc3BvbnNlKVxuXG4gICAgLy8gTW9kYWxzIGNhbm5vdCBiZSBjaGFpbmVkXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdCAmJiB0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZXNwb25kIHRvIGEgbW9kYWwgaW50ZXJhY3Rpb24gd2l0aCBhbm90aGVyIG1vZGFsLicpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuISwgbWVzc2FnZUlkLCByZXNwb25zZSlcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYWNrbm93bGVkZ2VkKSB7XG4gICAgICBpZiAodGhpcy50eXBlICE9PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IGludGVyYWN0aW9uLlwiKVxuXG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkISwgdGhpcy50b2tlbiEsIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2UsIGRhdGE6IHJlc3BvbnNlIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90IS5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiEsIHJlc3BvbnNlKVxuICB9LFxuICBhc3luYyBkZWZlckVkaXQoKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50KVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGRlZmVyIHRvIHRoZW4gZWRpdCBhbiBpbnRlcmFjdGlvbiB0aGF0IGlzbid0IGEgTWVzc2FnZUNvbXBvbmVudCBpbnRlcmFjdGlvbi5cIilcblxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkISwgdGhpcy50b2tlbiEsIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkVXBkYXRlTWVzc2FnZSB9KVxuICB9LFxuICBhc3luYyBkZWZlcihpc1ByaXZhdGUpIHtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7XG4gICAgICB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZsYWdzOiBpc1ByaXZhdGUgPyBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsIDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9KVxuICB9LFxuICBhc3luYyBwcmVtaXVtUmVxdWlyZWQoKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZXNwb25kIHRvIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5QcmVtaXVtUmVxdWlyZWQgfSlcbiAgfSxcbiAgYXN5bmMgZGVsZXRlKG1lc3NhZ2VJZCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWxldGUgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJylcblxuICAgIGlmIChtZXNzYWdlSWQpIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVGb2xsb3d1cE1lc3NhZ2UodGhpcy50b2tlbiEsIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiEpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uKTogSW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90XG4gIGludGVyYWN0aW9uLmFja25vd2xlZGdlZCA9IGZhbHNlXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGludGVyYWN0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgaW50ZXJhY3Rpb24uZ3VpbGRJZCA9IGd1aWxkSWRcbiAgaWYgKHByb3BzLnVzZXIgJiYgdXNlcikgaW50ZXJhY3Rpb24udXNlciA9IHVzZXJcbiAgaWYgKHByb3BzLmFwcFBlcm1pc3Npb25zICYmIHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKSBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UpXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuY2hhbm5lbCkgaW50ZXJhY3Rpb24uY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC5jaGFubmVsIGFzIERpc2NvcmRDaGFubmVsLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiBwYXlsb2FkLm1lbWJlcikgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgZ3VpbGRJZCwgdXNlci5pZClcbiAgaWYgKHByb3BzLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgJiYgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMpIHtcbiAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzID0ge31cblxuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKVxuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddKVxuICAgICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuVXNlckluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10sXG4gICAgICApXG4gIH1cbiAgaWYgKHByb3BzLmNvbnRleHQgJiYgcGF5bG9hZC5jb250ZXh0KSBpbnRlcmFjdGlvbi5jb250ZXh0ID0gcGF5bG9hZC5jb250ZXh0XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWQgPyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQuZGF0YS5yZXNvbHZlZCwgZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gICAgICBvcHRpb25zOiBwYXlsb2FkLmRhdGEub3B0aW9ucz8ubWFwKChvcHQpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdCkpLFxuICAgICAgdGFyZ2V0SWQ6IHBheWxvYWQuZGF0YS50YXJnZXRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmRhdGEudGFyZ2V0X2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgIC8vIGd1aWxkSWQ6IHBheWxvYWQuZGF0YS5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5ndWlsZF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90OiBCb3QsIHJlc29sdmVkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsIGd1aWxkSWQ/OiBiaWdpbnQpOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHJlc29sdmVkLm1lc3NhZ2VzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVzc2FnZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLm1lc3NhZ2VzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFttZXNzYWdlLmlkLCBtZXNzYWdlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHJlc29sdmVkLnVzZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQudXNlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLnVzZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFt1c2VyLmlkLCB1c2VyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKGd1aWxkSWQgJiYgcmVzb2x2ZWQubWVtYmVycykge1xuICAgIHRyYW5zZm9ybWVkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLm1lbWJlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVyOiBNZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gICAgICAgIHJldHVybiBbbWVtYmVyLmlkLCBtZW1iZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZ3VpbGRJZCAmJiByZXNvbHZlZC5yb2xlcykge1xuICAgIHRyYW5zZm9ybWVkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5yb2xlcykubWFwKChbaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCByb2xlID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlOiB2YWx1ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3JvbGUuaWQsIHJvbGVdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQuY2hhbm5lbHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICBjb25zdCBjaGFubmVsID0gdmFsdWUgYXMge1xuICAgICAgICAgIGlkOiBzdHJpbmdcbiAgICAgICAgICBuYW1lOiBzdHJpbmdcbiAgICAgICAgICB0eXBlOiBDaGFubmVsVHlwZXNcbiAgICAgICAgICBwZXJtaXNzaW9uczogc3RyaW5nXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIG5hbWU6IGNoYW5uZWwubmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGNoYW5uZWwudHlwZSxcbiAgICAgICAgICAgIHBlcm1pc3Npb25zOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShjaGFubmVsLnBlcm1pc3Npb25zKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gdHJhbnNmb3JtZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIG1lc3NhZ2VzPzogQ29sbGVjdGlvbjxiaWdpbnQsIE1lc3NhZ2U+XG4gIHVzZXJzPzogQ29sbGVjdGlvbjxiaWdpbnQsIFVzZXI+XG4gIG1lbWJlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgTWVtYmVyPlxuICByb2xlcz86IENvbGxlY3Rpb248YmlnaW50LCBSb2xlPlxuICBjaGFubmVscz86IENvbGxlY3Rpb248YmlnaW50LCB7IGlkOiBiaWdpbnQ7IG5hbWU6IHN0cmluZzsgdHlwZTogQ2hhbm5lbFR5cGVzOyBwZXJtaXNzaW9uczogYmlnaW50IH0+XG4gIGF0dGFjaG1lbnRzPzogQ29sbGVjdGlvbjxiaWdpbnQsIEF0dGFjaG1lbnQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgbmFtZTogc3RyaW5nXG4gIHR5cGU6IEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhblxuICBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW11cbiAgZm9jdXNlZD86IGJvb2xlYW5cbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiYmFzZUludGVyYWN0aW9uIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkludGVyYWN0aW9uVHlwZXMiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHQiLCJpc1ByaXZhdGUiLCJmbGFncyIsIk1lc3NhZ2VGbGFncyIsIkVwaGVtZXJhbCIsImFja25vd2xlZGdlZCIsImJvdCIsImhlbHBlcnMiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwidG9rZW4iLCJNb2RhbFN1Ym1pdCIsIkVycm9yIiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpZCIsImRhdGEiLCJlZGl0IiwibWVzc2FnZUlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsIk1lc3NhZ2VDb21wb25lbnQiLCJVcGRhdGVNZXNzYWdlIiwiZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlZmVyRWRpdCIsIkRlZmVycmVkVXBkYXRlTWVzc2FnZSIsImRlZmVyIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJ1bmRlZmluZWQiLCJwcmVtaXVtUmVxdWlyZWQiLCJQcmVtaXVtUmVxdWlyZWQiLCJkZWxldGUiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlciIsIm1lbWJlciIsImludGVyYWN0aW9uIiwiT2JqZWN0IiwiY3JlYXRlIiwicHJvcHMiLCJkZXNpcmVkUHJvcGVydGllcyIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInZlcnNpb24iLCJsb2NhbGUiLCJndWlsZExvY2FsZSIsImd1aWxkX2xvY2FsZSIsImFwcFBlcm1pc3Npb25zIiwiYXBwX3Blcm1pc3Npb25zIiwibWVzc2FnZSIsImNoYW5uZWwiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwiYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyIsImF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycyIsIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIkd1aWxkSW5zdGFsbCIsIlVzZXJJbnN0YWxsIiwiY29udGV4dCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsIm9wdCIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsImN1c3RvbWl6ZXJzIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwidHJhbnNmb3JtZWQiLCJtZXNzYWdlcyIsIkNvbGxlY3Rpb24iLCJlbnRyaWVzIiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJrZXkiLCJwZXJtaXNzaW9ucyIsImF0dGFjaG1lbnRzIiwiYXR0YWNobWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUE4TmdCQSxvQkFBb0I7ZUFBcEJBOztJQXVEQUMsOEJBQThCO2VBQTlCQTs7SUFZQUMsZ0NBQWdDO2VBQWhDQTs7O3VCQXRSVDt1QkFDb0I7dUJBUXBCO3lCQUMyRDtBQTRIbEUsTUFBTUMsa0JBQTBEO0lBQzlELE1BQU1DLFNBQVFDLFFBQVEsRUFBRUMsT0FBTztRQUM3QixJQUFJQyxPQUFPQywrQkFBd0IsQ0FBQ0Msd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9KLGFBQWEsVUFBVUEsV0FBVztZQUFFSyxTQUFTTDtRQUFTO1FBRWpFLDRGQUE0RjtRQUM1RixJQUFJQSxTQUFTTSxLQUFLLEVBQUVKLE9BQU9DLCtCQUF3QixDQUFDSSxLQUFLO1FBQ3pELElBQUksSUFBSSxDQUFDTCxJQUFJLEtBQUtNLHVCQUFnQixDQUFDQyw4QkFBOEIsRUFBRVAsT0FBT0MsK0JBQXdCLENBQUNPLG9DQUFvQztRQUN2SSxJQUFJUixTQUFTQywrQkFBd0IsQ0FBQ0Msd0JBQXdCLElBQUlILFNBQVNVLFdBQVdYLFNBQVNZLEtBQUssR0FBR0MscUJBQVksQ0FBQ0MsU0FBUztRQUU3SCx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUND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
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMsXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kVHlwZXMsXG4gIHR5cGUgQmlnU3RyaW5nLFxuICB0eXBlIENoYW5uZWxUeXBlcyxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgdHlwZSBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSxcbiAgdHlwZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIEJvdCxcbiAgdHlwZSBDaGFubmVsLFxuICB0eXBlIENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hhbm5lbCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZSxcbiAgdHlwZSBHdWlsZCxcbn0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB9IGZyb20gJy4uL3R5cGluZ3MuanMnXG5pbXBvcnQgdHlwZSB7IEF0dGFjaG1lbnQgfSBmcm9tICcuL2F0dGFjaG1lbnQuanMnXG5pbXBvcnQgdHlwZSB7IE1lbWJlciB9IGZyb20gJy4vbWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSAnLi9tZXNzYWdlLmpzJ1xuaW1wb3J0IHR5cGUgeyBSb2xlIH0gZnJvbSAnLi9yb2xlLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uIGV4dGVuZHMgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqIFRoZSBib3Qgb2JqZWN0ICovXG4gIGJvdDogQm90XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGludGVyYWN0aW9uIGhhcyBiZWVuIHJlc3BvbmRlZCB0by4gKi9cbiAgYWNrbm93bGVkZ2VkOiBib29sZWFuXG4gIC8qKiBJZCBvZiB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogSWQgb2YgdGhlIGFwcGxpY2F0aW9uIHRoaXMgaW50ZXJhY3Rpb24gaXMgZm9yICovXG4gIGFwcGxpY2F0aW9uSWQ6IGJpZ2ludFxuICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgdHlwZTogSW50ZXJhY3Rpb25UeXBlc1xuICAvKiogR3VpbGQgdGhhdCB0aGUgaW50ZXJhY3Rpb24gd2FzIHNlbnQgZnJvbSAqL1xuICBndWlsZDogR3VpbGRcbiAgLyoqIFRoZSBndWlsZCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGd1aWxkSWQ/OiBiaWdpbnRcbiAgLyoqIFRoZSBjaGFubmVsIGl0IHdhcyBzZW50IGZyb20gKi9cbiAgY2hhbm5lbDogUGFydGlhbDxDaGFubmVsPlxuICAvKipcbiAgICogVGhlIElEIG9mIGNoYW5uZWwgaXQgd2FzIHNlbnQgZnJvbVxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBiZWdpbiB1c2luZyB0aGlzIGNoYW5uZWwgZmllbGQgdG8gaWRlbnRpZnkgdGhlIHNvdXJjZSBjaGFubmVsIG9mIHRoZSBpbnRlcmFjdGlvbiBhcyB0aGV5IG1heSBkZXByZWNhdGUgdGhlIGV4aXN0aW5nIGNoYW5uZWxfaWQgZmllbGQgaW4gdGhlIGZ1dHVyZS5cbiAgICovXG4gIGNoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyOiBVc2VyXG4gIC8qKiBBIGNvbnRpbnVhdGlvbiB0b2tlbiBmb3IgcmVzcG9uZGluZyB0byB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogUmVhZC1vbmx5IHByb3BlcnR5LCBhbHdheXMgYDFgICovXG4gIHZlcnNpb246IDFcbiAgLyoqIEZvciB0aGUgbWVzc2FnZSB0aGUgYnV0dG9uIHdhcyBhdHRhY2hlZCB0byAqL1xuICBtZXNzYWdlPzogTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiB7XG4gICAgdHlwZT86IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gICAgY29tcG9uZW50VHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlc1xuICAgIGN1c3RvbUlkPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IENvbXBvbmVudFtdXG4gICAgdmFsdWVzPzogc3RyaW5nW11cbiAgICBuYW1lOiBzdHJpbmdcbiAgICByZXNvbHZlZD86IEludGVyYWN0aW9uRGF0YVJlc29sdmVkXG4gICAgb3B0aW9ucz86IEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gICAgaWQ/OiBiaWdpbnRcbiAgICB0YXJnZXRJZD86IGJpZ2ludFxuICAgIC8vIGd1aWxkSWQ/OiBiaWdpbnRcbiAgfVxuICAvKiogVGhlIHNlbGVjdGVkIGxhbmd1YWdlIG9mIHRoZSBpbnZva2luZyB1c2VyICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkJ3MgcHJlZmVycmVkIGxvY2FsZSwgaWYgaW52b2tlZCBpbiBhIGd1aWxkICovXG4gIGd1aWxkTG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBQZXJtaXNzaW9uczogYmlnaW50XG4gIC8qKiBNYXBwaW5nIG9mIGluc3RhbGxhdGlvbiBjb250ZXh0cyB0aGF0IHRoZSBpbnRlcmFjdGlvbiB3YXMgYXV0aG9yaXplZCBmb3IgdG8gcmVsYXRlZCB1c2VyIG9yIGd1aWxkIElEcy4gKi9cbiAgYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyczogUGFydGlhbDxSZWNvcmQ8RGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLCBiaWdpbnQ+PlxuICAvKiogQ29udGV4dCB3aGVyZSB0aGUgaW50ZXJhY3Rpb24gd2FzIHRyaWdnZXJlZCBmcm9tICovXG4gIGNvbnRleHQ/OiBEaXNjb3JkSW50ZXJhY3Rpb25Db250ZXh0VHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VJbnRlcmFjdGlvbiB7XG4gIC8qKlxuICAgKiBTZW5kcyBhIHJlc3BvbnNlIHRvIGFuIGludGVyYWN0aW9uLlxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBUaGlzIHdpbGwgc2VuZCBhIHtAbGluayBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlfSwge0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHR9IG9yIHtAbGluayBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWx9IHJlc3BvbnNlIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHRoZSBpbnRlcmFjdGlvbiB5b3UgYXJlIHJlc3BvbmRpbmcgdG8uXG4gICAqXG4gICAqIElmIHRoZSBpbnRlcmFjdGlvbiBoYXMgYmVlbiBhbHJlYWR5IGFja25vd2xlZGdlZCwgaW5kaWNhdGVkIGJ5IHtAbGluayBJbnRlcmFjdGlvbi5hY2tub3dsZWRnZWR9LCBpdCB3aWxsIHNlbmQgYSBmb2xsb3d1cCBtZXNzYWdlIGluc3RlYWQuXG4gICAqXG4gICAqIFVzZXMgYGludGVyYWN0aW9uLnR5cGVgLCBgaW50ZXJhY3Rpb24udG9rZW5gIGFuZCBgaW50ZXJhY3Rpb24uaWRgLCBtaXNzaW5nIG9uZSBvZiB0aGVzZSBpbiB0aGUgZGVzaXJlZCBwcm9wcmlldGllcyBtYXkgY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICovXG4gIHJlc3BvbmQ6IChyZXNwb25zZTogc3RyaW5nIHwgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsIG9wdGlvbnM/OiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTxNZXNzYWdlIHwgdm9pZD5cbiAgLyoqXG4gICAqIEVkaXQgdGhlIG9yaWdpbmFsIHJlc3BvbnNlIG9mIGFuIGludGVyYWN0aW9uIG9yIGEgZm9sbG93dXAgaWYgdGhlIG1lc3NhZ2UgaWQgaXMgcHJvdmlkZWQuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgd2lsbCBlZGl0IHRoZSBvcmlnaW5hbCBpbnRlcmFjdGlvbiByZXNwb25zZSBvciwgaWYgdGhlIGludGVyYWN0aW9uIGhhcyBub3QgeWV0IGJlZW4gYWNrbm93bGVkZ2VkIGFuZCB0aGUgdHlwZSBvZiB0aGUgaW50ZXJhY3Rpb24gaXMge0BsaW5rIEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudH0gaXQgd2lsbCBpbnN0ZWFkIHNlbmQgYSB7QGxpbmsgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2V9IHJlc3BvbnNlIGluc3RlYWQuXG4gICAqXG4gICAqIFVzZXMgYGludGVyYWN0aW9uLnR5cGVgLCBgaW50ZXJhY3Rpb24udG9rZW5gIGFuZCBgaW50ZXJhY3Rpb24uaWRgLCBtaXNzaW5nIG9uZSBvZiB0aGVzZSBpbiB0aGUgZGVzaXJlZCBwcm9wcmlldGllcyBtYXkgY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICovXG4gIGVkaXQ6IChyZXNwb25zZTogc3RyaW5nIHwgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsIG1lc3NhZ2VJZD86IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlIHwgdm9pZD5cbiAgLyoqXG4gICAqIERlZmVyIHRoZSBpbnRlcmFjdGlvbiBmb3IgdXBkYXRpbmcgdGhlIHJlZmVyZW5jZWQgbWVzc2FnZSBhdCBhIGxhdGVyIHRpbWUgd2l0aCB7QGxpbmsgZWRpdH0uXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgd2lsbCBzZW5kIGEge0BsaW5rIEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2V9IHJlc3BvbnNlLlxuICAgKlxuICAgKiBVc2VzIGBpbnRlcmFjdGlvbi50eXBlYCwgYGludGVyYWN0aW9uLnRva2VuYCBhbmQgYGludGVyYWN0aW9uLmlkYCwgbWlzc2luZyBvbmUgb2YgdGhlc2UgaW4gdGhlIGRlc2lyZWQgcHJvcHJpZXRpZXMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3IuXG4gICAqL1xuICBkZWZlckVkaXQ6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqXG4gICAqIERlZmVyIHRoZSBpbnRlcmFjdGlvbiBmb3IgdXBkYXRpbmcgdGhlIHJlc3BvbnNlIGF0IGEgbGF0ZXIgdGltZSB3aXRoIHtAbGluayBlZGl0fS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyB3aWxsIHNlbmQgYSB7QGxpbmsgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlfSByZXNwb25zZS5cbiAgICpcbiAgICogVXNlcyBgaW50ZXJhY3Rpb24udHlwZWAsIGBpbnRlcmFjdGlvbi50b2tlbmAgYW5kIGBpbnRlcmFjdGlvbi5pZGAsIG1pc3Npbmcgb25lIG9mIHRoZXNlIGluIHRoZSBkZXNpcmVkIHByb3ByaWV0aWVzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLlxuICAgKi9cbiAgZGVmZXI6IChpc1ByaXZhdGU/OiBib29sZWFuKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKlxuICAgKiBEZWxldGUgdGhlIG9yaWdpbmFsIGludGVyYWN0aW9uIHJlc3BvbnNlIG9yIGEgZm9sbG93dXAgaWYgdGhlIG1lc3NhZ2UgaWQgaXMgcHJvdmlkZWQuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFVzZXMgYGludGVyYWN0aW9uLnR5cGVgIGFuZCBgaW50ZXJhY3Rpb24udG9rZW5gLCBtaXNzaW5nIG9uZSBvZiB0aGVzZSBpbiB0aGUgZGVzaXJlZCBwcm9wcmlldGllcyBtYXkgY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvci5cbiAgICovXG4gIGRlbGV0ZTogKG1lc3NhZ2VJZD86IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxufVxuXG5jb25zdCBiYXNlSW50ZXJhY3Rpb246IFBhcnRpYWw8SW50ZXJhY3Rpb24+ICYgQmFzZUludGVyYWN0aW9uID0ge1xuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYW4gb2JqZWN0LCBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGJlIGFuIGF1dG9jb21wbGV0ZSBvciBhIG1vZGFsIHJlc3BvbnNlXG4gICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG4gICAgaWYgKHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UgJiYgb3B0aW9ucz8uaXNQcml2YXRlKSByZXNwb25zZS5mbGFncyA9IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWxcblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuISwgcmVzcG9uc2UpXG5cbiAgICAvLyBNb2RhbHMgY2Fubm90IGJlIGNoYWluZWRcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLk1vZGFsU3VibWl0ICYmIHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbClcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlc3BvbmQgdG8gYSBtb2RhbCBpbnRlcmFjdGlvbiB3aXRoIGFub3RoZXIgbW9kYWwuJylcblxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkISwgdGhpcy50b2tlbiEsIHsgdHlwZSwgZGF0YTogcmVzcG9uc2UgfSlcbiAgfSxcbiAgYXN5bmMgZWRpdChyZXNwb25zZSwgbWVzc2FnZUlkKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4hLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBpbnRlcmFjdGlvbiBoYXMgbm90IGJlZW4gcmVzcG9uZGVkIHRvIHlldCBhbmQgdGhpcyBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90IS5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMuaWQhLCB0aGlzLnRva2VuISwgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuVXBkYXRlTWVzc2FnZSwgZGF0YTogcmVzcG9uc2UgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QhLmhlbHBlcnMuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuISwgcmVzcG9uc2UpXG4gIH0sXG4gIGFzeW5jIGRlZmVyRWRpdCgpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZWRpdCBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24uJylcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICBpZiAodGhpcy50eXBlICE9PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGVmZXIgdG8gdGhlbiBlZGl0IGFuIGludGVyYWN0aW9uIHRoYXQgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IGludGVyYWN0aW9uLlwiKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90IS5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMuaWQhLCB0aGlzLnRva2VuISwgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0pXG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSkge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkISwgdGhpcy50b2tlbiEsIHtcbiAgICAgIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH0pXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4hLCBtZXNzYWdlSWQpXG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4hKVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb24oYm90OiBCb3QsIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb246IERpc2NvcmRJbnRlcmFjdGlvbjsgc2hhcmRJZDogbnVtYmVyIH0pOiBJbnRlcmFjdGlvbiB7XG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCkgOiB1bmRlZmluZWRcbiAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyPy51c2VyID8/IHBheWxvYWQuaW50ZXJhY3Rpb24udXNlciEpXG5cbiAgY29uc3QgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uID0gT2JqZWN0LmNyZWF0ZShiYXNlSW50ZXJhY3Rpb24pXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblxuICBpbnRlcmFjdGlvbi5ib3QgPSBib3RcbiAgaW50ZXJhY3Rpb24uYWNrbm93bGVkZ2VkID0gZmFsc2VcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmlkKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcGxpY2F0aW9uX2lkKVxuICAgIGludGVyYWN0aW9uLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGUpIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGVcbiAgaWYgKHByb3BzLnRva2VuICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udG9rZW4pIGludGVyYWN0aW9uLnRva2VuID0gcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlblxuICBpZiAocHJvcHMudmVyc2lvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uLnZlcnNpb24pIGludGVyYWN0aW9uLnZlcnNpb24gPSBwYXlsb2FkLmludGVyYWN0aW9uLnZlcnNpb25cbiAgaWYgKHByb3BzLmxvY2FsZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZSkgaW50ZXJhY3Rpb24ubG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkTG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfbG9jYWxlKSBpbnRlcmFjdGlvbi5ndWlsZExvY2FsZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfbG9jYWxlXG4gIGlmIChwcm9wcy5ndWlsZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCBpcyBhIFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAgIGludGVyYWN0aW9uLmd1aWxkID0gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlciAmJiB1c2VyKSBpbnRlcmFjdGlvbi51c2VyID0gdXNlclxuICBpZiAocHJvcHMuYXBwUGVybWlzc2lvbnMgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5hcHBfcGVybWlzc2lvbnMpXG4gICAgaW50ZXJhY3Rpb24uYXBwUGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlKSBpbnRlcmFjdGlvbi5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlKVxuICBpZiAocHJvcHMuY2hhbm5lbCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwpXG4gICAgaW50ZXJhY3Rpb24uY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC5pbnRlcmFjdGlvbi5jaGFubmVsIGFzIERpc2NvcmRDaGFubmVsLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcilcbiAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCB1c2VyLmlkKVxuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycykge1xuICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fVxuXG4gICAgaWYgKHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMuY29udGV4dCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNvbnRleHQpIGludGVyYWN0aW9uLmNvbnRleHQgPSBwYXlsb2FkLmludGVyYWN0aW9uLmNvbnRleHRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZCA/IHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkLCBndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgICAgLy8gZ3VpbGRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmd1aWxkX2lkKSA6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbihib3QsIHBheWxvYWQsIGludGVyYWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBjb25zdCBvcHQgPSB7XG4gICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgdHlwZTogb3B0aW9uLnR5cGUsXG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICBmb2N1c2VkOiBvcHRpb24uZm9jdXNlZCxcbiAgfSBhcyBJbnRlcmFjdGlvbkRhdGFPcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0aW9uLCBvcHQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3Q6IEJvdCwgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgZ3VpbGRJZD86IGJpZ2ludCk6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkID0ge31cblxuICBpZiAocmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQubWVzc2FnZXMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlKVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQudXNlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC51c2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQudXNlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHZhbHVlKVxuICAgICAgICByZXR1cm4gW3VzZXIuaWQsIHVzZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZ3VpbGRJZCAmJiByZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQubWVtYmVycykubWFwKChbaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZW1iZXI6IE1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgdmFsdWUsIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgICAgICAgcmV0dXJuIFttZW1iZXIuaWQsIG1lbWJlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChndWlsZElkICYmIHJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLnJvbGVzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChyZXNvbHZlZC5jaGFubmVscykge1xuICAgIHRyYW5zZm9ybWVkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5jaGFubmVscykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSB2YWx1ZSBhcyB7XG4gICAgICAgICAgaWQ6IHN0cmluZ1xuICAgICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICAgIHR5cGU6IENoYW5uZWxUeXBlc1xuICAgICAgICAgIHBlcm1pc3Npb25zOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmFtZTogY2hhbm5lbC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogY2hhbm5lbC50eXBlLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGNoYW5uZWwucGVybWlzc2lvbnMpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChyZXNvbHZlZC5hdHRhY2htZW50cykge1xuICAgIHRyYW5zZm9ybWVkLmF0dGFjaG1lbnRzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIHJldHVybiBbaWQsIGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiB0cmFuc2Zvcm1lZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgbWVzc2FnZXM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgTWVzc2FnZT5cbiAgdXNlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgVXNlcj5cbiAgbWVtYmVycz86IENvbGxlY3Rpb248YmlnaW50LCBNZW1iZXI+XG4gIHJvbGVzPzogQ29sbGVjdGlvbjxiaWdpbnQsIFJvbGU+XG4gIGNoYW5uZWxzPzogQ29sbGVjdGlvbjxiaWdpbnQsIHsgaWQ6IGJpZ2ludDsgbmFtZTogc3RyaW5nOyB0eXBlOiBDaGFubmVsVHlwZXM7IHBlcm1pc3Npb25zOiBiaWdpbnQgfT5cbiAgYXR0YWNobWVudHM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgQXR0YWNobWVudD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBuYW1lOiBzdHJpbmdcbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXNcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXG4gIG9wdGlvbnM/OiBJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICBmb2N1c2VkPzogYm9vbGVhblxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJiYXNlSW50ZXJhY3Rpb24iLCJyZXNwb25kIiwicmVzcG9uc2UiLCJvcHRpb25zIiwidHlwZSIsIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImNvbnRlbnQiLCJ0aXRsZSIsIk1vZGFsIiwiSW50ZXJhY3Rpb25UeXBlcyIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiTWVzc2FnZUZsYWdzIiwiRXBoZW1lcmFsIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwiaGVscGVycyIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsInVuZGVmaW5lZCIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiY29tcG9uZW50VHlwZSIsImNvbXBvbmVudF90eXBlIiwiY3VzdG9tSWQiLCJjdXN0b21faWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29tcG9uZW50IiwidmFsdWVzIiwibmFtZSIsInJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiQ29sbGVjdGlvbiIsImVudHJpZXMiLCJ1c2VycyIsIm1lbWJlcnMiLCJyb2xlcyIsInJvbGUiLCJjaGFubmVscyIsImtleSIsInBlcm1pc3Npb25zIiwiYXR0YWNobWVudHMiLCJhdHRhY2htZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWlOZ0JBLG9CQUFvQjtlQUFwQkE7O0lBOERBQyw4QkFBOEI7ZUFBOUJBOztJQVlBQyxnQ0FBZ0M7ZUFBaENBOzs7dUJBL1FUO3VCQUNvQjt1QkFTcEI7QUFvSFAsTUFBTUMsa0JBQTBEO0lBQzlELE1BQU1DLFNBQVFDLFFBQVEsRUFBRUMsT0FBTztRQUM3QixJQUFJQyxPQUFPQywrQkFBd0IsQ0FBQ0Msd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9KLGFBQWEsVUFBVUEsV0FBVztZQUFFSyxTQUFTTDtRQUFTO1FBRWpFLDRGQUE0RjtRQUM1RixJQUFJQSxTQUFTTSxLQUFLLEVBQUVKLE9BQU9DLCtCQUF3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
|
|
@@ -12,6 +12,7 @@ const _index = require("../index.cjs");
|
|
|
12
12
|
function transformInvite(bot, payload) {
|
|
13
13
|
const props = bot.transformers.desiredProperties.invite;
|
|
14
14
|
const invite = {};
|
|
15
|
+
if (props.type && 'type' in payload.invite) invite.type = payload.invite.type;
|
|
15
16
|
if (props.code && payload.invite.code) invite.code = payload.invite.code;
|
|
16
17
|
if (props.createdAt && payload.invite.created_at) invite.createdAt = Date.parse(payload.invite.created_at);
|
|
17
18
|
if (props.inviter && payload.invite.inviter) invite.inviter = bot.transformers.user(bot, payload.invite.inviter);
|
|
@@ -47,4 +48,4 @@ function transformInvite(bot, payload) {
|
|
|
47
48
|
return bot.transformers.customizers.invite(bot, payload.invite, invite);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEFwcGxpY2F0aW9uLCBEaXNjb3JkSW52aXRlQ3JlYXRlLCBEaXNjb3JkSW52aXRlTWV0YWRhdGEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzSW52aXRlV2l0aE1ldGFkYXRhLCB0eXBlIEFwcGxpY2F0aW9uLCB0eXBlIEJvdCwgdHlwZSBTY2hlZHVsZWRFdmVudCwgdHlwZSBVc2VyIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZVN0YWdlSW5zdGFuY2UgfSBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnZpdGUoYm90OiBCb3QsIHBheWxvYWQ6IHsgaW52aXRlOiBEaXNjb3JkSW52aXRlQ3JlYXRlIHwgRGlzY29yZEludml0ZU1ldGFkYXRhOyBzaGFyZElkOiBudW1iZXIgfSk6IEludml0ZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnZpdGVcbiAgY29uc3QgaW52aXRlID0ge30gYXMgSW52aXRlXG5cbiAgaWYgKHByb3BzLmNvZGUgJiYgcGF5bG9hZC5pbnZpdGUuY29kZSkgaW52aXRlLmNvZGUgPSBwYXlsb2FkLmludml0ZS5jb2RlXG4gIGlmIChwcm9wcy5jcmVhdGVkQXQgJiYgcGF5bG9hZC5pbnZpdGUuY3JlYXRlZF9hdCkgaW52aXRlLmNyZWF0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5pbnZpdGUuY3JlYXRlZF9hdClcbiAgaWYgKHByb3BzLmludml0ZXIgJiYgcGF5bG9hZC5pbnZpdGUuaW52aXRlcikgaW52aXRlLmludml0ZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludml0ZS5pbnZpdGVyKVxuICBpZiAocHJvcHMubWF4QWdlKSBpbnZpdGUubWF4QWdlID0gcGF5bG9hZC5pbnZpdGUubWF4X2FnZVxuICBpZiAocHJvcHMubWF4VXNlcykgaW52aXRlLm1heFVzZXMgPSBwYXlsb2FkLmludml0ZS5tYXhfdXNlc1xuICBpZiAocHJvcHMudGFyZ2V0VHlwZSAmJiBwYXlsb2FkLmludml0ZS50YXJnZXRfdHlwZSkgaW52aXRlLnRhcmdldFR5cGUgPSBwYXlsb2FkLmludml0ZS50YXJnZXRfdHlwZVxuICBpZiAocHJvcHMudGFyZ2V0VXNlciAmJiBwYXlsb2FkLmludml0ZS50YXJnZXRfdXNlcikgaW52aXRlLnRhcmdldFVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludml0ZS50YXJnZXRfdXNlcilcbiAgaWYgKHByb3BzLnRhcmdldEFwcGxpY2F0aW9uICYmIHBheWxvYWQuaW52aXRlLnRhcmdldF9hcHBsaWNhdGlvbilcbiAgICBpbnZpdGUudGFyZ2V0QXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwge1xuICAgICAgYXBwbGljYXRpb246IHBheWxvYWQuaW52aXRlLnRhcmdldF9hcHBsaWNhdGlvbiBhcyBEaXNjb3JkQXBwbGljYXRpb24sXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcbiAgaWYgKHByb3BzLnRlbXBvcmFyeSAmJiBwYXlsb2FkLmludml0ZS50ZW1wb3JhcnkpIGludml0ZS50ZW1wb3JhcnkgPSBwYXlsb2FkLmludml0ZS50ZW1wb3JhcnlcbiAgaWYgKHByb3BzLnVzZXMgJiYgcGF5bG9hZC5pbnZpdGUudXNlcykgaW52aXRlLnVzZXMgPSBwYXlsb2FkLmludml0ZS51c2VzXG5cbiAgaWYgKGlzSW52aXRlV2l0aE1ldGFkYXRhKHBheWxvYWQuaW52aXRlKSkge1xuICAgIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5pbnZpdGUuY2hhbm5lbD8uaWQpIGludml0ZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludml0ZS5jaGFubmVsLmlkKVxuICAgIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuaW52aXRlLmd1aWxkPy5pZCkgaW52aXRlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludml0ZS5ndWlsZC5pZClcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVNZW1iZXJDb3VudCAmJiBwYXlsb2FkLmludml0ZS5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpXG4gICAgICBpbnZpdGUuYXBwcm94aW1hdGVNZW1iZXJDb3VudCA9IHBheWxvYWQuaW52aXRlLmFwcHJveGltYXRlX21lbWJlcl9jb3VudFxuICAgIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5pbnZpdGUuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQgIT09IHVuZGVmaW5lZClcbiAgICAgIGludml0ZS5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmludml0ZS5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudFxuICAgIGlmIChwcm9wcy5ndWlsZFNjaGVkdWxlZEV2ZW50ICYmIHBheWxvYWQuaW52aXRlLmd1aWxkX3NjaGVkdWxlZF9ldmVudClcbiAgICAgIGludml0ZS5ndWlsZFNjaGVkdWxlZEV2ZW50ID0gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHBheWxvYWQuaW52aXRlLmd1aWxkX3NjaGVkdWxlZF9ldmVudClcbiAgICBpZiAocHJvcHMuc3RhZ2VJbnN0YW5jZSAmJiBpbnZpdGUuZ3VpbGRJZCAmJiBwYXlsb2FkLmludml0ZS5zdGFnZV9pbnN0YW5jZSkge1xuICAgICAgaW52aXRlLnN0YWdlSW5zdGFuY2UgPSBib3QudHJhbnNmb3JtZXJzLmludml0ZVN0YWdlSW5zdGFuY2UoYm90LCB7XG4gICAgICAgIC4uLnBheWxvYWQuaW52aXRlLnN0YWdlX2luc3RhbmNlLFxuICAgICAgICBndWlsZElkOiBpbnZpdGUuZ3VpbGRJZCxcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChwcm9wcy5leHBpcmVzQXQgJiYgcGF5bG9hZC5pbnZpdGUuZXhwaXJlc19hdCkge1xuICAgICAgaW52aXRlLmV4cGlyZXNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5pbnZpdGUuZXhwaXJlc19hdClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludml0ZS5jaGFubmVsX2lkKSBpbnZpdGUuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuY2hhbm5lbF9pZClcbiAgICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmludml0ZS5ndWlsZF9pZCkgaW52aXRlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludml0ZS5ndWlsZF9pZClcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludml0ZShib3QsIHBheWxvYWQuaW52aXRlLCBpbnZpdGUpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52aXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIHRoZSBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWxJZDogYmlnaW50XG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkQXQ6IG51bWJlclxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBpbnZpdGUgKi9cbiAgZ3VpbGRJZD86IGJpZ2ludFxuICAvKiogVGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhBZ2U6IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4VXNlczogbnVtYmVyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0VHlwZTogbnVtYmVyXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldFVzZXI6IFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldEFwcGxpY2F0aW9uPzogQXBwbGljYXRpb25cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnZpdGUgaXMgdGVtcG9yYXJ5IChpbnZpdGVkIHVzZXJzIHdpbGwgYmUga2lja2VkIG9uIGRpc2Nvbm5lY3QgdW5sZXNzIHRoZXkncmUgYXNzaWduZWQgYSByb2xlKSAqL1xuICB0ZW1wb3Jhcnk6IGJvb2xlYW5cbiAgLyoqIEhvdyBtYW55IHRpbWVzIHRoZSBpbnZpdGUgaGFzIGJlZW4gdXNlZCAoYWx3YXlzIHdpbGwgYmUgMCkgKi9cbiAgdXNlczogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZU1lbWJlckNvdW50OiBudW1iZXJcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlSW5zdGFuY2U/OiBJbnZpdGVTdGFnZUluc3RhbmNlXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2ludml0ZXMvY29kZSBlbmRwb2ludCB3aGVuIHdpdGhfZXhwaXJhdGlvbiBpcyB0cnVlICovXG4gIGV4cGlyZXNBdD86IG51bWJlclxuICAvKiogZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGRhdGEgKi9cbiAgZ3VpbGRTY2hlZHVsZWRFdmVudD86IFNjaGVkdWxlZEV2ZW50XG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQ/OiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbnZpdGUiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImludml0ZSIsImNvZGUiLCJjcmVhdGVkQXQiLCJjcmVhdGVkX2F0IiwiRGF0ZSIsInBhcnNlIiwiaW52aXRlciIsInVzZXIiLCJtYXhBZ2UiLCJtYXhfYWdlIiwibWF4VXNlcyIsIm1heF91c2VzIiwidGFyZ2V0VHlwZSIsInRhcmdldF90eXBlIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0QXBwbGljYXRpb24iLCJ0YXJnZXRfYXBwbGljYXRpb24iLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJ0ZW1wb3JhcnkiLCJ1c2VzIiwiaXNJbnZpdGVXaXRoTWV0YWRhdGEiLCJjaGFubmVsSWQiLCJjaGFubmVsIiwiaWQiLCJzbm93Zmxha2UiLCJndWlsZElkIiwiZ3VpbGQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQiLCJ1bmRlZmluZWQiLCJndWlsZFNjaGVkdWxlZEV2ZW50IiwiZ3VpbGRfc2NoZWR1bGVkX2V2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJzdGFnZUluc3RhbmNlIiwic3RhZ2VfaW5zdGFuY2UiLCJpbnZpdGVTdGFnZUluc3RhbmNlIiwiZXhwaXJlc0F0IiwiZXhwaXJlc19hdCIsImNoYW5uZWxfaWQiLCJndWlsZF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUlnQkE7OztlQUFBQTs7O3VCQUhpRjtBQUcxRixTQUFTQSxnQkFBZ0JDLEdBQVEsRUFBRUMsT0FBaUY7SUFDekgsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsTUFBTTtJQUN2RCxNQUFNQSxTQUFTLENBQUM7SUFFaEIsSUFBSUgsTUFBTUksSUFBSSxJQUFJTCxRQUFRSSxNQUFNLENBQUNDLElBQUksRUFBRUQsT0FBT0MsSUFBSSxHQUFHTCxRQUFRSSxNQUFNLENBQUNDLElBQUk7SUFDeEUsSUFBSUosTUFBTUssU0FBUyxJQUFJTixRQUFRSSxNQUFNLENBQUNHLFVBQVUsRUFBRUgsT0FBT0UsU0FBUyxHQUFHRSxLQUFLQyxLQUFLLENBQUNULFFBQVFJLE1BQU0sQ0FBQ0csVUFBVTtJQUN6RyxJQUFJTixNQUFNUyxPQUFPLElBQUlWLFFBQVFJLE1BQU0sQ0FBQ00sT0FBTyxFQUFFTixPQUFPTSxPQUFPLEdBQUdYLElBQUlHLFlBQVksQ0FBQ1MsSUFBSSxDQUFDWixLQUFLQyxRQUFRSSxNQUFNLENBQUNNLE9BQU87SUFDL0csSUFBSVQsTUFBTVcsTUFBTSxFQUFFUixPQUFPUSxNQUFNLEdBQUdaLFFBQVFJLE1BQU0sQ0FBQ1MsT0FBTztJQUN4RCxJQUFJWixNQUFNYSxPQUFPLEVBQUVWLE9BQU9VLE9BQU8sR0FBR2QsUUFBUUksTUFBTSxDQUFDVyxRQUFRO0lBQzNELElBQUlkLE1BQU1lLFVBQVUsSUFBSWhCLFFBQVFJLE1BQU0sQ0FBQ2EsV0FBVyxFQUFFYixPQUFPWSxVQUFVLEdBQUdoQixRQUFRSSxNQUFNLENBQUNhLFdBQVc7SUFDbEcsSUFBSWhCLE1BQU1pQixVQUFV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
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEFwcGxpY2F0aW9uLCBEaXNjb3JkSW52aXRlQ3JlYXRlLCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsIERpc2NvcmRJbnZpdGVUeXBlIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpc0ludml0ZVdpdGhNZXRhZGF0YSwgdHlwZSBBcHBsaWNhdGlvbiwgdHlwZSBCb3QsIHR5cGUgU2NoZWR1bGVkRXZlbnQsIHR5cGUgVXNlciB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBJbnZpdGVTdGFnZUluc3RhbmNlIH0gZnJvbSAnLi9zdGFnZUludml0ZUluc3RhbmNlLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW52aXRlKGJvdDogQm90LCBwYXlsb2FkOiB7IGludml0ZTogRGlzY29yZEludml0ZUNyZWF0ZSB8IERpc2NvcmRJbnZpdGVNZXRhZGF0YTsgc2hhcmRJZDogbnVtYmVyIH0pOiBJbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlXG4gIGNvbnN0IGludml0ZSA9IHt9IGFzIEludml0ZVxuXG4gIGlmIChwcm9wcy50eXBlICYmICd0eXBlJyBpbiBwYXlsb2FkLmludml0ZSkgaW52aXRlLnR5cGUgPSBwYXlsb2FkLmludml0ZS50eXBlXG4gIGlmIChwcm9wcy5jb2RlICYmIHBheWxvYWQuaW52aXRlLmNvZGUpIGludml0ZS5jb2RlID0gcGF5bG9hZC5pbnZpdGUuY29kZVxuICBpZiAocHJvcHMuY3JlYXRlZEF0ICYmIHBheWxvYWQuaW52aXRlLmNyZWF0ZWRfYXQpIGludml0ZS5jcmVhdGVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuaW52aXRlLmNyZWF0ZWRfYXQpXG4gIGlmIChwcm9wcy5pbnZpdGVyICYmIHBheWxvYWQuaW52aXRlLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGUuaW52aXRlcilcbiAgaWYgKHByb3BzLm1heEFnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQuaW52aXRlLm1heF9hZ2VcbiAgaWYgKHByb3BzLm1heFVzZXMpIGludml0ZS5tYXhVc2VzID0gcGF5bG9hZC5pbnZpdGUubWF4X3VzZXNcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3R5cGUpIGludml0ZS50YXJnZXRUeXBlID0gcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3R5cGVcbiAgaWYgKHByb3BzLnRhcmdldFVzZXIgJiYgcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3VzZXIpIGludml0ZS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGUudGFyZ2V0X3VzZXIpXG4gIGlmIChwcm9wcy50YXJnZXRBcHBsaWNhdGlvbiAmJiBwYXlsb2FkLmludml0ZS50YXJnZXRfYXBwbGljYXRpb24pXG4gICAgaW52aXRlLnRhcmdldEFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHtcbiAgICAgIGFwcGxpY2F0aW9uOiBwYXlsb2FkLmludml0ZS50YXJnZXRfYXBwbGljYXRpb24gYXMgRGlzY29yZEFwcGxpY2F0aW9uLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG4gIGlmIChwcm9wcy50ZW1wb3JhcnkgJiYgcGF5bG9hZC5pbnZpdGUudGVtcG9yYXJ5KSBpbnZpdGUudGVtcG9yYXJ5ID0gcGF5bG9hZC5pbnZpdGUudGVtcG9yYXJ5XG4gIGlmIChwcm9wcy51c2VzICYmIHBheWxvYWQuaW52aXRlLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC5pbnZpdGUudXNlc1xuXG4gIGlmIChpc0ludml0ZVdpdGhNZXRhZGF0YShwYXlsb2FkLmludml0ZSkpIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuaW52aXRlLmNoYW5uZWw/LmlkKSBpbnZpdGUuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuY2hhbm5lbC5pZClcbiAgICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmludml0ZS5ndWlsZD8uaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuZ3VpbGQuaWQpXG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5pbnZpdGUuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KVxuICAgICAgaW52aXRlLmFwcHJveGltYXRlTWVtYmVyQ291bnQgPSBwYXlsb2FkLmludml0ZS5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuaW52aXRlLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgICBpbnZpdGUuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5pbnZpdGUuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgICBpZiAocHJvcHMuZ3VpbGRTY2hlZHVsZWRFdmVudCAmJiBwYXlsb2FkLmludml0ZS5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpXG4gICAgICBpbnZpdGUuZ3VpbGRTY2hlZHVsZWRFdmVudCA9IGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBwYXlsb2FkLmludml0ZS5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpXG4gICAgaWYgKHByb3BzLnN0YWdlSW5zdGFuY2UgJiYgaW52aXRlLmd1aWxkSWQgJiYgcGF5bG9hZC5pbnZpdGUuc3RhZ2VfaW5zdGFuY2UpIHtcbiAgICAgIGludml0ZS5zdGFnZUluc3RhbmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnZpdGVTdGFnZUluc3RhbmNlKGJvdCwge1xuICAgICAgICAuLi5wYXlsb2FkLmludml0ZS5zdGFnZV9pbnN0YW5jZSxcbiAgICAgICAgZ3VpbGRJZDogaW52aXRlLmd1aWxkSWQsXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuaW52aXRlLmV4cGlyZXNfYXQpIHtcbiAgICAgIGludml0ZS5leHBpcmVzQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuaW52aXRlLmV4cGlyZXNfYXQpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5pbnZpdGUuY2hhbm5lbF9pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW52aXRlLmNoYW5uZWxfaWQpXG4gICAgaWYgKHByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5pbnZpdGUuZ3VpbGRfaWQpIGludml0ZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnZpdGUuZ3VpbGRfaWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnZpdGUoYm90LCBwYXlsb2FkLmludml0ZSwgaW52aXRlKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludml0ZSB7XG4gIC8qKiBUaGUgdHlwZSBvZiBpbnZpdGUgKi9cbiAgdHlwZTogRGlzY29yZEludml0ZVR5cGVcbiAgLyoqIFRoZSBjaGFubmVsIHRoZSBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWxJZDogYmlnaW50XG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkQXQ6IG51bWJlclxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBpbnZpdGUgKi9cbiAgZ3VpbGRJZD86IGJpZ2ludFxuICAvKiogVGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhBZ2U6IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4VXNlczogbnVtYmVyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0VHlwZTogbnVtYmVyXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldFVzZXI6IFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldEFwcGxpY2F0aW9uPzogQXBwbGljYXRpb25cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnZpdGUgaXMgdGVtcG9yYXJ5IChpbnZpdGVkIHVzZXJzIHdpbGwgYmUga2lja2VkIG9uIGRpc2Nvbm5lY3QgdW5sZXNzIHRoZXkncmUgYXNzaWduZWQgYSByb2xlKSAqL1xuICB0ZW1wb3Jhcnk6IGJvb2xlYW5cbiAgLyoqIEhvdyBtYW55IHRpbWVzIHRoZSBpbnZpdGUgaGFzIGJlZW4gdXNlZCAoYWx3YXlzIHdpbGwgYmUgMCkgKi9cbiAgdXNlczogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZU1lbWJlckNvdW50OiBudW1iZXJcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlSW5zdGFuY2U/OiBJbnZpdGVTdGFnZUluc3RhbmNlXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2ludml0ZXMvY29kZSBlbmRwb2ludCB3aGVuIHdpdGhfZXhwaXJhdGlvbiBpcyB0cnVlICovXG4gIGV4cGlyZXNBdD86IG51bWJlclxuICAvKiogZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGRhdGEgKi9cbiAgZ3VpbGRTY2hlZHVsZWRFdmVudD86IFNjaGVkdWxlZEV2ZW50XG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQ/OiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm1JbnZpdGUiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImludml0ZSIsInR5cGUiLCJjb2RlIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsIkRhdGUiLCJwYXJzZSIsImludml0ZXIiLCJ1c2VyIiwibWF4QWdlIiwibWF4X2FnZSIsIm1heFVzZXMiLCJtYXhfdXNlcyIsInRhcmdldFR5cGUiLCJ0YXJnZXRfdHlwZSIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldEFwcGxpY2F0aW9uIiwidGFyZ2V0X2FwcGxpY2F0aW9uIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwidGVtcG9yYXJ5IiwidXNlcyIsImlzSW52aXRlV2l0aE1ldGFkYXRhIiwiY2hhbm5lbElkIiwiY2hhbm5lbCIsImlkIiwic25vd2ZsYWtlIiwiZ3VpbGRJZCIsImd1aWxkIiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwidW5kZWZpbmVkIiwiZ3VpbGRTY2hlZHVsZWRFdmVudCIsImd1aWxkX3NjaGVkdWxlZF9ldmVudCIsInNjaGVkdWxlZEV2ZW50Iiwic3RhZ2VJbnN0YW5jZSIsInN0YWdlX2luc3RhbmNlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsImV4cGlyZXNBdCIsImV4cGlyZXNfYXQiLCJjaGFubmVsX2lkIiwiZ3VpbGRfaWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFJZ0JBOzs7ZUFBQUE7Ozt1QkFIaUY7QUFHMUYsU0FBU0EsZ0JBQWdCQyxHQUFRLEVBQUVDLE9BQWlGO0lBQ3pILE1BQU1DLFFBQVFGLElBQUlHLFlBQVksQ0FBQ0MsaUJBQWlCLENBQUNDLE1BQU07SUFDdkQsTUFBTUEsU0FBUyxDQUFDO0lBRWhCLElBQUlILE1BQU1JLElBQUksSUFBSSxVQUFVTCxRQUFRSSxNQUFNLEVBQUVBLE9BQU9DLElBQUksR0FBR0wsUUFBUUksTUFBTSxDQUFDQyxJQUFJO0lBQzdFLElBQUlKLE1BQU1LLElBQUksSUFBSU4sUUFBUUksTUFBTSxDQUFDRSxJQUFJLEVBQUVGLE9BQU9FLElBQUksR0FBR04sUUFBUUksTUFBTSxDQUFDRSxJQUFJO0lBQ3hFLElBQUlMLE1BQU1NLFNBQVMsSUFBSVAsUUFBUUksTUFBTSxDQUFDSSxVQUFVLEVBQUVKLE9BQU9HLFNBQVMsR0FBR0UsS0FBS0MsS0FBSyxDQUFDVixRQUFRSSxNQUFNLENBQUNJLFVBQVU7SUFDekcsSUFBSVAsTUFBTVUsT0FBTyxJQUFJWCxRQUFRSSxNQUFNLENBQUNPLE9BQU8sRUFBRVAsT0FBT08sT0FBTyxHQUFHWixJQUFJRyxZQUFZLENBQUNVLElBQUksQ0FBQ2IsS0FBS0MsUUFBUUksTUFBTSxDQUFDTyxPQUFPO0lBQy9H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
|
|
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "transformMember", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _utils = require("@discordeno/utils");
|
|
12
|
-
const _member = require("./toggles/member.cjs");
|
|
13
12
|
const _Permissions = require("./toggles/Permissions.cjs");
|
|
13
|
+
const _member = require("./toggles/member.cjs");
|
|
14
14
|
const baseMember = {
|
|
15
15
|
get deaf () {
|
|
16
16
|
return !!this.toggles?.has('deaf');
|
|
@@ -38,7 +38,8 @@ function transformMember(bot, payload, guildId, userId) {
|
|
|
38
38
|
if (props.deaf || props.mute || props.pending) {
|
|
39
39
|
member.toggles = new _member.MemberToggles(payload);
|
|
40
40
|
}
|
|
41
|
+
if (props.avatarDecorationData && payload.avatar_decoration_data) member.avatarDecorationData = bot.transformers.avatarDecorationData(bot, payload.avatar_decoration_data);
|
|
41
42
|
return bot.transformers.customizers.member(bot, payload, member);
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcydcbmltcG9ydCB0eXBlIHsgQXZhdGFyRGVjb3JhdGlvbkRhdGEgfSBmcm9tICcuL2F2YXRhckRlY29yYXRpb25EYXRhLmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBNZW1iZXJUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL21lbWJlci5qcydcbmltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4vdXNlci5qcydcblxuY29uc3QgYmFzZU1lbWJlcjogUGFydGlhbDxNZW1iZXI+ICYgQmFzZU1lbWJlciA9IHtcbiAgZ2V0IGRlYWYoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2RlYWYnKVxuICB9LFxuICBnZXQgbXV0ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnbXV0ZScpXG4gIH0sXG4gIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdwZW5kaW5nJylcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lbWJlcihib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lbWJlciwgZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZyk6IE1lbWJlciB7XG4gIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVtYmVyKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVtYmVyXG5cbiAgaWYgKHByb3BzLmlkICYmIHVzZXJJZCkgbWVtYmVyLmlkID0gdHlwZW9mIHVzZXJJZCA9PT0gJ3N0cmluZycgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh1c2VySWQpIDogdXNlcklkXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIG1lbWJlci5ndWlsZElkID0gdHlwZW9mIGd1aWxkSWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZ3VpbGRJZCkgOiBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgbWVtYmVyLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpXG4gIGlmIChwcm9wcy5uaWNrICYmIHBheWxvYWQubmljaykgbWVtYmVyLm5pY2sgPSBwYXlsb2FkLm5pY2tcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpIG1lbWJlci5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIG1lbWJlci5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5wcmVtaXVtU2luY2UgJiYgcGF5bG9hZC5wcmVtaXVtX3NpbmNlKSBtZW1iZXIucHJlbWl1bVNpbmNlID0gRGF0ZS5wYXJzZShwYXlsb2FkLnByZW1pdW1fc2luY2UpXG4gIGlmIChwcm9wcy5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gICAgbWVtYmVyLmNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gIGlmIChwcm9wcy5hdmF0YXIgJiYgcGF5bG9hZC5hdmF0YXIpIG1lbWJlci5hdmF0YXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuYXZhdGFyKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5wZXJtaXNzaW9ucykgbWVtYmVyLnBlcm1pc3Npb25zID0gbmV3IFBlcm1pc3Npb25zKHBheWxvYWQucGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5kZWFmIHx8IHByb3BzLm11dGUgfHwgcHJvcHMucGVuZGluZykge1xuICAgIG1lbWJlci50b2dnbGVzID0gbmV3IE1lbWJlclRvZ2dsZXMocGF5bG9hZClcbiAgfVxuICBpZiAocHJvcHMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgJiYgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICAgIG1lbWJlci5hdmF0YXJEZWNvcmF0aW9uRGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMuYXZhdGFyRGVjb3JhdGlvbkRhdGEoYm90LCBwYXlsb2FkLmF2YXRhcl9kZWNvcmF0aW9uX2RhdGEpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVtYmVyKGJvdCwgcGF5bG9hZCwgbWVtYmVyKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VNZW1iZXIge1xuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBkZWFmZW5lZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBkZWFmPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBtdXRlZCBpbiB2b2ljZSBjaGFubmVscyAqL1xuICBtdXRlPzogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGUgdXNlciBoYXMgbm90IHlldCBwYXNzZWQgdGhlIGd1aWxkJ3MgTWVtYmVyc2hpcCBTY3JlZW5pbmcgcmVxdWlyZW1lbnRzICovXG4gIHBlbmRpbmc/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVtYmVyIGV4dGVuZHMgQmFzZU1lbWJlciB7XG4gIC8qKiBUaGUgdXNlciBpZCBvZiB0aGUgbWVtYmVyLiAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBUaGUgY29tcHJlc3NlZCBmb3JtIG9mIGFsbCB0aGUgYm9vbGVhbiB2YWx1ZXMgb24gdGhpcyB1c2VyLiAqL1xuICB0b2dnbGVzPzogTWVtYmVyVG9nZ2xlc1xuICAvKiogVGhlIGd1aWxkIGlkIHdoZXJlIHRoaXMgbWVtYmVyIGlzLiAqL1xuICBndWlsZElkOiBiaWdpbnRcbiAgLyoqIFRoZSB1c2VyIHRoaXMgZ3VpbGQgbWVtYmVyIHJlcHJlc2VudHMgKi9cbiAgdXNlcj86IFVzZXJcbiAgLyoqIFRoaXMgdXNlcnMgZ3VpbGQgbmlja25hbWUgKi9cbiAgbmljaz86IHN0cmluZ1xuICAvKiogVGhlIG1lbWJlcnMgY3VzdG9tIGF2YXRhciBmb3IgdGhpcyBzZXJ2ZXIuICovXG4gIGF2YXRhcj86IGJpZ2ludFxuICAvKiogQXJyYXkgb2Ygcm9sZSBvYmplY3QgaWRzICovXG4gIHJvbGVzOiBiaWdpbnRbXVxuICAvKiogV2hlbiB0aGUgdXNlciBqb2luZWQgdGhlIGd1aWxkICovXG4gIGpvaW5lZEF0OiBudW1iZXJcbiAgLyoqIFdoZW4gdGhlIHVzZXIgc3RhcnRlZCBib29zdGluZyB0aGUgZ3VpbGQgKi9cbiAgcHJlbWl1bVNpbmNlPzogbnVtYmVyXG4gIC8qKiBUaGUgcGVybWlzc2lvbnMgdGhpcyBtZW1iZXIgaGFzIGluIHRoZSBndWlsZC4gT25seSBwcmVzZW50IG9uIGludGVyYWN0aW9uIGV2ZW50cy4gKi9cbiAgcGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uc1xuICAvKiogd2hlbiB0aGUgdXNlcidzIHRpbWVvdXQgd2lsbCBleHBpcmUgYW5kIHRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBjb21tdW5pY2F0ZSBpbiB0aGUgZ3VpbGQgYWdhaW4gKHNldCBudWxsIHRvIHJlbW92ZSB0aW1lb3V0KSwgbnVsbCBvciBhIHRpbWUgaW4gdGhlIHBhc3QgaWYgdGhlIHVzZXIgaXMgbm90IHRpbWVkIG91dCAqL1xuICBjb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbD86IG51bWJlclxuICAvKiogZGF0YSBmb3IgdGhlIG1lbWJlcidzIGd1aWxkIGF2YXRhciBkZWNvcmF0aW9uICovXG4gIGF2YXRhckRlY29yYXRpb25EYXRhOiBBdmF0YXJEZWNvcmF0aW9uRGF0YVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybU1lbWJlciIsImJhc2VNZW1iZXIiLCJkZWFmIiwidG9nZ2xlcyIsImhhcyIsIm11dGUiLCJwZW5kaW5nIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJ1c2VySWQiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaWQiLCJzbm93Zmxha2UiLCJ1c2VyIiwibmljayIsInJvbGVzIiwibWFwIiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJwcmVtaXVtU2luY2UiLCJwcmVtaXVtX3NpbmNlIiwiY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWwiLCJjb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsIiwiYXZhdGFyIiwiaWNvbkhhc2hUb0JpZ0ludCIsInBlcm1pc3Npb25zIiwiUGVybWlzc2lvbnMiLCJNZW1iZXJUb2dnbGVzIiwiYXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJhdmF0YXJfZGVjb3JhdGlvbl9kYXRhIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBb0JnQkE7OztlQUFBQTs7O3VCQW5CaUI7NkJBR0w7d0JBQ0U7QUFHOUIsTUFBTUMsYUFBMkM7SUFDL0MsSUFBSUMsUUFBTztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0MsT0FBTyxFQUFFQyxJQUFJO0lBQzdCO0lBQ0EsSUFBSUMsUUFBTztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ0YsT0FBTyxFQUFFQyxJQUFJO0lBQzdCO0lBQ0EsSUFBSUUsV0FBVTtRQUNaLE9BQU8sQ0FBQyxDQUFD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
|