@discordeno/bot 19.0.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/dist/cjs/bot.cjs +82 -0
  2. package/dist/cjs/commandOptionsParser.cjs +53 -0
  3. package/dist/cjs/constants.cjs +30 -0
  4. package/dist/cjs/desiredProperties.cjs +541 -0
  5. package/dist/cjs/events.cjs +6 -0
  6. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +21 -0
  7. package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +21 -0
  8. package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +21 -0
  9. package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +20 -0
  10. package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +22 -0
  11. package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +22 -0
  12. package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +22 -0
  13. package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +19 -0
  14. package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +19 -0
  15. package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +31 -0
  16. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +22 -0
  17. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +22 -0
  18. package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +19 -0
  19. package/dist/cjs/handlers/channels/index.cjs +32 -0
  20. package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +24 -0
  21. package/dist/cjs/handlers/emojis/index.cjs +20 -0
  22. package/dist/cjs/handlers/entitlements/ENTITLEMENT_CREATE.cjs +17 -0
  23. package/dist/cjs/handlers/entitlements/ENTITLEMENT_DELETE.cjs +17 -0
  24. package/dist/cjs/handlers/entitlements/ENTITLEMENT_UPDATE.cjs +17 -0
  25. package/dist/cjs/handlers/entitlements/index.cjs +22 -0
  26. package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +18 -0
  27. package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +17 -0
  28. package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +17 -0
  29. package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +20 -0
  30. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +22 -0
  31. package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +19 -0
  32. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +23 -0
  33. package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +20 -0
  34. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +17 -0
  35. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +17 -0
  36. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +17 -0
  37. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +17 -0
  38. package/dist/cjs/handlers/guilds/automod/index.cjs +23 -0
  39. package/dist/cjs/handlers/guilds/index.cjs +29 -0
  40. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +17 -0
  41. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +17 -0
  42. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +17 -0
  43. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +21 -0
  44. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +21 -0
  45. package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +24 -0
  46. package/dist/cjs/handlers/index.cjs +35 -0
  47. package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +16 -0
  48. package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +21 -0
  49. package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +16 -0
  50. package/dist/cjs/handlers/integrations/index.cjs +22 -0
  51. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +17 -0
  52. package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +19 -0
  53. package/dist/cjs/handlers/interactions/index.cjs +21 -0
  54. package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +19 -0
  55. package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +21 -0
  56. package/dist/cjs/handlers/invites/index.cjs +21 -0
  57. package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +30 -0
  58. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +20 -0
  59. package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +19 -0
  60. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +19 -0
  61. package/dist/cjs/handlers/members/index.cjs +23 -0
  62. package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +20 -0
  63. package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +21 -0
  64. package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +23 -0
  65. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +30 -0
  66. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +24 -0
  67. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +21 -0
  68. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +22 -0
  69. package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +21 -0
  70. package/dist/cjs/handlers/messages/index.cjs +27 -0
  71. package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +16 -0
  72. package/dist/cjs/handlers/misc/READY.cjs +28 -0
  73. package/dist/cjs/handlers/misc/TYPING_START.cjs +25 -0
  74. package/dist/cjs/handlers/misc/USER_UPDATE.cjs +17 -0
  75. package/dist/cjs/handlers/misc/index.cjs +23 -0
  76. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_ADD.cjs +23 -0
  77. package/dist/cjs/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.cjs +23 -0
  78. package/dist/cjs/handlers/poll/index.cjs +21 -0
  79. package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +20 -0
  80. package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +20 -0
  81. package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +20 -0
  82. package/dist/cjs/handlers/roles/index.cjs +22 -0
  83. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.cjs +20 -0
  84. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.cjs +17 -0
  85. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.cjs +20 -0
  86. package/dist/cjs/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.cjs +17 -0
  87. package/dist/cjs/handlers/soundboard/SOUNDBOARD_SOUNDS.cjs +20 -0
  88. package/dist/cjs/handlers/soundboard/index.cjs +24 -0
  89. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_CREATE.cjs +17 -0
  90. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_DELETE.cjs +17 -0
  91. package/dist/cjs/handlers/subscriptions/SUBSCRIPTION_UPDATE.cjs +17 -0
  92. package/dist/cjs/handlers/subscriptions/index.cjs +22 -0
  93. package/dist/cjs/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.cjs +26 -0
  94. package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +21 -0
  95. package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +22 -0
  96. package/dist/cjs/handlers/voice/index.cjs +22 -0
  97. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +20 -0
  98. package/dist/cjs/handlers/webhooks/index.cjs +20 -0
  99. package/dist/cjs/handlers.cjs +132 -0
  100. package/dist/cjs/helpers.cjs +776 -0
  101. package/dist/cjs/index.cjs +34 -0
  102. package/dist/cjs/transformers/activity.cjs +74 -0
  103. package/dist/cjs/transformers/application.cjs +69 -0
  104. package/dist/cjs/transformers/applicationCommand.cjs +29 -0
  105. package/dist/cjs/transformers/applicationCommandOption.cjs +31 -0
  106. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +20 -0
  107. package/dist/cjs/transformers/applicationCommandPermission.cjs +25 -0
  108. package/dist/cjs/transformers/attachment.cjs +31 -0
  109. package/dist/cjs/transformers/auditLogEntry.cjs +37 -0
  110. package/dist/cjs/transformers/automodActionExecution.cjs +35 -0
  111. package/dist/cjs/transformers/automodRule.cjs +41 -0
  112. package/dist/cjs/transformers/avatarDecorationData.cjs +20 -0
  113. package/dist/cjs/transformers/channel.cjs +149 -0
  114. package/dist/cjs/transformers/component.cjs +97 -0
  115. package/dist/cjs/transformers/embed.cjs +54 -0
  116. package/dist/cjs/transformers/emoji.cjs +57 -0
  117. package/dist/cjs/transformers/entitlement.cjs +27 -0
  118. package/dist/cjs/transformers/gatewayBot.cjs +25 -0
  119. package/dist/cjs/transformers/guild.cjs +157 -0
  120. package/dist/cjs/transformers/index.cjs +66 -0
  121. package/dist/cjs/transformers/integration.cjs +44 -0
  122. package/dist/cjs/transformers/interaction.cjs +274 -0
  123. package/dist/cjs/transformers/invite.cjs +51 -0
  124. package/dist/cjs/transformers/member.cjs +69 -0
  125. package/dist/cjs/transformers/message.cjs +300 -0
  126. package/dist/cjs/transformers/onboarding.cjs +56 -0
  127. package/dist/cjs/transformers/poll.cjs +50 -0
  128. package/dist/cjs/transformers/presence.cjs +25 -0
  129. package/dist/cjs/transformers/reverse/activity.cjs +53 -0
  130. package/dist/cjs/transformers/reverse/allowedMentions.cjs +20 -0
  131. package/dist/cjs/transformers/reverse/application.cjs +38 -0
  132. package/dist/cjs/transformers/reverse/applicationCommand.cjs +28 -0
  133. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +30 -0
  134. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +19 -0
  135. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +24 -0
  136. package/dist/cjs/transformers/reverse/attachment.cjs +29 -0
  137. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +37 -0
  138. package/dist/cjs/transformers/reverse/component.cjs +94 -0
  139. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +36 -0
  140. package/dist/cjs/transformers/reverse/embed.cjs +53 -0
  141. package/dist/cjs/transformers/reverse/emoji.cjs +24 -0
  142. package/dist/cjs/transformers/reverse/gatewayBot.cjs +24 -0
  143. package/dist/cjs/transformers/reverse/index.cjs +37 -0
  144. package/dist/cjs/transformers/reverse/member.cjs +59 -0
  145. package/dist/cjs/transformers/reverse/presence.cjs +41 -0
  146. package/dist/cjs/transformers/reverse/team.cjs +28 -0
  147. package/dist/cjs/transformers/reverse/widgetSettings.cjs +18 -0
  148. package/dist/cjs/transformers/role.cjs +78 -0
  149. package/dist/cjs/transformers/scheduledEvent.cjs +58 -0
  150. package/dist/cjs/transformers/sku.cjs +23 -0
  151. package/dist/cjs/transformers/soundboardSound.cjs +25 -0
  152. package/dist/cjs/transformers/stageInstance.cjs +22 -0
  153. package/dist/cjs/transformers/stageInviteInstance.cjs +23 -0
  154. package/dist/cjs/transformers/sticker.cjs +48 -0
  155. package/dist/cjs/transformers/subscription.cjs +26 -0
  156. package/dist/cjs/transformers/team.cjs +29 -0
  157. package/dist/cjs/transformers/template.cjs +28 -0
  158. package/dist/cjs/transformers/threadMember.cjs +35 -0
  159. package/dist/cjs/transformers/toggles/Permissions.cjs +28 -0
  160. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +60 -0
  161. package/dist/cjs/transformers/toggles/channel.cjs +73 -0
  162. package/dist/cjs/transformers/toggles/emoji.cjs +63 -0
  163. package/dist/cjs/transformers/toggles/guild.cjs +257 -0
  164. package/dist/cjs/transformers/toggles/index.cjs +28 -0
  165. package/dist/cjs/transformers/toggles/member.cjs +126 -0
  166. package/dist/cjs/transformers/toggles/role.cjs +73 -0
  167. package/dist/cjs/transformers/toggles/user.cjs +63 -0
  168. package/dist/cjs/transformers/toggles/voice.cjs +78 -0
  169. package/dist/cjs/transformers/types.cjs +6 -0
  170. package/dist/cjs/transformers/user.cjs +60 -0
  171. package/dist/cjs/transformers/voiceRegion.cjs +22 -0
  172. package/dist/cjs/transformers/voiceState.cjs +24 -0
  173. package/dist/cjs/transformers/webhook.cjs +37 -0
  174. package/dist/cjs/transformers/welcomeScreen.cjs +24 -0
  175. package/dist/cjs/transformers/widget.cjs +35 -0
  176. package/dist/cjs/transformers/widgetSettings.cjs +19 -0
  177. package/dist/cjs/transformers.cjs +165 -0
  178. package/dist/cjs/utils.cjs +32 -0
  179. package/dist/esm/bot.js +1 -1
  180. package/dist/esm/commandOptionsParser.js +4 -2
  181. package/dist/esm/desiredProperties.js +1 -1
  182. package/dist/esm/helpers.js +4 -1
  183. package/dist/esm/transformers/component.js +5 -1
  184. package/dist/esm/transformers/emoji.js +4 -2
  185. package/dist/esm/transformers/guild.js +2 -2
  186. package/dist/esm/transformers/interaction.js +2 -2
  187. package/dist/esm/transformers/member.js +2 -2
  188. package/dist/esm/transformers/message.js +2 -2
  189. package/dist/esm/transformers/role.js +2 -2
  190. package/dist/esm/transformers/user.js +2 -2
  191. package/dist/types/bot.d.ts +1 -1
  192. package/dist/types/commandOptionsParser.d.ts +9 -4
  193. package/dist/types/commandOptionsParser.d.ts.map +1 -1
  194. package/dist/types/desiredProperties.d.ts +6 -3
  195. package/dist/types/desiredProperties.d.ts.map +1 -1
  196. package/dist/types/helpers.d.ts +1 -0
  197. package/dist/types/helpers.d.ts.map +1 -1
  198. package/dist/types/transformers/component.d.ts.map +1 -1
  199. package/dist/types/transformers/emoji.d.ts +1 -0
  200. package/dist/types/transformers/emoji.d.ts.map +1 -1
  201. package/dist/types/transformers/guild.d.ts +1 -0
  202. package/dist/types/transformers/guild.d.ts.map +1 -1
  203. package/dist/types/transformers/interaction.d.ts +1 -0
  204. package/dist/types/transformers/interaction.d.ts.map +1 -1
  205. package/dist/types/transformers/member.d.ts +1 -0
  206. package/dist/types/transformers/member.d.ts.map +1 -1
  207. package/dist/types/transformers/message.d.ts +1 -0
  208. package/dist/types/transformers/message.d.ts.map +1 -1
  209. package/dist/types/transformers/role.d.ts +1 -0
  210. package/dist/types/transformers/role.d.ts.map +1 -1
  211. package/dist/types/transformers/user.d.ts +1 -0
  212. package/dist/types/transformers/user.d.ts.map +1 -1
  213. package/package.json +8 -8
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformWidget", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformWidget;
9
+ }
10
+ });
11
+ const _index = require("../index.cjs");
12
+ function transformWidget(bot, payload) {
13
+ const widget = {
14
+ id: bot.transformers.snowflake(payload.id),
15
+ name: payload.name,
16
+ instant_invite: payload.instant_invite,
17
+ channels: payload.channels.map((channel)=>({
18
+ id: bot.transformers.snowflake(channel.id),
19
+ name: channel.name,
20
+ position: channel.position
21
+ })),
22
+ members: payload.members.map((member)=>({
23
+ id: bot.transformers.snowflake(member.id),
24
+ username: member.username,
25
+ discriminator: member.discriminator,
26
+ avatar: member.avatar ? (0, _index.iconHashToBigInt)(member.avatar) : undefined,
27
+ status: member.status,
28
+ avatarUrl: member.avatar_url
29
+ })),
30
+ presenceCount: payload.presence_count
31
+ };
32
+ return bot.transformers.customizers.widget(bot, payload, widget);
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvd2lkZ2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEd1aWxkV2lkZ2V0IH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyB0eXBlIEJvdCwgdHlwZSBHdWlsZFdpZGdldCwgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtV2lkZ2V0KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRXaWRnZXQpOiBHdWlsZFdpZGdldCB7XG4gIGNvbnN0IHdpZGdldCA9IHtcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIGluc3RhbnRfaW52aXRlOiBwYXlsb2FkLmluc3RhbnRfaW52aXRlLFxuICAgIGNoYW5uZWxzOiBwYXlsb2FkLmNoYW5uZWxzLm1hcCgoY2hhbm5lbCkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShjaGFubmVsLmlkKSxcbiAgICAgIG5hbWU6IGNoYW5uZWwubmFtZSxcbiAgICAgIHBvc2l0aW9uOiBjaGFubmVsLnBvc2l0aW9uLFxuICAgIH0pKSxcbiAgICBtZW1iZXJzOiBwYXlsb2FkLm1lbWJlcnMubWFwKChtZW1iZXIpID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobWVtYmVyLmlkKSxcbiAgICAgIHVzZXJuYW1lOiBtZW1iZXIudXNlcm5hbWUsXG4gICAgICBkaXNjcmltaW5hdG9yOiBtZW1iZXIuZGlzY3JpbWluYXRvcixcbiAgICAgIGF2YXRhcjogbWVtYmVyLmF2YXRhciA/IGljb25IYXNoVG9CaWdJbnQobWVtYmVyLmF2YXRhcikgOiB1bmRlZmluZWQsXG4gICAgICBzdGF0dXM6IG1lbWJlci5zdGF0dXMsXG4gICAgICBhdmF0YXJVcmw6IG1lbWJlci5hdmF0YXJfdXJsLFxuICAgIH0pKSxcbiAgICBwcmVzZW5jZUNvdW50OiBwYXlsb2FkLnByZXNlbmNlX2NvdW50LFxuICB9IGFzIEd1aWxkV2lkZ2V0XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMud2lkZ2V0KGJvdCwgcGF5bG9hZCwgd2lkZ2V0KVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybVdpZGdldCIsImJvdCIsInBheWxvYWQiLCJ3aWRnZXQiLCJpZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsIm5hbWUiLCJpbnN0YW50X2ludml0ZSIsImNoYW5uZWxzIiwibWFwIiwiY2hhbm5lbCIsInBvc2l0aW9uIiwibWVtYmVycyIsIm1lbWJlciIsInVzZXJuYW1lIiwiZGlzY3JpbWluYXRvciIsImF2YXRhciIsImljb25IYXNoVG9CaWdJbnQiLCJ1bmRlZmluZWQiLCJzdGF0dXMiLCJhdmF0YXJVcmwiLCJhdmF0YXJfdXJsIiwicHJlc2VuY2VDb3VudCIsInByZXNlbmNlX2NvdW50IiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBR2dCQTs7O2VBQUFBOzs7dUJBRjZDO0FBRXRELFNBQVNBLGdCQUFnQkMsR0FBUSxFQUFFQyxPQUEyQjtJQUNuRSxNQUFNQyxTQUFTO1FBQ2JDLElBQUlILElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSixRQUFRRSxFQUFFO1FBQ3pDRyxNQUFNTCxRQUFRSyxJQUFJO1FBQ2xCQyxnQkFBZ0JOLFFBQVFNLGNBQWM7UUFDdENDLFVBQVVQLFFBQVFPLFFBQVEsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLFVBQWEsQ0FBQTtnQkFDM0NQLElBQUlILElBQUlJLFlBQVksQ0FBQ0MsU0FBUyxDQUFDSyxRQUFRUCxFQUFFO2dCQUN6Q0csTUFBTUksUUFBUUosSUFBSTtnQkFDbEJLLFVBQVVELFFBQVFDLFFBQVE7WUFDNUIsQ0FBQTtRQUNBQyxTQUFTWCxRQUFRVyxPQUFPLENBQUNILEdBQUcsQ0FBQyxDQUFDSSxTQUFZLENBQUE7Z0JBQ3hDVixJQUFJSCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ1EsT0FBT1YsRUFBRTtnQkFDeENXLFVBQVVELE9BQU9DLFFBQVE7Z0JBQ3pCQyxlQUFlRixPQUFPRSxhQUFhO2dCQUNuQ0MsUUFBUUgsT0FBT0csTUFBTSxHQUFHQyxJQUFBQSx1QkFBZ0IsRUFBQ0osT0FBT0csTUFBTSxJQUFJRTtnQkFDMURDLFFBQVFOLE9BQU9NLE1BQU07Z0JBQ3JCQyxXQUFXUCxPQUFPUSxVQUFVO1lBQzlCLENBQUE7UUFDQUMsZUFBZXJCLFFBQVFzQixjQUFjO0lBQ3ZDO0lBRUEsT0FBT3ZCLElBQUlJLFlBQVksQ0FBQ29CLFdBQVcsQ0FBQ3RCLE1BQU0sQ0FBQ0YsS0FBS0MsU0FBU0M7QUFDM0QifQ==
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformWidgetSettings", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformWidgetSettings;
9
+ }
10
+ });
11
+ function transformWidgetSettings(bot, payload) {
12
+ const widget = {
13
+ enabled: payload.enabled,
14
+ channelId: payload.channel_id ?? undefined
15
+ };
16
+ return bot.transformers.customizers.widgetSettings(bot, payload, widget);
17
+ }
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvd2lkZ2V0U2V0dGluZ3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCb3QsIEd1aWxkV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuLi9pbmRleC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVdpZGdldFNldHRpbmdzKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyk6IEd1aWxkV2lkZ2V0U2V0dGluZ3Mge1xuICBjb25zdCB3aWRnZXQgPSB7XG4gICAgZW5hYmxlZDogcGF5bG9hZC5lbmFibGVkLFxuICAgIGNoYW5uZWxJZDogcGF5bG9hZC5jaGFubmVsX2lkID8/IHVuZGVmaW5lZCxcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLndpZGdldFNldHRpbmdzKGJvdCwgcGF5bG9hZCwgd2lkZ2V0KVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybVdpZGdldFNldHRpbmdzIiwiYm90IiwicGF5bG9hZCIsIndpZGdldCIsImVuYWJsZWQiLCJjaGFubmVsSWQiLCJjaGFubmVsX2lkIiwidW5kZWZpbmVkIiwidHJhbnNmb3JtZXJzIiwiY3VzdG9taXplcnMiLCJ3aWRnZXRTZXR0aW5ncyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFHZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLHdCQUF3QkMsR0FBUSxFQUFFQyxPQUFtQztJQUNuRixNQUFNQyxTQUFTO1FBQ2JDLFNBQVNGLFFBQVFFLE9BQU87UUFDeEJDLFdBQVdILFFBQVFJLFVBQVUsSUFBSUM7SUFDbkM7SUFFQSxPQUFPTixJQUFJTyxZQUFZLENBQUNDLFdBQVcsQ0FBQ0MsY0FBYyxDQUFDVCxLQUFLQyxTQUFTQztBQUNuRSJ9
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createTransformers", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return createTransformers;
9
+ }
10
+ });
11
+ const _desiredProperties = require("./desiredProperties.cjs");
12
+ const _index = require("./transformers/index.cjs");
13
+ const _index1 = require("./transformers/reverse/index.cjs");
14
+ const _utils = require("./utils.cjs");
15
+ const defaultCustomizer = (_bot, _payload, structure)=>structure;
16
+ function createTransformers(options) {
17
+ return {
18
+ customizers: {
19
+ activity: options.customizers?.activity ?? defaultCustomizer,
20
+ activityInstance: options.customizers?.activityInstance ?? defaultCustomizer,
21
+ activityLocation: options.customizers?.activityLocation ?? defaultCustomizer,
22
+ application: options.customizers?.application ?? defaultCustomizer,
23
+ applicationCommand: options.customizers?.applicationCommand ?? defaultCustomizer,
24
+ applicationCommandOption: options.customizers?.applicationCommandOption ?? defaultCustomizer,
25
+ applicationCommandOptionChoice: options.customizers?.applicationCommandOptionChoice ?? defaultCustomizer,
26
+ applicationCommandPermission: options.customizers?.applicationCommandPermission ?? defaultCustomizer,
27
+ attachment: options.customizers?.attachment ?? defaultCustomizer,
28
+ auditLogEntry: options.customizers?.auditLogEntry ?? defaultCustomizer,
29
+ automodActionExecution: options.customizers?.automodActionExecution ?? defaultCustomizer,
30
+ automodRule: options.customizers?.automodRule ?? defaultCustomizer,
31
+ avatarDecorationData: options.customizers?.avatarDecorationData ?? defaultCustomizer,
32
+ channel: options.customizers?.channel ?? defaultCustomizer,
33
+ component: options.customizers?.component ?? defaultCustomizer,
34
+ defaultReactionEmoji: options.customizers?.defaultReactionEmoji ?? defaultCustomizer,
35
+ embed: options.customizers?.embed ?? defaultCustomizer,
36
+ emoji: options.customizers?.emoji ?? defaultCustomizer,
37
+ entitlement: options.customizers?.entitlement ?? defaultCustomizer,
38
+ forumTag: options.customizers?.forumTag ?? defaultCustomizer,
39
+ gatewayBot: options.customizers?.gatewayBot ?? defaultCustomizer,
40
+ guild: options.customizers?.guild ?? defaultCustomizer,
41
+ guildOnboarding: options.customizers?.guildOnboarding ?? defaultCustomizer,
42
+ guildOnboardingPrompt: options.customizers?.guildOnboardingPrompt ?? defaultCustomizer,
43
+ guildOnboardingPromptOption: options.customizers?.guildOnboardingPromptOption ?? defaultCustomizer,
44
+ integration: options.customizers?.integration ?? defaultCustomizer,
45
+ interaction: options.customizers?.interaction ?? defaultCustomizer,
46
+ interactionCallback: options.customizers?.interactionCallback ?? defaultCustomizer,
47
+ interactionCallbackResponse: options.customizers?.interactionCallbackResponse ?? defaultCustomizer,
48
+ interactionDataOptions: options.customizers?.interactionDataOptions ?? defaultCustomizer,
49
+ interactionDataResolved: options.customizers?.interactionDataResolved ?? defaultCustomizer,
50
+ interactionResource: options?.customizers?.interactionResource ?? defaultCustomizer,
51
+ invite: options.customizers?.invite ?? defaultCustomizer,
52
+ inviteStageInstance: options.customizers?.inviteStageInstance ?? defaultCustomizer,
53
+ member: options.customizers?.member ?? defaultCustomizer,
54
+ message: options.customizers?.message ?? defaultCustomizer,
55
+ messageCall: options.customizers?.messageCall ?? defaultCustomizer,
56
+ messageInteractionMetadata: options.customizers?.messageInteractionMetadata ?? defaultCustomizer,
57
+ messageSnapshot: options.customizers?.messageSnapshot ?? defaultCustomizer,
58
+ poll: options.customizers?.poll ?? defaultCustomizer,
59
+ pollMedia: options.customizers?.pollMedia ?? defaultCustomizer,
60
+ presence: options.customizers?.presence ?? defaultCustomizer,
61
+ role: options.customizers?.role ?? defaultCustomizer,
62
+ scheduledEvent: options.customizers?.scheduledEvent ?? defaultCustomizer,
63
+ scheduledEventRecurrenceRule: options.customizers?.scheduledEventRecurrenceRule ?? defaultCustomizer,
64
+ sku: options.customizers?.sku ?? defaultCustomizer,
65
+ soundboardSound: options.customizers?.soundboardSound ?? defaultCustomizer,
66
+ stageInstance: options.customizers?.stageInstance ?? defaultCustomizer,
67
+ sticker: options.customizers?.sticker ?? defaultCustomizer,
68
+ stickerPack: options.customizers?.stickerPack ?? defaultCustomizer,
69
+ subscription: options.customizers?.subscription ?? defaultCustomizer,
70
+ team: options.customizers?.team ?? defaultCustomizer,
71
+ template: options.customizers?.template ?? defaultCustomizer,
72
+ threadMember: options.customizers?.threadMember ?? defaultCustomizer,
73
+ threadMemberGuildCreate: options.customizers?.threadMemberGuildCreate ?? defaultCustomizer,
74
+ user: options.customizers?.user ?? defaultCustomizer,
75
+ voiceRegion: options.customizers?.voiceRegion ?? defaultCustomizer,
76
+ voiceState: options.customizers?.voiceState ?? defaultCustomizer,
77
+ webhook: options.customizers?.webhook ?? defaultCustomizer,
78
+ welcomeScreen: options.customizers?.welcomeScreen ?? defaultCustomizer,
79
+ widget: options.customizers?.widget ?? defaultCustomizer,
80
+ widgetSettings: options.customizers?.widgetSettings ?? defaultCustomizer
81
+ },
82
+ desiredProperties: (0, _desiredProperties.createDesiredPropertiesObject)(options.desiredProperties ?? {}),
83
+ reverse: {
84
+ activity: options.reverse?.activity ?? _index.transformActivityToDiscordActivity,
85
+ allowedMentions: options.reverse?.allowedMentions ?? _index1.transformAllowedMentionsToDiscordAllowedMentions,
86
+ application: options.reverse?.application ?? _index.transformApplicationToDiscordApplication,
87
+ applicationCommand: options.reverse?.applicationCommand ?? _index.transformApplicationCommandToDiscordApplicationCommand,
88
+ applicationCommandOption: options.reverse?.applicationCommandOption ?? _index.transformApplicationCommandOptionToDiscordApplicationCommandOption,
89
+ applicationCommandOptionChoice: options.reverse?.applicationCommandOptionChoice ?? _index.transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice,
90
+ attachment: options.reverse?.attachment ?? _index.transformAttachmentToDiscordAttachment,
91
+ component: options.reverse?.component ?? _index.transformComponentToDiscordComponent,
92
+ createApplicationCommand: options.reverse?.createApplicationCommand ?? _index1.transformCreateApplicationCommandToDiscordCreateApplicationCommand,
93
+ embed: options.reverse?.embed ?? _index.transformEmbedToDiscordEmbed,
94
+ member: options.reverse?.member ?? _index.transformMemberToDiscordMember,
95
+ snowflake: options.reverse?.snowflake ?? _utils.bigintToSnowflake,
96
+ team: options.reverse?.team ?? _index.transformTeamToDiscordTeam,
97
+ user: options.reverse?.user ?? _index.transformUserToDiscordUser
98
+ },
99
+ activity: options.activity ?? _index.transformActivity,
100
+ activityInstance: options.activityInstance ?? _index.transformActivityInstance,
101
+ activityLocation: options.activityLocation ?? _index.transformActivityLocation,
102
+ application: options.application ?? _index.transformApplication,
103
+ applicationCommand: options.applicationCommand ?? _index.transformApplicationCommand,
104
+ applicationCommandOption: options.applicationCommandOption ?? _index.transformApplicationCommandOption,
105
+ applicationCommandOptionChoice: options.applicationCommandOptionChoice ?? _index.transformApplicationCommandOptionChoice,
106
+ applicationCommandPermission: options.applicationCommandPermission ?? _index.transformApplicationCommandPermission,
107
+ attachment: options.attachment ?? _index.transformAttachment,
108
+ auditLogEntry: options.auditLogEntry ?? _index.transformAuditLogEntry,
109
+ automodActionExecution: options.automodActionExecution ?? _index.transformAutoModerationActionExecution,
110
+ automodRule: options.automodRule ?? _index.transformAutoModerationRule,
111
+ avatarDecorationData: options.avatarDecorationData ?? _index.transformAvatarDecorationData,
112
+ channel: options.channel ?? _index.transformChannel,
113
+ component: options.component ?? _index.transformComponent,
114
+ defaultReactionEmoji: options.defaultReactionEmoji ?? _index.transformDefaultReactionEmoji,
115
+ embed: options.embed ?? _index.transformEmbed,
116
+ emoji: options.emoji ?? _index.transformEmoji,
117
+ entitlement: options.entitlement ?? _index.transformEntitlement,
118
+ forumTag: options.forumTag ?? _index.transformForumTag,
119
+ gatewayBot: options.gatewayBot ?? _index.transformGatewayBot,
120
+ guild: options.guild ?? _index.transformGuild,
121
+ guildOnboarding: options.guildOnboarding ?? _index.transformGuildOnboarding,
122
+ guildOnboardingPrompt: options.guildOnboardingPrompt ?? _index.transformGuildOnboardingPrompt,
123
+ guildOnboardingPromptOption: options.guildOnboardingPromptOption ?? _index.transformGuildOnboardingPromptOption,
124
+ integration: options.integration ?? _index.transformIntegration,
125
+ interaction: options.interaction ?? _index.transformInteraction,
126
+ interactionCallback: options.interactionCallback ?? _index.transformInteractionCallback,
127
+ interactionCallbackResponse: options.interactionCallbackResponse ?? _index.transformInteractionCallbackResponse,
128
+ interactionDataOptions: options.interactionDataOptions ?? _index.transformInteractionDataOption,
129
+ interactionDataResolved: options.interactionDataResolved ?? _index.transformInteractionDataResolved,
130
+ interactionResource: options.interactionResource ?? _index.transformInteractionResource,
131
+ invite: options.invite ?? _index.transformInvite,
132
+ inviteStageInstance: options.inviteStageInstance ?? _index.transformInviteStageInstance,
133
+ member: options.member ?? _index.transformMember,
134
+ message: options.message ?? _index.transformMessage,
135
+ messageCall: options.messageCall ?? _index.transformMessageCall,
136
+ messageInteractionMetadata: options.messageInteractionMetadata ?? _index.transformMessageInteractionMetadata,
137
+ messageSnapshot: options.messageSnapshot ?? _index.transformMessageSnapshot,
138
+ poll: options.poll ?? _index.transformPoll,
139
+ pollMedia: options.pollMedia ?? _index.transformPollMedia,
140
+ presence: options.presence ?? _index.transformPresence,
141
+ role: options.role ?? _index.transformRole,
142
+ scheduledEvent: options.scheduledEvent ?? _index.transformScheduledEvent,
143
+ scheduledEventRecurrenceRule: options.scheduledEventRecurrenceRule ?? _index.transformScheduledEventRecurrenceRule,
144
+ sku: options.sku ?? _index.transformSku,
145
+ soundboardSound: options.soundboardSound ?? _index.transformSoundboardSound,
146
+ snowflake: options.snowflake ?? _utils.snowflakeToBigint,
147
+ stageInstance: options.stageInstance ?? _index.transformStageInstance,
148
+ sticker: options.sticker ?? _index.transformSticker,
149
+ stickerPack: options.stickerPack ?? _index.transformStickerPack,
150
+ subscription: options.subscription ?? _index.transformSubscription,
151
+ team: options.team ?? _index.transformTeam,
152
+ template: options.template ?? _index.transformTemplate,
153
+ threadMember: options.threadMember ?? _index.transformThreadMember,
154
+ threadMemberGuildCreate: options.threadMemberGuildCreate ?? _index.transformThreadMemberGuildCreate,
155
+ user: options.user ?? _index.transformUser,
156
+ voiceRegion: options.voiceRegion ?? _index.transformVoiceRegion,
157
+ voiceState: options.voiceState ?? _index.transformVoiceState,
158
+ webhook: options.webhook ?? _index.transformWebhook,
159
+ welcomeScreen: options.welcomeScreen ?? _index.transformWelcomeScreen,
160
+ widget: options.widget ?? _index.transformWidget,
161
+ widgetSettings: options.widgetSettings ?? _index.transformWidgetSettings
162
+ };
163
+ }
164
+
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICBEaXNjb3JkQWN0aXZpdHksXG4gIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLFxuICBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbixcbiAgRGlzY29yZEFsbG93ZWRNZW50aW9ucyxcbiAgRGlzY29yZEFwcGxpY2F0aW9uLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICBEaXNjb3JkQXR0YWNobWVudCxcbiAgRGlzY29yZEF1ZGl0TG9nRW50cnksXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBEaXNjb3JkQ2hhbm5lbCxcbiAgRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbW9qaSxcbiAgRGlzY29yZEVudGl0bGVtZW50LFxuICBEaXNjb3JkRm9ydW1UYWcsXG4gIERpc2NvcmRHZXRHYXRld2F5Qm90LFxuICBEaXNjb3JkR3VpbGQsXG4gIERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBEaXNjb3JkR3VpbGRXaWRnZXQsXG4gIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUsXG4gIERpc2NvcmRJbnRlcmFjdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsXG4gIERpc2NvcmRJbnZpdGVDcmVhdGUsXG4gIERpc2NvcmRJbnZpdGVNZXRhZGF0YSxcbiAgRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UsXG4gIERpc2NvcmRNZW1iZXIsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBEaXNjb3JkTWVzc2FnZUNhbGwsXG4gIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LFxuICBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIERpc2NvcmRNZXNzYWdlU25hcHNob3QsXG4gIERpc2NvcmRQb2xsLFxuICBEaXNjb3JkUG9sbE1lZGlhLFxuICBEaXNjb3JkUHJlc2VuY2VVcGRhdGUsXG4gIERpc2NvcmRSb2xlLFxuICBEaXNjb3JkU2NoZWR1bGVkRXZlbnQsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICBEaXNjb3JkU2t1LFxuICBEaXNjb3JkU291bmRib2FyZFNvdW5kLFxuICBEaXNjb3JkU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZFN0aWNrZXIsXG4gIERpc2NvcmRTdGlja2VyUGFjayxcbiAgRGlzY29yZFN1YnNjcmlwdGlvbixcbiAgRGlzY29yZFRlYW0sXG4gIERpc2NvcmRUZW1wbGF0ZSxcbiAgRGlzY29yZFRocmVhZE1lbWJlcixcbiAgRGlzY29yZFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICBEaXNjb3JkVXNlcixcbiAgRGlzY29yZFZvaWNlUmVnaW9uLFxuICBEaXNjb3JkVm9pY2VTdGF0ZSxcbiAgRGlzY29yZFdlYmhvb2ssXG4gIERpc2NvcmRXZWxjb21lU2NyZWVuLFxuICBSZWN1cnNpdmVQYXJ0aWFsLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi9ib3QuanMnXG5pbXBvcnQgeyB0eXBlIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIHR5cGUgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0IH0gZnJvbSAnLi9kZXNpcmVkUHJvcGVydGllcy5qcydcbmltcG9ydCB7XG4gIHR5cGUgQWN0aXZpdHksXG4gIHR5cGUgQXBwbGljYXRpb24sXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIHR5cGUgQXVkaXRMb2dFbnRyeSxcbiAgdHlwZSBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgdHlwZSBBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIHR5cGUgQ29tcG9uZW50LFxuICB0eXBlIEVtYmVkLFxuICB0eXBlIEdldEdhdGV3YXlCb3QsXG4gIHR5cGUgR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgdHlwZSBHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sXG4gIHR5cGUgR3VpbGRXaWRnZXQsXG4gIHR5cGUgR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgdHlwZSBJbnRlZ3JhdGlvbixcbiAgdHlwZSBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIHR5cGUgUHJlc2VuY2VVcGRhdGUsXG4gIHR5cGUgU3RpY2tlclBhY2ssXG4gIHR5cGUgVGVhbSxcbiAgdHlwZSBUZW1wbGF0ZSxcbiAgdHlwZSBUaHJlYWRNZW1iZXIsXG4gIHR5cGUgVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gIHR5cGUgVm9pY2VSZWdpb24sXG4gIHR5cGUgV2VsY29tZVNjcmVlbixcbiAgdHJhbnNmb3JtQWN0aXZpdHksXG4gIHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gIHRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24sXG4gIHRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHksXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbixcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uLFxuICB0cmFuc2Zvcm1BdHRhY2htZW50LFxuICB0cmFuc2Zvcm1BdHRhY2htZW50VG9EaXNjb3JkQXR0YWNobWVudCxcbiAgdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgdHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gIHRyYW5zZm9ybUNoYW5uZWwsXG4gIHRyYW5zZm9ybUNvbXBvbmVudCxcbiAgdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50LFxuICB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgdHJhbnNmb3JtRW1iZWQsXG4gIHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQsXG4gIHRyYW5zZm9ybUVtb2ppLFxuICB0cmFuc2Zvcm1FbnRpdGxlbWVudCxcbiAgdHJhbnNmb3JtRm9ydW1UYWcsXG4gIHRyYW5zZm9ybUdhdGV3YXlCb3QsXG4gIHRyYW5zZm9ybUd1aWxkLFxuICB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICB0cmFuc2Zvcm1JbnRlZ3JhdGlvbixcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgdHJhbnNmb3JtSW52aXRlLFxuICB0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlLFxuICB0cmFuc2Zvcm1NZW1iZXIsXG4gIHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlcixcbiAgdHJhbnNmb3JtTWVzc2FnZSxcbiAgdHJhbnNmb3JtTWVzc2FnZUNhbGwsXG4gIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QsXG4gIHRyYW5zZm9ybVBvbGwsXG4gIHRyYW5zZm9ybVBvbGxNZWRpYSxcbiAgdHJhbnNmb3JtUHJlc2VuY2UsXG4gIHRyYW5zZm9ybVJvbGUsXG4gIHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50LFxuICB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICB0cmFuc2Zvcm1Ta3UsXG4gIHRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCxcbiAgdHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSxcbiAgdHJhbnNmb3JtU3RpY2tlcixcbiAgdHJhbnNmb3JtU3RpY2tlclBhY2ssXG4gIHRyYW5zZm9ybVN1YnNjcmlwdGlvbixcbiAgdHJhbnNmb3JtVGVhbSxcbiAgdHJhbnNmb3JtVGVhbVRvRGlzY29yZFRlYW0sXG4gIHRyYW5zZm9ybVRlbXBsYXRlLFxuICB0cmFuc2Zvcm1UaHJlYWRNZW1iZXIsXG4gIHRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICB0cmFuc2Zvcm1Vc2VyLFxuICB0cmFuc2Zvcm1Vc2VyVG9EaXNjb3JkVXNlcixcbiAgdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gIHRyYW5zZm9ybVZvaWNlU3RhdGUsXG4gIHRyYW5zZm9ybVdlYmhvb2ssXG4gIHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gIHRyYW5zZm9ybVdpZGdldCxcbiAgdHJhbnNmb3JtV2lkZ2V0U2V0dGluZ3MsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL2luZGV4LmpzJ1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zLFxuICB0cmFuc2Zvcm1DcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvaW5kZXguanMnXG5pbXBvcnQgeyBiaWdpbnRUb1Nub3dmbGFrZSwgc25vd2ZsYWtlVG9CaWdpbnQgfSBmcm9tICcuL3V0aWxzLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybWVyczxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIC8vIFRoaXMgaXMganVzdCBhbiBhbGlhcywgbm90IGFuIGFjdHVhbCBwYXJhbWV0ZXJcbiAgVEJvdCBleHRlbmRzIEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4gPSBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuPiB7XG4gIGN1c3RvbWl6ZXJzOiB7XG4gICAgYWN0aXZpdHk6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eSwgYWN0aXZpdHk6IEFjdGl2aXR5KSA9PiBhbnlcbiAgICBhY3Rpdml0eUluc3RhbmNlOiAoXG4gICAgICBib3Q6IFRCb3QsXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgICAgIGFjdGl2aXR5SW5zdGFuY2U6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydhY3Rpdml0eUluc3RhbmNlJ10sXG4gICAgKSA9PiBhbnlcbiAgICBhY3Rpdml0eUxvY2F0aW9uOiAoXG4gICAgICBib3Q6IFRCb3QsXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbixcbiAgICAgIGFjdGl2aXR5TG9jYXRpb246IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydhY3Rpdml0eUxvY2F0aW9uJ10sXG4gICAgKSA9PiBhbnlcbiAgICBhcHBsaWNhdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uLCBhcHBsaWNhdGlvbjogQXBwbGljYXRpb24pID0+IGFueVxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCwgYXBwbGljYXRpb25Db21tYW5kOiBBcHBsaWNhdGlvbkNvbW1hbmQpID0+IGFueVxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiwgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24pID0+IGFueVxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogKFxuICAgICAgYm90OiBUQm90LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgICkgPT4gYW55XG4gICAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogKFxuICAgICAgYm90OiBUQm90LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICAgICkgPT4gYW55XG4gICAgYXR0YWNobWVudDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEF0dGFjaG1lbnQsIGF0dGFjaG1lbnQ6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydhdHRhY2htZW50J10pID0+IGFueVxuICAgIGF1ZGl0TG9nRW50cnk6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBdWRpdExvZ0VudHJ5LCBhdWRpdExvZ0VudHJ5OiBBdWRpdExvZ0VudHJ5KSA9PiBhbnlcbiAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uKSA9PiBhbnlcbiAgICBhdXRvbW9kUnVsZTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSwgYXV0b21vZFJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gYW55XG4gICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IChcbiAgICAgIGJvdDogVEJvdCxcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnYXZhdGFyRGVjb3JhdGlvbkRhdGEnXSxcbiAgICApID0+IGFueVxuICAgIGNoYW5uZWw6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGFubmVsLCBjaGFubmVsOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnY2hhbm5lbCddKSA9PiBhbnlcbiAgICBjb21wb25lbnQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBjb21wb25lbnQ6IENvbXBvbmVudCkgPT4gYW55XG4gICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IChcbiAgICAgIGJvdDogVEJvdCxcbiAgICAgIHBheWxvYWQ6IERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZGVmYXVsdFJlYWN0aW9uRW1vamknXSxcbiAgICApID0+IGFueVxuICAgIGVtYmVkOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRW1iZWQsIGVtYmVkOiBFbWJlZCkgPT4gYW55XG4gICAgZW1vamk6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRFbW9qaSwgZW1vamk6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbW9qaSddKSA9PiBhbnlcbiAgICBlbnRpdGxlbWVudDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEVudGl0bGVtZW50LCBlbnRpdGxlbWVudDogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2VudGl0bGVtZW50J10pID0+IGFueVxuICAgIGZvcnVtVGFnOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcsIGZvcnVtVGFnOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZm9ydW1UYWcnXSkgPT4gYW55XG4gICAgZ2F0ZXdheUJvdDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEdldEdhdGV3YXlCb3QsIGdldEdhdGV3YXlCb3Q6IEdldEdhdGV3YXlCb3QpID0+IGFueVxuICAgIGd1aWxkOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGQsIGd1aWxkOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXSkgPT4gYW55XG4gICAgZ3VpbGRPbmJvYXJkaW5nOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLCBvbmJvYXJkaW5nOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGRPbmJvYXJkaW5nJ10pID0+IGFueVxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdDogKFxuICAgICAgYm90OiBUQm90LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgICAgIG9uYm9hcmRpbmdQcm9tcHQ6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZE9uYm9hcmRpbmdQcm9tcHQnXSxcbiAgICApID0+IGFueVxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiwgb25ib2FyZGluZ1Byb21wdE9wdGlvbjogR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uKSA9PiBhbnlcbiAgICBpbnRlZ3JhdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlLCBpbnRlZ3JhdGlvbjogSW50ZWdyYXRpb24pID0+IGFueVxuICAgIGludGVyYWN0aW9uOiAoXG4gICAgICBib3Q6IFRCb3QsXG4gICAgICBwYXlsb2FkOiB7IGludGVyYWN0aW9uOiBEaXNjb3JkSW50ZXJhY3Rpb247IHNoYXJkSWQ6IG51bWJlciB9LFxuICAgICAgaW50ZXJhY3Rpb246IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbiddLFxuICAgICkgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25DYWxsYmFjazogKFxuICAgICAgYm90OiBUQm90LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb25DYWxsYmFjayddLFxuICAgICkgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiAoXG4gICAgICBib3Q6IFRCb3QsXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlJ10sXG4gICAgKSA9PiBhbnlcbiAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLCBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24pID0+IGFueVxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiAoXG4gICAgICBib3Q6IFRCb3QsXG4gICAgICBwYXlsb2FkOiB7IHJlc29sdmVkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ7IGd1aWxkSWQ/OiBiaWdpbnQgfSxcbiAgICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICApID0+IGFueVxuICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IChcbiAgICAgIGJvdDogVEJvdCxcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2ludGVyYWN0aW9uUmVzb3VyY2UnXSxcbiAgICApID0+IGFueVxuICAgIGludml0ZTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEludml0ZUNyZWF0ZSB8IERpc2NvcmRJbnZpdGVNZXRhZGF0YSwgaW52aXRlOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW52aXRlJ10pID0+IGFueVxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IChcbiAgICAgIGJvdDogVEJvdCxcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlLFxuICAgICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2ludml0ZVN0YWdlSW5zdGFuY2UnXSxcbiAgICApID0+IGFueVxuICAgIG1lbWJlcjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZE1lbWJlciwgbWVtYmVyOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ10pID0+IGFueVxuICAgIG1lc3NhZ2U6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlLCBtZXNzYWdlOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZSddKSA9PiBhbnlcbiAgICBtZXNzYWdlQ2FsbDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDYWxsLCBjYWxsOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZUNhbGwnXSkgPT4gYW55XG4gICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IChcbiAgICAgIGJvdDogVEJvdCxcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgICAgIG1ldGFkYXRhOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEnXSxcbiAgICApID0+IGFueVxuICAgIG1lc3NhZ2VTbmFwc2hvdDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCwgbWVzc2FnZVNuYXBzaG90OiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVzc2FnZVNuYXBzaG90J10pID0+IGFueVxuICAgIHBvbGw6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRQb2xsLCBwb2xsOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncG9sbCddKSA9PiBhbnlcbiAgICBwb2xsTWVkaWE6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRQb2xsTWVkaWEsIHBvbGxNZWRpYTogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3BvbGxNZWRpYSddKSA9PiBhbnlcbiAgICBwcmVzZW5jZTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFByZXNlbmNlVXBkYXRlLCBwcmVzZW5jZTogUHJlc2VuY2VVcGRhdGUpID0+IGFueVxuICAgIHJvbGU6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRSb2xlLCByb2xlOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddKSA9PiBhbnlcbiAgICBzY2hlZHVsZWRFdmVudDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFNjaGVkdWxlZEV2ZW50LCBzY2hlZHVsZWRFdmVudDogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NjaGVkdWxlZEV2ZW50J10pID0+IGFueVxuICAgIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IChcbiAgICAgIGJvdDogVEJvdCxcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgICAgc2NoZWR1bGVkRXZlbnQ6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlJ10sXG4gICAgKSA9PiBhbnlcbiAgICBza3U6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRTa3UsIHNrdTogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NrdSddKSA9PiBhbnlcbiAgICBzb3VuZGJvYXJkU291bmQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRTb3VuZGJvYXJkU291bmQsIHNvdW5kYm9hcmRTb3VuZDogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NvdW5kYm9hcmRTb3VuZCddKSA9PiBhbnlcbiAgICBzdGFnZUluc3RhbmNlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkU3RhZ2VJbnN0YW5jZSwgc3RhZ2VJbnN0YW5jZTogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3N0YWdlSW5zdGFuY2UnXSkgPT4gYW55XG4gICAgc3RpY2tlcjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFN0aWNrZXIsIHN0aWNrZXI6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzdGlja2VyJ10pID0+IGFueVxuICAgIHN0aWNrZXJQYWNrOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkU3RpY2tlclBhY2ssIHN0aWNrZXJQYWNrOiBTdGlja2VyUGFjaykgPT4gYW55XG4gICAgc3Vic2NyaXB0aW9uOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkU3Vic2NyaXB0aW9uLCBzdWJzY3JpcHRpb246IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzdWJzY3JpcHRpb24nXSkgPT4gYW55XG4gICAgdGVhbTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFRlYW0sIHRlYW06IFRlYW0pID0+IGFueVxuICAgIHRlbXBsYXRlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVGVtcGxhdGUsIHRlbXBsYXRlOiBUZW1wbGF0ZSkgPT4gYW55XG4gICAgdGhyZWFkTWVtYmVyOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVGhyZWFkTWVtYmVyLCB0aHJlYWRNZW1iZXI6IFRocmVhZE1lbWJlcikgPT4gYW55XG4gICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSwgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlKSA9PiBhbnlcbiAgICB1c2VyOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVXNlciwgdXNlcjogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3VzZXInXSkgPT4gYW55XG4gICAgdm9pY2VSZWdpb246IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRWb2ljZVJlZ2lvbiwgdm9pY2VSZWdpb246IFZvaWNlUmVnaW9uKSA9PiBhbnlcbiAgICB2b2ljZVN0YXRlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVm9pY2VTdGF0ZSwgdm9pY2VTdGF0ZTogVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3ZvaWNlU3RhdGUnXSkgPT4gYW55XG4gICAgd2ViaG9vazogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFdlYmhvb2ssIHdlYmhvb2s6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd3ZWJob29rJ10pID0+IGFueVxuICAgIHdlbGNvbWVTY3JlZW46IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRXZWxjb21lU2NyZWVuLCB3ZWxjb21lU2NyZWVuOiBXZWxjb21lU2NyZWVuKSA9PiBhbnlcbiAgICB3aWRnZXQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZFdpZGdldCwgd2lkZ2V0OiBHdWlsZFdpZGdldCkgPT4gYW55XG4gICAgd2lkZ2V0U2V0dGluZ3M6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLCB3aWRnZXRTZXR0aW5nczogR3VpbGRXaWRnZXRTZXR0aW5ncykgPT4gYW55XG4gIH1cbiAgZGVzaXJlZFByb3BlcnRpZXM6IFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzXG4gIHJldmVyc2U6IHtcbiAgICBhY3Rpdml0eTogKGJvdDogVEJvdCwgcGF5bG9hZDogQWN0aXZpdHkpID0+IERpc2NvcmRBY3Rpdml0eVxuICAgIGFsbG93ZWRNZW50aW9uczogKGJvdDogVEJvdCwgcGF5bG9hZDogQWxsb3dlZE1lbnRpb25zKSA9PiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zXG4gICAgYXBwbGljYXRpb246IChib3Q6IFRCb3QsIHBheWxvYWQ6IEFwcGxpY2F0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb25cbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UpID0+IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VcbiAgICBhdHRhY2htZW50OiAoYm90OiBUQm90LCBwYXlsb2FkOiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnYXR0YWNobWVudCddKSA9PiBEaXNjb3JkQXR0YWNobWVudFxuICAgIGNvbXBvbmVudDogKGJvdDogVEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KSA9PiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudFxuICAgIGNyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogVEJvdCwgcGF5bG9hZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kKSA9PiBEaXNjb3JkQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kXG4gICAgZW1iZWQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IEVtYmVkKSA9PiBEaXNjb3JkRW1iZWRcbiAgICBtZW1iZXI6IChib3Q6IFRCb3QsIHBheWxvYWQ6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZW1iZXInXSkgPT4gRGlzY29yZE1lbWJlclxuICAgIHNub3dmbGFrZTogKHNub3dmbGFrZTogQmlnU3RyaW5nKSA9PiBzdHJpbmdcbiAgICB0ZWFtOiAoYm90OiBUQm90LCBwYXlsb2FkOiBUZWFtKSA9PiBEaXNjb3JkVGVhbVxuICAgIHVzZXI6IChib3Q6IFRCb3QsIHBheWxvYWQ6IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWyd1c2VyJ10pID0+IERpc2NvcmRVc2VyXG4gIH1cbiAgYWN0aXZpdHk6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eSkgPT4gQWN0aXZpdHlcbiAgYWN0aXZpdHlJbnN0YW5jZTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5SW5zdGFuY2UpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydhY3Rpdml0eUluc3RhbmNlJ11cbiAgYWN0aXZpdHlMb2NhdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5TG9jYXRpb24pID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydhY3Rpdml0eUxvY2F0aW9uJ11cbiAgYXBwbGljYXRpb246IChib3Q6IFRCb3QsIHBheWxvYWQ6IHsgYXBwbGljYXRpb246IERpc2NvcmRBcHBsaWNhdGlvbjsgc2hhcmRJZDogbnVtYmVyIH0pID0+IEFwcGxpY2F0aW9uXG4gIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gQXBwbGljYXRpb25Db21tYW5kXG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbikgPT4gQXBwbGljYXRpb25Db21tYW5kT3B0aW9uXG4gIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSkgPT4gQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlXG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zKSA9PiBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zXG4gIGF0dGFjaG1lbnQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBdHRhY2htZW50KSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnYXR0YWNobWVudCddXG4gIGF1ZGl0TG9nRW50cnk6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBdWRpdExvZ0VudHJ5KSA9PiBBdWRpdExvZ0VudHJ5XG4gIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbikgPT4gQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb25cbiAgYXV0b21vZFJ1bGU6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUpID0+IEF1dG9Nb2RlcmF0aW9uUnVsZVxuICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnYXZhdGFyRGVjb3JhdGlvbkRhdGEnXVxuICBjaGFubmVsOiAoYm90OiBUQm90LCBwYXlsb2FkOiB7IGNoYW5uZWw6IERpc2NvcmRDaGFubmVsOyBndWlsZElkPzogQmlnU3RyaW5nIH0pID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydjaGFubmVsJ11cbiAgY29tcG9uZW50OiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCkgPT4gQ29tcG9uZW50XG4gIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamkpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydkZWZhdWx0UmVhY3Rpb25FbW9qaSddXG4gIGVtYmVkOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRW1iZWQpID0+IEVtYmVkXG4gIGVtb2ppOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRW1vamkpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbW9qaSddXG4gIGVudGl0bGVtZW50OiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRW50aXRsZW1lbnQpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydlbnRpdGxlbWVudCddXG4gIGZvcnVtVGFnOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydmb3J1bVRhZyddXG4gIGdhdGV3YXlCb3Q6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHZXRHYXRld2F5Qm90KSA9PiBHZXRHYXRld2F5Qm90XG4gIGd1aWxkOiAoYm90OiBUQm90LCBwYXlsb2FkOiB7IGd1aWxkOiBEaXNjb3JkR3VpbGQ7IHNoYXJkSWQ6IG51bWJlciB9KSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnZ3VpbGQnXVxuICBndWlsZE9uYm9hcmRpbmc6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZE9uYm9hcmRpbmcnXVxuICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydndWlsZE9uYm9hcmRpbmdQcm9tcHQnXVxuICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24pID0+IEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvblxuICBpbnRlZ3JhdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlKSA9PiBJbnRlZ3JhdGlvblxuICBpbnRlcmFjdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogeyBpbnRlcmFjdGlvbjogRGlzY29yZEludGVyYWN0aW9uOyBzaGFyZElkOiBudW1iZXIgfSkgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2ludGVyYWN0aW9uJ11cbiAgaW50ZXJhY3Rpb25DYWxsYmFjazogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2spID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnRlcmFjdGlvbkNhbGxiYWNrJ11cbiAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiAoXG4gICAgYm90OiBUQm90LFxuICAgIHBheWxvYWQ6IHsgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOyBzaGFyZElkOiBudW1iZXIgfSxcbiAgKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlJ11cbiAgaW50ZXJhY3Rpb25EYXRhT3B0aW9uczogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbikgPT4gSW50ZXJhY3Rpb25EYXRhT3B0aW9uXG4gIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiAoXG4gICAgYm90OiBUQm90LFxuICAgIHBheWxvYWQ6IHsgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDsgc2hhcmRJZDogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4gICkgPT4gSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWRcbiAgaW50ZXJhY3Rpb25SZXNvdXJjZTogKFxuICAgIGJvdDogVEJvdCxcbiAgICBwYXlsb2FkOiB7IGludGVyYWN0aW9uUmVzb3VyY2U6IERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlOyBzaGFyZElkOiBudW1iZXIgfSxcbiAgKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnaW50ZXJhY3Rpb25SZXNvdXJjZSddXG4gIGludml0ZTogKFxuICAgIGJvdDogVEJvdCxcbiAgICBwYXlsb2FkOiB7IGludml0ZTogRGlzY29yZEludml0ZUNyZWF0ZSB8IERpc2NvcmRJbnZpdGVNZXRhZGF0YTsgc2hhcmRJZDogbnVtYmVyIH0sXG4gICkgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ2ludml0ZSddXG4gIGludml0ZVN0YWdlSW5zdGFuY2U6IChcbiAgICBib3Q6IFRCb3QsXG4gICAgcGF5bG9hZDogRGlzY29yZEludml0ZVN0YWdlSW5zdGFuY2UgJiB7IGd1aWxkSWQ6IEJpZ1N0cmluZyB9LFxuICApID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydpbnZpdGVTdGFnZUluc3RhbmNlJ11cbiAgbWVtYmVyOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVtYmVyLCBndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnbWVtYmVyJ11cbiAgbWVzc2FnZTogKGJvdDogVEJvdCwgcGF5bG9hZDogeyBtZXNzYWdlOiBEaXNjb3JkTWVzc2FnZTsgc2hhcmRJZDogbnVtYmVyIH0pID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlJ11cbiAgbWVzc2FnZUNhbGw6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ2FsbCkgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2VDYWxsJ11cbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IChcbiAgICBib3Q6IFRCb3QsXG4gICAgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICApID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSddXG4gIG1lc3NhZ2VTbmFwc2hvdDogKFxuICAgIGJvdDogVEJvdCxcbiAgICBwYXlsb2FkOiB7IG1lc3NhZ2VTbmFwc2hvdDogRGlzY29yZE1lc3NhZ2VTbmFwc2hvdDsgc2hhcmRJZDogbnVtYmVyIH0sXG4gICkgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ21lc3NhZ2VTbmFwc2hvdCddXG4gIHBvbGw6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRQb2xsKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncG9sbCddXG4gIHBvbGxNZWRpYTogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFBvbGxNZWRpYSkgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3BvbGxNZWRpYSddXG4gIHByZXNlbmNlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkUHJlc2VuY2VVcGRhdGUpID0+IFByZXNlbmNlVXBkYXRlXG4gIHJvbGU6IChib3Q6IFRCb3QsIHBheWxvYWQ6IHsgcm9sZTogRGlzY29yZFJvbGU7IGd1aWxkSWQ6IEJpZ1N0cmluZyB9KSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsncm9sZSddXG4gIHNjaGVkdWxlZEV2ZW50OiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkU2NoZWR1bGVkRXZlbnQpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzY2hlZHVsZWRFdmVudCddXG4gIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IChcbiAgICBib3Q6IFRCb3QsXG4gICAgcGF5bG9hZDogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICkgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3NjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUnXVxuICBza3U6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRTa3UpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydza3UnXVxuICBzb3VuZGJvYXJkU291bmQ6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRTb3VuZGJvYXJkU291bmQpID0+IFRCb3RbJ3RyYW5zZm9ybWVycyddWyckaW5mZXJyZWRUeXBlcyddWydzb3VuZGJvYXJkU291bmQnXVxuICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gYmlnaW50XG4gIHN0YWdlSW5zdGFuY2U6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRTdGFnZUluc3RhbmNlKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc3RhZ2VJbnN0YW5jZSddXG4gIHN0aWNrZXI6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRTdGlja2VyKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnc3RpY2tlciddXG4gIHN0aWNrZXJQYWNrOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkU3RpY2tlclBhY2spID0+IFN0aWNrZXJQYWNrXG4gIHN1YnNjcmlwdGlvbjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFN1YnNjcmlwdGlvbikgPT4gVEJvdFsndHJhbnNmb3JtZXJzJ11bJyRpbmZlcnJlZFR5cGVzJ11bJ3N1YnNjcmlwdGlvbiddXG4gIHRlYW06IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRUZWFtKSA9PiBUZWFtXG4gIHRlbXBsYXRlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVGVtcGxhdGUpID0+IFRlbXBsYXRlXG4gIHRocmVhZE1lbWJlcjogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZFRocmVhZE1lbWJlcikgPT4gVGhyZWFkTWVtYmVyXG4gIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUpID0+IFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlXG4gIHVzZXI6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRVc2VyKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsndXNlciddXG4gIHZvaWNlUmVnaW9uOiAoYm90OiBUQm90LCBwYXlsb2FkOiBEaXNjb3JkVm9pY2VSZWdpb24pID0+IFZvaWNlUmVnaW9uXG4gIHZvaWNlU3RhdGU6IChib3Q6IFRCb3QsIHBheWxvYWQ6IHsgdm9pY2VTdGF0ZTogRGlzY29yZFZvaWNlU3RhdGU7IGd1aWxkSWQ6IEJpZ1N0cmluZyB9KSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsndm9pY2VTdGF0ZSddXG4gIHdlYmhvb2s6IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRXZWJob29rKSA9PiBUQm90Wyd0cmFuc2Zvcm1lcnMnXVsnJGluZmVycmVkVHlwZXMnXVsnd2ViaG9vayddXG4gIHdlbGNvbWVTY3JlZW46IChib3Q6IFRCb3QsIHBheWxvYWQ6IERpc2NvcmRXZWxjb21lU2NyZWVuKSA9PiBXZWxjb21lU2NyZWVuXG4gIHdpZGdldDogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEd1aWxkV2lkZ2V0KSA9PiBHdWlsZFdpZGdldFxuICB3aWRnZXRTZXR0aW5nczogKGJvdDogVEJvdCwgcGF5bG9hZDogRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3MpID0+IEd1aWxkV2lkZ2V0U2V0dGluZ3Ncbn1cblxuY29uc3QgZGVmYXVsdEN1c3RvbWl6ZXIgPSAoX2JvdDogdW5rbm93biwgX3BheWxvYWQ6IHVua25vd24sIHN0cnVjdHVyZTogdW5rbm93bikgPT4gc3RydWN0dXJlXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmFuc2Zvcm1lcnM8VFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+KFxuICBvcHRpb25zOiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4+LFxuKTogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiB7XG4gIHJldHVybiB7XG4gICAgY3VzdG9taXplcnM6IHtcbiAgICAgIGFjdGl2aXR5OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5SW5zdGFuY2U6IG9wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5SW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhY3Rpdml0eUxvY2F0aW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUxvY2F0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb246IG9wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IG9wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF0dGFjaG1lbnQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LmF0dGFjaG1lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdWRpdExvZ0VudHJ5OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hdWRpdExvZ0VudHJ5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogb3B0aW9ucy5jdXN0b21pemVycz8uYXV0b21vZEFjdGlvbkV4ZWN1dGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1dG9tb2RSdWxlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvbW9kUnVsZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5hdmF0YXJEZWNvcmF0aW9uRGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGNoYW5uZWw6IG9wdGlvbnMuY3VzdG9taXplcnM/LmNoYW5uZWwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb21wb25lbnQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LmNvbXBvbmVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtYmVkOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5lbWJlZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtb2ppOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5lbW9qaSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVudGl0bGVtZW50OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5lbnRpdGxlbWVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGZvcnVtVGFnOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5mb3J1bVRhZyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGdhdGV3YXlCb3Q6IG9wdGlvbnMuY3VzdG9taXplcnM/LmdhdGV3YXlCb3QgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZDogb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZE9uYm9hcmRpbmc6IG9wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkT25ib2FyZGluZyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdDogb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlZ3JhdGlvbjogb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZWdyYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbjogb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uRGF0YVJlc29sdmVkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogb3B0aW9ucz8uY3VzdG9taXplcnM/LmludGVyYWN0aW9uUmVzb3VyY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGU6IG9wdGlvbnMuY3VzdG9taXplcnM/Lmludml0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IG9wdGlvbnMuY3VzdG9taXplcnM/Lmludml0ZVN0YWdlSW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZW1iZXI6IG9wdGlvbnMuY3VzdG9taXplcnM/Lm1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2U6IG9wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlQ2FsbDogb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZUNhbGwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YTogb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlU25hcHNob3Q6IG9wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VTbmFwc2hvdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHBvbGw6IG9wdGlvbnMuY3VzdG9taXplcnM/LnBvbGwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwb2xsTWVkaWE6IG9wdGlvbnMuY3VzdG9taXplcnM/LnBvbGxNZWRpYSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHByZXNlbmNlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5wcmVzZW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHJvbGU6IG9wdGlvbnMuY3VzdG9taXplcnM/LnJvbGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzY2hlZHVsZWRFdmVudDogb3B0aW9ucy5jdXN0b21pemVycz8uc2NoZWR1bGVkRXZlbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc2t1OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5za3UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IG9wdGlvbnMuY3VzdG9taXplcnM/LnNvdW5kYm9hcmRTb3VuZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0YWdlSW5zdGFuY2U6IG9wdGlvbnMuY3VzdG9taXplcnM/LnN0YWdlSW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGlja2VyOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlclBhY2s6IG9wdGlvbnMuY3VzdG9taXplcnM/LnN0aWNrZXJQYWNrID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3Vic2NyaXB0aW9uOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy5zdWJzY3JpcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0ZWFtOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy50ZWFtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVtcGxhdGU6IG9wdGlvbnMuY3VzdG9taXplcnM/LnRlbXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy50aHJlYWRNZW1iZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0aHJlYWRNZW1iZXJHdWlsZENyZWF0ZTogb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy51c2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdm9pY2VSZWdpb246IG9wdGlvbnMuY3VzdG9taXplcnM/LnZvaWNlUmVnaW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdm9pY2VTdGF0ZTogb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VTdGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdlYmhvb2s6IG9wdGlvbnMuY3VzdG9taXplcnM/LndlYmhvb2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3ZWxjb21lU2NyZWVuOiBvcHRpb25zLmN1c3RvbWl6ZXJzPy53ZWxjb21lU2NyZWVuID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2lkZ2V0OiBvcHRpb25zLmN1c3RvbWl6ZXJzPy53aWRnZXQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXRTZXR0aW5nczogb3B0aW9ucy5jdXN0b21pemVycz8ud2lkZ2V0U2V0dGluZ3MgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgfSxcbiAgICBkZXNpcmVkUHJvcGVydGllczogY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3Qob3B0aW9ucy5kZXNpcmVkUHJvcGVydGllcyA/PyB7fSksXG4gICAgcmV2ZXJzZToge1xuICAgICAgYWN0aXZpdHk6IG9wdGlvbnMucmV2ZXJzZT8uYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSxcbiAgICAgIGFsbG93ZWRNZW50aW9uczogb3B0aW9ucy5yZXZlcnNlPy5hbGxvd2VkTWVudGlvbnMgPz8gdHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zLFxuICAgICAgYXBwbGljYXRpb246IG9wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogb3B0aW9ucy5yZXZlcnNlPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBvcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6XG4gICAgICAgIG9wdGlvbnMucmV2ZXJzZT8uYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICAgIGF0dGFjaG1lbnQ6IG9wdGlvbnMucmV2ZXJzZT8uYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50VG9EaXNjb3JkQXR0YWNobWVudCxcbiAgICAgIGNvbXBvbmVudDogb3B0aW9ucy5yZXZlcnNlPy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50LFxuICAgICAgY3JlYXRlQXBwbGljYXRpb25Db21tYW5kOiBvcHRpb25zLnJldmVyc2U/LmNyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1DcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgICBlbWJlZDogb3B0aW9ucy5yZXZlcnNlPy5lbWJlZCA/PyB0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkLFxuICAgICAgbWVtYmVyOiBvcHRpb25zLnJldmVyc2U/Lm1lbWJlciA/PyB0cmFuc2Zvcm1NZW1iZXJUb0Rpc2NvcmRNZW1iZXIsXG4gICAgICBzbm93Zmxha2U6IG9wdGlvbnMucmV2ZXJzZT8uc25vd2ZsYWtlID8/IGJpZ2ludFRvU25vd2ZsYWtlLFxuICAgICAgdGVhbTogb3B0aW9ucy5yZXZlcnNlPy50ZWFtID8/IHRyYW5zZm9ybVRlYW1Ub0Rpc2NvcmRUZWFtLFxuICAgICAgdXNlcjogb3B0aW9ucy5yZXZlcnNlPy51c2VyID8/IHRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyLFxuICAgIH0sXG4gICAgYWN0aXZpdHk6IG9wdGlvbnMuYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHksXG4gICAgYWN0aXZpdHlJbnN0YW5jZTogb3B0aW9ucy5hY3Rpdml0eUluc3RhbmNlID8/IHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gICAgYWN0aXZpdHlMb2NhdGlvbjogb3B0aW9ucy5hY3Rpdml0eUxvY2F0aW9uID8/IHRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24sXG4gICAgYXBwbGljYXRpb246IG9wdGlvbnMuYXBwbGljYXRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb24sXG4gICAgYXBwbGljYXRpb25Db21tYW5kOiBvcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBvcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBvcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gICAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24sXG4gICAgYXR0YWNobWVudDogb3B0aW9ucy5hdHRhY2htZW50ID8/IHRyYW5zZm9ybUF0dGFjaG1lbnQsXG4gICAgYXVkaXRMb2dFbnRyeTogb3B0aW9ucy5hdWRpdExvZ0VudHJ5ID8/IHRyYW5zZm9ybUF1ZGl0TG9nRW50cnksXG4gICAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogb3B0aW9ucy5hdXRvbW9kQWN0aW9uRXhlY3V0aW9uID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgIGF1dG9tb2RSdWxlOiBvcHRpb25zLmF1dG9tb2RSdWxlID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogb3B0aW9ucy5hdmF0YXJEZWNvcmF0aW9uRGF0YSA/PyB0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgICBjaGFubmVsOiBvcHRpb25zLmNoYW5uZWwgPz8gdHJhbnNmb3JtQ2hhbm5lbCxcbiAgICBjb21wb25lbnQ6IG9wdGlvbnMuY29tcG9uZW50ID8/IHRyYW5zZm9ybUNvbXBvbmVudCxcbiAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogb3B0aW9ucy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICBlbWJlZDogb3B0aW9ucy5lbWJlZCA/PyB0cmFuc2Zvcm1FbWJlZCxcbiAgICBlbW9qaTogb3B0aW9ucy5lbW9qaSA/PyB0cmFuc2Zvcm1FbW9qaSxcbiAgICBlbnRpdGxlbWVudDogb3B0aW9ucy5lbnRpdGxlbWVudCA/PyB0cmFuc2Zvcm1FbnRpdGxlbWVudCxcbiAgICBmb3J1bVRhZzogb3B0aW9ucy5mb3J1bVRhZyA/PyB0cmFuc2Zvcm1Gb3J1bVRhZyxcbiAgICBnYXRld2F5Qm90OiBvcHRpb25zLmdhdGV3YXlCb3QgPz8gdHJhbnNmb3JtR2F0ZXdheUJvdCxcbiAgICBndWlsZDogb3B0aW9ucy5ndWlsZCA/PyB0cmFuc2Zvcm1HdWlsZCxcbiAgICBndWlsZE9uYm9hcmRpbmc6IG9wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyxcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IG9wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0ID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IG9wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICBpbnRlZ3JhdGlvbjogb3B0aW9ucy5pbnRlZ3JhdGlvbiA/PyB0cmFuc2Zvcm1JbnRlZ3JhdGlvbixcbiAgICBpbnRlcmFjdGlvbjogb3B0aW9ucy5pbnRlcmFjdGlvbiA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBvcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IG9wdGlvbnMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBvcHRpb25zLmludGVyYWN0aW9uRGF0YU9wdGlvbnMgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBvcHRpb25zLmludGVyYWN0aW9uRGF0YVJlc29sdmVkID8/IHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IG9wdGlvbnMuaW50ZXJhY3Rpb25SZXNvdXJjZSA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlLFxuICAgIGludml0ZTogb3B0aW9ucy5pbnZpdGUgPz8gdHJhbnNmb3JtSW52aXRlLFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IG9wdGlvbnMuaW52aXRlU3RhZ2VJbnN0YW5jZSA/PyB0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlLFxuICAgIG1lbWJlcjogb3B0aW9ucy5tZW1iZXIgPz8gdHJhbnNmb3JtTWVtYmVyLFxuICAgIG1lc3NhZ2U6IG9wdGlvbnMubWVzc2FnZSA/PyB0cmFuc2Zvcm1NZXNzYWdlLFxuICAgIG1lc3NhZ2VDYWxsOiBvcHRpb25zLm1lc3NhZ2VDYWxsID8/IHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBvcHRpb25zLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhID8/IHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICAgIG1lc3NhZ2VTbmFwc2hvdDogb3B0aW9ucy5tZXNzYWdlU25hcHNob3QgPz8gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxuICAgIHBvbGw6IG9wdGlvbnMucG9sbCA/PyB0cmFuc2Zvcm1Qb2xsLFxuICAgIHBvbGxNZWRpYTogb3B0aW9ucy5wb2xsTWVkaWEgPz8gdHJhbnNmb3JtUG9sbE1lZGlhLFxuICAgIHByZXNlbmNlOiBvcHRpb25zLnByZXNlbmNlID8/IHRyYW5zZm9ybVByZXNlbmNlLFxuICAgIHJvbGU6IG9wdGlvbnMucm9sZSA/PyB0cmFuc2Zvcm1Sb2xlLFxuICAgIHNjaGVkdWxlZEV2ZW50OiBvcHRpb25zLnNjaGVkdWxlZEV2ZW50ID8/IHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50LFxuICAgIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IG9wdGlvbnMuc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgIHNrdTogb3B0aW9ucy5za3UgPz8gdHJhbnNmb3JtU2t1LFxuICAgIHNvdW5kYm9hcmRTb3VuZDogb3B0aW9ucy5zb3VuZGJvYXJkU291bmQgPz8gdHJhbnNmb3JtU291bmRib2FyZFNvdW5kLFxuICAgIHNub3dmbGFrZTogb3B0aW9ucy5zbm93Zmxha2UgPz8gc25vd2ZsYWtlVG9CaWdpbnQsXG4gICAgc3RhZ2VJbnN0YW5jZTogb3B0aW9ucy5zdGFnZUluc3RhbmNlID8/IHRyYW5zZm9ybVN0YWdlSW5zdGFuY2UsXG4gICAgc3RpY2tlcjogb3B0aW9ucy5zdGlja2VyID8/IHRyYW5zZm9ybVN0aWNrZXIsXG4gICAgc3RpY2tlclBhY2s6IG9wdGlvbnMuc3RpY2tlclBhY2sgPz8gdHJhbnNmb3JtU3RpY2tlclBhY2ssXG4gICAgc3Vic2NyaXB0aW9uOiBvcHRpb25zLnN1YnNjcmlwdGlvbiA/PyB0cmFuc2Zvcm1TdWJzY3JpcHRpb24sXG4gICAgdGVhbTogb3B0aW9ucy50ZWFtID8/IHRyYW5zZm9ybVRlYW0sXG4gICAgdGVtcGxhdGU6IG9wdGlvbnMudGVtcGxhdGUgPz8gdHJhbnNmb3JtVGVtcGxhdGUsXG4gICAgdGhyZWFkTWVtYmVyOiBvcHRpb25zLnRocmVhZE1lbWJlciA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXIsXG4gICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IG9wdGlvbnMudGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgPz8gdHJhbnNmb3JtVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gICAgdXNlcjogb3B0aW9ucy51c2VyID8/IHRyYW5zZm9ybVVzZXIsXG4gICAgdm9pY2VSZWdpb246IG9wdGlvbnMudm9pY2VSZWdpb24gPz8gdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gICAgdm9pY2VTdGF0ZTogb3B0aW9ucy52b2ljZVN0YXRlID8/IHRyYW5zZm9ybVZvaWNlU3RhdGUsXG4gICAgd2ViaG9vazogb3B0aW9ucy53ZWJob29rID8/IHRyYW5zZm9ybVdlYmhvb2ssXG4gICAgd2VsY29tZVNjcmVlbjogb3B0aW9ucy53ZWxjb21lU2NyZWVuID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gICAgd2lkZ2V0OiBvcHRpb25zLndpZGdldCA/PyB0cmFuc2Zvcm1XaWRnZXQsXG4gICAgd2lkZ2V0U2V0dGluZ3M6IG9wdGlvbnMud2lkZ2V0U2V0dGluZ3MgPz8gdHJhbnNmb3JtV2lkZ2V0U2V0dGluZ3MsXG4gIH0gYXMgVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPlxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVRyYW5zZm9ybWVycyIsImRlZmF1bHRDdXN0b21pemVyIiwiX2JvdCIsIl9wYXlsb2FkIiwic3RydWN0dXJlIiwib3B0aW9ucyIsImN1c3RvbWl6ZXJzIiwiYWN0aXZpdHkiLCJhY3Rpdml0eUluc3RhbmNlIiwiYWN0aXZpdHlMb2NhdGlvbiIsImFwcGxpY2F0aW9uIiwiYXBwbGljYXRpb25Db21tYW5kIiwiYXBwbGljYXRpb25Db21tYW5kT3B0aW9uIiwiYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIiwiYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbiIsImF0dGFjaG1lbnQiLCJhdWRpdExvZ0VudHJ5IiwiYXV0b21vZEFjdGlvbkV4ZWN1dGlvbiIsImF1dG9tb2RSdWxlIiwiYXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJjaGFubmVsIiwiY29tcG9uZW50IiwiZGVmYXVsdFJlYWN0aW9uRW1vamkiLCJlbWJlZCIsImVtb2ppIiwiZW50aXRsZW1lbnQiLCJmb3J1bVRhZyIsImdhdGV3YXlCb3QiLCJndWlsZCIsImd1aWxkT25ib2FyZGluZyIsImd1aWxkT25ib2FyZGluZ1Byb21wdCIsImd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiIsImludGVncmF0aW9uIiwiaW50ZXJhY3Rpb24iLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwiaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlIiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwiaW50ZXJhY3Rpb25SZXNvdXJjZSIsImludml0ZSIsImludml0ZVN0YWdlSW5zdGFuY2UiLCJtZW1iZXIiLCJtZXNzYWdlIiwibWVzc2FnZUNhbGwiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1lc3NhZ2VTbmFwc2hvdCIsInBvbGwiLCJwb2xsTWVkaWEiLCJwcmVzZW5jZSIsInJvbGUiLCJzY2hlZHVsZWRFdmVudCIsInNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUiLCJza3UiLCJzb3VuZGJvYXJkU291bmQiLCJzdGFnZUluc3RhbmNlIiwic3RpY2tlciIsInN0aWNrZXJQYWNrIiwic3Vic2NyaXB0aW9uIiwidGVhbSIsInRlbXBsYXRlIiwidGhyZWFkTWVtYmVyIiwidGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiLCJ1c2VyIiwidm9pY2VSZWdpb24iLCJ2b2ljZVN0YXRlIiwid2ViaG9vayIsIndlbGNvbWVTY3JlZW4iLCJ3aWRnZXQiLCJ3aWRnZXRTZXR0aW5ncyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QiLCJyZXZlcnNlIiwidHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSIsImFsbG93ZWRNZW50aW9ucyIsInRyYW5zZm9ybUFsbG93ZWRNZW50aW9uc1RvRGlzY29yZEFsbG93ZWRNZW50aW9ucyIsInRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UiLCJ0cmFuc2Zvcm1BdHRhY2htZW50VG9EaXNjb3JkQXR0YWNobWVudCIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImNyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUNyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQiLCJ0cmFuc2Zvcm1NZW1iZXJUb0Rpc2NvcmRNZW1iZXIiLCJzbm93Zmxha2UiLCJiaWdpbnRUb1Nub3dmbGFrZSIsInRyYW5zZm9ybVRlYW1Ub0Rpc2NvcmRUZWFtIiwidHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIiLCJ0cmFuc2Zvcm1BY3Rpdml0eSIsInRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UiLCJ0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwidHJhbnNmb3JtQXR0YWNobWVudCIsInRyYW5zZm9ybUF1ZGl0TG9nRW50cnkiLCJ0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbiIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSIsInRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhIiwidHJhbnNmb3JtQ2hhbm5lbCIsInRyYW5zZm9ybUNvbXBvbmVudCIsInRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppIiwidHJhbnNmb3JtRW1iZWQiLCJ0cmFuc2Zvcm1FbW9qaSIsInRyYW5zZm9ybUVudGl0bGVtZW50IiwidHJhbnNmb3JtRm9ydW1UYWciLCJ0cmFuc2Zvcm1HYXRld2F5Qm90IiwidHJhbnNmb3JtR3VpbGQiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmciLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsInRyYW5zZm9ybUludml0ZSIsInRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1NZW1iZXIiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJ0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsInRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCIsInRyYW5zZm9ybVBvbGwiLCJ0cmFuc2Zvcm1Qb2xsTWVkaWEiLCJ0cmFuc2Zvcm1QcmVzZW5jZSIsInRyYW5zZm9ybVJvbGUiLCJ0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCIsInRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUiLCJ0cmFuc2Zvcm1Ta3UiLCJ0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQiLCJzbm93Zmxha2VUb0JpZ2ludCIsInRyYW5zZm9ybVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1TdGlja2VyIiwidHJhbnNmb3JtU3RpY2tlclBhY2siLCJ0cmFuc2Zvcm1TdWJzY3JpcHRpb24iLCJ0cmFuc2Zvcm1UZWFtIiwidHJhbnNmb3JtVGVtcGxhdGUiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXIiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSIsInRyYW5zZm9ybVVzZXIiLCJ0cmFuc2Zvcm1Wb2ljZVJlZ2lvbiIsInRyYW5zZm9ybVZvaWNlU3RhdGUiLCJ0cmFuc2Zvcm1XZWJob29rIiwidHJhbnNmb3JtV2VsY29tZVNjcmVlbiIsInRyYW5zZm9ybVdpZGdldCIsInRyYW5zZm9ybVdpZGdldFNldHRpbmdzIl0sIm1hcHBpbmdzIjoiOzs7OytCQWthZ0JBOzs7ZUFBQUE7OzttQ0ExVmtHO3VCQXFHM0c7d0JBSUE7dUJBQzhDO0FBOE9yRCxNQUFNQyxvQkFBb0IsQ0FBQ0MsTUFBZUMsVUFBbUJDLFlBQXVCQTtBQUU3RSxTQUFTSixtQkFDZEssT0FBMEQ7SUFFMUQsT0FBTztRQUNMQyxhQUFhO1lBQ1hDLFVBQVVGLFFBQVFDLFdBQVcsRUFBRUMsWUFBWU47WUFDM0NPLGtCQUFrQkgsUUFBUUMsV0FBVyxFQUFFRSxvQkFBb0JQO1lBQzNEUSxrQkFBa0JKLFFBQVFDLFdBQVcsRUFBRUcsb0JBQW9CUjtZQUMzRFMsYUFBYUwsUUFBUUMsV0FBVyxFQUFFSSxlQUFlVDtZQUNqRFUsb0JBQW9CTixRQUFRQyxXQUFXLEVBQUVLLHNCQUFzQlY7WUFDL0RXLDBCQUEwQlAsUUFBUUMsV0FBVyxFQUFFTSw0QkFBNEJYO1lBQzNFWSxnQ0FBZ0NSLFFBQVFDLFdBQVcsRUFBRU8sa0NBQWtDWjtZQUN2RmEsOEJBQThCVCxRQUFRQyxXQUFXLEVBQUVRLGdDQUFnQ2I7WUFDbkZjLFlBQVlWLFFBQVFDLFdBQVcsRUFBRVMsY0FBY2Q7WUFDL0NlLGVBQWVYLFFBQVFDLFdBQVcsRUFBRVUsaUJBQWlC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
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ bigintToSnowflake: function() {
13
+ return bigintToSnowflake;
14
+ },
15
+ snowflakeToBigint: function() {
16
+ return snowflakeToBigint;
17
+ },
18
+ snowflakeToTimestamp: function() {
19
+ return snowflakeToTimestamp;
20
+ }
21
+ });
22
+ function snowflakeToBigint(snowflake) {
23
+ return BigInt(snowflake) | 0n;
24
+ }
25
+ function bigintToSnowflake(snowflake) {
26
+ return snowflake === 0n ? '' : snowflake.toString();
27
+ }
28
+ function snowflakeToTimestamp(id) {
29
+ return Number(id / 4194304n + 1420070400000n);
30
+ }
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpZ1N0cmluZyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gc25vd2ZsYWtlVG9CaWdpbnQoc25vd2ZsYWtlOiBCaWdTdHJpbmcpOiBiaWdpbnQge1xuICByZXR1cm4gQmlnSW50KHNub3dmbGFrZSkgfCAwblxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmlnaW50VG9Tbm93Zmxha2Uoc25vd2ZsYWtlOiBCaWdTdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc25vd2ZsYWtlID09PSAwbiA/ICcnIDogc25vd2ZsYWtlLnRvU3RyaW5nKClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNub3dmbGFrZVRvVGltZXN0YW1wKGlkOiBiaWdpbnQpOiBudW1iZXIge1xuICByZXR1cm4gTnVtYmVyKGlkIC8gNDE5NDMwNG4gKyAxNDIwMDcwNDAwMDAwbilcbn1cbiJdLCJuYW1lcyI6WyJiaWdpbnRUb1Nub3dmbGFrZSIsInNub3dmbGFrZVRvQmlnaW50Iiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJzbm93Zmxha2UiLCJCaWdJbnQiLCJ0b1N0cmluZyIsImlkIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQU1nQkEsaUJBQWlCO2VBQWpCQTs7SUFKQUMsaUJBQWlCO2VBQWpCQTs7SUFRQUMsb0JBQW9CO2VBQXBCQTs7O0FBUlQsU0FBU0Qsa0JBQWtCRSxTQUFvQjtJQUNwRCxPQUFPQyxPQUFPRCxhQUFhLEVBQUU7QUFDL0I7QUFFTyxTQUFTSCxrQkFBa0JHLFNBQW9CO0lBQ3BELE9BQU9BLGNBQWMsRUFBRSxHQUFHLEtBQUtBLFVBQVVFLFFBQVE7QUFDbkQ7QUFFTyxTQUFTSCxxQkFBcUJJLEVBQVU7SUFDN0MsT0FBT0MsT0FBT0QsS0FBSyxRQUFRLEdBQUcsY0FBYztBQUM5QyJ9
package/dist/esm/bot.js CHANGED
@@ -74,4 +74,4 @@ import { createTransformers } from './transformers.js';
74
74
  return bot;
