@discordeno/bot 22.0.1-next.fca3cbb → 22.0.1-next.fdb61e1

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 (130) hide show
  1. package/dist/bot.d.ts.map +1 -1
  2. package/dist/bot.js +3 -2
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +2 -2
  5. package/dist/desiredProperties.d.ts +4 -1
  6. package/dist/desiredProperties.d.ts.map +1 -1
  7. package/dist/desiredProperties.js +19 -1
  8. package/dist/events.d.ts +12 -1
  9. package/dist/events.d.ts.map +1 -1
  10. package/dist/events.js +1 -1
  11. package/dist/handlers/channels/CHANNEL_INFO.d.ts +4 -0
  12. package/dist/handlers/channels/CHANNEL_INFO.d.ts.map +1 -0
  13. package/dist/handlers/channels/CHANNEL_INFO.js +7 -0
  14. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
  15. package/dist/handlers/channels/THREAD_LIST_SYNC.js +3 -6
  16. package/dist/handlers/channels/index.d.ts +1 -0
  17. package/dist/handlers/channels/index.d.ts.map +1 -1
  18. package/dist/handlers/channels/index.js +2 -1
  19. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +2 -2
  20. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +2 -2
  21. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +2 -2
  22. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +2 -2
  23. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +2 -2
  24. package/dist/handlers/misc/READY.d.ts.map +1 -1
  25. package/dist/handlers/misc/READY.js +4 -4
  26. package/dist/handlers/voice/VOICE_CHANNEL_START_TIME_UPDATE.d.ts +4 -0
  27. package/dist/handlers/voice/VOICE_CHANNEL_START_TIME_UPDATE.d.ts.map +1 -0
  28. package/dist/handlers/voice/VOICE_CHANNEL_START_TIME_UPDATE.js +11 -0
  29. package/dist/handlers/voice/VOICE_CHANNEL_STATUS_UPDATE.d.ts +4 -0
  30. package/dist/handlers/voice/VOICE_CHANNEL_STATUS_UPDATE.d.ts.map +1 -0
  31. package/dist/handlers/voice/VOICE_CHANNEL_STATUS_UPDATE.js +11 -0
  32. package/dist/handlers/voice/index.d.ts +2 -0
  33. package/dist/handlers/voice/index.d.ts.map +1 -1
  34. package/dist/handlers/voice/index.js +3 -1
  35. package/dist/handlers.d.ts.map +1 -1
  36. package/dist/handlers.js +5 -2
  37. package/dist/helpers.d.ts +9 -2
  38. package/dist/helpers.d.ts.map +1 -1
  39. package/dist/helpers.js +244 -224
  40. package/dist/transformers/activity.d.ts +11 -4
  41. package/dist/transformers/activity.d.ts.map +1 -1
  42. package/dist/transformers/activity.js +45 -42
  43. package/dist/transformers/application.d.ts.map +1 -1
  44. package/dist/transformers/application.js +49 -46
  45. package/dist/transformers/applicationCommand.d.ts +3 -1
  46. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  47. package/dist/transformers/applicationCommand.js +19 -17
  48. package/dist/transformers/applicationCommandOption.d.ts +3 -1
  49. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  50. package/dist/transformers/applicationCommandOption.js +22 -19
  51. package/dist/transformers/applicationCommandOptionChoice.d.ts +3 -1
  52. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  53. package/dist/transformers/applicationCommandOptionChoice.js +10 -8
  54. package/dist/transformers/applicationCommandPermission.d.ts +7 -2
  55. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  56. package/dist/transformers/applicationCommandPermission.js +20 -13
  57. package/dist/transformers/auditLogEntry.d.ts +7 -2
  58. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  59. package/dist/transformers/auditLogEntry.js +33 -25
  60. package/dist/transformers/automodActionExecution.d.ts +10 -2
  61. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  62. package/dist/transformers/automodActionExecution.js +35 -23
  63. package/dist/transformers/automodRule.d.ts +7 -2
  64. package/dist/transformers/automodRule.d.ts.map +1 -1
  65. package/dist/transformers/automodRule.js +30 -30
  66. package/dist/transformers/channel.d.ts +7 -1
  67. package/dist/transformers/channel.d.ts.map +1 -1
  68. package/dist/transformers/channel.js +20 -1
  69. package/dist/transformers/component.js +5 -6
  70. package/dist/transformers/embed.d.ts +16 -2
  71. package/dist/transformers/embed.d.ts.map +1 -1
  72. package/dist/transformers/embed.js +70 -58
  73. package/dist/transformers/emoji.js +1 -1
  74. package/dist/transformers/gatewayBot.d.ts +7 -2
  75. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  76. package/dist/transformers/gatewayBot.js +20 -13
  77. package/dist/transformers/guild.d.ts.map +1 -1
  78. package/dist/transformers/guild.js +2 -10
  79. package/dist/transformers/integration.d.ts +10 -2
  80. package/dist/transformers/integration.d.ts.map +1 -1
  81. package/dist/transformers/integration.js +43 -31
  82. package/dist/transformers/interaction.d.ts +3 -1
  83. package/dist/transformers/interaction.d.ts.map +1 -1
  84. package/dist/transformers/interaction.js +12 -11
  85. package/dist/transformers/lobby.d.ts +4 -1
  86. package/dist/transformers/lobby.d.ts.map +1 -1
  87. package/dist/transformers/lobby.js +11 -1
  88. package/dist/transformers/member.js +1 -1
  89. package/dist/transformers/message.js +1 -1
  90. package/dist/transformers/presence.d.ts.map +1 -1
  91. package/dist/transformers/presence.js +2 -1
  92. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  93. package/dist/transformers/reverse/presence.js +3 -2
  94. package/dist/transformers/role.js +1 -1
  95. package/dist/transformers/soundboardSound.js +2 -2
  96. package/dist/transformers/sticker.d.ts +3 -1
  97. package/dist/transformers/sticker.d.ts.map +1 -1
  98. package/dist/transformers/sticker.js +13 -12
  99. package/dist/transformers/team.d.ts +7 -2
  100. package/dist/transformers/team.d.ts.map +1 -1
  101. package/dist/transformers/team.js +22 -16
  102. package/dist/transformers/template.d.ts +3 -1
  103. package/dist/transformers/template.d.ts.map +1 -1
  104. package/dist/transformers/template.js +18 -16
  105. package/dist/transformers/threadMember.d.ts +6 -2
  106. package/dist/transformers/threadMember.d.ts.map +1 -1
  107. package/dist/transformers/threadMember.js +20 -16
  108. package/dist/transformers/toggles/guild.d.ts +16 -13
  109. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  110. package/dist/transformers/toggles/guild.js +27 -21
  111. package/dist/transformers/types.d.ts +71 -1
  112. package/dist/transformers/types.d.ts.map +1 -1
  113. package/dist/transformers/types.js +1 -1
  114. package/dist/transformers/user.js +1 -1
  115. package/dist/transformers/voiceRegion.d.ts +3 -1
  116. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  117. package/dist/transformers/voiceRegion.js +12 -10
  118. package/dist/transformers/welcomeScreen.d.ts +7 -2
  119. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  120. package/dist/transformers/welcomeScreen.js +19 -12
  121. package/dist/transformers/widget.d.ts +3 -1
  122. package/dist/transformers/widget.d.ts.map +1 -1
  123. package/dist/transformers/widget.js +17 -15
  124. package/dist/transformers/widgetSettings.d.ts +3 -1
  125. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  126. package/dist/transformers/widgetSettings.js +9 -7
  127. package/dist/transformers.d.ts +101 -91
  128. package/dist/transformers.d.ts.map +1 -1
  129. package/dist/transformers.js +63 -27
  130. package/package.json +13 -13
