@discordeno/bot 19.0.0-next.352887c → 19.0.0-next.376b29d
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 +2 -4
- package/dist/cjs/desiredProperties.cjs +541 -0
- package/dist/cjs/events.cjs +6 -0
- package/dist/cjs/handlers/index.cjs +3 -1
- package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +1 -1
- package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +6 -3
- package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +6 -3
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.cjs +17 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.cjs +20 -0
- package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/soundboard/SOUNDBOARD_SOUNDS.cjs +20 -0
- package/dist/cjs/handlers/soundboard/index.cjs +24 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_CREATE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_DELETE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/subscriptions/index.cjs +22 -0
- package/dist/cjs/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.cjs +26 -0
- package/dist/cjs/handlers/voice/index.cjs +2 -1
- package/dist/cjs/handlers.cjs +11 -2
- package/dist/cjs/helpers.cjs +110 -24
- package/dist/cjs/index.cjs +3 -3
- package/dist/cjs/transformers/activity.cjs +34 -4
- package/dist/cjs/transformers/application.cjs +6 -3
- package/dist/cjs/transformers/attachment.cjs +1 -1
- package/dist/cjs/transformers/auditLogEntry.cjs +10 -118
- package/dist/cjs/transformers/channel.cjs +7 -5
- package/dist/cjs/transformers/component.cjs +59 -13
- package/dist/cjs/transformers/emoji.cjs +16 -2
- package/dist/cjs/transformers/entitlement.cjs +1 -1
- package/dist/cjs/transformers/guild.cjs +4 -1
- package/dist/cjs/transformers/index.cjs +3 -1
- package/dist/cjs/transformers/interaction.cjs +83 -26
- package/dist/cjs/transformers/invite.cjs +1 -1
- package/dist/cjs/transformers/member.cjs +4 -1
- package/dist/cjs/transformers/message.cjs +80 -54
- package/dist/cjs/transformers/onboarding.cjs +5 -5
- package/dist/cjs/transformers/poll.cjs +1 -1
- package/dist/cjs/transformers/presence.cjs +1 -1
- package/dist/cjs/transformers/reverse/application.cjs +5 -2
- package/dist/cjs/transformers/reverse/auditLogEntry.cjs +11 -122
- package/dist/cjs/transformers/reverse/component.cjs +61 -14
- package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +2 -3
- package/dist/cjs/transformers/reverse/emoji.cjs +1 -1
- package/dist/cjs/transformers/reverse/index.cjs +1 -2
- package/dist/cjs/transformers/reverse/member.cjs +1 -1
- package/dist/cjs/transformers/reverse/presence.cjs +1 -1
- package/dist/cjs/transformers/reverse/team.cjs +1 -1
- package/dist/cjs/transformers/role.cjs +4 -2
- package/dist/cjs/transformers/scheduledEvent.cjs +1 -1
- package/dist/cjs/transformers/sku.cjs +1 -1
- package/dist/cjs/transformers/soundboardSound.cjs +25 -0
- 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/subscription.cjs +26 -0
- 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/guild.cjs +13 -2
- package/dist/cjs/transformers/toggles/member.cjs +32 -2
- package/dist/cjs/transformers/user.cjs +3 -1
- package/dist/cjs/transformers/voiceState.cjs +1 -1
- package/dist/cjs/transformers/webhook.cjs +1 -1
- package/dist/cjs/transformers.cjs +87 -548
- package/dist/esm/bot.js +2 -4
- package/dist/esm/desiredProperties.js +523 -0
- package/dist/esm/events.js +3 -0
- package/dist/esm/handlers/index.js +3 -1
- package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +1 -1
- package/dist/esm/handlers/messages/MESSAGE_CREATE.js +6 -3
- package/dist/esm/handlers/messages/MESSAGE_UPDATE.js +6 -3
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +10 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +7 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +10 -0
- package/dist/esm/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +7 -0
- package/dist/esm/handlers/soundboard/SOUNDBOARD_SOUNDS.js +10 -0
- package/dist/esm/handlers/soundboard/index.js +7 -0
- package/dist/esm/handlers/subscriptions/SUBSCRIPTION_CREATE.js +7 -0
- package/dist/esm/handlers/subscriptions/SUBSCRIPTION_DELETE.js +7 -0
- package/dist/esm/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +7 -0
- package/dist/esm/handlers/subscriptions/index.js +5 -0
- package/dist/esm/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +16 -0
- package/dist/esm/handlers/voice/index.js +2 -1
- package/dist/esm/handlers.js +11 -2
- package/dist/esm/helpers.js +110 -24
- package/dist/esm/index.js +3 -3
- package/dist/esm/transformers/activity.js +20 -1
- package/dist/esm/transformers/application.js +6 -3
- package/dist/esm/transformers/attachment.js +1 -1
- package/dist/esm/transformers/auditLogEntry.js +10 -118
- package/dist/esm/transformers/channel.js +7 -5
- package/dist/esm/transformers/component.js +59 -13
- package/dist/esm/transformers/emoji.js +16 -2
- package/dist/esm/transformers/entitlement.js +1 -1
- package/dist/esm/transformers/guild.js +4 -1
- package/dist/esm/transformers/index.js +4 -1
- package/dist/esm/transformers/interaction.js +74 -26
- package/dist/esm/transformers/invite.js +1 -1
- package/dist/esm/transformers/member.js +4 -1
- package/dist/esm/transformers/message.js +80 -54
- package/dist/esm/transformers/onboarding.js +5 -5
- package/dist/esm/transformers/poll.js +1 -1
- package/dist/esm/transformers/presence.js +1 -1
- package/dist/esm/transformers/reverse/application.js +5 -2
- package/dist/esm/transformers/reverse/auditLogEntry.js +11 -122
- package/dist/esm/transformers/reverse/component.js +61 -14
- package/dist/esm/transformers/reverse/createApplicationCommand.js +2 -3
- package/dist/esm/transformers/reverse/emoji.js +1 -1
- package/dist/esm/transformers/reverse/index.js +1 -2
- package/dist/esm/transformers/reverse/member.js +1 -1
- package/dist/esm/transformers/reverse/presence.js +1 -1
- package/dist/esm/transformers/reverse/team.js +1 -1
- package/dist/esm/transformers/role.js +4 -2
- package/dist/esm/transformers/scheduledEvent.js +1 -1
- package/dist/esm/transformers/sku.js +1 -1
- package/dist/esm/transformers/soundboardSound.js +15 -0
- 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/subscription.js +16 -0
- 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/guild.js +13 -2
- package/dist/esm/transformers/toggles/member.js +32 -2
- package/dist/esm/transformers/types.js +2 -2
- package/dist/esm/transformers/user.js +3 -1
- package/dist/esm/transformers/voiceState.js +1 -1
- package/dist/esm/transformers/webhook.js +1 -1
- package/dist/esm/transformers.js +85 -538
- package/dist/types/bot.d.ts +28 -225
- package/dist/types/bot.d.ts.map +1 -1
- package/dist/types/desiredProperties.d.ts +194 -0
- package/dist/types/desiredProperties.d.ts.map +1 -0
- package/dist/types/events.d.ts +231 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/handlers/index.d.ts +2 -0
- package/dist/types/handlers/index.d.ts.map +1 -1
- package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts +2 -2
- package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
- package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts +1 -1
- package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
- package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts +1 -1
- package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts +4 -0
- package/dist/types/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts +4 -0
- package/dist/types/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -0
- package/dist/types/handlers/soundboard/index.d.ts +6 -0
- package/dist/types/handlers/soundboard/index.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts +4 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts +4 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts +4 -0
- package/dist/types/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/subscriptions/index.d.ts +4 -0
- package/dist/types/handlers/subscriptions/index.d.ts.map +1 -0
- package/dist/types/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts +4 -0
- package/dist/types/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -0
- package/dist/types/handlers/voice/index.d.ts +1 -0
- package/dist/types/handlers/voice/index.d.ts.map +1 -1
- package/dist/types/handlers.d.ts +4 -5
- package/dist/types/handlers.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +126 -113
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/transformers/activity.d.ts +3 -1
- package/dist/types/transformers/activity.d.ts.map +1 -1
- package/dist/types/transformers/application.d.ts.map +1 -1
- package/dist/types/transformers/attachment.d.ts +2 -2
- package/dist/types/transformers/attachment.d.ts.map +1 -1
- package/dist/types/transformers/auditLogEntry.d.ts +1 -1
- package/dist/types/transformers/auditLogEntry.d.ts.map +1 -1
- package/dist/types/transformers/channel.d.ts +5 -6
- package/dist/types/transformers/channel.d.ts.map +1 -1
- package/dist/types/transformers/component.d.ts +2 -2
- package/dist/types/transformers/component.d.ts.map +1 -1
- package/dist/types/transformers/emoji.d.ts +3 -3
- package/dist/types/transformers/emoji.d.ts.map +1 -1
- package/dist/types/transformers/entitlement.d.ts +2 -2
- package/dist/types/transformers/entitlement.d.ts.map +1 -1
- package/dist/types/transformers/guild.d.ts +3 -4
- package/dist/types/transformers/guild.d.ts.map +1 -1
- package/dist/types/transformers/index.d.ts +3 -0
- package/dist/types/transformers/index.d.ts.map +1 -1
- package/dist/types/transformers/interaction.d.ts +18 -6
- package/dist/types/transformers/interaction.d.ts.map +1 -1
- package/dist/types/transformers/invite.d.ts +3 -3
- package/dist/types/transformers/invite.d.ts.map +1 -1
- package/dist/types/transformers/member.d.ts +3 -4
- package/dist/types/transformers/member.d.ts.map +1 -1
- package/dist/types/transformers/message.d.ts +11 -5
- package/dist/types/transformers/message.d.ts.map +1 -1
- package/dist/types/transformers/onboarding.d.ts +4 -4
- package/dist/types/transformers/onboarding.d.ts.map +1 -1
- package/dist/types/transformers/poll.d.ts +3 -3
- package/dist/types/transformers/poll.d.ts.map +1 -1
- package/dist/types/transformers/presence.d.ts +2 -2
- package/dist/types/transformers/presence.d.ts.map +1 -1
- package/dist/types/transformers/reverse/application.d.ts +2 -2
- package/dist/types/transformers/reverse/application.d.ts.map +1 -1
- package/dist/types/transformers/reverse/auditLogEntry.d.ts +1 -1
- package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -1
- package/dist/types/transformers/reverse/component.d.ts +2 -2
- package/dist/types/transformers/reverse/component.d.ts.map +1 -1
- package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +1 -1
- package/dist/types/transformers/reverse/emoji.d.ts +2 -2
- package/dist/types/transformers/reverse/emoji.d.ts.map +1 -1
- package/dist/types/transformers/reverse/index.d.ts +0 -1
- package/dist/types/transformers/reverse/index.d.ts.map +1 -1
- package/dist/types/transformers/reverse/member.d.ts +2 -2
- package/dist/types/transformers/reverse/member.d.ts.map +1 -1
- package/dist/types/transformers/reverse/presence.d.ts +2 -2
- package/dist/types/transformers/reverse/presence.d.ts.map +1 -1
- package/dist/types/transformers/reverse/team.d.ts +2 -2
- package/dist/types/transformers/reverse/team.d.ts.map +1 -1
- package/dist/types/transformers/role.d.ts +3 -4
- package/dist/types/transformers/role.d.ts.map +1 -1
- package/dist/types/transformers/scheduledEvent.d.ts +3 -3
- package/dist/types/transformers/scheduledEvent.d.ts.map +1 -1
- package/dist/types/transformers/sku.d.ts +2 -2
- package/dist/types/transformers/sku.d.ts.map +1 -1
- package/dist/types/transformers/soundboardSound.d.ts +4 -0
- package/dist/types/transformers/soundboardSound.d.ts.map +1 -0
- package/dist/types/transformers/stageInstance.d.ts +2 -2
- package/dist/types/transformers/stageInstance.d.ts.map +1 -1
- package/dist/types/transformers/stageInviteInstance.d.ts +3 -3
- package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -1
- package/dist/types/transformers/sticker.d.ts +3 -3
- package/dist/types/transformers/sticker.d.ts.map +1 -1
- package/dist/types/transformers/subscription.d.ts +4 -0
- package/dist/types/transformers/subscription.d.ts.map +1 -0
- package/dist/types/transformers/team.d.ts +2 -2
- package/dist/types/transformers/team.d.ts.map +1 -1
- package/dist/types/transformers/template.d.ts +2 -2
- package/dist/types/transformers/template.d.ts.map +1 -1
- package/dist/types/transformers/threadMember.d.ts +1 -2
- package/dist/types/transformers/threadMember.d.ts.map +1 -1
- package/dist/types/transformers/toggles/guild.d.ts +9 -1
- package/dist/types/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/types/transformers/toggles/member.d.ts +20 -0
- package/dist/types/transformers/toggles/member.d.ts.map +1 -1
- package/dist/types/transformers/types.d.ts +160 -25
- package/dist/types/transformers/types.d.ts.map +1 -1
- package/dist/types/transformers/user.d.ts +2 -2
- package/dist/types/transformers/user.d.ts.map +1 -1
- package/dist/types/transformers/voiceState.d.ts +3 -4
- package/dist/types/transformers/voiceState.d.ts.map +1 -1
- package/dist/types/transformers/webhook.d.ts +2 -2
- package/dist/types/transformers/webhook.d.ts.map +1 -1
- package/dist/types/transformers.d.ts +176 -576
- package/dist/types/transformers.d.ts.map +1 -1
- package/package.json +15 -15
- package/dist/cjs/optionalize.cjs +0 -7
- package/dist/cjs/transformers/reverse/interactionResponse.cjs +0 -34
- package/dist/cjs/typings.cjs +0 -16
- package/dist/esm/optionalize.js +0 -3
- package/dist/esm/transformers/reverse/interactionResponse.js +0 -24
- package/dist/esm/typings.js +0 -6
- package/dist/types/optionalize.d.ts +0 -46
- package/dist/types/optionalize.d.ts.map +0 -1
- package/dist/types/transformers/reverse/interactionResponse.d.ts +0 -4
- package/dist/types/transformers/reverse/interactionResponse.d.ts.map +0 -1
- package/dist/types/typings.d.ts +0 -178
- package/dist/types/typings.d.ts.map +0 -1
package/dist/cjs/bot.cjs
CHANGED
|
@@ -45,9 +45,7 @@ function createBot(options) {
|
|
|
45
45
|
const bot = {
|
|
46
46
|
id,
|
|
47
47
|
applicationId: id,
|
|
48
|
-
transformers: (0, _transformers.createTransformers)(options.transformers,
|
|
49
|
-
defaultDesiredPropertiesValue: options.defaultDesiredPropertiesValue ?? false
|
|
50
|
-
}),
|
|
48
|
+
transformers: (0, _transformers.createTransformers)(options.transformers),
|
|
51
49
|
handlers: (0, _handlers.createBotGatewayHandlers)(options.handlers ?? {}),
|
|
52
50
|
rest: (0, _rest.createRestManager)(options.rest),
|
|
53
51
|
gateway: (0, _gateway.createGatewayManager)(options.gateway),
|
|
@@ -81,4 +79,4 @@ function createBot(options) {
|
|
|
81
79
|
return bot;
|
|
82
80
|
}
|
|
83
81
|
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IFNoYXJkU29ja2V0Q2xvc2VDb2RlcywgY3JlYXRlR2F0ZXdheU1hbmFnZXIgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkR2F0ZXdheVBheWxvYWQsIERpc2NvcmRSZWFkeSwgR2F0ZXdheUludGVudHMsIFJlY3Vyc2l2ZVBhcnRpYWwgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IHR5cGUgQ29sbGVjdGlvbiwgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB7IGNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVycyB9IGZyb20gJy4vaGFuZGxlcnMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEhlbHBlcnMsIGNyZWF0ZUJvdEhlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMuanMnXG5pbXBvcnQgeyB0eXBlIFRyYW5zZm9ybWVycywgdHlwZSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgY3JlYXRlVHJhbnNmb3JtZXJzIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEF1ZGl0TG9nRW50cnksXG4gIEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICBBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIENoYW5uZWwsXG4gIEVtb2ppLFxuICBFbnRpdGxlbWVudCxcbiAgR3VpbGQsXG4gIEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gIEludGVncmF0aW9uLFxuICBJbnRlcmFjdGlvbixcbiAgSW52aXRlLFxuICBNZW1iZXIsXG4gIE1lc3NhZ2UsXG4gIFByZXNlbmNlVXBkYXRlLFxuICBSb2xlLFxuICBTY2hlZHVsZWRFdmVudCxcbiAgU3RpY2tlcixcbiAgVGhyZWFkTWVtYmVyLFxuICBVc2VyLFxuICBWb2ljZVN0YXRlLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgQm90R2F0ZXdheUhhbmRsZXJPcHRpb25zIH0gZnJvbSAnLi90eXBpbmdzLmpzJ1xuXG4vKipcbiAqIENyZWF0ZSBhIGJvdCBvYmplY3QgdGhhdCB3aWxsIG1haW50YWluIHRoZSByZXN0IGFuZCBnYXRld2F5IGNvbm5lY3Rpb24uXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgQ29uZmlndXJhdGlvbnMgb3B0aW9ucyB1c2VkIHRvIG1hbmFnZSB0aGlzIGJvdC5cbiAqIEByZXR1cm5zIEJvdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQm90KG9wdGlvbnM6IENyZWF0ZUJvdE9wdGlvbnMpOiBCb3Qge1xuICBpZiAoIW9wdGlvbnMudHJhbnNmb3JtZXJzKSBvcHRpb25zLnRyYW5zZm9ybWVycyA9IHt9XG4gIGlmICghb3B0aW9ucy50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMpIG9wdGlvbnMudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzID0gb3B0aW9ucy5kZXNpcmVkUHJvcGVydGllc1xuICBpZiAoIW9wdGlvbnMucmVzdCkgb3B0aW9ucy5yZXN0ID0geyB0b2tlbjogb3B0aW9ucy50b2tlbiwgYXBwbGljYXRpb25JZDogb3B0aW9ucy5hcHBsaWNhdGlvbklkIH1cbiAgaWYgKCFvcHRpb25zLnJlc3QudG9rZW4pIG9wdGlvbnMucmVzdC50b2tlbiA9IG9wdGlvbnMudG9rZW5cbiAgaWYgKCFvcHRpb25zLnJlc3QubG9nZ2VyICYmIG9wdGlvbnMubG9nZ2VyRmFjdG9yeSkgb3B0aW9ucy5yZXN0LmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSgnUkVTVCcpXG4gIGlmICghb3B0aW9ucy5nYXRld2F5KSBvcHRpb25zLmdhdGV3YXkgPSB7IHRva2VuOiBvcHRpb25zLnRva2VuIH1cbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkudG9rZW4pIG9wdGlvbnMuZ2F0ZXdheS50b2tlbiA9IG9wdGlvbnMudG9rZW5cbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkuZXZlbnRzKSBvcHRpb25zLmdhdGV3YXkuZXZlbnRzID0ge31cbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkubG9nZ2VyICYmIG9wdGlvbnMubG9nZ2VyRmFjdG9yeSkgb3B0aW9ucy5nYXRld2F5LmxvZ2dlciA9IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSgnR0FURVdBWScpXG4gIGlmICghb3B0aW9ucy5nYXRld2F5LmV2ZW50cy5tZXNzYWdlKSB7XG4gICAgb3B0aW9ucy5nYXRld2F5LmV2ZW50cy5tZXNzYWdlID0gYXN5bmMgKHNoYXJkLCBkYXRhKSA9PiB7XG4gICAgICAvLyBUUklHR0VSIFJBVyBFVkVOVFxuICAgICAgYm90LmV2ZW50cy5yYXc/LihkYXRhLCBzaGFyZC5pZClcblxuICAgICAgaWYgKCFkYXRhLnQpIHJldHVyblxuXG4gICAgICAvLyBSVU4gRElTUEFUQ0ggQ0hFQ0tcbiAgICAgIGF3YWl0IGJvdC5ldmVudHMuZGlzcGF0Y2hSZXF1aXJlbWVudHM/LihkYXRhLCBzaGFyZC5pZClcbiAgICAgIGJvdC5oYW5kbGVyc1tkYXRhLnQgYXMga2V5b2YgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzPl0/Lihib3QsIGRhdGEsIHNoYXJkLmlkKVxuICAgIH1cbiAgfVxuXG4gIG9wdGlvbnMuZ2F0ZXdheS5pbnRlbnRzID0gb3B0aW9ucy5pbnRlbnRzXG4gIG9wdGlvbnMuZ2F0ZXdheS5wcmVmZXJTbmFrZUNhc2UgPSB0cnVlXG5cbiAgY29uc3QgaWQgPSBnZXRCb3RJZEZyb21Ub2tlbihvcHRpb25zLnRva2VuKVxuXG4gIGNvbnN0IGJvdDogQm90ID0ge1xuICAgIGlkLFxuICAgIGFwcGxpY2F0aW9uSWQ6IGlkLFxuICAgIHRyYW5zZm9ybWVyczogY3JlYXRlVHJhbnNmb3JtZXJzKG9wdGlvbnMudHJhbnNmb3JtZXJzLCB7IGRlZmF1bHREZXNpcmVkUHJvcGVydGllc1ZhbHVlOiBvcHRpb25zLmRlZmF1bHREZXNpcmVkUHJvcGVydGllc1ZhbHVlID8/IGZhbHNlIH0pLFxuICAgIGhhbmRsZXJzOiBjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMob3B0aW9ucy5oYW5kbGVycyA/PyB7fSksXG4gICAgcmVzdDogY3JlYXRlUmVzdE1hbmFnZXIob3B0aW9ucy5yZXN0IGFzIENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucyksXG4gICAgZ2F0ZXdheTogY3JlYXRlR2F0ZXdheU1hbmFnZXIob3B0aW9ucy5nYXRld2F5IGFzIENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucyksXG4gICAgZXZlbnRzOiBvcHRpb25zLmV2ZW50cyA/PyB7fSxcbiAgICBsb2dnZXI6IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSA/IG9wdGlvbnMubG9nZ2VyRmFjdG9yeSgnQk9UJykgOiBjcmVhdGVMb2dnZXIoeyBuYW1lOiAnQk9UJyB9KSxcbiAgICAvLyBTZXQgdXAgaGVscGVycyBiZWxvdy5cbiAgICBoZWxwZXJzOiB7fSBhcyBCb3RIZWxwZXJzLFxuICAgIGFzeW5jIHN0YXJ0KCkge1xuICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LmNvbm5lY3Rpb24pIHtcbiAgICAgICAgYm90LmdhdGV3YXkuY29ubmVjdGlvbiA9IGF3YWl0IGJvdC5yZXN0LmdldFNlc3Npb25JbmZvKClcblxuICAgICAgICAvLyBDaGVjayBmb3Igb3ZlcnJpZGVzIGluIHRoZSBjb25maWd1cmF0aW9uXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py51cmwpIGJvdC5nYXRld2F5LnVybCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24udXJsXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS50b3RhbFNoYXJkcyA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzXG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmdhdGV3YXk/Lmxhc3RTaGFyZElkICYmICFvcHRpb25zLmdhdGV3YXk/LnRvdGFsU2hhcmRzKSBib3QuZ2F0ZXdheS5sYXN0U2hhcmRJZCA9IGJvdC5nYXRld2F5LmNvbm5lY3Rpb24uc2hhcmRzIC0gMVxuICAgICAgfVxuXG4gICAgICBpZiAoIWJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8pIHtcbiAgICAgICAgYm90LmdhdGV3YXkucmVzaGFyZGluZy5nZXRTZXNzaW9uSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R2F0ZXdheUJvdCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXdhaXQgYm90LmdhdGV3YXkuc3Bhd25TaGFyZHMoKVxuICAgIH0sXG5cbiAgICBhc3luYyBzaHV0ZG93bigpIHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QuZ2F0ZXdheS5zaHV0ZG93bihTaGFyZFNvY2tldENsb3NlQ29kZXMuU2h1dGRvd24sICdVc2VyIHJlcXVlc3RlZCBib3Qgc3RvcCcpXG4gICAgfSxcbiAgfVxuXG4gIGJvdC5oZWxwZXJzID0gY3JlYXRlQm90SGVscGVycyhib3QpXG4gIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uSWQpIGJvdC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uob3B0aW9ucy5hcHBsaWNhdGlvbklkKVxuXG4gIHJldHVybiBib3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCb3RPcHRpb25zIHtcbiAgLyoqIFRoZSBib3QncyB0b2tlbi4gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogQXBwbGljYXRpb24gSWQgb2YgdGhlIGJvdCBpbmNhc2UgaXQgaXMgYW4gb2xkIGJvdCB0b2tlbi4gKi9cbiAgYXBwbGljYXRpb25JZD86IEJpZ1N0cmluZ1xuICAvKiogVGhlIGJvdCdzIGludGVudHMgdGhhdCB3aWxsIGJlIHVzZWQgdG8gbWFrZSBhIGNvbm5lY3Rpb24gd2l0aCBkaXNjb3JkcyBnYXRld2F5LiAqL1xuICBpbnRlbnRzPzogR2F0ZXdheUludGVudHNcbiAgLyoqIEFueSBvcHRpb25zIHlvdSB3aXNoIHRvIHByb3ZpZGUgdG8gdGhlIHJlc3QgbWFuYWdlci4gKi9cbiAgcmVzdD86IE9taXQ8Q3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zLCAndG9rZW4nPiAmIFBhcnRpYWw8UGljazxDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsICd0b2tlbic+PlxuICAvKiogQW55IG9wdGlvbnMgeW91IHdpc2ggdG8gcHJvdmlkZSB0byB0aGUgZ2F0ZXdheSBtYW5hZ2VyLiAqL1xuICBnYXRld2F5PzogT21pdDxDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsICd0b2tlbic+ICYgUGFydGlhbDxQaWNrPENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4+XG4gIC8qKiBUaGUgZXZlbnQgaGFuZGxlcnMuICovXG4gIGV2ZW50cz86IFBhcnRpYWw8RXZlbnRIYW5kbGVycz5cbiAgLyoqIFRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgdHJhbnNmb3JtIGRpc2NvcmQgb2JqZWN0cyB0byBkaXNjb3JkZW5vIHNoYXBlZCBvYmplY3RzLiAqL1xuICB0cmFuc2Zvcm1lcnM/OiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVycz5cbiAgLyoqIFRoZSBoYW5kbGVyIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBoYW5kbGUgaW5jb21pbmcgZGlzY29yZCBwYXlsb2FkcyBmcm9tIGdhdGV3YXkgYW5kIGNhbGwgYW4gZXZlbnQuICovXG4gIGhhbmRsZXJzPzogUGFydGlhbDxCb3RHYXRld2F5SGFuZGxlck9wdGlvbnM+XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugd2l0aCBjYXV0aW9uXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZWFyIGZ1dHVyZSB3aGVuIHRoZSBDTEkgaXMgY29tcGxldGUuIEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2Ugd2hhdHNvZXZlci5cbiAgICogQWx0aG91Z2ggaXQgaXMgaGFyZGVyIHRvIGNyZWF0ZSB5b3VyIGJvdCB3aXRob3V0IHRoaXMsIGl0IGlzIHN0aWxsIGhpZ2hseSByZWNvbW1lbmRlZCB0byBkbyBpdCB0aGF0IHdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGRlZmF1bHREZXNpcmVkUHJvcGVydGllc1ZhbHVlPzogYm9vbGVhblxuICAvKipcbiAgICogU2V0IHRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSBib3RcbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIGRlc2lyZWRQcm9wZXJ0aWVzPzogUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcz5cbiAgLyoqXG4gICAqIFRoaXMgZmFjdG9yeSB3aWxsIGJlIGludm9rZWQgdG8gY3JlYXRlIHRoZSBsb2dnZXIgZm9yIGdhdGV3YXksIHJlc3QgYW5kIGJvdFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiBJZiBub3QgcHJvdmlkZWQgdGhlIGRlZmF1bHQgbG9nZ2VyIHdpbGwgYmUgdXNlZCB3aXRoIHJlc3QgYW5kIGdhdGV3YXkgc2hhcmluZyB0aGUgc2FtZSBsb2dnZXJcbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgMyB0aW1lcywgb25lIHdpdGggdGhlIG5hbWUgb2YgYFJFU1RgLCBvbmUgd2l0aCBgR0FURVdBWWAgYW5kIHRoZSB0aGlyZCBvbmUgd2l0aCBuYW1lIGBCT1RgXG4gICAqL1xuICBsb2dnZXJGYWN0b3J5PzogKG5hbWU6ICdSRVNUJyB8ICdHQVRFV0FZJyB8ICdCT1QnKSA9PiBQaWNrPHR5cGVvZiBsb2dnZXIsICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgJ2ZhdGFsJz5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3Qge1xuICAvKiogVGhlIGlkIG9mIHRoZSBib3QuICovXG4gIGlkOiBiaWdpbnRcbiAgLyoqIFRoZSBhcHBsaWNhdGlvbiBpZCBvZiB0aGUgYm90LiBUaGlzIGlzIHVzdWFsbHkgdGhlIHNhbWUgYXMgaWQgYnV0IGluIHRoZSBjYXNlIG9mIG9sZCBib3RzIGNhbiBiZSBkaWZmZXJlbnQuICovXG4gIGFwcGxpY2F0aW9uSWQ6IGJpZ2ludFxuICAvKiogVGhlIHJlc3QgbWFuYWdlci4gKi9cbiAgcmVzdDogUmVzdE1hbmFnZXJcbiAgLyoqIFRoZSBnYXRld2F5IG1hbmFnZXIuICovXG4gIGdhdGV3YXk6IEdhdGV3YXlNYW5hZ2VyXG4gIC8qKiBUaGUgZXZlbnQgaGFuZGxlcnMuICovXG4gIGV2ZW50czogUGFydGlhbDxFdmVudEhhbmRsZXJzPlxuICAvKiogQSBsb2dnZXIgdXRpbGl0eSB0byBtYWtlIGl0IGVhc3kgdG8gbG9nIG5pY2UgYW5kIHVzZWZ1bCB0aGluZ3MgaW4gdGhlIGJvdCBjb2RlLiAqL1xuICBsb2dnZXI6IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJzXG4gIC8qKiBUaGUgaGFuZGxlciBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIGluY29taW5nIGRpc2NvcmQgcGF5bG9hZHMgZnJvbSBnYXRld2F5IGFuZCBjYWxsIGFuIGV2ZW50LiAqL1xuICBoYW5kbGVyczogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzPlxuICBoZWxwZXJzOiBCb3RIZWxwZXJzXG4gIC8qKiBTdGFydCB0aGUgYm90IGNvbm5lY3Rpb24gdG8gdGhlIGdhdGV3YXkuICovXG4gIHN0YXJ0OiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBTaHV0cyBkb3duIGFsbCB0aGUgYm90IGNvbm5lY3Rpb25zIHRvIHRoZSBnYXRld2F5LiAqL1xuICBzaHV0ZG93bjogKCkgPT4gUHJvbWlzZTx2b2lkPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50SGFuZGxlcnMge1xuICBkZWJ1ZzogKHRleHQ6IHN0cmluZywgLi4uYXJnczogYW55W10pID0+IHVua25vd25cbiAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnNVcGRhdGU6IChjb21tYW5kOiBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zKSA9PiB1bmtub3duXG4gIGd1aWxkQXVkaXRMb2dFbnRyeUNyZWF0ZTogKGxvZzogQXVkaXRMb2dFbnRyeSwgZ3VpbGRJZDogYmlnaW50KSA9PiB1bmtub3duXG4gIGF1dG9tb2RSdWxlQ3JlYXRlOiAocnVsZTogQXV0b01vZGVyYXRpb25SdWxlKSA9PiB1bmtub3duXG4gIGF1dG9tb2RSdWxlVXBkYXRlOiAocnVsZTogQXV0b01vZGVyYXRpb25SdWxlKSA9PiB1bmtub3duXG4gIGF1dG9tb2RSdWxlRGVsZXRlOiAocnVsZTogQXV0b01vZGVyYXRpb25SdWxlKSA9PiB1bmtub3duXG4gIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IChwYXlsb2FkOiBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbikgPT4gdW5rbm93blxuICB0aHJlYWRDcmVhdGU6ICh0aHJlYWQ6IENoYW5uZWwpID0+IHVua25vd25cbiAgdGhyZWFkRGVsZXRlOiAodGhyZWFkOiBDaGFubmVsKSA9PiB1bmtub3duXG4gIHRocmVhZExpc3RTeW5jOiAocGF5bG9hZDogeyBndWlsZElkOiBiaWdpbnQ7IGNoYW5uZWxJZHM/OiBiaWdpbnRbXTsgdGhyZWFkczogQ2hhbm5lbFtdOyBtZW1iZXJzOiBUaHJlYWRNZW1iZXJbXSB9KSA9PiB1bmtub3duXG4gIHRocmVhZE1lbWJlclVwZGF0ZTogKHBheWxvYWQ6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBqb2luZWRBdDogbnVtYmVyOyBmbGFnczogbnVtYmVyIH0pID0+IHVua25vd25cbiAgdGhyZWFkTWVtYmVyc1VwZGF0ZTogKHBheWxvYWQ6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBhZGRlZE1lbWJlcnM/OiBUaHJlYWRNZW1iZXJbXTsgcmVtb3ZlZE1lbWJlcklkcz86IGJpZ2ludFtdIH0pID0+IHVua25vd25cbiAgdGhyZWFkVXBkYXRlOiAodGhyZWFkOiBDaGFubmVsKSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50Q3JlYXRlOiAoZXZlbnQ6IFNjaGVkdWxlZEV2ZW50KSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50VXBkYXRlOiAoZXZlbnQ6IFNjaGVkdWxlZEV2ZW50KSA9PiB1bmtub3duXG4gIHNjaGVkdWxlZEV2ZW50RGVsZXRlOiAoZXZlbnQ6IFNjaGVkdWxlZEV2ZW50KSA9PiB1bmtub3duXG4gIC8qKiBTZW50IHdoZW4gYSB1c2VyIGhhcyBzdWJzY3JpYmVkIHRvIGEgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50LiBFWFBFUklNRU5UQUwhICovXG4gIHNjaGVkdWxlZEV2ZW50VXNlckFkZDogKHBheWxvYWQ6IHsgZ3VpbGRTY2hlZHVsZWRFdmVudElkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgdXNlcklkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICAvKiogU2VudCB3aGVuIGEgdXNlciBoYXMgdW5zdWJzY3JpYmVkIHRvIGEgZ3VpbGQgc2NoZWR1bGVkIGV2ZW50LiBFWFBFUklNRU5UQUwhICovXG4gIHNjaGVkdWxlZEV2ZW50VXNlclJlbW92ZTogKHBheWxvYWQ6IHsgZ3VpbGRTY2hlZHVsZWRFdmVudElkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgdXNlcklkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICByZWFkeTogKFxuICAgIHBheWxvYWQ6IHtcbiAgICAgIHNoYXJkSWQ6IG51bWJlclxuICAgICAgdjogbnVtYmVyXG4gICAgICB1c2VyOiBVc2VyXG4gICAgICBndWlsZHM6IGJpZ2ludFtdXG4gICAgICBzZXNzaW9uSWQ6IHN0cmluZ1xuICAgICAgc2hhcmQ/OiBudW1iZXJbXVxuICAgICAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gICAgfSxcbiAgICByYXdQYXlsb2FkOiBEaXNjb3JkUmVhZHksXG4gICkgPT4gdW5rbm93blxuICBpbnRlcmFjdGlvbkNyZWF0ZTogKGludGVyYWN0aW9uOiBJbnRlcmFjdGlvbikgPT4gdW5rbm93blxuICBpbnRlZ3JhdGlvbkNyZWF0ZTogKGludGVncmF0aW9uOiBJbnRlZ3JhdGlvbikgPT4gdW5rbm93blxuICBpbnRlZ3JhdGlvbkRlbGV0ZTogKHBheWxvYWQ6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBhcHBsaWNhdGlvbklkPzogYmlnaW50IH0pID0+IHVua25vd25cbiAgaW50ZWdyYXRpb25VcGRhdGU6IChwYXlsb2FkOiB7IGd1aWxkSWQ6IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIGludml0ZUNyZWF0ZTogKGludml0ZTogSW52aXRlKSA9PiB1bmtub3duXG4gIGludml0ZURlbGV0ZTogKHBheWxvYWQ6IHsgY2hhbm5lbElkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQ7IGNvZGU6IHN0cmluZyB9KSA9PiB1bmtub3duXG4gIGd1aWxkTWVtYmVyQWRkOiAobWVtYmVyOiBNZW1iZXIsIHVzZXI6IFVzZXIpID0+IHVua25vd25cbiAgZ3VpbGRNZW1iZXJSZW1vdmU6ICh1c2VyOiBVc2VyLCBndWlsZElkOiBiaWdpbnQpID0+IHVua25vd25cbiAgZ3VpbGRNZW1iZXJVcGRhdGU6IChtZW1iZXI6IE1lbWJlciwgdXNlcjogVXNlcikgPT4gdW5rbm93blxuICBndWlsZFN0aWNrZXJzVXBkYXRlOiAocGF5bG9hZDogeyBndWlsZElkOiBiaWdpbnQ7IHN0aWNrZXJzOiBTdGlja2VyW10gfSkgPT4gdW5rbm93blxuICBtZXNzYWdlQ3JlYXRlOiAobWVzc2FnZTogTWVzc2FnZSkgPT4gdW5rbm93blxuICBtZXNzYWdlRGVsZXRlOiAocGF5bG9hZDogeyBpZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludCB9LCBtZXNzYWdlPzogTWVzc2FnZSkgPT4gdW5rbm93blxuICBtZXNzYWdlRGVsZXRlQnVsazogKHBheWxvYWQ6IHsgaWRzOiBiaWdpbnRbXTsgY2hhbm5lbElkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICBtZXNzYWdlVXBkYXRlOiAobWVzc2FnZTogTWVzc2FnZSkgPT4gdW5rbm93blxuICByZWFjdGlvbkFkZDogKHBheWxvYWQ6IHtcbiAgICB1c2VySWQ6IGJpZ2ludFxuICAgIGNoYW5uZWxJZDogYmlnaW50XG4gICAgbWVzc2FnZUlkOiBiaWdpbnRcbiAgICBndWlsZElkPzogYmlnaW50XG4gICAgbWVtYmVyPzogTWVtYmVyXG4gICAgdXNlcj86IFVzZXJcbiAgICBlbW9qaTogRW1vamlcbiAgICBtZXNzYWdlQXV0aG9ySWQ/OiBiaWdpbnRcbiAgICBidXJzdDogYm9vbGVhblxuICAgIGJ1cnN0Q29sb3JzPzogc3RyaW5nW11cbiAgfSkgPT4gdW5rbm93blxuICByZWFjdGlvblJlbW92ZTogKHBheWxvYWQ6IHsgdXNlcklkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyBtZXNzYWdlSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludDsgZW1vamk6IEVtb2ppOyBidXJzdDogYm9vbGVhbiB9KSA9PiB1bmtub3duXG4gIHJlYWN0aW9uUmVtb3ZlRW1vamk6IChwYXlsb2FkOiB7IGNoYW5uZWxJZDogYmlnaW50OyBtZXNzYWdlSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludDsgZW1vamk6IEVtb2ppIH0pID0+IHVua25vd25cbiAgcmVhY3Rpb25SZW1vdmVBbGw6IChwYXlsb2FkOiB7IGNoYW5uZWxJZDogYmlnaW50OyBtZXNzYWdlSWQ6IGJpZ2ludDsgZ3VpbGRJZD86IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIHByZXNlbmNlVXBkYXRlOiAocHJlc2VuY2U6IFByZXNlbmNlVXBkYXRlKSA9PiB1bmtub3duXG4gIHZvaWNlU2VydmVyVXBkYXRlOiAocGF5bG9hZDogeyB0b2tlbjogc3RyaW5nOyBlbmRwb2ludD86IHN0cmluZzsgZ3VpbGRJZDogYmlnaW50IH0pID0+IHVua25vd25cbiAgdm9pY2VTdGF0ZVVwZGF0ZTogKHZvaWNlU3RhdGU6IFZvaWNlU3RhdGUpID0+IHVua25vd25cbiAgY2hhbm5lbENyZWF0ZTogKGNoYW5uZWw6IENoYW5uZWwpID0+IHVua25vd25cbiAgZGlzcGF0Y2hSZXF1aXJlbWVudHM6IChkYXRhOiBEaXNjb3JkR2F0ZXdheVBheWxvYWQsIHNoYXJkSWQ6IG51bWJlcikgPT4gdW5rbm93blxuICBjaGFubmVsRGVsZXRlOiAoY2hhbm5lbDogQ2hhbm5lbCkgPT4gdW5rbm93blxuICBjaGFubmVsUGluc1VwZGF0ZTogKGRhdGE6IHsgZ3VpbGRJZD86IGJpZ2ludDsgY2hhbm5lbElkOiBiaWdpbnQ7IGxhc3RQaW5UaW1lc3RhbXA/OiBudW1iZXIgfSkgPT4gdW5rbm93blxuICBjaGFubmVsVXBkYXRlOiAoY2hhbm5lbDogQ2hhbm5lbCkgPT4gdW5rbm93blxuICBzdGFnZUluc3RhbmNlQ3JlYXRlOiAoZGF0YTogeyBpZDogYmlnaW50OyBndWlsZElkOiBiaWdpbnQ7IGNoYW5uZWxJZDogYmlnaW50OyB0b3BpYzogc3RyaW5nIH0pID0+IHVua25vd25cbiAgc3RhZ2VJbnN0YW5jZURlbGV0ZTogKGRhdGE6IHsgaWQ6IGJpZ2ludDsgZ3VpbGRJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgdG9waWM6IHN0cmluZyB9KSA9PiB1bmtub3duXG4gIHN0YWdlSW5zdGFuY2VVcGRhdGU6IChkYXRhOiB7IGlkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludDsgY2hhbm5lbElkOiBiaWdpbnQ7IHRvcGljOiBzdHJpbmcgfSkgPT4gdW5rbm93blxuICBndWlsZEVtb2ppc1VwZGF0ZTogKHBheWxvYWQ6IHsgZ3VpbGRJZDogYmlnaW50OyBlbW9qaXM6IENvbGxlY3Rpb248YmlnaW50LCBFbW9qaT4gfSkgPT4gdW5rbm93blxuICBndWlsZEJhbkFkZDogKHVzZXI6IFVzZXIsIGd1aWxkSWQ6IGJpZ2ludCkgPT4gdW5rbm93blxuICBndWlsZEJhblJlbW92ZTogKHVzZXI6IFVzZXIsIGd1aWxkSWQ6IGJpZ2ludCkgPT4gdW5rbm93blxuICBndWlsZENyZWF0ZTogKGd1aWxkOiBHdWlsZCkgPT4gdW5rbm93blxuICBndWlsZERlbGV0ZTogKGlkOiBiaWdpbnQsIHNoYXJkSWQ6IG51bWJlcikgPT4gdW5rbm93blxuICBndWlsZFVuYXZhaWxhYmxlOiAoaWQ6IGJpZ2ludCwgc2hhcmRJZDogbnVtYmVyKSA9PiB1bmtub3duXG4gIGd1aWxkVXBkYXRlOiAoZ3VpbGQ6IEd1aWxkKSA9PiB1bmtub3duXG4gIHJhdzogKGRhdGE6IERpc2NvcmRHYXRld2F5UGF5bG9hZCwgc2hhcmRJZDogbnVtYmVyKSA9PiB1bmtub3duXG4gIHJvbGVDcmVhdGU6IChyb2xlOiBSb2xlKSA9PiB1bmtub3duXG4gIHJvbGVEZWxldGU6IChwYXlsb2FkOiB7IGd1aWxkSWQ6IGJpZ2ludDsgcm9sZUlkOiBiaWdpbnQgfSkgPT4gdW5rbm93blxuICByb2xlVXBkYXRlOiAocm9sZTogUm9sZSkgPT4gdW5rbm93blxuICB3ZWJob29rc1VwZGF0ZTogKHBheWxvYWQ6IHsgY2hhbm5lbElkOiBiaWdpbnQ7IGd1aWxkSWQ6IGJpZ2ludCB9KSA9PiB1bmtub3duXG4gIGJvdFVwZGF0ZTogKHVzZXI6IFVzZXIpID0+IHVua25vd25cbiAgdHlwaW5nU3RhcnQ6IChwYXlsb2FkOiB7IGd1aWxkSWQ6IGJpZ2ludCB8IHVuZGVmaW5lZDsgY2hhbm5lbElkOiBiaWdpbnQ7IHVzZXJJZDogYmlnaW50OyB0aW1lc3RhbXA6IG51bWJlcjsgbWVtYmVyOiBNZW1iZXIgfCB1bmRlZmluZWQgfSkgPT4gdW5rbm93blxuICBlbnRpdGxlbWVudENyZWF0ZTogKGVudGl0bGVtZW50OiBFbnRpdGxlbWVudCkgPT4gdW5rbm93blxuICBlbnRpdGxlbWVudFVwZGF0ZTogKGVudGl0bGVtZW50OiBFbnRpdGxlbWVudCkgPT4gdW5rbm93blxuICBlbnRpdGxlbWVudERlbGV0ZTogKGVudGl0bGVtZW50OiBFbnRpdGxlbWVudCkgPT4gdW5rbm93blxuICBtZXNzYWdlUG9sbFZvdGVBZGQ6IChwYXlsb2FkOiB7IHVzZXJJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgbWVzc2FnZUlkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQ7IGFuc3dlcklkOiBudW1iZXIgfSkgPT4gdW5rbm93blxuICBtZXNzYWdlUG9sbFZvdGVSZW1vdmU6IChwYXlsb2FkOiB7IHVzZXJJZDogYmlnaW50OyBjaGFubmVsSWQ6IGJpZ2ludDsgbWVzc2FnZUlkOiBiaWdpbnQ7IGd1aWxkSWQ/OiBiaWdpbnQ7IGFuc3dlcklkOiBudW1iZXIgfSkgPT4gdW5rbm93blxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUJvdCIsIm9wdGlvbnMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsInJlc3QiLCJ0b2tlbiIsImFwcGxpY2F0aW9uSWQiLCJsb2dnZXIiLCJsb2dnZXJGYWN0b3J5IiwiZ2F0ZXdheSIsImV2ZW50cyIsIm1lc3NhZ2UiLCJzaGFyZCIsImRhdGEiLCJib3QiLCJyYXciLCJpZCIsInQiLCJkaXNwYXRjaFJlcXVpcmVtZW50cyIsImhhbmRsZXJzIiwiaW50ZW50cyIsInByZWZlclNuYWtlQ2FzZSIsImdldEJvdElkRnJvbVRva2VuIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwiZGVmYXVsdERlc2lyZWRQcm9wZXJ0aWVzVmFsdWUiLCJjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMiLCJjcmVhdGVSZXN0TWFuYWdlciIsImNyZWF0ZUdhdGV3YXlNYW5hZ2VyIiwiY3JlYXRlTG9nZ2VyIiwibmFtZSIsImhlbHBlcnMiLCJzdGFydCIsImNvbm5lY3Rpb24iLCJnZXRTZXNzaW9uSW5mbyIsInVybCIsInRvdGFsU2hhcmRzIiwic2hhcmRzIiwibGFzdFNoYXJkSWQiLCJyZXNoYXJkaW5nIiwiZ2V0R2F0ZXdheUJvdCIsInNwYXduU2hhcmRzIiwic2h1dGRvd24iLCJTaGFyZFNvY2tldENsb3NlQ29kZXMiLCJTaHV0ZG93biIsImNyZWF0ZUJvdEhlbHBlcnMiLCJzbm93Zmxha2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBdUNnQkE7OztlQUFBQTs7O3lCQXRDNEM7c0JBRTFCO3VCQUU0QzswQkFDckM7eUJBQ1M7OEJBQ3dDO0FBK0JuRixTQUFTQSxVQUFVQyxPQUF5QjtJQUNqRCxJQUFJLENBQUNBLFFBQVFDLFlBQVksRUFBRUQsUUFBUUMsWUFBWSxHQUFHLENBQUM7SUFDbkQsSUFBSSxDQUFDRCxRQUFRQyxZQUFZLENBQUNDLGlCQUFpQixFQUFFRixRQUFRQyxZQUFZLENBQUNDLGlCQUFpQixHQUFHRixRQUFRRSxpQkFBaUI7SUFDL0csSUFBSSxDQUFDRixRQUFRRyxJQUFJLEVBQUVILFFBQVFHLElBQUksR0FBRztRQUFFQyxPQUFPSixRQUFRSSxLQUFLO1FBQUVDLGVBQWVMLFFBQVFLLGFBQWE7SUFBQztJQUMvRixJQUFJLENBQUNMLFFBQVFHLElBQUksQ0FBQ0MsS0FBSyxFQUFFSixRQUFRRyxJQUFJLENBQUNDLEtBQUssR0FBR0osUUFBUUksS0FBSztJQUMzRCxJQUFJLENBQUNKLFFBQVFHLElBQUksQ0FBQ0csTUFBTSxJQUFJTixRQUFRTyxhQUFhLEVBQUVQLFFBQVFHLElBQUksQ0FBQ0csTUFBTSxHQUFHTixRQUFRTyxhQUFh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
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IFNoYXJkU29ja2V0Q2xvc2VDb2RlcywgY3JlYXRlR2F0ZXdheU1hbmFnZXIgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCB0eXBlIEdhdGV3YXlIYW5kbGVycywgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IHR5cGUgVHJhbnNmb3JtZXJzLCBjcmVhdGVUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdDxcbiAgVFByb3BzIGV4dGVuZHMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcz4sXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IgPSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleSxcbj4ob3B0aW9uczogQ3JlYXRlQm90T3B0aW9uczxUUHJvcHMsIFRCZWhhdmlvcj4pOiBCb3Q8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxUUHJvcHM+LCBUQmVoYXZpb3I+IHtcbiAgdHlwZSBDb21wbGV0ZVByb3BzID0gQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczxUUHJvcHM+XG4gIHR5cGUgVHlwZWRCb3QgPSBCb3Q8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPlxuXG4gIGlmICghb3B0aW9ucy50cmFuc2Zvcm1lcnMpIG9wdGlvbnMudHJhbnNmb3JtZXJzID0ge31cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcykgb3B0aW9ucy50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMgPSBvcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzXG4gIGlmICghb3B0aW9ucy5yZXN0KSBvcHRpb25zLnJlc3QgPSB7IHRva2VuOiBvcHRpb25zLnRva2VuLCBhcHBsaWNhdGlvbklkOiBvcHRpb25zLmFwcGxpY2F0aW9uSWQgfVxuICBpZiAoIW9wdGlvbnMucmVzdC50b2tlbikgb3B0aW9ucy5yZXN0LnRva2VuID0gb3B0aW9ucy50b2tlblxuICBpZiAoIW9wdGlvbnMucmVzdC5sb2dnZXIgJiYgb3B0aW9ucy5sb2dnZXJGYWN0b3J5KSBvcHRpb25zLnJlc3QubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdSRVNUJylcbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkpIG9wdGlvbnMuZ2F0ZXdheSA9IHsgdG9rZW46IG9wdGlvbnMudG9rZW4gfVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS50b2tlbikgb3B0aW9ucy5nYXRld2F5LnRva2VuID0gb3B0aW9ucy50b2tlblxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5ldmVudHMpIG9wdGlvbnMuZ2F0ZXdheS5ldmVudHMgPSB7fVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5sb2dnZXIgJiYgb3B0aW9ucy5sb2dnZXJGYWN0b3J5KSBvcHRpb25zLmdhdGV3YXkubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdHQVRFV0FZJylcbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkuZXZlbnRzLm1lc3NhZ2UpIHtcbiAgICBvcHRpb25zLmdhdGV3YXkuZXZlbnRzLm1lc3NhZ2UgPSBhc3luYyAoc2hhcmQsIGRhdGEpID0+IHtcbiAgICAgIC8vIFRSSUdHRVIgUkFXIEVWRU5UXG4gICAgICBib3QuZXZlbnRzLnJhdz8uKGRhdGEsIHNoYXJkLmlkKVxuXG4gICAgICBpZiAoIWRhdGEudCkgcmV0dXJuXG5cbiAgICAgIC8vIFJVTiBESVNQQVRDSCBDSEVDS1xuICAgICAgYXdhaXQgYm90LmV2ZW50cy5kaXNwYXRjaFJlcXVpcmVtZW50cz8uKGRhdGEsIHNoYXJkLmlkKVxuICAgICAgYm90LmhhbmRsZXJzW2RhdGEudCBhcyBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzXT8uKGJvdCwgZGF0YSwgc2hhcmQuaWQpXG4gICAgfVxuICB9XG5cbiAgb3B0aW9ucy5nYXRld2F5LmludGVudHMgPSBvcHRpb25zLmludGVudHNcbiAgb3B0aW9ucy5nYXRld2F5LnByZWZlclNuYWtlQ2FzZSA9IHRydWVcblxuICBjb25zdCBpZCA9IGdldEJvdElkRnJvbVRva2VuKG9wdGlvbnMudG9rZW4pXG5cbiAgY29uc3QgYm90OiBUeXBlZEJvdCA9IHtcbiAgICBpZCxcbiAgICBhcHBsaWNhdGlvbklkOiBpZCxcbiAgICB0cmFuc2Zvcm1lcnM6IGNyZWF0ZVRyYW5zZm9ybWVycyhvcHRpb25zLnRyYW5zZm9ybWVycykgYXMgVHlwZWRCb3RbJ3RyYW5zZm9ybWVycyddLFxuICAgIGhhbmRsZXJzOiBjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnM8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPihvcHRpb25zLmhhbmRsZXJzID8/IHt9KSxcbiAgICByZXN0OiBjcmVhdGVSZXN0TWFuYWdlcihvcHRpb25zLnJlc3QgYXMgQ3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zKSxcbiAgICBnYXRld2F5OiBjcmVhdGVHYXRld2F5TWFuYWdlcihvcHRpb25zLmdhdGV3YXkgYXMgQ3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zKSxcbiAgICBldmVudHM6IG9wdGlvbnMuZXZlbnRzID8/IHt9LFxuICAgIGxvZ2dlcjogb3B0aW9ucy5sb2dnZXJGYWN0b3J5ID8gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdCT1QnKSA6IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdCT1QnIH0pLFxuICAgIC8vIFNldCB1cCBoZWxwZXJzIGJlbG93LlxuICAgIGhlbHBlcnM6IHt9IGFzIEJvdEhlbHBlcnM8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPixcbiAgICBhc3luYyBzdGFydCgpIHtcbiAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py5jb25uZWN0aW9uKSB7XG4gICAgICAgIGJvdC5nYXRld2F5LmNvbm5lY3Rpb24gPSBhd2FpdCBib3QucmVzdC5nZXRTZXNzaW9uSW5mbygpXG5cbiAgICAgICAgLy8gQ2hlY2sgZm9yIG92ZXJyaWRlcyBpbiB0aGUgY29uZmlndXJhdGlvblxuICAgICAgICBpZiAoIW9wdGlvbnMuZ2F0ZXdheT8udXJsKSBib3QuZ2F0ZXdheS51cmwgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnVybFxuXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py50b3RhbFNoYXJkcykgYm90LmdhdGV3YXkudG90YWxTaGFyZHMgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnNoYXJkc1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py5sYXN0U2hhcmRJZCAmJiAhb3B0aW9ucy5nYXRld2F5Py50b3RhbFNoYXJkcykgYm90LmdhdGV3YXkubGFzdFNoYXJkSWQgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnNoYXJkcyAtIDFcbiAgICAgIH1cblxuICAgICAgaWYgKCFib3QuZ2F0ZXdheS5yZXNoYXJkaW5nLmdldFNlc3Npb25JbmZvKSB7XG4gICAgICAgIGJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8gPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEdhdGV3YXlCb3QoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGJvdC5nYXRld2F5LnNwYXduU2hhcmRzKClcbiAgICB9LFxuXG4gICAgYXN5bmMgc2h1dGRvd24oKSB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LmdhdGV3YXkuc2h1dGRvd24oU2hhcmRTb2NrZXRDbG9zZUNvZGVzLlNodXRkb3duLCAnVXNlciByZXF1ZXN0ZWQgYm90IHN0b3AnKVxuICAgIH0sXG4gIH1cblxuICBib3QuaGVscGVycyA9IGNyZWF0ZUJvdEhlbHBlcnMoYm90KVxuICBpZiAob3B0aW9ucy5hcHBsaWNhdGlvbklkKSBib3QuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbnMuYXBwbGljYXRpb25JZClcblxuICByZXR1cm4gYm90XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQm90T3B0aW9uczxUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPiwgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4ge1xuICAvKiogVGhlIGJvdCdzIHRva2VuLiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBBcHBsaWNhdGlvbiBJZCBvZiB0aGUgYm90IGluY2FzZSBpdCBpcyBhbiBvbGQgYm90IHRva2VuLiAqL1xuICBhcHBsaWNhdGlvbklkPzogQmlnU3RyaW5nXG4gIC8qKiBUaGUgYm90J3MgaW50ZW50cyB0aGF0IHdpbGwgYmUgdXNlZCB0byBtYWtlIGEgY29ubmVjdGlvbiB3aXRoIGRpc2NvcmRzIGdhdGV3YXkuICovXG4gIGludGVudHM/OiBHYXRld2F5SW50ZW50c1xuICAvKiogQW55IG9wdGlvbnMgeW91IHdpc2ggdG8gcHJvdmlkZSB0byB0aGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0PzogT21pdDxDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsICd0b2tlbic+ICYgUGFydGlhbDxQaWNrPENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4+XG4gIC8qKiBBbnkgb3B0aW9ucyB5b3Ugd2lzaCB0byBwcm92aWRlIHRvIHRoZSBnYXRld2F5IG1hbmFnZXIuICovXG4gIGdhdGV3YXk/OiBPbWl0PENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4gJiBQYXJ0aWFsPFBpY2s8Q3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zLCAndG9rZW4nPj5cbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzPzogUGFydGlhbDxFdmVudEhhbmRsZXJzPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj5cbiAgLyoqIFRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgdHJhbnNmb3JtIGRpc2NvcmQgb2JqZWN0cyB0byBkaXNjb3JkZW5vIHNoYXBlZCBvYmplY3RzLiAqL1xuICB0cmFuc2Zvcm1lcnM/OiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPE5vSW5mZXI8VFByb3BzPj4sIFRCZWhhdmlvcj4+XG4gIC8qKiBUaGUgaGFuZGxlciBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIGluY29taW5nIGRpc2NvcmQgcGF5bG9hZHMgZnJvbSBnYXRld2F5IGFuZCBjYWxsIGFuIGV2ZW50LiAqL1xuICBoYW5kbGVycz86IFBhcnRpYWw8UmVjb3JkPEdhdGV3YXlEaXNwYXRjaEV2ZW50TmFtZXMsIEJvdEdhdGV3YXlIYW5kbGVyPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj4+XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhlIGJvdFxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXM/OiBUUHJvcHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGJlaGF2aW9yIGZvciB1bmRlc2lyZWQgcHJvcGVydGllc1xuICAgKlxuICAgKiBAZGVmYXVsdCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj86IFRCZWhhdmlvclxuICAvKipcbiAgICogVGhpcyBmYWN0b3J5IHdpbGwgYmUgaW52b2tlZCB0byBjcmVhdGUgdGhlIGxvZ2dlciBmb3IgZ2F0ZXdheSwgcmVzdCBhbmQgYm90XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIElmIG5vdCBwcm92aWRlZCB0aGUgZGVmYXVsdCBsb2dnZXIgd2lsbCBiZSB1c2VkIHdpdGggcmVzdCBhbmQgZ2F0ZXdheSBzaGFyaW5nIHRoZSBzYW1lIGxvZ2dlclxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCAzIHRpbWVzLCBvbmUgd2l0aCB0aGUgbmFtZSBvZiBgUkVTVGAsIG9uZSB3aXRoIGBHQVRFV0FZYCBhbmQgdGhlIHRoaXJkIG9uZSB3aXRoIG5hbWUgYEJPVGBcbiAgICovXG4gIGxvZ2dlckZhY3Rvcnk/OiAobmFtZTogJ1JFU1QnIHwgJ0dBVEVXQVknIHwgJ0JPVCcpID0+IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdDxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgPSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdC4gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBib3QuIFRoaXMgaXMgdXN1YWxseSB0aGUgc2FtZSBhcyBpZCBidXQgaW4gdGhlIGNhc2Ugb2Ygb2xkIGJvdHMgY2FuIGJlIGRpZmZlcmVudC4gKi9cbiAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gIC8qKiBUaGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0OiBSZXN0TWFuYWdlclxuICAvKiogVGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheTogR2F0ZXdheU1hbmFnZXJcbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzOiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8VFByb3BzLCBUQmVoYXZpb3I+PlxuICAvKiogQSBsb2dnZXIgdXRpbGl0eSB0byBtYWtlIGl0IGVhc3kgdG8gbG9nIG5pY2UgYW5kIHVzZWZ1bCB0aGluZ3MgaW4gdGhlIGJvdCBjb2RlLiAqL1xuICBsb2dnZXI6IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiAmIHtcbiAgICAkaW5mZXJyZWRUeXBlczoge1xuICAgICAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c106IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVyc09iamVjdHNbS10sIFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIH1cbiAgfVxuICAvKiogVGhlIGhhbmRsZXIgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGhhbmRsZSBpbmNvbWluZyBkaXNjb3JkIHBheWxvYWRzIGZyb20gZ2F0ZXdheSBhbmQgY2FsbCBhbiBldmVudC4gKi9cbiAgaGFuZGxlcnM6IEdhdGV3YXlIYW5kbGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaGVscGVyczogQm90SGVscGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgLyoqIFN0YXJ0IHRoZSBib3QgY29ubmVjdGlvbiB0byB0aGUgZ2F0ZXdheS4gKi9cbiAgc3RhcnQ6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIFNodXRzIGRvd24gYWxsIHRoZSBib3QgY29ubmVjdGlvbnMgdG8gdGhlIGdhdGV3YXkuICovXG4gIHNodXRkb3duOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbi8qKiBAaW50ZXJuYWwgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2UgKi9cbmV4cG9ydCB0eXBlIEludGVybmFsQm90ID0gQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8e30sIHRydWU+LCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT5cbiJdLCJuYW1lcyI6WyJjcmVhdGVCb3QiLCJvcHRpb25zIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJyZXN0IiwidG9rZW4iLCJhcHBsaWNhdGlvbklkIiwibG9nZ2VyIiwibG9nZ2VyRmFjdG9yeSIsImdhdGV3YXkiLCJldmVudHMiLCJtZXNzYWdlIiwic2hhcmQiLCJkYXRhIiwiYm90IiwicmF3IiwiaWQiLCJ0IiwiZGlzcGF0Y2hSZXF1aXJlbWVudHMiLCJoYW5kbGVycyIsImludGVudHMiLCJwcmVmZXJTbmFrZUNhc2UiLCJnZXRCb3RJZEZyb21Ub2tlbiIsImNyZWF0ZVRyYW5zZm9ybWVycyIsImNyZWF0ZUJvdEdhdGV3YXlIYW5kbGVycyIsImNyZWF0ZVJlc3RNYW5hZ2VyIiwiY3JlYXRlR2F0ZXdheU1hbmFnZXIiLCJjcmVhdGVMb2dnZXIiLCJuYW1lIiwiaGVscGVycyIsInN0YXJ0IiwiY29ubmVjdGlvbiIsImdldFNlc3Npb25JbmZvIiwidXJsIiwidG90YWxTaGFyZHMiLCJzaGFyZHMiLCJsYXN0U2hhcmRJZCIsInJlc2hhcmRpbmciLCJnZXRHYXRld2F5Qm90Iiwic3Bhd25TaGFyZHMiLCJzaHV0ZG93biIsIlNoYXJkU29ja2V0Q2xvc2VDb2RlcyIsIlNodXRkb3duIiwiY3JlYXRlQm90SGVscGVycyIsInNub3dmbGFrZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF3QmdCQTs7O2VBQUFBOzs7eUJBdkI0QztzQkFFMUI7dUJBRTJCOzBCQVMwQjt5QkFDckM7OEJBQ0k7QUFRL0MsU0FBU0EsVUFHZEMsT0FBNEM7SUFJNUMsSUFBSSxDQUFDQSxRQUFRQyxZQUFZLEVBQUVELFFBQVFDLFlBQVksR0FBRyxDQUFDO0lBQ25ELElBQUksQ0FBQ0QsUUFBUUMsWUFBWSxDQUFDQyxpQkFB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
|