75
75
  }
76
76
 
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ib3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDcmVhdGVHYXRld2F5TWFuYWdlck9wdGlvbnMsIEdhdGV3YXlNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vZ2F0ZXdheSdcbmltcG9ydCB7IFNoYXJkU29ja2V0Q2xvc2VDb2RlcywgY3JlYXRlR2F0ZXdheU1hbmFnZXIgfSBmcm9tICdAZGlzY29yZGVuby9nYXRld2F5J1xuaW1wb3J0IHR5cGUgeyBDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsIFJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB7IGNyZWF0ZVJlc3RNYW5hZ2VyIH0gZnJvbSAnQGRpc2NvcmRlbm8vcmVzdCdcbmltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzLCBHYXRld2F5SW50ZW50cywgUmVjdXJzaXZlUGFydGlhbCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlTG9nZ2VyLCBnZXRCb3RJZEZyb21Ub2tlbiwgdHlwZSBsb2dnZXIgfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcyxcbiAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLFxuICBUcmFuc2Zvcm1lcnNPYmplY3RzLFxufSBmcm9tICcuL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXJzIH0gZnJvbSAnLi9ldmVudHMuanMnXG5pbXBvcnQgeyB0eXBlIEJvdEdhdGV3YXlIYW5kbGVyLCB0eXBlIEdhdGV3YXlIYW5kbGVycywgY3JlYXRlQm90R2F0ZXdheUhhbmRsZXJzIH0gZnJvbSAnLi9oYW5kbGVycy5qcydcbmltcG9ydCB7IHR5cGUgQm90SGVscGVycywgY3JlYXRlQm90SGVscGVycyB9IGZyb20gJy4vaGVscGVycy5qcydcbmltcG9ydCB7IHR5cGUgVHJhbnNmb3JtZXJzLCBjcmVhdGVUcmFuc2Zvcm1lcnMgfSBmcm9tICcuL3RyYW5zZm9ybWVycy5qcydcblxuLyoqXG4gKiBDcmVhdGUgYSBib3Qgb2JqZWN0IHRoYXQgd2lsbCBtYWludGFpbiB0aGUgcmVzdCBhbmQgZ2F0ZXdheSBjb25uZWN0aW9uLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb25zIG9wdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyBib3QuXG4gKiBAcmV0dXJucyBCb3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdDxcbiAgVFByb3BzIGV4dGVuZHMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcz4sXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IgPSBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleSxcbj4ob3B0aW9uczogQ3JlYXRlQm90T3B0aW9uczxUUHJvcHMsIFRCZWhhdmlvcj4pOiBCb3Q8Q29tcGxldGVEZXNpcmVkUHJvcGVydGllczxUUHJvcHM+LCBUQmVoYXZpb3I+IHtcbiAgdHlwZSBDb21wbGV0ZVByb3BzID0gQ29tcGxldGVEZXNpcmVkUHJvcGVydGllczxUUHJvcHM+XG4gIHR5cGUgVHlwZWRCb3QgPSBCb3Q8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPlxuXG4gIGlmICghb3B0aW9ucy50cmFuc2Zvcm1lcnMpIG9wdGlvbnMudHJhbnNmb3JtZXJzID0ge31cbiAgaWYgKCFvcHRpb25zLnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcykgb3B0aW9ucy50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMgPSBvcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzXG4gIGlmICghb3B0aW9ucy5yZXN0KSBvcHRpb25zLnJlc3QgPSB7IHRva2VuOiBvcHRpb25zLnRva2VuLCBhcHBsaWNhdGlvbklkOiBvcHRpb25zLmFwcGxpY2F0aW9uSWQgfVxuICBpZiAoIW9wdGlvbnMucmVzdC50b2tlbikgb3B0aW9ucy5yZXN0LnRva2VuID0gb3B0aW9ucy50b2tlblxuICBpZiAoIW9wdGlvbnMucmVzdC5sb2dnZXIgJiYgb3B0aW9ucy5sb2dnZXJGYWN0b3J5KSBvcHRpb25zLnJlc3QubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdSRVNUJylcbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkpIG9wdGlvbnMuZ2F0ZXdheSA9IHsgdG9rZW46IG9wdGlvbnMudG9rZW4gfVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS50b2tlbikgb3B0aW9ucy5nYXRld2F5LnRva2VuID0gb3B0aW9ucy50b2tlblxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5ldmVudHMpIG9wdGlvbnMuZ2F0ZXdheS5ldmVudHMgPSB7fVxuICBpZiAoIW9wdGlvbnMuZ2F0ZXdheS5sb2dnZXIgJiYgb3B0aW9ucy5sb2dnZXJGYWN0b3J5KSBvcHRpb25zLmdhdGV3YXkubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdHQVRFV0FZJylcbiAgaWYgKCFvcHRpb25zLmdhdGV3YXkuZXZlbnRzLm1lc3NhZ2UpIHtcbiAgICBvcHRpb25zLmdhdGV3YXkuZXZlbnRzLm1lc3NhZ2UgPSBhc3luYyAoc2hhcmQsIGRhdGEpID0+IHtcbiAgICAgIC8vIFRSSUdHRVIgUkFXIEVWRU5UXG4gICAgICBib3QuZXZlbnRzLnJhdz8uKGRhdGEsIHNoYXJkLmlkKVxuXG4gICAgICBpZiAoIWRhdGEudCkgcmV0dXJuXG5cbiAgICAgIC8vIFJVTiBESVNQQVRDSCBDSEVDS1xuICAgICAgYXdhaXQgYm90LmV2ZW50cy5kaXNwYXRjaFJlcXVpcmVtZW50cz8uKGRhdGEsIHNoYXJkLmlkKVxuICAgICAgYm90LmhhbmRsZXJzW2RhdGEudCBhcyBHYXRld2F5RGlzcGF0Y2hFdmVudE5hbWVzXT8uKGJvdCwgZGF0YSwgc2hhcmQuaWQpXG4gICAgfVxuICB9XG5cbiAgb3B0aW9ucy5nYXRld2F5LmludGVudHMgPSBvcHRpb25zLmludGVudHNcbiAgb3B0aW9ucy5nYXRld2F5LnByZWZlclNuYWtlQ2FzZSA9IHRydWVcblxuICBjb25zdCBpZCA9IGdldEJvdElkRnJvbVRva2VuKG9wdGlvbnMudG9rZW4pXG5cbiAgY29uc3QgYm90OiBUeXBlZEJvdCA9IHtcbiAgICBpZCxcbiAgICBhcHBsaWNhdGlvbklkOiBpZCxcbiAgICB0cmFuc2Zvcm1lcnM6IGNyZWF0ZVRyYW5zZm9ybWVycyhvcHRpb25zLnRyYW5zZm9ybWVycykgYXMgVHlwZWRCb3RbJ3RyYW5zZm9ybWVycyddLFxuICAgIGhhbmRsZXJzOiBjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnM8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPihvcHRpb25zLmhhbmRsZXJzID8/IHt9KSxcbiAgICByZXN0OiBjcmVhdGVSZXN0TWFuYWdlcihvcHRpb25zLnJlc3QgYXMgQ3JlYXRlUmVzdE1hbmFnZXJPcHRpb25zKSxcbiAgICBnYXRld2F5OiBjcmVhdGVHYXRld2F5TWFuYWdlcihvcHRpb25zLmdhdGV3YXkgYXMgQ3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zKSxcbiAgICBldmVudHM6IG9wdGlvbnMuZXZlbnRzID8/IHt9LFxuICAgIGxvZ2dlcjogb3B0aW9ucy5sb2dnZXJGYWN0b3J5ID8gb3B0aW9ucy5sb2dnZXJGYWN0b3J5KCdCT1QnKSA6IGNyZWF0ZUxvZ2dlcih7IG5hbWU6ICdCT1QnIH0pLFxuICAgIC8vIFNldCB1cCBoZWxwZXJzIGJlbG93LlxuICAgIGhlbHBlcnM6IHt9IGFzIEJvdEhlbHBlcnM8Q29tcGxldGVQcm9wcywgVEJlaGF2aW9yPixcbiAgICBhc3luYyBzdGFydCgpIHtcbiAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py5jb25uZWN0aW9uKSB7XG4gICAgICAgIGJvdC5nYXRld2F5LmNvbm5lY3Rpb24gPSBhd2FpdCBib3QucmVzdC5nZXRTZXNzaW9uSW5mbygpXG5cbiAgICAgICAgLy8gQ2hlY2sgZm9yIG92ZXJyaWRlcyBpbiB0aGUgY29uZmlndXJhdGlvblxuICAgICAgICBpZiAoIW9wdGlvbnMuZ2F0ZXdheT8udXJsKSBib3QuZ2F0ZXdheS51cmwgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnVybFxuXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py50b3RhbFNoYXJkcykgYm90LmdhdGV3YXkudG90YWxTaGFyZHMgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnNoYXJkc1xuXG4gICAgICAgIGlmICghb3B0aW9ucy5nYXRld2F5Py5sYXN0U2hhcmRJZCAmJiAhb3B0aW9ucy5nYXRld2F5Py50b3RhbFNoYXJkcykgYm90LmdhdGV3YXkubGFzdFNoYXJkSWQgPSBib3QuZ2F0ZXdheS5jb25uZWN0aW9uLnNoYXJkcyAtIDFcbiAgICAgIH1cblxuICAgICAgaWYgKCFib3QuZ2F0ZXdheS5yZXNoYXJkaW5nLmdldFNlc3Npb25JbmZvKSB7XG4gICAgICAgIGJvdC5nYXRld2F5LnJlc2hhcmRpbmcuZ2V0U2Vzc2lvbkluZm8gPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldEdhdGV3YXlCb3QoKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGJvdC5nYXRld2F5LnNwYXduU2hhcmRzKClcbiAgICB9LFxuXG4gICAgYXN5bmMgc2h1dGRvd24oKSB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LmdhdGV3YXkuc2h1dGRvd24oU2hhcmRTb2NrZXRDbG9zZUNvZGVzLlNodXRkb3duLCAnVXNlciByZXF1ZXN0ZWQgYm90IHN0b3AnKVxuICAgIH0sXG4gIH1cblxuICBib3QuaGVscGVycyA9IGNyZWF0ZUJvdEhlbHBlcnMoYm90KVxuICBpZiAob3B0aW9ucy5hcHBsaWNhdGlvbklkKSBib3QuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbnMuYXBwbGljYXRpb25JZClcblxuICByZXR1cm4gYm90XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQm90T3B0aW9uczxUUHJvcHMgZXh0ZW5kcyBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzPiwgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4ge1xuICAvKiogVGhlIGJvdCdzIHRva2VuLiAqL1xuICB0b2tlbjogc3RyaW5nXG4gIC8qKiBBcHBsaWNhdGlvbiBJZCBvZiB0aGUgYm90IGluY2FzZSBpdCBpcyBhbiBvbGQgYm90IHRva2VuLiAqL1xuICBhcHBsaWNhdGlvbklkPzogQmlnU3RyaW5nXG4gIC8qKiBUaGUgYm90J3MgaW50ZW50cyB0aGF0IHdpbGwgYmUgdXNlZCB0byBtYWtlIGEgY29ubmVjdGlvbiB3aXRoIGRpc2NvcmRzIGdhdGV3YXkuICovXG4gIGludGVudHM/OiBHYXRld2F5SW50ZW50c1xuICAvKiogQW55IG9wdGlvbnMgeW91IHdpc2ggdG8gcHJvdmlkZSB0byB0aGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0PzogT21pdDxDcmVhdGVSZXN0TWFuYWdlck9wdGlvbnMsICd0b2tlbic+ICYgUGFydGlhbDxQaWNrPENyZWF0ZVJlc3RNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4+XG4gIC8qKiBBbnkgb3B0aW9ucyB5b3Ugd2lzaCB0byBwcm92aWRlIHRvIHRoZSBnYXRld2F5IG1hbmFnZXIuICovXG4gIGdhdGV3YXk/OiBPbWl0PENyZWF0ZUdhdGV3YXlNYW5hZ2VyT3B0aW9ucywgJ3Rva2VuJz4gJiBQYXJ0aWFsPFBpY2s8Q3JlYXRlR2F0ZXdheU1hbmFnZXJPcHRpb25zLCAndG9rZW4nPj5cbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzPzogUGFydGlhbDxFdmVudEhhbmRsZXJzPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj5cbiAgLyoqIFRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgdHJhbnNmb3JtIGRpc2NvcmQgb2JqZWN0cyB0byBkaXNjb3JkZW5vIHNoYXBlZCBvYmplY3RzLiAqL1xuICB0cmFuc2Zvcm1lcnM/OiBSZWN1cnNpdmVQYXJ0aWFsPFRyYW5zZm9ybWVyczxDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPE5vSW5mZXI8VFByb3BzPj4sIFRCZWhhdmlvcj4+XG4gIC8qKiBUaGUgaGFuZGxlciBmdW5jdGlvbnMgdGhhdCBzaG91bGQgaGFuZGxlIGluY29taW5nIGRpc2NvcmQgcGF5bG9hZHMgZnJvbSBnYXRld2F5IGFuZCBjYWxsIGFuIGV2ZW50LiAqL1xuICBoYW5kbGVycz86IFBhcnRpYWw8UmVjb3JkPEdhdGV3YXlEaXNwYXRjaEV2ZW50TmFtZXMsIEJvdEdhdGV3YXlIYW5kbGVyPENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8Tm9JbmZlcjxUUHJvcHM+PiwgVEJlaGF2aW9yPj4+XG4gIC8qKlxuICAgKiBTZXQgdGhlIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhlIGJvdFxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXM/OiBUUHJvcHNcbiAgLyoqXG4gICAqIFNldCB0aGUgZGVzaXJlZCBwcm9wZXJ0aWVzIGJlaGF2aW9yIGZvciB1bmRlc2lyZWQgcHJvcGVydGllc1xuICAgKlxuICAgKiBAZGVmYXVsdCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLkNoYW5nZUtleVxuICAgKi9cbiAgZGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj86IFRCZWhhdmlvclxuICAvKipcbiAgICogVGhpcyBmYWN0b3J5IHdpbGwgYmUgaW52b2tlZCB0byBjcmVhdGUgdGhlIGxvZ2dlciBmb3IgZ2F0ZXdheSwgcmVzdCBhbmQgYm90XG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIElmIG5vdCBwcm92aWRlZCB0aGUgZGVmYXVsdCBsb2dnZXIgd2lsbCBiZSB1c2VkIHdpdGggcmVzdCBhbmQgZ2F0ZXdheSBzaGFyaW5nIHRoZSBzYW1lIGxvZ2dlclxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCAzIHRpbWVzLCBvbmUgd2l0aCB0aGUgbmFtZSBvZiBgUkVTVGAsIG9uZSB3aXRoIGBHQVRFV0FZYCBhbmQgdGhlIHRoaXJkIG9uZSB3aXRoIG5hbWUgYEJPVGBcbiAgICovXG4gIGxvZ2dlckZhY3Rvcnk/OiAobmFtZTogJ1JFU1QnIHwgJ0dBVEVXQVknIHwgJ0JPVCcpID0+IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdDxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgPSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbiAgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciA9IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5LFxuPiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGJvdC4gKi9cbiAgaWQ6IGJpZ2ludFxuICAvKiogVGhlIGFwcGxpY2F0aW9uIGlkIG9mIHRoZSBib3QuIFRoaXMgaXMgdXN1YWxseSB0aGUgc2FtZSBhcyBpZCBidXQgaW4gdGhlIGNhc2Ugb2Ygb2xkIGJvdHMgY2FuIGJlIGRpZmZlcmVudC4gKi9cbiAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gIC8qKiBUaGUgcmVzdCBtYW5hZ2VyLiAqL1xuICByZXN0OiBSZXN0TWFuYWdlclxuICAvKiogVGhlIGdhdGV3YXkgbWFuYWdlci4gKi9cbiAgZ2F0ZXdheTogR2F0ZXdheU1hbmFnZXJcbiAgLyoqIFRoZSBldmVudCBoYW5kbGVycy4gKi9cbiAgZXZlbnRzOiBQYXJ0aWFsPEV2ZW50SGFuZGxlcnM8VFByb3BzLCBUQmVoYXZpb3I+PlxuICAvKiogQSBsb2dnZXIgdXRpbGl0eSB0byBtYWtlIGl0IGVhc3kgdG8gbG9nIG5pY2UgYW5kIHVzZWZ1bCB0aGluZ3MgaW4gdGhlIGJvdCBjb2RlLiAqL1xuICBsb2dnZXI6IFBpY2s8dHlwZW9mIGxvZ2dlciwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZmF0YWwnPlxuICAvKiogVGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCB0cmFuc2Zvcm0gZGlzY29yZCBvYmplY3RzIHRvIGRpc2NvcmRlbm8gc2hhcGVkIG9iamVjdHMuICovXG4gIHRyYW5zZm9ybWVyczogVHJhbnNmb3JtZXJzPFRQcm9wcywgVEJlaGF2aW9yPiAmIHtcbiAgICAkaW5mZXJyZWRUeXBlczoge1xuICAgICAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJzT2JqZWN0c106IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVyc09iamVjdHNbS10sIFRQcm9wcywgVEJlaGF2aW9yPlxuICAgIH1cbiAgfVxuICAvKiogVGhlIGhhbmRsZXIgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGhhbmRsZSBpbmNvbWluZyBkaXNjb3JkIHBheWxvYWRzIGZyb20gZ2F0ZXdheSBhbmQgY2FsbCBhbiBldmVudC4gKi9cbiAgaGFuZGxlcnM6IEdhdGV3YXlIYW5kbGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaGVscGVyczogQm90SGVscGVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgLyoqIFN0YXJ0IHRoZSBib3QgY29ubmVjdGlvbiB0byB0aGUgZ2F0ZXdheS4gKi9cbiAgc3RhcnQ6ICgpID0+IFByb21pc2U8dm9pZD5cbiAgLyoqIFNodXRzIGRvd24gYWxsIHRoZSBib3QgY29ubmVjdGlvbnMgdG8gdGhlIGdhdGV3YXkuICovXG4gIHNodXRkb3duOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbi8qKiBAaW50ZXJuYWwgVGhpcyBpcyBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgd2l0aG91dCBub3RpY2UgKi9cbmV4cG9ydCB0eXBlIEludGVybmFsQm90ID0gQm90PENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8e30sIHRydWU+LCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT5cbiJdLCJuYW1lcyI6WyJTaGFyZFNvY2tldENsb3NlQ29kZXMiLCJjcmVhdGVHYXRld2F5TWFuYWdlciIsImNyZWF0ZVJlc3RNYW5hZ2VyIiwiY3JlYXRlTG9nZ2VyIiwiZ2V0Qm90SWRGcm9tVG9rZW4iLCJjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMiLCJjcmVhdGVCb3RIZWxwZXJzIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwiY3JlYXRlQm90Iiwib3B0aW9ucyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicmVzdCIsInRva2VuIiwiYXBwbGljYXRpb25JZCIsImxvZ2dlciIsImxvZ2dlckZhY3RvcnkiLCJnYXRld2F5IiwiZXZlbnRzIiwibWVzc2FnZSIsInNoYXJkIiwiZGF0YSIsImJvdCIsInJhdyIsImlkIiwidCIsImRpc3BhdGNoUmVxdWlyZW1lbnRzIiwiaGFuZGxlcnMiLCJpbnRlbnRzIiwicHJlZmVyU25ha2VDYXNlIiwibmFtZSIsImhlbHBlcnMiLCJzdGFydCIsImNvbm5lY3Rpb24iLCJnZXRTZXNzaW9uSW5mbyIsInVybCIsInRvdGFsU2hhcmRzIiwic2hhcmRzIiwibGFzdFNoYXJkSWQiLCJyZXNoYXJkaW5nIiwiZ2V0R2F0ZXdheUJvdCIsInNwYXduU2hhcmRzIiwic2h1dGRvd24iLCJTaHV0ZG93biIsInNub3dmbGFrZSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EscUJBQXFCLEVBQUVDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUVqRixTQUFTQyxpQkFBaUIsUUFBUSxtQkFBa0I7QUFFcEQsU0FBU0MsWUFBWSxFQUFFQyxpQkFBaUIsUUFBcUIsb0JBQW1CO0FBU2hGLFNBQXVEQyx3QkFBd0IsUUFBUSxnQkFBZTtBQUN0RyxTQUEwQkMsZ0JBQWdCLFFBQVEsZUFBYztBQUNo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
77
+ //# 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+LCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT5cbiJdLCJuYW1lcyI6WyJTaGFyZFNvY2tldENsb3NlQ29kZXMiLCJjcmVhdGVHYXRld2F5TWFuYWdlciIsImNyZWF0ZVJlc3RNYW5hZ2VyIiwiY3JlYXRlTG9nZ2VyIiwiZ2V0Qm90SWRGcm9tVG9rZW4iLCJjcmVhdGVCb3RHYXRld2F5SGFuZGxlcnMiLCJjcmVhdGVCb3RIZWxwZXJzIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwiY3JlYXRlQm90Iiwib3B0aW9ucyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicmVzdCIsInRva2VuIiwiYXBwbGljYXRpb25JZCIsImxvZ2dlciIsImxvZ2dlckZhY3RvcnkiLCJnYXRld2F5IiwiZXZlbnRzIiwibWVzc2FnZSIsInNoYXJkIiwiZGF0YSIsImJvdCIsInJhdyIsImlkIiwidCIsImRpc3BhdGNoUmVxdWlyZW1lbnRzIiwiaGFuZGxlcnMiLCJpbnRlbnRzIiwicHJlZmVyU25ha2VDYXNlIiwibmFtZSIsImhlbHBlcnMiLCJzdGFydCIsImNvbm5lY3Rpb24iLCJnZXRTZXNzaW9uSW5mbyIsInVybCIsInRvdGFsU2hhcmRzIiwic2hhcmRzIiwibGFzdFNoYXJkSWQiLCJyZXNoYXJkaW5nIiwiZ2V0R2F0ZXdheUJvdCIsInNwYXduU2hhcmRzIiwic2h1dGRvd24iLCJTaHV0ZG93biIsInNub3dmbGFrZSJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EscUJBQXFCLEVBQUVDLG9CQUFvQixRQUFRLHNCQUFxQjtBQUVqRixTQUFTQyxpQkFBaUIsUUFBUSxtQkFBa0I7QUFFcEQsU0FBU0MsWUFBWSxFQUFFQyxpQkFBaUIsUUFBcUIsb0JBQW1CO0FBU2hGLFNBQXVEQyx3QkFBd0IsUUFBUSxnQkFBZTtBQUN0RyxTQUEwQkMsZ0JBQWdCLFFBQVEsZUFBYztBQUNo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
@@ -1,5 +1,7 @@
1
1
  import { ApplicationCommandOptionTypes } from '@discordeno/types';