@@ -1,15 +1,22 @@
1
- export function transformGatewayBot(bot, payload) {
2
- const gatewayBot = {
3
- url: payload.url,
4
- shards: payload.shards,
5
- sessionStartLimit: {
6
- total: payload.session_start_limit.total,
7
- remaining: payload.session_start_limit.remaining,
8
- resetAfter: payload.session_start_limit.reset_after,
9
- maxConcurrency: payload.session_start_limit.max_concurrency
10
- }
11
- };
12
- return bot.transformers.customizers.gatewayBot(bot, payload, gatewayBot);
1
+ import { callCustomizer } from '../transformers.js';
2
+ export function transformGatewayBot(bot, payload, extra) {
3
+ const gatewayBot = {};
4
+ if (payload.url) gatewayBot.url = payload.url;
5
+ if (payload.shards !== undefined) gatewayBot.shards = payload.shards;
6
+ if (payload.session_start_limit) gatewayBot.sessionStartLimit = bot.transformers.sessionStartLimit(bot, payload.session_start_limit);
7
+ return callCustomizer('gatewayBot', bot, payload, gatewayBot, {
8
+ partial: extra?.partial ?? false
9
+ });
10
+ }
11
+ export function transformSessionStartLimit(bot, payload, extra) {
12
+ const sessionStartLimit = {};
13
+ if (payload.total !== undefined) sessionStartLimit.total = payload.total;
14
+ if (payload.remaining !== undefined) sessionStartLimit.remaining = payload.remaining;
15
+ if (payload.reset_after !== undefined) sessionStartLimit.resetAfter = payload.reset_after;
16
+ if (payload.max_concurrency !== undefined) sessionStartLimit.maxConcurrency = payload.max_concurrency;
17
+ return callCustomizer('sessionStartLimit', bot, payload, sessionStartLimit, {
18
+ partial: extra?.partial ?? false
19
+ });
13
20
  }
14
21
 
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHZXRHYXRld2F5Qm90IH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBHZXRHYXRld2F5Qm90IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HYXRld2F5Qm90KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR2V0R2F0ZXdheUJvdCkge1xuICBjb25zdCBnYXRld2F5Qm90ID0ge1xuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2hhcmRzOiBwYXlsb2FkLnNoYXJkcyxcbiAgICBzZXNzaW9uU3RhcnRMaW1pdDoge1xuICAgICAgdG90YWw6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC50b3RhbCxcbiAgICAgIHJlbWFpbmluZzogcGF5bG9hZC5zZXNzaW9uX3N0YXJ0X2xpbWl0LnJlbWFpbmluZyxcbiAgICAgIHJlc2V0QWZ0ZXI6IHBheWxvYWQuc2Vzc2lvbl9zdGFydF9saW1pdC5yZXNldF9hZnRlcixcbiAgICAgIG1heENvbmN1cnJlbmN5OiBwYXlsb2FkLnNlc3Npb25fc3RhcnRfbGltaXQubWF4X2NvbmN1cnJlbmN5LFxuICAgIH0sXG4gIH0gYXMgR2V0R2F0ZXdheUJvdDtcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5nYXRld2F5Qm90KGJvdCwgcGF5bG9hZCwgZ2F0ZXdheUJvdCk7XG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtR2F0ZXdheUJvdCIsImJvdCIsInBheWxvYWQiLCJnYXRld2F5Qm90IiwidXJsIiwic2hhcmRzIiwic2Vzc2lvblN0YXJ0TGltaXQiLCJ0b3RhbCIsInNlc3Npb25fc3RhcnRfbGltaXQiLCJyZW1haW5pbmciLCJyZXNldEFmdGVyIiwicmVzZXRfYWZ0ZXIiLCJtYXhDb25jdXJyZW5jeSIsIm1heF9jb25jdXJyZW5jeSIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLFNBQVNBLG9CQUFvQkMsR0FBUSxFQUFFQyxPQUE2QjtJQUN6RSxNQUFNQyxhQUFhO1FBQ2pCQyxLQUFLRixRQUFRRSxHQUFHO1FBQ2hCQyxRQUFRSCxRQUFRRyxNQUFNO1FBQ3RCQyxtQkFBbUI7WUFDakJDLE9BQU9MLFFBQVFNLG1CQUFtQixDQUFDRCxLQUFLO1lBQ3hDRSxXQUFXUCxRQUFRTSxtQkFBbUIsQ0FBQ0MsU0FBUztZQUNoREMsWUFBWVIsUUFBUU0sbUJBQW1CLENBQUNHLFdBQVc7WUFDbkRDLGdCQUFnQlYsUUFBUU0sbUJBQW1CLENBQUNLLGVBQWU7UUFDN0Q7SUFDRjtJQUVBLE9BQU9aLElBQUlhLFlBQVksQ0FBQ0MsV0FBVyxDQUFDWixVQUFVLENBQUNGLEtBQUtDLFNBQVNDO0FBQy9EIn0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHZXRHYXRld2F5Qm90LCBEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXQgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgR2V0R2F0ZXdheUJvdCwgU2Vzc2lvblN0YXJ0TGltaXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUdhdGV3YXlCb3QoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEdldEdhdGV3YXlCb3Q+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBnYXRld2F5Qm90ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8R2V0R2F0ZXdheUJvdCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwYXlsb2FkLnVybCkgZ2F0ZXdheUJvdC51cmwgPSBwYXlsb2FkLnVybDtcbiAgaWYgKHBheWxvYWQuc2hhcmRzICE9PSB1bmRlZmluZWQpIGdhdGV3YXlCb3Quc2hhcmRzID0gcGF5bG9hZC5zaGFyZHM7XG4gIGlmIChwYXlsb2FkLnNlc3Npb25fc3RhcnRfbGltaXQpIGdhdGV3YXlCb3Quc2Vzc2lvblN0YXJ0TGltaXQgPSBib3QudHJhbnNmb3JtZXJzLnNlc3Npb25TdGFydExpbWl0KGJvdCwgcGF5bG9hZC5zZXNzaW9uX3N0YXJ0X2xpbWl0KTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2dhdGV3YXlCb3QnLCBib3QsIHBheWxvYWQsIGdhdGV3YXlCb3QsIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1TZXNzaW9uU3RhcnRMaW1pdChib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkU2Vzc2lvblN0YXJ0TGltaXQ+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBzZXNzaW9uU3RhcnRMaW1pdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFNlc3Npb25TdGFydExpbWl0LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHBheWxvYWQudG90YWwgIT09IHVuZGVmaW5lZCkgc2Vzc2lvblN0YXJ0TGltaXQudG90YWwgPSBwYXlsb2FkLnRvdGFsO1xuICBpZiAocGF5bG9hZC5yZW1haW5pbmcgIT09IHVuZGVmaW5lZCkgc2Vzc2lvblN0YXJ0TGltaXQucmVtYWluaW5nID0gcGF5bG9hZC5yZW1haW5pbmc7XG4gIGlmIChwYXlsb2FkLnJlc2V0X2FmdGVyICE9PSB1bmRlZmluZWQpIHNlc3Npb25TdGFydExpbWl0LnJlc2V0QWZ0ZXIgPSBwYXlsb2FkLnJlc2V0X2FmdGVyO1xuICBpZiAocGF5bG9hZC5tYXhfY29uY3VycmVuY3kgIT09IHVuZGVmaW5lZCkgc2Vzc2lvblN0YXJ0TGltaXQubWF4Q29uY3VycmVuY3kgPSBwYXlsb2FkLm1heF9jb25jdXJyZW5jeTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ3Nlc3Npb25TdGFydExpbWl0JywgYm90LCBwYXlsb2FkLCBzZXNzaW9uU3RhcnRMaW1pdCwge1xuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJjYWxsQ3VzdG9taXplciIsInRyYW5zZm9ybUdhdGV3YXlCb3QiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJnYXRld2F5Qm90IiwidXJsIiwic2hhcmRzIiwidW5kZWZpbmVkIiwic2Vzc2lvbl9zdGFydF9saW1pdCIsInNlc3Npb25TdGFydExpbWl0IiwidHJhbnNmb3JtZXJzIiwicGFydGlhbCIsInRyYW5zZm9ybVNlc3Npb25TdGFydExpbWl0IiwidG90YWwiLCJyZW1haW5pbmciLCJyZXNldF9hZnRlciIsInJlc2V0QWZ0ZXIiLCJtYXhfY29uY3VycmVuY3kiLCJtYXhDb25jdXJyZW5jeSJdLCJtYXBwaW5ncyI6IkFBR0EsU0FBU0EsY0FBYyxRQUFRLHFCQUFxQjtBQUdwRCxPQUFPLFNBQVNDLG9CQUFvQkMsR0FBUSxFQUFFQyxPQUFzQyxFQUFFQyxLQUE2QjtJQUNqSCxNQUFNQyxhQUFhLENBQUM7SUFFcEIsSUFBSUYsUUFBUUcsR0FBRyxFQUFFRCxXQUFXQyxHQUFHLEdBQUdILFFBQVFHLEdBQUc7SUFDN0MsSUFBSUgsUUFBUUksTUFBTSxLQUFLQyxXQUFXSCxXQUFXRSxNQUFNLEdBQUdKLFFBQVFJLE1BQU07SUFDcEUsSUFBSUosUUFBUU0sbUJBQW1CLEVBQUVKLFdBQVdLLGlCQUFpQixHQUFHUixJQUFJUyxZQUFZLENBQUNELGlCQUFpQixDQUFDUixLQUFLQyxRQUFRTSxtQkFBbUI7SUFFbkksT0FBT1QsZUFBZSxjQUFjRSxLQUFLQyxTQUFTRSxZQUFZO1FBQzVETyxTQUFTUixPQUFPUSxXQUFXO0lBQzdCO0FBQ0Y7QUFFQSxPQUFPLFNBQVNDLDJCQUEyQlgsR0FBUSxFQUFFQyxPQUEwQyxFQUFFQyxLQUE2QjtJQUM1SCxNQUFNTSxvQkFBb0IsQ0FBQztJQUUzQixJQUFJUCxRQUFRVyxLQUFLLEtBQUtOLFdBQVdFLGtCQUFrQkksS0FBSyxHQUFHWCxRQUFRVyxLQUFLO0lBQ3hFLElBQUlYLFFBQVFZLFNBQVMsS0FBS1AsV0FBV0Usa0JBQWtCSyxTQUFTLEdBQUdaLFFBQVFZLFNBQVM7SUFDcEYsSUFBSVosUUFBUWEsV0FBVyxLQUFLUixXQUFXRSxrQkFBa0JPLFVBQVUsR0FBR2QsUUFBUWEsV0FBVztJQUN6RixJQUFJYixRQUFRZSxlQUFlLEtBQUtWLFdBQVdFLGtCQUFrQlMsY0FBYyxHQUFHaEIsUUFBUWUsZUFBZTtJQUVyRyxPQUFPbEIsZUFBZSxxQkFBcUJFLEtBQUtDLFNBQVNPLG1CQUFtQjtRQUMxRUUsU0FBU1IsT0FBT1EsV0FBVztJQUM3QjtBQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAW,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OA8HvH"}
1
+ {"version":3,"file":"guild.d.ts","sourceRoot":"","sources":["../../src/transformers/guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,KAAK,EAAW,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAqHvH"}
@@ -102,15 +102,7 @@ export function transformGuild(bot, payload, extra) {
102
102
  if (props.systemChannelFlags && payload.system_channel_flags) guild.systemChannelFlags = payload.system_channel_flags;
103
103
  if (props.vanityUrlCode && payload.vanity_url_code) guild.vanityUrlCode = payload.vanity_url_code;
104
104
  if (props.verificationLevel && payload.verification_level !== undefined) guild.verificationLevel = payload.verification_level;
105
- if (props.welcomeScreen && payload.welcome_screen) guild.welcomeScreen = {
106
- description: payload.welcome_screen.description ?? undefined,
107
- welcomeChannels: payload.welcome_screen.welcome_channels.map((wc)=>({
108
- channelId: bot.transformers.snowflake(wc.channel_id),
109
- description: wc.description,
110
- emojiId: wc.emoji_id ? bot.transformers.snowflake(wc.emoji_id) : undefined,
111
- emojiName: wc.emoji_name ?? undefined
112
- }))
113
- };
105
+ if (props.welcomeScreen && payload.welcome_screen) guild.welcomeScreen = bot.transformers.welcomeScreen(bot, payload.welcome_screen);
114
106
  if (props.discoverySplash && payload.discovery_splash) guild.discoverySplash = iconHashToBigInt(payload.discovery_splash);
115
107
  if (props.joinedAt && payload.joined_at) guild.joinedAt = Date.parse(payload.joined_at);
116
108
  if (props.memberCount && payload.member_count) guild.memberCount = payload.member_count ?? 0;
@@ -144,4 +136,4 @@ export function transformGuild(bot, payload, extra) {
144
136
  });
145
137
  }
146
138
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB7IEd1aWxkVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9ndWlsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IENoYW5uZWwsIEd1aWxkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEd1aWxkID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEd1aWxkKSxcblxuICBnZXQgdGhyZWFkcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMpIHJldHVybiBuZXcgQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+KCk7XG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZCk7XG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpO1xuICB9LFxuICBnZXQgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5mZWF0dXJlcztcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkR3VpbGQ+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGQ7XG4gIGNvbnN0IGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpO1xuXG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgaWYgKHByb3BzLmFma1RpbWVvdXQgJiYgcGF5bG9hZC5hZmtfdGltZW91dCkgZ3VpbGQuYWZrVGltZW91dCA9IHBheWxvYWQuYWZrX3RpbWVvdXQ7XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ7XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDtcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyAmJiBwYXlsb2FkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zICE9PSB1bmRlZmluZWQpXG4gICAgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucztcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGd1aWxkLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQpO1xuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyICYmIHBheWxvYWQuZXhwbGljaXRfY29udGVudF9maWx0ZXIgIT09IHVuZGVmaW5lZCkgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlcjtcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQubWF4X21lbWJlcnM7XG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkO1xuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzKVxuICAgIGd1aWxkLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWZhTGV2ZWwgJiYgcGF5bG9hZC5tZmFfbGV2ZWwgIT09IHVuZGVmaW5lZCkgZ3VpbGQubWZhTGV2ZWwgPSBwYXlsb2FkLm1mYV9sZXZlbDtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5uYW1lO1xuICBpZiAocHJvcHMubnNmd0xldmVsICYmIHBheWxvYWQubnNmd19sZXZlbCAhPT0gdW5kZWZpbmVkKSBndWlsZC5uc2Z3TGV2ZWwgPSBwYXlsb2FkLm5zZndfbGV2ZWw7XG4gIGlmIChwcm9wcy5wcmVmZXJyZWRMb2NhbGUgJiYgcGF5bG9hZC5wcmVmZXJyZWRfbG9jYWxlKSBndWlsZC5wcmVmZXJyZWRMb2NhbGUgPSBwYXlsb2FkLnByZWZlcnJlZF9sb2NhbGU7XG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQ7XG4gIGlmIChwcm9wcy5wcmVtaXVtVGllciAmJiBwYXlsb2FkLnByZW1pdW1fdGllciAhPT0gdW5kZWZpbmVkKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQucHJlbWl1bV90aWVyO1xuICBpZiAocHJvcHMuc3RhZ2VJbnN0YW5jZXMgJiYgcGF5bG9hZC5zdGFnZV9pbnN0YW5jZXMpXG4gICAgZ3VpbGQuc3RhZ2VJbnN0YW5jZXMgPSBwYXlsb2FkLnN0YWdlX2luc3RhbmNlcy5tYXAoKHNpKSA9PiAoe1xuICAgICAgLyoqIFRoZSBpZCBvZiB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuaWQpLFxuICAgICAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBndWlsZElkLFxuICAgICAgLyoqIFRoZSBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmNoYW5uZWxfaWQpLFxuICAgICAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gICAgICB0b3BpYzogc2kudG9waWMsXG4gICAgfSkpO1xuICBpZiAocHJvcHMuY2hhbm5lbHMgJiYgKCEhcGF5bG9hZC5jaGFubmVscyB8fCAhIXBheWxvYWQudGhyZWFkcykpXG4gICAgZ3VpbGQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIFsuLi4ocGF5bG9hZC5jaGFubmVscyA/PyBbXSksIC4uLihwYXlsb2FkLnRocmVhZHMgPz8gW10pXS5tYXAoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgY2hhbm5lbCwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGNoYW5uZWwuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLm1lbWJlcnMgJiYgcGF5bG9hZC5tZW1iZXJzKVxuICAgIGd1aWxkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4ge1xuICAgICAgICBjb25zdCB1c2VySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlci5pZCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZCB9KTtcbiAgICAgICAgcmV0dXJuIFt1c2VySWQsIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgcm9sZSwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJvbGUuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLmVtb2ppcyAmJiBwYXlsb2FkLmVtb2ppcylcbiAgICBndWlsZC5lbW9qaXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZW1vamlzLm1hcCgoZW1vamkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIGVtb2ppKTtcbiAgICAgICAgcmV0dXJuIFtib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShlbW9qaS5pZCEpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnZvaWNlU3RhdGVzICYmIHBheWxvYWQudm9pY2Vfc3RhdGVzKVxuICAgIGd1aWxkLnZvaWNlU3RhdGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnZvaWNlX3N0YXRlcy5tYXAoKHZvaWNlU3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy52b2ljZVN0YXRlKGJvdCwgdm9pY2VTdGF0ZSwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHZvaWNlU3RhdGUudXNlcl9pZCksIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHN0aWNrZXIuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxGbGFncyAmJiBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzKSBndWlsZC5zeXN0ZW1DaGFubmVsRmxhZ3MgPSBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzO1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQudmFuaXR5X3VybF9jb2RlO1xuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwgJiYgcGF5bG9hZC52ZXJpZmljYXRpb25fbGV2ZWwgIT09IHVuZGVmaW5lZCkgZ3VpbGQudmVyaWZpY2F0aW9uTGV2ZWwgPSBwYXlsb2FkLnZlcmlmaWNhdGlvbl9sZXZlbDtcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC53ZWxjb21lX3NjcmVlbilcbiAgICBndWlsZC53ZWxjb21lU2NyZWVuID0ge1xuICAgICAgZGVzY3JpcHRpb246IHBheWxvYWQud2VsY29tZV9zY3JlZW4uZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgd2VsY29tZUNoYW5uZWxzOiBwYXlsb2FkLndlbGNvbWVfc2NyZWVuLndlbGNvbWVfY2hhbm5lbHMubWFwKCh3YykgPT4gKHtcbiAgICAgICAgY2hhbm5lbElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh3Yy5jaGFubmVsX2lkKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHdjLmRlc2NyaXB0aW9uLFxuICAgICAgICBlbW9qaUlkOiB3Yy5lbW9qaV9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHdjLmVtb2ppX2lkKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1vamlOYW1lOiB3Yy5lbW9qaV9uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgIH0pKSxcbiAgICB9O1xuICBpZiAocHJvcHMuZGlzY292ZXJ5U3BsYXNoICYmIHBheWxvYWQuZGlzY292ZXJ5X3NwbGFzaCkgZ3VpbGQuZGlzY292ZXJ5U3BsYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmRpc2NvdmVyeV9zcGxhc2gpO1xuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIGd1aWxkLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmpvaW5lZF9hdCk7XG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLm1lbWJlcl9jb3VudCA/PyAwO1xuICBpZiAocHJvcHMuc2hhcmRJZCAmJiBleHRyYT8uc2hhcmRJZCkgZ3VpbGQuc2hhcmRJZCA9IGV4dHJhLnNoYXJkSWQ7XG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKTtcbiAgaWYgKHByb3BzLmJhbm5lciAmJiBwYXlsb2FkLmJhbm5lcikgZ3VpbGQuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcik7XG4gIGlmIChwcm9wcy5zcGxhc2ggJiYgcGF5bG9hZC5zcGxhc2gpIGd1aWxkLnNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5zcGxhc2gpO1xuICBpZiAocHJvcHMuaWQgJiYgZ3VpbGRJZCkgZ3VpbGQuaWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMub3duZXJJZCAmJiBwYXlsb2FkLm93bmVyX2lkKSBndWlsZC5vd25lcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vd25lcl9pZCk7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnBlcm1pc3Npb25zKSBndWlsZC5wZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucGVybWlzc2lvbnMpO1xuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMud2lkZ2V0Q2hhbm5lbElkICYmIHBheWxvYWQud2lkZ2V0X2NoYW5uZWxfaWQpIGd1aWxkLndpZGdldENoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2lkZ2V0X2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBndWlsZC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5ydWxlc0NoYW5uZWxJZCAmJiBwYXlsb2FkLnJ1bGVzX2NoYW5uZWxfaWQpIGd1aWxkLnJ1bGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ydWxlc19jaGFubmVsX2lkKTtcbiAgaWYgKHByb3BzLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpIGd1aWxkLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgPSBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQ7XG4gIGlmIChwcm9wcy5sYXJnZSAmJiBwYXlsb2FkLmxhcmdlKSBndWlsZC5sYXJnZSA9IHBheWxvYWQubGFyZ2U7XG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQub3duZXI7XG4gIGlmIChwcm9wcy53aWRnZXRFbmFibGVkICYmIHBheWxvYWQud2lkZ2V0X2VuYWJsZWQpIGd1aWxkLndpZGdldEVuYWJsZWQgPSBwYXlsb2FkLndpZGdldF9lbmFibGVkO1xuICBpZiAocHJvcHMudW5hdmFpbGFibGUgJiYgcGF5bG9hZC51bmF2YWlsYWJsZSkgZ3VpbGQudW5hdmFpbGFibGUgPSBwYXlsb2FkLnVuYXZhaWxhYmxlO1xuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb25faGFzaCk7XG4gIGlmIChwcm9wcy5wcmVzZW5jZXMgJiYgcGF5bG9hZC5wcmVzZW5jZXMpXG4gICAgZ3VpbGQucHJlc2VuY2VzID0gcGF5bG9hZC5wcmVzZW5jZXM/Lm1hcCgocHJlc2VuY2UpID0+IGJvdC50cmFuc2Zvcm1lcnMucHJlc2VuY2UoYm90LCBwcmVzZW5jZSwgeyBwYXJ0aWFsOiB0cnVlIH0pKTtcbiAgaWYgKHByb3BzLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCAmJiBwYXlsb2FkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5zYWZldHlBbGVydHNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5pbmNpZGVudHNEYXRhICYmIHBheWxvYWQuaW5jaWRlbnRzX2RhdGEpIGd1aWxkLmluY2lkZW50c0RhdGEgPSBib3QudHJhbnNmb3JtZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLmluY2lkZW50c19kYXRhKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2d1aWxkJywgYm90LCBwYXlsb2FkLCBndWlsZCwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJDaGFubmVsVHlwZXMiLCJDb2xsZWN0aW9uIiwiaWNvbkhhc2hUb0JpZ0ludCIsImNhbGxDdXN0b21pemVyIiwiR3VpbGRUb2dnbGVzIiwiYmFzZUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsInRyYW5zZm9ybUd1aWxkIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImd1aWxkIiwiT2JqZWN0IiwiY3JlYXRlIiwiZ3VpbGRJZCIsInNub3dmbGFrZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJleHBsaWNpdENvbnRlbnRGaWx0ZXIiLCJleHBsaWNpdF9jb250ZW50X2ZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhfbWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heF9wcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1heF92aWRlb19jaGFubmVsX3VzZXJzIiwibWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyIsIm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzIiwibWZhTGV2ZWwiLCJtZmFfbGV2ZWwiLCJuYW1lIiwibnNmd0xldmVsIiwibnNmd19sZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZWZlcnJlZF9sb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCIsInByZW1pdW1UaWVyIiwicHJlbWl1bV90aWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzdGFnZV9pbnN0YW5jZXMiLCJzaSIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ0b3BpYyIsImNoYW5uZWwiLCJyZXN1bHQiLCJtZW1iZXJzIiwibWVtYmVyIiwidXNlcklkIiwidXNlciIsInJvbGVzIiwicm9sZSIsImVtb2ppcyIsImVtb2ppIiwidm9pY2VTdGF0ZXMiLCJ2b2ljZV9zdGF0ZXMiLCJ2b2ljZVN0YXRlIiwidXNlcl9pZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwid2VsY29tZUNoYW5uZWxzIiwid2VsY29tZV9jaGFubmVscyIsIndjIiwiZW1vamlJZCIsImVtb2ppX2lkIiwiZW1vamlOYW1lIiwiZW1vamlfbmFtZSIsImRpc2NvdmVyeVNwbGFzaCIsImRpc2NvdmVyeV9zcGxhc2giLCJqb2luZWRBdCIsImpvaW5lZF9hdCIsIkRhdGUiLCJwYXJzZSIsIm1lbWJlckNvdW50IiwibWVtYmVyX2NvdW50Iiwic2hhcmRJZCIsImljb24iLCJiYW5uZXIiLCJzcGxhc2giLCJvd25lcklkIiwib3duZXJfaWQiLCJwZXJtaXNzaW9ucyIsImFma0NoYW5uZWxJZCIsImFma19jaGFubmVsX2lkIiwid2lkZ2V0Q2hhbm5lbElkIiwid2lkZ2V0X2NoYW5uZWxfaWQiLCJhcHBsaWNhdGlvbklkIiwiYXBwbGljYXRpb25faWQiLCJzeXN0ZW1DaGFubmVsSWQiLCJzeXN0ZW1fY2hhbm5lbF9pZCIsInJ1bGVzQ2hhbm5lbElkIiwicnVsZXNfY2hhbm5lbF9pZCIsInB1YmxpY1VwZGF0ZXNDaGFubmVsSWQiLCJwdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkIiwicHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCIsInByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQiLCJsYXJnZSIsIm93bmVyIiwid2lkZ2V0RW5hYmxlZCIsIndpZGdldF9lbmFibGVkIiwidW5hdmFpbGFibGUiLCJpY29uSGFzaCIsImljb25faGFzaCIsInByZXNlbmNlcyIsInByZXNlbmNlIiwicGFydGlhbCIsInNhZmV0eUFsZXJ0c0NoYW5uZWxJZCIsInNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCIsImluY2lkZW50c0RhdGEiLCJpbmNpZGVudHNfZGF0YSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxRQUEy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
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvZ3VpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbm5lbFR5cGVzLCB0eXBlIERpc2NvcmRHdWlsZCB9IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIGljb25IYXNoVG9CaWdJbnQgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB7IEd1aWxkVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9ndWlsZC5qcyc7XG5pbXBvcnQgdHlwZSB7IENoYW5uZWwsIEd1aWxkIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBiYXNlR3VpbGQ6IEd1aWxkID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEd1aWxkKSxcblxuICBnZXQgdGhyZWFkcygpIHtcbiAgICBpZiAoIXRoaXMuY2hhbm5lbHMpIHJldHVybiBuZXcgQ29sbGVjdGlvbjxiaWdpbnQsIENoYW5uZWw+KCk7XG5cbiAgICBjb25zdCB0aHJlYWRzID0gdGhpcy5jaGFubmVsc1xuICAgICAgLmFycmF5KClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLlB1YmxpY1RocmVhZCB8fCB4LnR5cGUgPT09IENoYW5uZWxUeXBlcy5Qcml2YXRlVGhyZWFkIHx8IHgudHlwZSA9PT0gQ2hhbm5lbFR5cGVzLkFubm91bmNlbWVudFRocmVhZCk7XG5cbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhyZWFkcy5tYXAoKHgpID0+IFt4LmlkLCB4XSkpO1xuICB9LFxuICBnZXQgZmVhdHVyZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9nZ2xlcy5mZWF0dXJlcztcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZChib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkR3VpbGQ+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGQ7XG4gIGNvbnN0IGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+ID0gT2JqZWN0LmNyZWF0ZShiYXNlR3VpbGQpO1xuXG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCkgOiB1bmRlZmluZWQ7XG5cbiAgaWYgKHByb3BzLmFma1RpbWVvdXQgJiYgcGF5bG9hZC5hZmtfdGltZW91dCkgZ3VpbGQuYWZrVGltZW91dCA9IHBheWxvYWQuYWZrX3RpbWVvdXQ7XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZU1lbWJlckNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfbWVtYmVyX2NvdW50KSBndWlsZC5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQ7XG4gIGlmIChwcm9wcy5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCkgZ3VpbGQuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudDtcbiAgaWYgKHByb3BzLmRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyAmJiBwYXlsb2FkLmRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zICE9PSB1bmRlZmluZWQpXG4gICAgZ3VpbGQuZGVmYXVsdE1lc3NhZ2VOb3RpZmljYXRpb25zID0gcGF5bG9hZC5kZWZhdWx0X21lc3NhZ2Vfbm90aWZpY2F0aW9ucztcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGd1aWxkLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnRvZ2dsZXMpIGd1aWxkLnRvZ2dsZXMgPSBuZXcgR3VpbGRUb2dnbGVzKHBheWxvYWQpO1xuICBpZiAocHJvcHMuZXhwbGljaXRDb250ZW50RmlsdGVyICYmIHBheWxvYWQuZXhwbGljaXRfY29udGVudF9maWx0ZXIgIT09IHVuZGVmaW5lZCkgZ3VpbGQuZXhwbGljaXRDb250ZW50RmlsdGVyID0gcGF5bG9hZC5leHBsaWNpdF9jb250ZW50X2ZpbHRlcjtcbiAgaWYgKHByb3BzLm1heE1lbWJlcnMgJiYgcGF5bG9hZC5tYXhfbWVtYmVycykgZ3VpbGQubWF4TWVtYmVycyA9IHBheWxvYWQubWF4X21lbWJlcnM7XG4gIGlmIChwcm9wcy5tYXhQcmVzZW5jZXMgJiYgcGF5bG9hZC5tYXhfcHJlc2VuY2VzKSBndWlsZC5tYXhQcmVzZW5jZXMgPSBwYXlsb2FkLm1heF9wcmVzZW5jZXMgPz8gdW5kZWZpbmVkO1xuICBpZiAocHJvcHMubWF4VmlkZW9DaGFubmVsVXNlcnMgJiYgcGF5bG9hZC5tYXhfdmlkZW9fY2hhbm5lbF91c2VycykgZ3VpbGQubWF4VmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyAmJiBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzKVxuICAgIGd1aWxkLm1heFN0YWdlVmlkZW9DaGFubmVsVXNlcnMgPSBwYXlsb2FkLm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzO1xuICBpZiAocHJvcHMubWZhTGV2ZWwgJiYgcGF5bG9hZC5tZmFfbGV2ZWwgIT09IHVuZGVmaW5lZCkgZ3VpbGQubWZhTGV2ZWwgPSBwYXlsb2FkLm1mYV9sZXZlbDtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBndWlsZC5uYW1lID0gcGF5bG9hZC5uYW1lO1xuICBpZiAocHJvcHMubnNmd0xldmVsICYmIHBheWxvYWQubnNmd19sZXZlbCAhPT0gdW5kZWZpbmVkKSBndWlsZC5uc2Z3TGV2ZWwgPSBwYXlsb2FkLm5zZndfbGV2ZWw7XG4gIGlmIChwcm9wcy5wcmVmZXJyZWRMb2NhbGUgJiYgcGF5bG9hZC5wcmVmZXJyZWRfbG9jYWxlKSBndWlsZC5wcmVmZXJyZWRMb2NhbGUgPSBwYXlsb2FkLnByZWZlcnJlZF9sb2NhbGU7XG4gIGlmIChwcm9wcy5wcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQgJiYgcGF5bG9hZC5wcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCAhPT0gdW5kZWZpbmVkKVxuICAgIGd1aWxkLnByZW1pdW1TdWJzY3JpcHRpb25Db3VudCA9IHBheWxvYWQucHJlbWl1bV9zdWJzY3JpcHRpb25fY291bnQ7XG4gIGlmIChwcm9wcy5wcmVtaXVtVGllciAmJiBwYXlsb2FkLnByZW1pdW1fdGllciAhPT0gdW5kZWZpbmVkKSBndWlsZC5wcmVtaXVtVGllciA9IHBheWxvYWQucHJlbWl1bV90aWVyO1xuICBpZiAocHJvcHMuc3RhZ2VJbnN0YW5jZXMgJiYgcGF5bG9hZC5zdGFnZV9pbnN0YW5jZXMpXG4gICAgZ3VpbGQuc3RhZ2VJbnN0YW5jZXMgPSBwYXlsb2FkLnN0YWdlX2luc3RhbmNlcy5tYXAoKHNpKSA9PiAoe1xuICAgICAgLyoqIFRoZSBpZCBvZiB0aGlzIFN0YWdlIGluc3RhbmNlICovXG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoc2kuaWQpLFxuICAgICAgLyoqIFRoZSBndWlsZCBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBndWlsZElkLFxuICAgICAgLyoqIFRoZSBpZCBvZiB0aGUgYXNzb2NpYXRlZCBTdGFnZSBjaGFubmVsICovXG4gICAgICBjaGFubmVsSWQ6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHNpLmNoYW5uZWxfaWQpLFxuICAgICAgLyoqIFRoZSB0b3BpYyBvZiB0aGUgU3RhZ2UgaW5zdGFuY2UgKDEtMTIwIGNoYXJhY3RlcnMpICovXG4gICAgICB0b3BpYzogc2kudG9waWMsXG4gICAgfSkpO1xuICBpZiAocHJvcHMuY2hhbm5lbHMgJiYgKCEhcGF5bG9hZC5jaGFubmVscyB8fCAhIXBheWxvYWQudGhyZWFkcykpXG4gICAgZ3VpbGQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIFsuLi4ocGF5bG9hZC5jaGFubmVscyA/PyBbXSksIC4uLihwYXlsb2FkLnRocmVhZHMgPz8gW10pXS5tYXAoKGNoYW5uZWwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgY2hhbm5lbCwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGNoYW5uZWwuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLm1lbWJlcnMgJiYgcGF5bG9hZC5tZW1iZXJzKVxuICAgIGd1aWxkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4ge1xuICAgICAgICBjb25zdCB1c2VySWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtZW1iZXIudXNlci5pZCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgbWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZCB9KTtcbiAgICAgICAgcmV0dXJuIFt1c2VySWQsIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMucm9sZXMgJiYgcGF5bG9hZC5yb2xlcylcbiAgICBndWlsZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5yb2xlcy5tYXAoKHJvbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgcm9sZSwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJvbGUuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLmVtb2ppcyAmJiBwYXlsb2FkLmVtb2ppcylcbiAgICBndWlsZC5lbW9qaXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIHBheWxvYWQuZW1vamlzLm1hcCgoZW1vamkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIGVtb2ppKTtcbiAgICAgICAgcmV0dXJuIFtib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShlbW9qaS5pZCEpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnZvaWNlU3RhdGVzICYmIHBheWxvYWQudm9pY2Vfc3RhdGVzKVxuICAgIGd1aWxkLnZvaWNlU3RhdGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBwYXlsb2FkLnZvaWNlX3N0YXRlcy5tYXAoKHZvaWNlU3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYm90LnRyYW5zZm9ybWVycy52b2ljZVN0YXRlKGJvdCwgdm9pY2VTdGF0ZSwgeyBndWlsZElkIH0pO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHZvaWNlU3RhdGUudXNlcl9pZCksIHJlc3VsdF07XG4gICAgICB9KSxcbiAgICApO1xuICBpZiAocHJvcHMuc3RpY2tlcnMgJiYgcGF5bG9hZC5zdGlja2VycylcbiAgICBndWlsZC5zdGlja2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgcGF5bG9hZC5zdGlja2Vycz8ubWFwKChzdGlja2VyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHN0aWNrZXIpO1xuICAgICAgICByZXR1cm4gW2JvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHN0aWNrZXIuaWQpLCByZXN1bHRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgaWYgKHByb3BzLnN5c3RlbUNoYW5uZWxGbGFncyAmJiBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzKSBndWlsZC5zeXN0ZW1DaGFubmVsRmxhZ3MgPSBwYXlsb2FkLnN5c3RlbV9jaGFubmVsX2ZsYWdzO1xuICBpZiAocHJvcHMudmFuaXR5VXJsQ29kZSAmJiBwYXlsb2FkLnZhbml0eV91cmxfY29kZSkgZ3VpbGQudmFuaXR5VXJsQ29kZSA9IHBheWxvYWQudmFuaXR5X3VybF9jb2RlO1xuICBpZiAocHJvcHMudmVyaWZpY2F0aW9uTGV2ZWwgJiYgcGF5bG9hZC52ZXJpZmljYXRpb25fbGV2ZWwgIT09IHVuZGVmaW5lZCkgZ3VpbGQudmVyaWZpY2F0aW9uTGV2ZWwgPSBwYXlsb2FkLnZlcmlmaWNhdGlvbl9sZXZlbDtcbiAgaWYgKHByb3BzLndlbGNvbWVTY3JlZW4gJiYgcGF5bG9hZC53ZWxjb21lX3NjcmVlbikgZ3VpbGQud2VsY29tZVNjcmVlbiA9IGJvdC50cmFuc2Zvcm1lcnMud2VsY29tZVNjcmVlbihib3QsIHBheWxvYWQud2VsY29tZV9zY3JlZW4pO1xuICBpZiAocHJvcHMuZGlzY292ZXJ5U3BsYXNoICYmIHBheWxvYWQuZGlzY292ZXJ5X3NwbGFzaCkgZ3VpbGQuZGlzY292ZXJ5U3BsYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmRpc2NvdmVyeV9zcGxhc2gpO1xuICBpZiAocHJvcHMuam9pbmVkQXQgJiYgcGF5bG9hZC5qb2luZWRfYXQpIGd1aWxkLmpvaW5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLmpvaW5lZF9hdCk7XG4gIGlmIChwcm9wcy5tZW1iZXJDb3VudCAmJiBwYXlsb2FkLm1lbWJlcl9jb3VudCkgZ3VpbGQubWVtYmVyQ291bnQgPSBwYXlsb2FkLm1lbWJlcl9jb3VudCA/PyAwO1xuICBpZiAocHJvcHMuc2hhcmRJZCAmJiBleHRyYT8uc2hhcmRJZCkgZ3VpbGQuc2hhcmRJZCA9IGV4dHJhLnNoYXJkSWQ7XG4gIGlmIChwcm9wcy5pY29uICYmIHBheWxvYWQuaWNvbikgZ3VpbGQuaWNvbiA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5pY29uKTtcbiAgaWYgKHByb3BzLmJhbm5lciAmJiBwYXlsb2FkLmJhbm5lcikgZ3VpbGQuYmFubmVyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmJhbm5lcik7XG4gIGlmIChwcm9wcy5zcGxhc2ggJiYgcGF5bG9hZC5zcGxhc2gpIGd1aWxkLnNwbGFzaCA9IGljb25IYXNoVG9CaWdJbnQocGF5bG9hZC5zcGxhc2gpO1xuICBpZiAocHJvcHMuaWQgJiYgZ3VpbGRJZCkgZ3VpbGQuaWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMub3duZXJJZCAmJiBwYXlsb2FkLm93bmVyX2lkKSBndWlsZC5vd25lcklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vd25lcl9pZCk7XG4gIGlmIChwcm9wcy5wZXJtaXNzaW9ucyAmJiBwYXlsb2FkLnBlcm1pc3Npb25zKSBndWlsZC5wZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucGVybWlzc2lvbnMpO1xuICBpZiAocHJvcHMuYWZrQ2hhbm5lbElkICYmIHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpIGd1aWxkLmFma0NoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYWZrX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMud2lkZ2V0Q2hhbm5lbElkICYmIHBheWxvYWQud2lkZ2V0X2NoYW5uZWxfaWQpIGd1aWxkLndpZGdldENoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2lkZ2V0X2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBndWlsZC5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCk7XG4gIGlmIChwcm9wcy5zeXN0ZW1DaGFubmVsSWQgJiYgcGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCkgZ3VpbGQuc3lzdGVtQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5zeXN0ZW1fY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5ydWxlc0NoYW5uZWxJZCAmJiBwYXlsb2FkLnJ1bGVzX2NoYW5uZWxfaWQpIGd1aWxkLnJ1bGVzQ2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ydWxlc19jaGFubmVsX2lkKTtcbiAgaWYgKHByb3BzLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgJiYgcGF5bG9hZC5wdWJsaWNfdXBkYXRlc19jaGFubmVsX2lkKVxuICAgIGd1aWxkLnB1YmxpY1VwZGF0ZXNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMucHJlbWl1bVByb2dyZXNzQmFyRW5hYmxlZCAmJiBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQpIGd1aWxkLnByZW1pdW1Qcm9ncmVzc0JhckVuYWJsZWQgPSBwYXlsb2FkLnByZW1pdW1fcHJvZ3Jlc3NfYmFyX2VuYWJsZWQ7XG4gIGlmIChwcm9wcy5sYXJnZSAmJiBwYXlsb2FkLmxhcmdlKSBndWlsZC5sYXJnZSA9IHBheWxvYWQubGFyZ2U7XG4gIGlmIChwcm9wcy5vd25lciAmJiBwYXlsb2FkLm93bmVyKSBndWlsZC5vd25lciA9IHBheWxvYWQub3duZXI7XG4gIGlmIChwcm9wcy53aWRnZXRFbmFibGVkICYmIHBheWxvYWQud2lkZ2V0X2VuYWJsZWQpIGd1aWxkLndpZGdldEVuYWJsZWQgPSBwYXlsb2FkLndpZGdldF9lbmFibGVkO1xuICBpZiAocHJvcHMudW5hdmFpbGFibGUgJiYgcGF5bG9hZC51bmF2YWlsYWJsZSkgZ3VpbGQudW5hdmFpbGFibGUgPSBwYXlsb2FkLnVuYXZhaWxhYmxlO1xuICBpZiAocHJvcHMuaWNvbkhhc2ggJiYgcGF5bG9hZC5pY29uX2hhc2gpIGd1aWxkLmljb25IYXNoID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb25faGFzaCk7XG4gIGlmIChwcm9wcy5wcmVzZW5jZXMgJiYgcGF5bG9hZC5wcmVzZW5jZXMpXG4gICAgZ3VpbGQucHJlc2VuY2VzID0gcGF5bG9hZC5wcmVzZW5jZXM/Lm1hcCgocHJlc2VuY2UpID0+IGJvdC50cmFuc2Zvcm1lcnMucHJlc2VuY2UoYm90LCBwcmVzZW5jZSwgeyBwYXJ0aWFsOiB0cnVlIH0pKTtcbiAgaWYgKHByb3BzLnNhZmV0eUFsZXJ0c0NoYW5uZWxJZCAmJiBwYXlsb2FkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZClcbiAgICBndWlsZC5zYWZldHlBbGVydHNDaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLnNhZmV0eV9hbGVydHNfY2hhbm5lbF9pZCk7XG4gIGlmIChwcm9wcy5pbmNpZGVudHNEYXRhICYmIHBheWxvYWQuaW5jaWRlbnRzX2RhdGEpIGd1aWxkLmluY2lkZW50c0RhdGEgPSBib3QudHJhbnNmb3JtZXJzLmluY2lkZW50c0RhdGEoYm90LCBwYXlsb2FkLmluY2lkZW50c19kYXRhKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2d1aWxkJywgYm90LCBwYXlsb2FkLCBndWlsZCwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJDaGFubmVsVHlwZXMiLCJDb2xsZWN0aW9uIiwiaWNvbkhhc2hUb0JpZ0ludCIsImNhbGxDdXN0b21pemVyIiwiR3VpbGRUb2dnbGVzIiwiYmFzZUd1aWxkIiwidW5kZWZpbmVkIiwidGhyZWFkcyIsImNoYW5uZWxzIiwiYXJyYXkiLCJmaWx0ZXIiLCJ4IiwidHlwZSIsIlB1YmxpY1RocmVhZCIsIlByaXZhdGVUaHJlYWQiLCJBbm5vdW5jZW1lbnRUaHJlYWQiLCJtYXAiLCJpZCIsImZlYXR1cmVzIiwidG9nZ2xlcyIsInRyYW5zZm9ybUd1aWxkIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImd1aWxkIiwiT2JqZWN0IiwiY3JlYXRlIiwiZ3VpbGRJZCIsInNub3dmbGFrZSIsImFma1RpbWVvdXQiLCJhZmtfdGltZW91dCIsImFwcHJveGltYXRlTWVtYmVyQ291bnQiLCJhcHByb3hpbWF0ZV9tZW1iZXJfY291bnQiLCJhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQiLCJhcHByb3hpbWF0ZV9wcmVzZW5jZV9jb3VudCIsImRlZmF1bHRNZXNzYWdlTm90aWZpY2F0aW9ucyIsImRlZmF1bHRfbWVzc2FnZV9ub3RpZmljYXRpb25zIiwiZGVzY3JpcHRpb24iLCJleHBsaWNpdENvbnRlbnRGaWx0ZXIiLCJleHBsaWNpdF9jb250ZW50X2ZpbHRlciIsIm1heE1lbWJlcnMiLCJtYXhfbWVtYmVycyIsIm1heFByZXNlbmNlcyIsIm1heF9wcmVzZW5jZXMiLCJtYXhWaWRlb0NoYW5uZWxVc2VycyIsIm1heF92aWRlb19jaGFubmVsX3VzZXJzIiwibWF4U3RhZ2VWaWRlb0NoYW5uZWxVc2VycyIsIm1heF9zdGFnZV92aWRlb19jaGFubmVsX3VzZXJzIiwibWZhTGV2ZWwiLCJtZmFfbGV2ZWwiLCJuYW1lIiwibnNmd0xldmVsIiwibnNmd19sZXZlbCIsInByZWZlcnJlZExvY2FsZSIsInByZWZlcnJlZF9sb2NhbGUiLCJwcmVtaXVtU3Vic2NyaXB0aW9uQ291bnQiLCJwcmVtaXVtX3N1YnNjcmlwdGlvbl9jb3VudCIsInByZW1pdW1UaWVyIiwicHJlbWl1bV90aWVyIiwic3RhZ2VJbnN0YW5jZXMiLCJzdGFnZV9pbnN0YW5jZXMiLCJzaSIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ0b3BpYyIsImNoYW5uZWwiLCJyZXN1bHQiLCJtZW1iZXJzIiwibWVtYmVyIiwidXNlcklkIiwidXNlciIsInJvbGVzIiwicm9sZSIsImVtb2ppcyIsImVtb2ppIiwidm9pY2VTdGF0ZXMiLCJ2b2ljZV9zdGF0ZXMiLCJ2b2ljZVN0YXRlIiwidXNlcl9pZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN5c3RlbUNoYW5uZWxGbGFncyIsInN5c3RlbV9jaGFubmVsX2ZsYWdzIiwidmFuaXR5VXJsQ29kZSIsInZhbml0eV91cmxfY29kZSIsInZlcmlmaWNhdGlvbkxldmVsIiwidmVyaWZpY2F0aW9uX2xldmVsIiwid2VsY29tZVNjcmVlbiIsIndlbGNvbWVfc2NyZWVuIiwiZGlzY292ZXJ5U3BsYXNoIiwiZGlzY292ZXJ5X3NwbGFzaCIsImpvaW5lZEF0Iiwiam9pbmVkX2F0IiwiRGF0ZSIsInBhcnNlIiwibWVtYmVyQ291bnQiLCJtZW1iZXJfY291bnQiLCJzaGFyZElkIiwiaWNvbiIsImJhbm5lciIsInNwbGFzaCIsIm93bmVySWQiLCJvd25lcl9pZCIsInBlcm1pc3Npb25zIiwiYWZrQ2hhbm5lbElkIiwiYWZrX2NoYW5uZWxfaWQiLCJ3aWRnZXRDaGFubmVsSWQiLCJ3aWRnZXRfY2hhbm5lbF9pZCIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInN5c3RlbUNoYW5uZWxJZCIsInN5c3RlbV9jaGFubmVsX2lkIiwicnVsZXNDaGFubmVsSWQiLCJydWxlc19jaGFubmVsX2lkIiwicHVibGljVXBkYXRlc0NoYW5uZWxJZCIsInB1YmxpY191cGRhdGVzX2NoYW5uZWxfaWQiLCJwcmVtaXVtUHJvZ3Jlc3NCYXJFbmFibGVkIiwicHJlbWl1bV9wcm9ncmVzc19iYXJfZW5hYmxlZCIsImxhcmdlIiwib3duZXIiLCJ3aWRnZXRFbmFibGVkIiwid2lkZ2V0X2VuYWJsZWQiLCJ1bmF2YWlsYWJsZSIsImljb25IYXNoIiwiaWNvbl9oYXNoIiwicHJlc2VuY2VzIiwicHJlc2VuY2UiLCJwYXJ0aWFsIiwic2FmZXR5QWxlcnRzQ2hhbm5lbElkIiwic2FmZXR5X2FsZXJ0c19jaGFubmVsX2lkIiwiaW5jaWRlbnRzRGF0YSIsImluY2lkZW50c19kYXRhIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxZQUFZLFFBQTJCLG9CQUFvQjtBQUNwRSxTQUFTQyxVQUFVLEVBQUVDLGdCQUFnQixRQUFRLG9CQUFvQjtBQUdqRSxTQUFTQyxjQUFjLFFBQVEscUJBQXFCO0FBQ3BELFNBQVNDLFlBQVksUUFBUSxxQkFBcUI7QUFHbEQsT0FBTyxNQUFNQyxZQUFtQjtJQUM5QiwyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQ0MsUUFBUSxFQUFFLE9BQU8sSUFBSVA7UUFFL0IsTUFBTU0sVUFBVSxJQUFJLENBQUNDLFFBQVEsQ0FDMUJDLEtBQUssR0FDTEMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS1osYUFBYWEsWUFBWSxJQUFJRixFQUFFQyxJQUFJLEtBQUtaLGFBQWFjLGFBQWEsSUFBSUgsRUFBRUMsSUFBSSxLQUFLWixhQUFhZSxrQkFBa0I7UUFFNUksT0FBTyxJQUFJZCxXQUFXTSxRQUFRUyxHQUFHLENBQUMsQ0FBQ0wsSUFBTTtnQkFBQ0EsRUFBRU0sRUFBRTtnQkFBRU47YUFBRTtJQUNwRDtJQUNBLElBQUlPO1FBQ0YsT0FBTyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0QsUUFBUTtJQUM5QjtBQUNGLEVBQUU7QUFFRixPQUFPLFNBQVNFLGVBQWVDLEdBQVEsRUFBRUMsT0FBOEIsRUFBRUMsS0FBK0M7SUFDdEgsTUFBTUMsUUFBUUgsSUFBSUksWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsS0FBSztJQUN0RCxNQUFNQSxRQUE0RkMsT0FBT0MsTUFBTSxDQUFDeEI7SUFFaEgsTUFBTXlCLFVBQVVSLFFBQVFMLEVBQUUsR0FBR0ksSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVFMLEVBQUUsSUFBSVg7SUFFdEUsSUFBSWtCLE1BQU1RLFVBQVUsSUFBSVYsUUFBUVcsV0FBVyxFQUFFTixNQUFNSyxVQUFVLEdBQUdWLFFBQVFXLFdBQVc7SUFDbkYsSUFBSVQsTUFBTVUsc0JBQXNCLElBQUlaLFFBQVFhLHdCQUF3QixFQUFFUixNQUFNTyxzQkFBc0IsR0FBR1osUUFBUWEsd0JBQXdCO0lBQ3JJLElBQUlYLE1BQU1ZLHdCQUF3QixJQUFJZCxRQUFRZSwwQkFBMEIsRUFBRVYsTUFBTVMsd0JBQXdCLEdBQUdkLFFBQVFlLDBCQUEwQjtJQUM3SSxJQUFJYixNQUFNYywyQkFBMkIsSUFBSWhCLFFBQVFpQiw2QkFBNkIsS0FBS2pDLFdBQ2pGcUIsTUFBTVcsMkJBQTJCLEdBQUdoQixRQUFRaUIsNkJBQTZCO0lBQzNFLElBQUlmLE1BQU1nQixXQUFXLElBQUlsQixRQUFRa0IsV0FBVyxFQUFFYixNQUFNYSxXQUFXLEdBQUdsQixRQUFRa0IsV0FBVztJQUNyRixJQUFJaEIsTUFBTUwsT0FBTyxFQUFFUSxNQUFNUixPQUFPLEdBQUcsSUFBSWYsYUFBYWtCO0lBQ3BELElBQUlFLE1BQU1pQixxQkFBcUIsSUFBSW5CLFFBQVFvQix1QkFBdUIsS0FBS3BDLFdBQVdxQixNQUFNYyxxQkFBcUIsR0FBR25CLFFBQVFvQix1QkFBdUI7SUFDL0ksSUFBSWxCLE1BQU1tQixVQUFVLElBQUlyQixRQUFRc0IsV0FBVyxFQUFFakIsTUFBTWdCLFVBQVUsR0FBR3JCLFFBQVFzQixXQUFXO0lBQ25GLElBQUlwQixNQUFNcUIsWUFBWSxJQUFJdkIsUUFBUXdCLGFBQWEsRUFBRW5CLE1BQU1rQixZQUFZLEdBQUd2QixRQUFRd0IsYUFBYSxJQUFJeEM7SUFDL0YsSUFBSWtCLE1BQU11QixvQkFBb0IsSUFBSXpCLFFBQVEwQix1QkFBdUIsRUFBRXJCLE1BQU1vQixvQkFBb0IsR0FBR3pCLFFBQVEwQix1QkFBdUI7SUFDL0gsSUFBSXhCLE1BQU15Qix5QkFBeUIsSUFBSTNCLFFBQVE0Qiw2QkFBNkIsRUFDMUV2QixNQUFNc0IseUJBQXlCLEdBQUczQixRQUFRNEIsNkJBQTZCO0lBQ3pFLElBQUkxQixNQUFNMkIsUUFBUSxJQUFJN0IsUUFBUThCLFNBQVMsS0FBSzlDLFdBQVdxQixNQUFNd0IsUUFBUSxHQUFHN0IsUUFBUThCLFNBQVM7SUFDekYsSUFBSTVCLE1BQU02QixJQUFJLElBQUkvQixRQUFRK0IsSUFBSSxFQUFFMUIsTUFBTTBCLElBQUksR0FBRy9CLFFBQVErQixJQUFJO0lBQ3pELElBQUk3QixNQUFNOEIsU0FBUyxJQUFJaEMsUUFBUWlDLFVBQVUsS0FBS2pELFdBQVdxQixNQUFNMkIsU0FBUyxHQUFHaEMsUUFBUWlDLFVBQVU7SUFDN0YsSUFBSS9CLE1BQU1nQyxlQUFlLElBQUlsQyxRQUFRbUMsZ0JBQWdCLEVBQUU5QixNQUFNNkIsZUFBZSxHQUFHbEMsUUFBUW1DLGdCQUFnQjtJQUN2RyxJQUFJakMsTUFBTWtDLHdCQUF3QixJQUFJcEMsUUFBUXFDLDBCQUEwQixLQUFLckQsV0FDM0VxQixNQUFNK0Isd0JBQXdCLEdBQUdwQyxRQUFRcUMsMEJBQTBCO0lBQ3JFLElBQUluQyxNQUFNb0MsV0FBVyxJQUFJdEMsUUFBUXVDLFlBQVksS0FBS3ZELFdBQVdxQixNQUFNaUMsV0FBVyxHQUFHdEMsUUFBUXVDLFlBQVk7SUFDckcsSUFBSXJDLE1BQU1zQyxjQUFjLElBQUl4QyxRQUFReUMsZUFBZSxFQUNqRHBDLE1BQU1tQyxjQUFjLEdBQUd4QyxRQUFReUMsZUFBZSxDQUFDL0MsR0FBRyxDQUFDLENBQUNnRCxLQUFRLENBQUE7WUFDMUQsa0NBQWtDLEdBQ2xDL0MsSUFBSUksSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNpQyxHQUFHL0MsRUFBRTtZQUNwQyxpREFBaUQsR0FDakRhO1lBQ0EsMkNBQTJDLEdBQzNDbUMsV0FBVzVDLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDaUMsR0FBR0UsVUFBVTtZQUNuRCx1REFBdUQsR0FDdkRDLE9BQU9ILEdBQUdHLEtBQUs7UUFDakIsQ0FBQTtJQUNGLElBQUkzQyxNQUFNaEIsUUFBUSxJQUFLLENBQUEsQ0FBQyxDQUFDYyxRQUFRZCxRQUFRLElBQUksQ0FBQyxDQUFDYyxRQUFRZixPQUFPLEFBQUQsR0FDM0RvQixNQUFNbkIsUUFBUSxHQUFHLElBQUlQLFdBQ25CO1dBQUtxQixRQUFRZCxRQUFRLElBQUksRUFBRTtXQUFPYyxRQUFRZixPQUFPLElBQUksRUFBRTtLQUFFLENBQUNTLEdBQUcsQ0FBQyxDQUFDb0Q7UUFDN0QsTUFBTUMsU0FBU2hELElBQUlJLFlBQVksQ0FBQzJDLE9BQU8sQ0FBQy9DLEtBQUsrQyxTQUFTO1lBQUV0QztRQUFRO1FBQ2hFLE9BQU87WUFBQ1QsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNxQyxRQUFRbkQsRUFBRTtZQUFHb0Q7U0FBTztJQUN6RDtJQUVKLElBQUk3QyxNQUFNOEMsT0FBTyxJQUFJaEQsUUFBUWdELE9BQU8sRUFDbEMzQyxNQUFNMkMsT0FBTyxHQUFHLElBQUlyRSxXQUNsQnFCLFFBQVFnRCxPQUFPLENBQUN0RCxHQUFHLENBQUMsQ0FBQ3VEO1FBQ25CLE1BQU1DLFNBQVNuRCxJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ3dDLE9BQU9FLElBQUksQ0FBQ3hELEVBQUU7UUFDeEQsTUFBTW9ELFNBQVNoRCxJQUFJSSxZQUFZLENBQUM4QyxNQUFNLENBQUNsRCxLQUFLa0QsUUFBUTtZQUFFekM7WUFBUzBDO1FBQU87UUFDdEUsT0FBTztZQUFDQTtZQUFRSDtTQUFPO0lBQ3pCO0lBRUosSUFBSTdDLE1BQU1rRCxLQUFLLElBQUlwRCxRQUFRb0QsS0FBSyxFQUM5Qi9DLE1BQU0rQyxLQUFLLEdBQUcsSUFBSXpFLFdBQ2hCcUIsUUFBUW9ELEtBQUssQ0FBQzFELEdBQUcsQ0FBQyxDQUFDMkQ7UUFDakIsTUFBTU4sU0FBU2hELElBQUlJLFlBQVksQ0FBQ2tELElBQUksQ0FBQ3RELEtBQUtzRCxNQUFNO1lBQUU3QztRQUFRO1FBQzFELE9BQU87WUFBQ1QsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUM0QyxLQUFLMUQsRUFBRTtZQUFHb0Q7U0FBTztJQUN0RDtJQUVKLElBQUk3QyxNQUFNb0QsTUFBTSxJQUFJdEQsUUFBUXNELE1BQU0sRUFDaENqRCxNQUFNaUQsTUFBTSxHQUFHLElBQUkzRSxXQUNqQnFCLFFBQVFzRCxNQUFNLENBQUM1RCxHQUFHLENBQUMsQ0FBQzZEO1FBQ2xCLE1BQU1SLFNBQVNoRCxJQUFJSSxZQUFZLENBQUNvRCxLQUFLLENBQUN4RCxLQUFLd0Q7UUFDM0MsT0FBTztZQUFDeEQsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUM4QyxNQUFNNUQsRUFBRTtZQUFJb0Q7U0FBTztJQUN4RDtJQUVKLElBQUk3QyxNQUFNc0QsV0FBVyxJQUFJeEQsUUFBUXlELFlBQVksRUFDM0NwRCxNQUFNbUQsV0FBVyxHQUFHLElBQUk3RSxXQUN0QnFCLFFBQVF5RCxZQUFZLENBQUMvRCxHQUFHLENBQUMsQ0FBQ2dFO1FBQ3hCLE1BQU1YLFNBQVNoRCxJQUFJSSxZQUFZLENBQUN1RCxVQUFVLENBQUMzRCxLQUFLMkQsWUFBWTtZQUFFbEQ7UUFBUTtRQUN0RSxPQUFPO1lBQUNULElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDaUQsV0FBV0MsT0FBTztZQUFHWjtTQUFPO0lBQ2pFO0lBRUosSUFBSTdDLE1BQU0wRCxRQUFRLElBQUk1RCxRQUFRNEQsUUFBUSxFQUNwQ3ZELE1BQU11RCxRQUFRLEdBQUcsSUFBSWpGLFdBQ25CcUIsUUFBUTRELFFBQVEsRUFBRWxFLElBQUksQ0FBQ21FO1FBQ3JCLE1BQU1kLFNBQVNoRCxJQUFJSSxZQUFZLENBQUMwRCxPQUFPLENBQUM5RCxLQUFLOEQ7UUFDN0MsT0FBTztZQUFDOUQsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNvRCxRQUFRbEUsRUFBRTtZQUFHb0Q7U0FBTztJQUN6RDtJQUVKLElBQUk3QyxNQUFNNEQsa0JBQWtCLElBQUk5RCxRQUFRK0Qsb0JBQW9CLEVBQUUxRCxNQUFNeUQsa0JBQWtCLEdBQUc5RCxRQUFRK0Qsb0JBQW9CO0lBQ3JILElBQUk3RCxNQUFNOEQsYUFBYSxJQUFJaEUsUUFBUWlFLGVBQWUsRUFBRTVELE1BQU0yRCxhQUFhLEdBQUdoRSxRQUFRaUUsZUFBZTtJQUNqRyxJQUFJL0QsTUFBTWdFLGlCQUFpQixJQUFJbEUsUUFBUW1FLGtCQUFrQixLQUFLbkYsV0FBV3FCLE1BQU02RCxpQkFBaUIsR0FBR2xFLFFBQVFtRSxrQkFBa0I7SUFDN0gsSUFBSWpFLE1BQU1rRSxhQUFhLElBQUlwRSxRQUFRcUUsY0FBYyxFQUFFaEUsTUFBTStELGFBQWEsR0FBR3JFLElBQUlJLFlBQVksQ0FBQ2lFLGFBQWEsQ0FBQ3JFLEtBQUtDLFFBQVFxRSxjQUFjO0lBQ25JLElBQUluRSxNQUFNb0UsZUFBZSxJQUFJdEUsUUFBUXVFLGdCQUFnQixFQUFFbEUsTUFBTWlFLGVBQWUsR0FBRzFGLGlCQUFpQm9CLFFBQVF1RSxnQkFBZ0I7SUFDeEgsSUFBSXJFLE1BQU1zRSxRQUFRLElBQUl4RSxRQUFReUUsU0FBUyxFQUFFcEUsTUFBTW1FLFFBQVEsR0FBR0UsS0FBS0MsS0FBSyxDQUFDM0UsUUFBUXlFLFNBQVM7SUFDdEYsSUFBSXZFLE1BQU0wRSxXQUFXLElBQUk1RSxRQUFRNkUsWUFBWSxFQUFFeEUsTUFBTXVFLFdBQVcsR0FBRzVFLFFBQVE2RSxZQUFZLElBQUk7SUFDM0YsSUFBSTNFLE1BQU00RSxPQUFPLElBQUk3RSxPQUFPNkUsU0FBU3pFLE1BQU15RSxPQUFPLEdBQUc3RSxNQUFNNkUsT0FBTztJQUNsRSxJQUFJNUUsTUFBTTZFLElBQUksSUFBSS9FLFFBQVErRSxJQUFJLEVBQUUxRSxNQUFNMEUsSUFBSSxHQUFHbkcsaUJBQWlCb0IsUUFBUStFLElBQUk7SUFDMUUsSUFBSTdFLE1BQU04RSxNQUFNLElBQUloRixRQUFRZ0YsTUFBTSxFQUFFM0UsTUFBTTJFLE1BQU0sR0FBR3BHLGlCQUFpQm9CLFFBQVFnRixNQUFNO0lBQ2xGLElBQUk5RSxNQUFNK0UsTUFBTSxJQUFJakYsUUFBUWlGLE1BQU0sRUFBRTVFLE1BQU00RSxNQUFNLEdBQUdyRyxpQkFBaUJvQixRQUFRaUYsTUFBTTtJQUNsRixJQUFJL0UsTUFBTVAsRUFBRSxJQUFJYSxTQUFTSCxNQUFNVixFQUFFLEdBQUdhO0lBQ3BDLElBQUlOLE1BQU1nRixPQUFPLElBQUlsRixRQUFRbUYsUUFBUSxFQUFFOUUsTUFBTTZFLE9BQU8sR0FBR25GLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRbUYsUUFBUTtJQUNsRyxJQUFJakYsTUFBTWtGLFdBQVcsSUFBSXBGLFFBQVFvRixXQUFXLEVBQUUvRSxNQUFNK0UsV0FBVyxHQUFHckYsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVFvRixXQUFXO0lBQ2hILElBQUlsRixNQUFNbUYsWUFBWSxJQUFJckYsUUFBUXNGLGNBQWMsRUFBRWpGLE1BQU1nRixZQUFZLEdBQUd0RixJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ1QsUUFBUXNGLGNBQWM7SUFDeEgsSUFBSXBGLE1BQU1xRixlQUFlLElBQUl2RixRQUFRd0YsaUJBQWlCLEVBQUVuRixNQUFNa0YsZUFBZSxHQUFHeEYsSUFBSUksWUFBWSxDQUFDTSxTQUFTLENBQUNULFFBQVF3RixpQkFBaUI7SUFDcEksSUFBSXRGLE1BQU11RixhQUFhLElBQUl6RixRQUFRMEYsY0FBYyxFQUFFckYsTUFBTW9GLGFBQWEsR0FBRzFGLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRMEYsY0FBYztJQUMxSCxJQUFJeEYsTUFBTXlGLGVBQWUsSUFBSTNGLFFBQVE0RixpQkFBaUIsRUFBRXZGLE1BQU1zRixlQUFlLEdBQUc1RixJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ1QsUUFBUTRGLGlCQUFpQjtJQUNwSSxJQUFJMUYsTUFBTTJGLGNBQWMsSUFBSTdGLFFBQVE4RixnQkFBZ0IsRUFBRXpGLE1BQU13RixjQUFjLEdBQUc5RixJQUFJSSxZQUFZLENBQUNNLFNBQVMsQ0FBQ1QsUUFBUThGLGdCQUFnQjtJQUNoSSxJQUFJNUYsTUFBTTZGLHNCQUFzQixJQUFJL0YsUUFBUWdHLHlCQUF5QixFQUNuRTNGLE1BQU0wRixzQkFBc0IsR0FBR2hHLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFRZ0cseUJBQXlCO0lBQzdGLElBQUk5RixNQUFNK0YseUJBQXlCLElBQUlqRyxRQUFRa0csNEJBQTRCLEVBQUU3RixNQUFNNEYseUJBQXlCLEdBQUdqRyxRQUFRa0csNEJBQTRCO0lBQ25KLElBQUloRyxNQUFNaUcsS0FBSyxJQUFJbkcsUUFBUW1HLEtBQUssRUFBRTlGLE1BQU04RixLQUFLLEdBQUduRyxRQUFRbUcsS0FBSztJQUM3RCxJQUFJakcsTUFBTWtHLEtBQUssSUFBSXBHLFFBQVFvRyxLQUFLLEVBQUUvRixNQUFNK0YsS0FBSyxHQUFHcEcsUUFBUW9HLEtBQUs7SUFDN0QsSUFBSWxHLE1BQU1tRyxhQUFhLElBQUlyRyxRQUFRc0csY0FBYyxFQUFFakcsTUFBTWdHLGFBQWEsR0FBR3JHLFFBQVFzRyxjQUFjO0lBQy9GLElBQUlwRyxNQUFNcUcsV0FBVyxJQUFJdkcsUUFBUXVHLFdBQVcsRUFBRWxHLE1BQU1rRyxXQUFXLEdBQUd2RyxRQUFRdUcsV0FBVztJQUNyRixJQUFJckcsTUFBTXNHLFFBQVEsSUFBSXhHLFFBQVF5RyxTQUFTLEVBQUVwRyxNQUFNbUcsUUFBUSxHQUFHNUgsaUJBQWlCb0IsUUFBUXlHLFNBQVM7SUFDNUYsSUFBSXZHLE1BQU13RyxTQUFTLElBQUkxRyxRQUFRMEcsU0FBUyxFQUN0Q3JHLE1BQU1xRyxTQUFTLEdBQUcxRyxRQUFRMEcsU0FBUyxFQUFFaEgsSUFBSSxDQUFDaUgsV0FBYTVHLElBQUlJLFlBQVksQ0FBQ3dHLFFBQVEsQ0FBQzVHLEtBQUs0RyxVQUFVO1lBQUVDLFNBQVM7UUFBSztJQUNsSCxJQUFJMUcsTUFBTTJHLHFCQUFxQixJQUFJN0csUUFBUThHLHdCQUF3QixFQUNqRXpHLE1BQU13RyxxQkFBcUIsR0FBRzlHLElBQUlJLFlBQVksQ0FBQ00sU0FBUyxDQUFDVCxRQUFROEcsd0JBQXdCO0lBQzNGLElBQUk1RyxNQUFNNkcsYUFBYSxJQUFJL0csUUFBUWdILGNBQWMsRUFBRTNHLE1BQU0wRyxhQUFhLEdBQUdoSCxJQUFJSSxZQUFZLENBQUM0RyxhQUFhLENBQUNoSCxLQUFLQyxRQUFRZ0gsY0FBYztJQUVuSSxPQUFPbkksZUFBZSxTQUFTa0IsS0FBS0MsU0FBU0ssT0FBTztRQUNsRHlFLFNBQVM3RSxPQUFPNkU7UUFDaEI4QixTQUFTM0csT0FBTzJHLFdBQVc7SUFDN0I7QUFDRiJ9
@@ -1,4 +1,12 @@
1
- import type { DiscordIntegrationCreateUpdate } from '@discordeno/types';
1
+ import type { DiscordIntegrationAccount, DiscordIntegrationApplication, DiscordIntegrationCreateUpdate } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
- export declare function transformIntegration(bot: Bot, payload: DiscordIntegrationCreateUpdate): any;
3
+ export declare function transformIntegration(bot: Bot, payload: Partial<DiscordIntegrationCreateUpdate>, extra?: {
4
+ partial?: boolean;
5
+ }): any;
6
+ export declare function transformIntegrationAccount(bot: Bot, payload: Partial<DiscordIntegrationAccount>, extra?: {
7
+ partial?: boolean;
8
+ }): any;
9
+ export declare function transformIntegrationApplication(bot: Bot, payload: Partial<DiscordIntegrationApplication>, extra?: {
10
+ partial?: boolean;
11
+ }): any;
4
12
  //# sourceMappingURL=integration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/transformers/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,8BAA8B,OAiCrF"}
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/transformers/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAElI,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAwB7H;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAS/H;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAYvI"}
@@ -1,34 +1,46 @@
1
1
  import { iconHashToBigInt } from '@discordeno/utils';
2
- export function transformIntegration(bot, payload) {
3
- const integration = {
4
- guildId: bot.transformers.snowflake(payload.guild_id),
5
- id: bot.transformers.snowflake(payload.id),
6
- name: payload.name,
7
- type: payload.type,
8
- enabled: payload.enabled,
9
- syncing: payload.syncing,
10
- roleId: payload.role_id ? bot.transformers.snowflake(payload.role_id) : undefined,
11
- enableEmoticons: payload.enable_emoticons,
12
- expireBehavior: payload.expire_behavior,
13
- expireGracePeriod: payload.expire_grace_period,
14
- user: payload.user ? bot.transformers.user(bot, payload.user) : undefined,
15
- account: {
16
- id: bot.transformers.snowflake(payload.account.id),
17
- name: payload.account.name
18
- },
19
- syncedAt: payload.synced_at ? Date.parse(payload.synced_at) : undefined,
20
- subscriberCount: payload.subscriber_count,
21
- revoked: payload.revoked,
22
- application: payload.application ? {
23
- id: bot.transformers.snowflake(payload.application.id),
24
- name: payload.application.name,
25
- icon: payload.application.icon ? iconHashToBigInt(payload.application.icon) : undefined,
26
- description: payload.application.description,
27
- bot: payload.application.bot ? bot.transformers.user(bot, payload.application.bot) : undefined
28
- } : undefined,
29
- scopes: payload.scopes
30
- };
31
- return bot.transformers.customizers.integration(bot, payload, integration);
2
+ import { callCustomizer } from '../transformers.js';
3
+ export function transformIntegration(bot, payload, extra) {
4
+ const integration = {};
5
+ if (payload.guild_id) integration.guildId = bot.transformers.snowflake(payload.guild_id);
6
+ if (payload.id) integration.id = bot.transformers.snowflake(payload.id);
7
+ if (payload.name) integration.name = payload.name;
8
+ if (payload.type) integration.type = payload.type;
9
+ if (payload.enabled) integration.enabled = payload.enabled;
10
+ if (payload.syncing) integration.syncing = payload.syncing;
11
+ if (payload.role_id) integration.roleId = bot.transformers.snowflake(payload.role_id);
12
+ if (payload.enable_emoticons) integration.enableEmoticons = payload.enable_emoticons;
13
+ if (payload.expire_behavior !== undefined) integration.expireBehavior = payload.expire_behavior;
14
+ if (payload.expire_grace_period) integration.expireGracePeriod = payload.expire_grace_period;
15
+ if (payload.user) integration.user = bot.transformers.user(bot, payload.user);
16
+ if (payload.account) integration.account = bot.transformers.integrationAccount(bot, payload.account);
17
+ if (payload.synced_at) integration.syncedAt = Date.parse(payload.synced_at);
18
+ if (payload.subscriber_count) integration.subscriberCount = payload.subscriber_count;
19
+ if (payload.revoked) integration.revoked = payload.revoked;
20
+ if (payload.application) integration.application = bot.transformers.integrationApplication(bot, payload.application);
21
+ if (payload.scopes) integration.scopes = payload.scopes;
22
+ return callCustomizer('integration', bot, payload, integration, {
23
+ partial: extra?.partial ?? false
24
+ });
25
+ }
26
+ export function transformIntegrationAccount(bot, payload, extra) {
27
+ const integrationAccount = {};
28
+ if (payload.id !== undefined) integrationAccount.id = bot.transformers.snowflake(payload.id);
29
+ if (payload.name !== undefined) integrationAccount.name = payload.name;
30
+ return callCustomizer('integrationAccount', bot, payload, integrationAccount, {
31
+ partial: extra?.partial ?? false
32
+ });
33
+ }
34
+ export function transformIntegrationApplication(bot, payload, extra) {
35
+ const integrationApplication = {};
36
+ if (payload.id !== undefined) integrationApplication.id = bot.transformers.snowflake(payload.id);
37
+ if (payload.name !== undefined) integrationApplication.name = payload.name;
38
+ if (payload.description !== undefined) integrationApplication.description = payload.description;
39
+ if (payload.icon !== undefined) integrationApplication.icon = payload.icon ? iconHashToBigInt(payload.icon) : undefined;
40
+ if (payload.bot !== undefined) integrationApplication.bot = bot.transformers.user(bot, payload.bot);
41
+ return callCustomizer('integrationApplication', bot, payload, integrationApplication, {
42
+ partial: extra?.partial ?? false
43
+ });
32
44
  }
33
45
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb24oYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSkge1xuICBjb25zdCBpbnRlZ3JhdGlvbiA9IHtcbiAgICBndWlsZElkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSxcbiAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCksXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lLFxuICAgIHR5cGU6IHBheWxvYWQudHlwZSxcbiAgICBlbmFibGVkOiBwYXlsb2FkLmVuYWJsZWQsXG4gICAgc3luY2luZzogcGF5bG9hZC5zeW5jaW5nLFxuICAgIHJvbGVJZDogcGF5bG9hZC5yb2xlX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yb2xlX2lkKSA6IHVuZGVmaW5lZCxcbiAgICBlbmFibGVFbW90aWNvbnM6IHBheWxvYWQuZW5hYmxlX2Vtb3RpY29ucyxcbiAgICBleHBpcmVCZWhhdmlvcjogcGF5bG9hZC5leHBpcmVfYmVoYXZpb3IsXG4gICAgZXhwaXJlR3JhY2VQZXJpb2Q6IHBheWxvYWQuZXhwaXJlX2dyYWNlX3BlcmlvZCxcbiAgICB1c2VyOiBwYXlsb2FkLnVzZXIgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpIDogdW5kZWZpbmVkLFxuICAgIGFjY291bnQ6IHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFjY291bnQuaWQpLFxuICAgICAgbmFtZTogcGF5bG9hZC5hY2NvdW50Lm5hbWUsXG4gICAgfSxcbiAgICBzeW5jZWRBdDogcGF5bG9hZC5zeW5jZWRfYXQgPyBEYXRlLnBhcnNlKHBheWxvYWQuc3luY2VkX2F0KSA6IHVuZGVmaW5lZCxcbiAgICBzdWJzY3JpYmVyQ291bnQ6IHBheWxvYWQuc3Vic2NyaWJlcl9jb3VudCxcbiAgICByZXZva2VkOiBwYXlsb2FkLnJldm9rZWQsXG4gICAgYXBwbGljYXRpb246IHBheWxvYWQuYXBwbGljYXRpb25cbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uLmlkKSxcbiAgICAgICAgICBuYW1lOiBwYXlsb2FkLmFwcGxpY2F0aW9uLm5hbWUsXG4gICAgICAgICAgaWNvbjogcGF5bG9hZC5hcHBsaWNhdGlvbi5pY29uID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmFwcGxpY2F0aW9uLmljb24pIDogdW5kZWZpbmVkLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmFwcGxpY2F0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGJvdDogcGF5bG9hZC5hcHBsaWNhdGlvbi5ib3QgPyBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmFwcGxpY2F0aW9uLmJvdCkgOiB1bmRlZmluZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIHNjb3BlczogcGF5bG9hZC5zY29wZXMsXG4gIH0gYXMgSW50ZWdyYXRpb247XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuaW50ZWdyYXRpb24oYm90LCBwYXlsb2FkLCBpbnRlZ3JhdGlvbik7XG59XG4iXSwibmFtZXMiOlsiaWNvbkhhc2hUb0JpZ0ludCIsInRyYW5zZm9ybUludGVncmF0aW9uIiwiYm90IiwicGF5bG9hZCIsImludGVncmF0aW9uIiwiZ3VpbGRJZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsImd1aWxkX2lkIiwiaWQiLCJuYW1lIiwidHlwZSIsImVuYWJsZWQiLCJzeW5jaW5nIiwicm9sZUlkIiwicm9sZV9pZCIsInVuZGVmaW5lZCIsImVuYWJsZUVtb3RpY29ucyIsImVuYWJsZV9lbW90aWNvbnMiLCJleHBpcmVCZWhhdmlvciIsImV4cGlyZV9iZWhhdmlvciIsImV4cGlyZUdyYWNlUGVyaW9kIiwiZXhwaXJlX2dyYWNlX3BlcmlvZCIsInVzZXIiLCJhY2NvdW50Iiwic3luY2VkQXQiLCJzeW5jZWRfYXQiLCJEYXRlIiwicGFyc2UiLCJzdWJzY3JpYmVyQ291bnQiLCJzdWJzY3JpYmVyX2NvdW50IiwicmV2b2tlZCIsImFwcGxpY2F0aW9uIiwiaWNvbiIsImRlc2NyaXB0aW9uIiwic2NvcGVzIiwiY3VzdG9taXplcnMiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFvQjtBQUlyRCxPQUFPLFNBQVNDLHFCQUFxQkMsR0FBUSxFQUFFQyxPQUF1QztJQUNwRixNQUFNQyxjQUFjO1FBQ2xCQyxTQUFTSCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUUssUUFBUTtRQUNwREMsSUFBSVAsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFNLEVBQUU7UUFDekNDLE1BQU1QLFFBQVFPLElBQUk7UUFDbEJDLE1BQU1SLFFBQVFRLElBQUk7UUFDbEJDLFNBQVNULFFBQVFTLE9BQU87UUFDeEJDLFNBQVNWLFFBQVFVLE9BQU87UUFDeEJDLFFBQVFYLFFBQVFZLE9BQU8sR0FBR2IsSUFBSUksWUFBWSxDQUFDQyxTQUFTLENBQUNKLFFBQVFZLE9BQU8sSUFBSUM7UUFDeEVDLGlCQUFpQmQsUUFBUWUsZ0JBQWdCO1FBQ3pDQyxnQkFBZ0JoQixRQUFRaUIsZUFBZTtRQUN2Q0MsbUJBQW1CbEIsUUFBUW1CLG1CQUFtQjtRQUM5Q0MsTUFBTXBCLFFBQVFvQixJQUFJLEdBQUdyQixJQUFJSSxZQUFZLENBQUNpQixJQUFJLENBQUNyQixLQUFLQyxRQUFRb0IsSUFBSSxJQUFJUDtRQUNoRVEsU0FBUztZQUNQZixJQUFJUCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUXFCLE9BQU8sQ0FBQ2YsRUFBRTtZQUNqREMsTUFBTVAsUUFBUXFCLE9BQU8sQ0FBQ2QsSUFBSTtRQUM1QjtRQUNBZSxVQUFVdEIsUUFBUXVCLFNBQVMsR0FBR0MsS0FBS0MsS0FBSyxDQUFDekIsUUFBUXVCLFNBQVMsSUFBSVY7UUFDOURhLGlCQUFpQjFCLFFBQVEyQixnQkFBZ0I7UUFDekNDLFNBQVM1QixRQUFRNEIsT0FBTztRQUN4QkMsYUFBYTdCLFFBQVE2QixXQUFXLEdBQzVCO1lBQ0V2QixJQUFJUCxJQUFJSSxZQUFZLENBQUNDLFNBQVMsQ0FBQ0osUUFBUTZCLFdBQVcsQ0FBQ3ZCLEVBQUU7WUFDckRDLE1BQU1QLFFBQVE2QixXQUFXLENBQUN0QixJQUFJO1lBQzlCdUIsTUFBTTlCLFFBQVE2QixXQUFXLENBQUNDLElBQUksR0FBR2pDLGlCQUFpQkcsUUFBUTZCLFdBQVcsQ0FBQ0MsSUFBSSxJQUFJakI7WUFDOUVrQixhQUFhL0IsUUFBUTZCLFdBQVcsQ0FBQ0UsV0FBVztZQUM1Q2hDLEtBQUtDLFFBQVE2QixXQUFXLENBQUM5QixHQUFHLEdBQUdBLElBQUlJLFlBQVksQ0FBQ2lCLElBQUksQ0FBQ3JCLEtBQUtDLFFBQVE2QixXQUFXLENBQUM5QixHQUFHLElBQUljO1FBQ3ZGLElBQ0FBO1FBQ0ptQixRQUFRaEMsUUFBUWdDLE1BQU07SUFDeEI7SUFFQSxPQUFPakMsSUFBSUksWUFBWSxDQUFDOEIsV0FBVyxDQUFDaEMsV0FBVyxDQUFDRixLQUFLQyxTQUFTQztBQUNoRSJ9
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEaXNjb3JkSW50ZWdyYXRpb25BY2NvdW50LCBEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbiwgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHsgaWNvbkhhc2hUb0JpZ0ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY2FsbEN1c3RvbWl6ZXIgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMuanMnO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvbiwgSW50ZWdyYXRpb25BY2NvdW50LCBJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlZ3JhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGU+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBpbnRlZ3JhdGlvbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVncmF0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHBheWxvYWQuZ3VpbGRfaWQpIGludGVncmF0aW9uLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKTtcbiAgaWYgKHBheWxvYWQuaWQpIGludGVncmF0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwYXlsb2FkLm5hbWUpIGludGVncmF0aW9uLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwYXlsb2FkLnR5cGUpIGludGVncmF0aW9uLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwYXlsb2FkLmVuYWJsZWQpIGludGVncmF0aW9uLmVuYWJsZWQgPSBwYXlsb2FkLmVuYWJsZWQ7XG4gIGlmIChwYXlsb2FkLnN5bmNpbmcpIGludGVncmF0aW9uLnN5bmNpbmcgPSBwYXlsb2FkLnN5bmNpbmc7XG4gIGlmIChwYXlsb2FkLnJvbGVfaWQpIGludGVncmF0aW9uLnJvbGVJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucm9sZV9pZCk7XG4gIGlmIChwYXlsb2FkLmVuYWJsZV9lbW90aWNvbnMpIGludGVncmF0aW9uLmVuYWJsZUVtb3RpY29ucyA9IHBheWxvYWQuZW5hYmxlX2Vtb3RpY29ucztcbiAgaWYgKHBheWxvYWQuZXhwaXJlX2JlaGF2aW9yICE9PSB1bmRlZmluZWQpIGludGVncmF0aW9uLmV4cGlyZUJlaGF2aW9yID0gcGF5bG9hZC5leHBpcmVfYmVoYXZpb3I7XG4gIGlmIChwYXlsb2FkLmV4cGlyZV9ncmFjZV9wZXJpb2QpIGludGVncmF0aW9uLmV4cGlyZUdyYWNlUGVyaW9kID0gcGF5bG9hZC5leHBpcmVfZ3JhY2VfcGVyaW9kO1xuICBpZiAocGF5bG9hZC51c2VyKSBpbnRlZ3JhdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKTtcbiAgaWYgKHBheWxvYWQuYWNjb3VudCkgaW50ZWdyYXRpb24uYWNjb3VudCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZWdyYXRpb25BY2NvdW50KGJvdCwgcGF5bG9hZC5hY2NvdW50KTtcbiAgaWYgKHBheWxvYWQuc3luY2VkX2F0KSBpbnRlZ3JhdGlvbi5zeW5jZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5zeW5jZWRfYXQpO1xuICBpZiAocGF5bG9hZC5zdWJzY3JpYmVyX2NvdW50KSBpbnRlZ3JhdGlvbi5zdWJzY3JpYmVyQ291bnQgPSBwYXlsb2FkLnN1YnNjcmliZXJfY291bnQ7XG4gIGlmIChwYXlsb2FkLnJldm9rZWQpIGludGVncmF0aW9uLnJldm9rZWQgPSBwYXlsb2FkLnJldm9rZWQ7XG4gIGlmIChwYXlsb2FkLmFwcGxpY2F0aW9uKSBpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZWdyYXRpb25BcHBsaWNhdGlvbihib3QsIHBheWxvYWQuYXBwbGljYXRpb24pO1xuICBpZiAocGF5bG9hZC5zY29wZXMpIGludGVncmF0aW9uLnNjb3BlcyA9IHBheWxvYWQuc2NvcGVzO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZWdyYXRpb24nLCBib3QsIHBheWxvYWQsIGludGVncmF0aW9uLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb25BY2NvdW50KGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRJbnRlZ3JhdGlvbkFjY291bnQ+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBpbnRlZ3JhdGlvbkFjY291bnQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlZ3JhdGlvbkFjY291bnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocGF5bG9hZC5pZCAhPT0gdW5kZWZpbmVkKSBpbnRlZ3JhdGlvbkFjY291bnQuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHBheWxvYWQubmFtZSAhPT0gdW5kZWZpbmVkKSBpbnRlZ3JhdGlvbkFjY291bnQubmFtZSA9IHBheWxvYWQubmFtZTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2ludGVncmF0aW9uQWNjb3VudCcsIGJvdCwgcGF5bG9hZCwgaW50ZWdyYXRpb25BY2NvdW50LCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZWdyYXRpb25BcHBsaWNhdGlvbihib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZWdyYXRpb25BcHBsaWNhdGlvbj4sIGV4dHJhPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IGludGVncmF0aW9uQXBwbGljYXRpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlZ3JhdGlvbkFwcGxpY2F0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHBheWxvYWQuaWQgIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpO1xuICBpZiAocGF5bG9hZC5uYW1lICE9PSB1bmRlZmluZWQpIGludGVncmF0aW9uQXBwbGljYXRpb24ubmFtZSA9IHBheWxvYWQubmFtZTtcbiAgaWYgKHBheWxvYWQuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5kZXNjcmlwdGlvbiA9IHBheWxvYWQuZGVzY3JpcHRpb247XG4gIGlmIChwYXlsb2FkLmljb24gIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5pY29uID0gcGF5bG9hZC5pY29uID8gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmljb24pIDogdW5kZWZpbmVkO1xuICBpZiAocGF5bG9hZC5ib3QgIT09IHVuZGVmaW5lZCkgaW50ZWdyYXRpb25BcHBsaWNhdGlvbi5ib3QgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmJvdCk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uJywgYm90LCBwYXlsb2FkLCBpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbImljb25IYXNoVG9CaWdJbnQiLCJjYWxsQ3VzdG9taXplciIsInRyYW5zZm9ybUludGVncmF0aW9uIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiaW50ZWdyYXRpb24iLCJndWlsZF9pZCIsImd1aWxkSWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJpZCIsIm5hbWUiLCJ0eXBlIiwiZW5hYmxlZCIsInN5bmNpbmciLCJyb2xlX2lkIiwicm9sZUlkIiwiZW5hYmxlX2Vtb3RpY29ucyIsImVuYWJsZUVtb3RpY29ucyIsImV4cGlyZV9iZWhhdmlvciIsInVuZGVmaW5lZCIsImV4cGlyZUJlaGF2aW9yIiwiZXhwaXJlX2dyYWNlX3BlcmlvZCIsImV4cGlyZUdyYWNlUGVyaW9kIiwidXNlciIsImFjY291bnQiLCJpbnRlZ3JhdGlvbkFjY291bnQiLCJzeW5jZWRfYXQiLCJzeW5jZWRBdCIsIkRhdGUiLCJwYXJzZSIsInN1YnNjcmliZXJfY291bnQiLCJzdWJzY3JpYmVyQ291bnQiLCJyZXZva2VkIiwiYXBwbGljYXRpb24iLCJpbnRlZ3JhdGlvbkFwcGxpY2F0aW9uIiwic2NvcGVzIiwicGFydGlhbCIsInRyYW5zZm9ybUludGVncmF0aW9uQWNjb3VudCIsInRyYW5zZm9ybUludGVncmF0aW9uQXBwbGljYXRpb24iLCJkZXNjcmlwdGlvbiIsImljb24iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGdCQUFnQixRQUFRLG9CQUFvQjtBQUdy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
@@ -7,7 +7,9 @@ export declare function transformInteraction(bot: Bot, payload: Partial<DiscordI
7
7
  shardId?: number;
8
8
  partial?: boolean;
9
9
  }): any;
10
- export declare function transformInteractionDataOption(bot: Bot, option: DiscordInteractionDataOption): any;
10
+ export declare function transformInteractionDataOption(bot: Bot, option: Partial<DiscordInteractionDataOption>, extra?: {
11
+ partial?: boolean;
12
+ }): any;
11
13
  export declare function transformInteractionDataResolved(bot: Bot, payload: Partial<DiscordInteractionDataResolved>, extra?: {
12
14
  shardId?: number;
13
15
  guildId?: BigString;
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/transformers/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAIhC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,iBAAiB,EAAiC,MAAM,yBAAyB,CAAC;AAEtJ,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,SAAS,CA8GpI,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAkEnI;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,4BAA4B,OAU5F;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAChD,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OA+ErE;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,kCAAkC,CAAC,EACpD,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAahD;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAcjI;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAC5C,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAahD"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/transformers/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,0BAA0B,EAIhC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,iBAAiB,EAAiC,MAAM,yBAAyB,CAAC;AAEtJ,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,CAAC,SAAS,CA8GpI,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAkEnI;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAYpI;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAChD,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OA+ErE;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,kCAAkC,CAAC,EACpD,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAahD;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAcjI;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,EAC5C,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAahD"}
@@ -145,7 +145,7 @@ export function transformInteraction(bot, payload, extra) {
145
145
  shardId: extra?.shardId,
146
146
  guildId
147
147
  }) : undefined,
148
- options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
148
+ options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOption(bot, opt)),
149
149
  targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined
