@discordeno/bot 19.0.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/bot.cjs +82 -0
- package/dist/cjs/commandOptionsParser.cjs +53 -0
- package/dist/cjs/constants.cjs +30 -0
- package/dist/cjs/desiredProperties.cjs +541 -0
- package/dist/cjs/events.cjs +6 -0
- package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +21 -0
- package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +21 -0
- package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +21 -0
- package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +22 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +22 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +19 -0
- package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +19 -0
- package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +31 -0
- package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/channels/index.cjs +32 -0
- package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +24 -0
- package/dist/cjs/handlers/emojis/index.cjs +20 -0
- package/dist/cjs/handlers/entitlements/ENTITLEMENT_CREATE.cjs +17 -0
- package/dist/cjs/handlers/entitlements/ENTITLEMENT_DELETE.cjs +17 -0
- package/dist/cjs/handlers/entitlements/ENTITLEMENT_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/entitlements/index.cjs +22 -0
- package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +18 -0
- package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +17 -0
- package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +17 -0
- package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +20 -0
- package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +22 -0
- package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +23 -0
- package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/automod/index.cjs +23 -0
- package/dist/cjs/handlers/guilds/index.cjs +29 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +17 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +21 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +21 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +24 -0
- package/dist/cjs/handlers/index.cjs +35 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +16 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +21 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +16 -0
- package/dist/cjs/handlers/integrations/index.cjs +22 -0
- package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +19 -0
- package/dist/cjs/handlers/interactions/index.cjs +21 -0
- package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +19 -0
- package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +21 -0
- package/dist/cjs/handlers/invites/index.cjs +21 -0
- package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +30 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +20 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +19 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/members/index.cjs +23 -0
- package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +20 -0
- package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +23 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +30 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +24 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +22 -0
- package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +21 -0
- package/dist/cjs/handlers/messages/index.cjs +27 -0
- package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +16 -0
- package/dist/cjs/handlers/misc/READY.cjs +28 -0
- package/dist/cjs/handlers/misc/TYPING_START.cjs +25 -0
- package/dist/cjs/handlers/misc/USER_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/misc/index.cjs +23 -0
- package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_ADD.cjs +23 -0
- package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.cjs +23 -0
- package/dist/cjs/handlers/poll/index.cjs +21 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +20 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +20 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/roles/index.cjs +22 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.cjs +17 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.cjs +20 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/soundboard/SOUNDBOARD_SOUNDS.cjs +20 -0
- package/dist/cjs/handlers/soundboard/index.cjs +24 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_CREATE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_DELETE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/index.cjs +22 -0
- package/dist/cjs/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.cjs +26 -0
- package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +21 -0
- package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/voice/index.cjs +22 -0
- package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/webhooks/index.cjs +20 -0
- package/dist/cjs/handlers.cjs +132 -0
- package/dist/cjs/helpers.cjs +776 -0
- package/dist/cjs/index.cjs +34 -0
- package/dist/cjs/transformers/activity.cjs +74 -0
- package/dist/cjs/transformers/application.cjs +69 -0
- package/dist/cjs/transformers/applicationCommand.cjs +29 -0
- package/dist/cjs/transformers/applicationCommandOption.cjs +31 -0
- package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +20 -0
- package/dist/cjs/transformers/applicationCommandPermission.cjs +25 -0
- package/dist/cjs/transformers/attachment.cjs +31 -0
- package/dist/cjs/transformers/auditLogEntry.cjs +37 -0
- package/dist/cjs/transformers/automodActionExecution.cjs +35 -0
- package/dist/cjs/transformers/automodRule.cjs +41 -0
- package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
- package/dist/cjs/transformers/channel.cjs +149 -0
- package/dist/cjs/transformers/component.cjs +97 -0
- package/dist/cjs/transformers/embed.cjs +54 -0
- package/dist/cjs/transformers/emoji.cjs +57 -0
- package/dist/cjs/transformers/entitlement.cjs +27 -0
- package/dist/cjs/transformers/gatewayBot.cjs +25 -0
- package/dist/cjs/transformers/guild.cjs +157 -0
- package/dist/cjs/transformers/index.cjs +66 -0
- package/dist/cjs/transformers/integration.cjs +44 -0
- package/dist/cjs/transformers/interaction.cjs +274 -0
- package/dist/cjs/transformers/invite.cjs +51 -0
- package/dist/cjs/transformers/member.cjs +69 -0
- package/dist/cjs/transformers/message.cjs +300 -0
- package/dist/cjs/transformers/onboarding.cjs +56 -0
- package/dist/cjs/transformers/poll.cjs +50 -0
- package/dist/cjs/transformers/presence.cjs +25 -0
- package/dist/cjs/transformers/reverse/activity.cjs +53 -0
- package/dist/cjs/transformers/reverse/allowedMentions.cjs +20 -0
- package/dist/cjs/transformers/reverse/application.cjs +38 -0
- package/dist/cjs/transformers/reverse/applicationCommand.cjs +28 -0
- package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +30 -0
- package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +19 -0
- package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +24 -0
- package/dist/cjs/transformers/reverse/attachment.cjs +29 -0
- package/dist/cjs/transformers/reverse/auditLogEntry.cjs +37 -0
- package/dist/cjs/transformers/reverse/component.cjs +94 -0
- package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +36 -0
- package/dist/cjs/transformers/reverse/embed.cjs +53 -0
- package/dist/cjs/transformers/reverse/emoji.cjs +24 -0
- package/dist/cjs/transformers/reverse/gatewayBot.cjs +24 -0
- package/dist/cjs/transformers/reverse/index.cjs +37 -0
- package/dist/cjs/transformers/reverse/member.cjs +59 -0
- package/dist/cjs/transformers/reverse/presence.cjs +41 -0
- package/dist/cjs/transformers/reverse/team.cjs +28 -0
- package/dist/cjs/transformers/reverse/widgetSettings.cjs +18 -0
- package/dist/cjs/transformers/role.cjs +78 -0
- package/dist/cjs/transformers/scheduledEvent.cjs +58 -0
- package/dist/cjs/transformers/sku.cjs +23 -0
- package/dist/cjs/transformers/soundboardSound.cjs +25 -0
- package/dist/cjs/transformers/stageInstance.cjs +22 -0
- package/dist/cjs/transformers/stageInviteInstance.cjs +23 -0
- package/dist/cjs/transformers/sticker.cjs +48 -0
- package/dist/cjs/transformers/subscription.cjs +26 -0
- package/dist/cjs/transformers/team.cjs +29 -0
- package/dist/cjs/transformers/template.cjs +28 -0
- package/dist/cjs/transformers/threadMember.cjs +35 -0
- package/dist/cjs/transformers/toggles/Permissions.cjs +28 -0
- package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +60 -0
- package/dist/cjs/transformers/toggles/channel.cjs +73 -0
- package/dist/cjs/transformers/toggles/emoji.cjs +63 -0
- package/dist/cjs/transformers/toggles/guild.cjs +257 -0
- package/dist/cjs/transformers/toggles/index.cjs +28 -0
- package/dist/cjs/transformers/toggles/member.cjs +126 -0
- package/dist/cjs/transformers/toggles/role.cjs +73 -0
- package/dist/cjs/transformers/toggles/user.cjs +63 -0
- package/dist/cjs/transformers/toggles/voice.cjs +78 -0
- package/dist/cjs/transformers/types.cjs +6 -0
- package/dist/cjs/transformers/user.cjs +60 -0
- package/dist/cjs/transformers/voiceRegion.cjs +22 -0
- package/dist/cjs/transformers/voiceState.cjs +24 -0
- package/dist/cjs/transformers/webhook.cjs +37 -0
- package/dist/cjs/transformers/welcomeScreen.cjs +24 -0
- package/dist/cjs/transformers/widget.cjs +35 -0
- package/dist/cjs/transformers/widgetSettings.cjs +19 -0
- package/dist/cjs/transformers.cjs +165 -0
- package/dist/cjs/utils.cjs +32 -0
- package/dist/esm/bot.js +1 -1
- package/dist/esm/commandOptionsParser.js +4 -2
- package/dist/esm/desiredProperties.js +1 -1
- package/dist/esm/helpers.js +4 -1
- package/dist/esm/transformers/component.js +5 -1
- package/dist/esm/transformers/emoji.js +4 -2
- package/dist/esm/transformers/guild.js +2 -2
- package/dist/esm/transformers/interaction.js +2 -2
- package/dist/esm/transformers/member.js +2 -2
- package/dist/esm/transformers/message.js +2 -2
- package/dist/esm/transformers/role.js +2 -2
- package/dist/esm/transformers/user.js +2 -2
- package/dist/types/bot.d.ts +1 -1
- package/dist/types/commandOptionsParser.d.ts +9 -4
- package/dist/types/commandOptionsParser.d.ts.map +1 -1
- package/dist/types/desiredProperties.d.ts +6 -3
- package/dist/types/desiredProperties.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +1 -0
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/transformers/component.d.ts.map +1 -1
- package/dist/types/transformers/emoji.d.ts +1 -0
- package/dist/types/transformers/emoji.d.ts.map +1 -1
- package/dist/types/transformers/guild.d.ts +1 -0
- package/dist/types/transformers/guild.d.ts.map +1 -1
- package/dist/types/transformers/interaction.d.ts +1 -0
- package/dist/types/transformers/interaction.d.ts.map +1 -1
- package/dist/types/transformers/member.d.ts +1 -0
- package/dist/types/transformers/member.d.ts.map +1 -1
- package/dist/types/transformers/message.d.ts +1 -0
- package/dist/types/transformers/message.d.ts.map +1 -1
- package/dist/types/transformers/role.d.ts +1 -0
- package/dist/types/transformers/role.d.ts.map +1 -1
- package/dist/types/transformers/user.d.ts +1 -0
- package/dist/types/transformers/user.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -5,16 +5,20 @@ export function transformComponent(bot, payload) {
|
|
|
5
5
|
switch(payload.type){
|
|
6
6
|
case MessageComponentTypes.ActionRow:
|
|
7
7
|
component = transformActionRow(bot, payload);
|
|
8
|
+
break;
|
|
8
9
|
case MessageComponentTypes.Button:
|
|
9
10
|
component = transformButtonComponent(bot, payload);
|
|
11
|
+
break;
|
|
10
12
|
case MessageComponentTypes.InputText:
|
|
11
13
|
component = transformInputTextComponent(bot, payload);
|
|
14
|
+
break;
|
|
12
15
|
case MessageComponentTypes.SelectMenu:
|
|
13
16
|
case MessageComponentTypes.SelectMenuChannels:
|
|
14
17
|
case MessageComponentTypes.SelectMenuRoles:
|
|
15
18
|
case MessageComponentTypes.SelectMenuUsers:
|
|
16
19
|
case MessageComponentTypes.SelectMenuUsersAndRoles:
|
|
17
20
|
component = transformSelectMenuComponent(bot, payload);
|
|
21
|
+
break;
|
|
18
22
|
}
|
|
19
23
|
return bot.transformers.customizers.component(bot, payload, component);
|
|
20
24
|
}
|
|
@@ -80,4 +84,4 @@ function transformSelectMenuComponent(bot, payload) {
|
|
|
80
84
|
};
|
|
81
85
|
}
|
|
82
86
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRJbnB1dFRleHRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJvdCwgQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgbGV0IGNvbXBvbmVudDogQ29tcG9uZW50XG5cbiAgLy8gVGhpcyBzd2l0Y2ggaXMgZXhoYXVzdGl2ZSwgc28gd2UgZG9udCBuZWVkIHRoZSBkZWZhdWx0IGNhc2UgYW5kIFRTIGRvZXMgbm90IGVycm9yIG91dCBmb3IgdGhlIHVuLWluaXRpYWxpemVkIGNvbXBvbmVudCB2YXJpYWJsZVxuICBzd2l0Y2ggKHBheWxvYWQudHlwZSkge1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdzpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpXG4gICAgICBicmVha1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3QsIHBheWxvYWQgYXMgRGlzY29yZEJ1dHRvbkNvbXBvbmVudClcbiAgICAgIGJyZWFrXG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuSW5wdXRUZXh0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCBhcyBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50KVxuICAgICAgYnJlYWtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWxlY3RNZW51OlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnVDaGFubmVsczpcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TZWxlY3RNZW51Um9sZXM6XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VsZWN0TWVudVVzZXJzOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlNlbGVjdE1lbnVVc2Vyc0FuZFJvbGVzOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQgYXMgRGlzY29yZFNlbGVjdE1lbnVDb21wb25lbnQpXG4gICAgICBicmVha1xuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuY29tcG9uZW50KGJvdCwgcGF5bG9hZCwgY29tcG9uZW50KVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1BY3Rpb25Sb3coYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpb25Sb3cpOiBDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5BY3Rpb25Sb3csXG4gICAgY29tcG9uZW50czogcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICB9XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbixcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCxcbiAgICBjdXN0b21JZDogcGF5bG9hZC5jdXN0b21faWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lLFxuICAgICAgICAgIGFuaW1hdGVkOiBwYXlsb2FkLmVtb2ppLmFuaW1hdGVkLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZCxcbiAgICB1cmw6IHBheWxvYWQudXJsLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIHNrdUlkOiBwYXlsb2FkLnNrdV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKSA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoX2JvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkSW5wdXRUZXh0Q29tcG9uZW50KTogQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuSW5wdXRUZXh0LFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICAgIGN1c3RvbUlkOiBwYXlsb2FkLmN1c3RvbV9pZCxcbiAgICBsYWJlbDogcGF5bG9hZC5sYWJlbCxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICBtaW5MZW5ndGg6IHBheWxvYWQubWluX2xlbmd0aCxcbiAgICBtYXhMZW5ndGg6IHBheWxvYWQubWF4X2xlbmd0aCxcbiAgICB2YWx1ZTogcGF5bG9hZC52YWx1ZSxcbiAgfVxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkU2VsZWN0TWVudUNvbXBvbmVudCk6IENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogcGF5bG9hZC50eXBlLFxuICAgIGN1c3RvbUlkOiBwYXlsb2FkLmN1c3RvbV9pZCxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICBtaW5WYWx1ZXM6IHBheWxvYWQubWluX3ZhbHVlcyxcbiAgICBtYXhWYWx1ZXM6IHBheWxvYWQubWF4X3ZhbHVlcyxcbiAgICBkZWZhdWx0VmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzPy5tYXAoKGRlZmF1bHRWYWx1ZSkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgfSkpLFxuICAgIGNoYW5uZWxUeXBlczogcGF5bG9hZC5jaGFubmVsX3R5cGVzLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucz8ubWFwKChvcHRpb24pID0+ICh7XG4gICAgICBsYWJlbDogb3B0aW9uLmxhYmVsLFxuICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICBlbW9qaTogb3B0aW9uLmVtb2ppXG4gICAgICAgID8ge1xuICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBuYW1lOiBvcHRpb24uZW1vamkubmFtZSxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSxcbiAgICBkaXNhYmxlZDogcGF5bG9hZC5kaXNhYmxlZCxcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiSW5wdXRUZXh0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU2VsZWN0TWVudSIsIlNlbGVjdE1lbnVDaGFubmVscyIsIlNlbGVjdE1lbnVSb2xlcyIsIlNlbGVjdE1lbnVVc2VycyIsIlNlbGVjdE1lbnVVc2Vyc0FuZFJvbGVzIiwidHJhbnNmb3JtU2VsZWN0TWVudUNvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwiY29tcG9uZW50cyIsIm1hcCIsImxhYmVsIiwiY3VzdG9tSWQiLCJjdXN0b21faWQiLCJzdHlsZSIsImVtb2ppIiwiaWQiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJuYW1lIiwiYW5pbWF0ZWQiLCJ1cmwiLCJkaXNhYmxlZCIsInNrdUlkIiwic2t1X2lkIiwiX2JvdCIsInJlcXVpcmVkIiwicGxhY2Vob2xkZXIiLCJtaW5MZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWF4TGVuZ3RoIiwibWF4X2xlbmd0aCIsInZhbHVlIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlc2NyaXB0aW9u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
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { EmojiToggles } from './toggles/emoji.js';
|
|
2
|
-
const baseEmoji = {
|
|
2
|
+
export const baseEmoji = {
|
|
3
|
+
// This allows typescript to still check for type errors on functions below
|
|
4
|
+
...undefined,
|
|
3
5
|
get animated () {
|
|
4
6
|
return this.toggles?.animated;
|
|
5
7
|
},
|
|
@@ -31,4 +33,4 @@ export function transformDefaultReactionEmoji(bot, payload) {
|
|
|
31
33
|
return bot.transformers.customizers.defaultReactionEmoji(bot, payload, defaultReactionEmoji);
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZW1vamkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERpc2NvcmRFbW9qaSB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0UmVhY3Rpb25FbW9qaSwgRW1vamksIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBFbW9qaVRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZW1vamkuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlRW1vamk6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZW1vamknXSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBJbnRlcm5hbEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2Vtb2ppJ10pLFxuXG4gIGdldCBhbmltYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzPy5hbmltYXRlZFxuICB9LFxuICBnZXQgcmVxdWlyZUNvbG9ucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzPy5yZXF1aXJlQ29sb25zXG4gIH0sXG4gIGdldCBtYW5hZ2VkKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/Lm1hbmFnZWRcbiAgfSxcbiAgZ2V0IGF2YWlsYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzLmF2YWlsYWJsZVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtRW1vamkoYm90OiBJbnRlcm5hbEJvdCwgcGF5bG9hZDogRGlzY29yZEVtb2ppKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZW1vamkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZW1vamlcbiAgY29uc3QgZW1vamkgPSBPYmplY3QuY3JlYXRlKGJhc2VFbW9qaSkgYXMgRW1vamlcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgZW1vamkuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLm5hbWUpIGVtb2ppLm5hbWUgPSBwYXlsb2FkLm5hbWVcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpIGVtb2ppLnJvbGVzID0gcGF5bG9hZC5yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgZW1vamkudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcilcblxuICBlbW9qaS50b2dnbGVzID0gbmV3IEVtb2ppVG9nZ2xlcyhwYXlsb2FkKVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmVtb2ppKGJvdCwgcGF5bG9hZCwgZW1vamkpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaShcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZGVmYXVsdFJlYWN0aW9uRW1vamkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZGVmYXVsdFJlYWN0aW9uRW1vamlcbiAgY29uc3QgZGVmYXVsdFJlYWN0aW9uRW1vamkgPSB7fSBhcyBEZWZhdWx0UmVhY3Rpb25FbW9qaVxuXG4gIGlmIChwcm9wcy5lbW9qaUlkICYmIHBheWxvYWQuZW1vamlfaWQpIGRlZmF1bHRSZWFjdGlvbkVtb2ppLmVtb2ppSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppX2lkKVxuICBpZiAocHJvcHMuZW1vamlOYW1lICYmIHBheWxvYWQuZW1vamlfbmFtZSkgZGVmYXVsdFJlYWN0aW9uRW1vamkuZW1vamlOYW1lID0gcGF5bG9hZC5lbW9qaV9uYW1lXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZGVmYXVsdFJlYWN0aW9uRW1vamkoYm90LCBwYXlsb2FkLCBkZWZhdWx0UmVhY3Rpb25FbW9qaSlcbn1cbiJdLCJuYW1lcyI6WyJFbW9qaVRvZ2dsZXMiLCJiYXNlRW1vamkiLCJ1bmRlZmluZWQiLCJhbmltYXRlZCIsInRvZ2dsZXMiLCJyZXF1aXJlQ29sb25zIiwibWFuYWdlZCIsImF2YWlsYWJsZSIsInRyYW5zZm9ybUVtb2ppIiwiYm90IiwicGF5bG9hZCIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJlbW9qaSIsIk9iamVjdCIsImNyZWF0ZSIsImlkIiwic25vd2ZsYWtlIiwibmFtZSIsInJvbGVzIiwibWFwIiwidXNlciIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamkiLCJkZWZhdWx0UmVhY3Rpb25FbW9qaSIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLFlBQVksUUFBUSxxQkFBb0I7QUFFakQsT0FBTyxNQUFNQyxZQUFvRTtJQUMvRSwyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLFlBQVc7UUFDYixPQUFPLElBQUksQ0FBQ0MsT0FBTyxFQUFFRDtJQUN2QjtJQUNBLElBQUlFLGlCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQ0QsT0FBTyxFQUFFQztJQUN2QjtJQUNBLElBQUlDLFdBQVU7UUFDWixPQUFPLElBQUksQ0FBQ0YsT0FBTyxFQUFFRTtJQUN2QjtJQUNBLElBQUlDLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ0gsT0FBTyxDQUFDRyxTQUFTO0lBQy9CO0FBQ0YsRUFBQztBQUVELE9BQU8sU0FBU0MsZUFBZUMsR0FBZ0IsRUFBRUMsT0FBcUI7SUFDcEUsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBSztJQUN0RCxNQUFNQSxRQUFRQyxPQUFPQyxNQUFNLENBQUNmO0lBRTVCLElBQUlVLE1BQU1NLEVBQUUsSUFBSVAsUUFBUU8sRUFBRSxFQUFFSCxNQUFNRyxFQUFFLEdBQUdSLElBQUlHLFlBQVksQ0FBQ00sU0FBUyxDQUFDUixRQUFRTyxFQUFFO0lBQzVFLElBQUlOLE1BQU1RLElBQUksSUFBSVQsUUFBUVMsSUFBSSxFQUFFTCxNQUFNSyxJQUFJLEdBQUdULFFBQVFTLElBQUk7SUFDekQsSUFBSVIsTUFBTVMsS0FBSyxJQUFJVixRQUFRVSxLQUFLLEVBQUVOLE1BQU1NLEtBQUssR0FBR1YsUUFBUVUsS0FBSyxDQUFDQyxHQUFHLENBQUMsQ0FBQ0osS0FBT1IsSUFBSUcsWUFBWSxDQUFDTSxTQUFTLENBQUNEO0lBQ3JHLElBQUlOLE1BQU1XLElBQUksSUFBSVosUUFBUVksSUFBSSxFQUFFUixNQUFNUSxJQUFJLEdBQUdiLElBQUlHLFlBQVksQ0FBQ1UsSUFBSSxDQUFDYixLQUFLQyxRQUFRWSxJQUFJO0lBRXBGUixNQUFNVixPQUFPLEdBQUcsSUFBSUosYUFBYVU7SUFFakMsT0FBT0QsSUFBSUcsWUFBWSxDQUFDVyxXQUFXLENBQUNULEtBQUssQ0FBQ0wsS0FBS0MsU0FBU0k7QUFDMUQ7QUFFQSxPQUFPLFNBQVNVLDhCQUNkZixHQUFnQixFQUNoQkMsT0FBb0M7SUFFcEMsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ1ksb0JBQW9CO0lBQ3JFLE1BQU1BLHVCQUF1QixDQUFDO0lBRTlCLElBQUlkLE1BQU1lLE9BQU8sSUFBSWhCLFFBQVFpQixRQUFRLEVBQUVGLHFCQUFxQkMsT0FBTyxHQUFHakIsSUFBSUcsWUFBWSxDQUFDTSxTQUFTLENBQUNSLFFBQVFpQixRQUFRO0lBQ2pILElBQUloQixNQUFNaUIsU0FBUyxJQUFJbEIsUUFBUW1CLFVBQVUsRUFBRUoscUJBQXFCRyxTQUFTLEdBQUdsQixRQUFRbUIsVUFBVTtJQUU5RixPQUFPcEIsSUFBSUcsWUFBWSxDQUFDVyxXQUFXLENBQUNFLG9CQUFvQixDQUFDaEIsS0FBS0MsU0FBU2U7QUFDekUifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChannelTypes } from '@discordeno/types';
|
|
2
2
|
import { Collection, iconHashToBigInt } from '@discordeno/utils';
|
|
3
3
|
import { GuildToggles } from './toggles/guild.js';
|
|
4
|
-
const baseGuild = {
|
|
4
|
+
export const baseGuild = {
|
|
5
5
|
// This allows typescript to still check for type errors on functions below
|
|
6
6
|
...undefined,
|
|
7
7
|
get threads () {
|
|
@@ -136,4 +136,4 @@ export function transformGuild(bot, payload) {
|
|
|
136
136
|
return bot.transformers.customizers.guild(bot, payload.guild, guild);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCwgR3VpbGQsIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmNvbnN0IGJhc2VHdWlsZDogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZCddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXSksXG5cbiAgZ2V0IHRocmVhZHMoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5uZWxzKSByZXR1cm4gbmV3IENvbGxlY3Rpb248YmlnaW50LCBDaGFubmVsPigpXG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZClcblxuICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbih0aHJlYWRzLm1hcCgoeCkgPT4gW3guaWQsIHhdKSlcbiAgfSxcbiAgZ2V0IGZlYXR1cmVzKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXMuZmVhdHVyZXNcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUd1aWxkKGJvdDogSW50ZXJuYWxCb3QsIHBheWxvYWQ6IHsgZ3VpbGQ6IERpc2NvcmRHdWlsZDsgc2hhcmRJZDogbnVtYmVyIH0pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5ndWlsZCB7XG4gIGNvbnN0IGd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLmlkKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRcbiAgY29uc3QgZ3VpbGQ6IEd1aWxkID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpXG5cbiAgaWYgKHByb3BzLmFma1RpbWVvdXQgJiYgcGF5bG9hZC5ndWlsZC5hZmtfdGltZW91dCkgZ3VpbGQuYWZrVGltZW91dCA9IHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGd1aWxkLmFwcHJveGltYXRlTWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX21lbWJlcl9jb3VudFxuICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQpXG4gICAgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudFxuICBpZiAocHJvcHMuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zKSBndWlsZC5kZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMgPSBwYXlsb2FkLmd1aWxkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uKSBndWlsZC5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZ3VpbGQuZGVzY3JpcHRpb25cbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQuZ3VpbGQpXG4gIGlmIChwcm9wcy5leHBsaWNpdENvbnRlbnRGaWx0ZXIpIGd1aWxkLmV4cGxpY2l0Q29udGVudEZpbHRlciA9IHBheWxvYWQuZ3VpbGQuZXhwbGljaXRfY29udGVudF9maWx0ZXJcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnNcbiAgaWYgKHByb3BzLm1heFByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMpIGd1aWxkLm1heFByZXNlbmNlcyA9IHBheWxvYWQuZ3VpbGQubWF4X3ByZXNlbmNlcyA/PyB1bmRlZmluZWRcbiAgaWYgKHByb3BzLm1heFZpZGVvQ2hhbm5lbFVzZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMpIGd1aWxkLm1heFZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLmd1aWxkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzKVxuICAgIGd1aWxkLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzXG4gIGlmIChwcm9wcy5tZmFMZXZlbCkgZ3VpbGQubWZhTGV2ZWwgPSBwYXlsb2FkLmd1aWxkLm1mYV9sZXZlbFxuICBpZiAocHJvcHMubmFtZSAmJiBwYXlsb2FkLmd1aWxkLm5hbWUpIGd1aWxkLm5hbWUgPSBwYXlsb2FkLmd1aWxkLm5hbWVcbiAgaWYgKHByb3BzLm5zZndMZXZlbCkgZ3VpbGQubnNmd0xldmVsID0gcGF5bG9hZC5ndWlsZC5uc2Z3X2xldmVsXG4gIGlmIChwcm9wcy5wcmVmZXJyZWRMb2NhbGUgJiYgcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlKSBndWlsZC5wcmVmZXJyZWRMb2NhbGUgPSBwYXlsb2FkLmd1aWxkLnByZWZlcnJlZF9sb2NhbGVcbiAgaWYgKHByb3BzLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50ICE9PSB1bmRlZmluZWQpXG4gICAgZ3VpbGQucHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50ID0gcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudFxuICBpZiAocHJvcHMucHJlbWl1bVRpZXIpIGd1aWxkLnByZW1pdW1UaWVyID0gcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3RpZXJcbiAgaWYgKHByb3BzLnN0YWdlSW5zdGFuY2VzICYmIHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzKVxuICAgIGd1aWxkLnN0YWdlSW5zdGFuY2VzID0gcGF5bG9hZC5ndWlsZC5zdGFnZV9pbnN0YW5jZXMubWFwKChzaSkgPT4gKHtcbiAgICAgIC8qKiBUaGUgaWQgb2YgdGhpcyBTdGFnZSBpbnN0YW5jZSAqL1xuICAgICAgaWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmlkKSxcbiAgICAgIC8qKiBUaGUgZ3VpbGQgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICAgICAgZ3VpbGRJZCxcbiAgICAgIC8qKiBUaGUgaWQgb2YgdGhlIGFzc29jaWF0ZWQgU3RhZ2UgY2hhbm5lbCAqL1xuICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5jaGFubmVsX2lkKSxcbiAgICAgIC8qKiBUaGUgdG9waWMgb2YgdGhlIFN0YWdlIGluc3RhbmNlICgxLTEyMCBjaGFyYWN0ZXJzKSAqL1xuICAgICAgdG9waWM6IHNpLnRvcGljLFxuICAgIH0pKVxuICBpZiAocHJvcHMuY2hhbm5lbHMgJiYgKCEhcGF5bG9hZC5ndWlsZC5jaGFubmVscyB8fCAhIXBheWxvYWQuZ3VpbGQudGhyZWFkcykpXG4gICAgZ3VpbGQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIFsuLi4ocGF5bG9hZC5ndWlsZC5jaGFubmVscyA/PyBbXSksIC4uLihwYXlsb2FkLmd1aWxkLnRocmVhZHMgPz8gW10pXS5tYXAoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5tZW1iZXJzICYmIHBheWxvYWQuZ3VpbGQubWVtYmVycylcbiAgICBndWlsZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLm1lbWJlcnMubWFwKChtZW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBtZW1iZXIsIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG1lbWJlci51c2VyIS5pZCkpXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5yb2xlcyAmJiBwYXlsb2FkLmd1aWxkLnJvbGVzKVxuICAgIGd1aWxkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLnJvbGVzLm1hcCgocm9sZSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGUsIGd1aWxkSWQgfSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLmVtb2ppcyAmJiBwYXlsb2FkLmd1aWxkLmVtb2ppcylcbiAgICBndWlsZC5lbW9qaXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuZW1vamlzLm1hcCgoZW1vamkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIGVtb2ppKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCEsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnZvaWNlU3RhdGVzICYmIHBheWxvYWQuZ3VpbGQudm9pY2Vfc3RhdGVzKVxuICAgIGd1aWxkLnZvaWNlU3RhdGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcy5tYXAoKHZvaWNlU3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy52b2ljZVN0YXRlKGJvdCwgeyB2b2ljZVN0YXRlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LnVzZXJJZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5ndWlsZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsRmxhZ3MgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9mbGFncykgZ3VpbGQuc3lzdGVtQ2hhbm5lbEZsYWdzID0gcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9mbGFnc1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQuZ3VpbGQudmFuaXR5X3VybF9jb2RlXG4gIGlmIChwcm9wcy52ZXJpZmljYXRpb25MZXZlbCkgZ3VpbGQudmVyaWZpY2F0aW9uTGV2ZWwgPSBwYXlsb2FkLmd1aWxkLnZlcmlmaWNhdGlvbl9sZXZlbFxuICBpZiAocHJvcHMud2VsY29tZVNjcmVlbiAmJiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuKVxuICAgIGd1aWxkLndlbGNvbWVTY3JlZW4gPSB7XG4gICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbi5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgICB3ZWxjb21lQ2hhbm5lbHM6IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4ud2VsY29tZV9jaGFubmVscy5tYXAoKHdjKSA9PiAoe1xuICAgICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmNoYW5uZWxfaWQpLFxuICAgICAgICBkZXNjcmlwdGlvbjogd2MuZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppSWQ6IHdjLmVtb2ppX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uod2MuZW1vamlfaWQpIDogdW5kZWZpbmVkLFxuICAgICAgICBlbW9qaU5hbWU6IHdjLmVtb2ppX25hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgfSkpLFxuICAgIH1cbiAgaWYgKHByb3BzLmRpc2NvdmVyeVNwbGFzaCAmJiBwYXlsb2FkLmd1aWxkLmRpc2NvdmVyeV9zcGxhc2gpIGd1aWxkLmRpc2NvdmVyeVNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKVxuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpIGd1aWxkLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmd1aWxkLmpvaW5lZF9hdClcbiAgaWYgKHByb3BzLm1lbWJlckNvdW50ICYmIHBheWxvYWQuZ3VpbGQubWVtYmVyX2NvdW50KSBndWlsZC5tZW1iZXJDb3VudCA9IHBheWxvYWQuZ3VpbGQubWVtYmVyX2NvdW50ID8/IDBcbiAgaWYgKHByb3BzLnNoYXJkSWQpIGd1aWxkLnNoYXJkSWQgPSBwYXlsb2FkLnNoYXJkSWRcbiAgaWYgKHByb3BzLmljb24gJiYgcGF5bG9hZC5ndWlsZC5pY29uKSBndWlsZC5pY29uID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb24pXG4gIGlmIChwcm9wcy5iYW5uZXIgJiYgcGF5bG9hZC5ndWlsZC5iYW5uZXIpIGd1aWxkLmJhbm5lciA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5iYW5uZXIpXG4gIGlmIChwcm9wcy5zcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5zcGxhc2gpIGd1aWxkLnNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5zcGxhc2gpXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmd1aWxkLmlkKSBndWlsZC5pZCA9IGd1aWxkSWRcbiAgaWYgKHByb3BzLm93bmVySWQgJiYgcGF5bG9hZC5ndWlsZC5vd25lcl9pZCkgZ3VpbGQub3duZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQub3duZXJfaWQpXG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKSBndWlsZC5wZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQucGVybWlzc2lvbnMpXG4gIGlmIChwcm9wcy5hZmtDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5hZmtfY2hhbm5lbF9pZCkgZ3VpbGQuYWZrQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5hZmtfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLndpZGdldENoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLndpZGdldF9jaGFubmVsX2lkKSBndWlsZC53aWRnZXRDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLndpZGdldF9jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmd1aWxkLmFwcGxpY2F0aW9uX2lkKSBndWlsZC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLnN5c3RlbV9jaGFubmVsX2lkKSBndWlsZC5zeXN0ZW1DaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnN5c3RlbV9jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucnVsZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5ydWxlc19jaGFubmVsX2lkKSBndWlsZC5ydWxlc0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkICYmIHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZClcbiAgICBndWlsZC5wcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkID0gcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkXG4gIGlmIChwcm9wcy5sYXJnZSAmJiBwYXlsb2FkLmd1aWxkLmxhcmdlKSBndWlsZC5sYXJnZSA9IHBheWxvYWQuZ3VpbGQubGFyZ2VcbiAgaWYgKHByb3BzLm93bmVyICYmIHBheWxvYWQuZ3VpbGQub3duZXIpIGd1aWxkLm93bmVyID0gcGF5bG9hZC5ndWlsZC5vd25lclxuICBpZiAocHJvcHMud2lkZ2V0RW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLndpZGdldF9lbmFibGVkKSBndWlsZC53aWRnZXRFbmFibGVkID0gcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZFxuICBpZiAocHJvcHMudW5hdmFpbGFibGUgJiYgcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZSkgZ3VpbGQudW5hdmFpbGFibGUgPSBwYXlsb2FkLmd1aWxkLnVuYXZhaWxhYmxlXG4gIGlmIChwcm9wcy5pY29uSGFzaCAmJiBwYXlsb2FkLmd1aWxkLmljb25faGFzaCkgZ3VpbGQuaWNvbkhhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuaWNvbl9oYXNoKVxuICBpZiAocHJvcHMucHJlc2VuY2VzICYmIHBheWxvYWQuZ3VpbGQucHJlc2VuY2VzKVxuICAgIGd1aWxkLnByZXNlbmNlcyA9IHBheWxvYWQuZ3VpbGQucHJlc2VuY2VzPy5tYXAoKHByZXNlbmNlKSA9PiBib3QudHJhbnNmb3JtZXJzLnByZXNlbmNlKGJvdCwgcHJlc2VuY2UgYXMgRGlzY29yZFByZXNlbmNlVXBkYXRlKSlcbiAgaWYgKHByb3BzLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCAmJiBwYXlsb2FkLmd1aWxkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5zYWZldHlBbGVydHNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZChib3QsIHBheWxvYWQuZ3VpbGQsIGd1aWxkKVxufVxuIl0sIm5hbWVzIjpbIkNoYW5uZWxUeXBlcyIsIkNvbGxlY3Rpb24iLCJpY29uSGFzaFRvQmlnSW50IiwiR3VpbGRUb2dnbGVzIiwiYmFzZUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsInRyYW5zZm9ybUd1aWxkIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJndWlsZCIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJjcmVhdGUiLCJhZmtUaW1lb3V0IiwiYWZrX3RpbWVvdXQiLCJhcHByb3hpbWF0ZU1lbWJlckNvdW50IiwiYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50IiwiYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50IiwiYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQiLCJkZWZhdWx0TWVzc2FnZU5vdGlmaWNhdGlvbnMiLCJkZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucyIsImRlc2NyaXB0aW9uIiwiZXhwbGljaXRDb250ZW50RmlsdGVyIiwiZXhwbGljaXRfY29udGVudF9maWx0ZXIiLCJtYXhNZW1iZXJzIiwibWF4X21lbWJlcnMiLCJtYXhQcmVzZW5jZXMiLCJtYXhfcHJlc2VuY2VzIiwibWF4VmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMiLCJtYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycyIsIm1mYUxldmVsIiwibWZhX2xldmVsIiwibmFtZSIsIm5zZndMZXZlbCIsIm5zZndfbGV2ZWwiLCJwcmVmZXJyZWRMb2NhbGUiLCJwcmVmZXJyZWRfbG9jYWxlIiwicHJlbWl1bVN1YnNjcmlwdGlvbkNvdW50IiwicHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQiLCJwcmVtaXVtVGllciIsInByZW1pdW1fdGllciIsInN0YWdlSW5zdGFuY2VzIiwic3RhZ2VfaW5zdGFuY2VzIiwic2kiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidG9waWMiLCJjaGFubmVsIiwicmVzdWx0IiwibWVtYmVycyIsIm1lbWJlciIsInVzZXIiLCJyb2xlcyIsInJvbGUiLCJlbW9qaXMiLCJlbW9qaSIsInZvaWNlU3RhdGVzIiwidm9pY2Vfc3RhdGVzIiwidm9pY2VTdGF0ZSIsInVzZXJJZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50Iiwic2hhcmRJZCIsImljb24iLCJiYW5uZXIiLCJzcGxhc2giLCJvd25lcklkIiwib3duZXJfaWQiLCJwZXJtaXNzaW9ucyIsImFma0NoYW5uZWxJZCIsImFma19jaGFubmVsX2lkIiwid2lkZ2V0Q2hhbm5lbElkIiwid2lkZ2V0X2NoYW5uZWxfaWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJzeXN0ZW1DaGFubmVsSWQiLCJzeXN0ZW1fY2hhbm5lbF9pZCIsInJ1bGVzQ2hhbm5lbElkIiwicnVsZXNfY2hhbm5lbF9pZCIsInB1YmxpY1VwZGF0ZXNDaGFubmVsSWQiLCJwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJsYXJnZSIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsIndpZGdldF9lbmFibGVkIiwidW5hdmFpbGFibGUiLCJpY29uSGFzaCIsImljb25faGFzaCIsInByZXNlbmNlcyIsInByZXNlbmNlIiwic2FmZXR5QWxlcnRzQ2hhbm5lbElkIiwic2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksUUFBdUQsb0JBQW1CO0FBQy9GLFNBQVNDLFVBQVUsRUFBRUMsZ0JBQWdCLFFBQVEsb0JBQW1CO0FBRWhFLFNBQVNDLFlBQVksUUFBUSxxQkFBb0I7QUFFakQsTUFBTUMsWUFBb0U7SUFDeEUsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxXQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sSUFBSU47UUFFL0IsTUFBTUssVUFBVSxJQUFJLENBQUNDLFFBQVEsQ0FDMUJDLEtBQUssR0FDTEMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS1gsYUFBYVksWUFBWSxJQUFJRixFQUFFQyxJQUFJLEtBQUtYLGFBQWFhLGFBQWEsSUFBSUgsRUFBRUMsSUFBSSxLQUFL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
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCwgdHlwZSBEaXNjb3JkUHJlc2VuY2VVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCwgR3VpbGQsIEludGVybmFsQm90IH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgeyBHdWlsZFRvZ2dsZXMgfSBmcm9tICcuL3RvZ2dsZXMvZ3VpbGQuanMnXG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBJbnRlcm5hbEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2d1aWxkJ10pLFxuXG4gIGdldCB0aHJlYWRzKCkge1xuICAgIGlmICghdGhpcy5jaGFubmVscykgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPGJpZ2ludCwgQ2hhbm5lbD4oKVxuXG4gICAgY29uc3QgdGhyZWFkcyA9IHRoaXMuY2hhbm5lbHNcbiAgICAgIC5hcnJheSgpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5QdWJsaWNUaHJlYWQgfHwgeC50eXBlID09PSBDaGFubmVsVHlwZXMuUHJpdmF0ZVRocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Bbm5vdW5jZW1lbnRUaHJlYWQpXG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpXG4gIH0sXG4gIGdldCBmZWF0dXJlcygpIHtcbiAgICByZXR1cm4gdGhpcy50b2dnbGVzLmZlYXR1cmVzXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEludGVybmFsQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQ7IHNoYXJkSWQ6IG51bWJlciB9KTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuZ3VpbGQge1xuICBjb25zdCBndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5pZClcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkXG4gIGNvbnN0IGd1aWxkOiBHdWlsZCA9IE9iamVjdC5jcmVhdGUoYmFzZUd1aWxkKVxuXG4gIGlmIChwcm9wcy5hZmtUaW1lb3V0ICYmIHBheWxvYWQuZ3VpbGQuYWZrX3RpbWVvdXQpIGd1aWxkLmFma1RpbWVvdXQgPSBwYXlsb2FkLmd1aWxkLmFma190aW1lb3V0XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5ndWlsZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgaWYgKHByb3BzLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCAmJiBwYXlsb2FkLmd1aWxkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50KVxuICAgIGd1aWxkLmFwcHJveGltYXRlUHJlc2VuY2VDb3VudCA9IHBheWxvYWQuZ3VpbGQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnRcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucykgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5ndWlsZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9uc1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5ndWlsZC5kZXNjcmlwdGlvbikgZ3VpbGQuZGVzY3JpcHRpb24gPSBwYXlsb2FkLmd1aWxkLmRlc2NyaXB0aW9uXG4gIGlmIChwcm9wcy50b2dnbGVzKSBndWlsZC50b2dnbGVzID0gbmV3IEd1aWxkVG9nZ2xlcyhwYXlsb2FkLmd1aWxkKVxuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyKSBndWlsZC5leHBsaWNpdENvbnRlbnRGaWx0ZXIgPSBwYXlsb2FkLmd1aWxkLmV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyXG4gIGlmIChwcm9wcy5tYXhNZW1iZXJzICYmIHBheWxvYWQuZ3VpbGQubWF4X21lbWJlcnMpIGd1aWxkLm1heE1lbWJlcnMgPSBwYXlsb2FkLmd1aWxkLm1heF9tZW1iZXJzXG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkXG4gIGlmIChwcm9wcy5tYXhWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLmd1aWxkLm1heF92aWRlb19jaGFubmVsX3VzZXJzKSBndWlsZC5tYXhWaWRlb0NoYW5uZWxVc2VycyA9IHBheWxvYWQuZ3VpbGQubWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnNcbiAgaWYgKHByb3BzLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2VycylcbiAgICBndWlsZC5tYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzID0gcGF5bG9hZC5ndWlsZC5tYXhfc3RhZ2VfdmlkZW9fY2hhbm5lbF91c2Vyc1xuICBpZiAocHJvcHMubWZhTGV2ZWwpIGd1aWxkLm1mYUxldmVsID0gcGF5bG9hZC5ndWlsZC5tZmFfbGV2ZWxcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5ndWlsZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5ndWlsZC5uYW1lXG4gIGlmIChwcm9wcy5uc2Z3TGV2ZWwpIGd1aWxkLm5zZndMZXZlbCA9IHBheWxvYWQuZ3VpbGQubnNmd19sZXZlbFxuICBpZiAocHJvcHMucHJlZmVycmVkTG9jYWxlICYmIHBheWxvYWQuZ3VpbGQucHJlZmVycmVkX2xvY2FsZSkgZ3VpbGQucHJlZmVycmVkTG9jYWxlID0gcGF5bG9hZC5ndWlsZC5wcmVmZXJyZWRfbG9jYWxlXG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5ndWlsZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnRcbiAgaWYgKHByb3BzLnByZW1pdW1UaWVyKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV90aWVyXG4gIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnN0YWdlX2luc3RhbmNlcylcbiAgICBndWlsZC5zdGFnZUluc3RhbmNlcyA9IHBheWxvYWQuZ3VpbGQuc3RhZ2VfaW5zdGFuY2VzLm1hcCgoc2kpID0+ICh7XG4gICAgICAvKiogVGhlIGlkIG9mIHRoaXMgU3RhZ2UgaW5zdGFuY2UgKi9cbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShzaS5pZCksXG4gICAgICAvKiogVGhlIGd1aWxkIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGd1aWxkSWQsXG4gICAgICAvKiogVGhlIGlkIG9mIHRoZSBhc3NvY2lhdGVkIFN0YWdlIGNoYW5uZWwgKi9cbiAgICAgIGNoYW5uZWxJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuY2hhbm5lbF9pZCksXG4gICAgICAvKiogVGhlIHRvcGljIG9mIHRoZSBTdGFnZSBpbnN0YW5jZSAoMS0xMjAgY2hhcmFjdGVycykgKi9cbiAgICAgIHRvcGljOiBzaS50b3BpYyxcbiAgICB9KSlcbiAgaWYgKHByb3BzLmNoYW5uZWxzICYmICghIXBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgfHwgISFwYXlsb2FkLmd1aWxkLnRocmVhZHMpKVxuICAgIGd1aWxkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBbLi4uKHBheWxvYWQuZ3VpbGQuY2hhbm5lbHMgPz8gW10pLCAuLi4ocGF5bG9hZC5ndWlsZC50aHJlYWRzID8/IFtdKV0ubWFwKChjaGFubmVsKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbCwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMubWVtYmVycyAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcnMpXG4gICAgZ3VpbGQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5tZW1iZXJzLm1hcCgobWVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlciEuaWQpKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5ndWlsZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcmVzdWx0LmlkLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy5lbW9qaXMgJiYgcGF5bG9hZC5ndWlsZC5lbW9qaXMpXG4gICAgZ3VpbGQuZW1vamlzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLmd1aWxkLmVtb2ppcy5tYXAoKGVtb2ppKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBlbW9qaSlcbiAgICAgICAgcmV0dXJuIFtyZXN1bHQuaWQhLCByZXN1bHRdXG4gICAgICB9KSxcbiAgICApXG4gIGlmIChwcm9wcy52b2ljZVN0YXRlcyAmJiBwYXlsb2FkLmd1aWxkLnZvaWNlX3N0YXRlcylcbiAgICBndWlsZC52b2ljZVN0YXRlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5ndWlsZC52b2ljZV9zdGF0ZXMubWFwKCh2b2ljZVN0YXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VTdGF0ZShib3QsIHsgdm9pY2VTdGF0ZSwgZ3VpbGRJZCB9KVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC51c2VySWQsIHJlc3VsdF1cbiAgICAgIH0pLFxuICAgIClcbiAgaWYgKHByb3BzLnN0aWNrZXJzICYmIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnMpXG4gICAgZ3VpbGQuc3RpY2tlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZ3VpbGQuc3RpY2tlcnM/Lm1hcCgoc3RpY2tlcikgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzdGlja2VyKVxuICAgICAgICByZXR1cm4gW3Jlc3VsdC5pZCwgcmVzdWx0XVxuICAgICAgfSksXG4gICAgKVxuICBpZiAocHJvcHMuc3lzdGVtQ2hhbm5lbEZsYWdzICYmIHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3MpIGd1aWxkLnN5c3RlbUNoYW5uZWxGbGFncyA9IHBheWxvYWQuZ3VpbGQuc3lzdGVtX2NoYW5uZWxfZmxhZ3NcbiAgaWYgKHByb3BzLnZhbml0eVVybENvZGUgJiYgcGF5bG9hZC5ndWlsZC52YW5pdHlfdXJsX2NvZGUpIGd1aWxkLnZhbml0eVVybENvZGUgPSBwYXlsb2FkLmd1aWxkLnZhbml0eV91cmxfY29kZVxuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwpIGd1aWxkLnZlcmlmaWNhdGlvbkxldmVsID0gcGF5bG9hZC5ndWlsZC52ZXJpZmljYXRpb25fbGV2ZWxcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC5ndWlsZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQuZ3VpbGQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLmd1aWxkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9XG4gIGlmIChwcm9wcy5kaXNjb3ZlcnlTcGxhc2ggJiYgcGF5bG9hZC5ndWlsZC5kaXNjb3Zlcnlfc3BsYXNoKSBndWlsZC5kaXNjb3ZlcnlTcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuZGlzY292ZXJ5X3NwbGFzaClcbiAgaWYgKHByb3BzLmpvaW5lZEF0ICYmIHBheWxvYWQuZ3VpbGQuam9pbmVkX2F0KSBndWlsZC5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5ndWlsZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLmd1aWxkLm1lbWJlcl9jb3VudCA/PyAwXG4gIGlmIChwcm9wcy5zaGFyZElkKSBndWlsZC5zaGFyZElkID0gcGF5bG9hZC5zaGFyZElkXG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuZ3VpbGQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5ndWlsZC5pY29uKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuZ3VpbGQuYmFubmVyKSBndWlsZC5iYW5uZXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuYmFubmVyKVxuICBpZiAocHJvcHMuc3BsYXNoICYmIHBheWxvYWQuZ3VpbGQuc3BsYXNoKSBndWlsZC5zcGxhc2ggPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuZ3VpbGQuc3BsYXNoKVxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5ndWlsZC5pZCkgZ3VpbGQuaWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy5vd25lcklkICYmIHBheWxvYWQuZ3VpbGQub3duZXJfaWQpIGd1aWxkLm93bmVySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLm93bmVyX2lkKVxuICBpZiAocHJvcHMucGVybWlzc2lvbnMgJiYgcGF5bG9hZC5ndWlsZC5wZXJtaXNzaW9ucykgZ3VpbGQucGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYWZrX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy53aWRnZXRDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZCkgZ3VpbGQud2lkZ2V0Q2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC53aWRnZXRfY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5ndWlsZC5hcHBsaWNhdGlvbl9pZCkgZ3VpbGQuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zeXN0ZW1fY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLnJ1bGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucnVsZXNfY2hhbm5lbF9pZCkgZ3VpbGQucnVsZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkLnJ1bGVzX2NoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkICYmIHBheWxvYWQuZ3VpbGQucHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5wdWJsaWNVcGRhdGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLmd1aWxkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpXG4gICAgZ3VpbGQucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQucHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZFxuICBpZiAocHJvcHMubGFyZ2UgJiYgcGF5bG9hZC5ndWlsZC5sYXJnZSkgZ3VpbGQubGFyZ2UgPSBwYXlsb2FkLmd1aWxkLmxhcmdlXG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLmd1aWxkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQuZ3VpbGQub3duZXJcbiAgaWYgKHByb3BzLndpZGdldEVuYWJsZWQgJiYgcGF5bG9hZC5ndWlsZC53aWRnZXRfZW5hYmxlZCkgZ3VpbGQud2lkZ2V0RW5hYmxlZCA9IHBheWxvYWQuZ3VpbGQud2lkZ2V0X2VuYWJsZWRcbiAgaWYgKHByb3BzLnVuYXZhaWxhYmxlICYmIHBheWxvYWQuZ3VpbGQudW5hdmFpbGFibGUpIGd1aWxkLnVuYXZhaWxhYmxlID0gcGF5bG9hZC5ndWlsZC51bmF2YWlsYWJsZVxuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5ndWlsZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmd1aWxkLmljb25faGFzaClcbiAgaWYgKHByb3BzLnByZXNlbmNlcyAmJiBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcylcbiAgICBndWlsZC5wcmVzZW5jZXMgPSBwYXlsb2FkLmd1aWxkLnByZXNlbmNlcz8ubWFwKChwcmVzZW5jZSkgPT4gYm90LnRyYW5zZm9ybWVycy5wcmVzZW5jZShib3QsIHByZXNlbmNlIGFzIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSkpXG4gIGlmIChwcm9wcy5zYWZldHlBbGVydHNDaGFubmVsSWQgJiYgcGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG4gICAgZ3VpbGQuc2FmZXR5QWxlcnRzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZC5zYWZldHlfYWxlcnRzX2NoYW5uZWxfaWQpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGQoYm90LCBwYXlsb2FkLmd1aWxkLCBndWlsZClcbn1cbiJdLCJuYW1lcyI6WyJDaGFubmVsVHlwZXMiLCJDb2xsZWN0aW9uIiwiaWNvbkhhc2hUb0JpZ0ludCIsIkd1aWxkVG9nZ2xlcyIsImJhc2VHdWlsZCIsInVuZGVmaW5lZCIsInRocmVhZHMiLCJjaGFubmVscyIsImFycmF5IiwiZmlsdGVyIiwieCIsInR5cGUiLCJQdWJsaWNUaHJlYWQiLCJQcml2YXRlVGhyZWFkIiwiQW5ub3VuY2VtZW50VGhyZWFkIiwibWFwIiwiaWQiLCJmZWF0dXJlcyIsInRvZ2dsZXMiLCJ0cmFuc2Zvcm1HdWlsZCIsImJvdCIsInBheWxvYWQiLCJndWlsZElkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwiZ3VpbGQiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiY3JlYXRlIiwiYWZrVGltZW91dCIsImFma190aW1lb3V0IiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwiZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zIiwiZGVmYXVsdF9tZXNzYWdlX25vdGlmaWNhdGlvbnMiLCJkZXNjcmlwdGlvbiIsImV4cGxpY2l0Q29udGVudEZpbHRlciIsImV4cGxpY2l0X2NvbnRlbnRfZmlsdGVyIiwibWF4TWVtYmVycyIsIm1heF9tZW1iZXJzIiwibWF4UHJlc2VuY2VzIiwibWF4X3ByZXNlbmNlcyIsIm1heFZpZGVvQ2hhbm5lbFVzZXJzIiwibWF4X3ZpZGVvX2NoYW5uZWxfdXNlcnMiLCJtYXhTdGFnZVZpZGVvQ2hhbm5lbFVzZXJzIiwibWF4X3N0YWdlX3ZpZGVvX2NoYW5uZWxfdXNlcnMiLCJtZmFMZXZlbCIsIm1mYV9sZXZlbCIsIm5hbWUiLCJuc2Z3TGV2ZWwiLCJuc2Z3X2xldmVsIiwicHJlZmVycmVkTG9jYWxlIiwicHJlZmVycmVkX2xvY2FsZSIsInByZW1pdW1TdWJzY3JpcHRpb25Db3VudCIsInByZW1pdW1fc3Vic2NyaXB0aW9uX2NvdW50IiwicHJlbWl1bVRpZXIiLCJwcmVtaXVtX3RpZXIiLCJzdGFnZUluc3RhbmNlcyIsInN0YWdlX2luc3RhbmNlcyIsInNpIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsInRvcGljIiwiY2hhbm5lbCIsInJlc3VsdCIsIm1lbWJlcnMiLCJtZW1iZXIiLCJ1c2VyIiwicm9sZXMiLCJyb2xlIiwiZW1vamlzIiwiZW1vamkiLCJ2b2ljZVN0YXRlcyIsInZvaWNlX3N0YXRlcyIsInZvaWNlU3RhdGUiLCJ1c2VySWQiLCJzdGlja2VycyIsInN0aWNrZXIiLCJzeXN0ZW1DaGFubmVsRmxhZ3MiLCJzeXN0ZW1fY2hhbm5lbF9mbGFncyIsInZhbml0eVVybENvZGUiLCJ2YW5pdHlfdXJsX2NvZGUiLCJ2ZXJpZmljYXRpb25MZXZlbCIsInZlcmlmaWNhdGlvbl9sZXZlbCIsIndlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lX3NjcmVlbiIsIndlbGNvbWVDaGFubmVscyIsIndlbGNvbWVfY2hhbm5lbHMiLCJ3YyIsImVtb2ppSWQiLCJlbW9qaV9pZCIsImVtb2ppTmFtZSIsImVtb2ppX25hbWUiLCJkaXNjb3ZlcnlTcGxhc2giLCJkaXNjb3Zlcnlfc3BsYXNoIiwiam9pbmVkQXQiLCJqb2luZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJtZW1iZXJDb3VudCIsIm1lbWJlcl9jb3VudCIsInNoYXJkSWQiLCJpY29uIiwiYmFubmVyIiwic3BsYXNoIiwib3duZXJJZCIsIm93bmVyX2lkIiwicGVybWlzc2lvbnMiLCJhZmtDaGFubmVsSWQiLCJhZmtfY2hhbm5lbF9pZCIsIndpZGdldENoYW5uZWxJZCIsIndpZGdldF9jaGFubmVsX2lkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwic3lzdGVtQ2hhbm5lbElkIiwic3lzdGVtX2NoYW5uZWxfaWQiLCJydWxlc0NoYW5uZWxJZCIsInJ1bGVzX2NoYW5uZWxfaWQiLCJwdWJsaWNVcGRhdGVzQ2hhbm5lbElkIiwicHVibGljX3VwZGF0ZXNfY2hhbm5lbF9pZCIsInByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQiLCJwcmVtaXVtX3Byb2dyZXNzX2Jhcl9lbmFibGVkIiwibGFyZ2UiLCJvd25lciIsIndpZGdldEVuYWJsZWQiLCJ3aWRnZXRfZW5hYmxlZCIsInVuYXZhaWxhYmxlIiwiaWNvbkhhc2giLCJpY29uX2hhc2giLCJwcmVzZW5jZXMiLCJwcmVzZW5jZSIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxZQUFZLFFBQXVELG9CQUFtQjtBQUMvRixTQUFTQyxVQUFVLEVBQUVDLGdCQUFnQixRQUFRLG9CQUFtQjtBQUVoRSxTQUFTQyxZQUFZLFFBQVEscUJBQW9CO0FBRWpELE9BQU8sTUFBTUMsWUFBb0U7SUFDL0UsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxXQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sSUFBSU47UUFFL0IsTUFBTUssVUFBVSxJQUFJLENBQUNDLFFBQVEsQ0FDMUJDLEtBQUssR0FDTEMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS1gsYUFBYVksWUFBWSxJQUFJRixFQUFFQyxJQUFJLEtBQUtYLGFBQWFhLGFBQWEsSUFBSUgsRUFB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DiscordApplicationIntegrationType, InteractionResponseTypes, InteractionTypes, MessageFlags } from '@discordeno/types';
|
|
2
2
|
import { Collection } from '@discordeno/utils';
|
|
3
|
-
const baseInteraction = {
|
|
3
|
+
export const baseInteraction = {
|
|
4
4
|
// This allows typescript to still check for type errors on functions below
|
|
5
5
|
...undefined,
|
|
6
6
|
async respond (response, options) {
|
|
@@ -238,4 +238,4 @@ export function transformInteractionResource(bot, payload) {
|
|
|
238
238
|
return bot.transformers.customizers.interactionResource(bot, payload.interactionResource, resource);
|
|
239
239
|
}
|
|
240
240
|
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuY29uc3QgYmFzZUludGVyYWN0aW9uOiBJbnRlcm5hbEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2ludGVyYWN0aW9uJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddKSxcblxuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYW4gb2JqZWN0LCBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGJlIGFuIGF1dG9jb21wbGV0ZSBvciBhIG1vZGFsIHJlc3BvbnNlXG4gICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG4gICAgaWYgKHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5DaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UgJiYgb3B0aW9ucz8uaXNQcml2YXRlKSByZXNwb25zZS5mbGFncyA9IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWxcblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuXG4gICAgLy8gTW9kYWxzIGNhbm5vdCBiZSBjaGFpbmVkXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdCAmJiB0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuTW9kYWwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZXNwb25kIHRvIGEgbW9kYWwgaW50ZXJhY3Rpb24gd2l0aCBhbm90aGVyIG1vZGFsLicpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0sIHsgd2l0aFJlc3BvbnNlOiBvcHRpb25zPy53aXRoUmVzcG9uc2UgfSlcbiAgfSxcbiAgYXN5bmMgZWRpdChyZXNwb25zZSwgbWVzc2FnZUlkLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGVkaXQgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uLicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCwgcmVzcG9uc2UpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmFja25vd2xlZGdlZCkge1xuICAgICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50KVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIGludGVyYWN0aW9uIGhhcyBub3QgYmVlbiByZXNwb25kZWQgdG8geWV0IGFuZCB0aGlzIGlzbid0IGEgTWVzc2FnZUNvbXBvbmVudCBpbnRlcmFjdGlvbi5cIilcblxuICAgICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgICAgdGhpcy5pZCxcbiAgICAgICAgdGhpcy50b2tlbixcbiAgICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuVXBkYXRlTWVzc2FnZSwgZGF0YTogcmVzcG9uc2UgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4sIHJlc3BvbnNlKVxuICB9LFxuICBhc3luYyBkZWZlckVkaXQob3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLmlkLCB0aGlzLnRva2VuLCB7IHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZFVwZGF0ZU1lc3NhZ2UgfSwgb3B0aW9ucylcbiAgfSxcbiAgYXN5bmMgZGVmZXIoaXNQcml2YXRlLCBvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWZlciBhbiBhbHJlYWR5IHJlc3BvbmRlZCBpbnRlcmFjdGlvbi4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZmxhZ3M6IGlzUHJpdmF0ZSA/IE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgb3B0aW9ucyxcbiAgICApXG4gIH0sXG4gIGFzeW5jIGRlbGV0ZShtZXNzYWdlSWQpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVsZXRlIGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZClcbiAgICBlbHNlIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbilcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb24ge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcj8udXNlciA/PyBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIhKVxuXG4gIGNvbnN0IGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbiA9IE9iamVjdC5jcmVhdGUoYmFzZUludGVyYWN0aW9uKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggdGhpcywgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGlzIGEgQm90XG4gIGludGVyYWN0aW9uLmJvdCA9IGJvdCBhcyB1bmtub3duIGFzIEJvdFxuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZVxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmlkKSBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpXG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gICAgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwbGljYXRpb25faWQpXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZSkgaW50ZXJhY3Rpb24udHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24udHlwZVxuICBpZiAocHJvcHMudG9rZW4gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlbikgaW50ZXJhY3Rpb24udG9rZW4gPSBwYXlsb2FkLmludGVyYWN0aW9uLnRva2VuXG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQuaW50ZXJhY3Rpb24udmVyc2lvblxuICBpZiAocHJvcHMubG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubG9jYWxlKSBpbnRlcmFjdGlvbi5sb2NhbGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZVxuICBpZiAocHJvcHMuZ3VpbGRMb2NhbGUgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGUpIGludGVyYWN0aW9uLmd1aWxkTG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZF9sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkIGlzIGEgUGFydGlhbDxEaXNjb3JkR3VpbGQ+XG4gICAgaW50ZXJhY3Rpb24uZ3VpbGQgPSBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSB1c2VyXG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgICBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lc3NhZ2UpXG4gICAgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlLCBzaGFyZElkOiAwIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbClcbiAgICBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwgYXMgRGlzY29yZENoYW5uZWwsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpIGludGVyYWN0aW9uLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKVxuICAgIGludGVyYWN0aW9uLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXIsIGd1aWxkSWQsIHVzZXIuaWQpXG4gIGlmIChwcm9wcy5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzKSB7XG4gICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyA9IHt9XG5cbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5jb250ZXh0ICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dCkgaW50ZXJhY3Rpb24uY29udGV4dCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uY29udGV4dFxuICBpZiAocHJvcHMuZGF0YSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEpIHtcbiAgICBpbnRlcmFjdGlvbi5kYXRhID0ge1xuICAgICAgdHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnR5cGUsXG4gICAgICBjb21wb25lbnRUeXBlOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50X3R5cGUsXG4gICAgICBjdXN0b21JZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmN1c3RvbV9pZCxcbiAgICAgIGNvbXBvbmVudHM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKSxcbiAgICAgIHZhbHVlczogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnZhbHVlcyxcbiAgICAgIGlkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuaWQpIDogdW5kZWZpbmVkLFxuICAgICAgbmFtZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLm5hbWUsXG4gICAgICByZXNvbHZlZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkXG4gICAgICAgID8gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHsgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZCwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfVxuICB9XG5cbiAgLy8gVHlwZXNjcmlwdCBoYXMgYW4gaGFyZCB0aW1lIHdpdGggaW50ZXJhY3Rpb24uYm90LCBzbyB3ZSBuZWVkIHRvIHRlbGwgaGltIGZvciBzdXJlIHRoaXMgaW50ZXJhY3Rpb24gaXMgdGhlIG9mIHRoZSBjb3JyZWN0IHR5cGVcbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb24oYm90LCBwYXlsb2FkLCBpbnRlcmFjdGlvbiBhcyB1bmtub3duIGFzIHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBjb25zdCBvcHQgPSB7XG4gICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgdHlwZTogb3B0aW9uLnR5cGUsXG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICBmb2N1c2VkOiBvcHRpb24uZm9jdXNlZCxcbiAgfSBhcyBJbnRlcmFjdGlvbkRhdGFPcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0aW9uLCBvcHQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogeyByZXNvbHZlZDogRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkOyBzaGFyZElkOiBudW1iZXI7IGd1aWxkSWQ/OiBiaWdpbnQgfSxcbik6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkID0ge31cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykge1xuICAgIHRyYW5zZm9ybWVkLm1lc3NhZ2VzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLm1lc3NhZ2VzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlOiBNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgeyBtZXNzYWdlOiB2YWx1ZSwgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkIH0pXG4gICAgICAgIHJldHVybiBbbWVzc2FnZS5pZCwgbWVzc2FnZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLnVzZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQudXNlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQudXNlcnMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFt1c2VyLmlkLCB1c2VyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLm1lbWJlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLm1lbWJlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVyOiBNZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHZhbHVlLCBwYXlsb2FkLmd1aWxkSWQhLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gICAgICAgIHJldHVybiBbbWVtYmVyLmlkLCBtZW1iZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5ndWlsZElkICYmIHBheWxvYWQucmVzb2x2ZWQucm9sZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5yb2xlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogdmFsdWUsIGd1aWxkSWQ6IHBheWxvYWQuZ3VpbGRJZCEgfSlcbiAgICAgICAgcmV0dXJuIFtyb2xlLmlkLCByb2xlXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5jaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5jaGFubmVscykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogdmFsdWUgfSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWxcbiAgICAgICAgcmV0dXJuIFtjaGFubmVsLmlkLCBjaGFubmVsXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIHJldHVybiBbaWQsIGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZCwgdHJhbnNmb3JtZWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2VcbiAgY29uc3QgcmVzcG9uc2UgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2VcblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gICAgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5pbnRlcmFjdGlvbilcbiAgaWYgKHByb3BzLnJlc291cmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlKVxuICAgIHJlc3BvbnNlLnJlc291cmNlID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwge1xuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UucmVzb3VyY2UsXG4gICAgICBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQsXG4gICAgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgcmVzcG9uc2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uQ2FsbGJhY2sge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1xuICBjb25zdCBjYWxsYmFjayA9IHt9IGFzIEludGVyYWN0aW9uQ2FsbGJhY2tcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNhbGxiYWNrLnR5cGUgPSBwYXlsb2FkLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWxcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZ1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25SZXNvdXJjZTogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2U7IHNoYXJkSWQ6IG51bWJlciB9LFxuKTogdHlwZW9mIGJvdC50cmFuc2Zvcm1lcnMuJGluZmVycmVkVHlwZXMuaW50ZXJhY3Rpb25SZXNvdXJjZSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlXG4gIGNvbnN0IHJlc291cmNlID0ge30gYXMgSW50ZXJhY3Rpb25SZXNvdXJjZVxuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLnR5cGVcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlKVxuICAgIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UuYWN0aXZpdHlfaW5zdGFuY2VcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLm1lc3NhZ2UpXG4gICAgcmVzb3VyY2UubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLm1lc3NhZ2UsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UsIHJlc291cmNlKVxufVxuIl0sIm5hbWVzIjpbIkRpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSIsIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkludGVyYWN0aW9uVHlwZXMiLCJNZXNzYWdlRmxhZ3MiLCJDb2xsZWN0aW9uIiwiYmFzZUludGVyYWN0aW9uIiwidW5kZWZpbmVkIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiRXBoZW1lcmFsIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwiaGVscGVycyIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsIndpdGhSZXNwb25zZSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwicGF5bG9hZCIsImd1aWxkSWQiLCJpbnRlcmFjdGlvbiIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlciIsIm1lbWJlciIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJ2ZXJzaW9uIiwibG9jYWxlIiwiZ3VpbGRMb2NhbGUiLCJndWlsZF9sb2NhbGUiLCJndWlsZCIsInNoYXJkSWQiLCJhcHBQZXJtaXNzaW9ucyIsImFwcF9wZXJtaXNzaW9ucyIsIm1lc3NhZ2UiLCJjaGFubmVsIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsImNvbnRleHQiLCJjb21wb25lbnRUeXBlIiwiY29tcG9uZW50X3R5cGUiLCJjdXN0b21JZCIsImN1c3RvbV9pZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJ2YWx1ZXMiLCJuYW1lIiwicmVzb2x2ZWQiLCJpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsIm9wdCIsImludGVyYWN0aW9uRGF0YU9wdGlvbnMiLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiZW50cmllcyIsIl9pZCIsInVzZXJzIiwibWVtYmVycyIsInJvbGVzIiwicm9sZSIsImNoYW5uZWxzIiwiYXR0YWNobWVudHMiLCJrZXkiLCJhdHRhY2htZW50IiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25DYWxsYmFjayIsInJlc291cmNlIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2siLCJjYWxsYmFjayIsImFjdGl2aXR5SW5zdGFuY2VJZCIsImFjdGl2aXR5X2luc3RhbmNlX2lkIiwicmVzcG9uc2VNZXNzYWdlSWQiLCJyZXNwb25zZV9tZXNzYWdlX2lkIiwicmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsIiwicmVzcG9uc2VfbWVzc2FnZV9lcGhlbWVyYWwiLCJyZXNwb25zZU1lc3NhZ2VMb2FkaW5nIiwicmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsImFjdGl2aXR5SW5zdGFuY2UiLCJhY3Rp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
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMsXG4gIEludGVyYWN0aW9uVHlwZXMsXG4gIE1lc3NhZ2VGbGFncyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7XG4gIEJvdCxcbiAgRGlzY29yZENoYW5uZWwsXG4gIEludGVyYWN0aW9uLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnRlcm5hbEJvdCxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxufSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VJbnRlcmFjdGlvbjogSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb24nXSksXG5cbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGFuIG9iamVjdCwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdFxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkgcmVzcG9uc2UuZmxhZ3MgPSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsXG5cbiAgICAvLyBTaW5jZSB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gZ2l2ZW4gYSByZXNwb25zZSwgYW55IGZ1cnRoZXIgcmVzcG9uc2VzIG11c3QgYmUgZm9sbG93dXBzLlxuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSlcblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlLCBkYXRhOiByZXNwb25zZSB9LCB7IHdpdGhSZXNwb25zZTogb3B0aW9ucz8ud2l0aFJlc3BvbnNlIH0pXG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG5cbiAgICBpZiAobWVzc2FnZUlkKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZWRpdEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQsIHJlc3BvbnNlKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhpcyBpbnRlcmFjdGlvbiBoYXMgbm90IGJlZW4gcmVzcG9uZGVkIHRvIHlldCBhbmQgdGhpcyBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgaW50ZXJhY3Rpb24uXCIpXG5cbiAgICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICAgIHRoaXMuaWQsXG4gICAgICAgIHRoaXMudG9rZW4sXG4gICAgICAgIHsgdHlwZTogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLlVwZGF0ZU1lc3NhZ2UsIGRhdGE6IHJlc3BvbnNlIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuLCByZXNwb25zZSlcbiAgfSxcbiAgYXN5bmMgZGVmZXJFZGl0KG9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZWRpdCBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24uJylcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpXG5cbiAgICBpZiAodGhpcy50eXBlICE9PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnQpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZGVmZXIgdG8gdGhlbiBlZGl0IGFuIGludGVyYWN0aW9uIHRoYXQgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IGludGVyYWN0aW9uLlwiKVxuXG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCwgdGhpcy50b2tlbiwgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sIG9wdGlvbnMpXG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJylcblxuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZsYWdzOiBpc1ByaXZhdGUgPyBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKVxuICB9LFxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5oZWxwZXJzLmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCBtZXNzYWdlSWQpXG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbihcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogeyBpbnRlcmFjdGlvbjogRGlzY29yZEludGVyYWN0aW9uOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uIHtcbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZW1iZXI/LnVzZXIgPz8gcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyISlcblxuICBjb25zdCBpbnRlcmFjdGlvbjogSW50ZXJhY3Rpb24gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIHRoaXMsIHNvIHdlIG5lZWQgdG8gdGVsbCBoaW0gZm9yIHN1cmUgdGhpcyBpcyBhIEJvdFxuICBpbnRlcmFjdGlvbi5ib3QgPSBib3QgYXMgdW5rbm93biBhcyBCb3RcbiAgaW50ZXJhY3Rpb24uYWNrbm93bGVkZ2VkID0gZmFsc2VcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmlkKVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmFwcGxpY2F0aW9uX2lkKVxuICAgIGludGVyYWN0aW9uLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGUpIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGVcbiAgaWYgKHByb3BzLnRva2VuICYmIHBheWxvYWQuaW50ZXJhY3Rpb24udG9rZW4pIGludGVyYWN0aW9uLnRva2VuID0gcGF5bG9hZC5pbnRlcmFjdGlvbi50b2tlblxuICBpZiAocHJvcHMudmVyc2lvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uLnZlcnNpb24pIGludGVyYWN0aW9uLnZlcnNpb24gPSBwYXlsb2FkLmludGVyYWN0aW9uLnZlcnNpb25cbiAgaWYgKHByb3BzLmxvY2FsZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmxvY2FsZSkgaW50ZXJhY3Rpb24ubG9jYWxlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5sb2NhbGVcbiAgaWYgKHByb3BzLmd1aWxkTG9jYWxlICYmIHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfbG9jYWxlKSBpbnRlcmFjdGlvbi5ndWlsZExvY2FsZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGRfbG9jYWxlXG4gIGlmIChwcm9wcy5ndWlsZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmd1aWxkKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGF5bG9hZC5pbnRlcmFjdGlvbi5ndWlsZCBpcyBhIFBhcnRpYWw8RGlzY29yZEd1aWxkPlxuICAgIGludGVyYWN0aW9uLmd1aWxkID0gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZ3VpbGQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlciAmJiB1c2VyKSBpbnRlcmFjdGlvbi51c2VyID0gdXNlclxuICBpZiAocHJvcHMuYXBwUGVybWlzc2lvbnMgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5hcHBfcGVybWlzc2lvbnMpXG4gICAgaW50ZXJhY3Rpb24uYXBwUGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmFwcF9wZXJtaXNzaW9ucylcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5tZXNzYWdlKVxuICAgIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb24ubWVzc2FnZSwgc2hhcmRJZDogMCB9KVxuICBpZiAocHJvcHMuY2hhbm5lbCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWwpXG4gICAgaW50ZXJhY3Rpb24uY2hhbm5lbCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC5pbnRlcmFjdGlvbi5jaGFubmVsIGFzIERpc2NvcmRDaGFubmVsLCBndWlsZElkIH0pXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmNoYW5uZWxfaWQpXG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLm1lbWJlcilcbiAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCB1c2VyLmlkKVxuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycykge1xuICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fVxuXG4gICAgaWYgKHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApXG4gICAgaWYgKHBheWxvYWQuaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10pXG4gICAgICBpbnRlcmFjdGlvbi5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5Vc2VySW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5pbnRlcmFjdGlvbi5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSxcbiAgICAgIClcbiAgfVxuICBpZiAocHJvcHMuY29udGV4dCAmJiBwYXlsb2FkLmludGVyYWN0aW9uLmNvbnRleHQpIGludGVyYWN0aW9uLmNvbnRleHQgPSBwYXlsb2FkLmludGVyYWN0aW9uLmNvbnRleHRcbiAgaWYgKHByb3BzLmRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZFxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCB7IHJlc29sdmVkOiBwYXlsb2FkLmludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCwgZ3VpbGRJZCB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGVzY3JpcHQgaGFzIGFuIGhhcmQgdGltZSB3aXRoIGludGVyYWN0aW9uLmJvdCwgc28gd2UgbmVlZCB0byB0ZWxsIGhpbSBmb3Igc3VyZSB0aGlzIGludGVyYWN0aW9uIGlzIHRoZSBvZiB0aGUgY29ycmVjdCB0eXBlXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uKGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24gYXMgdW5rbm93biBhcyB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbihib3Q6IEJvdCwgb3B0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uKTogSW50ZXJhY3Rpb25EYXRhT3B0aW9uIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyhib3QsIG9wdGlvbiwgb3B0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoXG4gIGJvdDogSW50ZXJuYWxCb3QsXG4gIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4pOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCB7XG4gIGNvbnN0IHRyYW5zZm9ybWVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA9IHt9XG5cbiAgaWYgKHBheWxvYWQucmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZXNzYWdlcykubWFwKChbX2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHsgbWVzc2FnZTogdmFsdWUsIHNoYXJkSWQ6IHBheWxvYWQuc2hhcmRJZCB9KVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocGF5bG9hZC5yZXNvbHZlZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJlc29sdmVkLnVzZXJzKS5tYXAoKFtfaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpXG4gICAgICAgIHJldHVybiBbdXNlci5pZCwgdXNlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmd1aWxkSWQgJiYgcGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yZXNvbHZlZC5tZW1iZXJzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwgcGF5bG9hZC5ndWlsZElkISwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICAgICAgICByZXR1cm4gW21lbWJlci5pZCwgbWVtYmVyXVxuICAgICAgfSksXG4gICAgKVxuICB9XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRJZCAmJiBwYXlsb2FkLnJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQucm9sZXMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkOiBwYXlsb2FkLmd1aWxkSWQhIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuY2hhbm5lbHMpLm1hcCgoW19pZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHZhbHVlIH0pIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRDaGFubmVsXG4gICAgICAgIHJldHVybiBbY2hhbm5lbC5pZCwgY2hhbm5lbF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChwYXlsb2FkLnJlc29sdmVkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQucmVzb2x2ZWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KVxuICAgICAgICByZXR1cm4gW2lkLCBib3QudHJhbnNmb3JtZXJzLmF0dGFjaG1lbnQoYm90LCB2YWx1ZSldXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTsgc2hhcmRJZDogbnVtYmVyIH0sXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG4gIGNvbnN0IHJlc3BvbnNlID0ge30gYXMgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlXG5cbiAgaWYgKHByb3BzLmludGVyYWN0aW9uICYmIHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLmludGVyYWN0aW9uKVxuICAgIHJlc3BvbnNlLmludGVyYWN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UuaW50ZXJhY3Rpb24pXG4gIGlmIChwcm9wcy5yZXNvdXJjZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZS5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHtcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IHBheWxvYWQuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLnJlc291cmNlLFxuICAgICAgc2hhcmRJZDogcGF5bG9hZC5zaGFyZElkLFxuICAgIH0pXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIHJlc3BvbnNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4pOiB0eXBlb2YgYm90LnRyYW5zZm9ybWVycy4kaW5mZXJyZWRUeXBlcy5pbnRlcmFjdGlvbkNhbGxiYWNrIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBJbnRlcmFjdGlvbkNhbGxiYWNrXG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlSWQgJiYgcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZCkgY2FsbGJhY2suYWN0aXZpdHlJbnN0YW5jZUlkID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZV9pZFxuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsXG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nICYmIHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VMb2FkaW5nID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmdcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkNhbGxiYWNrKGJvdCwgcGF5bG9hZCwgY2FsbGJhY2spXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEludGVybmFsQm90LFxuICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLmludGVyYWN0aW9uUmVzb3VyY2Uge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZVxuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIEludGVyYWN0aW9uUmVzb3VyY2VcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLmludGVyYWN0aW9uUmVzb3VyY2UudHlwZSkgcmVzb3VyY2UudHlwZSA9IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS50eXBlXG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5hY3Rpdml0eV9pbnN0YW5jZSlcbiAgICByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLmFjdGl2aXR5X2luc3RhbmNlXG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlKVxuICAgIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCB7IG1lc3NhZ2U6IHBheWxvYWQuaW50ZXJhY3Rpb25SZXNvdXJjZS5tZXNzYWdlLCBzaGFyZElkOiBwYXlsb2FkLnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvblJlc291cmNlKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvblJlc291cmNlLCByZXNvdXJjZSlcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMiLCJJbnRlcmFjdGlvblR5cGVzIiwiTWVzc2FnZUZsYWdzIiwiQ29sbGVjdGlvbiIsImJhc2VJbnRlcmFjdGlvbiIsInVuZGVmaW5lZCIsInJlc3BvbmQiLCJyZXNwb25zZSIsIm9wdGlvbnMiLCJ0eXBlIiwiQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiY29udGVudCIsInRpdGxlIiwiTW9kYWwiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHQiLCJpc1ByaXZhdGUiLCJmbGFncyIsIkVwaGVtZXJhbCIsImFja25vd2xlZGdlZCIsImJvdCIsImhlbHBlcnMiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwidG9rZW4iLCJNb2RhbFN1Ym1pdCIsIkVycm9yIiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpZCIsImRhdGEiLCJ3aXRoUmVzcG9uc2UiLCJlZGl0IiwibWVzc2FnZUlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsIk1lc3NhZ2VDb21wb25lbnQiLCJVcGRhdGVNZXNzYWdlIiwiZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlZmVyRWRpdCIsIkRlZmVycmVkVXBkYXRlTWVzc2FnZSIsImRlZmVyIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJkZWxldGUiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInBheWxvYWQiLCJndWlsZElkIiwiaW50ZXJhY3Rpb24iLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXIiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiY29tcG9uZW50VHlwZSIsImNvbXBvbmVudF90eXBlIiwiY3VzdG9tSWQiLCJjdXN0b21faWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29tcG9uZW50IiwidmFsdWVzIiwibmFtZSIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJvcHQiLCJpbnRlcmFjdGlvbkRhdGFPcHRpb25zIiwidGFyZ2V0SWQiLCJ0YXJnZXRfaWQiLCJjdXN0b21pemVycyIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsIm9wdGlvbiIsInZhbHVlIiwiZm9jdXNlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtZWQiLCJtZXNzYWdlcyIsImVudHJpZXMiLCJfaWQiLCJ1c2VycyIsIm1lbWJlcnMiLCJyb2xlcyIsInJvbGUiLCJjaGFubmVscyIsImF0dGFjaG1lbnRzIiwia2V5IiwiYXR0YWNobWVudCIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJyZXNvdXJjZSIsImludGVyYWN0aW9uUmVzb3VyY2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrIiwiY2FsbGJhY2siLCJhY3Rpdml0eUluc3RhbmNlSWQiLCJhY3Rpdml0eV9pbnN0YW5jZV9pZCIsInJlc3BvbnNlTWVzc2FnZUlkIiwicmVzcG9uc2VfbWVzc2FnZV9pZCIsInJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCIsInJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsIiwicmVzcG9uc2VNZXNzYWdlTG9hZGluZyIsInJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZyIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJhY3Rpdml0eUluc3RhbmNl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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { iconHashToBigInt } from '@discordeno/utils';
|
|
2
2
|
import { Permissions } from './toggles/Permissions.js';
|
|
3
3
|
import { MemberToggles } from './toggles/member.js';
|
|
4
|
-
const baseMember = {
|
|
4
|
+
export const baseMember = {
|
|
5
5
|
// This allows typescript to still check for type errors on functions below
|
|
6
6
|
...undefined,
|
|
7
7
|
get deaf () {
|
|
@@ -48,4 +48,4 @@ export function transformMember(bot, payload, guildId, userId) {
|
|
|
48
48
|
return bot.transformers.customizers.member(bot, payload, member);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEludGVybmFsQm90IH0gZnJvbSAnLi4vYm90LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuL3RvZ2dsZXMvUGVybWlzc2lvbnMuanMnXG5pbXBvcnQgeyBNZW1iZXJUb2dnbGVzIH0gZnJvbSAnLi90b2dnbGVzL21lbWJlci5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi90eXBlcy5qcydcblxuZXhwb3J0IGNvbnN0IGJhc2VNZW1iZXI6IEludGVybmFsQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ10gPSB7XG4gIC8vIFRoaXMgYWxsb3dzIHR5cGVzY3JpcHQgdG8gc3RpbGwgY2hlY2sgZm9yIHR5cGUgZXJyb3JzIG9uIGZ1bmN0aW9ucyBiZWxvd1xuICAuLi4odW5kZWZpbmVkIGFzIHVua25vd24gYXMgSW50ZXJuYWxCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZW1iZXInXSksXG5cbiAgZ2V0IGRlYWYoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ2RlYWYnKVxuICB9LFxuICBnZXQgbXV0ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygnbXV0ZScpXG4gIH0sXG4gIGdldCBwZW5kaW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdwZW5kaW5nJylcbiAgfSxcbiAgZ2V0IGZsYWdzKCkge1xuICAgIHJldHVybiB0aGlzLnRvZ2dsZXM/LmZsYWdzID8/IDBcbiAgfSxcbiAgZ2V0IGRpZFJlam9pbigpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmRpZFJlam9pblxuICB9LFxuICBnZXQgc3RhcnRlZE9uYm9hcmRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5zdGFydGVkT25ib2FyZGluZ1xuICB9LFxuICBnZXQgYnlwYXNzZXNWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5ieXBhc3Nlc1ZlcmlmaWNhdGlvblxuICB9LFxuICBnZXQgY29tcGxldGVkT25ib2FyZGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmNvbXBsZXRlZE9uYm9hcmRpbmdcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lbWJlcihcbiAgYm90OiBJbnRlcm5hbEJvdCxcbiAgcGF5bG9hZDogRGlzY29yZE1lbWJlcixcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICB1c2VySWQ6IEJpZ1N0cmluZyxcbik6IHR5cGVvZiBib3QudHJhbnNmb3JtZXJzLiRpbmZlcnJlZFR5cGVzLm1lbWJlciB7XG4gIGNvbnN0IG1lbWJlcjogTWVtYmVyID0gT2JqZWN0LmNyZWF0ZShiYXNlTWVtYmVyKVxuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVtYmVyXG5cbiAgaWYgKHByb3BzLmlkICYmIHVzZXJJZCkgbWVtYmVyLmlkID0gdHlwZW9mIHVzZXJJZCA9PT0gJ3N0cmluZycgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh1c2VySWQpIDogdXNlcklkXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIG1lbWJlci5ndWlsZElkID0gdHlwZW9mIGd1aWxkSWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZ3VpbGRJZCkgOiBndWlsZElkXG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgbWVtYmVyLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpXG4gIGlmIChwcm9wcy5uaWNrICYmIHBheWxvYWQubmljaykgbWVtYmVyLm5pY2sgPSBwYXlsb2FkLm5pY2tcbiAgaWYgKHByb3BzLnJvbGVzICYmIHBheWxvYWQucm9sZXMpIG1lbWJlci5yb2xlcyA9IHBheWxvYWQucm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKVxuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIG1lbWJlci5qb2luZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5qb2luZWRfYXQpXG4gIGlmIChwcm9wcy5wcmVtaXVtU2luY2UgJiYgcGF5bG9hZC5wcmVtaXVtX3NpbmNlKSBtZW1iZXIucHJlbWl1bVNpbmNlID0gRGF0ZS5wYXJzZShwYXlsb2FkLnByZW1pdW1fc2luY2UpXG4gIGlmIChwcm9wcy5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCAmJiBwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gICAgbWVtYmVyLmNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsID0gRGF0ZS5wYXJzZShwYXlsb2FkLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpXG4gIGlmIChwcm9wcy5hdmF0YXIgJiYgcGF5bG9hZC5hdmF0YXIpIG1lbWJlci5hdmF0YXIgPSBpY29uSGFzaFRvQmlnSW50KHBheWxvYWQuYXZhdGFyKVxuICBpZiAocHJvcHMuYmFubmVyICYmIHBheWxvYWQuYmFubmVyKSBtZW1iZXIuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcilcbiAgaWYgKHByb3BzLnBlcm1pc3Npb25zICYmIHBheWxvYWQucGVybWlzc2lvbnMpIG1lbWJlci5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMudG9nZ2xlcykgbWVtYmVyLnRvZ2dsZXMgPSBuZXcgTWVtYmVyVG9nZ2xlcyhwYXlsb2FkKVxuICBpZiAocHJvcHMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgJiYgcGF5bG9hZC5hdmF0YXJfZGVjb3JhdGlvbl9kYXRhKVxuICAgIG1lbWJlci5hdmF0YXJEZWNvcmF0aW9uRGF0YSA9IGJvdC50cmFuc2Zvcm1lcnMuYXZhdGFyRGVjb3JhdGlvbkRhdGEoYm90LCBwYXlsb2FkLmF2YXRhcl9kZWNvcmF0aW9uX2RhdGEpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVtYmVyKGJvdCwgcGF5bG9hZCwgbWVtYmVyKVxufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJQZXJtaXNzaW9ucyIsIk1lbWJlclRvZ2dsZXMiLCJiYXNlTWVtYmVyIiwidW5kZWZpbmVkIiwiZGVhZiIsInRvZ2dsZXMiLCJoYXMiLCJtdXRlIiwicGVuZGluZyIsImZsYWdzIiwiZGlkUmVqb2luIiwic3RhcnRlZE9uYm9hcmRpbmciLCJieXBhc3Nlc1ZlcmlmaWNhdGlvbiIsImNvbXBsZXRlZE9uYm9hcmRpbmciLCJ0cmFuc2Zvcm1NZW1iZXIiLCJib3QiLCJwYXlsb2FkIiwiZ3VpbGRJZCIsInVzZXJJZCIsIm1lbWJlciIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJpZCIsInNub3dmbGFrZSIsInVzZXIiLCJuaWNrIiwicm9sZXMiLCJtYXAiLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsInByZW1pdW1TaW5jZSIsInByZW1pdW1fc2luY2UiLCJjb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCIsImNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwiLCJhdmF0YXIiLCJiYW5uZXIiLCJwZXJtaXNzaW9ucyIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiYXZhdGFyX2RlY29yYXRpb25fZGF0YSIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxnQkFBZ0IsUUFBUSxvQkFBbUI7QUFFcEQsU0FBU0MsV0FBVyxRQUFRLDJCQUEwQjtBQUN0RCxTQUFTQyxhQUFhLFFBQVEsc0JBQXFCO0FBR25ELE9BQU8sTUFBTUMsYUFBc0U7SUFDakYsMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDQyxPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDRixPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJRSxXQUFVO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDSCxPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJRyxTQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUNKLE9BQU8sRUFBRUksU0FBUztJQUNoQztJQUNBLElBQUlDLGFBQVk7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUNMLE9BQU8sRUFBRUs7SUFDekI7SUFDQSxJQUFJQyxxQkFBb0I7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDTixPQUFPLEVBQUVNO0lBQ3pCO0lBQ0EsSUFBSUMsd0JBQXVCO1FBQ3pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQ1AsT0FBTyxFQUFFTztJQUN6QjtJQUNBLElBQUlDLHVCQUFzQjtRQUN4QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUNSLE9BQU8sRUFBRVE7SUFDekI7QUFDRixFQUFDO0FBRUQsT0FBTyxTQUFTQyxnQkFDZEMsR0FBZ0IsRUFDaEJDLE9BQXNCLEVBQ3RCQyxPQUFrQixFQUNsQkMsTUFBaUI7SUFFakIsTUFBTUMsU0FBaUJDLE9BQU9DLE1BQU0sQ0FBQ25CO0lBQ3JDLE1BQU1vQixRQUFRUCxJQUFJUSxZQUFZLENBQUNDLGlCQUFpQixDQUFDTCxNQUFNO0lBRXZELElBQUlHLE1BQU1HLEVBQUUsSUFBSVAsUUFBUUMsT0FBT00sRUFBRSxHQUFHLE9BQU9QLFdBQVcsV0FBV0gsSUFBSVEsWUFBWSxDQUFDRyxTQUFTLENBQUNSLFVBQVVBO0lBQ3RHLElBQUlJLE1BQU1MLE9BQU8sSUFBSUEsU0FBU0UsT0FBT0YsT0FBTyxHQUFHLE9BQU9BLFlBQVksV0FBV0YsSUFBSVEsWUFBWSxDQUFDRyxTQUFTLENBQUNULFdBQVdBO0lBQ25ILElBQUlLLE1BQU1LLElBQUksSUFBSVgsUUFBUVcsSUFBSSxFQUFFUixPQUFPUSxJQUFJLEdBQUdaLElBQUlRLFlBQVksQ0FBQ0ksSUFBSSxDQUFDWixLQUFLQyxRQUFRVyxJQUFJO0lBQ3JGLElBQUlMLE1BQU1NLElBQUksSUFBSVosUUFBUVksSUFBSSxFQUFFVCxPQUFPUyxJQUFJLEdBQUdaLFFBQVFZLElBQUk7SUFDMUQsSUFBSU4sTUFBTU8sS0FBSyxJQUFJYixRQUFRYSxLQUFLLEVBQUVWLE9BQU9VLEtBQUssR0FBR2IsUUFBUWEsS0FBSyxDQUFDQyxHQUFHLENBQUMsQ0FBQ0wsS0FBT1YsSUFBSVEsWUFBWSxDQUFDRyxTQUFTLENBQUNEO0lBQ3RHLElBQUlILE1BQU1TLFFBQVEsSUFBSWYsUUFBUWdCLFNBQVMsRUFBRWIsT0FBT1ksUUFBUSxHQUFHRSxLQUFLQyxLQUFLLENBQUNsQixRQUFRZ0IsU0FBUztJQUN2RixJQUFJVixNQUFNYSxZQUFZLElBQUluQixRQUFRb0IsYUFBYSxFQUFFakIsT0FBT2dCLFlBQVksR0FBR0YsS0FBS0MsS0FBSyxDQUFDbEIsUUFBUW9CLGFBQWE7SUFDdkcsSUFBSWQsTUFBTWUsMEJBQTBCLElBQUlyQixRQUFRc0IsNEJBQTRCLEVBQzFFbkIsT0FBT2tCLDBCQUEwQixHQUFHSixLQUFLQyxLQUFLLENBQUNsQixRQUFRc0IsNEJBQTRCO0lBQ3JGLElBQUloQixNQUFNaUIsTUFBTSxJQUFJdkIsUUFBUXVCLE1BQU0sRUFBRXBCLE9BQU9vQixNQUFNLEdBQUd4QyxpQkFBaUJpQixRQUFRdUIsTUFBTTtJQUNuRixJQUFJakIsTUFBTWtCLE1BQU0sSUFBSXhCLFFBQVF3QixNQUFNLEVBQUVyQixPQUFPcUIsTUFBTSxHQUFHekMsaUJBQWlCaUIsUUFBUXdCLE1BQU07SUFDbkYsSUFBSWxCLE1BQU1tQixXQUFXLElBQUl6QixRQUFReUIsV0FBVyxFQUFFdEIsT0FBT3NCLFdBQVcsR0FBRyxJQUFJekMsWUFBWWdCLFFBQVF5QixXQUFXO0lBQ3RHLElBQUluQixNQUFNakIsT0FBTyxFQUFFYyxPQUFPZCxPQUFPLEdBQUcsSUFBSUosY0FBY2U7SUFDdEQsSUFBSU0sTUFBTW9CLG9CQUFvQixJQUFJMUIsUUFBUTJCLHNCQUFzQixFQUM5RHhCLE9BQU91QixvQkFBb0IsR0FBRzNCLElBQUlRLFlBQVksQ0FBQ21CLG9CQUFvQixDQUFDM0IsS0FBS0MsUUFBUTJCLHNCQUFzQjtJQUV6RyxPQUFPNUIsSUFBSVEsWUFBWSxDQUFDcUIsV0FBVyxDQUFDekIsTUFBTSxDQUFDSixLQUFLQyxTQUFTRztBQUMzRCJ9
|