2
- export function commandOptionsParser(interaction, options) {
2
+ export function commandOptionsParser(__interaction, options) {
3
+ // This is necessary as typescript gets really confused when using __interaction alone, as it will say that 'data' does not exist despite it surely exist since we have the WithAtLeast
4
+ const interaction = __interaction;
3
5
  if (!interaction.data) return {};
4
6
  if (!options) options = interaction.data.options ?? [];
5
7
  const args = {};
@@ -38,4 +40,4 @@ export function commandOptionsParser(interaction, options) {
38
40
  return args;
39
41
  }
40
42
 
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kT3B0aW9uc1BhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBdHRhY2htZW50LCBDaGFubmVsLCBJbnRlcmFjdGlvbiwgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLCBNZW1iZXIsIFJvbGUsIFVzZXIgfSBmcm9tICcuL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY29tbWFuZE9wdGlvbnNQYXJzZXIoaW50ZXJhY3Rpb246IEludGVyYWN0aW9uLCBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW10pOiBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbiB7XG4gIGlmICghaW50ZXJhY3Rpb24uZGF0YSkgcmV0dXJuIHt9XG4gIGlmICghb3B0aW9ucykgb3B0aW9ucyA9IGludGVyYWN0aW9uLmRhdGEub3B0aW9ucyA/PyBbXVxuXG4gIGNvbnN0IGFyZ3M6IFBhcnNlZEludGVyYWN0aW9uT3B0aW9uID0ge31cblxuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgc3dpdGNoIChvcHRpb24udHlwZSkge1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kR3JvdXA6XG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlN1YkNvbW1hbmQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gY29tbWFuZE9wdGlvbnNQYXJzZXIoaW50ZXJhY3Rpb24sIG9wdGlvbi5vcHRpb25zKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5DaGFubmVsOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LmNoYW5uZWxzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbFxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5Sb2xlOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnJvbGVzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBSb2xlXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLlVzZXI6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0ge1xuICAgICAgICAgIHVzZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnVzZXJzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBVc2VyLFxuICAgICAgICAgIG1lbWJlcjogaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ubWVtYmVycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlcixcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5BdHRhY2htZW50OlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LmF0dGFjaG1lbnRzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBBdHRhY2htZW50XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLk1lbnRpb25hYmxlOlxuICAgICAgICAvLyBNZW50aW9uYWJsZSBhcmUgcm9sZXMgb3IgdXNlcnNcbiAgICAgICAgYXJnc1tvcHRpb24ubmFtZV0gPSAoaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ucm9sZXM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIFJvbGUpID8/IHtcbiAgICAgICAgICB1c2VyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy51c2Vycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgVXNlcixcbiAgICAgICAgICBtZW1iZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/Lm1lbWJlcnM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWRNZW1iZXIsXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gb3B0aW9uLnZhbHVlIGFzIFBhcnNlZEludGVyYWN0aW9uT3B0aW9uW3N0cmluZ11cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXJnc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZEludGVyYWN0aW9uT3B0aW9uIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IEludGVyYWN0aW9uUmVzb2x2ZWRVc2VyIHwgSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWwgfCBSb2xlIHwgQXR0YWNobWVudCB8IFBhcnNlZEludGVyYWN0aW9uT3B0aW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb25SZXNvbHZlZFVzZXIge1xuICB1c2VyOiBVc2VyXG4gIG1lbWJlcjogSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlclxufVxuXG5leHBvcnQgdHlwZSBJbnRlcmFjdGlvblJlc29sdmVkQ2hhbm5lbCA9IFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJyB8ICdwZXJtaXNzaW9ucycgfCAndGhyZWFkTWV0YWRhdGEnIHwgJ3BhcmVudElkJz5cblxuZXhwb3J0IHR5cGUgSW50ZXJhY3Rpb25SZXNvbHZlZE1lbWJlciA9IE9taXQ8TWVtYmVyLCAndXNlcicgfCAnZGVhZicgfCAnbXV0ZSc+XG4iXSwibmFtZXMiOlsiQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMiLCJjb21tYW5kT3B0aW9uc1BhcnNlciIsImludGVyYWN0aW9uIiwib3B0aW9ucyIsImRhdGEiLCJhcmdzIiwib3B0aW9uIiwidHlwZSIsIlN1YkNvbW1hbmRHcm91cCIsIlN1YkNvbW1hbmQiLCJuYW1lIiwiQ2hhbm5lbCIsInJlc29sdmVkIiwiY2hhbm5lbHMiLCJnZXQiLCJCaWdJbnQiLCJ2YWx1ZSIsIlJvbGUiLCJyb2xlcyIsIlVzZXIiLCJ1c2VyIiwidXNlcnMiLCJtZW1iZXIiLCJtZW1iZXJzIiwiQXR0YWNobWVudCIsImF0dGFjaG1lbnRzIiwiTWVudGlvbmFibGUiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLDZCQUE2QixRQUFRLG9CQUFtQjtBQUdqRSxPQUFPLFNBQVNDLHFCQUFxQkMsV0FBd0IsRUFBRUMsT0FBaUM7SUFDOUYsSUFBSSxDQUFDRCxZQUFZRSxJQUFJLEVBQUUsT0FBTyxDQUFDO0lBQy9CLElBQUksQ0FBQ0QsU0FBU0EsVUFBVUQsWUFBWUUsSUFBSSxDQUFDRCxPQUFPLElBQUksRUFBRTtJQUV0RCxNQUFNRSxPQUFnQyxDQUFDO0lBRXZDLEtBQUssTUFBTUMsVUFBVUgsUUFBUztRQUM1QixPQUFRRyxPQUFPQyxJQUFJO1lBQ2pCLEtBQUtQLDhCQUE4QlEsZUFBZTtZQUNsRCxLQUFLUiw4QkFBOEJTLFVBQVU7Z0JBQzNDSixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHVCxxQkFBcUJDLGFBQWFJLE9BQU9ILE9BQU87Z0JBQ3BFO1lBQ0YsS0FBS0gsOEJBQThCVyxPQUFPO2dCQUN4Q04sSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBR1IsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVDLFVBQVVDLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ2hGO1lBQ0YsS0FBS2hCLDhCQUE4QmlCLElBQUk7Z0JBQ3JDWixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHUixZQUFZRSxJQUFJLENBQUNRLFFBQVEsRUFBRU0sT0FBT0osSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztnQkFDN0U7WUFDRixLQUFLaEIsOEJBQThCbUIsSUFBSTtnQkFDckNkLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUc7b0JBQ2xCVSxNQUFNbEIsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVTLE9BQU9QLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7b0JBQy9ETSxRQUFRcEIsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVXLFNBQVNULElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ3JFO2dCQUNBO1lBQ0YsS0FBS2hCLDhCQUE4QndCLFVBQVU7Z0JBQzNDbkIsSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBR1IsWUFBWUUsSUFBSSxDQUFDUSxRQUFRLEVBQUVhLGFBQWFYLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ25GO1lBQ0YsS0FBS2hCLDhCQUE4QjBCLFdBQVc7Z0JBQzVDLGlDQUFpQztnQkFDakNyQixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHLEFBQUNSLFlBQVlFLElBQUksQ0FBQ1EsUUFBUSxFQUFFTSxPQUFPSixJQUFJQyxPQUFPVCxPQUFPVSxLQUFLLE1BQWdCO29CQUM1RkksTUFBTWxCLFlBQVlFLElBQUksQ0FBQ1EsUUFBUSxFQUFFUyxPQUFPUCxJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO29CQUMvRE0sUUFBUXBCLFlBQVlFLElBQUksQ0FBQ1EsUUFBUSxFQUFFVyxTQUFTVCxJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO2dCQUNyRTtnQkFDQTtZQUNGO2dCQUNFWCxJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHSixPQUFPVSxLQUFLO1FBQ3BDO0lBQ0Y7SUFFQSxPQUFPWDtBQUNUIn0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kT3B0aW9uc1BhcnNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcyB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBdHRhY2htZW50LFxuICBDaGFubmVsLFxuICBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzLFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBNZW1iZXIsXG4gIFJvbGUsXG4gIFNldHVwRGVzaXJlZFByb3BzLFxuICBUcmFuc2Zvcm1Qcm9wZXJ0eSxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFVzZXIsXG59IGZyb20gJy4vaW5kZXguanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBjb21tYW5kT3B0aW9uc1BhcnNlcjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgJiB7IGludGVyYWN0aW9uOiB7IGRhdGE6IHRydWUgfSB9LFxuICBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuPihfX2ludGVyYWN0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+LCBvcHRpb25zPzogSW50ZXJhY3Rpb25EYXRhT3B0aW9uW10pOiBQYXJzZWRJbnRlcmFjdGlvbk9wdGlvbjxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBhcyB0eXBlc2NyaXB0IGdldHMgcmVhbGx5IGNvbmZ1c2VkIHdoZW4gdXNpbmcgX19pbnRlcmFjdGlvbiBhbG9uZSwgYXMgaXQgd2lsbCBzYXkgdGhhdCAnZGF0YScgZG9lcyBub3QgZXhpc3QgZGVzcGl0ZSBpdCBzdXJlbHkgZXhpc3Qgc2luY2Ugd2UgaGF2ZSB0aGUgV2l0aEF0TGVhc3RcbiAgY29uc3QgaW50ZXJhY3Rpb24gPSBfX2ludGVyYWN0aW9uIGFzIFNldHVwRGVzaXJlZFByb3BzPFxuICAgIEludGVyYWN0aW9uLFxuICAgIENvbXBsZXRlRGVzaXJlZFByb3BlcnRpZXM8eyBpbnRlcmFjdGlvbjogeyBkYXRhOiB0cnVlIH0gfT4sXG4gICAgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXlcbiAgPlxuXG4gIGlmICghaW50ZXJhY3Rpb24uZGF0YSkgcmV0dXJuIHt9XG4gIGlmICghb3B0aW9ucykgb3B0aW9ucyA9IGludGVyYWN0aW9uLmRhdGEub3B0aW9ucyA/PyBbXVxuXG4gIGNvbnN0IGFyZ3M6IFBhcnNlZEludGVyYWN0aW9uT3B0aW9uPFRQcm9wcywgVEJlaGF2aW9yPiA9IHt9XG5cbiAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgIHN3aXRjaCAob3B0aW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuU3ViQ29tbWFuZEdyb3VwOlxuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5TdWJDb21tYW5kOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGNvbW1hbmRPcHRpb25zUGFyc2VyKGludGVyYWN0aW9uLCBvcHRpb24ub3B0aW9ucykgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLkNoYW5uZWw6XG4gICAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8uY2hhbm5lbHM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5Sb2xlOlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LnJvbGVzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuVXNlcjpcbiAgICAgICAgYXJnc1tvcHRpb24ubmFtZV0gPSB7XG4gICAgICAgICAgdXNlcjogaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8udXNlcnM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgICBtZW1iZXI6IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/Lm1lbWJlcnM/LmdldChCaWdJbnQob3B0aW9uLnZhbHVlISkpIGFzIEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25UeXBlcy5BdHRhY2htZW50OlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGludGVyYWN0aW9uLmRhdGEucmVzb2x2ZWQ/LmF0dGFjaG1lbnRzPy5nZXQoQmlnSW50KG9wdGlvbi52YWx1ZSEpKSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXMuTWVudGlvbmFibGU6XG4gICAgICAgIC8vIE1lbnRpb25hYmxlIGFyZSByb2xlcyBvciB1c2Vyc1xuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IChpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy5yb2xlcz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgUGFyc2VkSW50ZXJhY3Rpb25PcHRpb248VFByb3BzLCBUQmVoYXZpb3I+W3N0cmluZ10pID8/IHtcbiAgICAgICAgICB1c2VyOiBpbnRlcmFjdGlvbi5kYXRhLnJlc29sdmVkPy51c2Vycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICAgIG1lbWJlcjogaW50ZXJhY3Rpb24uZGF0YS5yZXNvbHZlZD8ubWVtYmVycz8uZ2V0KEJpZ0ludChvcHRpb24udmFsdWUhKSkgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGE8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IG9wdGlvbi52YWx1ZSBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMsIFRCZWhhdmlvcj5cbiAgICB9XG4gIH1cblxuICByZXR1cm4gYXJnc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZEludGVyYWN0aW9uT3B0aW9uPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiB7XG4gIFtrZXk6IHN0cmluZ106IEludGVyYWN0aW9uUmVzb2x2ZWREYXRhPFRQcm9wcywgVEJlaGF2aW9yPlxufVxuXG5leHBvcnQgdHlwZSBJbnRlcmFjdGlvblJlc29sdmVkRGF0YTxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPVxuICB8IHN0cmluZ1xuICB8IG51bWJlclxuICB8IGJvb2xlYW5cbiAgfCBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvblJlc29sdmVkVXNlciwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHwgVHJhbnNmb3JtUHJvcGVydHk8SW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWwsIFRQcm9wcywgVEJlaGF2aW9yPlxuICB8IFRyYW5zZm9ybVByb3BlcnR5PFJvbGUsIFRQcm9wcywgVEJlaGF2aW9yPlxuICB8IFRyYW5zZm9ybVByb3BlcnR5PEF0dGFjaG1lbnQsIFRQcm9wcywgVEJlaGF2aW9yPlxuICB8IFBhcnNlZEludGVyYWN0aW9uT3B0aW9uPFRQcm9wcywgVEJlaGF2aW9yPlxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uUmVzb2x2ZWRVc2VyIHtcbiAgdXNlcjogVXNlclxuICBtZW1iZXI6IEludGVyYWN0aW9uUmVzb2x2ZWRNZW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgSW50ZXJhY3Rpb25SZXNvbHZlZENoYW5uZWwgPSBQaWNrPENoYW5uZWwsICdpZCcgfCAnbmFtZScgfCAndHlwZScgfCAncGVybWlzc2lvbnMnIHwgJ3RocmVhZE1ldGFkYXRhJyB8ICdwYXJlbnRJZCc+XG5cbmV4cG9ydCB0eXBlIEludGVyYWN0aW9uUmVzb2x2ZWRNZW1iZXIgPSBPbWl0PE1lbWJlciwgJ3VzZXInIHwgJ2RlYWYnIHwgJ211dGUnPlxuIl0sIm5hbWVzIjpbIkFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzIiwiY29tbWFuZE9wdGlvbnNQYXJzZXIiLCJfX2ludGVyYWN0aW9uIiwib3B0aW9ucyIsImludGVyYWN0aW9uIiwiZGF0YSIsImFyZ3MiLCJvcHRpb24iLCJ0eXBlIiwiU3ViQ29tbWFuZEdyb3VwIiwiU3ViQ29tbWFuZCIsIm5hbWUiLCJDaGFubmVsIiwicmVzb2x2ZWQiLCJjaGFubmVscyIsImdldCIsIkJpZ0ludCIsInZhbHVlIiwiUm9sZSIsInJvbGVzIiwiVXNlciIsInVzZXIiLCJ1c2VycyIsIm1lbWJlciIsIm1lbWJlcnMiLCJBdHRhY2htZW50IiwiYXR0YWNobWVudHMiLCJNZW50aW9uYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsNkJBQTZCLFFBQVEsb0JBQW1CO0FBZ0JqRSxPQUFPLFNBQVNDLHFCQUdkQyxhQUFnRSxFQUFFQyxPQUFpQztJQUNuRyx1TEFBdUw7SUFDdkwsTUFBTUMsY0FBY0Y7SUFNcEIsSUFBSSxDQUFDRSxZQUFZQyxJQUFJLEVBQUUsT0FBTyxDQUFDO0lBQy9CLElBQUksQ0FBQ0YsU0FBU0EsVUFBVUMsWUFBWUMsSUFBSSxDQUFDRixPQUFPLElBQUksRUFBRTtJQUV0RCxNQUFNRyxPQUFtRCxDQUFDO0lBRTFELEtBQUssTUFBTUMsVUFBVUosUUFBUztRQUM1QixPQUFRSSxPQUFPQyxJQUFJO1lBQ2pCLEtBQUtSLDhCQUE4QlMsZUFBZTtZQUNsRCxLQUFLVCw4QkFBOEJVLFVBQVU7Z0JBQzNDSixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHVixxQkFBcUJHLGFBQWFHLE9BQU9KLE9BQU87Z0JBQ3BFO1lBQ0YsS0FBS0gsOEJBQThCWSxPQUFPO2dCQUN4Q04sSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBR1AsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVDLFVBQVVDLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ2hGO1lBQ0YsS0FBS2pCLDhCQUE4QmtCLElBQUk7Z0JBQ3JDWixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHUCxZQUFZQyxJQUFJLENBQUNRLFFBQVEsRUFBRU0sT0FBT0osSUFBSUMsT0FBT1QsT0FBT1UsS0FBSztnQkFDN0U7WUFDRixLQUFLakIsOEJBQThCb0IsSUFBSTtnQkFDckNkLElBQUksQ0FBQ0MsT0FBT0ksSUFBSSxDQUFDLEdBQUc7b0JBQ2xCVSxNQUFNakIsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVTLE9BQU9QLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7b0JBQy9ETSxRQUFRbkIsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVXLFNBQVNULElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ3JFO2dCQUNBO1lBQ0YsS0FBS2pCLDhCQUE4QnlCLFVBQVU7Z0JBQzNDbkIsSUFBSSxDQUFDQyxPQUFPSSxJQUFJLENBQUMsR0FBR1AsWUFBWUMsSUFBSSxDQUFDUSxRQUFRLEVBQUVhLGFBQWFYLElBQUlDLE9BQU9ULE9BQU9VLEtBQUs7Z0JBQ25GO1lBQ0YsS0FBS2pCLDhCQUE4QjJCLFdBQVc7Z0JBQzVDLGlDQUFpQztnQkFDakNyQixJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHLEFBQUNQLFlBQVlDLElBQUksQ0FBQ1EsUUFBUSxFQUFFTSxPQUFPSixJQUFJQyxPQUFPVCxPQUFPVSxLQUFLLE1BQThEO29CQUMxSUksTUFBTWpCLFlBQVlDLElBQUksQ0FBQ1EsUUFBUSxFQUFFUyxPQUFPUCxJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO29CQUMvRE0sUUFBUW5CLFlBQVlDLElBQUksQ0FBQ1EsUUFBUSxFQUFFVyxTQUFTVCxJQUFJQyxPQUFPVCxPQUFPVSxLQUFLO2dCQUNyRTtnQkFDQTtZQUNGO2dCQUNFWCxJQUFJLENBQUNDLE9BQU9JLElBQUksQ0FBQyxHQUFHSixPQUFPVSxLQUFLO1FBQ3BDO0lBQ0Y7SUFFQSxPQUFPWDtBQUNUIn0=