150
150
  };
151
151
  }
@@ -154,15 +154,16 @@ export function transformInteraction(bot, payload, extra) {
154
154
  partial: extra?.partial ?? false
155
155
  });
156
156
  }
157
- export function transformInteractionDataOption(bot, option) {
158
- const opt = {
159
- name: option.name,
160
- type: option.type,
161
- value: option.value,
162
- options: option.options,
163
- focused: option.focused
164
- };
165
- return bot.transformers.customizers.interactionDataOptions(bot, option, opt);
157
+ export function transformInteractionDataOption(bot, option, extra) {
158
+ const interactionDataOption = {};
159
+ if (option.name) interactionDataOption.name = option.name;
160
+ if (option.type) interactionDataOption.type = option.type;
161
+ if (option.value !== undefined) interactionDataOption.value = option.value;
162
+ if (option.options) interactionDataOption.options = option.options.map((opt)=>bot.transformers.interactionDataOption(bot, opt));
163
+ if (option.focused !== undefined) interactionDataOption.focused = option.focused;
164
+ return callCustomizer('interactionDataOption', bot, option, interactionDataOption, {
165
+ partial: extra?.partial ?? false
166
+ });
166
167
  }
167
168
  export function transformInteractionDataResolved(bot, payload, extra) {
168
169
  const transformed = {};
@@ -282,4 +283,4 @@ export function transformInteractionResource(bot, payload, extra) {
282
283
  });
283
284
  }
