@discordeno/bot 19.0.0-next.f9bdfce → 19.0.0-next.faaa8af
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 +4 -2
- package/dist/cjs/commandOptionsParser.cjs +1 -1
- package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +2 -2
- package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +2 -2
- package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +2 -2
- package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +2 -2
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +2 -2
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +2 -2
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +2 -2
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +2 -2
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +2 -2
- package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +2 -2
- package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +2 -1
- package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +2 -2
- package/dist/cjs/helpers.cjs +24 -2
- package/dist/cjs/optionalize.cjs +1 -1
- package/dist/cjs/transformers/activity.cjs +1 -1
- package/dist/cjs/transformers/application.cjs +1 -1
- package/dist/cjs/transformers/applicationCommand.cjs +1 -1
- package/dist/cjs/transformers/applicationCommandOption.cjs +1 -1
- package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +1 -1
- package/dist/cjs/transformers/applicationCommandPermission.cjs +1 -1
- package/dist/cjs/transformers/attachment.cjs +1 -1
- package/dist/cjs/transformers/auditLogEntry.cjs +1 -1
- package/dist/cjs/transformers/automodActionExecution.cjs +1 -1
- package/dist/cjs/transformers/automodRule.cjs +1 -1
- package/dist/cjs/transformers/avatarDecorationData.cjs +1 -1
- package/dist/cjs/transformers/channel.cjs +5 -5
- package/dist/cjs/transformers/component.cjs +1 -1
- package/dist/cjs/transformers/embed.cjs +1 -1
- package/dist/cjs/transformers/emoji.cjs +1 -1
- package/dist/cjs/transformers/entitlement.cjs +1 -1
- package/dist/cjs/transformers/gatewayBot.cjs +1 -1
- package/dist/cjs/transformers/guild.cjs +1 -1
- package/dist/cjs/transformers/index.cjs +2 -1
- package/dist/cjs/transformers/integration.cjs +1 -1
- package/dist/cjs/transformers/interaction.cjs +12 -17
- package/dist/cjs/transformers/invite.cjs +1 -1
- package/dist/cjs/transformers/member.cjs +17 -4
- package/dist/cjs/transformers/message.cjs +30 -27
- package/dist/cjs/transformers/onboarding.cjs +3 -3
- package/dist/cjs/transformers/poll.cjs +4 -3
- package/dist/cjs/transformers/presence.cjs +1 -1
- package/dist/cjs/transformers/reverse/activity.cjs +2 -2
- package/dist/cjs/transformers/reverse/allowedMentions.cjs +2 -2
- package/dist/cjs/transformers/reverse/application.cjs +1 -1
- package/dist/cjs/transformers/reverse/applicationCommand.cjs +1 -1
- package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +1 -1
- package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +2 -2
- package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +1 -1
- package/dist/cjs/transformers/reverse/attachment.cjs +1 -1
- package/dist/cjs/transformers/reverse/auditLogEntry.cjs +1 -1
- package/dist/cjs/transformers/reverse/component.cjs +1 -1
- package/dist/cjs/transformers/reverse/embed.cjs +2 -2
- package/dist/cjs/transformers/reverse/emoji.cjs +1 -1
- package/dist/cjs/transformers/reverse/gatewayBot.cjs +1 -1
- package/dist/cjs/transformers/reverse/member.cjs +3 -2
- package/dist/cjs/transformers/reverse/presence.cjs +1 -1
- package/dist/cjs/transformers/reverse/team.cjs +1 -1
- package/dist/cjs/transformers/reverse/widgetSettings.cjs +2 -2
- package/dist/cjs/transformers/role.cjs +6 -6
- package/dist/cjs/transformers/scheduledEvent.cjs +1 -1
- package/dist/cjs/transformers/sku.cjs +1 -1
- package/dist/cjs/transformers/stageInstance.cjs +1 -1
- package/dist/cjs/transformers/stageInviteInstance.cjs +1 -1
- package/dist/cjs/transformers/sticker.cjs +1 -1
- package/dist/cjs/transformers/team.cjs +1 -1
- package/dist/cjs/transformers/template.cjs +1 -1
- package/dist/cjs/transformers/threadMember.cjs +1 -1
- package/dist/cjs/transformers/toggles/Permissions.cjs +1 -1
- package/dist/cjs/transformers/toggles/guild.cjs +1 -1
- package/dist/cjs/transformers/toggles/member.cjs +40 -2
- package/dist/cjs/transformers/types.cjs +6 -0
- package/dist/cjs/transformers/user.cjs +2 -5
- package/dist/cjs/transformers/voiceRegion.cjs +1 -1
- package/dist/cjs/transformers/voiceState.cjs +1 -1
- package/dist/cjs/transformers/webhook.cjs +1 -1
- package/dist/cjs/transformers/welcomeScreen.cjs +1 -1
- package/dist/cjs/transformers/widget.cjs +1 -1
- package/dist/cjs/transformers/widgetSettings.cjs +1 -1
- package/dist/cjs/transformers.cjs +587 -676
- package/dist/cjs/typings.cjs +1 -1
- package/dist/esm/bot.js +4 -2
- package/dist/esm/commandOptionsParser.js +1 -1
- package/dist/esm/handlers/channels/CHANNEL_CREATE.js +2 -2
- package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
- package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +2 -2
- package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +2 -2
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +2 -2
- package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
- package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +2 -1
- package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +2 -2
- package/dist/esm/helpers.js +24 -2
- package/dist/esm/optionalize.js +1 -1
- package/dist/esm/transformers/activity.js +1 -1
- package/dist/esm/transformers/application.js +1 -1
- package/dist/esm/transformers/applicationCommand.js +1 -1
- package/dist/esm/transformers/applicationCommandOption.js +1 -1
- package/dist/esm/transformers/applicationCommandOptionChoice.js +1 -1
- package/dist/esm/transformers/applicationCommandPermission.js +1 -1
- package/dist/esm/transformers/attachment.js +1 -1
- package/dist/esm/transformers/auditLogEntry.js +1 -1
- package/dist/esm/transformers/automodActionExecution.js +1 -1
- package/dist/esm/transformers/automodRule.js +1 -1
- package/dist/esm/transformers/avatarDecorationData.js +1 -1
- package/dist/esm/transformers/channel.js +5 -5
- package/dist/esm/transformers/component.js +1 -1
- package/dist/esm/transformers/embed.js +1 -1
- package/dist/esm/transformers/emoji.js +1 -1
- package/dist/esm/transformers/entitlement.js +1 -1
- package/dist/esm/transformers/gatewayBot.js +1 -1
- package/dist/esm/transformers/guild.js +1 -1
- package/dist/esm/transformers/index.js +2 -1
- package/dist/esm/transformers/integration.js +1 -1
- package/dist/esm/transformers/interaction.js +11 -16
- package/dist/esm/transformers/invite.js +1 -1
- package/dist/esm/transformers/member.js +17 -4
- package/dist/esm/transformers/message.js +27 -27
- package/dist/esm/transformers/onboarding.js +3 -3
- package/dist/esm/transformers/poll.js +4 -3
- package/dist/esm/transformers/presence.js +1 -1
- package/dist/esm/transformers/reverse/activity.js +2 -2
- package/dist/esm/transformers/reverse/allowedMentions.js +2 -2
- package/dist/esm/transformers/reverse/application.js +1 -1
- package/dist/esm/transformers/reverse/applicationCommand.js +1 -1
- package/dist/esm/transformers/reverse/applicationCommandOption.js +1 -1
- package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +2 -2
- package/dist/esm/transformers/reverse/applicationCommandPermission.js +1 -1
- package/dist/esm/transformers/reverse/attachment.js +1 -1
- package/dist/esm/transformers/reverse/auditLogEntry.js +1 -1
- package/dist/esm/transformers/reverse/component.js +1 -1
- package/dist/esm/transformers/reverse/embed.js +2 -2
- package/dist/esm/transformers/reverse/emoji.js +1 -1
- package/dist/esm/transformers/reverse/gatewayBot.js +1 -1
- package/dist/esm/transformers/reverse/member.js +3 -2
- package/dist/esm/transformers/reverse/presence.js +1 -1
- package/dist/esm/transformers/reverse/team.js +1 -1
- package/dist/esm/transformers/reverse/widgetSettings.js +2 -2
- package/dist/esm/transformers/role.js +6 -6
- package/dist/esm/transformers/scheduledEvent.js +1 -1
- package/dist/esm/transformers/sku.js +1 -1
- package/dist/esm/transformers/stageInstance.js +1 -1
- package/dist/esm/transformers/stageInviteInstance.js +1 -1
- package/dist/esm/transformers/sticker.js +1 -1
- package/dist/esm/transformers/team.js +1 -1
- package/dist/esm/transformers/template.js +1 -1
- package/dist/esm/transformers/threadMember.js +1 -1
- package/dist/esm/transformers/toggles/Permissions.js +1 -1
- package/dist/esm/transformers/toggles/guild.js +1 -1
- package/dist/esm/transformers/toggles/member.js +40 -2
- package/dist/esm/transformers/types.js +3 -0
- package/dist/esm/transformers/user.js +2 -5
- package/dist/esm/transformers/voiceRegion.js +1 -1
- package/dist/esm/transformers/voiceState.js +1 -1
- package/dist/esm/transformers/webhook.js +1 -1
- package/dist/esm/transformers/welcomeScreen.js +1 -1
- package/dist/esm/transformers/widget.js +1 -1
- package/dist/esm/transformers/widgetSettings.js +1 -1
- package/dist/esm/transformers.js +509 -606
- package/dist/esm/typings.js +1 -1
- package/dist/types/bot.d.ts +11 -24
- package/dist/types/bot.d.ts.map +1 -1
- package/dist/types/commandOptionsParser.d.ts +11 -2
- package/dist/types/commandOptionsParser.d.ts.map +1 -1
- package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts +1 -1
- package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
- package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +1 -1
- package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +1 -1
- package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +1 -1
- package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +1 -1
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +1 -1
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
- package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +1 -1
- package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +1 -1
- package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +13 -30
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/optionalize.d.ts +1 -1
- package/dist/types/optionalize.d.ts.map +1 -1
- package/dist/types/transformers/activity.d.ts +1 -33
- package/dist/types/transformers/activity.d.ts.map +1 -1
- package/dist/types/transformers/application.d.ts +1 -35
- package/dist/types/transformers/application.d.ts.map +1 -1
- package/dist/types/transformers/applicationCommand.d.ts +2 -16
- package/dist/types/transformers/applicationCommand.d.ts.map +1 -1
- package/dist/types/transformers/applicationCommandOption.d.ts +2 -33
- package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -1
- package/dist/types/transformers/applicationCommandOptionChoice.d.ts +2 -7
- package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/types/transformers/applicationCommandPermission.d.ts +3 -13
- package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -1
- package/dist/types/transformers/attachment.d.ts +2 -36
- package/dist/types/transformers/attachment.d.ts.map +1 -1
- package/dist/types/transformers/auditLogEntry.d.ts +2 -43
- package/dist/types/transformers/auditLogEntry.d.ts.map +1 -1
- package/dist/types/transformers/automodActionExecution.d.ts +2 -22
- package/dist/types/transformers/automodActionExecution.d.ts.map +1 -1
- package/dist/types/transformers/automodRule.d.ts +2 -28
- package/dist/types/transformers/automodRule.d.ts.map +1 -1
- package/dist/types/transformers/avatarDecorationData.d.ts +1 -7
- package/dist/types/transformers/avatarDecorationData.d.ts.map +1 -1
- package/dist/types/transformers/channel.d.ts +3 -132
- package/dist/types/transformers/channel.d.ts.map +1 -1
- package/dist/types/transformers/component.d.ts +1 -45
- package/dist/types/transformers/component.d.ts.map +1 -1
- package/dist/types/transformers/embed.d.ts +2 -48
- package/dist/types/transformers/embed.d.ts.map +1 -1
- package/dist/types/transformers/emoji.d.ts +1 -27
- package/dist/types/transformers/emoji.d.ts.map +1 -1
- package/dist/types/transformers/entitlement.d.ts +2 -24
- package/dist/types/transformers/entitlement.d.ts.map +1 -1
- package/dist/types/transformers/gatewayBot.d.ts +1 -11
- package/dist/types/transformers/gatewayBot.d.ts.map +1 -1
- package/dist/types/transformers/guild.d.ts +2 -113
- package/dist/types/transformers/guild.d.ts.map +1 -1
- package/dist/types/transformers/index.d.ts +1 -0
- package/dist/types/transformers/index.d.ts.map +1 -1
- package/dist/types/transformers/integration.d.ts +2 -30
- package/dist/types/transformers/integration.d.ts.map +1 -1
- package/dist/types/transformers/interaction.d.ts +2 -135
- package/dist/types/transformers/interaction.d.ts.map +1 -1
- package/dist/types/transformers/invite.d.ts +2 -41
- package/dist/types/transformers/invite.d.ts.map +1 -1
- package/dist/types/transformers/member.d.ts +2 -39
- package/dist/types/transformers/member.d.ts.map +1 -1
- package/dist/types/transformers/message.d.ts +3 -174
- package/dist/types/transformers/message.d.ts.map +1 -1
- package/dist/types/transformers/onboarding.d.ts +2 -44
- package/dist/types/transformers/onboarding.d.ts.map +1 -1
- package/dist/types/transformers/poll.d.ts +2 -69
- package/dist/types/transformers/poll.d.ts.map +1 -1
- package/dist/types/transformers/presence.d.ts +2 -11
- package/dist/types/transformers/presence.d.ts.map +1 -1
- package/dist/types/transformers/reverse/activity.d.ts +2 -3
- package/dist/types/transformers/reverse/activity.d.ts.map +1 -1
- package/dist/types/transformers/reverse/allowedMentions.d.ts +1 -1
- package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -1
- package/dist/types/transformers/reverse/application.d.ts +1 -2
- package/dist/types/transformers/reverse/application.d.ts.map +1 -1
- package/dist/types/transformers/reverse/applicationCommand.d.ts +1 -2
- package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -1
- package/dist/types/transformers/reverse/applicationCommandOption.d.ts +1 -2
- package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
- package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts +2 -3
- package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/types/transformers/reverse/applicationCommandPermission.d.ts +2 -3
- package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
- package/dist/types/transformers/reverse/attachment.d.ts +1 -2
- package/dist/types/transformers/reverse/attachment.d.ts.map +1 -1
- package/dist/types/transformers/reverse/auditLogEntry.d.ts +1 -2
- package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -1
- package/dist/types/transformers/reverse/component.d.ts +1 -2
- package/dist/types/transformers/reverse/component.d.ts.map +1 -1
- package/dist/types/transformers/reverse/embed.d.ts +2 -3
- package/dist/types/transformers/reverse/embed.d.ts.map +1 -1
- package/dist/types/transformers/reverse/emoji.d.ts +1 -2
- package/dist/types/transformers/reverse/emoji.d.ts.map +1 -1
- package/dist/types/transformers/reverse/gatewayBot.d.ts +1 -1
- package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -1
- package/dist/types/transformers/reverse/member.d.ts +2 -3
- package/dist/types/transformers/reverse/member.d.ts.map +1 -1
- package/dist/types/transformers/reverse/presence.d.ts +1 -2
- package/dist/types/transformers/reverse/presence.d.ts.map +1 -1
- package/dist/types/transformers/reverse/team.d.ts +1 -2
- package/dist/types/transformers/reverse/team.d.ts.map +1 -1
- package/dist/types/transformers/reverse/widgetSettings.d.ts +2 -3
- package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -1
- package/dist/types/transformers/role.d.ts +2 -73
- package/dist/types/transformers/role.d.ts.map +1 -1
- package/dist/types/transformers/scheduledEvent.d.ts +2 -36
- package/dist/types/transformers/scheduledEvent.d.ts.map +1 -1
- package/dist/types/transformers/sku.d.ts +2 -16
- package/dist/types/transformers/sku.d.ts.map +1 -1
- package/dist/types/transformers/stageInstance.d.ts +1 -13
- package/dist/types/transformers/stageInstance.d.ts.map +1 -1
- package/dist/types/transformers/stageInviteInstance.d.ts +1 -11
- package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -1
- package/dist/types/transformers/sticker.d.ts +2 -35
- package/dist/types/transformers/sticker.d.ts.map +1 -1
- package/dist/types/transformers/team.d.ts +2 -14
- package/dist/types/transformers/team.d.ts.map +1 -1
- package/dist/types/transformers/template.d.ts +1 -14
- package/dist/types/transformers/template.d.ts.map +1 -1
- package/dist/types/transformers/threadMember.d.ts +1 -10
- package/dist/types/transformers/threadMember.d.ts.map +1 -1
- package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -1
- package/dist/types/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/types/transformers/toggles/member.d.ts +21 -1
- package/dist/types/transformers/toggles/member.d.ts.map +1 -1
- package/dist/types/transformers/types.d.ts +1439 -0
- package/dist/types/transformers/types.d.ts.map +1 -0
- package/dist/types/transformers/user.d.ts +2 -44
- package/dist/types/transformers/user.d.ts.map +1 -1
- package/dist/types/transformers/voiceRegion.d.ts +1 -8
- package/dist/types/transformers/voiceRegion.d.ts.map +1 -1
- package/dist/types/transformers/voiceState.d.ts +1 -10
- package/dist/types/transformers/voiceState.d.ts.map +1 -1
- package/dist/types/transformers/webhook.d.ts +2 -28
- package/dist/types/transformers/webhook.d.ts.map +1 -1
- package/dist/types/transformers/welcomeScreen.d.ts +1 -10
- package/dist/types/transformers/welcomeScreen.d.ts.map +1 -1
- package/dist/types/transformers/widget.d.ts +1 -20
- package/dist/types/transformers/widget.d.ts.map +1 -1
- package/dist/types/transformers/widgetSettings.d.ts +1 -5
- package/dist/types/transformers/widgetSettings.d.ts.map +1 -1
- package/dist/types/transformers.d.ts +425 -456
- package/dist/types/transformers.d.ts.map +1 -1
- package/dist/types/typings.d.ts +2 -3
- package/dist/types/typings.d.ts.map +1 -1
- package/package.json +11 -12
package/dist/esm/helpers.js
CHANGED
|
@@ -13,6 +13,9 @@ export function createBotHelpers(bot) {
|
|
|
13
13
|
createEmoji: async (guildId, options, reason)=>{
|
|
14
14
|
return bot.transformers.emoji(bot, snakelize(await bot.rest.createEmoji(guildId, options, reason)));
|
|
15
15
|
},
|
|
16
|
+
createApplicationEmoji: async (options)=>{
|
|
17
|
+
return bot.transformers.emoji(bot, snakelize(await bot.rest.createApplicationEmoji(options)));
|
|
18
|
+
},
|
|
16
19
|
createForumThread: async (channelId, options, reason)=>{
|
|
17
20
|
return bot.transformers.channel(bot, {
|
|
18
21
|
channel: snakelize(await bot.rest.createForumThread(channelId, options, reason))
|
|
@@ -77,6 +80,9 @@ export function createBotHelpers(bot) {
|
|
|
77
80
|
editEmoji: async (guildId, id, options, reason)=>{
|
|
78
81
|
return bot.transformers.emoji(bot, snakelize(await bot.rest.editEmoji(guildId, id, options, reason)));
|
|
79
82
|
},
|
|
83
|
+
editApplicationEmoji: async (id, options)=>{
|
|
84
|
+
return bot.transformers.emoji(bot, snakelize(await bot.rest.editApplicationEmoji(id, options)));
|
|
85
|
+
},
|
|
80
86
|
editFollowupMessage: async (token, messageId, options)=>{
|
|
81
87
|
return bot.transformers.message(bot, snakelize(await bot.rest.editFollowupMessage(token, messageId, options)));
|
|
82
88
|
},
|
|
@@ -236,9 +242,18 @@ export function createBotHelpers(bot) {
|
|
|
236
242
|
getEmoji: async (guildId, emojiId)=>{
|
|
237
243
|
return bot.transformers.emoji(bot, snakelize(await bot.rest.getEmoji(guildId, emojiId)));
|
|
238
244
|
},
|
|
245
|
+
getApplicationEmoji: async (emojiId)=>{
|
|
246
|
+
return bot.transformers.emoji(bot, snakelize(await bot.rest.getApplicationEmoji(emojiId)));
|
|
247
|
+
},
|
|
239
248
|
getEmojis: async (guildId)=>{
|
|
240
249
|
return (await bot.rest.getEmojis(guildId)).map((res)=>bot.transformers.emoji(bot, snakelize(res)));
|
|
241
250
|
},
|
|
251
|
+
getApplicationEmojis: async ()=>{
|
|
252
|
+
const res = await bot.rest.getApplicationEmojis();
|
|
253
|
+
return {
|
|
254
|
+
items: res.items.map((item)=>bot.transformers.emoji(bot, snakelize(item)))
|
|
255
|
+
};
|
|
256
|
+
},
|
|
242
257
|
getFollowupMessage: async (token, messageId)=>{
|
|
243
258
|
return bot.transformers.message(bot, snakelize(await bot.rest.getFollowupMessage(token, messageId)));
|
|
244
259
|
},
|
|
@@ -258,7 +273,11 @@ export function createBotHelpers(bot) {
|
|
|
258
273
|
});
|
|
259
274
|
},
|
|
260
275
|
getGuilds: async (bearerToken, options)=>{
|
|
261
|
-
|
|
276
|
+
// @ts-expect-error getGuilds returns partial guilds
|
|
277
|
+
return (await bot.rest.getGuilds(bearerToken, options)).map((res)=>bot.transformers.guild(bot, {
|
|
278
|
+
guild: snakelize(res),
|
|
279
|
+
shardId: 0
|
|
280
|
+
}));
|
|
262
281
|
},
|
|
263
282
|
getGuildApplicationCommand: async (commandId, guildId)=>{
|
|
264
283
|
return bot.transformers.applicationCommand(bot, snakelize(await bot.rest.getGuildApplicationCommand(commandId, guildId)));
|
|
@@ -496,6 +515,9 @@ export function createBotHelpers(bot) {
|
|
|
496
515
|
deleteEmoji: async (guildId, id, reason)=>{
|
|
497
516
|
return await bot.rest.deleteEmoji(guildId, id, reason);
|
|
498
517
|
},
|
|
518
|
+
deleteApplicationEmoji: async (id)=>{
|
|
519
|
+
return await bot.rest.deleteApplicationEmoji(id);
|
|
520
|
+
},
|
|
499
521
|
deleteFollowupMessage: async (token, messageId)=>{
|
|
500
522
|
return await bot.rest.deleteFollowupMessage(token, messageId);
|
|
501
523
|
},
|
|
@@ -637,4 +659,4 @@ export function createBotHelpers(bot) {
|
|
|
637
659
|
};
|
|
638
660
|
}
|
|
639
661
|
|
|
640
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlV2ViaG9vayB9IGZyb20gJ0BkaXNjb3JkZW5vL3Jlc3QnXG5pbXBvcnQgdHlwZSB7XG4gIEFkZERtUmVjaXBpZW50T3B0aW9ucyxcbiAgQWRkR3VpbGRNZW1iZXJPcHRpb25zLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgQXRMZWFzdE9uZSxcbiAgQmVnaW5HdWlsZFBydW5lLFxuICBCaWdTdHJpbmcsXG4gIENhbWVsaXplZERpc2NvcmRBY2Nlc3NUb2tlblJlc3BvbnNlLFxuICBDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEFyY2hpdmVkVGhyZWFkcyxcbiAgQ2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nLFxuICBDYW1lbGl6ZWREaXNjb3JkQmFuLFxuICBDYW1lbGl6ZWREaXNjb3JkQ29ubmVjdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uLFxuICBDYW1lbGl6ZWREaXNjb3JkRm9sbG93ZWRDaGFubmVsLFxuICBDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdCxcbiAgQ2FtZWxpemVkRGlzY29yZEd1aWxkUHJldmlldyxcbiAgQ2FtZWxpemVkRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIENhbWVsaXplZERpc2NvcmRJbnZpdGUsXG4gIENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YSxcbiAgQ2FtZWxpemVkRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbixcbiAgQ2FtZWxpemVkRGlzY29yZFBhcnRpYWxHdWlsZCxcbiAgQ2FtZWxpemVkRGlzY29yZFBydW5lZENvdW50LFxuICBDYW1lbGl6ZWREaXNjb3JkVG9rZW5FeGNoYW5nZSxcbiAgQ2FtZWxpemVkRGlzY29yZFRva2VuUmV2b2NhdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZFZhbml0eVVybCxcbiAgQ2FtZWxpemVkRGlzY29yZFZvaWNlUmVnaW9uLFxuICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsXG4gIENyZWF0ZUNoYW5uZWxJbnZpdGUsXG4gIENyZWF0ZUVudGl0bGVtZW50LFxuICBDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSxcbiAgQ3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgQ3JlYXRlR3VpbGQsXG4gIENyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgQ3JlYXRlR3VpbGRCYW4sXG4gIENyZWF0ZUd1aWxkQnVsa0JhbixcbiAgQ3JlYXRlR3VpbGRDaGFubmVsLFxuICBDcmVhdGVHdWlsZEVtb2ppLFxuICBDcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSxcbiAgQ3JlYXRlR3VpbGRSb2xlLFxuICBDcmVhdGVHdWlsZFN0aWNrZXJPcHRpb25zLFxuICBDcmVhdGVNZXNzYWdlT3B0aW9ucyxcbiAgQ3JlYXRlU2NoZWR1bGVkRXZlbnQsXG4gIENyZWF0ZVN0YWdlSW5zdGFuY2UsXG4gIENyZWF0ZVRlbXBsYXRlLFxuICBEZWxldGVXZWJob29rTWVzc2FnZU9wdGlvbnMsXG4gIERpc2NvcmRFbnRpdGxlbWVudCxcbiAgRGlzY29yZE1lc3NhZ2UsXG4gIEVkaXRBcHBsaWNhdGlvbixcbiAgRWRpdEF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsXG4gIEVkaXRCb3RNZW1iZXJPcHRpb25zLFxuICBFZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXNPcHRpb25zLFxuICBFZGl0R3VpbGRPbmJvYXJkaW5nLFxuICBFZGl0R3VpbGRSb2xlLFxuICBFZGl0R3VpbGRTdGlja2VyT3B0aW9ucyxcbiAgRWRpdE1lc3NhZ2UsXG4gIEVkaXRPd25Wb2ljZVN0YXRlLFxuICBFZGl0U2NoZWR1bGVkRXZlbnQsXG4gIEVkaXRVc2VyVm9pY2VTdGF0ZSxcbiAgRXhlY3V0ZVdlYmhvb2ssXG4gIEdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25PcHRpb25zLFxuICBHZXRCYW5zLFxuICBHZXRFbnRpdGxlbWVudHMsXG4gIEdldEdyb3VwRG1PcHRpb25zLFxuICBHZXRHdWlsZEF1ZGl0TG9nLFxuICBHZXRHdWlsZFBydW5lQ291bnRRdWVyeSxcbiAgR2V0SW52aXRlLFxuICBHZXRNZXNzYWdlc09wdGlvbnMsXG4gIEdldFJlYWN0aW9ucyxcbiAgR2V0U2NoZWR1bGVkRXZlbnRzLFxuICBHZXRTY2hlZHVsZWRFdmVudFVzZXJzLFxuICBHZXRVc2VyR3VpbGRzLFxuICBHZXRXZWJob29rTWVzc2FnZU9wdGlvbnMsXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICBMaXN0QXJjaGl2ZWRUaHJlYWRzLFxuICBMaXN0R3VpbGRNZW1iZXJzLFxuICBNZmFMZXZlbHMsXG4gIE1vZGlmeUNoYW5uZWwsXG4gIE1vZGlmeUd1aWxkLFxuICBNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnMsXG4gIE1vZGlmeUd1aWxkRW1vamksXG4gIE1vZGlmeUd1aWxkTWVtYmVyLFxuICBNb2RpZnlHdWlsZFRlbXBsYXRlLFxuICBNb2RpZnlSb2xlUG9zaXRpb25zLFxuICBNb2RpZnlXZWJob29rLFxuICBTZWFyY2hNZW1iZXJzLFxuICBTdGFydFRocmVhZFdpdGhNZXNzYWdlLFxuICBTdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlLFxuICBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICBVcHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgc25ha2VsaXplIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmQuanMnXG5pbXBvcnQgdHlwZSB7IEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBdXRvTW9kZXJhdGlvblJ1bGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kUnVsZS5qcydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NoYW5uZWwuanMnXG5pbXBvcnQgdHlwZSB7IEVtb2ppIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1vamkuanMnXG5pbXBvcnQgeyB0eXBlIEVudGl0bGVtZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW50aXRsZW1lbnQuanMnXG5pbXBvcnQgdHlwZSB7IEd1aWxkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ3VpbGQuanMnXG5pbXBvcnQgdHlwZSB7IEludGVncmF0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24uanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2ludml0ZS5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVzc2FnZS5qcydcbmltcG9ydCB0eXBlIHsgR3VpbGRPbmJvYXJkaW5nIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy5qcydcbmltcG9ydCB0eXBlIHsgUm9sZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JvbGUuanMnXG5pbXBvcnQgdHlwZSB7IFNjaGVkdWxlZEV2ZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2NoZWR1bGVkRXZlbnQuanMnXG5pbXBvcnQgdHlwZSB7IFNrdSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NrdS5qcydcbmltcG9ydCB0eXBlIHsgU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW5zdGFuY2UuanMnXG5pbXBvcnQgdHlwZSB7IFN0aWNrZXIsIFN0aWNrZXJQYWNrIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc3RpY2tlci5qcydcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy90ZW1wbGF0ZS5qcydcbmltcG9ydCB0eXBlIHsgVGhyZWFkTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGhyZWFkTWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdXNlci5qcydcbmltcG9ydCB0eXBlIHsgV2ViaG9vayB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dlYmhvb2suanMnXG5pbXBvcnQgdHlwZSB7IFdlbGNvbWVTY3JlZW4gfSBmcm9tICcuL3RyYW5zZm9ybWVycy93ZWxjb21lU2NyZWVuLmpzJ1xuaW1wb3J0IHR5cGUgeyBHdWlsZFdpZGdldCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldC5qcydcbmltcG9ydCB0eXBlIHsgR3VpbGRXaWRnZXRTZXR0aW5ncyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3dpZGdldFNldHRpbmdzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90SGVscGVycyhib3Q6IEJvdCk6IEJvdEhlbHBlcnMge1xuICByZXR1cm4ge1xuICAgIGNyZWF0ZUF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVBdXRvbW9kUnVsZShndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZUNoYW5uZWw6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVDaGFubmVsKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkIH0pXG4gICAgfSxcbiAgICBjcmVhdGVFbW9qaTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlRW1vamkoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVGb3J1bVRocmVhZDogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlRm9ydW1UaHJlYWQoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSB9KVxuICAgIH0sXG4gICAgY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZDogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkKG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kLCBndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZCwgZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRGcm9tVGVtcGxhdGU6IGFzeW5jICh0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlKHRlbXBsYXRlQ29kZSwgb3B0aW9ucykpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBjcmVhdGVHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlR3VpbGRTdGlja2VyKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkVGVtcGxhdGUoZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlSW52aXRlOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5jcmVhdGVJbnZpdGUoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBjcmVhdGVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlUm9sZShndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCB9KVxuICAgIH0sXG4gICAgY3JlYXRlU2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlU3RhZ2VJbnN0YW5jZTogYXN5bmMgKG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVTdGFnZUluc3RhbmNlKG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlV2ViaG9vazogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVdlYmhvb2soY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogYXN5bmMgKGd1aWxkSWQsIGNvbW1hbmRJZCwgYmVhcmVyVG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oXG4gICAgICAgIGJvdCxcbiAgICAgICAgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyhndWlsZElkLCBjb21tYW5kSWQsIGJlYXJlclRva2VuLCBvcHRpb25zKSksXG4gICAgICApXG4gICAgfSxcbiAgICBlZGl0QXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0Qm90UHJvZmlsZTogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEJvdFByb2ZpbGUob3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWw6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRDaGFubmVsKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIGVkaXRFbW9qaTogYXN5bmMgKGd1aWxkSWQsIGlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRFbW9qaShndWlsZElkLCBpZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0Rm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Rm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGQoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCwgZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBzdGlja2VySWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRTdGlja2VyKGd1aWxkSWQsIHN0aWNrZXJJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRUZW1wbGF0ZTogYXN5bmMgKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkVGVtcGxhdGUoZ3VpbGRJZCwgdGVtcGxhdGVDb2RlLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0TWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRPcmlnaW5hbFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpKSBhcyBEaXNjb3JkTWVzc2FnZSlcbiAgICB9LFxuICAgIGVkaXRSb2xlOiBhc3luYyAoZ3VpbGRJZCwgcm9sZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Um9sZShndWlsZElkLCByb2xlSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkIH0pXG4gICAgfSxcbiAgICBlZGl0Um9sZVBvc2l0aW9uczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Um9sZVBvc2l0aW9ucyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKS5tYXAoKHJvbGUpID0+IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGVkaXRTY2hlZHVsZWRFdmVudDogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdFN0YWdlSW5zdGFuY2U6IGFzeW5jIChjaGFubmVsSWQsIHRvcGljLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0YWdlSW5zdGFuY2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFN0YWdlSW5zdGFuY2UoY2hhbm5lbElkLCB0b3BpYywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2ViaG9vazogYXN5bmMgKHdlYmhvb2tJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWJob29rKHdlYmhvb2tJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZWRpdFdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWJob29rV2l0aFRva2VuKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRXZWxjb21lU2NyZWVuOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWxjb21lU2NyZWVuKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXZWxjb21lU2NyZWVuKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdFdpZGdldFNldHRpbmdzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53aWRnZXRTZXR0aW5ncyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2lkZ2V0U2V0dGluZ3MoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBleGVjdXRlV2ViaG9vazogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJvdC5yZXN0LmV4ZWN1dGVXZWJob29rKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpXG4gICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuXG5cbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUocmVzdWx0KSBhcyBEaXNjb3JkTWVzc2FnZSlcbiAgICB9LFxuICAgIGZvbGxvd0Fubm91bmNlbWVudDogYXN5bmMgKHNvdXJjZUNoYW5uZWxJZCwgdGFyZ2V0Q2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZm9sbG93QW5ub3VuY2VtZW50KHNvdXJjZUNoYW5uZWxJZCwgdGFyZ2V0Q2hhbm5lbElkKVxuICAgIH0sXG4gICAgZ2V0QWN0aXZlVGhyZWFkczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJvdC5yZXN0LmdldEFjdGl2ZVRocmVhZHMoZ3VpbGRJZClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRocmVhZHM6IHJlc3VsdC50aHJlYWRzLm1hcCgodGhyZWFkKSA9PiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGd1aWxkSWQsIGNoYW5uZWw6IHNuYWtlbGl6ZSh0aHJlYWQpIH0pKSxcbiAgICAgICAgbWVtYmVyczogcmVzdWx0Lm1lbWJlcnMubWFwKChtZW1iZXIpID0+IGJvdC50cmFuc2Zvcm1lcnMudGhyZWFkTWVtYmVyKGJvdCwgc25ha2VsaXplKG1lbWJlcikpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uSW5mbzogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCB7IGFwcGxpY2F0aW9uOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25JbmZvKCkpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0QXBwbGljYXRpb25JbmZvOiBhc3luYyAoYm9keSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCB7IGFwcGxpY2F0aW9uOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEFwcGxpY2F0aW9uSW5mbyhib2R5KSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm86IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm8oYmVhcmVyVG9rZW4pXG4gICAgfSxcbiAgICBleGNoYW5nZVRva2VuOiBhc3luYyAoY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmV4Y2hhbmdlVG9rZW4oY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucylcbiAgICB9LFxuICAgIHJldm9rZVRva2VuOiBhc3luYyAoY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJldm9rZVRva2VuKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBhc3luYyAoZ3VpbGRJZCwgY29tbWFuZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGd1aWxkSWQsIGNvbW1hbmRJZCwgb3B0aW9ucylcbiAgICAgIGNvbnN0IHNuYWtlZFJlcyA9IHNuYWtlbGl6ZShyZXMpXG5cbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oYm90LCBzbmFrZWRSZXMpXG4gICAgfSxcbiAgICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICBnZXRBdWRpdExvZzogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRBdWRpdExvZyhndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0QXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCkpKVxuICAgIH0sXG4gICAgZ2V0QXV0b21vZFJ1bGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRBdXRvbW9kUnVsZXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEF2YWlsYWJsZVZvaWNlUmVnaW9ucygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy52b2ljZVJlZ2lvbihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEJhbjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEJhbihndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRCYW5zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEJhbnMoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldENoYW5uZWw6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsKGNoYW5uZWxJZCkpIH0pXG4gICAgfSxcbiAgICBnZXRDaGFubmVsSW52aXRlczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxJbnZpdGVzKGNoYW5uZWxJZClcbiAgICAgIC8vIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbEludml0ZXMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbHM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGdldENoYW5uZWxXZWJob29rczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsV2ViaG9va3MoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldERtQ2hhbm5lbDogYXN5bmMgKHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldERtQ2hhbm5lbCh1c2VySWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0R3JvdXBEbUNoYW5uZWw6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3JvdXBEbUNoYW5uZWwob3B0aW9ucykpIH0pXG4gICAgfSxcbiAgICBnZXRFbW9qaTogYXN5bmMgKGd1aWxkSWQsIGVtb2ppSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEVtb2ppKGd1aWxkSWQsIGVtb2ppSWQpKSlcbiAgICB9LFxuICAgIGdldEVtb2ppczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0RW1vamlzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Rm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQpKSlcbiAgICB9LFxuICAgIGdldEdhdGV3YXlCb3Q6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmdhdGV3YXlCb3QoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpKSlcbiAgICB9LFxuICAgIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQpKSlcbiAgICB9LFxuICAgIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkKGd1aWxkSWQsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0R3VpbGRzOiBhc3luYyAoYmVhcmVyVG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRHdWlsZHMoYmVhcmVyVG9rZW4sIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCwgZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCwgZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkUHJldmlldzogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRHdWlsZFByZXZpZXcoZ3VpbGRJZClcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFByZXZpZXcoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkU3RpY2tlcnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkU3RpY2tlcnMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFRlbXBsYXRlOiBhc3luYyAodGVtcGxhdGVDb2RlKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFRlbXBsYXRlKHRlbXBsYXRlQ29kZSkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRUZW1wbGF0ZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkVGVtcGxhdGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkV2ViaG9va3M6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkV2ViaG9va3MoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRJbnRlZ3JhdGlvbnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEludGVncmF0aW9ucyhndWlsZElkKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuaW50ZWdyYXRpb24oYm90LCBzbmFrZWxpemUoeyAuLi5yZXMsIGd1aWxkSWQ6IGd1aWxkSWQudG9TdHJpbmcoKSB9KSksXG4gICAgICApXG4gICAgfSxcbiAgICBnZXRJbnZpdGU6IGFzeW5jIChpbnZpdGVDb2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5pbnZpdGUoYm90LCB7IGludml0ZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEludml0ZShpbnZpdGVDb2RlLCBvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEludml0ZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEludml0ZXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmludml0ZShib3QsIHsgaW52aXRlOiBzbmFrZWxpemUocmVzKSwgc2hhcmRJZDogMCB9KSlcbiAgICB9LFxuICAgIGdldE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSkpXG4gICAgfSxcbiAgICBnZXRNZXNzYWdlczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRNZXNzYWdlcyhjaGFubmVsSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0U3RpY2tlclBhY2tzOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFN0aWNrZXJQYWNrcygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyUGFjayhib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0b2tlbikpKVxuICAgIH0sXG4gICAgZ2V0UGlubmVkTWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0UGlubmVkTWVzc2FnZXMoY2hhbm5lbElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFByaXZhdGVBcmNoaXZlZFRocmVhZHM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRQcnVuZUNvdW50OiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFBydW5lQ291bnQoZ3VpbGRJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQcnVuZUNvdW50KGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0Um9sZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFJvbGVzKGd1aWxkSWQpKS5tYXAoKHJvbGUpID0+IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZSwgZ3VpbGRJZCB9KSlcbiAgICB9LFxuICAgIGdldFNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnRzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudHMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnRVc2VyczogYXN5bmMgKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyhndWlsZElkLCBldmVudElkLCBvcHRpb25zKSkubWFwKCh1KSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdXNlcjogYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKHUudXNlcikpLFxuICAgICAgICAgIG1lbWJlcjogdS5tZW1iZXIgJiYgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUodS5tZW1iZXIpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh1LnVzZXIuaWQpKSxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9LFxuICAgIGdldFNlc3Npb25JbmZvOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5nYXRld2F5Qm90KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKCkpKVxuICAgIH0sXG4gICAgZ2V0U3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGFnZUluc3RhbmNlKGNoYW5uZWxJZCkpKVxuICAgIH0sXG4gICAgZ2V0U3RpY2tlcjogYXN5bmMgKHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTdGlja2VyKHN0aWNrZXJJZCkpKVxuICAgIH0sXG4gICAgZ2V0VGhyZWFkTWVtYmVyOiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRocmVhZE1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRUaHJlYWRNZW1iZXIoY2hhbm5lbElkLCB1c2VySWQpKSlcbiAgICB9LFxuICAgIGdldFRocmVhZE1lbWJlcnM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0VGhyZWFkTWVtYmVycyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRSZWFjdGlvbnM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0UmVhY3Rpb25zKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbiwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRVc2VyOiBhc3luYyAoaWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0VXNlcihpZCkpKVxuICAgIH0sXG4gICAgZ2V0Q3VycmVudFVzZXI6IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50VXNlcihiZWFyZXJUb2tlbikpKVxuICAgIH0sXG4gICAgZ2V0VXNlckNvbm5lY3Rpb25zOiBhc3luYyAoYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRVc2VyQ29ubmVjdGlvbnMoYmVhcmVyVG9rZW4pXG4gICAgfSxcbiAgICBnZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogYXN5bmMgKGJlYXJlclRva2VuLCBhcHBsaWNhdGlvbklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24oYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQpXG4gICAgfSxcbiAgICBnZXRWYW5pdHlVcmw6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0VmFuaXR5VXJsKGd1aWxkSWQpXG4gICAgfSxcbiAgICBnZXRWb2ljZVJlZ2lvbnM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFZvaWNlUmVnaW9ucyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VSZWdpb24oYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rOiBhc3luYyAod2ViaG9va0lkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2sod2ViaG9va0lkKSkpXG4gICAgfSxcbiAgICBnZXRXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbikpKVxuICAgIH0sXG4gICAgZ2V0V2VsY29tZVNjcmVlbjogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlbGNvbWVTY3JlZW4oYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2VsY29tZVNjcmVlbihndWlsZElkKSkpXG4gICAgfSxcbiAgICBnZXRXaWRnZXQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53aWRnZXQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2lkZ2V0KGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldFdpZGdldFNldHRpbmdzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2lkZ2V0U2V0dGluZ3MoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2lkZ2V0U2V0dGluZ3MoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgcHVibGlzaE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5wdWJsaXNoTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCkpKVxuICAgIH0sXG4gICAgc2VuZE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc2VuZE1lc3NhZ2UoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBzZW5kRm9sbG93dXBNZXNzYWdlOiBhc3luYyAodG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc2VuZEZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgc3RhcnRUaHJlYWRXaXRoTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7XG4gICAgICAgIGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zdGFydFRocmVhZFdpdGhNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBvcHRpb25zLCByZWFzb24pKSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBzdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIHN5bmNHdWlsZFRlbXBsYXRlOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3Quc3luY0d1aWxkVGVtcGxhdGUoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgdXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGNvbW1hbmRzLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LnVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMoY29tbWFuZHMsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICB1cHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jIChndWlsZElkLCBjb21tYW5kcywgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC51cHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMoZ3VpbGRJZCwgY29tbWFuZHMsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSksXG4gICAgICApXG4gICAgfSxcbiAgICBlZGl0Qm90TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEJvdE1lbWJlcihndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCwgYm90LmlkKVxuICAgIH0sXG4gICAgZWRpdE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE1lbWJlcihndWlsZElkLCB1c2VySWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBnZXRNZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkKSksIGd1aWxkSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGdldEN1cnJlbnRNZW1iZXI6IGFzeW5jIChndWlsZElkLCBiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYm90LnJlc3QuZ2V0Q3VycmVudE1lbWJlcihndWlsZElkLCBiZWFyZXJUb2tlbilcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShyZXMudXNlci5pZCkpXG4gICAgfSxcbiAgICBnZXRNZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRNZW1iZXJzKGd1aWxkSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBzbmFrZWxpemUocmVzKSwgZ3VpbGRJZCwgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocmVzLnVzZXIuaWQpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIHBydW5lTWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnBydW5lTWVtYmVycyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBzZWFyY2hNZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3Quc2VhcmNoTWVtYmVycyhndWlsZElkLCBxdWVyeSwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShyZXMudXNlci5pZCkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgYnVsa0Jhbk1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0LmJ1bGtCYW5NZW1iZXJzKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbilcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYmFubmVkVXNlcnM6IHJlcy5iYW5uZWRVc2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKSxcbiAgICAgICAgZmFpbGVkVXNlcnM6IHJlcy5mYWlsZWRVc2Vycy5tYXAoKHgpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHgpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIEFsbCB1c2VsZXNzIHZvaWQgcmV0dXJuIGZ1bmN0aW9ucyBoZXJlXG4gICAgYWRkUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRSZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBhZGRSZWFjdGlvbnM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb25zLCBvcmRlcmVkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkUmVhY3Rpb25zKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbnMsIG9yZGVyZWQpXG4gICAgfSxcbiAgICBhZGRSb2xlOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFJvbGUoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGFkZFRocmVhZE1lbWJlcjogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkVGhyZWFkTWVtYmVyKGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgYWRkRG1SZWNpcGllbnQ6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZERtUmVjaXBpZW50KGNoYW5uZWxJZCwgdXNlcklkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgYWRkR3VpbGRNZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRHdWlsZE1lbWJlcihndWlsZElkLCB1c2VySWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBkZWxldGVBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIHJ1bGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQXV0b21vZFJ1bGUoZ3VpbGRJZCwgcnVsZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVDaGFubmVsKGNoYW5uZWxJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlQ2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZTogYXN5bmMgKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGUoY2hhbm5lbElkLCBvdmVyd3JpdGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlRW1vamk6IGFzeW5jIChndWlsZElkLCBpZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlRW1vamkoZ3VpbGRJZCwgaWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVGb2xsb3d1cE1lc3NhZ2UodG9rZW4sIG1lc3NhZ2VJZClcbiAgICB9LFxuICAgIGRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZChndWlsZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBzdGlja2VySWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCB0ZW1wbGF0ZUNvZGUpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSlcbiAgICB9LFxuICAgIGRlbGV0ZUludGVncmF0aW9uOiBhc3luYyAoZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlSW50ZWdyYXRpb24oZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlSW52aXRlOiBhc3luYyAoaW52aXRlQ29kZSwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlSW52aXRlKGludml0ZUNvZGUsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlTWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZHMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU1lc3NhZ2VzKGNoYW5uZWxJZCwgbWVzc2FnZUlkcywgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodG9rZW4pXG4gICAgfSxcbiAgICBkZWxldGVPd25SZWFjdGlvbjogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU93blJlYWN0aW9uKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVJlYWN0aW9uc0FsbDogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUmVhY3Rpb25zQWxsKGNoYW5uZWxJZCwgbWVzc2FnZUlkKVxuICAgIH0sXG4gICAgZGVsZXRlUmVhY3Rpb25zRW1vamk6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSZWFjdGlvbnNFbW9qaShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSb2xlKGd1aWxkSWQsIHJvbGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlU2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBldmVudElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlU2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZClcbiAgICB9LFxuICAgIGRlbGV0ZVN0YWdlSW5zdGFuY2U6IGFzeW5jIChjaGFubmVsSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVN0YWdlSW5zdGFuY2UoY2hhbm5lbElkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVVc2VyUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgdXNlcklkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVVzZXJSZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgdXNlcklkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2sod2ViaG9va0lkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlV2ViaG9va1dpdGhUb2tlbih3ZWJob29rSWQsIHRva2VuKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXMoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBlZGl0Q2hhbm5lbFBvc2l0aW9uczogYXN5bmMgKGd1aWxkSWQsIGNoYW5uZWxQb3NpdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbFBvc2l0aW9ucyhndWlsZElkLCBjaGFubmVsUG9zaXRpb25zKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkTWZhTGV2ZWw6IGFzeW5jIChndWlsZElkLCBtZmFMZXZlbCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkTWZhTGV2ZWwoZ3VpbGRJZCwgbWZhTGV2ZWwsIHJlYXNvbilcbiAgICB9LFxuICAgIGVkaXRPd25Wb2ljZVN0YXRlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRPd25Wb2ljZVN0YXRlKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0VXNlclZvaWNlU3RhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdFVzZXJWb2ljZVN0YXRlKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IGFzeW5jIChiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbihiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGpvaW5UaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5qb2luVGhyZWFkKGNoYW5uZWxJZClcbiAgICB9LFxuICAgIGxlYXZlR3VpbGQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QubGVhdmVHdWlsZChndWlsZElkKVxuICAgIH0sXG4gICAgbGVhdmVUaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5sZWF2ZVRocmVhZChjaGFubmVsSWQpXG4gICAgfSxcbiAgICByZW1vdmVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZVJvbGUoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIHJlbW92ZVRocmVhZE1lbWJlcjogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucmVtb3ZlVGhyZWFkTWVtYmVyKGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgcmVtb3ZlRG1SZWNpcGllbnQ6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZURtUmVjaXBpZW50KGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgc2VuZEludGVyYWN0aW9uUmVzcG9uc2U6IGFzeW5jIChpbnRlcmFjdGlvbklkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKGludGVyYWN0aW9uSWQsIHRva2VuLCBvcHRpb25zKVxuICAgIH0sXG4gICAgdHJpZ2dlclR5cGluZ0luZGljYXRvcjogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnRyaWdnZXJUeXBpbmdJbmRpY2F0b3IoY2hhbm5lbElkKVxuICAgIH0sXG4gICAgYmFuTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5iYW5NZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBraWNrTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5raWNrTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgcGluTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5waW5NZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICB1bmJhbk1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudW5iYW5NZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCByZWFzb24pXG4gICAgfSxcbiAgICB1bnBpbk1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudW5waW5NZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBnZXRHdWlsZE9uYm9hcmRpbmc6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmcoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRPbmJvYXJkaW5nKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZE9uYm9hcmRpbmc6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRPbmJvYXJkaW5nKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgbGlzdEVudGl0bGVtZW50czogYXN5bmMgKGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QubGlzdEVudGl0bGVtZW50cyhhcHBsaWNhdGlvbklkLCBvcHRpb25zKSkubWFwKChlbnRpdGxlbWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbnRpdGxlbWVudChib3QsIHNuYWtlbGl6ZShlbnRpdGxlbWVudCkpKVxuICAgIH0sXG4gICAgY3JlYXRlVGVzdEVudGl0bGVtZW50OiBhc3luYyAoYXBwbGljYXRpb25JZCwgYm9keSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW50aXRsZW1lbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlVGVzdEVudGl0bGVtZW50KGFwcGxpY2F0aW9uSWQsIGJvZHkpKSBhcyBEaXNjb3JkRW50aXRsZW1lbnQpXG4gICAgfSxcbiAgICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICBhd2FpdCBib3QucmVzdC5kZWxldGVUZXN0RW50aXRsZW1lbnQoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZClcbiAgICB9LFxuICAgIGxpc3RTa3VzOiBhc3luYyAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5saXN0U2t1cyhhcHBsaWNhdGlvbklkKSkubWFwKChza3UpID0+IGJvdC50cmFuc2Zvcm1lcnMuc2t1KGJvdCwgc25ha2VsaXplKHNrdSkpKVxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3RIZWxwZXJzIHtcbiAgY3JlYXRlQXV0b21vZFJ1bGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGNyZWF0ZUNoYW5uZWw6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkQ2hhbm5lbCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGNyZWF0ZUVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGNyZWF0ZUZvcnVtVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUZvcnVtUG9zdFdpdGhNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLCBvcHRpb25zPzogQ3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGNyZWF0ZUd1aWxkOiAob3B0aW9uczogQ3JlYXRlR3VpbGQpID0+IFByb21pc2U8R3VpbGQ+XG4gIGNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoXG4gICAgY29tbWFuZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogQ3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZTogKHRlbXBsYXRlQ29kZTogc3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSkgPT4gUHJvbWlzZTxHdWlsZD5cbiAgY3JlYXRlR3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZFN0aWNrZXJPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgY3JlYXRlR3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlVGVtcGxhdGUpID0+IFByb21pc2U8VGVtcGxhdGU+XG4gIGNyZWF0ZUludml0ZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogQ3JlYXRlQ2hhbm5lbEludml0ZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGU+XG4gIGNyZWF0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkUm9sZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFJvbGU+XG4gIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVTY2hlZHVsZWRFdmVudCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFNjaGVkdWxlZEV2ZW50PlxuICBjcmVhdGVTdGFnZUluc3RhbmNlOiAob3B0aW9uczogQ3JlYXRlU3RhZ2VJbnN0YW5jZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGNyZWF0ZVdlYmhvb2s6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlV2ViaG9vaywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kSWQ6IEJpZ1N0cmluZyxcbiAgICBiZWFyZXJUb2tlbjogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zW10sXG4gICkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uPlxuICBlZGl0QXV0b21vZFJ1bGU6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgcnVsZUlkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogUGFydGlhbDxFZGl0QXV0b01vZGVyYXRpb25SdWxlT3B0aW9ucz4sXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICApID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBlZGl0Qm90UHJvZmlsZTogKG9wdGlvbnM6IHsgdXNlcm5hbWU/OiBzdHJpbmc7IGJvdEF2YXRhclVSTD86IHN0cmluZyB8IG51bGwgfSkgPT4gUHJvbWlzZTxVc2VyPlxuICBlZGl0Q2hhbm5lbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlDaGFubmVsLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZWRpdEVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBpZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGVkaXRGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBlZGl0R3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8R3VpbGQ+XG4gIGVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGVkaXRHdWlsZFN0aWNrZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHN0aWNrZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBBdExlYXN0T25lPEVkaXRHdWlsZFN0aWNrZXJPcHRpb25zPiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGVkaXRHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB0ZW1wbGF0ZUNvZGU6IHN0cmluZywgb3B0aW9uczogTW9kaWZ5R3VpbGRUZW1wbGF0ZSkgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZWRpdE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRNZXNzYWdlKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6ICh0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZTogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0Um9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRHdWlsZFJvbGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxSb2xlPlxuICBlZGl0Um9sZVBvc2l0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5Um9sZVBvc2l0aW9uc1tdLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Um9sZVtdPlxuICBlZGl0U2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZywgb3B0aW9uczogUGFydGlhbDxFZGl0U2NoZWR1bGVkRXZlbnQ+LCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U2NoZWR1bGVkRXZlbnQ+XG4gIGVkaXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHRvcGljOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTdGFnZUluc3RhbmNlPlxuICBlZGl0V2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlXZWJob29rLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZWRpdFdlYmhvb2tNZXNzYWdlOiAoXG4gICAgd2ViaG9va0lkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBtZXNzYWdlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRXZWJob29rV2l0aFRva2VuOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IE9taXQ8TW9kaWZ5V2ViaG9vaywgJ2NoYW5uZWxJZCc+KSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRXZWxjb21lU2NyZWVuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8V2VsY29tZVNjcmVlbj5cbiAgZWRpdFdpZGdldFNldHRpbmdzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0U2V0dGluZ3M+XG4gIGVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogKFxuICAgIGJlYXJlclRva2VuOiBzdHJpbmcsXG4gICAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uLFxuICApID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+XG4gIGV4ZWN1dGVXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWN1dGVXZWJob29rKSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB1bmRlZmluZWQ+XG4gIGZvbGxvd0Fubm91bmNlbWVudDogKHNvdXJjZUNoYW5uZWxJZDogQmlnU3RyaW5nLCB0YXJnZXRDaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkRm9sbG93ZWRDaGFubmVsPlxuICBnZXRBY3RpdmVUaHJlYWRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHsgdGhyZWFkczogQ2hhbm5lbFtdOyBtZW1iZXJzOiBUaHJlYWRNZW1iZXJbXSB9PlxuICBnZXRBcHBsaWNhdGlvbkluZm86ICgpID0+IFByb21pc2U8QXBwbGljYXRpb24+XG4gIGVkaXRBcHBsaWNhdGlvbkluZm86IChib2R5OiBFZGl0QXBwbGljYXRpb24pID0+IFByb21pc2U8QXBwbGljYXRpb24+XG4gIGdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm86IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbj5cbiAgZXhjaGFuZ2VUb2tlbjogKGNsaWVudElkOiBCaWdTdHJpbmcsIGNsaWVudFNlY3JldDogc3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkVG9rZW5FeGNoYW5nZSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQWNjZXNzVG9rZW5SZXNwb25zZT5cbiAgcmV2b2tlVG9rZW46IChjbGllbnRJZDogQmlnU3RyaW5nLCBjbGllbnRTZWNyZXQ6IHN0cmluZywgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZFRva2VuUmV2b2NhdGlvbikgPT4gUHJvbWlzZTx2b2lkPlxuICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGNvbW1hbmRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24+XG4gIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbk9wdGlvbnMpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbltdPlxuICBnZXRBdWRpdExvZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkQXVkaXRMb2cpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nPlxuICBnZXRBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBnZXRBdXRvbW9kUnVsZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlW10+XG4gIGdldEF2YWlsYWJsZVZvaWNlUmVnaW9uczogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkVm9pY2VSZWdpb25bXT5cbiAgZ2V0QmFuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuPlxuICBnZXRCYW5zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QmFucykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuW10+XG4gIGdldENoYW5uZWw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRDaGFubmVsSW52aXRlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YVtdPlxuICBnZXRDaGFubmVsczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsW10+XG4gIGdldENoYW5uZWxXZWJob29rczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2tbXT5cbiAgZ2V0RG1DaGFubmVsOiAodXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZ2V0R3JvdXBEbUNoYW5uZWw6IChvcHRpb25zOiBHZXRHcm91cERtT3B0aW9ucykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZW1vamlJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEVtb2ppPlxuICBnZXRFbW9qaXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8RW1vamlbXT5cbiAgZ2V0Rm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0R2F0ZXdheUJvdDogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBnZXRHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgY291bnRzPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPEd1aWxkPlxuICBnZXRHdWlsZHM6IChiZWFyZXJUb2tlbjogc3RyaW5nLCBvcHRpb25zPzogR2V0VXNlckd1aWxkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUGFydGlhbEd1aWxkW10+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgZ2V0R3VpbGRQcmV2aWV3OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRHdWlsZFByZXZpZXc+XG4gIGdldEd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgZ2V0R3VpbGRTdGlja2VyczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyW10+XG4gIGdldEd1aWxkVGVtcGxhdGU6ICh0ZW1wbGF0ZUNvZGU6IHN0cmluZykgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZ2V0R3VpbGRUZW1wbGF0ZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGVtcGxhdGVbXT5cbiAgZ2V0R3VpbGRXZWJob29rczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWJob29rW10+XG4gIGdldEludGVncmF0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxJbnRlZ3JhdGlvbltdPlxuICBnZXRJbnZpdGU6IChpbnZpdGVDb2RlOiBzdHJpbmcsIG9wdGlvbnM/OiBHZXRJbnZpdGUpID0+IFByb21pc2U8SW52aXRlPlxuICBnZXRJbnZpdGVzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEludml0ZVtdPlxuICBnZXRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldE1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRNZXNzYWdlc09wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICBnZXRTdGlja2VyUGFja3M6ICgpID0+IFByb21pc2U8U3RpY2tlclBhY2tbXT5cbiAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBnZXRQaW5uZWRNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2VbXT5cbiAgZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPlxuICBnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFBydW5lQ291bnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRHdWlsZFBydW5lQ291bnRRdWVyeSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUHJ1bmVkQ291bnQ+XG4gIGdldFB1YmxpY0FyY2hpdmVkVGhyZWFkczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogTGlzdEFyY2hpdmVkVGhyZWFkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXJjaGl2ZWRUaHJlYWRzPlxuICBnZXRSb2xlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxSb2xlW10+XG4gIGdldFNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBldmVudElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiB7IHdpdGhVc2VyQ291bnQ/OiBib29sZWFuIH0pID0+IFByb21pc2U8U2NoZWR1bGVkRXZlbnQ+XG4gIGdldFNjaGVkdWxlZEV2ZW50czogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldFNjaGVkdWxlZEV2ZW50cykgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudFtdPlxuICBnZXRTY2hlZHVsZWRFdmVudFVzZXJzOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGV2ZW50SWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogR2V0U2NoZWR1bGVkRXZlbnRVc2VycyxcbiAgKSA9PiBQcm9taXNlPEFycmF5PHsgdXNlcjogVXNlcjsgbWVtYmVyPzogTWVtYmVyIH0+PlxuICBnZXRTZXNzaW9uSW5mbzogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0U3RhZ2VJbnN0YW5jZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGdldFN0aWNrZXI6IChzdGlja2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyPlxuICBnZXRUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGhyZWFkTWVtYmVyPlxuICBnZXRUaHJlYWRNZW1iZXJzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGhyZWFkTWVtYmVyW10+XG4gIGdldFJlYWN0aW9uczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZywgb3B0aW9ucz86IEdldFJlYWN0aW9ucykgPT4gUHJvbWlzZTxVc2VyW10+XG4gIGdldFVzZXI6IChpZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFVzZXI+XG4gIGdldEN1cnJlbnRVc2VyOiAoYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxVc2VyPlxuICBnZXRVc2VyQ29ubmVjdGlvbnM6IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRDb25uZWN0aW9uW10+XG4gIGdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiAoYmVhcmVyVG9rZW46IHN0cmluZywgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uPlxuICBnZXRWYW5pdHlVcmw6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZFZhbml0eVVybD5cbiAgZ2V0Vm9pY2VSZWdpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRWb2ljZVJlZ2lvbltdPlxuICBnZXRXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZ2V0V2ViaG9va01lc3NhZ2U6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRXZWJob29rTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0V2ViaG9va1dpdGhUb2tlbjogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGdldFdlbGNvbWVTY3JlZW46IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2VsY29tZVNjcmVlbj5cbiAgZ2V0V2lkZ2V0OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0PlxuICBnZXRXaWRnZXRTZXR0aW5nczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxHdWlsZFdpZGdldFNldHRpbmdzPlxuICBwdWJsaXNoTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzZW5kTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzZW5kRm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgc3RhcnRUaHJlYWRXaXRoTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogU3RhcnRUaHJlYWRXaXRoTWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIHN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogU3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIHN5bmNHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICB1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoXG4gICAgY29tbWFuZHM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFtdLFxuICAgIG9wdGlvbnM/OiBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIHVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kW10sXG4gICAgb3B0aW9ucz86IFVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBlZGl0Qm90TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0Qm90TWVtYmVyT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZWRpdE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkTWVtYmVyLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBnZXRNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZ2V0Q3VycmVudE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxNZW1iZXI+XG4gIGdldE1lbWJlcnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IExpc3RHdWlsZE1lbWJlcnMpID0+IFByb21pc2U8TWVtYmVyW10+XG4gIHBydW5lTWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQmVnaW5HdWlsZFBydW5lLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8eyBwcnVuZWQ6IG51bWJlciB8IG51bGwgfT5cbiAgc2VhcmNoTWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcXVlcnk6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8U2VhcmNoTWVtYmVycywgJ3F1ZXJ5Jz4pID0+IFByb21pc2U8TWVtYmVyW10+XG4gIGJ1bGtCYW5NZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEJ1bGtCYW4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx7IGJhbm5lZFVzZXJzOiBiaWdpbnRbXTsgZmFpbGVkVXNlcnM6IGJpZ2ludFtdIH0+XG4gIC8vIGZ1bmN0aW9ucyByZXR1cm4gVm9pZCBzbyBkb250IG5lZWQgYW55IHNwZWNpYWwgaGFuZGxpbmdcbiAgYWRkUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkUmVhY3Rpb25zOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbnM6IHN0cmluZ1tdLCBvcmRlcmVkPzogYm9vbGVhbikgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRUaHJlYWRNZW1iZXI6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYWRkRG1SZWNpcGllbnQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEFkZERtUmVjaXBpZW50T3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRHdWlsZE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEFkZEd1aWxkTWVtYmVyT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVDaGFubmVsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG92ZXJ3cml0ZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgaWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUZvbGxvd3VwTWVzc2FnZTogKHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZFN0aWNrZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHN0aWNrZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdGVtcGxhdGVDb2RlOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlSW50ZWdyYXRpb246IChndWlsZElkOiBCaWdTdHJpbmcsIGludGVncmF0aW9uSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUludml0ZTogKGludml0ZUNvZGU6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVNZXNzYWdlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWRzOiBCaWdTdHJpbmdbXSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogKHRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlT3duUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUmVhY3Rpb25zQWxsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJlYWN0aW9uc0Vtb2ppOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlU2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVVc2VyUmVhY3Rpb246IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2tNZXNzYWdlOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogRGVsZXRlV2ViaG9va01lc3NhZ2VPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVdlYmhvb2tXaXRoVG9rZW46ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRDaGFubmVsUG9zaXRpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBjaGFubmVsUG9zaXRpb25zOiBNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnNbXSkgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0R3VpbGRNZmFMZXZlbDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgbWZhTGV2ZWw6IE1mYUxldmVscywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRPd25Wb2ljZVN0YXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0T3duVm9pY2VTdGF0ZSkgPT4gUHJvbWlzZTx2b2lkPlxuICBlZGl0VXNlclZvaWNlU3RhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRVc2VyVm9pY2VTdGF0ZSkgPT4gUHJvbWlzZTx2b2lkPlxuICBqb2luVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgbGVhdmVHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsZWF2ZVRocmVhZDogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZVRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICByZW1vdmVEbVJlY2lwaWVudDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBzZW5kSW50ZXJhY3Rpb25SZXNwb25zZTogKGludGVyYWN0aW9uSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25SZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPlxuICB0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgYmFuTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IENyZWF0ZUd1aWxkQmFuLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAga2lja01lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBwaW5NZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgdW5iYW5NZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgdW5waW5NZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZ2V0R3VpbGRPbmJvYXJkaW5nOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkT25ib2FyZGluZz5cbiAgZWRpdEd1aWxkT25ib2FyZGluZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdEd1aWxkT25ib2FyZGluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkT25ib2FyZGluZz5cbiAgbGlzdEVudGl0bGVtZW50czogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEVudGl0bGVtZW50cykgPT4gUHJvbWlzZTxFbnRpdGxlbWVudFtdPlxuICBjcmVhdGVUZXN0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGJvZHk6IENyZWF0ZUVudGl0bGVtZW50KSA9PiBQcm9taXNlPFBhcnRpYWw8RW50aXRsZW1lbnQ+PlxuICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcsIGVudGl0bGVtZW50SWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsaXN0U2t1czogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTa3VbXT5cbn1cbiJdLCJuYW1lcyI6WyJzbmFrZWxpemUiLCJjcmVhdGVCb3RIZWxwZXJzIiwiYm90IiwiY3JlYXRlQXV0b21vZFJ1bGUiLCJndWlsZElkIiwib3B0aW9ucyIsInJlYXNvbiIsInRyYW5zZm9ybWVycyIsImF1dG9tb2RSdWxlIiwicmVzdCIsImNyZWF0ZUNoYW5uZWwiLCJjaGFubmVsIiwiY3JlYXRlRW1vamkiLCJlbW9qaSIsImNyZWF0ZUZvcnVtVGhyZWFkIiwiY2hhbm5lbElkIiwiY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiY29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImNyZWF0ZUd1aWxkIiwiZ3VpbGQiLCJzaGFyZElkIiwiY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSIsInRlbXBsYXRlQ29kZSIsImNyZWF0ZUd1aWxkU3RpY2tlciIsInN0aWNrZXIiLCJjcmVhdGVHdWlsZFRlbXBsYXRlIiwidGVtcGxhdGUiLCJjcmVhdGVJbnZpdGUiLCJjcmVhdGVSb2xlIiwicm9sZSIsImNyZWF0ZVNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdGVTdGFnZUluc3RhbmNlIiwic3RhZ2VJbnN0YW5jZSIsImNyZWF0ZVdlYmhvb2siLCJ3ZWJob29rIiwiZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiY29tbWFuZElkIiwiYmVhcmVyVG9rZW4iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiZWRpdEF1dG9tb2RSdWxlIiwicnVsZUlkIiwiZWRpdEJvdFByb2ZpbGUiLCJ1c2VyIiwiZWRpdENoYW5uZWwiLCJlZGl0RW1vamkiLCJpZCIsImVkaXRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIm1lc3NhZ2VJZCIsIm1lc3NhZ2UiLCJlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZWRpdEd1aWxkIiwiZWRpdEd1aWxkQXBwbGljYXRpb25Db21tYW5kIiwiZWRpdEd1aWxkU3RpY2tlciIsInN0aWNrZXJJZCIsImVkaXRHdWlsZFRlbXBsYXRlIiwiZWRpdE1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2UiLCJ3ZWJob29rSWQiLCJlZGl0Um9sZSIsInJvbGVJZCIsImVkaXRSb2xlUG9zaXRpb25zIiwibWFwIiwiZWRpdFNjaGVkdWxlZEV2ZW50IiwiZXZlbnRJZCIsImVkaXRTdGFnZUluc3RhbmNlIiwidG9waWMiLCJlZGl0V2ViaG9vayIsImVkaXRXZWJob29rTWVzc2FnZSIsImVkaXRXZWJob29rV2l0aFRva2VuIiwiZWRpdFdlbGNvbWVTY3JlZW4iLCJ3ZWxjb21lU2NyZWVuIiwiZWRpdFdpZGdldFNldHRpbmdzIiwid2lkZ2V0U2V0dGluZ3MiLCJleGVjdXRlV2ViaG9vayIsInJlc3VsdCIsImZvbGxvd0Fubm91bmNlbWVudCIsInNvdXJjZUNoYW5uZWxJZCIsInRhcmdldENoYW5uZWxJZCIsImdldEFjdGl2ZVRocmVhZHMiLCJ0aHJlYWRzIiwidGhyZWFkIiwibWVtYmVycyIsIm1lbWJlciIsInRocmVhZE1lbWJlciIsImdldEFwcGxpY2F0aW9uSW5mbyIsImFwcGxpY2F0aW9uIiwiZWRpdEFwcGxpY2F0aW9uSW5mbyIsImJvZHkiLCJnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvIiwiZXhjaGFuZ2VUb2tlbiIsImNsaWVudElkIiwiY2xpZW50U2VjcmV0IiwicmV2b2tlVG9rZW4iLCJnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwicmVzIiwic25ha2VkUmVzIiwiZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJnZXRBdWRpdExvZyIsImdldEF1dG9tb2RSdWxlIiwiZ2V0QXV0b21vZFJ1bGVzIiwiZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zIiwidm9pY2VSZWdpb24iLCJnZXRCYW4iLCJ1c2VySWQiLCJnZXRCYW5zIiwiZ2V0Q2hhbm5lbCIsImdldENoYW5uZWxJbnZpdGVzIiwiZ2V0Q2hhbm5lbHMiLCJnZXRDaGFubmVsV2ViaG9va3MiLCJnZXREbUNoYW5uZWwiLCJnZXRHcm91cERtQ2hhbm5lbCIsImdldEVtb2ppIiwiZW1vamlJZCIsImdldEVtb2ppcyIsImdldEZvbGxvd3VwTWVzc2FnZSIsImdldEdhdGV3YXlCb3QiLCJnYXRld2F5Qm90IiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyIsImdldEd1aWxkIiwiZ2V0R3VpbGRzIiwiZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJnZXRHdWlsZFByZXZpZXciLCJnZXRHdWlsZFN0aWNrZXIiLCJnZXRHdWlsZFN0aWNrZXJzIiwiZ2V0R3VpbGRUZW1wbGF0ZSIsImdldEd1aWxkVGVtcGxhdGVzIiwiZ2V0R3VpbGRXZWJob29rcyIsImdldEludGVncmF0aW9ucyIsImludGVncmF0aW9uIiwidG9TdHJpbmciLCJnZXRJbnZpdGUiLCJpbnZpdGVDb2RlIiwiaW52aXRlIiwiZ2V0SW52aXRlcyIsImdldE1lc3NhZ2UiLCJnZXRNZXNzYWdlcyIsImdldFN0aWNrZXJQYWNrcyIsInN0aWNrZXJQYWNrIiwiZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZ2V0UGlubmVkTWVzc2FnZXMiLCJnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzIiwiZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyIsImdldFBydW5lQ291bnQiLCJnZXRQdWJsaWNBcmNoaXZlZFRocmVhZHMiLCJnZXRSb2xlcyIsImdldFNjaGVkdWxlZEV2ZW50IiwiZ2V0U2NoZWR1bGVkRXZlbnRzIiwiZ2V0U2NoZWR1bGVkRXZlbnRVc2VycyIsInUiLCJzbm93Zmxha2UiLCJnZXRTZXNzaW9uSW5mbyIsImdldFN0YWdlSW5zdGFuY2UiLCJnZXRTdGlja2VyIiwiZ2V0VGhyZWFkTWVtYmVyIiwiZ2V0VGhyZWFkTWVtYmVycyIsImdldFJlYWN0aW9ucyIsInJlYWN0aW9uIiwiZ2V0VXNlciIsImdldEN1cnJlbnRVc2VyIiwiZ2V0VXNlckNvbm5lY3Rpb25zIiwiZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24iLCJhcHBsaWNhdGlvbklkIiwiZ2V0VmFuaXR5VXJsIiwiZ2V0Vm9pY2VSZWdpb25zIiwiZ2V0V2ViaG9vayIsImdldFdlYmhvb2tNZXNzYWdlIiwiZ2V0V2ViaG9va1dpdGhUb2tlbiIsImdldFdlbGNvbWVTY3JlZW4iLCJnZXRXaWRnZXQiLCJ3aWRnZXQiLCJnZXRXaWRnZXRTZXR0aW5ncyIsInB1Ymxpc2hNZXNzYWdlIiwic2VuZE1lc3NhZ2UiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwic3RhcnRUaHJlYWRXaXRoTWVzc2FnZSIsInN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2UiLCJzeW5jR3VpbGRUZW1wbGF0ZSIsInVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJjb21tYW5kcyIsInVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyIsImVkaXRCb3RNZW1iZXIiLCJlZGl0TWVtYmVyIiwiZ2V0TWVtYmVyIiwiZ2V0Q3VycmVudE1lbWJlciIsImdldE1lbWJlcnMiLCJwcnVuZU1lbWJlcnMiLCJzZWFyY2hNZW1iZXJzIiwicXVlcnkiLCJidWxrQmFuTWVtYmVycyIsImJhbm5lZFVzZXJzIiwieCIsImZhaWxlZFVzZXJzIiwiYWRkUmVhY3Rpb24iLCJhZGRSZWFjdGlvbnMiLCJyZWFjdGlvbnMiLCJvcmRlcmVkIiwiYWRkUm9sZSIsImFkZFRocmVhZE1lbWJlciIsImFkZERtUmVjaXBpZW50IiwiYWRkR3VpbGRNZW1iZXIiLCJkZWxldGVBdXRvbW9kUnVsZSIsImRlbGV0ZUNoYW5uZWwiLCJkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlIiwib3ZlcndyaXRlSWQiLCJkZWxldGVFbW9qaSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZCIsImRlbGV0ZUd1aWxkIiwiZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJkZWxldGVHdWlsZFN0aWNrZXIiLCJkZWxldGVHdWlsZFRlbXBsYXRlIiwiZGVsZXRlSW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiZGVsZXRlSW52aXRlIiwiZGVsZXRlTWVzc2FnZSIsImRlbGV0ZU1lc3NhZ2VzIiwibWVzc2FnZUlkcyIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlbGV0ZU93blJlYWN0aW9uIiwiZGVsZXRlUmVhY3Rpb25zQWxsIiwiZGVsZXRlUmVhY3Rpb25zRW1vamkiLCJkZWxldGVSb2xlIiwiZGVsZXRlU2NoZWR1bGVkRXZlbnQiLCJkZWxldGVTdGFnZUluc3RhbmNlIiwiZGVsZXRlVXNlclJlYWN0aW9uIiwiZGVsZXRlV2ViaG9vayIsImRlbGV0ZVdlYmhvb2tNZXNzYWdlIiwiZGVsZXRlV2ViaG9va1dpdGhUb2tlbiIsImVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlcyIsImVkaXRDaGFubmVsUG9zaXRpb25zIiwiY2hhbm5lbFBvc2l0aW9ucyIsImVkaXRHdWlsZE1mYUxldmVsIiwibWZhTGV2ZWwiLCJlZGl0T3duVm9pY2VTdGF0ZSIsImVkaXRVc2VyVm9pY2VTdGF0ZSIsImVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImpvaW5UaHJlYWQiLCJsZWF2ZUd1aWxkIiwibGVhdmVUaHJlYWQiLCJyZW1vdmVSb2xlIiwicmVtb3ZlVGhyZWFkTWVtYmVyIiwicmVtb3ZlRG1SZWNpcGllbnQiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImludGVyYWN0aW9uSWQiLCJ0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yIiwiYmFuTWVtYmVyIiwia2lja01lbWJlciIsInBpbk1lc3NhZ2UiLCJ1bmJhbk1lbWJlciIsInVucGluTWVzc2FnZSIsImdldEd1aWxkT25ib2FyZGluZyIsImd1aWxkT25ib2FyZGluZyIsImVkaXRHdWlsZE9uYm9hcmRpbmciLCJsaXN0RW50aXRsZW1lbnRzIiwiZW50aXRsZW1lbnQiLCJjcmVhdGVUZXN0RW50aXRsZW1lbnQiLCJkZWxldGVUZXN0RW50aXRsZW1lbnQiLCJlbnRpdGxlbWVudElkIiwibGlzdFNrdXMiLCJza3UiXSwibWFwcGluZ3MiOiJBQThGQSxTQUFTQSxTQUFTLFFBQVEsb0JBQW1CO0FBNEI3QyxPQUFPLFNBQVNDLGlCQUFpQkMsR0FBUTtJQUN2QyxPQUFPO1FBQ0xDLG1CQUFtQixPQUFPQyxTQUFTQyxTQUFTQztZQUMxQyxPQUFPSixJQUFJSyxZQUFZLENBQUNDLFdBQVcsQ0FBQ04sS0FBS0YsVUFBVSxNQUFNRSxJQUFJTyxJQUFJLENBQUNOLGlCQUFpQixDQUFDQyxTQUFTQyxTQUFTQztRQUN4RztRQUNBSSxlQUFlLE9BQU9OLFNBQVNDLFNBQVNDO1lBQ3RDLE9BQU9KLElBQUlLLFlBQVksQ0FBQ0ksT0FBTyxDQUFDVCxLQUFLO2dCQUFFUyxTQUFTWCxVQUFVLE1B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
|
|
662
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlV2ViaG9vayB9IGZyb20gJ0BkaXNjb3JkZW5vL3Jlc3QnXG5pbXBvcnQgdHlwZSB7XG4gIEFkZERtUmVjaXBpZW50T3B0aW9ucyxcbiAgQWRkR3VpbGRNZW1iZXJPcHRpb25zLFxuICBBdExlYXN0T25lLFxuICBCZWdpbkd1aWxkUHJ1bmUsXG4gIEJpZ1N0cmluZyxcbiAgQ2FtZWxpemVkRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2UsXG4gIENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgQ2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24sXG4gIENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHMsXG4gIENhbWVsaXplZERpc2NvcmRBdWRpdExvZyxcbiAgQ2FtZWxpemVkRGlzY29yZEJhbixcbiAgQ2FtZWxpemVkRGlzY29yZENvbm5lY3Rpb24sXG4gIENhbWVsaXplZERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEZvbGxvd2VkQ2hhbm5lbCxcbiAgQ2FtZWxpemVkRGlzY29yZEdldEdhdGV3YXlCb3QsXG4gIENhbWVsaXplZERpc2NvcmRHdWlsZFByZXZpZXcsXG4gIENhbWVsaXplZERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBDYW1lbGl6ZWREaXNjb3JkSW52aXRlLFxuICBDYW1lbGl6ZWREaXNjb3JkSW52aXRlTWV0YWRhdGEsXG4gIENhbWVsaXplZERpc2NvcmRNb2RpZnlHdWlsZFdlbGNvbWVTY3JlZW4sXG4gIENhbWVsaXplZERpc2NvcmRQcnVuZWRDb3VudCxcbiAgQ2FtZWxpemVkRGlzY29yZFRva2VuRXhjaGFuZ2UsXG4gIENhbWVsaXplZERpc2NvcmRUb2tlblJldm9jYXRpb24sXG4gIENhbWVsaXplZERpc2NvcmRWYW5pdHlVcmwsXG4gIENhbWVsaXplZERpc2NvcmRWb2ljZVJlZ2lvbixcbiAgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICBDcmVhdGVBcHBsaWNhdGlvbkVtb2ppLFxuICBDcmVhdGVBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLFxuICBDcmVhdGVDaGFubmVsSW52aXRlLFxuICBDcmVhdGVFbnRpdGxlbWVudCxcbiAgQ3JlYXRlRm9ydW1Qb3N0V2l0aE1lc3NhZ2UsXG4gIENyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIENyZWF0ZUd1aWxkLFxuICBDcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gIENyZWF0ZUd1aWxkQmFuLFxuICBDcmVhdGVHdWlsZEJ1bGtCYW4sXG4gIENyZWF0ZUd1aWxkQ2hhbm5lbCxcbiAgQ3JlYXRlR3VpbGRFbW9qaSxcbiAgQ3JlYXRlR3VpbGRGcm9tVGVtcGxhdGUsXG4gIENyZWF0ZUd1aWxkUm9sZSxcbiAgQ3JlYXRlR3VpbGRTdGlja2VyT3B0aW9ucyxcbiAgQ3JlYXRlTWVzc2FnZU9wdGlvbnMsXG4gIENyZWF0ZVNjaGVkdWxlZEV2ZW50LFxuICBDcmVhdGVTdGFnZUluc3RhbmNlLFxuICBDcmVhdGVUZW1wbGF0ZSxcbiAgRGVsZXRlV2ViaG9va01lc3NhZ2VPcHRpb25zLFxuICBEaXNjb3JkRW50aXRsZW1lbnQsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBFZGl0QXBwbGljYXRpb24sXG4gIEVkaXRBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zLFxuICBFZGl0Qm90TWVtYmVyT3B0aW9ucyxcbiAgRWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzT3B0aW9ucyxcbiAgRWRpdEd1aWxkT25ib2FyZGluZyxcbiAgRWRpdEd1aWxkUm9sZSxcbiAgRWRpdEd1aWxkU3RpY2tlck9wdGlvbnMsXG4gIEVkaXRNZXNzYWdlLFxuICBFZGl0T3duVm9pY2VTdGF0ZSxcbiAgRWRpdFNjaGVkdWxlZEV2ZW50LFxuICBFZGl0VXNlclZvaWNlU3RhdGUsXG4gIEV4ZWN1dGVXZWJob29rLFxuICBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgR2V0QmFucyxcbiAgR2V0RW50aXRsZW1lbnRzLFxuICBHZXRHcm91cERtT3B0aW9ucyxcbiAgR2V0R3VpbGRBdWRpdExvZyxcbiAgR2V0R3VpbGRQcnVuZUNvdW50UXVlcnksXG4gIEdldEludml0ZSxcbiAgR2V0TWVzc2FnZXNPcHRpb25zLFxuICBHZXRSZWFjdGlvbnMsXG4gIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMsXG4gIEdldFNjaGVkdWxlZEV2ZW50cyxcbiAgR2V0VXNlckd1aWxkcyxcbiAgR2V0V2ViaG9va01lc3NhZ2VPcHRpb25zLFxuICBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgTGlzdEFyY2hpdmVkVGhyZWFkcyxcbiAgTGlzdEd1aWxkTWVtYmVycyxcbiAgTWZhTGV2ZWxzLFxuICBNb2RpZnlBcHBsaWNhdGlvbkVtb2ppLFxuICBNb2RpZnlDaGFubmVsLFxuICBNb2RpZnlHdWlsZCxcbiAgTW9kaWZ5R3VpbGRDaGFubmVsUG9zaXRpb25zLFxuICBNb2RpZnlHdWlsZEVtb2ppLFxuICBNb2RpZnlHdWlsZE1lbWJlcixcbiAgTW9kaWZ5R3VpbGRUZW1wbGF0ZSxcbiAgTW9kaWZ5Um9sZVBvc2l0aW9ucyxcbiAgTW9kaWZ5V2ViaG9vayxcbiAgU2VhcmNoTWVtYmVycyxcbiAgU3RhcnRUaHJlYWRXaXRoTWVzc2FnZSxcbiAgU3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSxcbiAgVXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgVXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHNuYWtlbGl6ZSB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuL2JvdC5qcydcbmltcG9ydCB0eXBlIHtcbiAgQXBwbGljYXRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQXV0b01vZGVyYXRpb25SdWxlLFxuICBDaGFubmVsLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEd1aWxkLFxuICBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBHdWlsZE9uYm9hcmRpbmcsXG4gIEd1aWxkV2lkZ2V0LFxuICBHdWlsZFdpZGdldFNldHRpbmdzLFxuICBJbnRlZ3JhdGlvbixcbiAgSW52aXRlLFxuICBNZW1iZXIsXG4gIE1lc3NhZ2UsXG4gIFJvbGUsXG4gIFNjaGVkdWxlZEV2ZW50LFxuICBTa3UsXG4gIFN0YWdlSW5zdGFuY2UsXG4gIFN0aWNrZXIsXG4gIFN0aWNrZXJQYWNrLFxuICBUZW1wbGF0ZSxcbiAgVGhyZWFkTWVtYmVyLFxuICBVc2VyLFxuICBXZWJob29rLFxuICBXZWxjb21lU2NyZWVuLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdEhlbHBlcnMoYm90OiBCb3QpOiBCb3RIZWxwZXJzIHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGVBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlQXV0b21vZFJ1bGUoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVDaGFubmVsOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlQ2hhbm5lbChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCB9KVxuICAgIH0sXG4gICAgY3JlYXRlRW1vamk6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUVtb2ppKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlQXBwbGljYXRpb25FbW9qaTogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUFwcGxpY2F0aW9uRW1vamkob3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlRm9ydW1UaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUZvcnVtVGhyZWFkKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGQ6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZChvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZCwgZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmQsIGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlOiBhc3luYyAodGVtcGxhdGVDb2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkU3RpY2tlcihndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUludml0ZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuY3JlYXRlSW52aXRlKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgY3JlYXRlUm9sZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVJvbGUoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVTY2hlZHVsZWRFdmVudChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZVN0YWdlSW5zdGFuY2U6IGFzeW5jIChvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0YWdlSW5zdGFuY2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlU3RhZ2VJbnN0YW5jZShvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZVdlYmhvb2s6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVXZWJob29rKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IGFzeW5jIChndWlsZElkLCBjb21tYW5kSWQsIGJlYXJlclRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKFxuICAgICAgICBib3QsXG4gICAgICAgIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMoZ3VpbGRJZCwgY29tbWFuZElkLCBiZWFyZXJUb2tlbiwgb3B0aW9ucykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZWRpdEF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgcnVsZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBdXRvbW9kUnVsZShndWlsZElkLCBydWxlSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEJvdFByb2ZpbGU6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRCb3RQcm9maWxlKG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpIH0pXG4gICAgfSxcbiAgICBlZGl0RW1vamk6IGFzeW5jIChndWlsZElkLCBpZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0RW1vamkoZ3VpbGRJZCwgaWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEFwcGxpY2F0aW9uRW1vamk6IGFzeW5jIChpZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEFwcGxpY2F0aW9uRW1vamkoaWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRGb2xsb3d1cE1lc3NhZ2UodG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZWRpdEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmRJZCwgZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkU3RpY2tlcjogYXN5bmMgKGd1aWxkSWQsIHN0aWNrZXJJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgc3RpY2tlcklkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZFRlbXBsYXRlOiBhc3luYyAoZ3VpbGRJZCwgdGVtcGxhdGVDb2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRUZW1wbGF0ZShndWlsZElkLCB0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQsIG9wdGlvbnMpKSBhcyBEaXNjb3JkTWVzc2FnZSlcbiAgICB9LFxuICAgIGVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6IGFzeW5jICh0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRva2VuLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2Uod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZWRpdFJvbGU6IGFzeW5jIChndWlsZElkLCByb2xlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRSb2xlKGd1aWxkSWQsIHJvbGVJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGVkaXRSb2xlUG9zaXRpb25zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRSb2xlUG9zaXRpb25zKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLm1hcCgocm9sZSkgPT4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZWRpdFNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0U2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0U3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCwgdG9waWMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0U3RhZ2VJbnN0YW5jZShjaGFubmVsSWQsIHRvcGljLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2sod2ViaG9va0lkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2ViaG9va01lc3NhZ2Uod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBlZGl0V2ViaG9va1dpdGhUb2tlbjogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdFdlbGNvbWVTY3JlZW46IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlbGNvbWVTY3JlZW4oYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlbGNvbWVTY3JlZW4oZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2lkZ2V0U2V0dGluZ3M6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldFNldHRpbmdzKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXaWRnZXRTZXR0aW5ncyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGV4ZWN1dGVXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYm90LnJlc3QuZXhlY3V0ZVdlYmhvb2sod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucylcbiAgICAgIGlmICghcmVzdWx0KSByZXR1cm5cblxuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShyZXN1bHQpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZm9sbG93QW5ub3VuY2VtZW50OiBhc3luYyAoc291cmNlQ2hhbm5lbElkLCB0YXJnZXRDaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5mb2xsb3dBbm5vdW5jZW1lbnQoc291cmNlQ2hhbm5lbElkLCB0YXJnZXRDaGFubmVsSWQpXG4gICAgfSxcbiAgICBnZXRBY3RpdmVUaHJlYWRzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYm90LnJlc3QuZ2V0QWN0aXZlVGhyZWFkcyhndWlsZElkKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGhyZWFkczogcmVzdWx0LnRocmVhZHMubWFwKCh0aHJlYWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgZ3VpbGRJZCwgY2hhbm5lbDogc25ha2VsaXplKHRocmVhZCkgfSkpLFxuICAgICAgICBtZW1iZXJzOiByZXN1bHQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBzbmFrZWxpemUobWVtYmVyKSkpLFxuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25JbmZvOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHsgYXBwbGljYXRpb246IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkluZm8oKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGVkaXRBcHBsaWNhdGlvbkluZm86IGFzeW5jIChib2R5KSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHsgYXBwbGljYXRpb246IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0QXBwbGljYXRpb25JbmZvKGJvZHkpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0Q3VycmVudEF1dGhlbnRpY2F0aW9uSW5mbzogYXN5bmMgKGJlYXJlclRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0Q3VycmVudEF1dGhlbnRpY2F0aW9uSW5mbyhiZWFyZXJUb2tlbilcbiAgICB9LFxuICAgIGV4Y2hhbmdlVG9rZW46IGFzeW5jIChjbGllbnRJZCwgY2xpZW50U2VjcmV0LCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZXhjaGFuZ2VUb2tlbihjbGllbnRJZCwgY2xpZW50U2VjcmV0LCBvcHRpb25zKVxuICAgIH0sXG4gICAgcmV2b2tlVG9rZW46IGFzeW5jIChjbGllbnRJZCwgY2xpZW50U2VjcmV0LCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucmV2b2tlVG9rZW4oY2xpZW50SWQsIGNsaWVudFNlY3JldCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IGFzeW5jIChndWlsZElkLCBjb21tYW5kSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0LmdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24oZ3VpbGRJZCwgY29tbWFuZElkLCBvcHRpb25zKVxuICAgICAgY29uc3Qgc25ha2VkUmVzID0gc25ha2VsaXplKHJlcylcblxuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbihib3QsIHNuYWtlZFJlcylcbiAgICB9LFxuICAgIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyhndWlsZElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbihib3QsIHNuYWtlbGl6ZShyZXMpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGdldEF1ZGl0TG9nOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEF1ZGl0TG9nKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIHJ1bGVJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0QXV0b21vZFJ1bGUoZ3VpbGRJZCwgcnVsZUlkKSkpXG4gICAgfSxcbiAgICBnZXRBdXRvbW9kUnVsZXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEF1dG9tb2RSdWxlcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRBdmFpbGFibGVWb2ljZVJlZ2lvbnM6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zKCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnZvaWNlUmVnaW9uKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0QmFuOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0QmFuKGd1aWxkSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGdldEJhbnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0QmFucyhndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbDogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWwoY2hhbm5lbElkKSkgfSlcbiAgICB9LFxuICAgIGdldENoYW5uZWxJbnZpdGVzOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbEludml0ZXMoY2hhbm5lbElkKVxuICAgICAgLy8gcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsSW52aXRlcyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5pbnZpdGUoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRDaGFubmVsczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbHMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShyZXMpLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbFdlYmhvb2tzOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxXZWJob29rcyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0RG1DaGFubmVsOiBhc3luYyAodXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0RG1DaGFubmVsKHVzZXJJZCkpIH0pXG4gICAgfSxcbiAgICBnZXRHcm91cERtQ2hhbm5lbDogYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHcm91cERtQ2hhbm5lbChvcHRpb25zKSkgfSlcbiAgICB9LFxuICAgIGdldEVtb2ppOiBhc3luYyAoZ3VpbGRJZCwgZW1vamlJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0RW1vamkoZ3VpbGRJZCwgZW1vamlJZCkpKVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25FbW9qaTogYXN5bmMgKGVtb2ppSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEFwcGxpY2F0aW9uRW1vamkoZW1vamlJZCkpKVxuICAgIH0sXG4gICAgZ2V0RW1vamlzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRFbW9qaXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25FbW9qaXM6IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGJvdC5yZXN0LmdldEFwcGxpY2F0aW9uRW1vamlzKClcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXRlbXM6IHJlcy5pdGVtcy5tYXAoKGl0ZW0pID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUoaXRlbSkpKSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGdldEZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Rm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQpKSlcbiAgICB9LFxuICAgIGdldEdhdGV3YXlCb3Q6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmdhdGV3YXlCb3QoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpKSlcbiAgICB9LFxuICAgIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQpKSlcbiAgICB9LFxuICAgIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcygpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkKGJvdCwgeyBndWlsZDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkKGd1aWxkSWQsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0R3VpbGRzOiBhc3luYyAoYmVhcmVyVG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZ2V0R3VpbGRzIHJldHVybnMgcGFydGlhbCBndWlsZHNcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRzKGJlYXJlclRva2VuLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUocmVzKSwgc2hhcmRJZDogMCB9KSlcbiAgICB9LFxuICAgIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBndWlsZElkKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRQcmV2aWV3OiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkUHJldmlldyhndWlsZElkKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkUHJldmlldyhndWlsZElkKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBzdGlja2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRTdGlja2VyKGd1aWxkSWQsIHN0aWNrZXJJZCkpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRTdGlja2VyczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRTdGlja2VycyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkVGVtcGxhdGU6IGFzeW5jICh0ZW1wbGF0ZUNvZGUpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEd1aWxkVGVtcGxhdGUodGVtcGxhdGVDb2RlKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFRlbXBsYXRlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRUZW1wbGF0ZXMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRXZWJob29rczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRXZWJob29rcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEludGVncmF0aW9uczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0SW50ZWdyYXRpb25zKGd1aWxkSWQpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5pbnRlZ3JhdGlvbihib3QsIHNuYWtlbGl6ZSh7IC4uLnJlcywgZ3VpbGRJZDogZ3VpbGRJZC50b1N0cmluZygpIH0pKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGdldEludml0ZTogYXN5bmMgKGludml0ZUNvZGUsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmludml0ZShib3QsIHsgaW52aXRlOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0SW52aXRlKGludml0ZUNvZGUsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgZ2V0SW52aXRlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0SW52aXRlcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgeyBpbnZpdGU6IHNuYWtlbGl6ZShyZXMpLCBzaGFyZElkOiAwIH0pKVxuICAgIH0sXG4gICAgZ2V0TWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldE1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQpKSlcbiAgICB9LFxuICAgIGdldE1lc3NhZ2VzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldE1lc3NhZ2VzKGNoYW5uZWxJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRTdGlja2VyUGFja3M6IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0U3RpY2tlclBhY2tzKCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXJQYWNrKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRva2VuKSkpXG4gICAgfSxcbiAgICBnZXRQaW5uZWRNZXNzYWdlczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRQaW5uZWRNZXNzYWdlcyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFBydW5lQ291bnQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJ1bmVDb3VudChndWlsZElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFBydW5lQ291bnQoZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQdWJsaWNBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRSb2xlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Um9sZXMoZ3VpbGRJZCkpLm1hcCgocm9sZSkgPT4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBldmVudElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudChndWlsZElkLCBldmVudElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRTY2hlZHVsZWRFdmVudHM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFNjaGVkdWxlZEV2ZW50cyhndWlsZElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRTY2hlZHVsZWRFdmVudFVzZXJzOiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudFVzZXJzKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpKS5tYXAoKHUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB1c2VyOiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUodS51c2VyKSksXG4gICAgICAgICAgbWVtYmVyOiB1Lm1lbWJlciAmJiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZSh1Lm1lbWJlciksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHUudXNlci5pZCkpLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG4gICAgZ2V0U2Vzc2lvbkluZm86IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmdhdGV3YXlCb3QoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U2Vzc2lvbkluZm8oKSkpXG4gICAgfSxcbiAgICBnZXRTdGFnZUluc3RhbmNlOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGFnZUluc3RhbmNlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFN0YWdlSW5zdGFuY2UoY2hhbm5lbElkKSkpXG4gICAgfSxcbiAgICBnZXRTdGlja2VyOiBhc3luYyAoc3RpY2tlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFN0aWNrZXIoc3RpY2tlcklkKSkpXG4gICAgfSxcbiAgICBnZXRUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGhyZWFkTWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZCkpKVxuICAgIH0sXG4gICAgZ2V0VGhyZWFkTWVtYmVyczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRUaHJlYWRNZW1iZXJzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnRocmVhZE1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFJlYWN0aW9uczogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRSZWFjdGlvbnMoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFVzZXI6IGFzeW5jIChpZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRVc2VyKGlkKSkpXG4gICAgfSxcbiAgICBnZXRDdXJyZW50VXNlcjogYXN5bmMgKGJlYXJlclRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRVc2VyKGJlYXJlclRva2VuKSkpXG4gICAgfSxcbiAgICBnZXRVc2VyQ29ubmVjdGlvbnM6IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFVzZXJDb25uZWN0aW9ucyhiZWFyZXJUb2tlbilcbiAgICB9LFxuICAgIGdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiBhc3luYyAoYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbihiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZClcbiAgICB9LFxuICAgIGdldFZhbml0eVVybDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRWYW5pdHlVcmwoZ3VpbGRJZClcbiAgICB9LFxuICAgIGdldFZvaWNlUmVnaW9uczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Vm9pY2VSZWdpb25zKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy52b2ljZVJlZ2lvbihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2ViaG9vayh3ZWJob29rSWQpKSlcbiAgICB9LFxuICAgIGdldFdlYmhvb2tNZXNzYWdlOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0V2ViaG9va1dpdGhUb2tlbjogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2ViaG9va1dpdGhUb2tlbih3ZWJob29rSWQsIHRva2VuKSkpXG4gICAgfSxcbiAgICBnZXRXZWxjb21lU2NyZWVuOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2VsY29tZVNjcmVlbihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWxjb21lU2NyZWVuKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldFdpZGdldDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXaWRnZXQoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0V2lkZ2V0U2V0dGluZ3M6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53aWRnZXRTZXR0aW5ncyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXaWRnZXRTZXR0aW5ncyhndWlsZElkKSkpXG4gICAgfSxcbiAgICBwdWJsaXNoTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnB1Ymxpc2hNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSkpXG4gICAgfSxcbiAgICBzZW5kTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zZW5kTWVzc2FnZShjaGFubmVsSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIHNlbmRGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zZW5kRm9sbG93dXBNZXNzYWdlKHRva2VuLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBzdGFydFRocmVhZFdpdGhNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHtcbiAgICAgICAgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQsIG9wdGlvbnMsIHJlYXNvbikpLFxuICAgICAgfSlcbiAgICB9LFxuICAgIHN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2UoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSB9KVxuICAgIH0sXG4gICAgc3luY0d1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zeW5jR3VpbGRUZW1wbGF0ZShndWlsZElkKSkpXG4gICAgfSxcbiAgICB1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoY29tbWFuZHMsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QudXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyhjb21tYW5kcywgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIHVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGd1aWxkSWQsIGNvbW1hbmRzLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LnVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyhndWlsZElkLCBjb21tYW5kcywgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGVkaXRCb3RNZW1iZXI6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Qm90TWVtYmVyKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkLCBib3QuaWQpXG4gICAgfSxcbiAgICBlZGl0TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0TWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGdldE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldE1lbWJlcihndWlsZElkLCB1c2VySWQpKSwgZ3VpbGRJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgZ2V0Q3VycmVudE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIGJlYXJlclRva2VuKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50TWVtYmVyKGd1aWxkSWQsIGJlYXJlclRva2VuKVxuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcyksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJlcy51c2VyLmlkKSlcbiAgICB9LFxuICAgIGdldE1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldE1lbWJlcnMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShyZXMudXNlci5pZCkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgcHJ1bmVNZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucHJ1bmVNZW1iZXJzKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbilcbiAgICB9LFxuICAgIHNlYXJjaE1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBxdWVyeSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5zZWFyY2hNZW1iZXJzKGd1aWxkSWQsIHF1ZXJ5LCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcyksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJlcy51c2VyLmlkKSksXG4gICAgICApXG4gICAgfSxcbiAgICBidWxrQmFuTWVtYmVyczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYm90LnJlc3QuYnVsa0Jhbk1lbWJlcnMoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYW5uZWRVc2VyczogcmVzLmJhbm5lZFVzZXJzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpLFxuICAgICAgICBmYWlsZWRVc2VyczogcmVzLmZhaWxlZFVzZXJzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpLFxuICAgICAgfVxuICAgIH0sXG4gICAgLy8gQWxsIHVzZWxlc3Mgdm9pZCByZXR1cm4gZnVuY3Rpb25zIGhlcmVcbiAgICBhZGRSZWFjdGlvbjogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFJlYWN0aW9uKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGFkZFJlYWN0aW9uczogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbnMsIG9yZGVyZWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRSZWFjdGlvbnMoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9ucywgb3JkZXJlZClcbiAgICB9LFxuICAgIGFkZFJvbGU6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIHJvbGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkUm9sZShndWlsZElkLCB1c2VySWQsIHJvbGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgYWRkVGhyZWFkTWVtYmVyOiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRUaHJlYWRNZW1iZXIoY2hhbm5lbElkLCB1c2VySWQpXG4gICAgfSxcbiAgICBhZGREbVJlY2lwaWVudDogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkRG1SZWNpcGllbnQoY2hhbm5lbElkLCB1c2VySWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBhZGRHdWlsZE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZEd1aWxkTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGRlbGV0ZUF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgcnVsZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVBdXRvbW9kUnVsZShndWlsZElkLCBydWxlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUNoYW5uZWw6IGFzeW5jIChjaGFubmVsSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUNoYW5uZWwoY2hhbm5lbElkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlOiBhc3luYyAoY2hhbm5lbElkLCBvdmVyd3JpdGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQ2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZShjaGFubmVsSWQsIG92ZXJ3cml0ZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVFbW9qaTogYXN5bmMgKGd1aWxkSWQsIGlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVFbW9qaShndWlsZElkLCBpZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlQXBwbGljYXRpb25FbW9qaTogYXN5bmMgKGlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQXBwbGljYXRpb25FbW9qaShpZClcbiAgICB9LFxuICAgIGRlbGV0ZUZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVGb2xsb3d1cE1lc3NhZ2UodG9rZW4sIG1lc3NhZ2VJZClcbiAgICB9LFxuICAgIGRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZChndWlsZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQpXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZFN0aWNrZXI6IGFzeW5jIChndWlsZElkLCBzdGlja2VySWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCB0ZW1wbGF0ZUNvZGUpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSlcbiAgICB9LFxuICAgIGRlbGV0ZUludGVncmF0aW9uOiBhc3luYyAoZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlSW50ZWdyYXRpb24oZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlSW52aXRlOiBhc3luYyAoaW52aXRlQ29kZSwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlSW52aXRlKGludml0ZUNvZGUsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlTWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZHMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU1lc3NhZ2VzKGNoYW5uZWxJZCwgbWVzc2FnZUlkcywgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodG9rZW4pXG4gICAgfSxcbiAgICBkZWxldGVPd25SZWFjdGlvbjogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU93blJlYWN0aW9uKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVJlYWN0aW9uc0FsbDogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUmVhY3Rpb25zQWxsKGNoYW5uZWxJZCwgbWVzc2FnZUlkKVxuICAgIH0sXG4gICAgZGVsZXRlUmVhY3Rpb25zRW1vamk6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSZWFjdGlvbnNFbW9qaShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVSb2xlKGd1aWxkSWQsIHJvbGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlU2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBldmVudElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlU2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZClcbiAgICB9LFxuICAgIGRlbGV0ZVN0YWdlSW5zdGFuY2U6IGFzeW5jIChjaGFubmVsSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVN0YWdlSW5zdGFuY2UoY2hhbm5lbElkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVVc2VyUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgdXNlcklkLCByZWFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVVzZXJSZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgdXNlcklkLCByZWFjdGlvbilcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2sod2ViaG9va0lkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGRlbGV0ZVdlYmhvb2tXaXRoVG9rZW46IGFzeW5jICh3ZWJob29rSWQsIHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlV2ViaG9va1dpdGhUb2tlbih3ZWJob29rSWQsIHRva2VuKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXMoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBlZGl0Q2hhbm5lbFBvc2l0aW9uczogYXN5bmMgKGd1aWxkSWQsIGNoYW5uZWxQb3NpdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbFBvc2l0aW9ucyhndWlsZElkLCBjaGFubmVsUG9zaXRpb25zKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkTWZhTGV2ZWw6IGFzeW5jIChndWlsZElkLCBtZmFMZXZlbCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkTWZhTGV2ZWwoZ3VpbGRJZCwgbWZhTGV2ZWwsIHJlYXNvbilcbiAgICB9LFxuICAgIGVkaXRPd25Wb2ljZVN0YXRlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRPd25Wb2ljZVN0YXRlKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0VXNlclZvaWNlU3RhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdFVzZXJWb2ljZVN0YXRlKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBlZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IGFzeW5jIChiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbihiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGpvaW5UaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5qb2luVGhyZWFkKGNoYW5uZWxJZClcbiAgICB9LFxuICAgIGxlYXZlR3VpbGQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QubGVhdmVHdWlsZChndWlsZElkKVxuICAgIH0sXG4gICAgbGVhdmVUaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5sZWF2ZVRocmVhZChjaGFubmVsSWQpXG4gICAgfSxcbiAgICByZW1vdmVSb2xlOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZVJvbGUoZ3VpbGRJZCwgdXNlcklkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIHJlbW92ZVRocmVhZE1lbWJlcjogYXN5bmMgKGNoYW5uZWxJZCwgdXNlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucmVtb3ZlVGhyZWFkTWVtYmVyKGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgcmVtb3ZlRG1SZWNpcGllbnQ6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZURtUmVjaXBpZW50KGNoYW5uZWxJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgc2VuZEludGVyYWN0aW9uUmVzcG9uc2U6IGFzeW5jIChpbnRlcmFjdGlvbklkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKGludGVyYWN0aW9uSWQsIHRva2VuLCBvcHRpb25zKVxuICAgIH0sXG4gICAgdHJpZ2dlclR5cGluZ0luZGljYXRvcjogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnRyaWdnZXJUeXBpbmdJbmRpY2F0b3IoY2hhbm5lbElkKVxuICAgIH0sXG4gICAgYmFuTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5iYW5NZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pXG4gICAgfSxcbiAgICBraWNrTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5raWNrTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgcGluTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5waW5NZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICB1bmJhbk1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudW5iYW5NZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCByZWFzb24pXG4gICAgfSxcbiAgICB1bnBpbk1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QudW5waW5NZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBnZXRHdWlsZE9uYm9hcmRpbmc6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmcoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRPbmJvYXJkaW5nKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZE9uYm9hcmRpbmc6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRPbmJvYXJkaW5nKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgbGlzdEVudGl0bGVtZW50czogYXN5bmMgKGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QubGlzdEVudGl0bGVtZW50cyhhcHBsaWNhdGlvbklkLCBvcHRpb25zKSkubWFwKChlbnRpdGxlbWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbnRpdGxlbWVudChib3QsIHNuYWtlbGl6ZShlbnRpdGxlbWVudCkpKVxuICAgIH0sXG4gICAgY3JlYXRlVGVzdEVudGl0bGVtZW50OiBhc3luYyAoYXBwbGljYXRpb25JZCwgYm9keSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZW50aXRsZW1lbnQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlVGVzdEVudGl0bGVtZW50KGFwcGxpY2F0aW9uSWQsIGJvZHkpKSBhcyBEaXNjb3JkRW50aXRsZW1lbnQpXG4gICAgfSxcbiAgICBkZWxldGVUZXN0RW50aXRsZW1lbnQ6IGFzeW5jIChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICBhd2FpdCBib3QucmVzdC5kZWxldGVUZXN0RW50aXRsZW1lbnQoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZClcbiAgICB9LFxuICAgIGxpc3RTa3VzOiBhc3luYyAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5saXN0U2t1cyhhcHBsaWNhdGlvbklkKSkubWFwKChza3UpID0+IGJvdC50cmFuc2Zvcm1lcnMuc2t1KGJvdCwgc25ha2VsaXplKHNrdSkpKVxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3RIZWxwZXJzIHtcbiAgY3JlYXRlQXV0b21vZFJ1bGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGNyZWF0ZUNoYW5uZWw6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkQ2hhbm5lbCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGNyZWF0ZUVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGNyZWF0ZUFwcGxpY2F0aW9uRW1vamk6IChvcHRpb25zOiBDcmVhdGVBcHBsaWNhdGlvbkVtb2ppKSA9PiBQcm9taXNlPEVtb2ppPlxuICBjcmVhdGVGb3J1bVRocmVhZDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVGb3J1bVBvc3RXaXRoTWVzc2FnZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmQ6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCwgb3B0aW9ucz86IENyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBjcmVhdGVHdWlsZDogKG9wdGlvbnM6IENyZWF0ZUd1aWxkKSA9PiBQcm9taXNlPEd1aWxkPlxuICBjcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKFxuICAgIGNvbW1hbmQ6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9ucz86IENyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgY3JlYXRlR3VpbGRGcm9tVGVtcGxhdGU6ICh0ZW1wbGF0ZUNvZGU6IHN0cmluZywgb3B0aW9uczogQ3JlYXRlR3VpbGRGcm9tVGVtcGxhdGUpID0+IFByb21pc2U8R3VpbGQ+XG4gIGNyZWF0ZUd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlR3VpbGRTdGlja2VyT3B0aW9ucywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGNyZWF0ZUd1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZVRlbXBsYXRlKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICBjcmVhdGVJbnZpdGU6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IENyZWF0ZUNoYW5uZWxJbnZpdGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkSW52aXRlPlxuICBjcmVhdGVSb2xlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZFJvbGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxSb2xlPlxuICBjcmVhdGVTY2hlZHVsZWRFdmVudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlU2NoZWR1bGVkRXZlbnQsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudD5cbiAgY3JlYXRlU3RhZ2VJbnN0YW5jZTogKG9wdGlvbnM6IENyZWF0ZVN0YWdlSW5zdGFuY2UsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTdGFnZUluc3RhbmNlPlxuICBjcmVhdGVXZWJob29rOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZVdlYmhvb2ssIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxXZWJob29rPlxuICBlZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgY29tbWFuZElkOiBCaWdTdHJpbmcsXG4gICAgYmVhcmVyVG9rZW46IHN0cmluZyxcbiAgICBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNbXSxcbiAgKSA9PiBQcm9taXNlPEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM+XG4gIGVkaXRBdXRvbW9kUnVsZTogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBydWxlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEVkaXRBdXRvTW9kZXJhdGlvblJ1bGVPcHRpb25zPixcbiAgICByZWFzb24/OiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGVkaXRCb3RQcm9maWxlOiAob3B0aW9uczogeyB1c2VybmFtZT86IHN0cmluZzsgYm90QXZhdGFyVVJMPzogc3RyaW5nIHwgbnVsbCB9KSA9PiBQcm9taXNlPFVzZXI+XG4gIGVkaXRDaGFubmVsOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUNoYW5uZWwsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBlZGl0RW1vamk6IChndWlsZElkOiBCaWdTdHJpbmcsIGlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkRW1vamksIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxFbW9qaT5cbiAgZWRpdEFwcGxpY2F0aW9uRW1vamk6IChpZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlBcHBsaWNhdGlvbkVtb2ppKSA9PiBQcm9taXNlPEVtb2ppPlxuICBlZGl0Rm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgZWRpdEd1aWxkOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlHdWlsZCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkPlxuICBlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kSWQ6IEJpZ1N0cmluZywgZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBlZGl0R3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBzdGlja2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQXRMZWFzdE9uZTxFZGl0R3VpbGRTdGlja2VyT3B0aW9ucz4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyPlxuICBlZGl0R3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdGVtcGxhdGVDb2RlOiBzdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkVGVtcGxhdGUpID0+IFByb21pc2U8VGVtcGxhdGU+XG4gIGVkaXRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0TWVzc2FnZSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2U6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEgJiB7IHRocmVhZElkPzogQmlnU3RyaW5nIH0pID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdFJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0R3VpbGRSb2xlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Um9sZT5cbiAgZWRpdFJvbGVQb3NpdGlvbnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeVJvbGVQb3NpdGlvbnNbXSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFJvbGVbXT5cbiAgZWRpdFNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBldmVudElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IFBhcnRpYWw8RWRpdFNjaGVkdWxlZEV2ZW50PiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFNjaGVkdWxlZEV2ZW50PlxuICBlZGl0U3RhZ2VJbnN0YW5jZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB0b3BpYzogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U3RhZ2VJbnN0YW5jZT5cbiAgZWRpdFdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5V2ViaG9vaywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRXZWJob29rTWVzc2FnZTogKFxuICAgIHdlYmhvb2tJZDogQmlnU3RyaW5nLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgbWVzc2FnZUlkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEgJiB7IHRocmVhZElkPzogQmlnU3RyaW5nIH0sXG4gICkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0V2ViaG9va1dpdGhUb2tlbjogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBPbWl0PE1vZGlmeVdlYmhvb2ssICdjaGFubmVsSWQnPikgPT4gUHJvbWlzZTxXZWJob29rPlxuICBlZGl0V2VsY29tZVNjcmVlbjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFdlbGNvbWVTY3JlZW4+XG4gIGVkaXRXaWRnZXRTZXR0aW5nczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3MsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxHdWlsZFdpZGdldFNldHRpbmdzPlxuICBlZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IChcbiAgICBiZWFyZXJUb2tlbjogc3RyaW5nLFxuICAgIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbixcbiAgKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uPlxuICBleGVjdXRlV2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBFeGVjdXRlV2ViaG9vaykgPT4gUHJvbWlzZTxNZXNzYWdlIHwgdW5kZWZpbmVkPlxuICBmb2xsb3dBbm5vdW5jZW1lbnQ6IChzb3VyY2VDaGFubmVsSWQ6IEJpZ1N0cmluZywgdGFyZ2V0Q2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEZvbGxvd2VkQ2hhbm5lbD5cbiAgZ2V0QWN0aXZlVGhyZWFkczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx7IHRocmVhZHM6IENoYW5uZWxbXTsgbWVtYmVyczogVGhyZWFkTWVtYmVyW10gfT5cbiAgZ2V0QXBwbGljYXRpb25JbmZvOiAoKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uPlxuICBlZGl0QXBwbGljYXRpb25JbmZvOiAoYm9keTogRWRpdEFwcGxpY2F0aW9uKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uPlxuICBnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvOiAoYmVhcmVyVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQ3VycmVudEF1dGhvcml6YXRpb24+XG4gIGV4Y2hhbmdlVG9rZW46IChjbGllbnRJZDogQmlnU3RyaW5nLCBjbGllbnRTZWNyZXQ6IHN0cmluZywgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZFRva2VuRXhjaGFuZ2UpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFjY2Vzc1Rva2VuUmVzcG9uc2U+XG4gIHJldm9rZVRva2VuOiAoY2xpZW50SWQ6IEJpZ1N0cmluZywgY2xpZW50U2VjcmV0OiBzdHJpbmcsIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRUb2tlblJldm9jYXRpb24pID0+IFByb21pc2U8dm9pZD5cbiAgZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogR2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbk9wdGlvbnMsXG4gICkgPT4gUHJvbWlzZTxHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zPlxuICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogR2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbk9wdGlvbnMsXG4gICkgPT4gUHJvbWlzZTxHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zW10+XG4gIGdldEF1ZGl0TG9nOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0R3VpbGRBdWRpdExvZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQXVkaXRMb2c+XG4gIGdldEF1dG9tb2RSdWxlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBydWxlSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGdldEF1dG9tb2RSdWxlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGVbXT5cbiAgZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zOiAoKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRWb2ljZVJlZ2lvbltdPlxuICBnZXRCYW46IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRCYW4+XG4gIGdldEJhbnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRCYW5zKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRCYW5bXT5cbiAgZ2V0Q2hhbm5lbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGdldENoYW5uZWxJbnZpdGVzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEludml0ZU1ldGFkYXRhW10+XG4gIGdldENoYW5uZWxzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWxbXT5cbiAgZ2V0Q2hhbm5lbFdlYmhvb2tzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8V2ViaG9va1tdPlxuICBnZXREbUNoYW5uZWw6ICh1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRHcm91cERtQ2hhbm5lbDogKG9wdGlvbnM6IEdldEdyb3VwRG1PcHRpb25zKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGdldEVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBlbW9qaUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGdldEFwcGxpY2F0aW9uRW1vamk6IChlbW9qaUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGdldEVtb2ppczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxFbW9qaVtdPlxuICBnZXRBcHBsaWNhdGlvbkVtb2ppczogKCkgPT4gUHJvbWlzZTx7IGl0ZW1zOiBFbW9qaVtdIH0+XG4gIGdldEZvbGxvd3VwTWVzc2FnZTogKHRva2VuOiBzdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldEdhdGV3YXlCb3Q6ICgpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEdldEdhdGV3YXlCb3Q+XG4gIGdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kczogKCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgZ2V0R3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiB7IGNvdW50cz86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTxHdWlsZD5cbiAgZ2V0R3VpbGRzOiAoYmVhcmVyVG9rZW46IHN0cmluZywgb3B0aW9ucz86IEdldFVzZXJHdWlsZHMpID0+IFByb21pc2U8UGFydGlhbDxHdWlsZD5bXT5cbiAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kSWQ6IEJpZ1N0cmluZywgZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZD5cbiAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBnZXRHdWlsZFByZXZpZXc6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEd1aWxkUHJldmlldz5cbiAgZ2V0R3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBzdGlja2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyPlxuICBnZXRHdWlsZFN0aWNrZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXJbXT5cbiAgZ2V0R3VpbGRUZW1wbGF0ZTogKHRlbXBsYXRlQ29kZTogc3RyaW5nKSA9PiBQcm9taXNlPFRlbXBsYXRlPlxuICBnZXRHdWlsZFRlbXBsYXRlczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUZW1wbGF0ZVtdPlxuICBnZXRHdWlsZFdlYmhvb2tzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2tbXT5cbiAgZ2V0SW50ZWdyYXRpb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEludGVncmF0aW9uW10+XG4gIGdldEludml0ZTogKGludml0ZUNvZGU6IHN0cmluZywgb3B0aW9ucz86IEdldEludml0ZSkgPT4gUHJvbWlzZTxJbnZpdGU+XG4gIGdldEludml0ZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8SW52aXRlW10+XG4gIGdldE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0TWVzc2FnZXM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldE1lc3NhZ2VzT3B0aW9ucykgPT4gUHJvbWlzZTxNZXNzYWdlW10+XG4gIGdldFN0aWNrZXJQYWNrczogKCkgPT4gUHJvbWlzZTxTdGlja2VyUGFja1tdPlxuICBnZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6ICh0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldFBpbm5lZE1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICBnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IExpc3RBcmNoaXZlZFRocmVhZHMpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFyY2hpdmVkVGhyZWFkcz5cbiAgZ2V0UHJ1bmVDb3VudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkUHJ1bmVDb3VudFF1ZXJ5KSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRQcnVuZWRDb3VudD5cbiAgZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFJvbGVzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFJvbGVbXT5cbiAgZ2V0U2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgd2l0aFVzZXJDb3VudD86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudD5cbiAgZ2V0U2NoZWR1bGVkRXZlbnRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0U2NoZWR1bGVkRXZlbnRzKSA9PiBQcm9taXNlPFNjaGVkdWxlZEV2ZW50W10+XG4gIGdldFNjaGVkdWxlZEV2ZW50VXNlcnM6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgZXZlbnRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRTY2hlZHVsZWRFdmVudFVzZXJzLFxuICApID0+IFByb21pc2U8QXJyYXk8eyB1c2VyOiBVc2VyOyBtZW1iZXI/OiBNZW1iZXIgfT4+XG4gIGdldFNlc3Npb25JbmZvOiAoKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRHZXRHYXRld2F5Qm90PlxuICBnZXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8U3RhZ2VJbnN0YW5jZT5cbiAgZ2V0U3RpY2tlcjogKHN0aWNrZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGdldFRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUaHJlYWRNZW1iZXI+XG4gIGdldFRocmVhZE1lbWJlcnM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUaHJlYWRNZW1iZXJbXT5cbiAgZ2V0UmVhY3Rpb25zOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nLCBvcHRpb25zPzogR2V0UmVhY3Rpb25zKSA9PiBQcm9taXNlPFVzZXJbXT5cbiAgZ2V0VXNlcjogKGlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VXNlcj5cbiAgZ2V0Q3VycmVudFVzZXI6IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPFVzZXI+XG4gIGdldFVzZXJDb25uZWN0aW9uczogKGJlYXJlclRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZENvbm5lY3Rpb25bXT5cbiAgZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IChiZWFyZXJUb2tlbjogc3RyaW5nLCBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+XG4gIGdldFZhbml0eVVybDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkVmFuaXR5VXJsPlxuICBnZXRWb2ljZVJlZ2lvbnM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZFZvaWNlUmVnaW9uW10+XG4gIGdldFdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWJob29rPlxuICBnZXRXZWJob29rTWVzc2FnZTogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldFdlYmhvb2tNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBnZXRXZWJob29rV2l0aFRva2VuOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZ2V0V2VsY29tZVNjcmVlbjogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWxjb21lU2NyZWVuPlxuICBnZXRXaWRnZXQ6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8R3VpbGRXaWRnZXQ+XG4gIGdldFdpZGdldFNldHRpbmdzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0U2V0dGluZ3M+XG4gIHB1Ymxpc2hNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIHNlbmRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZU1lc3NhZ2VPcHRpb25zKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIHNlbmRGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzdGFydFRocmVhZFdpdGhNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBTdGFydFRocmVhZFdpdGhNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgc3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBTdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgc3luY0d1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGVtcGxhdGU+XG4gIHVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IChcbiAgICBjb21tYW5kczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kW10sXG4gICAgb3B0aW9ucz86IFVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gICkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgdXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGNvbW1hbmRzOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmRbXSxcbiAgICBvcHRpb25zPzogVXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIGVkaXRCb3RNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRCb3RNZW1iZXJPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBlZGl0TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5R3VpbGRNZW1iZXIsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxNZW1iZXI+XG4gIGdldE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBnZXRDdXJyZW50TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZ2V0TWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTGlzdEd1aWxkTWVtYmVycykgPT4gUHJvbWlzZTxNZW1iZXJbXT5cbiAgcHJ1bmVNZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBCZWdpbkd1aWxkUHJ1bmUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx7IHBydW5lZDogbnVtYmVyIHwgbnVsbCB9PlxuICBzZWFyY2hNZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBxdWVyeTogc3RyaW5nLCBvcHRpb25zPzogT21pdDxTZWFyY2hNZW1iZXJzLCAncXVlcnknPikgPT4gUHJvbWlzZTxNZW1iZXJbXT5cbiAgYnVsa0Jhbk1lbWJlcnM6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkQnVsa0JhbiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHsgYmFubmVkVXNlcnM6IGJpZ2ludFtdOyBmYWlsZWRVc2VyczogYmlnaW50W10gfT5cbiAgLy8gZnVuY3Rpb25zIHJldHVybiBWb2lkIHNvIGRvbnQgbmVlZCBhbnkgc3BlY2lhbCBoYW5kbGluZ1xuICBhZGRSZWFjdGlvbjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRSZWFjdGlvbnM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uczogc3RyaW5nW10sIG9yZGVyZWQ/OiBib29sZWFuKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZFJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZFRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGREbVJlY2lwaWVudDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQWRkRG1SZWNpcGllbnRPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZEd1aWxkTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQWRkR3VpbGRNZW1iZXJPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUF1dG9tb2RSdWxlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBydWxlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUNoYW5uZWw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGU6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3ZlcndyaXRlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBpZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlQXBwbGljYXRpb25FbW9qaTogKGlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlRm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kSWQ6IEJpZ1N0cmluZywgZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB0ZW1wbGF0ZUNvZGU6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVJbnRlZ3JhdGlvbjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgaW50ZWdyYXRpb25JZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlSW52aXRlOiAoaW52aXRlQ29kZTogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZHM6IEJpZ1N0cmluZ1tdLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVPd25SZWFjdGlvbjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVSZWFjdGlvbnNBbGw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUmVhY3Rpb25zRW1vamk6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUm9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVTY2hlZHVsZWRFdmVudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZXZlbnRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVN0YWdlSW5zdGFuY2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVVzZXJSZWFjdGlvbjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlV2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlV2ViaG9va01lc3NhZ2U6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBEZWxldGVXZWJob29rTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlV2ViaG9va1dpdGhUb2tlbjogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXNPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdENoYW5uZWxQb3NpdGlvbnM6IChndWlsZElkOiBCaWdTdHJpbmcsIGNoYW5uZWxQb3NpdGlvbnM6IE1vZGlmeUd1aWxkQ2hhbm5lbFBvc2l0aW9uc1tdKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRHdWlsZE1mYUxldmVsOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBtZmFMZXZlbDogTWZhTGV2ZWxzLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdE93blZvaWNlU3RhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRPd25Wb2ljZVN0YXRlKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRVc2VyVm9pY2VTdGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdFVzZXJWb2ljZVN0YXRlKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGpvaW5UaHJlYWQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsZWF2ZUd1aWxkOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxlYXZlVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgcmVtb3ZlUm9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgcmVtb3ZlVGhyZWFkTWVtYmVyOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZURtUmVjaXBpZW50OiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHNlbmRJbnRlcmFjdGlvblJlc3BvbnNlOiAoaW50ZXJhY3Rpb25JZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvblJlc3BvbnNlKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHRyaWdnZXJUeXBpbmdJbmRpY2F0b3I6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBiYW5NZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogQ3JlYXRlR3VpbGRCYW4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBraWNrTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHBpbk1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICB1bmJhbk1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICB1bnBpbk1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBnZXRHdWlsZE9uYm9hcmRpbmc6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8R3VpbGRPbmJvYXJkaW5nPlxuICBlZGl0R3VpbGRPbmJvYXJkaW5nOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0R3VpbGRPbmJvYXJkaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8R3VpbGRPbmJvYXJkaW5nPlxuICBsaXN0RW50aXRsZW1lbnRzOiAoYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0RW50aXRsZW1lbnRzKSA9PiBQcm9taXNlPEVudGl0bGVtZW50W10+XG4gIGNyZWF0ZVRlc3RFbnRpdGxlbWVudDogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgYm9keTogQ3JlYXRlRW50aXRsZW1lbnQpID0+IFByb21pc2U8UGFydGlhbDxFbnRpdGxlbWVudD4+XG4gIGRlbGV0ZVRlc3RFbnRpdGxlbWVudDogKGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZywgZW50aXRsZW1lbnRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxpc3RTa3VzOiAoYXBwbGljYXRpb25JZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFNrdVtdPlxufVxuIl0sIm5hbWVzIjpbInNuYWtlbGl6ZSIsImNyZWF0ZUJvdEhlbHBlcnMiLCJib3QiLCJjcmVhdGVBdXRvbW9kUnVsZSIsImd1aWxkSWQiLCJvcHRpb25zIiwicmVhc29uIiwidHJhbnNmb3JtZXJzIiwiYXV0b21vZFJ1bGUiLCJyZXN0IiwiY3JlYXRlQ2hhbm5lbCIsImNoYW5uZWwiLCJjcmVhdGVFbW9qaSIsImVtb2ppIiwiY3JlYXRlQXBwbGljYXRpb25FbW9qaSIsImNyZWF0ZUZvcnVtVGhyZWFkIiwiY2hhbm5lbElkIiwiY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiY29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImNyZWF0ZUd1aWxkIiwiZ3VpbGQiLCJzaGFyZElkIiwiY3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSIsInRlbXBsYXRlQ29kZSIsImNyZWF0ZUd1aWxkU3RpY2tlciIsInN0aWNrZXIiLCJjcmVhdGVHdWlsZFRlbXBsYXRlIiwidGVtcGxhdGUiLCJjcmVhdGVJbnZpdGUiLCJjcmVhdGVSb2xlIiwicm9sZSIsImNyZWF0ZVNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnQiLCJjcmVhdGVTdGFnZUluc3RhbmNlIiwic3RhZ2VJbnN0YW5jZSIsImNyZWF0ZVdlYmhvb2siLCJ3ZWJob29rIiwiZWRpdEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zIiwiY29tbWFuZElkIiwiYmVhcmVyVG9rZW4iLCJhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwiZWRpdEF1dG9tb2RSdWxlIiwicnVsZUlkIiwiZWRpdEJvdFByb2ZpbGUiLCJ1c2VyIiwiZWRpdENoYW5uZWwiLCJlZGl0RW1vamkiLCJpZCIsImVkaXRBcHBsaWNhdGlvbkVtb2ppIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwibWVzc2FnZUlkIiwibWVzc2FnZSIsImVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJlZGl0R3VpbGQiLCJlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJlZGl0R3VpbGRTdGlja2VyIiwic3RpY2tlcklkIiwiZWRpdEd1aWxkVGVtcGxhdGUiLCJlZGl0TWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZSIsIndlYmhvb2tJZCIsImVkaXRSb2xlIiwicm9sZUlkIiwiZWRpdFJvbGVQb3NpdGlvbnMiLCJtYXAiLCJlZGl0U2NoZWR1bGVkRXZlbnQiLCJldmVudElkIiwiZWRpdFN0YWdlSW5zdGFuY2UiLCJ0b3BpYyIsImVkaXRXZWJob29rIiwiZWRpdFdlYmhvb2tNZXNzYWdlIiwiZWRpdFdlYmhvb2tXaXRoVG9rZW4iLCJlZGl0V2VsY29tZVNjcmVlbiIsIndlbGNvbWVTY3JlZW4iLCJlZGl0V2lkZ2V0U2V0dGluZ3MiLCJ3aWRnZXRTZXR0aW5ncyIsImV4ZWN1dGVXZWJob29rIiwicmVzdWx0IiwiZm9sbG93QW5ub3VuY2VtZW50Iiwic291cmNlQ2hhbm5lbElkIiwidGFyZ2V0Q2hhbm5lbElkIiwiZ2V0QWN0aXZlVGhyZWFkcyIsInRocmVhZHMiLCJ0aHJlYWQiLCJtZW1iZXJzIiwibWVtYmVyIiwidGhyZWFkTWVtYmVyIiwiZ2V0QXBwbGljYXRpb25JbmZvIiwiYXBwbGljYXRpb24iLCJlZGl0QXBwbGljYXRpb25JbmZvIiwiYm9keSIsImdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm8iLCJleGNoYW5nZVRva2VuIiwiY2xpZW50SWQiLCJjbGllbnRTZWNyZXQiLCJyZXZva2VUb2tlbiIsImdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJyZXMiLCJzbmFrZWRSZXMiLCJnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyIsImdldEF1ZGl0TG9nIiwiZ2V0QXV0b21vZFJ1bGUiLCJnZXRBdXRvbW9kUnVsZXMiLCJnZXRBdmFpbGFibGVWb2ljZVJlZ2lvbnMiLCJ2b2ljZVJlZ2lvbiIsImdldEJhbiIsInVzZXJJZCIsImdldEJhbnMiLCJnZXRDaGFubmVsIiwiZ2V0Q2hhbm5lbEludml0ZXMiLCJnZXRDaGFubmVscyIsImdldENoYW5uZWxXZWJob29rcyIsImdldERtQ2hhbm5lbCIsImdldEdyb3VwRG1DaGFubmVsIiwiZ2V0RW1vamkiLCJlbW9qaUlkIiwiZ2V0QXBwbGljYXRpb25FbW9qaSIsImdldEVtb2ppcyIsImdldEFwcGxpY2F0aW9uRW1vamlzIiwiaXRlbXMiLCJpdGVtIiwiZ2V0Rm9sbG93dXBNZXNzYWdlIiwiZ2V0R2F0ZXdheUJvdCIsImdhdGV3YXlCb3QiLCJnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzIiwiZ2V0R3VpbGQiLCJnZXRHdWlsZHMiLCJnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZCIsImdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyIsImdldEd1aWxkUHJldmlldyIsImdldEd1aWxkU3RpY2tlciIsImdldEd1aWxkU3RpY2tlcnMiLCJnZXRHdWlsZFRlbXBsYXRlIiwiZ2V0R3VpbGRUZW1wbGF0ZXMiLCJnZXRHdWlsZFdlYmhvb2tzIiwiZ2V0SW50ZWdyYXRpb25zIiwiaW50ZWdyYXRpb24iLCJ0b1N0cmluZyIsImdldEludml0ZSIsImludml0ZUNvZGUiLCJpbnZpdGUiLCJnZXRJbnZpdGVzIiwiZ2V0TWVzc2FnZSIsImdldE1lc3NhZ2VzIiwiZ2V0U3RpY2tlclBhY2tzIiwic3RpY2tlclBhY2siLCJnZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJnZXRQaW5uZWRNZXNzYWdlcyIsImdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMiLCJnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzIiwiZ2V0UHJ1bmVDb3VudCIsImdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyIsImdldFJvbGVzIiwiZ2V0U2NoZWR1bGVkRXZlbnQiLCJnZXRTY2hlZHVsZWRFdmVudHMiLCJnZXRTY2hlZHVsZWRFdmVudFVzZXJzIiwidSIsInNub3dmbGFrZSIsImdldFNlc3Npb25JbmZvIiwiZ2V0U3RhZ2VJbnN0YW5jZSIsImdldFN0aWNrZXIiLCJnZXRUaHJlYWRNZW1iZXIiLCJnZXRUaHJlYWRNZW1iZXJzIiwiZ2V0UmVhY3Rpb25zIiwicmVhY3Rpb24iLCJnZXRVc2VyIiwiZ2V0Q3VycmVudFVzZXIiLCJnZXRVc2VyQ29ubmVjdGlvbnMiLCJnZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImFwcGxpY2F0aW9uSWQiLCJnZXRWYW5pdHlVcmwiLCJnZXRWb2ljZVJlZ2lvbnMiLCJnZXRXZWJob29rIiwiZ2V0V2ViaG9va01lc3NhZ2UiLCJnZXRXZWJob29rV2l0aFRva2VuIiwiZ2V0V2VsY29tZVNjcmVlbiIsImdldFdpZGdldCIsIndpZGdldCIsImdldFdpZGdldFNldHRpbmdzIiwicHVibGlzaE1lc3NhZ2UiLCJzZW5kTWVzc2FnZSIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJzdGFydFRocmVhZFdpdGhNZXNzYWdlIiwic3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSIsInN5bmNHdWlsZFRlbXBsYXRlIiwidXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyIsImNvbW1hbmRzIiwidXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzIiwiZWRpdEJvdE1lbWJlciIsImVkaXRNZW1iZXIiLCJnZXRNZW1iZXIiLCJnZXRDdXJyZW50TWVtYmVyIiwiZ2V0TWVtYmVycyIsInBydW5lTWVtYmVycyIsInNlYXJjaE1lbWJlcnMiLCJxdWVyeSIsImJ1bGtCYW5NZW1iZXJzIiwiYmFubmVkVXNlcnMiLCJ4IiwiZmFpbGVkVXNlcnMiLCJhZGRSZWFjdGlvbiIsImFkZFJlYWN0aW9ucyIsInJlYWN0aW9ucyIsIm9yZGVyZWQiLCJhZGRSb2xlIiwiYWRkVGhyZWFkTWVtYmVyIiwiYWRkRG1SZWNpcGllbnQiLCJhZGRHdWlsZE1lbWJlciIsImRlbGV0ZUF1dG9tb2RSdWxlIiwiZGVsZXRlQ2hhbm5lbCIsImRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGUiLCJvdmVyd3JpdGVJZCIsImRlbGV0ZUVtb2ppIiwiZGVsZXRlQXBwbGljYXRpb25FbW9qaSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZCIsImRlbGV0ZUd1aWxkIiwiZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJkZWxldGVHdWlsZFN0aWNrZXIiLCJkZWxldGVHdWlsZFRlbXBsYXRlIiwiZGVsZXRlSW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiZGVsZXRlSW52aXRlIiwiZGVsZXRlTWVzc2FnZSIsImRlbGV0ZU1lc3NhZ2VzIiwibWVzc2FnZUlkcyIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlbGV0ZU93blJlYWN0aW9uIiwiZGVsZXRlUmVhY3Rpb25zQWxsIiwiZGVsZXRlUmVhY3Rpb25zRW1vamkiLCJkZWxldGVSb2xlIiwiZGVsZXRlU2NoZWR1bGVkRXZlbnQiLCJkZWxldGVTdGFnZUluc3RhbmNlIiwiZGVsZXRlVXNlclJlYWN0aW9uIiwiZGVsZXRlV2ViaG9vayIsImRlbGV0ZVdlYmhvb2tNZXNzYWdlIiwiZGVsZXRlV2ViaG9va1dpdGhUb2tlbiIsImVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlcyIsImVkaXRDaGFubmVsUG9zaXRpb25zIiwiY2hhbm5lbFBvc2l0aW9ucyIsImVkaXRHdWlsZE1mYUxldmVsIiwibWZhTGV2ZWwiLCJlZGl0T3duVm9pY2VTdGF0ZSIsImVkaXRVc2VyVm9pY2VTdGF0ZSIsImVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImpvaW5UaHJlYWQiLCJsZWF2ZUd1aWxkIiwibGVhdmVUaHJlYWQiLCJyZW1vdmVSb2xlIiwicmVtb3ZlVGhyZWFkTWVtYmVyIiwicmVtb3ZlRG1SZWNpcGllbnQiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImludGVyYWN0aW9uSWQiLCJ0cmlnZ2VyVHlwaW5nSW5kaWNhdG9yIiwiYmFuTWVtYmVyIiwia2lja01lbWJlciIsInBpbk1lc3NhZ2UiLCJ1bmJhbk1lbWJlciIsInVucGluTWVzc2FnZSIsImdldEd1aWxkT25ib2FyZGluZyIsImd1aWxkT25ib2FyZGluZyIsImVkaXRHdWlsZE9uYm9hcmRpbmciLCJsaXN0RW50aXRsZW1lbnRzIiwiZW50aXRsZW1lbnQiLCJjcmVhdGVUZXN0RW50aXRsZW1lbnQiLCJkZWxldGVUZXN0RW50aXRsZW1lbnQi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
|
package/dist/esm/optionalize.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** Non object primitives */ export { }; // | object <- don't make object a primitive
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcHRpb25hbGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBPcHRpb25hbGl6ZUF1eDxUIGV4dGVuZHMgb2JqZWN0PiA9IElkPFxuICB7XG4gICAgW0sgaW4gS2V5c1dpdGhVbmRlZmluZWQ8VD5dPzogT3B0aW9uYWxpemU8VFtLXT5cbiAgfSAmIHtcbiAgICBbSyBpbiBFeGNsdWRlPGtleW9mIFQsIEtleXNXaXRoVW5kZWZpbmVkPFQ+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcHRpb25hbGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBPcHRpb25hbGl6ZUF1eDxUIGV4dGVuZHMgb2JqZWN0PiA9IElkPFxuICB7XG4gICAgW0sgaW4gS2V5c1dpdGhVbmRlZmluZWQ8VD5dPzogT3B0aW9uYWxpemU8VFtLXT5cbiAgfSAmIHtcbiAgICBbSyBpbiBFeGNsdWRlPGtleW9mIFQsIEtleXNXaXRoVW5kZWZpbmVkPFQ+Pl06IFRbS10gZXh0ZW5kcyBPYmplY3RMaXRlcmFsID8gT3B0aW9uYWxpemU8VFtLXT4gOiBUW0tdXG4gIH1cbj5cblxuLyoqXG4gKiBNYWtlcyBhbGwgb2YgcHJvcGVydGllcyBpbiBUIG9wdGlvbmFsIHdoZW4gdGhleSdyZSBudWxsIHwgdW5kZWZpbmVkXG4gKiBpdCBpcyByZWN1cnNpdmVcbiAqL1xuZXhwb3J0IHR5cGUgT3B0aW9uYWxpemU8VD4gPSBUIGV4dGVuZHMgb2JqZWN0XG4gID8gVCBleHRlbmRzIHVua25vd25bXVxuICAgID8gbnVtYmVyIGV4dGVuZHMgVFsnbGVuZ3RoJ11cbiAgICAgID8gVFtudW1iZXJdIGV4dGVuZHMgb2JqZWN0XG4gICAgICAgID8gT3B0aW9uYWxpemVBdXg8VFtudW1iZXJdPltdXG4gICAgICAgIDogVFxuICAgICAgOiBQYXJ0aWFsPFQ+XG4gICAgOiBPcHRpb25hbGl6ZUF1eDxUPlxuICA6IFRcblxuZXhwb3J0IHR5cGUgS2V5c1dpdGhVbmRlZmluZWQ8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdLT86IHVuZGVmaW5lZCBleHRlbmRzIFRbS10gPyBLIDogbnVsbCBleHRlbmRzIFRbS10gPyBLIDogbmV2ZXJcbn1ba2V5b2YgVF1cblxuLyoqXG4gKiBhbHRlcm5hdGl2ZSB0byAnb2JqZWN0JyBvciAne30nXG4gKiBAZXhhbXBsZTpcbiAqIGV4cG9ydCBjb25zdCBvOiBPYmplY3RMaXRlcmFsID0gW10gYXMgb2JqZWN0OyAvLyBlcnJvclxuICogZXhwb3J0IGNvbnN0IG86IG9iamVjdCA9IFtdOyAvLyBubyBlcnJvclxuICovXG5leHBvcnQgdHlwZSBPYmplY3RMaXRlcmFsPFQgPSB1bmtub3duPiA9IHtcbiAgW0sgaW4gUHJvcGVydHlLZXldOiBUXG59XG5cbi8qKlxuICogb2JqZWN0IGlkZW50aXR5IHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgSWQ8VD4gPSBUIGV4dGVuZHMgaW5mZXIgVVxuICA/IHtcbiAgICAgIFtLIGluIGtleW9mIFVdOiBVW0tdXG4gICAgfVxuICA6IG5ldmVyXG5cbi8qKiBBcnJheSB3aXRoIG5vIHV0aWx0eSBtZXRob2RzLCBha2EgT2JqZWN0LmNyZWF0ZShudWxsKSAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnJheVdpdGhOb1Byb3RvdHlwZTxUPiB7XG4gIFtpbmRleDogbnVtYmVyXTogVCB8IEFycmF5V2l0aE5vUHJvdG90eXBlPFQ+XG59XG5cbi8qKlxuICogQWxsb3dzIGFueSB0eXBlIGJ1dCBUXG4gKiBpdCBpcyByZWN1cnNpdmVcbiAqIEBleGFtcGxlXG4gKiBleHBvcnQgdHlwZSBSZXF1ZXN0RGF0YSA9IFJlY29yZDxzdHJpbmcsIEFueXRoaW5nQnV0PGJpZ2ludD4+O1xuICovXG5leHBvcnQgdHlwZSBBbnl0aGluZ0J1dDxUPiA9IEV4Y2x1ZGU8XG4gIHwgUHJpbWl0aXZlXG4gIHwge1xuICAgICAgW0sgaW4gUHJvcGVydHlLZXldOiBBbnl0aGluZ0J1dDxUPlxuICAgIH1cbiAgfCBBcnJheVdpdGhOb1Byb3RvdHlwZTxcbiAgICAgIHwgUHJpbWl0aXZlXG4gICAgICB8IHtcbiAgICAgICAgICBbSyBpbiBQcm9wZXJ0eUtleV06IEFueXRoaW5nQnV0PFQ+XG4gICAgICAgIH1cbiAgICA+LFxuICBUXG4+XG5cbi8qKiBOb24gb2JqZWN0IHByaW1pdGl2ZXMgKi9cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZSA9IHN0cmluZyB8IG51bWJlciB8IHN5bWJvbCB8IGJpZ2ludCB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsXG4vLyAgfCBvYmplY3QgPC0gZG9uJ3QgbWFrZSBvYmplY3QgYSBwcmltaXRpdmVcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRUEsMEJBQTBCLEdBQzFCLFdBQXNGLENBQ3RGLDZDQUE2QyJ9
|