284
285
 
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCaWdTdHJpbmcsXG4gIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbCB9IGZyb20gJy4uL2NvbW1hbmRPcHRpb25zUGFyc2VyLmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY2FsbEN1c3RvbWl6ZXIgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gQXNzdW1lIHdlIGhhdmUgYWxsIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhpcyBvciBlbHNlIHR5cGVzY3JpcHQgd2lsbCBnZXQgdmVyeSBjb25mdXNlZCBmb3IgdGhlIHJldHVybiB0eXBlcyBvZiB0aGVzZSBmdW5jdGlvbnMuXG4vLyBUaGlzIGlzIHVzZWQgYXMgYSBwcm90b3R5cGUsIHNvIHRoZSBhY3R1YWwgdHlwZSB3aXRoIHRoZSB1c2VyIGRlc2lyZWQgcHJvcGVydGllcyB3aWxsIGJlIHNldCBsYXRlci5cbmV4cG9ydCBjb25zdCBiYXNlSW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+ID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+KSxcblxuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlO1xuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9O1xuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHR5cGUsIHVzZSBpdFxuICAgIGlmIChvcHRpb25zPy50eXBlKSB0eXBlID0gb3B0aW9ucy50eXBlO1xuICAgIC8vIE90aGVyd2lzZSwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGVsc2Uge1xuICAgICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsO1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0O1xuICAgIH1cblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKTtcblxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkge1xuICAgICAgcmVzcG9uc2UuZmxhZ3MgPz89IDA7XG4gICAgICByZXNwb25zZS5mbGFncyB8PSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsO1xuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5zZW5kRm9sbG93dXBNZXNzYWdlKHJlc3BvbnNlKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHsgdHlwZSwgZGF0YTogcmVzcG9uc2UgfSxcbiAgICAgIHsgd2l0aFJlc3BvbnNlOiBvcHRpb25zPy53aXRoUmVzcG9uc2UgfSxcbiAgICApO1xuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuICBhc3luYyBzZW5kRm9sbG93dXBNZXNzYWdlKHJlc3BvbnNlKSB7XG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSk7XG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKTtcblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYSBzdHJpbmcsIGNoYW5nZSBpdCB0byBhIHJlc3BvbnNlIG9iamVjdFxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnKSByZXNwb25zZSA9IHsgY29udGVudDogcmVzcG9uc2UgfTtcblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCwgcmVzcG9uc2UpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgICAgdGhpcy5pZCxcbiAgICAgICAgdGhpcy50b2tlbixcbiAgICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuVXBkYXRlTWVzc2FnZSwgZGF0YTogcmVzcG9uc2UgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICk7XG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWU7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpO1xuICB9LFxuICBhc3luYyBkZWZlckVkaXQob3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKTtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpO1xuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgIHRoaXMuaWQsXG4gICAgICB0aGlzLnRva2VuLFxuICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZsYWdzOiBpc1ByaXZhdGUgPyBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWU7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSxcbiAgYXN5bmMgZGVsZXRlKG1lc3NhZ2VJZCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWxldGUgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJyk7XG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCk7XG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pO1xuICB9LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRJbnRlcmFjdGlvbj4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbjtcbiAgY29uc3QgaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbik7XG5cbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSA6IHVuZGVmaW5lZDtcbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90O1xuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZTtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy50b2tlbiAmJiBwYXlsb2FkLnRva2VuKSBpbnRlcmFjdGlvbi50b2tlbiA9IHBheWxvYWQudG9rZW47XG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvbjtcbiAgaWYgKHByb3BzLmxvY2FsZSAmJiBwYXlsb2FkLmxvY2FsZSkgaW50ZXJhY3Rpb24ubG9jYWxlID0gcGF5bG9hZC5sb2NhbGU7XG4gIGlmIChwcm9wcy5ndWlsZExvY2FsZSAmJiBwYXlsb2FkLmd1aWxkX2xvY2FsZSkgaW50ZXJhY3Rpb24uZ3VpbGRMb2NhbGUgPSBwYXlsb2FkLmd1aWxkX2xvY2FsZTtcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuZ3VpbGQpIGludGVyYWN0aW9uLmd1aWxkID0gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHBheWxvYWQuZ3VpbGQsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMudXNlcikge1xuICAgIGlmIChwYXlsb2FkLm1lbWJlcj8udXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyKTtcbiAgICBlbHNlIGlmIChwYXlsb2FkLnVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpO1xuICB9XG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmFwcF9wZXJtaXNzaW9ucykgaW50ZXJhY3Rpb24uYXBwUGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcF9wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLmNoYW5uZWwgJiYgcGF5bG9hZC5jaGFubmVsKSBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC5jaGFubmVsLCB7IGd1aWxkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMubWVtYmVyICYmIGd1aWxkSWQgJiYgcGF5bG9hZC5tZW1iZXIpXG4gICAgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwge1xuICAgICAgZ3VpbGRJZCxcbiAgICAgIHVzZXJJZDogcGF5bG9hZC5tZW1iZXI/LnVzZXIuaWQgPz8gcGF5bG9hZC51c2VyPy5pZCxcbiAgICB9KTtcbiAgaWYgKHByb3BzLmVudGl0bGVtZW50cyAmJiBwYXlsb2FkLmVudGl0bGVtZW50cykgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpO1xuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyAmJiBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycykge1xuICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fTtcblxuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKTtcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKTtcbiAgfVxuICBpZiAocHJvcHMuY29udGV4dCAmJiBwYXlsb2FkLmNvbnRleHQpIGludGVyYWN0aW9uLmNvbnRleHQgPSBwYXlsb2FkLmNvbnRleHQ7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50U2l6ZUxpbWl0ICYmIHBheWxvYWQuYXR0YWNobWVudF9zaXplX2xpbWl0KSBpbnRlcmFjdGlvbi5hdHRhY2htZW50U2l6ZUxpbWl0ID0gcGF5bG9hZC5hdHRhY2htZW50X3NpemVfbGltaXQ7XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWRcbiAgICAgICAgPyBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHQpKSxcbiAgICAgIHRhcmdldElkOiBwYXlsb2FkLmRhdGEudGFyZ2V0X2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLnRhcmdldF9pZCkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZXJhY3Rpb24nLCBib3QsIHBheWxvYWQsIGludGVyYWN0aW9uLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pIHtcbiAgY29uc3Qgb3B0ID0ge1xuICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxuICAgIHR5cGU6IG9wdGlvbi50eXBlLFxuICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgb3B0aW9uczogb3B0aW9uLm9wdGlvbnMsXG4gICAgZm9jdXNlZDogb3B0aW9uLmZvY3VzZWQsXG4gIH0gYXMgSW50ZXJhY3Rpb25EYXRhT3B0aW9uO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbnMoYm90LCBvcHRpb24sIG9wdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkPixcbiAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXI7IGd1aWxkSWQ/OiBCaWdTdHJpbmc7IHBhcnRpYWw/OiBib29sZWFuIH0sXG4pIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uRGF0YVJlc29sdmVkLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+ID0ge307XG5cbiAgaWYgKHBheWxvYWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5tZXNzYWdlcykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLCBwYXJ0aWFsOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSk7XG5cbiAgICAgICAgcmV0dXJuIFtpZCwgbWVzc2FnZV07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaWYgKHBheWxvYWQudXNlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC51c2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC51c2VycykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHZhbHVlKTtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpO1xuXG4gICAgICAgIHJldHVybiBbaWQsIHVzZXJdO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGlmIChleHRyYT8uZ3VpbGRJZCAmJiBwYXlsb2FkLm1lbWJlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZW1iZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLm1lbWJlcnMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgdmFsdWUsIHtcbiAgICAgICAgICBndWlsZElkOiBleHRyYS5ndWlsZElkLFxuICAgICAgICAgIHVzZXJJZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KSxcbiAgICAgICAgICBwYXJ0aWFsOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpO1xuXG4gICAgICAgIHJldHVybiBbaWQsIG1lbWJlcl07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaWYgKGV4dHJhPy5ndWlsZElkICYmIHBheWxvYWQucm9sZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5yb2xlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5yb2xlcykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3Qgcm9sZSA9IGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHZhbHVlLCB7IGd1aWxkSWQ6IGV4dHJhLmd1aWxkSWQgfSk7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KTtcblxuICAgICAgICByZXR1cm4gW2lkLCByb2xlXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBpZiAocGF5bG9hZC5jaGFubmVscykge1xuICAgIHRyYW5zZm9ybWVkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLmNoYW5uZWxzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBjaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgdmFsdWUsIHsgcGFydGlhbDogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpO1xuXG4gICAgICAgIHJldHVybiBbaWQsIGNoYW5uZWwgYXMgSW50ZXJhY3Rpb25SZXNvbHZlZERhdGFDaGFubmVsPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT5dO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmF0dGFjaG1lbnRzKSB7XG4gICAgdHJhbnNmb3JtZWQuYXR0YWNobWVudHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQuYXR0YWNobWVudHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KTtcbiAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gW2lkLCBhdHRhY2htZW50XTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2ludGVyYWN0aW9uRGF0YVJlc29sdmVkJywgYm90LCBwYXlsb2FkLCB0cmFuc2Zvcm1lZCwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIGd1aWxkSWQ6IGV4dHJhPy5ndWlsZElkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZXh0cmEuZ3VpbGRJZCkgOiB1bmRlZmluZWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlKFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlPixcbiAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXI7IHBhcnRpYWw/OiBib29sZWFuIH0sXG4pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTtcbiAgY29uc3QgcmVzcG9uc2UgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaW50ZXJhY3Rpb24gJiYgcGF5bG9hZC5pbnRlcmFjdGlvbikgcmVzcG9uc2UuaW50ZXJhY3Rpb24gPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uQ2FsbGJhY2soYm90LCBwYXlsb2FkLmludGVyYWN0aW9uKTtcbiAgaWYgKHByb3BzLnJlc291cmNlICYmIHBheWxvYWQucmVzb3VyY2UpXG4gICAgcmVzcG9uc2UucmVzb3VyY2UgPSBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uUmVzb3VyY2UoYm90LCBwYXlsb2FkLnJlc291cmNlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlJywgYm90LCBwYXlsb2FkLCByZXNwb25zZSwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2soYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2s+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFjaztcbiAgY29uc3QgY2FsbGJhY2sgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNhbGxiYWNrLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2FsbGJhY2sudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmFjdGl2aXR5SW5zdGFuY2VJZCAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkKSBjYWxsYmFjay5hY3Rpdml0eUluc3RhbmNlSWQgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlX2lkO1xuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlSWQgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9pZCk7XG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCkgY2FsbGJhY2sucmVzcG9uc2VNZXNzYWdlRXBoZW1lcmFsID0gcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbDtcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgJiYgcGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2xvYWRpbmcpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUxvYWRpbmcgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZztcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2ludGVyYWN0aW9uQ2FsbGJhY2snLCBib3QsIHBheWxvYWQsIGNhbGxiYWNrLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZShcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2U+LFxuICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSxcbikge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25SZXNvdXJjZTtcbiAgY29uc3QgcmVzb3VyY2UgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvblJlc291cmNlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSByZXNvdXJjZS50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuYWN0aXZpdHlJbnN0YW5jZSAmJiBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlKSByZXNvdXJjZS5hY3Rpdml0eUluc3RhbmNlID0gcGF5bG9hZC5hY3Rpdml0eV9pbnN0YW5jZTtcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKSByZXNvdXJjZS5tZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5tZXNzYWdlLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZXJhY3Rpb25SZXNvdXJjZScsIGJvdCwgcGF5bG9hZCwgcmVzb3VyY2UsIHtcbiAgICBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCxcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzIiwiSW50ZXJhY3Rpb25UeXBlcyIsIk1lc3NhZ2VGbGFncyIsIkNvbGxlY3Rpb24iLCJjYWxsQ3VzdG9taXplciIsImJhc2VJbnRlcmFjdGlvbiIsInVuZGVmaW5lZCIsInJlc3BvbmQiLCJyZXNwb25zZSIsIm9wdGlvbnMiLCJ0eXBlIiwiQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlIiwiY29udGVudCIsInRpdGxlIiwiTW9kYWwiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUiLCJBcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGVSZXN1bHQiLCJNb2RhbFN1Ym1pdCIsIkVycm9yIiwiaXNQcml2YXRlIiwiZmxhZ3MiLCJFcGhlbWVyYWwiLCJhY2tub3dsZWRnZWQiLCJzZW5kRm9sbG93dXBNZXNzYWdlIiwicmVzdWx0IiwiYm90IiwiaGVscGVycyIsInNlbmRJbnRlcmFjdGlvblJlc3BvbnNlIiwiaWQiLCJ0b2tlbiIsImRhdGEiLCJ3aXRoUmVzcG9uc2UiLCJlZGl0IiwibWVzc2FnZUlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsIk1lc3NhZ2VDb21wb25lbnQiLCJVcGRhdGVNZXNzYWdlIiwiZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsImRlZmVyRWRpdCIsIkRlZmVycmVkVXBkYXRlTWVzc2FnZSIsImRlZmVyIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJkZWxldGUiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInBheWxvYWQiLCJleHRyYSIsInByb3BzIiwidHJhbnNmb3JtZXJzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJpbnRlcmFjdGlvbiIsIk9iamVjdCIsImNyZWF0ZSIsImd1aWxkSWQiLCJndWlsZF9pZCIsInNub3dmbGFrZSIsImFwcGxpY2F0aW9uSWQiLCJhcHBsaWNhdGlvbl9pZCIsInZlcnNpb24iLCJsb2NhbGUiLCJndWlsZExvY2FsZSIsImd1aWxkX2xvY2FsZSIsImd1aWxkIiwic2hhcmRJZCIsInBhcnRpYWwiLCJ1c2VyIiwibWVtYmVyIiwiYXBwUGVybWlzc2lvbnMiLCJhcHBfcGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsImNoYW5uZWxfaWQiLCJ1c2VySWQiLCJlbnRpdGxlbWVudHMiLCJtYXAiLCJlIiwiZW50aXRsZW1lbnQiLCJhdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzIiwiYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzIiwiR3VpbGRJbnN0YWxsIiwiVXNlckluc3RhbGwiLCJjb250ZXh0IiwiYXR0YWNobWVudFNpemVMaW1pdCIsImF0dGFjaG1lbnRfc2l6ZV9saW1pdCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsImludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uIiwib3B0aW9uIiwidmFsdWUiLCJmb2N1c2VkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCIsInRyYW5zZm9ybWVkIiwibWVzc2FnZXMiLCJlbnRyaWVzIiwia2V5IiwidXNlcnMiLCJtZW1iZXJzIiwicm9sZXMiLCJyb2xlIiwiY2hhbm5lbHMiLCJhdHRhY2htZW50cyIsImF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkNhbGxiYWNrIiwicmVzb3VyY2UiLCJpbnRlcmFjdGlvblJlc291cmNlIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsImNhbGxiYWNrIiwiYWN0aXZpdHlJbnN0YW5jZUlkIiwiYWN0aXZpdHlfaW5zdGFuY2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VJZCIsInJlc3BvbnNlX21lc3NhZ2VfaWQiLCJyZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwiLCJyZXNwb25zZV9tZXNzYWdlX2VwaGVtZXJhbCIsInJlc3BvbnNlTWVzc2FnZUxvYWRpbmciLCJyZXNwb25zZV9tZXNzYWdlX2xvYWRpbmciLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5X2luc3RhbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUVFQSxpQ0FBaUMsRUFPakNDLHdCQUF3QixFQUN4QkMsZ0JBQWdCLEVBQ2hCQyxZQUFZLFFBQ1Asb0JBQW9CO0FBQzNCLFNBQVNDLFVBQVUsUUFBUSxvQkFBb0I7QUFJL0MsU0FBU0MsY0FBYyxRQUFRLHFCQUFxQjtBQVVwRCxvSUFBb0k7QUFDcEksc0dBQXNHO0FBQ3RHLE9BQU8sTUFBTUMsa0JBQTRIO0lBQ3ZJLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsTUFBTUMsU0FBUUMsUUFBUSxFQUFFQyxPQUFPO1FBQzdCLElBQUlDLE9BQU9WLHlCQUF5Qlcsd0JBQXdCO1FBRTVELDREQUE0RDtRQUM1RCxJQUFJLE9BQU9ILGFBQWEsVUFBVUEsV0FBVztZQUFFSSxTQUFTSjtRQUFTO1FBRWpFLGtDQUFrQztRQUNsQyxJQUFJ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
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCaWdTdHJpbmcsXG4gIERpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHlwZSBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IEludGVyYWN0aW9uUmVzb2x2ZWREYXRhQ2hhbm5lbCB9IGZyb20gJy4uL2NvbW1hbmRPcHRpb25zUGFyc2VyLmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcGxldGVEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvciwgU2V0dXBEZXNpcmVkUHJvcHMsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vZGVzaXJlZFByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY2FsbEN1c3RvbWl6ZXIgfSBmcm9tICcuLi90cmFuc2Zvcm1lcnMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gQXNzdW1lIHdlIGhhdmUgYWxsIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhpcyBvciBlbHNlIHR5cGVzY3JpcHQgd2lsbCBnZXQgdmVyeSBjb25mdXNlZCBmb3IgdGhlIHJldHVybiB0eXBlcyBvZiB0aGVzZSBmdW5jdGlvbnMuXG4vLyBUaGlzIGlzIHVzZWQgYXMgYSBwcm90b3R5cGUsIHNvIHRoZSBhY3R1YWwgdHlwZSB3aXRoIHRoZSB1c2VyIGRlc2lyZWQgcHJvcGVydGllcyB3aWxsIGJlIHNldCBsYXRlci5cbmV4cG9ydCBjb25zdCBiYXNlSW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+ID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBDb21wbGV0ZURlc2lyZWRQcm9wZXJ0aWVzPHt9LCB0cnVlPiwgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvci5SZW1vdmVLZXk+KSxcblxuICBhc3luYyByZXNwb25kKHJlc3BvbnNlLCBvcHRpb25zKSB7XG4gICAgbGV0IHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlO1xuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9O1xuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHR5cGUsIHVzZSBpdFxuICAgIGlmIChvcHRpb25zPy50eXBlKSB0eXBlID0gb3B0aW9ucy50eXBlO1xuICAgIC8vIE90aGVyd2lzZSwgZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBhbiBhdXRvY29tcGxldGUgb3IgYSBtb2RhbCByZXNwb25zZVxuICAgIGVsc2Uge1xuICAgICAgaWYgKHJlc3BvbnNlLnRpdGxlKSB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsO1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0O1xuICAgIH1cblxuICAgIC8vIE1vZGFscyBjYW5ub3QgYmUgY2hhaW5lZFxuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQgJiYgdHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLk1vZGFsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcmVzcG9uZCB0byBhIG1vZGFsIGludGVyYWN0aW9uIHdpdGggYW5vdGhlciBtb2RhbC4nKTtcblxuICAgIGlmICh0eXBlID09PSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlICYmIG9wdGlvbnM/LmlzUHJpdmF0ZSkge1xuICAgICAgcmVzcG9uc2UuZmxhZ3MgPz89IDA7XG4gICAgICByZXNwb25zZS5mbGFncyB8PSBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsO1xuICAgIH1cblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5zZW5kRm9sbG93dXBNZXNzYWdlKHJlc3BvbnNlKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEludGVyYWN0aW9uUmVzcG9uc2UoXG4gICAgICB0aGlzLmlkLFxuICAgICAgdGhpcy50b2tlbixcbiAgICAgIHsgdHlwZSwgZGF0YTogcmVzcG9uc2UgfSxcbiAgICAgIHsgd2l0aFJlc3BvbnNlOiBvcHRpb25zPy53aXRoUmVzcG9uc2UgfSxcbiAgICApO1xuICAgIHRoaXMuYWNrbm93bGVkZ2VkID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuICBhc3luYyBzZW5kRm9sbG93dXBNZXNzYWdlKHJlc3BvbnNlKSB7XG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYm90LmhlbHBlcnMuc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuLCByZXNwb25zZSk7XG4gIH0sXG4gIGFzeW5jIGVkaXQocmVzcG9uc2UsIG1lc3NhZ2VJZCwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKTtcblxuICAgIC8vIElmIHVzZXIgcHJvdmlkZXMgYSBzdHJpbmcsIGNoYW5nZSBpdCB0byBhIHJlc3BvbnNlIG9iamVjdFxuICAgIGlmICh0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnKSByZXNwb25zZSA9IHsgY29udGVudDogcmVzcG9uc2UgfTtcblxuICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdD8uaGVscGVycy5lZGl0Rm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCwgcmVzcG9uc2UpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5hY2tub3dsZWRnZWQpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTWVzc2FnZUNvbXBvbmVudCAmJiB0aGlzLnR5cGUgIT09IEludGVyYWN0aW9uVHlwZXMuTW9kYWxTdWJtaXQpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoaXMgaW50ZXJhY3Rpb24gaGFzIG5vdCBiZWVuIHJlc3BvbmRlZCB0byB5ZXQgYW5kIHRoaXMgaXNuJ3QgYSBNZXNzYWdlQ29tcG9uZW50IG9yIE1vZGFsU3VibWl0IGludGVyYWN0aW9uLlwiKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgICAgdGhpcy5pZCxcbiAgICAgICAgdGhpcy50b2tlbixcbiAgICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuVXBkYXRlTWVzc2FnZSwgZGF0YTogcmVzcG9uc2UgfSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICk7XG4gICAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWU7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLmVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy50b2tlbiwgcmVzcG9uc2UpO1xuICB9LFxuICBhc3luYyBkZWZlckVkaXQob3B0aW9ucykge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbi4nKTtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uLicpO1xuXG4gICAgaWYgKHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5NZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMudHlwZSAhPT0gSW50ZXJhY3Rpb25UeXBlcy5Nb2RhbFN1Ym1pdClcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBkZWZlciB0byB0aGVuIGVkaXQgYW4gaW50ZXJhY3Rpb24gdGhhdCBpc24ndCBhIE1lc3NhZ2VDb21wb25lbnQgb3IgTW9kYWxTdWJtaXQgaW50ZXJhY3Rpb24uXCIpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ib3QuaGVscGVycy5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShcbiAgICAgIHRoaXMuaWQsXG4gICAgICB0aGlzLnRva2VuLFxuICAgICAgeyB0eXBlOiBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgdGhpcy5hY2tub3dsZWRnZWQgPSB0cnVlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sXG4gIGFzeW5jIGRlZmVyKGlzUHJpdmF0ZSwgb3B0aW9ucykge1xuICAgIGlmICh0aGlzLmFja25vd2xlZGdlZCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYWxyZWFkeSByZXNwb25kZWQgaW50ZXJhY3Rpb24uJyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmJvdC5oZWxwZXJzLnNlbmRJbnRlcmFjdGlvblJlc3BvbnNlKFxuICAgICAgdGhpcy5pZCxcbiAgICAgIHRoaXMudG9rZW4sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5EZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGZsYWdzOiBpc1ByaXZhdGUgPyBNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWU7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSxcbiAgYXN5bmMgZGVsZXRlKG1lc3NhZ2VJZCkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWxldGUgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJyk7XG5cbiAgICBpZiAobWVzc2FnZUlkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRoaXMudG9rZW4sIG1lc3NhZ2VJZCk7XG4gICAgZWxzZSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LmhlbHBlcnMuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4pO1xuICB9LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRJbnRlcmFjdGlvbj4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbjtcbiAgY29uc3QgaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VJbnRlcmFjdGlvbik7XG5cbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSA6IHVuZGVmaW5lZDtcbiAgaW50ZXJhY3Rpb24uYm90ID0gYm90O1xuICBpbnRlcmFjdGlvbi5hY2tub3dsZWRnZWQgPSBmYWxzZTtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uSWQgJiYgcGF5bG9hZC5hcHBsaWNhdGlvbl9pZCkgaW50ZXJhY3Rpb24uYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy50b2tlbiAmJiBwYXlsb2FkLnRva2VuKSBpbnRlcmFjdGlvbi50b2tlbiA9IHBheWxvYWQudG9rZW47XG4gIGlmIChwcm9wcy52ZXJzaW9uICYmIHBheWxvYWQudmVyc2lvbikgaW50ZXJhY3Rpb24udmVyc2lvbiA9IHBheWxvYWQudmVyc2lvbjtcbiAgaWYgKHByb3BzLmxvY2FsZSAmJiBwYXlsb2FkLmxvY2FsZSkgaW50ZXJhY3Rpb24ubG9jYWxlID0gcGF5bG9hZC5sb2NhbGU7XG4gIGlmIChwcm9wcy5ndWlsZExvY2FsZSAmJiBwYXlsb2FkLmd1aWxkX2xvY2FsZSkgaW50ZXJhY3Rpb24uZ3VpbGRMb2NhbGUgPSBwYXlsb2FkLmd1aWxkX2xvY2FsZTtcbiAgaWYgKHByb3BzLmd1aWxkICYmIHBheWxvYWQuZ3VpbGQpIGludGVyYWN0aW9uLmd1aWxkID0gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHBheWxvYWQuZ3VpbGQsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gIGlmIChwcm9wcy5ndWlsZElkICYmIGd1aWxkSWQpIGludGVyYWN0aW9uLmd1aWxkSWQgPSBndWlsZElkO1xuICBpZiAocHJvcHMudXNlcikge1xuICAgIGlmIChwYXlsb2FkLm1lbWJlcj8udXNlcikgaW50ZXJhY3Rpb24udXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyKTtcbiAgICBlbHNlIGlmIChwYXlsb2FkLnVzZXIpIGludGVyYWN0aW9uLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpO1xuICB9XG4gIGlmIChwcm9wcy5hcHBQZXJtaXNzaW9ucyAmJiBwYXlsb2FkLmFwcF9wZXJtaXNzaW9ucykgaW50ZXJhY3Rpb24uYXBwUGVybWlzc2lvbnMgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcF9wZXJtaXNzaW9ucyk7XG4gIGlmIChwcm9wcy5tZXNzYWdlICYmIHBheWxvYWQubWVzc2FnZSkgaW50ZXJhY3Rpb24ubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLmNoYW5uZWwgJiYgcGF5bG9hZC5jaGFubmVsKSBpbnRlcmFjdGlvbi5jaGFubmVsID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC5jaGFubmVsLCB7IGd1aWxkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMubWVtYmVyICYmIGd1aWxkSWQgJiYgcGF5bG9hZC5tZW1iZXIpXG4gICAgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwge1xuICAgICAgZ3VpbGRJZCxcbiAgICAgIHVzZXJJZDogcGF5bG9hZC5tZW1iZXI/LnVzZXIuaWQgPz8gcGF5bG9hZC51c2VyPy5pZCxcbiAgICB9KTtcbiAgaWYgKHByb3BzLmVudGl0bGVtZW50cyAmJiBwYXlsb2FkLmVudGl0bGVtZW50cykgaW50ZXJhY3Rpb24uZW50aXRsZW1lbnRzID0gcGF5bG9hZC5lbnRpdGxlbWVudHMubWFwKChlKSA9PiBib3QudHJhbnNmb3JtZXJzLmVudGl0bGVtZW50KGJvdCwgZSkpO1xuICBpZiAocHJvcHMuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVycyAmJiBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVycykge1xuICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgPSB7fTtcblxuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddKVxuICAgICAgaW50ZXJhY3Rpb24uYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuR3VpbGRJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMCddLFxuICAgICAgKTtcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIGludGVyYWN0aW9uLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKTtcbiAgfVxuICBpZiAocHJvcHMuY29udGV4dCAmJiBwYXlsb2FkLmNvbnRleHQpIGludGVyYWN0aW9uLmNvbnRleHQgPSBwYXlsb2FkLmNvbnRleHQ7XG4gIGlmIChwcm9wcy5hdHRhY2htZW50U2l6ZUxpbWl0ICYmIHBheWxvYWQuYXR0YWNobWVudF9zaXplX2xpbWl0KSBpbnRlcmFjdGlvbi5hdHRhY2htZW50U2l6ZUxpbWl0ID0gcGF5bG9hZC5hdHRhY2htZW50X3NpemVfbGltaXQ7XG4gIGlmIChwcm9wcy5kYXRhICYmIHBheWxvYWQuZGF0YSkge1xuICAgIGludGVyYWN0aW9uLmRhdGEgPSB7XG4gICAgICB0eXBlOiBwYXlsb2FkLmRhdGEudHlwZSxcbiAgICAgIGNvbXBvbmVudFR5cGU6IHBheWxvYWQuZGF0YS5jb21wb25lbnRfdHlwZSxcbiAgICAgIGN1c3RvbUlkOiBwYXlsb2FkLmRhdGEuY3VzdG9tX2lkLFxuICAgICAgY29tcG9uZW50czogcGF5bG9hZC5kYXRhLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpLFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLmRhdGEudmFsdWVzLFxuICAgICAgaWQ6IHBheWxvYWQuZGF0YS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICBuYW1lOiBwYXlsb2FkLmRhdGEubmFtZSxcbiAgICAgIHJlc29sdmVkOiBwYXlsb2FkLmRhdGEucmVzb2x2ZWRcbiAgICAgICAgPyBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLCBndWlsZElkIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9uczogcGF5bG9hZC5kYXRhLm9wdGlvbnM/Lm1hcCgob3B0KSA9PiBib3QudHJhbnNmb3JtZXJzLmludGVyYWN0aW9uRGF0YU9wdGlvbihib3QsIG9wdCkpLFxuICAgICAgdGFyZ2V0SWQ6IHBheWxvYWQuZGF0YS50YXJnZXRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmRhdGEudGFyZ2V0X2lkKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdpbnRlcmFjdGlvbicsIGJvdCwgcGF5bG9hZCwgaW50ZXJhY3Rpb24sIHtcbiAgICBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCxcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24oYm90OiBCb3QsIG9wdGlvbjogUGFydGlhbDxEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgaW50ZXJhY3Rpb25EYXRhT3B0aW9uID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25EYXRhT3B0aW9uLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKG9wdGlvbi5uYW1lKSBpbnRlcmFjdGlvbkRhdGFPcHRpb24ubmFtZSA9IG9wdGlvbi5uYW1lO1xuICBpZiAob3B0aW9uLnR5cGUpIGludGVyYWN0aW9uRGF0YU9wdGlvbi50eXBlID0gb3B0aW9uLnR5cGU7XG4gIGlmIChvcHRpb24udmFsdWUgIT09IHVuZGVmaW5lZCkgaW50ZXJhY3Rpb25EYXRhT3B0aW9uLnZhbHVlID0gb3B0aW9uLnZhbHVlO1xuICBpZiAob3B0aW9uLm9wdGlvbnMpIGludGVyYWN0aW9uRGF0YU9wdGlvbi5vcHRpb25zID0gb3B0aW9uLm9wdGlvbnMubWFwKChvcHQpID0+IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdCwgb3B0KSk7XG4gIGlmIChvcHRpb24uZm9jdXNlZCAhPT0gdW5kZWZpbmVkKSBpbnRlcmFjdGlvbkRhdGFPcHRpb24uZm9jdXNlZCA9IG9wdGlvbi5mb2N1c2VkO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZXJhY3Rpb25EYXRhT3B0aW9uJywgYm90LCBvcHRpb24sIGludGVyYWN0aW9uRGF0YU9wdGlvbiwge1xuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkKFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ+LFxuICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgZ3VpbGRJZD86IEJpZ1N0cmluZzsgcGFydGlhbD86IGJvb2xlYW4gfSxcbikge1xuICBjb25zdCB0cmFuc2Zvcm1lZDogU2V0dXBEZXNpcmVkUHJvcHM8SW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT4gPSB7fTtcblxuICBpZiAocGF5bG9hZC5tZXNzYWdlcykge1xuICAgIHRyYW5zZm9ybWVkLm1lc3NhZ2VzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLm1lc3NhZ2VzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgdmFsdWUsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IGlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2Uoa2V5KTtcblxuICAgICAgICByZXR1cm4gW2lkLCBtZXNzYWdlXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBpZiAocGF5bG9hZC51c2Vycykge1xuICAgIHRyYW5zZm9ybWVkLnVzZXJzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnVzZXJzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdmFsdWUpO1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSk7XG5cbiAgICAgICAgcmV0dXJuIFtpZCwgdXNlcl07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaWYgKGV4dHJhPy5ndWlsZElkICYmIHBheWxvYWQubWVtYmVycykge1xuICAgIHRyYW5zZm9ybWVkLm1lbWJlcnMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQubWVtYmVycykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCB2YWx1ZSwge1xuICAgICAgICAgIGd1aWxkSWQ6IGV4dHJhLmd1aWxkSWQsXG4gICAgICAgICAgdXNlcklkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpLFxuICAgICAgICAgIHBhcnRpYWw6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSk7XG5cbiAgICAgICAgcmV0dXJuIFtpZCwgbWVtYmVyXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBpZiAoZXh0cmE/Lmd1aWxkSWQgJiYgcGF5bG9hZC5yb2xlcykge1xuICAgIHRyYW5zZm9ybWVkLnJvbGVzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhwYXlsb2FkLnJvbGVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCByb2xlID0gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgdmFsdWUsIHsgZ3VpbGRJZDogZXh0cmEuZ3VpbGRJZCB9KTtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpO1xuXG4gICAgICAgIHJldHVybiBbaWQsIHJvbGVdO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwYXlsb2FkLmNoYW5uZWxzKSB7XG4gICAgdHJhbnNmb3JtZWQuY2hhbm5lbHMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBheWxvYWQuY2hhbm5lbHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB2YWx1ZSwgeyBwYXJ0aWFsOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBpZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGtleSk7XG5cbiAgICAgICAgcmV0dXJuIFtpZCwgY2hhbm5lbCBhcyBJbnRlcmFjdGlvblJlc29sdmVkRGF0YUNoYW5uZWw8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5Pl07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgaWYgKHBheWxvYWQuYXR0YWNobWVudHMpIHtcbiAgICB0cmFuc2Zvcm1lZC5hdHRhY2htZW50cyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocGF5bG9hZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpO1xuICAgICAgICBjb25zdCBhdHRhY2htZW50ID0gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgdmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBbaWQsIGF0dGFjaG1lbnRdO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQnLCBib3QsIHBheWxvYWQsIHRyYW5zZm9ybWVkLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgZ3VpbGRJZDogZXh0cmE/Lmd1aWxkSWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShleHRyYS5ndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U+LFxuICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSxcbikge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlO1xuICBjb25zdCByZXNwb25zZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uKSByZXNwb25zZS5pbnRlcmFjdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25DYWxsYmFjayhib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24pO1xuICBpZiAocHJvcHMucmVzb3VyY2UgJiYgcGF5bG9hZC5yZXNvdXJjZSlcbiAgICByZXNwb25zZS5yZXNvdXJjZSA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25SZXNvdXJjZShib3QsIHBheWxvYWQucmVzb3VyY2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UnLCBib3QsIHBheWxvYWQsIHJlc3BvbnNlLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayhib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjaz4sIGV4dHJhPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvbkNhbGxiYWNrO1xuICBjb25zdCBjYWxsYmFjayA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2ssIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY2FsbGJhY2suaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBjYWxsYmFjay50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuYWN0aXZpdHlJbnN0YW5jZUlkICYmIHBheWxvYWQuYWN0aXZpdHlfaW5zdGFuY2VfaWQpIGNhbGxiYWNrLmFjdGl2aXR5SW5zdGFuY2VJZCA9IHBheWxvYWQuYWN0aXZpdHlfaW5zdGFuY2VfaWQ7XG4gIGlmIChwcm9wcy5yZXNwb25zZU1lc3NhZ2VJZCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfaWQpIGNhbGxiYWNrLnJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5yZXNwb25zZV9tZXNzYWdlX2lkKTtcbiAgaWYgKHByb3BzLnJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsKSBjYWxsYmFjay5yZXNwb25zZU1lc3NhZ2VFcGhlbWVyYWwgPSBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsO1xuICBpZiAocHJvcHMucmVzcG9uc2VNZXNzYWdlTG9hZGluZyAmJiBwYXlsb2FkLnJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZykgY2FsbGJhY2sucmVzcG9uc2VNZXNzYWdlTG9hZGluZyA9IHBheWxvYWQucmVzcG9uc2VfbWVzc2FnZV9sb2FkaW5nO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignaW50ZXJhY3Rpb25DYWxsYmFjaycsIGJvdCwgcGF5bG9hZCwgY2FsbGJhY2ssIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvblJlc291cmNlKFxuICBib3Q6IEJvdCxcbiAgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZT4sXG4gIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBwYXJ0aWFsPzogYm9vbGVhbiB9LFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblJlc291cmNlO1xuICBjb25zdCByZXNvdXJjZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uUmVzb3VyY2UsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHJlc291cmNlLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5hY3Rpdml0eUluc3RhbmNlICYmIHBheWxvYWQuYWN0aXZpdHlfaW5zdGFuY2UpIHJlc291cmNlLmFjdGl2aXR5SW5zdGFuY2UgPSBwYXlsb2FkLmFjdGl2aXR5X2luc3RhbmNlO1xuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpIHJlc291cmNlLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdpbnRlcmFjdGlvblJlc291cmNlJywgYm90LCBwYXlsb2FkLCByZXNvdXJjZSwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUiLCJJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMiLCJJbnRlcmFjdGlvblR5cGVzIiwiTWVzc2FnZUZsYWdzIiwiQ29sbGVjdGlvbiIsImNhbGxDdXN0b21pemVyIiwiYmFzZUludGVyYWN0aW9uIiwidW5kZWZpbmVkIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJpc1ByaXZhdGUiLCJmbGFncyIsIkVwaGVtZXJhbCIsImFja25vd2xlZGdlZCIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJyZXN1bHQiLCJib3QiLCJoZWxwZXJzIiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpZCIsInRva2VuIiwiZGF0YSIsIndpdGhSZXNwb25zZSIsImVkaXQiLCJtZXNzYWdlSWQiLCJlZGl0Rm9sbG93dXBNZXNzYWdlIiwiTWVzc2FnZUNvbXBvbmVudCIsIlVwZGF0ZU1lc3NhZ2UiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXJFZGl0IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiZGVmZXIiLCJEZWZlcnJlZENoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSIsImRlbGV0ZSIsImRlbGV0ZUZvbGxvd3VwTWVzc2FnZSIsImRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwicGF5bG9hZCIsImV4dHJhIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsImludGVyYWN0aW9uIiwiT2JqZWN0IiwiY3JlYXRlIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwic25vd2ZsYWtlIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkTG9jYWxlIiwiZ3VpbGRfbG9jYWxlIiwiZ3VpbGQiLCJzaGFyZElkIiwicGFydGlhbCIsInVzZXIiLCJtZW1iZXIiLCJhcHBQZXJtaXNzaW9ucyIsImFwcF9wZXJtaXNzaW9ucyIsIm1lc3NhZ2UiLCJjaGFubmVsIiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsInVzZXJJZCIsImVudGl0bGVtZW50cyIsIm1hcCIsImUiLCJlbnRpdGxlbWVudCIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsImNvbnRleHQiLCJhdHRhY2htZW50U2l6ZUxpbWl0IiwiYXR0YWNobWVudF9zaXplX2xpbWl0IiwiY29tcG9uZW50VHlwZSIsImNvbXBvbmVudF90eXBlIiwiY3VzdG9tSWQiLCJjdXN0b21faWQiLCJjb21wb25lbnRzIiwiY29tcG9uZW50IiwidmFsdWVzIiwibmFtZSIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJvcHQiLCJpbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJ0YXJnZXRJZCIsInRhcmdldF9pZCIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsIm9wdGlvbiIsInZhbHVlIiwiZm9jdXNlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtZWQiLCJtZXNzYWdlcyIsImVudHJpZXMiLCJrZXkiLCJ1c2VycyIsIm1lbWJlcnMiLCJyb2xlcyIsInJvbGUiLCJjaGFubmVscyIsImF0dGFjaG1lbnRzIiwiYXR0YWNobWVudCIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJyZXNvdXJjZSIsImludGVyYWN0aW9uUmVzb3VyY2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrIiwiY2FsbGJhY2siLCJhY3Rpdml0eUluc3RhbmNlSWQiLCJhY3Rpdml0eV9pbnN0YW5jZV9pZCIsInJlc3BvbnNlTWVzc2FnZUlkIiwicmVzcG9uc2VfbWVzc2FnZV9pZCIsInJlc3BvbnNlTWVzc2FnZUVwaGVtZXJhbCIsInJlc3BvbnNlX21lc3NhZ2VfZXBoZW1lcmFsIiwicmVzcG9uc2VNZXNzYWdlTG9hZGluZyIsInJlc3BvbnNlX21lc3NhZ2VfbG9hZGluZyIsInRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UiLCJhY3Rpdml0eUluc3RhbmNlIiwiYWN0aXZpdHlfaW5zdGFuY2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBRUVBLGlDQUFpQyxFQU9qQ0Msd0JBQXdCLEVBQ3hCQyxnQkFBZ0IsRUFDaEJDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0MsVUFBVSxRQUFRLG9CQUFvQjtBQUkvQyxTQUFTQyxjQUFjLFFBQVEscUJBQXFCO0FBVXBELG9JQUFvSTtBQUNwSSxzR0FBc0c7QUFDdEcsT0FBTyxNQUFNQyxrQkFBNEg7SUFDdkksMkVBQTJFO0lBQzNFLEdBQUlDLFNBQVM7SUFFYixNQUFNQyxTQUFRQyxRQUFRLEVBQUVDLE9BQU87UUFDN0IsSUFBSUMsT0FBT1YseUJBQXlCVyx3QkFBd0I7UUFFNUQsNERBQTREO1FBQzVELElBQUksT0FBT0gsYUFBYSxVQUFVQSxXQUFXO1lBQUVJLFNBQVNKO1FBQVM7UUFFakUsa0NBQWtDO1FBQ2xDLElBQUlDLFNBQVNDLE1BQU1BLE9BQU9ELFFBQVFDLElBQUk7YUFFakM7WUFDSCxJQUFJRixTQUFTSyxLQUFLLEVBQUVILE9BQU9WLHlCQUF5QmMsS0FBSztZQUN6RCxJQUFJLElBQUksQ0FBQ0osSUFBSSxLQUFLVCxpQkFBaUJjLDhCQUE4QixFQUFFTCxPQUFPVix5QkFBeUJnQixvQ0FBb0M7UUFDekk7UUFFQSwyQkFBMkI7UUFDM0IsSUFBSSxJQUFJLENBQUNOLElBQUksS0FBS1QsaUJBQWlCZ0IsV0FBVyxJQUFJUCxTQUFTVix5QkFBeUJjLEtBQUssRUFDdkYsTUFBTSxJQUFJSSxNQUFNO1FBRWxCLElBQUlSLFNBQVNWLHlCQUF5Qlcsd0JBQXdCLElBQUlGLFNBQVNVLFdBQVc7WUFDcEZYLFNBQVNZLEtBQUssS0FBSztZQUNuQlosU0FBU1ksS0FBSyxJQUFJbEIsYUFBYW1CLFNBQVM7UUFDMUM7UUFFQSx5RkFBeUY7UUFDekYsSUFBSSxJQUFJLENBQUNDLFlBQVksRUFBRSxPQUFPLE1BQU0s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
@@ -1,4 +1,4 @@
1
- import type { DiscordLobby, DiscordLobbyInvite, DiscordLobbyMember, DiscordLobbyMessage } from '@discordeno/types';
1
+ import type { DiscordLobby, DiscordLobbyInvite, DiscordLobbyMember, DiscordLobbyMessage, DiscordLobbyMessageLobbyMember } from '@discordeno/types';
2
2
  import type { Bot } from '../bot.js';
3
3
  export declare function transformLobby(bot: Bot, payload: Partial<DiscordLobby>, extra?: {
4
4
  partial?: boolean;
@@ -9,6 +9,9 @@ export declare function transformLobbyMember(bot: Bot, payload: Partial<DiscordL
9
9
  export declare function transformLobbyMessage(bot: Bot, payload: Partial<DiscordLobbyMessage>, extra?: {
10
10
  partial?: boolean;
11
11
  }): any;
12
+ export declare function transformLobbyMessageLobbyMember(bot: Bot, payload: Partial<DiscordLobbyMessageLobbyMember>, extra?: {
13
+ partial?: boolean;
14
+ }): any;
12
15
  export declare function transformLobbyInvite(bot: Bot, payload: Partial<DiscordLobbyInvite>, extra?: {
13
16
  partial?: boolean;
14
17
  }): any;
@@ -1 +1 @@
1
- {"version":3,"file":"lobby.d.ts","sourceRoot":"","sources":["../../src/transformers/lobby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAMrC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAarG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAWjH;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAkBnH;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OASjH"}
1
+ {"version":3,"file":"lobby.d.ts","sourceRoot":"","sources":["../../src/transformers/lobby.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnJ,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAMrC,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAarG;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAYjH;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAmBnH;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OASzI;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OASjH"}