@discordeno/bot 19.0.0-next.b2f65c2 → 19.0.0-next.b567c13

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 (1100) hide show
  1. package/dist/cjs/bot.cjs +72 -0
  2. package/dist/cjs/commandOptionsParser.cjs +49 -0
  3. package/dist/cjs/constants.cjs +22 -0
  4. package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +19 -0
  5. package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +19 -0
  6. package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +19 -0
  7. package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +18 -0
  8. package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +20 -0
  9. package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +20 -0
  10. package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +20 -0
  11. package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +17 -0
  12. package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +17 -0
  13. package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +29 -0
  14. package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +20 -0
  15. package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +20 -0
  16. package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +17 -0
  17. package/dist/cjs/handlers/channels/index.cjs +30 -0
  18. package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +22 -0
  19. package/dist/cjs/handlers/emojis/index.cjs +18 -0
  20. package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +16 -0
  21. package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +15 -0
  22. package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +15 -0
  23. package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +18 -0
  24. package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +19 -0
  25. package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +17 -0
  26. package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +18 -0
  27. package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +18 -0
  28. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +15 -0
  29. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +15 -0
  30. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +15 -0
  31. package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +15 -0
  32. package/dist/cjs/handlers/guilds/automod/index.cjs +21 -0
  33. package/dist/cjs/handlers/guilds/index.cjs +27 -0
  34. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +15 -0
  35. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +15 -0
  36. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +15 -0
  37. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +19 -0
  38. package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +19 -0
  39. package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +22 -0
  40. package/dist/cjs/handlers/index.cjs +29 -0
  41. package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +14 -0
  42. package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +19 -0
  43. package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +14 -0
  44. package/dist/cjs/handlers/integrations/index.cjs +20 -0
  45. package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +15 -0
  46. package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +14 -0
  47. package/dist/cjs/handlers/interactions/index.cjs +19 -0
  48. package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +14 -0
  49. package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +19 -0
  50. package/dist/cjs/handlers/invites/index.cjs +19 -0
  51. package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +28 -0
  52. package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +18 -0
  53. package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +17 -0
  54. package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +16 -0
  55. package/dist/cjs/handlers/members/index.cjs +21 -0
  56. package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +15 -0
  57. package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +19 -0
  58. package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +21 -0
  59. package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +26 -0
  60. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +21 -0
  61. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +19 -0
  62. package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +20 -0
  63. package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +16 -0
  64. package/dist/cjs/handlers/messages/index.cjs +25 -0
  65. package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +14 -0
  66. package/dist/cjs/handlers/misc/READY.cjs +26 -0
  67. package/dist/cjs/handlers/misc/TYPING_START.cjs +23 -0
  68. package/dist/cjs/handlers/misc/USER_UPDATE.cjs +15 -0
  69. package/dist/cjs/handlers/misc/index.cjs +21 -0
  70. package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +18 -0
  71. package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +18 -0
  72. package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +18 -0
  73. package/dist/cjs/handlers/roles/index.cjs +20 -0
  74. package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +19 -0
  75. package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +20 -0
  76. package/dist/cjs/handlers/voice/index.cjs +19 -0
  77. package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +18 -0
  78. package/dist/cjs/handlers/webhooks/index.cjs +18 -0
  79. package/dist/cjs/handlers.cjs +114 -0
  80. package/dist/cjs/helpers.cjs +610 -0
  81. package/dist/cjs/index.cjs +32 -0
  82. package/dist/cjs/optionalize.cjs +7 -0
  83. package/dist/cjs/transformers/activity.cjs +42 -0
  84. package/dist/cjs/transformers/application.cjs +33 -0
  85. package/dist/cjs/transformers/applicationCommand.cjs +27 -0
  86. package/dist/cjs/transformers/applicationCommandOption.cjs +29 -0
  87. package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +18 -0
  88. package/dist/cjs/transformers/applicationCommandPermission.cjs +23 -0
  89. package/dist/cjs/transformers/attachment.cjs +25 -0
  90. package/dist/cjs/transformers/auditLogEntry.cjs +142 -0
  91. package/dist/cjs/transformers/automodActionExecution.cjs +33 -0
  92. package/dist/cjs/transformers/automodRule.cjs +39 -0
  93. package/dist/cjs/transformers/channel.cjs +114 -0
  94. package/dist/cjs/transformers/component.cjs +45 -0
  95. package/dist/cjs/transformers/embed.cjs +52 -0
  96. package/dist/cjs/transformers/emoji.cjs +21 -0
  97. package/dist/cjs/transformers/gatewayBot.cjs +23 -0
  98. package/dist/cjs/transformers/guild.cjs +140 -0
  99. package/dist/cjs/transformers/index.cjs +55 -0
  100. package/dist/cjs/transformers/integration.cjs +42 -0
  101. package/dist/cjs/transformers/interaction.cjs +184 -0
  102. package/dist/cjs/transformers/invite.cjs +48 -0
  103. package/dist/cjs/transformers/member.cjs +42 -0
  104. package/dist/cjs/transformers/message.cjs +229 -0
  105. package/dist/cjs/transformers/presence.cjs +23 -0
  106. package/dist/cjs/transformers/reverse/activity.cjs +51 -0
  107. package/dist/cjs/transformers/reverse/allowedMentions.cjs +18 -0
  108. package/dist/cjs/transformers/reverse/application.cjs +32 -0
  109. package/dist/cjs/transformers/reverse/applicationCommand.cjs +26 -0
  110. package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +28 -0
  111. package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +17 -0
  112. package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +22 -0
  113. package/dist/cjs/transformers/reverse/attachment.cjs +24 -0
  114. package/dist/cjs/transformers/reverse/auditLogEntry.cjs +145 -0
  115. package/dist/cjs/transformers/reverse/component.cjs +45 -0
  116. package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +35 -0
  117. package/dist/cjs/transformers/reverse/embed.cjs +51 -0
  118. package/dist/cjs/transformers/reverse/emoji.cjs +22 -0
  119. package/dist/cjs/transformers/reverse/gatewayBot.cjs +22 -0
  120. package/dist/cjs/transformers/reverse/index.cjs +36 -0
  121. package/dist/cjs/transformers/reverse/interactionResponse.cjs +32 -0
  122. package/dist/cjs/transformers/reverse/member.cjs +49 -0
  123. package/dist/cjs/transformers/reverse/presence.cjs +37 -0
  124. package/dist/cjs/transformers/reverse/team.cjs +26 -0
  125. package/dist/cjs/transformers/reverse/widgetSettings.cjs +16 -0
  126. package/dist/cjs/transformers/role.cjs +65 -0
  127. package/dist/cjs/transformers/scheduledEvent.cjs +32 -0
  128. package/dist/cjs/transformers/stageInstance.cjs +20 -0
  129. package/dist/cjs/transformers/stageInviteInstance.cjs +21 -0
  130. package/dist/cjs/transformers/sticker.cjs +44 -0
  131. package/dist/cjs/transformers/team.cjs +27 -0
  132. package/dist/cjs/transformers/template.cjs +26 -0
  133. package/dist/cjs/transformers/threadMember.cjs +31 -0
  134. package/dist/cjs/transformers/toggles/Permissions.cjs +26 -0
  135. package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +56 -0
  136. package/dist/cjs/transformers/toggles/channel.cjs +64 -0
  137. package/dist/cjs/transformers/toggles/emoji.cjs +59 -0
  138. package/dist/cjs/transformers/toggles/guild.cjs +220 -0
  139. package/dist/cjs/transformers/toggles/index.cjs +26 -0
  140. package/dist/cjs/transformers/toggles/member.cjs +54 -0
  141. package/dist/cjs/transformers/toggles/role.cjs +69 -0
  142. package/dist/cjs/transformers/toggles/user.cjs +59 -0
  143. package/dist/cjs/transformers/toggles/voice.cjs +74 -0
  144. package/dist/cjs/transformers/user.cjs +50 -0
  145. package/dist/cjs/transformers/voiceRegion.cjs +20 -0
  146. package/dist/cjs/transformers/voiceState.cjs +22 -0
  147. package/dist/cjs/transformers/webhook.cjs +35 -0
  148. package/dist/cjs/transformers/welcomeScreen.cjs +22 -0
  149. package/dist/cjs/transformers/widget.cjs +33 -0
  150. package/dist/cjs/transformers/widgetSettings.cjs +17 -0
  151. package/dist/cjs/transformers.cjs +528 -0
  152. package/dist/cjs/typings.cjs +33 -0
  153. package/dist/cjs/utils.cjs +26 -0
  154. package/dist/esm/bot.js +69 -0
  155. package/dist/esm/commandOptionsParser.js +41 -0
  156. package/dist/esm/constants.js +6 -0
  157. package/dist/esm/handlers/channels/CHANNEL_CREATE.js +11 -0
  158. package/dist/esm/handlers/channels/CHANNEL_DELETE.js +11 -0
  159. package/dist/esm/handlers/channels/CHANNEL_PINS_UPDATE.js +11 -0
  160. package/dist/esm/handlers/channels/CHANNEL_UPDATE.js +10 -0
  161. package/dist/esm/handlers/channels/STAGE_INSTANCE_CREATE.js +12 -0
  162. package/dist/esm/handlers/channels/STAGE_INSTANCE_DELETE.js +12 -0
  163. package/dist/esm/handlers/channels/STAGE_INSTANCE_UPDATE.js +12 -0
  164. package/dist/esm/handlers/channels/THREAD_CREATE.js +9 -0
  165. package/dist/esm/handlers/channels/THREAD_DELETE.js +9 -0
  166. package/dist/esm/handlers/channels/THREAD_LIST_SYNC.js +21 -0
  167. package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +12 -0
  168. package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +12 -0
  169. package/dist/esm/handlers/channels/THREAD_UPDATE.js +9 -0
  170. package/dist/esm/handlers/channels/index.js +15 -0
  171. package/dist/esm/handlers/emojis/GUILD_EMOJIS_UPDATE.js +14 -0
  172. package/dist/esm/handlers/emojis/index.js +3 -0
  173. package/dist/esm/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +8 -0
  174. package/dist/esm/handlers/guilds/GUILD_BAN_ADD.js +7 -0
  175. package/dist/esm/handlers/guilds/GUILD_BAN_REMOVE.js +7 -0
  176. package/dist/esm/handlers/guilds/GUILD_CREATE.js +10 -0
  177. package/dist/esm/handlers/guilds/GUILD_DELETE.js +11 -0
  178. package/dist/esm/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +9 -0
  179. package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +10 -0
  180. package/dist/esm/handlers/guilds/GUILD_UPDATE.js +10 -0
  181. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +7 -0
  182. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +7 -0
  183. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +7 -0
  184. package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +7 -0
  185. package/dist/esm/handlers/guilds/automod/index.js +6 -0
  186. package/dist/esm/handlers/guilds/index.js +12 -0
  187. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +7 -0
  188. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +7 -0
  189. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +7 -0
  190. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +11 -0
  191. package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +11 -0
  192. package/dist/esm/handlers/guilds/scheduledEvents/index.js +7 -0
  193. package/dist/esm/handlers/index.js +14 -0
  194. package/dist/esm/handlers/integrations/INTEGRATION_CREATE.js +6 -0
  195. package/dist/esm/handlers/integrations/INTEGRATION_DELETE.js +11 -0
  196. package/dist/esm/handlers/integrations/INTEGRATION_UPDATE.js +6 -0
  197. package/dist/esm/handlers/integrations/index.js +5 -0
  198. package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +7 -0
  199. package/dist/esm/handlers/interactions/INTERACTION_CREATE.js +6 -0
  200. package/dist/esm/handlers/interactions/index.js +4 -0
  201. package/dist/esm/handlers/invites/INVITE_CREATE.js +6 -0
  202. package/dist/esm/handlers/invites/INVITE_DELETE.js +11 -0
  203. package/dist/esm/handlers/invites/index.js +4 -0
  204. package/dist/esm/handlers/members/GUILD_MEMBERS_CHUNK.js +20 -0
  205. package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +10 -0
  206. package/dist/esm/handlers/members/GUILD_MEMBER_REMOVE.js +9 -0
  207. package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +8 -0
  208. package/dist/esm/handlers/members/index.js +6 -0
  209. package/dist/esm/handlers/messages/MESSAGE_CREATE.js +7 -0
  210. package/dist/esm/handlers/messages/MESSAGE_DELETE.js +11 -0
  211. package/dist/esm/handlers/messages/MESSAGE_DELETE_BULK.js +13 -0
  212. package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +18 -0
  213. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +13 -0
  214. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +11 -0
  215. package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +12 -0
  216. package/dist/esm/handlers/messages/MESSAGE_UPDATE.js +8 -0
  217. package/dist/esm/handlers/messages/index.js +10 -0
  218. package/dist/esm/handlers/misc/PRESENCE_UPDATE.js +6 -0
  219. package/dist/esm/handlers/misc/READY.js +18 -0
  220. package/dist/esm/handlers/misc/TYPING_START.js +15 -0
  221. package/dist/esm/handlers/misc/USER_UPDATE.js +7 -0
  222. package/dist/esm/handlers/misc/index.js +6 -0
  223. package/dist/esm/handlers/roles/GUILD_ROLE_CREATE.js +10 -0
  224. package/dist/esm/handlers/roles/GUILD_ROLE_DELETE.js +10 -0
  225. package/dist/esm/handlers/roles/GUILD_ROLE_UPDATE.js +10 -0
  226. package/dist/esm/handlers/roles/index.js +5 -0
  227. package/dist/esm/handlers/voice/VOICE_SERVER_UPDATE.js +11 -0
  228. package/dist/esm/handlers/voice/VOICE_STATE_UPDATE.js +12 -0
  229. package/dist/esm/handlers/voice/index.js +4 -0
  230. package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +10 -0
  231. package/dist/esm/handlers/webhooks/index.js +3 -0
  232. package/dist/esm/handlers.js +67 -0
  233. package/dist/esm/helpers.js +602 -0
  234. package/dist/esm/index.js +17 -0
  235. package/dist/esm/optionalize.js +3 -0
  236. package/dist/esm/transformers/activity.js +34 -0
  237. package/dist/esm/transformers/application.js +25 -0
  238. package/dist/esm/transformers/applicationCommand.js +19 -0
  239. package/dist/esm/transformers/applicationCommandOption.js +21 -0
  240. package/dist/esm/transformers/applicationCommandOptionChoice.js +10 -0
  241. package/dist/esm/transformers/applicationCommandPermission.js +15 -0
  242. package/dist/esm/transformers/attachment.js +17 -0
  243. package/dist/esm/transformers/auditLogEntry.js +134 -0
  244. package/dist/esm/transformers/automodActionExecution.js +25 -0
  245. package/dist/esm/transformers/automodRule.js +31 -0
  246. package/dist/esm/transformers/channel.js +98 -0
  247. package/dist/esm/transformers/component.js +37 -0
  248. package/dist/esm/transformers/embed.js +44 -0
  249. package/dist/esm/transformers/emoji.js +13 -0
  250. package/dist/esm/transformers/gatewayBot.js +15 -0
  251. package/dist/esm/transformers/guild.js +132 -0
  252. package/dist/esm/transformers/index.js +40 -0
  253. package/dist/esm/transformers/integration.js +34 -0
  254. package/dist/esm/transformers/interaction.js +169 -0
  255. package/dist/esm/transformers/invite.js +40 -0
  256. package/dist/esm/transformers/member.js +34 -0
  257. package/dist/esm/transformers/message.js +221 -0
  258. package/dist/esm/transformers/presence.js +15 -0
  259. package/dist/esm/transformers/reverse/activity.js +43 -0
  260. package/dist/esm/transformers/reverse/allowedMentions.js +10 -0
  261. package/dist/esm/transformers/reverse/application.js +24 -0
  262. package/dist/esm/transformers/reverse/applicationCommand.js +18 -0
  263. package/dist/esm/transformers/reverse/applicationCommandOption.js +20 -0
  264. package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +9 -0
  265. package/dist/esm/transformers/reverse/applicationCommandPermission.js +14 -0
  266. package/dist/esm/transformers/reverse/attachment.js +16 -0
  267. package/dist/esm/transformers/reverse/auditLogEntry.js +137 -0
  268. package/dist/esm/transformers/reverse/component.js +37 -0
  269. package/dist/esm/transformers/reverse/createApplicationCommand.js +27 -0
  270. package/dist/esm/transformers/reverse/embed.js +43 -0
  271. package/dist/esm/transformers/reverse/emoji.js +14 -0
  272. package/dist/esm/transformers/reverse/gatewayBot.js +14 -0
  273. package/dist/esm/transformers/reverse/index.js +21 -0
  274. package/dist/esm/transformers/reverse/interactionResponse.js +24 -0
  275. package/dist/esm/transformers/reverse/member.js +35 -0
  276. package/dist/esm/transformers/reverse/presence.js +23 -0
  277. package/dist/esm/transformers/reverse/team.js +18 -0
  278. package/dist/esm/transformers/reverse/widgetSettings.js +8 -0
  279. package/dist/esm/transformers/role.js +57 -0
  280. package/dist/esm/transformers/scheduledEvent.js +24 -0
  281. package/dist/esm/transformers/stageInstance.js +12 -0
  282. package/dist/esm/transformers/stageInviteInstance.js +13 -0
  283. package/dist/esm/transformers/sticker.js +30 -0
  284. package/dist/esm/transformers/team.js +19 -0
  285. package/dist/esm/transformers/template.js +18 -0
  286. package/dist/esm/transformers/threadMember.js +17 -0
  287. package/dist/esm/transformers/toggles/Permissions.js +18 -0
  288. package/dist/esm/transformers/toggles/ToggleBitfield.js +42 -0
  289. package/dist/esm/transformers/toggles/channel.js +50 -0
  290. package/dist/esm/transformers/toggles/emoji.js +45 -0
  291. package/dist/esm/transformers/toggles/guild.js +206 -0
  292. package/dist/esm/transformers/toggles/index.js +11 -0
  293. package/dist/esm/transformers/toggles/member.js +40 -0
  294. package/dist/esm/transformers/toggles/role.js +55 -0
  295. package/dist/esm/transformers/toggles/user.js +45 -0
  296. package/dist/esm/transformers/toggles/voice.js +60 -0
  297. package/dist/esm/transformers/user.js +42 -0
  298. package/dist/esm/transformers/voiceRegion.js +12 -0
  299. package/dist/esm/transformers/voiceState.js +14 -0
  300. package/dist/esm/transformers/webhook.js +27 -0
  301. package/dist/esm/transformers/welcomeScreen.js +14 -0
  302. package/dist/esm/transformers/widget.js +25 -0
  303. package/dist/esm/transformers/widgetSettings.js +9 -0
  304. package/dist/esm/transformers.js +520 -0
  305. package/dist/esm/typings.js +19 -0
  306. package/dist/esm/utils.js +11 -0
  307. package/dist/types/bot.d.ts +257 -0
  308. package/dist/types/bot.d.ts.map +1 -0
  309. package/dist/types/commandOptionsParser.d.ts +3 -0
  310. package/dist/types/commandOptionsParser.d.ts.map +1 -0
  311. package/dist/types/constants.d.ts.map +1 -0
  312. package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -0
  313. package/dist/types/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -0
  314. package/dist/types/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -0
  315. package/dist/types/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -0
  316. package/dist/types/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -0
  317. package/dist/types/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -0
  318. package/dist/types/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -0
  319. package/dist/types/handlers/channels/THREAD_CREATE.d.ts.map +1 -0
  320. package/dist/types/handlers/channels/THREAD_DELETE.d.ts.map +1 -0
  321. package/dist/types/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -0
  322. package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -0
  323. package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -0
  324. package/dist/types/handlers/channels/THREAD_UPDATE.d.ts.map +1 -0
  325. package/dist/types/handlers/channels/index.d.ts.map +1 -0
  326. package/dist/types/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -0
  327. package/dist/types/handlers/emojis/index.d.ts.map +1 -0
  328. package/dist/types/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -0
  329. package/dist/types/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -0
  330. package/dist/types/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -0
  331. package/dist/types/handlers/guilds/GUILD_CREATE.d.ts.map +1 -0
  332. package/dist/types/handlers/guilds/GUILD_DELETE.d.ts.map +1 -0
  333. package/dist/types/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -0
  334. package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -0
  335. package/dist/types/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -0
  336. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -0
  337. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -0
  338. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -0
  339. package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -0
  340. package/dist/types/handlers/guilds/automod/index.d.ts.map +1 -0
  341. package/dist/types/handlers/guilds/index.d.ts.map +1 -0
  342. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -0
  343. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -0
  344. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -0
  345. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -0
  346. package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -0
  347. package/dist/types/handlers/guilds/scheduledEvents/index.d.ts.map +1 -0
  348. package/dist/types/handlers/index.d.ts.map +1 -0
  349. package/dist/types/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -0
  350. package/dist/types/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -0
  351. package/dist/types/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -0
  352. package/dist/types/handlers/integrations/index.d.ts.map +1 -0
  353. package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -0
  354. package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -0
  355. package/dist/types/handlers/interactions/index.d.ts.map +1 -0
  356. package/dist/types/handlers/invites/INVITE_CREATE.d.ts.map +1 -0
  357. package/dist/types/handlers/invites/INVITE_DELETE.d.ts.map +1 -0
  358. package/dist/types/handlers/invites/index.d.ts.map +1 -0
  359. package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +4 -0
  360. package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -0
  361. package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -0
  362. package/dist/types/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -0
  363. package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -0
  364. package/dist/types/handlers/members/index.d.ts.map +1 -0
  365. package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -0
  366. package/dist/types/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -0
  367. package/dist/types/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -0
  368. package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -0
  369. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -0
  370. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -0
  371. package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -0
  372. package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -0
  373. package/dist/types/handlers/messages/index.d.ts.map +1 -0
  374. package/dist/types/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -0
  375. package/dist/types/handlers/misc/READY.d.ts.map +1 -0
  376. package/dist/types/handlers/misc/TYPING_START.d.ts.map +1 -0
  377. package/dist/types/handlers/misc/USER_UPDATE.d.ts.map +1 -0
  378. package/dist/types/handlers/misc/index.d.ts.map +1 -0
  379. package/dist/types/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -0
  380. package/dist/types/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -0
  381. package/dist/types/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -0
  382. package/dist/types/handlers/roles/index.d.ts.map +1 -0
  383. package/dist/types/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -0
  384. package/dist/types/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -0
  385. package/dist/types/handlers/voice/index.d.ts.map +1 -0
  386. package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -0
  387. package/dist/types/handlers/webhooks/index.d.ts.map +1 -0
  388. package/dist/types/handlers.d.ts.map +1 -0
  389. package/dist/types/helpers.d.ts +222 -0
  390. package/dist/types/helpers.d.ts.map +1 -0
  391. package/dist/types/index.d.ts +16 -0
  392. package/dist/types/index.d.ts.map +1 -0
  393. package/dist/types/optionalize.d.ts.map +1 -0
  394. package/dist/types/transformers/activity.d.ts +35 -0
  395. package/dist/types/transformers/activity.d.ts.map +1 -0
  396. package/dist/types/transformers/application.d.ts +22 -0
  397. package/dist/types/transformers/application.d.ts.map +1 -0
  398. package/dist/types/transformers/applicationCommand.d.ts +18 -0
  399. package/dist/types/transformers/applicationCommand.d.ts.map +1 -0
  400. package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -0
  401. package/dist/types/transformers/applicationCommandOptionChoice.d.ts +9 -0
  402. package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -0
  403. package/dist/types/transformers/applicationCommandPermission.d.ts +14 -0
  404. package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -0
  405. package/dist/types/transformers/attachment.d.ts +30 -0
  406. package/dist/types/transformers/attachment.d.ts.map +1 -0
  407. package/dist/types/transformers/auditLogEntry.d.ts +44 -0
  408. package/dist/types/transformers/auditLogEntry.d.ts.map +1 -0
  409. package/dist/types/transformers/automodActionExecution.d.ts +24 -0
  410. package/dist/types/transformers/automodActionExecution.d.ts.map +1 -0
  411. package/dist/types/transformers/automodRule.d.ts +30 -0
  412. package/dist/types/transformers/automodRule.d.ts.map +1 -0
  413. package/dist/types/transformers/channel.d.ts +107 -0
  414. package/dist/types/transformers/channel.d.ts.map +1 -0
  415. package/dist/types/transformers/component.d.ts.map +1 -0
  416. package/dist/types/transformers/embed.d.ts +50 -0
  417. package/dist/types/transformers/embed.d.ts.map +1 -0
  418. package/dist/types/transformers/emoji.d.ts +24 -0
  419. package/dist/types/transformers/emoji.d.ts.map +1 -0
  420. package/dist/types/transformers/gatewayBot.d.ts +14 -0
  421. package/dist/types/transformers/gatewayBot.d.ts.map +1 -0
  422. package/dist/types/transformers/guild.d.ts +117 -0
  423. package/dist/types/transformers/guild.d.ts.map +1 -0
  424. package/dist/types/transformers/index.d.ts.map +1 -0
  425. package/dist/types/transformers/integration.d.ts +32 -0
  426. package/dist/types/transformers/integration.d.ts.map +1 -0
  427. package/dist/types/transformers/interaction.d.ts.map +1 -0
  428. package/dist/types/transformers/invite.d.ts +41 -0
  429. package/dist/types/transformers/invite.d.ts.map +1 -0
  430. package/dist/types/transformers/member.d.ts.map +1 -0
  431. package/dist/types/transformers/message.d.ts.map +1 -0
  432. package/dist/types/transformers/presence.d.ts +13 -0
  433. package/dist/types/transformers/presence.d.ts.map +1 -0
  434. package/dist/types/transformers/reverse/activity.d.ts.map +1 -0
  435. package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -0
  436. package/dist/types/transformers/reverse/application.d.ts.map +1 -0
  437. package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -0
  438. package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -0
  439. package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -0
  440. package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -0
  441. package/dist/types/transformers/reverse/attachment.d.ts.map +1 -0
  442. package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -0
  443. package/dist/types/transformers/reverse/component.d.ts.map +1 -0
  444. package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +1 -0
  445. package/dist/types/transformers/reverse/embed.d.ts.map +1 -0
  446. package/dist/types/transformers/reverse/emoji.d.ts.map +1 -0
  447. package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -0
  448. package/dist/types/transformers/reverse/index.d.ts.map +1 -0
  449. package/dist/types/transformers/reverse/interactionResponse.d.ts.map +1 -0
  450. package/dist/types/transformers/reverse/member.d.ts.map +1 -0
  451. package/dist/types/transformers/reverse/presence.d.ts.map +1 -0
  452. package/dist/types/transformers/reverse/team.d.ts.map +1 -0
  453. package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -0
  454. package/dist/types/transformers/role.d.ts.map +1 -0
  455. package/dist/types/transformers/scheduledEvent.d.ts +38 -0
  456. package/dist/types/transformers/scheduledEvent.d.ts.map +1 -0
  457. package/dist/types/transformers/stageInstance.d.ts +16 -0
  458. package/dist/types/transformers/stageInstance.d.ts.map +1 -0
  459. package/dist/types/transformers/stageInviteInstance.d.ts +16 -0
  460. package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -0
  461. package/dist/types/transformers/sticker.d.ts +38 -0
  462. package/dist/types/transformers/sticker.d.ts.map +1 -0
  463. package/dist/types/transformers/team.d.ts +16 -0
  464. package/dist/types/transformers/team.d.ts.map +1 -0
  465. package/dist/types/transformers/template.d.ts +17 -0
  466. package/dist/types/transformers/template.d.ts.map +1 -0
  467. package/dist/types/transformers/threadMember.d.ts +15 -0
  468. package/dist/types/transformers/threadMember.d.ts.map +1 -0
  469. package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -0
  470. package/dist/types/transformers/toggles/ToggleBitfield.d.ts.map +1 -0
  471. package/dist/types/transformers/toggles/channel.d.ts.map +1 -0
  472. package/dist/types/transformers/toggles/emoji.d.ts.map +1 -0
  473. package/dist/types/transformers/toggles/guild.d.ts.map +1 -0
  474. package/dist/types/transformers/toggles/index.d.ts.map +1 -0
  475. package/dist/types/transformers/toggles/member.d.ts.map +1 -0
  476. package/dist/types/transformers/toggles/role.d.ts.map +1 -0
  477. package/dist/types/transformers/toggles/user.d.ts.map +1 -0
  478. package/dist/types/transformers/toggles/voice.d.ts.map +1 -0
  479. package/dist/types/transformers/user.d.ts.map +1 -0
  480. package/dist/types/transformers/voiceRegion.d.ts +11 -0
  481. package/dist/types/transformers/voiceRegion.d.ts.map +1 -0
  482. package/dist/types/transformers/voiceState.d.ts +17 -0
  483. package/dist/types/transformers/voiceState.d.ts.map +1 -0
  484. package/dist/types/transformers/webhook.d.ts +30 -0
  485. package/dist/types/transformers/webhook.d.ts.map +1 -0
  486. package/dist/types/transformers/welcomeScreen.d.ts +13 -0
  487. package/dist/types/transformers/welcomeScreen.d.ts.map +1 -0
  488. package/dist/types/transformers/widget.d.ts +23 -0
  489. package/dist/types/transformers/widget.d.ts.map +1 -0
  490. package/dist/types/transformers/widgetSettings.d.ts +8 -0
  491. package/dist/types/transformers/widgetSettings.d.ts.map +1 -0
  492. package/dist/types/transformers.d.ts +450 -0
  493. package/dist/types/transformers.d.ts.map +1 -0
  494. package/dist/types/typings.d.ts.map +1 -0
  495. package/dist/types/utils.d.ts.map +1 -0
  496. package/package.json +14 -9
  497. package/dist/bot.d.ts +0 -242
  498. package/dist/bot.d.ts.map +0 -1
  499. package/dist/bot.js +0 -67
  500. package/dist/bot.js.map +0 -1
  501. package/dist/constants.d.ts.map +0 -1
  502. package/dist/constants.js +0 -6
  503. package/dist/constants.js.map +0 -1
  504. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +0 -1
  505. package/dist/handlers/channels/CHANNEL_CREATE.js +0 -10
  506. package/dist/handlers/channels/CHANNEL_CREATE.js.map +0 -1
  507. package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +0 -1
  508. package/dist/handlers/channels/CHANNEL_DELETE.js +0 -10
  509. package/dist/handlers/channels/CHANNEL_DELETE.js.map +0 -1
  510. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +0 -1
  511. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +0 -10
  512. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js.map +0 -1
  513. package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +0 -1
  514. package/dist/handlers/channels/CHANNEL_UPDATE.js +0 -9
  515. package/dist/handlers/channels/CHANNEL_UPDATE.js.map +0 -1
  516. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +0 -1
  517. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +0 -11
  518. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js.map +0 -1
  519. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +0 -1
  520. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +0 -11
  521. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js.map +0 -1
  522. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +0 -1
  523. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +0 -11
  524. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js.map +0 -1
  525. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +0 -1
  526. package/dist/handlers/channels/THREAD_CREATE.js +0 -8
  527. package/dist/handlers/channels/THREAD_CREATE.js.map +0 -1
  528. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +0 -1
  529. package/dist/handlers/channels/THREAD_DELETE.js +0 -8
  530. package/dist/handlers/channels/THREAD_DELETE.js.map +0 -1
  531. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +0 -1
  532. package/dist/handlers/channels/THREAD_LIST_SYNC.js +0 -19
  533. package/dist/handlers/channels/THREAD_LIST_SYNC.js.map +0 -1
  534. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +0 -1
  535. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +0 -11
  536. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js.map +0 -1
  537. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +0 -1
  538. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +0 -11
  539. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js.map +0 -1
  540. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +0 -1
  541. package/dist/handlers/channels/THREAD_UPDATE.js +0 -8
  542. package/dist/handlers/channels/THREAD_UPDATE.js.map +0 -1
  543. package/dist/handlers/channels/index.d.ts.map +0 -1
  544. package/dist/handlers/channels/index.js +0 -15
  545. package/dist/handlers/channels/index.js.map +0 -1
  546. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +0 -1
  547. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +0 -13
  548. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js.map +0 -1
  549. package/dist/handlers/emojis/index.d.ts.map +0 -1
  550. package/dist/handlers/emojis/index.js +0 -3
  551. package/dist/handlers/emojis/index.js.map +0 -1
  552. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +0 -1
  553. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +0 -7
  554. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +0 -1
  555. package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +0 -1
  556. package/dist/handlers/guilds/GUILD_BAN_ADD.js +0 -6
  557. package/dist/handlers/guilds/GUILD_BAN_ADD.js.map +0 -1
  558. package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +0 -1
  559. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +0 -6
  560. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js.map +0 -1
  561. package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +0 -1
  562. package/dist/handlers/guilds/GUILD_CREATE.js +0 -9
  563. package/dist/handlers/guilds/GUILD_CREATE.js.map +0 -1
  564. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +0 -1
  565. package/dist/handlers/guilds/GUILD_DELETE.js +0 -10
  566. package/dist/handlers/guilds/GUILD_DELETE.js.map +0 -1
  567. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +0 -1
  568. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +0 -8
  569. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js.map +0 -1
  570. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +0 -1
  571. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +0 -9
  572. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js.map +0 -1
  573. package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +0 -1
  574. package/dist/handlers/guilds/GUILD_UPDATE.js +0 -9
  575. package/dist/handlers/guilds/GUILD_UPDATE.js.map +0 -1
  576. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +0 -1
  577. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +0 -6
  578. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js.map +0 -1
  579. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +0 -1
  580. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +0 -6
  581. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js.map +0 -1
  582. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +0 -1
  583. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +0 -6
  584. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js.map +0 -1
  585. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +0 -1
  586. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +0 -6
  587. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js.map +0 -1
  588. package/dist/handlers/guilds/automod/index.d.ts.map +0 -1
  589. package/dist/handlers/guilds/automod/index.js +0 -6
  590. package/dist/handlers/guilds/automod/index.js.map +0 -1
  591. package/dist/handlers/guilds/index.d.ts.map +0 -1
  592. package/dist/handlers/guilds/index.js +0 -12
  593. package/dist/handlers/guilds/index.js.map +0 -1
  594. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +0 -1
  595. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +0 -6
  596. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js.map +0 -1
  597. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +0 -1
  598. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +0 -6
  599. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js.map +0 -1
  600. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +0 -1
  601. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +0 -6
  602. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js.map +0 -1
  603. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +0 -1
  604. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +0 -10
  605. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js.map +0 -1
  606. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +0 -1
  607. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +0 -10
  608. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js.map +0 -1
  609. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +0 -1
  610. package/dist/handlers/guilds/scheduledEvents/index.js +0 -7
  611. package/dist/handlers/guilds/scheduledEvents/index.js.map +0 -1
  612. package/dist/handlers/index.d.ts.map +0 -1
  613. package/dist/handlers/index.js +0 -14
  614. package/dist/handlers/index.js.map +0 -1
  615. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +0 -1
  616. package/dist/handlers/integrations/INTEGRATION_CREATE.js +0 -5
  617. package/dist/handlers/integrations/INTEGRATION_CREATE.js.map +0 -1
  618. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +0 -1
  619. package/dist/handlers/integrations/INTEGRATION_DELETE.js +0 -10
  620. package/dist/handlers/integrations/INTEGRATION_DELETE.js.map +0 -1
  621. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +0 -1
  622. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +0 -5
  623. package/dist/handlers/integrations/INTEGRATION_UPDATE.js.map +0 -1
  624. package/dist/handlers/integrations/index.d.ts.map +0 -1
  625. package/dist/handlers/integrations/index.js +0 -5
  626. package/dist/handlers/integrations/index.js.map +0 -1
  627. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +0 -1
  628. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +0 -6
  629. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js.map +0 -1
  630. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +0 -1
  631. package/dist/handlers/interactions/INTERACTION_CREATE.js +0 -5
  632. package/dist/handlers/interactions/INTERACTION_CREATE.js.map +0 -1
  633. package/dist/handlers/interactions/index.d.ts.map +0 -1
  634. package/dist/handlers/interactions/index.js +0 -4
  635. package/dist/handlers/interactions/index.js.map +0 -1
  636. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +0 -1
  637. package/dist/handlers/invites/INVITE_CREATE.js +0 -5
  638. package/dist/handlers/invites/INVITE_CREATE.js.map +0 -1
  639. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +0 -1
  640. package/dist/handlers/invites/INVITE_DELETE.js +0 -10
  641. package/dist/handlers/invites/INVITE_DELETE.js.map +0 -1
  642. package/dist/handlers/invites/index.d.ts.map +0 -1
  643. package/dist/handlers/invites/index.js +0 -4
  644. package/dist/handlers/invites/index.js.map +0 -1
  645. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +0 -4
  646. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +0 -1
  647. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +0 -26
  648. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js.map +0 -1
  649. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +0 -1
  650. package/dist/handlers/members/GUILD_MEMBER_ADD.js +0 -9
  651. package/dist/handlers/members/GUILD_MEMBER_ADD.js.map +0 -1
  652. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +0 -1
  653. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +0 -8
  654. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js.map +0 -1
  655. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +0 -1
  656. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +0 -7
  657. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js.map +0 -1
  658. package/dist/handlers/members/index.d.ts.map +0 -1
  659. package/dist/handlers/members/index.js +0 -6
  660. package/dist/handlers/members/index.js.map +0 -1
  661. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +0 -1
  662. package/dist/handlers/messages/MESSAGE_CREATE.js +0 -6
  663. package/dist/handlers/messages/MESSAGE_CREATE.js.map +0 -1
  664. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +0 -1
  665. package/dist/handlers/messages/MESSAGE_DELETE.js +0 -10
  666. package/dist/handlers/messages/MESSAGE_DELETE.js.map +0 -1
  667. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +0 -1
  668. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +0 -12
  669. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js.map +0 -1
  670. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +0 -1
  671. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +0 -17
  672. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js.map +0 -1
  673. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +0 -1
  674. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +0 -12
  675. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js.map +0 -1
  676. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +0 -1
  677. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +0 -10
  678. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js.map +0 -1
  679. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +0 -1
  680. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +0 -11
  681. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js.map +0 -1
  682. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +0 -1
  683. package/dist/handlers/messages/MESSAGE_UPDATE.js +0 -7
  684. package/dist/handlers/messages/MESSAGE_UPDATE.js.map +0 -1
  685. package/dist/handlers/messages/index.d.ts.map +0 -1
  686. package/dist/handlers/messages/index.js +0 -10
  687. package/dist/handlers/messages/index.js.map +0 -1
  688. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +0 -1
  689. package/dist/handlers/misc/PRESENCE_UPDATE.js +0 -5
  690. package/dist/handlers/misc/PRESENCE_UPDATE.js.map +0 -1
  691. package/dist/handlers/misc/READY.d.ts.map +0 -1
  692. package/dist/handlers/misc/READY.js +0 -17
  693. package/dist/handlers/misc/READY.js.map +0 -1
  694. package/dist/handlers/misc/TYPING_START.d.ts.map +0 -1
  695. package/dist/handlers/misc/TYPING_START.js +0 -14
  696. package/dist/handlers/misc/TYPING_START.js.map +0 -1
  697. package/dist/handlers/misc/USER_UPDATE.d.ts.map +0 -1
  698. package/dist/handlers/misc/USER_UPDATE.js +0 -6
  699. package/dist/handlers/misc/USER_UPDATE.js.map +0 -1
  700. package/dist/handlers/misc/index.d.ts.map +0 -1
  701. package/dist/handlers/misc/index.js +0 -6
  702. package/dist/handlers/misc/index.js.map +0 -1
  703. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +0 -1
  704. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +0 -9
  705. package/dist/handlers/roles/GUILD_ROLE_CREATE.js.map +0 -1
  706. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +0 -1
  707. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +0 -9
  708. package/dist/handlers/roles/GUILD_ROLE_DELETE.js.map +0 -1
  709. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +0 -1
  710. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +0 -9
  711. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js.map +0 -1
  712. package/dist/handlers/roles/index.d.ts.map +0 -1
  713. package/dist/handlers/roles/index.js +0 -5
  714. package/dist/handlers/roles/index.js.map +0 -1
  715. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +0 -1
  716. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +0 -10
  717. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js.map +0 -1
  718. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +0 -1
  719. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +0 -11
  720. package/dist/handlers/voice/VOICE_STATE_UPDATE.js.map +0 -1
  721. package/dist/handlers/voice/index.d.ts.map +0 -1
  722. package/dist/handlers/voice/index.js +0 -4
  723. package/dist/handlers/voice/index.js.map +0 -1
  724. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +0 -1
  725. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +0 -9
  726. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js.map +0 -1
  727. package/dist/handlers/webhooks/index.d.ts.map +0 -1
  728. package/dist/handlers/webhooks/index.js +0 -3
  729. package/dist/handlers/webhooks/index.js.map +0 -1
  730. package/dist/handlers.d.ts.map +0 -1
  731. package/dist/handlers.js +0 -67
  732. package/dist/handlers.js.map +0 -1
  733. package/dist/helpers.d.ts +0 -205
  734. package/dist/helpers.d.ts.map +0 -1
  735. package/dist/helpers.js +0 -553
  736. package/dist/helpers.js.map +0 -1
  737. package/dist/index.d.ts +0 -15
  738. package/dist/index.d.ts.map +0 -1
  739. package/dist/index.js +0 -16
  740. package/dist/index.js.map +0 -1
  741. package/dist/optionalize.d.ts.map +0 -1
  742. package/dist/optionalize.js +0 -3
  743. package/dist/optionalize.js.map +0 -1
  744. package/dist/transformers/activity.d.ts +0 -36
  745. package/dist/transformers/activity.d.ts.map +0 -1
  746. package/dist/transformers/activity.js +0 -35
  747. package/dist/transformers/activity.js.map +0 -1
  748. package/dist/transformers/application.d.ts +0 -77
  749. package/dist/transformers/application.d.ts.map +0 -1
  750. package/dist/transformers/application.js +0 -26
  751. package/dist/transformers/application.js.map +0 -1
  752. package/dist/transformers/applicationCommand.d.ts +0 -193
  753. package/dist/transformers/applicationCommand.d.ts.map +0 -1
  754. package/dist/transformers/applicationCommand.js +0 -20
  755. package/dist/transformers/applicationCommand.js.map +0 -1
  756. package/dist/transformers/applicationCommandOption.d.ts.map +0 -1
  757. package/dist/transformers/applicationCommandOption.js +0 -20
  758. package/dist/transformers/applicationCommandOption.js.map +0 -1
  759. package/dist/transformers/applicationCommandOptionChoice.d.ts +0 -41
  760. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +0 -1
  761. package/dist/transformers/applicationCommandOptionChoice.js +0 -11
  762. package/dist/transformers/applicationCommandOptionChoice.js.map +0 -1
  763. package/dist/transformers/applicationCommandPermission.d.ts +0 -15
  764. package/dist/transformers/applicationCommandPermission.d.ts.map +0 -1
  765. package/dist/transformers/applicationCommandPermission.js +0 -16
  766. package/dist/transformers/applicationCommandPermission.js.map +0 -1
  767. package/dist/transformers/attachment.d.ts +0 -17
  768. package/dist/transformers/attachment.d.ts.map +0 -1
  769. package/dist/transformers/attachment.js +0 -18
  770. package/dist/transformers/attachment.js.map +0 -1
  771. package/dist/transformers/auditLogEntry.d.ts +0 -45
  772. package/dist/transformers/auditLogEntry.d.ts.map +0 -1
  773. package/dist/transformers/auditLogEntry.js +0 -135
  774. package/dist/transformers/auditLogEntry.js.map +0 -1
  775. package/dist/transformers/automodActionExecution.d.ts +0 -25
  776. package/dist/transformers/automodActionExecution.d.ts.map +0 -1
  777. package/dist/transformers/automodActionExecution.js +0 -26
  778. package/dist/transformers/automodActionExecution.js.map +0 -1
  779. package/dist/transformers/automodRule.d.ts +0 -31
  780. package/dist/transformers/automodRule.d.ts.map +0 -1
  781. package/dist/transformers/automodRule.js +0 -32
  782. package/dist/transformers/automodRule.js.map +0 -1
  783. package/dist/transformers/channel.d.ts +0 -107
  784. package/dist/transformers/channel.d.ts.map +0 -1
  785. package/dist/transformers/channel.js +0 -98
  786. package/dist/transformers/channel.js.map +0 -1
  787. package/dist/transformers/component.d.ts.map +0 -1
  788. package/dist/transformers/component.js +0 -36
  789. package/dist/transformers/component.js.map +0 -1
  790. package/dist/transformers/embed.d.ts +0 -51
  791. package/dist/transformers/embed.d.ts.map +0 -1
  792. package/dist/transformers/embed.js +0 -45
  793. package/dist/transformers/embed.js.map +0 -1
  794. package/dist/transformers/emoji.d.ts +0 -56
  795. package/dist/transformers/emoji.d.ts.map +0 -1
  796. package/dist/transformers/emoji.js +0 -14
  797. package/dist/transformers/emoji.js.map +0 -1
  798. package/dist/transformers/gatewayBot.d.ts +0 -14
  799. package/dist/transformers/gatewayBot.d.ts.map +0 -1
  800. package/dist/transformers/gatewayBot.js +0 -16
  801. package/dist/transformers/gatewayBot.js.map +0 -1
  802. package/dist/transformers/guild.d.ts +0 -71
  803. package/dist/transformers/guild.d.ts.map +0 -1
  804. package/dist/transformers/guild.js +0 -108
  805. package/dist/transformers/guild.js.map +0 -1
  806. package/dist/transformers/index.d.ts.map +0 -1
  807. package/dist/transformers/index.js +0 -40
  808. package/dist/transformers/index.js.map +0 -1
  809. package/dist/transformers/integration.d.ts +0 -119
  810. package/dist/transformers/integration.d.ts.map +0 -1
  811. package/dist/transformers/integration.js +0 -35
  812. package/dist/transformers/integration.js.map +0 -1
  813. package/dist/transformers/interaction.d.ts.map +0 -1
  814. package/dist/transformers/interaction.js +0 -169
  815. package/dist/transformers/interaction.js.map +0 -1
  816. package/dist/transformers/invite.d.ts +0 -177
  817. package/dist/transformers/invite.d.ts.map +0 -1
  818. package/dist/transformers/invite.js +0 -20
  819. package/dist/transformers/invite.js.map +0 -1
  820. package/dist/transformers/member.d.ts.map +0 -1
  821. package/dist/transformers/member.js +0 -34
  822. package/dist/transformers/member.js.map +0 -1
  823. package/dist/transformers/message.d.ts.map +0 -1
  824. package/dist/transformers/message.js +0 -221
  825. package/dist/transformers/message.js.map +0 -1
  826. package/dist/transformers/presence.d.ts +0 -14
  827. package/dist/transformers/presence.d.ts.map +0 -1
  828. package/dist/transformers/presence.js +0 -16
  829. package/dist/transformers/presence.js.map +0 -1
  830. package/dist/transformers/reverse/activity.d.ts.map +0 -1
  831. package/dist/transformers/reverse/activity.js +0 -43
  832. package/dist/transformers/reverse/activity.js.map +0 -1
  833. package/dist/transformers/reverse/allowedMentions.d.ts.map +0 -1
  834. package/dist/transformers/reverse/allowedMentions.js +0 -10
  835. package/dist/transformers/reverse/allowedMentions.js.map +0 -1
  836. package/dist/transformers/reverse/application.d.ts.map +0 -1
  837. package/dist/transformers/reverse/application.js +0 -24
  838. package/dist/transformers/reverse/application.js.map +0 -1
  839. package/dist/transformers/reverse/applicationCommand.d.ts.map +0 -1
  840. package/dist/transformers/reverse/applicationCommand.js +0 -18
  841. package/dist/transformers/reverse/applicationCommand.js.map +0 -1
  842. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +0 -1
  843. package/dist/transformers/reverse/applicationCommandOption.js +0 -20
  844. package/dist/transformers/reverse/applicationCommandOption.js.map +0 -1
  845. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +0 -1
  846. package/dist/transformers/reverse/applicationCommandOptionChoice.js +0 -9
  847. package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +0 -1
  848. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +0 -1
  849. package/dist/transformers/reverse/applicationCommandPermission.js +0 -14
  850. package/dist/transformers/reverse/applicationCommandPermission.js.map +0 -1
  851. package/dist/transformers/reverse/attachment.d.ts.map +0 -1
  852. package/dist/transformers/reverse/attachment.js +0 -16
  853. package/dist/transformers/reverse/attachment.js.map +0 -1
  854. package/dist/transformers/reverse/auditLogEntry.d.ts.map +0 -1
  855. package/dist/transformers/reverse/auditLogEntry.js +0 -137
  856. package/dist/transformers/reverse/auditLogEntry.js.map +0 -1
  857. package/dist/transformers/reverse/component.d.ts.map +0 -1
  858. package/dist/transformers/reverse/component.js +0 -37
  859. package/dist/transformers/reverse/component.js.map +0 -1
  860. package/dist/transformers/reverse/createApplicationCommand.d.ts.map +0 -1
  861. package/dist/transformers/reverse/createApplicationCommand.js +0 -27
  862. package/dist/transformers/reverse/createApplicationCommand.js.map +0 -1
  863. package/dist/transformers/reverse/embed.d.ts.map +0 -1
  864. package/dist/transformers/reverse/embed.js +0 -43
  865. package/dist/transformers/reverse/embed.js.map +0 -1
  866. package/dist/transformers/reverse/emoji.d.ts.map +0 -1
  867. package/dist/transformers/reverse/emoji.js +0 -14
  868. package/dist/transformers/reverse/emoji.js.map +0 -1
  869. package/dist/transformers/reverse/gatewayBot.d.ts.map +0 -1
  870. package/dist/transformers/reverse/gatewayBot.js +0 -14
  871. package/dist/transformers/reverse/gatewayBot.js.map +0 -1
  872. package/dist/transformers/reverse/index.d.ts.map +0 -1
  873. package/dist/transformers/reverse/index.js +0 -21
  874. package/dist/transformers/reverse/index.js.map +0 -1
  875. package/dist/transformers/reverse/interactionResponse.d.ts.map +0 -1
  876. package/dist/transformers/reverse/interactionResponse.js +0 -24
  877. package/dist/transformers/reverse/interactionResponse.js.map +0 -1
  878. package/dist/transformers/reverse/member.d.ts.map +0 -1
  879. package/dist/transformers/reverse/member.js +0 -35
  880. package/dist/transformers/reverse/member.js.map +0 -1
  881. package/dist/transformers/reverse/presence.d.ts.map +0 -1
  882. package/dist/transformers/reverse/presence.js +0 -23
  883. package/dist/transformers/reverse/presence.js.map +0 -1
  884. package/dist/transformers/reverse/team.d.ts.map +0 -1
  885. package/dist/transformers/reverse/team.js +0 -18
  886. package/dist/transformers/reverse/team.js.map +0 -1
  887. package/dist/transformers/reverse/widgetSettings.d.ts.map +0 -1
  888. package/dist/transformers/reverse/widgetSettings.js +0 -8
  889. package/dist/transformers/reverse/widgetSettings.js.map +0 -1
  890. package/dist/transformers/role.d.ts.map +0 -1
  891. package/dist/transformers/role.js +0 -57
  892. package/dist/transformers/role.js.map +0 -1
  893. package/dist/transformers/scheduledEvent.d.ts +0 -66
  894. package/dist/transformers/scheduledEvent.d.ts.map +0 -1
  895. package/dist/transformers/scheduledEvent.js +0 -25
  896. package/dist/transformers/scheduledEvent.js.map +0 -1
  897. package/dist/transformers/stageInstance.d.ts +0 -12
  898. package/dist/transformers/stageInstance.d.ts.map +0 -1
  899. package/dist/transformers/stageInstance.js +0 -13
  900. package/dist/transformers/stageInstance.js.map +0 -1
  901. package/dist/transformers/sticker.d.ts +0 -72
  902. package/dist/transformers/sticker.d.ts.map +0 -1
  903. package/dist/transformers/sticker.js +0 -32
  904. package/dist/transformers/sticker.js.map +0 -1
  905. package/dist/transformers/team.d.ts +0 -17
  906. package/dist/transformers/team.d.ts.map +0 -1
  907. package/dist/transformers/team.js +0 -20
  908. package/dist/transformers/team.js.map +0 -1
  909. package/dist/transformers/template.d.ts +0 -416
  910. package/dist/transformers/template.d.ts.map +0 -1
  911. package/dist/transformers/template.js +0 -19
  912. package/dist/transformers/template.js.map +0 -1
  913. package/dist/transformers/threadMember.d.ts +0 -17
  914. package/dist/transformers/threadMember.d.ts.map +0 -1
  915. package/dist/transformers/threadMember.js +0 -19
  916. package/dist/transformers/threadMember.js.map +0 -1
  917. package/dist/transformers/toggles/Permissions.d.ts.map +0 -1
  918. package/dist/transformers/toggles/Permissions.js +0 -18
  919. package/dist/transformers/toggles/Permissions.js.map +0 -1
  920. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +0 -1
  921. package/dist/transformers/toggles/ToggleBitfield.js +0 -42
  922. package/dist/transformers/toggles/ToggleBitfield.js.map +0 -1
  923. package/dist/transformers/toggles/channel.d.ts.map +0 -1
  924. package/dist/transformers/toggles/channel.js +0 -50
  925. package/dist/transformers/toggles/channel.js.map +0 -1
  926. package/dist/transformers/toggles/emoji.d.ts.map +0 -1
  927. package/dist/transformers/toggles/emoji.js +0 -45
  928. package/dist/transformers/toggles/emoji.js.map +0 -1
  929. package/dist/transformers/toggles/guild.d.ts.map +0 -1
  930. package/dist/transformers/toggles/guild.js +0 -206
  931. package/dist/transformers/toggles/guild.js.map +0 -1
  932. package/dist/transformers/toggles/index.d.ts.map +0 -1
  933. package/dist/transformers/toggles/index.js +0 -11
  934. package/dist/transformers/toggles/index.js.map +0 -1
  935. package/dist/transformers/toggles/member.d.ts.map +0 -1
  936. package/dist/transformers/toggles/member.js +0 -40
  937. package/dist/transformers/toggles/member.js.map +0 -1
  938. package/dist/transformers/toggles/role.d.ts.map +0 -1
  939. package/dist/transformers/toggles/role.js +0 -55
  940. package/dist/transformers/toggles/role.js.map +0 -1
  941. package/dist/transformers/toggles/user.d.ts.map +0 -1
  942. package/dist/transformers/toggles/user.js +0 -45
  943. package/dist/transformers/toggles/user.js.map +0 -1
  944. package/dist/transformers/toggles/voice.d.ts.map +0 -1
  945. package/dist/transformers/toggles/voice.js +0 -60
  946. package/dist/transformers/toggles/voice.js.map +0 -1
  947. package/dist/transformers/user.d.ts.map +0 -1
  948. package/dist/transformers/user.js +0 -42
  949. package/dist/transformers/user.js.map +0 -1
  950. package/dist/transformers/voiceRegion.d.ts +0 -12
  951. package/dist/transformers/voiceRegion.d.ts.map +0 -1
  952. package/dist/transformers/voiceRegion.js +0 -14
  953. package/dist/transformers/voiceRegion.js.map +0 -1
  954. package/dist/transformers/voiceState.d.ts +0 -18
  955. package/dist/transformers/voiceState.d.ts.map +0 -1
  956. package/dist/transformers/voiceState.js +0 -15
  957. package/dist/transformers/voiceState.js.map +0 -1
  958. package/dist/transformers/webhook.d.ts +0 -69
  959. package/dist/transformers/webhook.d.ts.map +0 -1
  960. package/dist/transformers/webhook.js +0 -28
  961. package/dist/transformers/webhook.js.map +0 -1
  962. package/dist/transformers/welcomeScreen.d.ts +0 -14
  963. package/dist/transformers/welcomeScreen.d.ts.map +0 -1
  964. package/dist/transformers/welcomeScreen.js +0 -15
  965. package/dist/transformers/welcomeScreen.js.map +0 -1
  966. package/dist/transformers/widget.d.ts +0 -24
  967. package/dist/transformers/widget.d.ts.map +0 -1
  968. package/dist/transformers/widget.js +0 -26
  969. package/dist/transformers/widget.js.map +0 -1
  970. package/dist/transformers/widgetSettings.d.ts +0 -9
  971. package/dist/transformers/widgetSettings.d.ts.map +0 -1
  972. package/dist/transformers/widgetSettings.js +0 -10
  973. package/dist/transformers/widgetSettings.js.map +0 -1
  974. package/dist/transformers.d.ts +0 -382
  975. package/dist/transformers.d.ts.map +0 -1
  976. package/dist/transformers.js +0 -382
  977. package/dist/transformers.js.map +0 -1
  978. package/dist/typings.d.ts.map +0 -1
  979. package/dist/typings.js +0 -19
  980. package/dist/typings.js.map +0 -1
  981. package/dist/utils.d.ts.map +0 -1
  982. package/dist/utils.js +0 -11
  983. package/dist/utils.js.map +0 -1
  984. /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
  985. /package/dist/{handlers → types/handlers}/channels/CHANNEL_CREATE.d.ts +0 -0
  986. /package/dist/{handlers → types/handlers}/channels/CHANNEL_DELETE.d.ts +0 -0
  987. /package/dist/{handlers → types/handlers}/channels/CHANNEL_PINS_UPDATE.d.ts +0 -0
  988. /package/dist/{handlers → types/handlers}/channels/CHANNEL_UPDATE.d.ts +0 -0
  989. /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_CREATE.d.ts +0 -0
  990. /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_DELETE.d.ts +0 -0
  991. /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_UPDATE.d.ts +0 -0
  992. /package/dist/{handlers → types/handlers}/channels/THREAD_CREATE.d.ts +0 -0
  993. /package/dist/{handlers → types/handlers}/channels/THREAD_DELETE.d.ts +0 -0
  994. /package/dist/{handlers → types/handlers}/channels/THREAD_LIST_SYNC.d.ts +0 -0
  995. /package/dist/{handlers → types/handlers}/channels/THREAD_MEMBERS_UPDATE.d.ts +0 -0
  996. /package/dist/{handlers → types/handlers}/channels/THREAD_MEMBER_UPDATE.d.ts +0 -0
  997. /package/dist/{handlers → types/handlers}/channels/THREAD_UPDATE.d.ts +0 -0
  998. /package/dist/{handlers → types/handlers}/channels/index.d.ts +0 -0
  999. /package/dist/{handlers → types/handlers}/emojis/GUILD_EMOJIS_UPDATE.d.ts +0 -0
  1000. /package/dist/{handlers → types/handlers}/emojis/index.d.ts +0 -0
  1001. /package/dist/{handlers → types/handlers}/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts +0 -0
  1002. /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_ADD.d.ts +0 -0
  1003. /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_REMOVE.d.ts +0 -0
  1004. /package/dist/{handlers → types/handlers}/guilds/GUILD_CREATE.d.ts +0 -0
  1005. /package/dist/{handlers → types/handlers}/guilds/GUILD_DELETE.d.ts +0 -0
  1006. /package/dist/{handlers → types/handlers}/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts +0 -0
  1007. /package/dist/{handlers → types/handlers}/guilds/GUILD_STICKERS_UPDATE.d.ts +0 -0
  1008. /package/dist/{handlers → types/handlers}/guilds/GUILD_UPDATE.d.ts +0 -0
  1009. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +0 -0
  1010. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +0 -0
  1011. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +0 -0
  1012. /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +0 -0
  1013. /package/dist/{handlers → types/handlers}/guilds/automod/index.d.ts +0 -0
  1014. /package/dist/{handlers → types/handlers}/guilds/index.d.ts +0 -0
  1015. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +0 -0
  1016. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts +0 -0
  1017. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts +0 -0
  1018. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts +0 -0
  1019. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts +0 -0
  1020. /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/index.d.ts +0 -0
  1021. /package/dist/{handlers → types/handlers}/index.d.ts +0 -0
  1022. /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_CREATE.d.ts +0 -0
  1023. /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_DELETE.d.ts +0 -0
  1024. /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_UPDATE.d.ts +0 -0
  1025. /package/dist/{handlers → types/handlers}/integrations/index.d.ts +0 -0
  1026. /package/dist/{handlers → types/handlers}/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +0 -0
  1027. /package/dist/{handlers → types/handlers}/interactions/INTERACTION_CREATE.d.ts +0 -0
  1028. /package/dist/{handlers → types/handlers}/interactions/index.d.ts +0 -0
  1029. /package/dist/{handlers → types/handlers}/invites/INVITE_CREATE.d.ts +0 -0
  1030. /package/dist/{handlers → types/handlers}/invites/INVITE_DELETE.d.ts +0 -0
  1031. /package/dist/{handlers → types/handlers}/invites/index.d.ts +0 -0
  1032. /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_ADD.d.ts +0 -0
  1033. /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_REMOVE.d.ts +0 -0
  1034. /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_UPDATE.d.ts +0 -0
  1035. /package/dist/{handlers → types/handlers}/members/index.d.ts +0 -0
  1036. /package/dist/{handlers → types/handlers}/messages/MESSAGE_CREATE.d.ts +0 -0
  1037. /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE.d.ts +0 -0
  1038. /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE_BULK.d.ts +0 -0
  1039. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_ADD.d.ts +0 -0
  1040. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE.d.ts +0 -0
  1041. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +0 -0
  1042. /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +0 -0
  1043. /package/dist/{handlers → types/handlers}/messages/MESSAGE_UPDATE.d.ts +0 -0
  1044. /package/dist/{handlers → types/handlers}/messages/index.d.ts +0 -0
  1045. /package/dist/{handlers → types/handlers}/misc/PRESENCE_UPDATE.d.ts +0 -0
  1046. /package/dist/{handlers → types/handlers}/misc/READY.d.ts +0 -0
  1047. /package/dist/{handlers → types/handlers}/misc/TYPING_START.d.ts +0 -0
  1048. /package/dist/{handlers → types/handlers}/misc/USER_UPDATE.d.ts +0 -0
  1049. /package/dist/{handlers → types/handlers}/misc/index.d.ts +0 -0
  1050. /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_CREATE.d.ts +0 -0
  1051. /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_DELETE.d.ts +0 -0
  1052. /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_UPDATE.d.ts +0 -0
  1053. /package/dist/{handlers → types/handlers}/roles/index.d.ts +0 -0
  1054. /package/dist/{handlers → types/handlers}/voice/VOICE_SERVER_UPDATE.d.ts +0 -0
  1055. /package/dist/{handlers → types/handlers}/voice/VOICE_STATE_UPDATE.d.ts +0 -0
  1056. /package/dist/{handlers → types/handlers}/voice/index.d.ts +0 -0
  1057. /package/dist/{handlers → types/handlers}/webhooks/WEBHOOKS_UPDATE.d.ts +0 -0
  1058. /package/dist/{handlers → types/handlers}/webhooks/index.d.ts +0 -0
  1059. /package/dist/{handlers.d.ts → types/handlers.d.ts} +0 -0
  1060. /package/dist/{optionalize.d.ts → types/optionalize.d.ts} +0 -0
  1061. /package/dist/{transformers → types/transformers}/applicationCommandOption.d.ts +0 -0
  1062. /package/dist/{transformers → types/transformers}/component.d.ts +0 -0
  1063. /package/dist/{transformers → types/transformers}/index.d.ts +0 -0
  1064. /package/dist/{transformers → types/transformers}/interaction.d.ts +0 -0
  1065. /package/dist/{transformers → types/transformers}/member.d.ts +0 -0
  1066. /package/dist/{transformers → types/transformers}/message.d.ts +0 -0
  1067. /package/dist/{transformers → types/transformers}/reverse/activity.d.ts +0 -0
  1068. /package/dist/{transformers → types/transformers}/reverse/allowedMentions.d.ts +0 -0
  1069. /package/dist/{transformers → types/transformers}/reverse/application.d.ts +0 -0
  1070. /package/dist/{transformers → types/transformers}/reverse/applicationCommand.d.ts +0 -0
  1071. /package/dist/{transformers → types/transformers}/reverse/applicationCommandOption.d.ts +0 -0
  1072. /package/dist/{transformers → types/transformers}/reverse/applicationCommandOptionChoice.d.ts +0 -0
  1073. /package/dist/{transformers → types/transformers}/reverse/applicationCommandPermission.d.ts +0 -0
  1074. /package/dist/{transformers → types/transformers}/reverse/attachment.d.ts +0 -0
  1075. /package/dist/{transformers → types/transformers}/reverse/auditLogEntry.d.ts +0 -0
  1076. /package/dist/{transformers → types/transformers}/reverse/component.d.ts +0 -0
  1077. /package/dist/{transformers → types/transformers}/reverse/createApplicationCommand.d.ts +0 -0
  1078. /package/dist/{transformers → types/transformers}/reverse/embed.d.ts +0 -0
  1079. /package/dist/{transformers → types/transformers}/reverse/emoji.d.ts +0 -0
  1080. /package/dist/{transformers → types/transformers}/reverse/gatewayBot.d.ts +0 -0
  1081. /package/dist/{transformers → types/transformers}/reverse/index.d.ts +0 -0
  1082. /package/dist/{transformers → types/transformers}/reverse/interactionResponse.d.ts +0 -0
  1083. /package/dist/{transformers → types/transformers}/reverse/member.d.ts +0 -0
  1084. /package/dist/{transformers → types/transformers}/reverse/presence.d.ts +0 -0
  1085. /package/dist/{transformers → types/transformers}/reverse/team.d.ts +0 -0
  1086. /package/dist/{transformers → types/transformers}/reverse/widgetSettings.d.ts +0 -0
  1087. /package/dist/{transformers → types/transformers}/role.d.ts +0 -0
  1088. /package/dist/{transformers → types/transformers}/toggles/Permissions.d.ts +0 -0
  1089. /package/dist/{transformers → types/transformers}/toggles/ToggleBitfield.d.ts +0 -0
  1090. /package/dist/{transformers → types/transformers}/toggles/channel.d.ts +0 -0
  1091. /package/dist/{transformers → types/transformers}/toggles/emoji.d.ts +0 -0
  1092. /package/dist/{transformers → types/transformers}/toggles/guild.d.ts +0 -0
  1093. /package/dist/{transformers → types/transformers}/toggles/index.d.ts +0 -0
  1094. /package/dist/{transformers → types/transformers}/toggles/member.d.ts +0 -0
  1095. /package/dist/{transformers → types/transformers}/toggles/role.d.ts +0 -0
  1096. /package/dist/{transformers → types/transformers}/toggles/user.d.ts +0 -0
  1097. /package/dist/{transformers → types/transformers}/toggles/voice.d.ts +0 -0
  1098. /package/dist/{transformers → types/transformers}/user.d.ts +0 -0
  1099. /package/dist/{typings.d.ts → types/typings.d.ts} +0 -0
  1100. /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
@@ -0,0 +1,610 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "createBotHelpers", {
6
+ enumerable: true,
7
+ get: ()=>createBotHelpers
8
+ });
9
+ const _utils = require("@discordeno/utils");
10
+ function createBotHelpers(bot) {
11
+ return {
12
+ createAutomodRule: async (guildId, options, reason)=>{
13
+ return bot.transformers.automodRule(bot, (0, _utils.snakelize)(await bot.rest.createAutomodRule(guildId, options, reason)));
14
+ },
15
+ createChannel: async (guildId, options, reason)=>{
16
+ return bot.transformers.channel(bot, {
17
+ channel: (0, _utils.snakelize)(await bot.rest.createChannel(guildId, options, reason)),
18
+ guildId
19
+ });
20
+ },
21
+ createEmoji: async (guildId, options, reason)=>{
22
+ return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.createEmoji(guildId, options, reason)));
23
+ },
24
+ createForumThread: async (channelId, options, reason)=>{
25
+ return bot.transformers.channel(bot, {
26
+ channel: (0, _utils.snakelize)(await bot.rest.createForumThread(channelId, options, reason))
27
+ });
28
+ },
29
+ createGlobalApplicationCommand: async (command, options)=>{
30
+ return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.createGlobalApplicationCommand(command, options)));
31
+ },
32
+ createGuild: async (options)=>{
33
+ return bot.transformers.guild(bot, {
34
+ guild: (0, _utils.snakelize)(await bot.rest.createGuild(options)),
35
+ shardId: 0
36
+ });
37
+ },
38
+ createGuildApplicationCommand: async (command, guildId, options)=>{
39
+ return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.createGuildApplicationCommand(command, guildId, options)));
40
+ },
41
+ createGuildFromTemplate: async (templateCode, options)=>{
42
+ return bot.transformers.guild(bot, {
43
+ guild: (0, _utils.snakelize)(await bot.rest.createGuildFromTemplate(templateCode, options)),
44
+ shardId: 0
45
+ });
46
+ },
47
+ createGuildSticker: async (guildId, options, reason)=>{
48
+ return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.createGuildSticker(guildId, options, reason)));
49
+ },
50
+ createGuildTemplate: async (guildId, options)=>{
51
+ return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.createGuildTemplate(guildId, options)));
52
+ },
53
+ createInvite: async (channelId, options, reason)=>{
54
+ return await bot.rest.createInvite(channelId, options, reason);
55
+ },
56
+ createRole: async (guildId, options, reason)=>{
57
+ return bot.transformers.role(bot, {
58
+ role: (0, _utils.snakelize)(await bot.rest.createRole(guildId, options, reason)),
59
+ guildId
60
+ });
61
+ },
62
+ createScheduledEvent: async (guildId, options, reason)=>{
63
+ return bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(await bot.rest.createScheduledEvent(guildId, options, reason)));
64
+ },
65
+ createStageInstance: async (options, reason)=>{
66
+ return bot.transformers.stageInstance(bot, (0, _utils.snakelize)(await bot.rest.createStageInstance(options, reason)));
67
+ },
68
+ createWebhook: async (channelId, options, reason)=>{
69
+ return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.createWebhook(channelId, options, reason)));
70
+ },
71
+ editApplicationCommandPermissions: async (guildId, commandId, bearerToken, options)=>{
72
+ return bot.transformers.applicationCommandPermission(bot, (0, _utils.snakelize)(await bot.rest.editApplicationCommandPermissions(guildId, commandId, bearerToken, options)));
73
+ },
74
+ editAutomodRule: async (guildId, ruleId, options, reason)=>{
75
+ return bot.transformers.automodRule(bot, (0, _utils.snakelize)(await bot.rest.editAutomodRule(guildId, ruleId, options, reason)));
76
+ },
77
+ editBotProfile: async (options)=>{
78
+ return bot.transformers.user(bot, (0, _utils.snakelize)(await bot.rest.editBotProfile(options)));
79
+ },
80
+ editChannel: async (channelId, options, reason)=>{
81
+ return bot.transformers.channel(bot, {
82
+ channel: (0, _utils.snakelize)(await bot.rest.editChannel(channelId, options, reason))
83
+ });
84
+ },
85
+ editEmoji: async (guildId, id, options, reason)=>{
86
+ return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.editEmoji(guildId, id, options, reason)));
87
+ },
88
+ editFollowupMessage: async (token, messageId, options)=>{
89
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.editFollowupMessage(token, messageId, options)));
90
+ },
91
+ editGlobalApplicationCommand: async (commandId, options)=>{
92
+ return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.editGlobalApplicationCommand(commandId, options)));
93
+ },
94
+ editGuild: async (guildId, options, reason)=>{
95
+ return bot.transformers.guild(bot, {
96
+ guild: (0, _utils.snakelize)(await bot.rest.editGuild(guildId, options, reason)),
97
+ shardId: 0
98
+ });
99
+ },
100
+ editGuildApplicationCommand: async (commandId, guildId, options)=>{
101
+ return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.editGuildApplicationCommand(commandId, guildId, options)));
102
+ },
103
+ editGuildSticker: async (guildId, stickerId, options, reason)=>{
104
+ return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.editGuildSticker(guildId, stickerId, options, reason)));
105
+ },
106
+ editGuildTemplate: async (guildId, templateCode, options)=>{
107
+ return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.editGuildTemplate(guildId, templateCode, options)));
108
+ },
109
+ editMessage: async (channelId, messageId, options)=>{
110
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.editMessage(channelId, messageId, options)));
111
+ },
112
+ editOriginalInteractionResponse: async (token, options)=>{
113
+ const result = await bot.rest.editOriginalInteractionResponse(token, options);
114
+ if (!result) return;
115
+ return bot.transformers.message(bot, (0, _utils.snakelize)(result));
116
+ },
117
+ editOriginalWebhookMessage: async (webhookId, token, options)=>{
118
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.editOriginalWebhookMessage(webhookId, token, options)));
119
+ },
120
+ editRole: async (guildId, roleId, options, reason)=>{
121
+ return bot.transformers.role(bot, {
122
+ role: (0, _utils.snakelize)(await bot.rest.editRole(guildId, roleId, options, reason)),
123
+ guildId
124
+ });
125
+ },
126
+ editRolePositions: async (guildId, options, reason)=>{
127
+ return (0, _utils.snakelize)(await bot.rest.editRolePositions(guildId, options, reason)).map((role)=>bot.transformers.role(bot, {
128
+ role,
129
+ guildId
130
+ }));
131
+ },
132
+ editScheduledEvent: async (guildId, eventId, options, reason)=>{
133
+ return bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(await bot.rest.editScheduledEvent(guildId, eventId, options, reason)));
134
+ },
135
+ editStageInstance: async (channelId, topic, reason)=>{
136
+ return bot.transformers.stageInstance(bot, (0, _utils.snakelize)(await bot.rest.editStageInstance(channelId, topic, reason)));
137
+ },
138
+ editWebhook: async (webhookId, options, reason)=>{
139
+ return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.editWebhook(webhookId, options, reason)));
140
+ },
141
+ editWebhookMessage: async (webhookId, token, messageId, options)=>{
142
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.editWebhookMessage(webhookId, token, messageId, options)));
143
+ },
144
+ editWebhookWithToken: async (webhookId, token, options)=>{
145
+ return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.editWebhookWithToken(webhookId, token, options)));
146
+ },
147
+ editWelcomeScreen: async (guildId, options, reason)=>{
148
+ return bot.transformers.welcomeScreen(bot, (0, _utils.snakelize)(await bot.rest.editWelcomeScreen(guildId, options, reason)));
149
+ },
150
+ editWidgetSettings: async (guildId, options, reason)=>{
151
+ return bot.transformers.widgetSettings(bot, (0, _utils.snakelize)(await bot.rest.editWidgetSettings(guildId, options, reason)));
152
+ },
153
+ executeWebhook: async (webhookId, token, options)=>{
154
+ const result = await bot.rest.executeWebhook(webhookId, token, options);
155
+ if (!result) return;
156
+ return bot.transformers.message(bot, (0, _utils.snakelize)(result));
157
+ },
158
+ followAnnouncement: async (sourceChannelId, targetChannelId)=>{
159
+ return await bot.rest.followAnnouncement(sourceChannelId, targetChannelId);
160
+ },
161
+ getActiveThreads: async (guildId)=>{
162
+ const result = await bot.rest.getActiveThreads(guildId);
163
+ return {
164
+ threads: result.threads.map((thread)=>bot.transformers.channel(bot, {
165
+ guildId,
166
+ channel: (0, _utils.snakelize)(thread)
167
+ })),
168
+ members: result.members.map((member)=>bot.transformers.threadMember(bot, (0, _utils.snakelize)(member)))
169
+ };
170
+ },
171
+ getApplicationInfo: async ()=>{
172
+ return bot.transformers.application(bot, (0, _utils.snakelize)(await bot.rest.getApplicationInfo()));
173
+ },
174
+ getCurrentAuthenticationInfo: async (bearerToken)=>{
175
+ return await bot.rest.getCurrentAuthenticationInfo(bearerToken);
176
+ },
177
+ exchangeToken: async (clientId, clientSecret, options)=>{
178
+ return await bot.rest.exchangeToken(clientId, clientSecret, options);
179
+ },
180
+ revokeToken: async (clientId, clientSecret, options)=>{
181
+ return await bot.rest.revokeToken(clientId, clientSecret, options);
182
+ },
183
+ getApplicationCommandPermission: async (guildId, commandId, options)=>{
184
+ const res = await bot.rest.getApplicationCommandPermission(guildId, commandId, options);
185
+ const snakedRes = (0, _utils.snakelize)(res);
186
+ return bot.transformers.applicationCommandPermission(bot, snakedRes);
187
+ },
188
+ getApplicationCommandPermissions: async (guildId, options)=>{
189
+ return (await bot.rest.getApplicationCommandPermissions(guildId, options)).map((res)=>bot.transformers.applicationCommandPermission(bot, (0, _utils.snakelize)(res)));
190
+ },
191
+ getAuditLog: async (guildId, options)=>{
192
+ return await bot.rest.getAuditLog(guildId, options);
193
+ },
194
+ getAutomodRule: async (guildId, ruleId)=>{
195
+ return bot.transformers.automodRule(bot, (0, _utils.snakelize)(await bot.rest.getAutomodRule(guildId, ruleId)));
196
+ },
197
+ getAutomodRules: async (guildId)=>{
198
+ return (await bot.rest.getAutomodRules(guildId)).map((res)=>bot.transformers.automodRule(bot, (0, _utils.snakelize)(res)));
199
+ },
200
+ getAvailableVoiceRegions: async ()=>{
201
+ return (await bot.rest.getAvailableVoiceRegions()).map((res)=>bot.transformers.voiceRegion(bot, (0, _utils.snakelize)(res)));
202
+ },
203
+ getBan: async (guildId, userId)=>{
204
+ return await bot.rest.getBan(guildId, userId);
205
+ },
206
+ getBans: async (guildId, options)=>{
207
+ return await bot.rest.getBans(guildId, options);
208
+ },
209
+ getChannel: async (channelId)=>{
210
+ return bot.transformers.channel(bot, {
211
+ channel: (0, _utils.snakelize)(await bot.rest.getChannel(channelId))
212
+ });
213
+ },
214
+ getChannelInvites: async (channelId)=>{
215
+ return await bot.rest.getChannelInvites(channelId);
216
+ // return (await bot.rest.getChannelInvites(channelId)).map((res) => bot.transformers.invite(bot, snakelize(res)))
217
+ },
218
+ getChannels: async (guildId)=>{
219
+ return (await bot.rest.getChannels(guildId)).map((res)=>bot.transformers.channel(bot, {
220
+ channel: (0, _utils.snakelize)(res),
221
+ guildId
222
+ }));
223
+ },
224
+ getChannelWebhooks: async (channelId)=>{
225
+ return (await bot.rest.getChannelWebhooks(channelId)).map((res)=>bot.transformers.webhook(bot, (0, _utils.snakelize)(res)));
226
+ },
227
+ getDmChannel: async (userId)=>{
228
+ return bot.transformers.channel(bot, {
229
+ channel: (0, _utils.snakelize)(await bot.rest.getDmChannel(userId))
230
+ });
231
+ },
232
+ getGroupDmChannel: async (options)=>{
233
+ return bot.transformers.channel(bot, {
234
+ channel: (0, _utils.snakelize)(await bot.rest.getGroupDmChannel(options))
235
+ });
236
+ },
237
+ getEmoji: async (guildId, emojiId)=>{
238
+ return bot.transformers.emoji(bot, (0, _utils.snakelize)(await bot.rest.getEmoji(guildId, emojiId)));
239
+ },
240
+ getEmojis: async (guildId)=>{
241
+ return (await bot.rest.getEmojis(guildId)).map((res)=>bot.transformers.emoji(bot, (0, _utils.snakelize)(res)));
242
+ },
243
+ getFollowupMessage: async (token, messageId)=>{
244
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.getFollowupMessage(token, messageId)));
245
+ },
246
+ getGatewayBot: async ()=>{
247
+ return bot.transformers.gatewayBot(bot, (0, _utils.snakelize)(await bot.rest.getGatewayBot()));
248
+ },
249
+ getGlobalApplicationCommand: async (commandId)=>{
250
+ return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.getGlobalApplicationCommand(commandId)));
251
+ },
252
+ getGlobalApplicationCommands: async ()=>{
253
+ return (await bot.rest.getGlobalApplicationCommands()).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
254
+ },
255
+ getGuild: async (guildId, options)=>{
256
+ return bot.transformers.guild(bot, {
257
+ guild: (0, _utils.snakelize)(await bot.rest.getGuild(guildId, options)),
258
+ shardId: 0
259
+ });
260
+ },
261
+ getGuilds: async (bearerToken, options)=>{
262
+ return await bot.rest.getGuilds(bearerToken, options);
263
+ },
264
+ getGuildApplicationCommand: async (commandId, guildId)=>{
265
+ return bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(await bot.rest.getGuildApplicationCommand(commandId, guildId)));
266
+ },
267
+ getGuildApplicationCommands: async (guildId)=>{
268
+ return (await bot.rest.getGuildApplicationCommands(guildId)).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
269
+ },
270
+ getGuildPreview: async (guildId)=>{
271
+ return await bot.rest.getGuildPreview(guildId);
272
+ // return bot.transformers.xxx(bot, snakelize(await bot.rest.getGuildPreview(guildId)))
273
+ },
274
+ getGuildSticker: async (guildId, stickerId)=>{
275
+ return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.getGuildSticker(guildId, stickerId)));
276
+ },
277
+ getGuildStickers: async (guildId)=>{
278
+ return (await bot.rest.getGuildStickers(guildId)).map((res)=>bot.transformers.sticker(bot, (0, _utils.snakelize)(res)));
279
+ },
280
+ getGuildTemplate: async (templateCode)=>{
281
+ return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.getGuildTemplate(templateCode)));
282
+ },
283
+ getGuildTemplates: async (guildId)=>{
284
+ return (await bot.rest.getGuildTemplates(guildId)).map((res)=>bot.transformers.template(bot, (0, _utils.snakelize)(res)));
285
+ },
286
+ getGuildWebhooks: async (guildId)=>{
287
+ return (await bot.rest.getGuildWebhooks(guildId)).map((res)=>bot.transformers.webhook(bot, (0, _utils.snakelize)(res)));
288
+ },
289
+ getIntegrations: async (guildId)=>{
290
+ return (await bot.rest.getIntegrations(guildId)).map((res)=>bot.transformers.integration(bot, (0, _utils.snakelize)({
291
+ ...res,
292
+ guildId: guildId.toString()
293
+ })));
294
+ },
295
+ getInvite: async (inviteCode, options)=>{
296
+ return bot.transformers.invite(bot, (0, _utils.snakelize)(await bot.rest.getInvite(inviteCode, options)));
297
+ },
298
+ getInvites: async (guildId)=>{
299
+ return (await bot.rest.getInvites(guildId)).map((res)=>bot.transformers.invite(bot, (0, _utils.snakelize)(res)));
300
+ },
301
+ getMessage: async (channelId, messageId)=>{
302
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.getMessage(channelId, messageId)));
303
+ },
304
+ getMessages: async (channelId, options)=>{
305
+ return (await bot.rest.getMessages(channelId, options)).map((res)=>bot.transformers.message(bot, (0, _utils.snakelize)(res)));
306
+ },
307
+ getNitroStickerPacks: async ()=>{
308
+ return (await bot.rest.getNitroStickerPacks()).map((res)=>bot.transformers.stickerPack(bot, (0, _utils.snakelize)(res)));
309
+ },
310
+ getOriginalInteractionResponse: async (token)=>{
311
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.getOriginalInteractionResponse(token)));
312
+ },
313
+ getPinnedMessages: async (channelId)=>{
314
+ return (await bot.rest.getPinnedMessages(channelId)).map((res)=>bot.transformers.message(bot, (0, _utils.snakelize)(res)));
315
+ },
316
+ getPrivateArchivedThreads: async (channelId, options)=>{
317
+ return await bot.rest.getPrivateArchivedThreads(channelId, options);
318
+ // return bot.transformers.xxx(bot, snakelize(await bot.rest.getPrivateArchivedThreads(channelId, options)))
319
+ },
320
+ getPrivateJoinedArchivedThreads: async (channelId, options)=>{
321
+ return await bot.rest.getPrivateJoinedArchivedThreads(channelId, options);
322
+ // return bot.transformers.xxx(bot, snakelize(await bot.rest.getPrivateJoinedArchivedThreads(channelId, options)))
323
+ },
324
+ getPruneCount: async (guildId, options)=>{
325
+ return await bot.rest.getPruneCount(guildId, options);
326
+ // return bot.transformers.xxx(bot, snakelize(await bot.rest.getPruneCount(guildId, options)))
327
+ },
328
+ getPublicArchivedThreads: async (channelId, options)=>{
329
+ return await bot.rest.getPublicArchivedThreads(channelId, options);
330
+ // return bot.transformers.xxx(bot, snakelize(await bot.rest.getPublicArchivedThreads(channelId, options)))
331
+ },
332
+ getRoles: async (guildId)=>{
333
+ return (0, _utils.snakelize)(await bot.rest.getRoles(guildId)).map((role)=>bot.transformers.role(bot, {
334
+ role,
335
+ guildId
336
+ }));
337
+ },
338
+ getScheduledEvent: async (guildId, eventId, options)=>{
339
+ return bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(await bot.rest.getScheduledEvent(guildId, eventId, options)));
340
+ },
341
+ getScheduledEvents: async (guildId, options)=>{
342
+ return (await bot.rest.getScheduledEvents(guildId, options)).map((res)=>bot.transformers.scheduledEvent(bot, (0, _utils.snakelize)(res)));
343
+ },
344
+ getScheduledEventUsers: async (guildId, eventId, options)=>{
345
+ return (await bot.rest.getScheduledEventUsers(guildId, eventId, options)).map((u)=>{
346
+ return {
347
+ user: bot.transformers.user(bot, (0, _utils.snakelize)(u.user)),
348
+ member: u.member && bot.transformers.member(bot, (0, _utils.snakelize)(u.member), guildId, bot.transformers.snowflake(u.user.id))
349
+ };
350
+ });
351
+ },
352
+ getSessionInfo: async ()=>{
353
+ return bot.transformers.gatewayBot(bot, (0, _utils.snakelize)(await bot.rest.getSessionInfo()));
354
+ },
355
+ getStageInstance: async (channelId)=>{
356
+ return bot.transformers.stageInstance(bot, (0, _utils.snakelize)(await bot.rest.getStageInstance(channelId)));
357
+ },
358
+ getSticker: async (stickerId)=>{
359
+ return bot.transformers.sticker(bot, (0, _utils.snakelize)(await bot.rest.getSticker(stickerId)));
360
+ },
361
+ getThreadMember: async (channelId, userId)=>{
362
+ return bot.transformers.threadMember(bot, (0, _utils.snakelize)(await bot.rest.getThreadMember(channelId, userId)));
363
+ },
364
+ getThreadMembers: async (channelId)=>{
365
+ return (await bot.rest.getThreadMembers(channelId)).map((res)=>bot.transformers.threadMember(bot, (0, _utils.snakelize)(res)));
366
+ },
367
+ getReactions: async (channelId, messageId, reaction, options)=>{
368
+ return (await bot.rest.getReactions(channelId, messageId, reaction, options)).map((res)=>bot.transformers.user(bot, (0, _utils.snakelize)(res)));
369
+ },
370
+ getUser: async (id)=>{
371
+ return bot.transformers.user(bot, (0, _utils.snakelize)(await bot.rest.getUser(id)));
372
+ },
373
+ getCurrentUser: async (bearerToken)=>{
374
+ return bot.transformers.user(bot, (0, _utils.snakelize)(await bot.rest.getCurrentUser(bearerToken)));
375
+ },
376
+ getUserConnections: async (bearerToken)=>{
377
+ return await bot.rest.getUserConnections(bearerToken);
378
+ },
379
+ getUserApplicationRoleConnection: async (bearerToken, applicationId)=>{
380
+ return await bot.rest.getUserApplicationRoleConnection(bearerToken, applicationId);
381
+ },
382
+ getVanityUrl: async (guildId)=>{
383
+ return await bot.rest.getVanityUrl(guildId);
384
+ },
385
+ getVoiceRegions: async (guildId)=>{
386
+ return (await bot.rest.getVoiceRegions(guildId)).map((res)=>bot.transformers.voiceRegion(bot, (0, _utils.snakelize)(res)));
387
+ },
388
+ getWebhook: async (webhookId)=>{
389
+ return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.getWebhook(webhookId)));
390
+ },
391
+ getWebhookMessage: async (webhookId, token, messageId, options)=>{
392
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.getWebhookMessage(webhookId, token, messageId, options)));
393
+ },
394
+ getWebhookWithToken: async (webhookId, token)=>{
395
+ return bot.transformers.webhook(bot, (0, _utils.snakelize)(await bot.rest.getWebhookWithToken(webhookId, token)));
396
+ },
397
+ getWelcomeScreen: async (guildId)=>{
398
+ return bot.transformers.welcomeScreen(bot, (0, _utils.snakelize)(await bot.rest.getWelcomeScreen(guildId)));
399
+ },
400
+ getWidget: async (guildId)=>{
401
+ return bot.transformers.widget(bot, (0, _utils.snakelize)(await bot.rest.getWidget(guildId)));
402
+ },
403
+ getWidgetSettings: async (guildId)=>{
404
+ return bot.transformers.widgetSettings(bot, (0, _utils.snakelize)(await bot.rest.getWidgetSettings(guildId)));
405
+ },
406
+ publishMessage: async (channelId, messageId)=>{
407
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.publishMessage(channelId, messageId)));
408
+ },
409
+ sendMessage: async (channelId, options)=>{
410
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.sendMessage(channelId, options)));
411
+ },
412
+ sendFollowupMessage: async (token, options)=>{
413
+ return bot.transformers.message(bot, (0, _utils.snakelize)(await bot.rest.sendFollowupMessage(token, options)));
414
+ },
415
+ startThreadWithMessage: async (channelId, messageId, options, reason)=>{
416
+ return bot.transformers.channel(bot, {
417
+ channel: (0, _utils.snakelize)(await bot.rest.startThreadWithMessage(channelId, messageId, options, reason))
418
+ });
419
+ },
420
+ startThreadWithoutMessage: async (channelId, options, reason)=>{
421
+ return bot.transformers.channel(bot, {
422
+ channel: (0, _utils.snakelize)(await bot.rest.startThreadWithoutMessage(channelId, options, reason))
423
+ });
424
+ },
425
+ syncGuildTemplate: async (guildId)=>{
426
+ return bot.transformers.template(bot, (0, _utils.snakelize)(await bot.rest.syncGuildTemplate(guildId)));
427
+ },
428
+ upsertGlobalApplicationCommands: async (commands, options)=>{
429
+ return (await bot.rest.upsertGlobalApplicationCommands(commands, options)).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
430
+ },
431
+ upsertGuildApplicationCommands: async (guildId, commands, options)=>{
432
+ return (await bot.rest.upsertGuildApplicationCommands(guildId, commands, options)).map((res)=>bot.transformers.applicationCommand(bot, (0, _utils.snakelize)(res)));
433
+ },
434
+ editBotMember: async (guildId, options, reason)=>{
435
+ return bot.transformers.member(bot, (0, _utils.snakelize)(await bot.rest.editBotMember(guildId, options, reason)), guildId, bot.id);
436
+ },
437
+ editMember: async (guildId, userId, options, reason)=>{
438
+ return bot.transformers.member(bot, (0, _utils.snakelize)(await bot.rest.editMember(guildId, userId, options, reason)), guildId, userId);
439
+ },
440
+ getMember: async (guildId, userId)=>{
441
+ return bot.transformers.member(bot, (0, _utils.snakelize)(await bot.rest.getMember(guildId, userId)), guildId, userId);
442
+ },
443
+ getCurrentMember: async (guildId, bearerToken)=>{
444
+ const res = await bot.rest.getCurrentMember(guildId, bearerToken);
445
+ return bot.transformers.member(bot, (0, _utils.snakelize)(res), guildId, bot.transformers.snowflake(res.user.id));
446
+ },
447
+ getMembers: async (guildId, options)=>{
448
+ return (await bot.rest.getMembers(guildId, options)).map((res)=>bot.transformers.member(bot, (0, _utils.snakelize)(res), guildId, bot.transformers.snowflake(res.user.id)));
449
+ },
450
+ pruneMembers: async (guildId, options, reason)=>{
451
+ return await bot.rest.pruneMembers(guildId, options, reason);
452
+ },
453
+ searchMembers: async (guildId, query, options)=>{
454
+ return (await bot.rest.searchMembers(guildId, query, options)).map((res)=>bot.transformers.member(bot, (0, _utils.snakelize)(res), guildId, bot.transformers.snowflake(res.user.id)));
455
+ },
456
+ // All useless void return functions here
457
+ addReaction: async (channelId, messageId, reaction)=>{
458
+ return await bot.rest.addReaction(channelId, messageId, reaction);
459
+ },
460
+ addReactions: async (channelId, messageId, reactions, ordered)=>{
461
+ return await bot.rest.addReactions(channelId, messageId, reactions, ordered);
462
+ },
463
+ addRole: async (guildId, userId, roleId, reason)=>{
464
+ return await bot.rest.addRole(guildId, userId, roleId, reason);
465
+ },
466
+ addThreadMember: async (channelId, userId)=>{
467
+ return await bot.rest.addThreadMember(channelId, userId);
468
+ },
469
+ addDmRecipient: async (channelId, userId, options)=>{
470
+ return await bot.rest.addDmRecipient(channelId, userId, options);
471
+ },
472
+ addGuildMember: async (guildId, userId, options)=>{
473
+ return await bot.rest.addGuildMember(guildId, userId, options);
474
+ },
475
+ deleteAutomodRule: async (guildId, ruleId, reason)=>{
476
+ return await bot.rest.deleteAutomodRule(guildId, ruleId, reason);
477
+ },
478
+ deleteChannel: async (channelId, reason)=>{
479
+ return await bot.rest.deleteChannel(channelId, reason);
480
+ },
481
+ deleteChannelPermissionOverride: async (channelId, overwriteId, reason)=>{
482
+ return await bot.rest.deleteChannelPermissionOverride(channelId, overwriteId, reason);
483
+ },
484
+ deleteEmoji: async (guildId, id, reason)=>{
485
+ return await bot.rest.deleteEmoji(guildId, id, reason);
486
+ },
487
+ deleteFollowupMessage: async (token, messageId)=>{
488
+ return await bot.rest.deleteFollowupMessage(token, messageId);
489
+ },
490
+ deleteGlobalApplicationCommand: async (commandId)=>{
491
+ return await bot.rest.deleteGlobalApplicationCommand(commandId);
492
+ },
493
+ deleteGuild: async (guildId)=>{
494
+ return await bot.rest.deleteGuild(guildId);
495
+ },
496
+ deleteGuildApplicationCommand: async (commandId, guildId)=>{
497
+ return await bot.rest.deleteGuildApplicationCommand(commandId, guildId);
498
+ },
499
+ deleteGuildSticker: async (guildId, stickerId, reason)=>{
500
+ return await bot.rest.deleteGuildSticker(guildId, stickerId, reason);
501
+ },
502
+ deleteGuildTemplate: async (guildId, templateCode)=>{
503
+ return await bot.rest.deleteGuildTemplate(guildId, templateCode);
504
+ },
505
+ deleteIntegration: async (guildId, integrationId, reason)=>{
506
+ return await bot.rest.deleteIntegration(guildId, integrationId, reason);
507
+ },
508
+ deleteInvite: async (inviteCode, reason)=>{
509
+ return await bot.rest.deleteInvite(inviteCode, reason);
510
+ },
511
+ deleteMessage: async (channelId, messageId, reason)=>{
512
+ return await bot.rest.deleteMessage(channelId, messageId, reason);
513
+ },
514
+ deleteMessages: async (channelId, messageIds, reason)=>{
515
+ return await bot.rest.deleteMessages(channelId, messageIds, reason);
516
+ },
517
+ deleteOriginalInteractionResponse: async (token)=>{
518
+ return await bot.rest.deleteOriginalInteractionResponse(token);
519
+ },
520
+ deleteOwnReaction: async (channelId, messageId, reaction)=>{
521
+ return await bot.rest.deleteOwnReaction(channelId, messageId, reaction);
522
+ },
523
+ deleteReactionsAll: async (channelId, messageId)=>{
524
+ return await bot.rest.deleteReactionsAll(channelId, messageId);
525
+ },
526
+ deleteReactionsEmoji: async (channelId, messageId, reaction)=>{
527
+ return await bot.rest.deleteReactionsEmoji(channelId, messageId, reaction);
528
+ },
529
+ deleteRole: async (guildId, roleId, reason)=>{
530
+ return await bot.rest.deleteRole(guildId, roleId, reason);
531
+ },
532
+ deleteScheduledEvent: async (guildId, eventId)=>{
533
+ return await bot.rest.deleteScheduledEvent(guildId, eventId);
534
+ },
535
+ deleteStageInstance: async (channelId, reason)=>{
536
+ return await bot.rest.deleteStageInstance(channelId, reason);
537
+ },
538
+ deleteUserReaction: async (channelId, messageId, userId, reaction)=>{
539
+ return await bot.rest.deleteUserReaction(channelId, messageId, userId, reaction);
540
+ },
541
+ deleteWebhook: async (webhookId, reason)=>{
542
+ return await bot.rest.deleteWebhook(webhookId, reason);
543
+ },
544
+ deleteWebhookMessage: async (webhookId, token, messageId, options)=>{
545
+ return await bot.rest.deleteWebhookMessage(webhookId, token, messageId, options);
546
+ },
547
+ deleteWebhookWithToken: async (webhookId, token)=>{
548
+ return await bot.rest.deleteWebhookWithToken(webhookId, token);
549
+ },
550
+ editChannelPermissionOverrides: async (channelId, options, reason)=>{
551
+ return await bot.rest.editChannelPermissionOverrides(channelId, options, reason);
552
+ },
553
+ editChannelPositions: async (guildId, channelPositions)=>{
554
+ return await bot.rest.editChannelPositions(guildId, channelPositions);
555
+ },
556
+ editGuildMfaLevel: async (guildId, mfaLevel, reason)=>{
557
+ return await bot.rest.editGuildMfaLevel(guildId, mfaLevel, reason);
558
+ },
559
+ editOwnVoiceState: async (guildId, options)=>{
560
+ return await bot.rest.editOwnVoiceState(guildId, options);
561
+ },
562
+ editUserVoiceState: async (guildId, options)=>{
563
+ return await bot.rest.editUserVoiceState(guildId, options);
564
+ },
565
+ editUserApplicationRoleConnection: async (bearerToken, applicationId, options)=>{
566
+ return await bot.rest.editUserApplicationRoleConnection(bearerToken, applicationId, options);
567
+ },
568
+ joinThread: async (channelId)=>{
569
+ return await bot.rest.joinThread(channelId);
570
+ },
571
+ leaveGuild: async (guildId)=>{
572
+ return await bot.rest.leaveGuild(guildId);
573
+ },
574
+ leaveThread: async (channelId)=>{
575
+ return await bot.rest.leaveThread(channelId);
576
+ },
577
+ removeRole: async (guildId, userId, roleId, reason)=>{
578
+ return await bot.rest.removeRole(guildId, userId, roleId, reason);
579
+ },
580
+ removeThreadMember: async (channelId, userId)=>{
581
+ return await bot.rest.removeThreadMember(channelId, userId);
582
+ },
583
+ removeDmRecipient: async (channelId, userId)=>{
584
+ return await bot.rest.removeDmRecipient(channelId, userId);
585
+ },
586
+ sendInteractionResponse: async (interactionId, token, options)=>{
587
+ return await bot.rest.sendInteractionResponse(interactionId, token, options);
588
+ },
589
+ triggerTypingIndicator: async (channelId)=>{
590
+ return await bot.rest.triggerTypingIndicator(channelId);
591
+ },
592
+ banMember: async (guildId, userId, options, reason)=>{
593
+ return await bot.rest.banMember(guildId, userId, options, reason);
594
+ },
595
+ kickMember: async (guildId, userId, reason)=>{
596
+ return await bot.rest.kickMember(guildId, userId, reason);
597
+ },
598
+ pinMessage: async (channelId, messageId, reason)=>{
599
+ return await bot.rest.pinMessage(channelId, messageId, reason);
600
+ },
601
+ unbanMember: async (guildId, userId, reason)=>{
602
+ return await bot.rest.unbanMember(guildId, userId, reason);
603
+ },
604
+ unpinMessage: async (channelId, messageId, reason)=>{
605
+ return await bot.rest.unpinMessage(channelId, messageId, reason);
606
+ }
607
+ };
608
+ }
609
+
610
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlV2ViaG9vayB9IGZyb20gJ0BkaXNjb3JkZW5vL3Jlc3QnXG5pbXBvcnQgdHlwZSB7XG4gIEFkZERtUmVjaXBpZW50T3B0aW9ucyxcbiAgQWRkR3VpbGRNZW1iZXJPcHRpb25zLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgQXRMZWFzdE9uZSxcbiAgQmVnaW5HdWlsZFBydW5lLFxuICBCaWdTdHJpbmcsXG4gIENhbWVsaXplZERpc2NvcmRBY2Nlc3NUb2tlblJlc3BvbnNlLFxuICBDYW1lbGl6ZWREaXNjb3JkQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEFyY2hpdmVkVGhyZWFkcyxcbiAgQ2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nLFxuICBDYW1lbGl6ZWREaXNjb3JkQmFuLFxuICBDYW1lbGl6ZWREaXNjb3JkQ29ubmVjdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZEN1cnJlbnRBdXRob3JpemF0aW9uLFxuICBDYW1lbGl6ZWREaXNjb3JkRm9sbG93ZWRDaGFubmVsLFxuICBDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdCxcbiAgQ2FtZWxpemVkRGlzY29yZEd1aWxkUHJldmlldyxcbiAgQ2FtZWxpemVkRGlzY29yZEd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIENhbWVsaXplZERpc2NvcmRJbnZpdGUsXG4gIENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YSxcbiAgQ2FtZWxpemVkRGlzY29yZE1vZGlmeUd1aWxkV2VsY29tZVNjcmVlbixcbiAgQ2FtZWxpemVkRGlzY29yZFBhcnRpYWxHdWlsZCxcbiAgQ2FtZWxpemVkRGlzY29yZFBydW5lZENvdW50LFxuICBDYW1lbGl6ZWREaXNjb3JkVG9rZW5FeGNoYW5nZSxcbiAgQ2FtZWxpemVkRGlzY29yZFRva2VuUmV2b2NhdGlvbixcbiAgQ2FtZWxpemVkRGlzY29yZFZhbml0eVVybCxcbiAgQ2FtZWxpemVkRGlzY29yZFZvaWNlUmVnaW9uLFxuICBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsXG4gIENyZWF0ZUNoYW5uZWxJbnZpdGUsXG4gIENyZWF0ZUZvcnVtUG9zdFdpdGhNZXNzYWdlLFxuICBDcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICBDcmVhdGVHdWlsZCxcbiAgQ3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICBDcmVhdGVHdWlsZEJhbixcbiAgQ3JlYXRlR3VpbGRDaGFubmVsLFxuICBDcmVhdGVHdWlsZEVtb2ppLFxuICBDcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSxcbiAgQ3JlYXRlR3VpbGRSb2xlLFxuICBDcmVhdGVHdWlsZFN0aWNrZXJPcHRpb25zLFxuICBDcmVhdGVNZXNzYWdlT3B0aW9ucyxcbiAgQ3JlYXRlU2NoZWR1bGVkRXZlbnQsXG4gIENyZWF0ZVN0YWdlSW5zdGFuY2UsXG4gIENyZWF0ZVRlbXBsYXRlLFxuICBEZWxldGVXZWJob29rTWVzc2FnZU9wdGlvbnMsXG4gIERpc2NvcmRNZXNzYWdlLFxuICBFZGl0QXV0b01vZGVyYXRpb25SdWxlT3B0aW9ucyxcbiAgRWRpdEJvdE1lbWJlck9wdGlvbnMsXG4gIEVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlc09wdGlvbnMsXG4gIEVkaXRHdWlsZFJvbGUsXG4gIEVkaXRHdWlsZFN0aWNrZXJPcHRpb25zLFxuICBFZGl0TWVzc2FnZSxcbiAgRWRpdE93blZvaWNlU3RhdGUsXG4gIEVkaXRTY2hlZHVsZWRFdmVudCxcbiAgRWRpdFVzZXJWb2ljZVN0YXRlLFxuICBFeGVjdXRlV2ViaG9vayxcbiAgR2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbk9wdGlvbnMsXG4gIEdldEJhbnMsXG4gIEdldEdyb3VwRG1PcHRpb25zLFxuICBHZXRHdWlsZEF1ZGl0TG9nLFxuICBHZXRHdWlsZFBydW5lQ291bnRRdWVyeSxcbiAgR2V0SW52aXRlLFxuICBHZXRNZXNzYWdlc09wdGlvbnMsXG4gIEdldFJlYWN0aW9ucyxcbiAgR2V0U2NoZWR1bGVkRXZlbnRzLFxuICBHZXRTY2hlZHVsZWRFdmVudFVzZXJzLFxuICBHZXRVc2VyR3VpbGRzLFxuICBHZXRXZWJob29rTWVzc2FnZU9wdGlvbnMsXG4gIEludGVyYWN0aW9uQ2FsbGJhY2tEYXRhLFxuICBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICBMaXN0QXJjaGl2ZWRUaHJlYWRzLFxuICBMaXN0R3VpbGRNZW1iZXJzLFxuICBNZmFMZXZlbHMsXG4gIE1vZGlmeUNoYW5uZWwsXG4gIE1vZGlmeUd1aWxkLFxuICBNb2RpZnlHdWlsZENoYW5uZWxQb3NpdGlvbnMsXG4gIE1vZGlmeUd1aWxkRW1vamksXG4gIE1vZGlmeUd1aWxkTWVtYmVyLFxuICBNb2RpZnlHdWlsZFRlbXBsYXRlLFxuICBNb2RpZnlSb2xlUG9zaXRpb25zLFxuICBNb2RpZnlXZWJob29rLFxuICBTZWFyY2hNZW1iZXJzLFxuICBTdGFydFRocmVhZFdpdGhNZXNzYWdlLFxuICBTdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlLFxuICBVcHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICBVcHNlcnRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgc25ha2VsaXplIH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4vYm90LmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBcHBsaWNhdGlvbkNvbW1hbmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmQuanMnXG5pbXBvcnQgdHlwZSB7IEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uLmpzJ1xuaW1wb3J0IHR5cGUgeyBBdXRvTW9kZXJhdGlvblJ1bGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kUnVsZS5qcydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2NoYW5uZWwuanMnXG5pbXBvcnQgdHlwZSB7IEVtb2ppIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1vamkuanMnXG5pbXBvcnQgdHlwZSB7IEd1aWxkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ3VpbGQuanMnXG5pbXBvcnQgdHlwZSB7IEludGVncmF0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24uanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2ludml0ZS5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVtYmVyLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvbWVzc2FnZS5qcydcbmltcG9ydCB0eXBlIHsgUm9sZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JvbGUuanMnXG5pbXBvcnQgdHlwZSB7IFNjaGVkdWxlZEV2ZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvc2NoZWR1bGVkRXZlbnQuanMnXG5pbXBvcnQgdHlwZSB7IFN0YWdlSW5zdGFuY2UgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdGFnZUluc3RhbmNlLmpzJ1xuaW1wb3J0IHR5cGUgeyBTdGlja2VyLCBTdGlja2VyUGFjayB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0aWNrZXIuanMnXG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGVtcGxhdGUuanMnXG5pbXBvcnQgdHlwZSB7IFRocmVhZE1lbWJlciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RocmVhZE1lbWJlci5qcydcbmltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3VzZXIuanMnXG5pbXBvcnQgdHlwZSB7IFdlYmhvb2sgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93ZWJob29rLmpzJ1xuaW1wb3J0IHR5cGUgeyBXZWxjb21lU2NyZWVuIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2VsY29tZVNjcmVlbi5qcydcbmltcG9ydCB0eXBlIHsgR3VpbGRXaWRnZXQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXQuanMnXG5pbXBvcnQgdHlwZSB7IEd1aWxkV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXRTZXR0aW5ncy5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJvdEhlbHBlcnMoYm90OiBCb3QpOiBCb3RIZWxwZXJzIHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGVBdXRvbW9kUnVsZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXV0b21vZFJ1bGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlQXV0b21vZFJ1bGUoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBjcmVhdGVDaGFubmVsOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlQ2hhbm5lbChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSwgZ3VpbGRJZCB9KVxuICAgIH0sXG4gICAgY3JlYXRlRW1vamk6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUVtb2ppKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgY3JlYXRlRm9ydW1UaHJlYWQ6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUZvcnVtVGhyZWFkKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogYXN5bmMgKGNvbW1hbmQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGQ6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZChvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZCwgZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kKGNvbW1hbmQsIGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlOiBhc3luYyAodGVtcGxhdGVDb2RlLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSh0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpKSwgc2hhcmRJZDogMCB9KVxuICAgIH0sXG4gICAgY3JlYXRlR3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZUd1aWxkU3RpY2tlcihndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZUd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGNyZWF0ZUludml0ZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuY3JlYXRlSW52aXRlKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgY3JlYXRlUm9sZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmNyZWF0ZVJvbGUoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVTY2hlZHVsZWRFdmVudChndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZVN0YWdlSW5zdGFuY2U6IGFzeW5jIChvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0YWdlSW5zdGFuY2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuY3JlYXRlU3RhZ2VJbnN0YW5jZShvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGNyZWF0ZVdlYmhvb2s6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2ViaG9vayhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5jcmVhdGVXZWJob29rKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IGFzeW5jIChndWlsZElkLCBjb21tYW5kSWQsIGJlYXJlclRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKFxuICAgICAgICBib3QsXG4gICAgICAgIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMoZ3VpbGRJZCwgY29tbWFuZElkLCBiZWFyZXJUb2tlbiwgb3B0aW9ucykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZWRpdEF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgcnVsZUlkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmF1dG9tb2RSdWxlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRBdXRvbW9kUnVsZShndWlsZElkLCBydWxlSWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEJvdFByb2ZpbGU6IGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRCb3RQcm9maWxlKG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Q2hhbm5lbChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikpIH0pXG4gICAgfSxcbiAgICBlZGl0RW1vamk6IGFzeW5jIChndWlsZElkLCBpZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0RW1vamkoZ3VpbGRJZCwgaWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEZvbGxvd3VwTWVzc2FnZTogYXN5bmMgKHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGVkaXRHdWlsZDogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGQoYm90LCB7IGd1aWxkOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBzaGFyZElkOiAwIH0pXG4gICAgfSxcbiAgICBlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBndWlsZElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBlZGl0R3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXIoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdEd1aWxkU3RpY2tlcihndWlsZElkLCBzdGlja2VySWQsIG9wdGlvbnMsIHJlYXNvbikpKVxuICAgIH0sXG4gICAgZWRpdEd1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkLCB0ZW1wbGF0ZUNvZGUsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnRlbXBsYXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZFRlbXBsYXRlKGd1aWxkSWQsIHRlbXBsYXRlQ29kZSwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0TWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgb3B0aW9ucykpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZWRpdE9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBib3QucmVzdC5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRva2VuLCBvcHRpb25zKVxuICAgICAgaWYgKCFyZXN1bHQpIHJldHVyblxuXG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKHJlc3VsdCkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdE9yaWdpbmFsV2ViaG9va01lc3NhZ2Uod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZWRpdFJvbGU6IGFzeW5jIChndWlsZElkLCByb2xlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMucm9sZShib3QsIHsgcm9sZTogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRSb2xlKGd1aWxkSWQsIHJvbGVJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQgfSlcbiAgICB9LFxuICAgIGVkaXRSb2xlUG9zaXRpb25zOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRSb2xlUG9zaXRpb25zKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLm1hcCgocm9sZSkgPT4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZWRpdFNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0U2NoZWR1bGVkRXZlbnQoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0U3RhZ2VJbnN0YW5jZTogYXN5bmMgKGNoYW5uZWxJZCwgdG9waWMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RhZ2VJbnN0YW5jZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0U3RhZ2VJbnN0YW5jZShjaGFubmVsSWQsIHRvcGljLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2sod2ViaG9va0lkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGVkaXRXZWJob29rTWVzc2FnZTogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0V2ViaG9va01lc3NhZ2Uod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSkgYXMgRGlzY29yZE1lc3NhZ2UpXG4gICAgfSxcbiAgICBlZGl0V2ViaG9va1dpdGhUb2tlbjogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZWRpdFdlbGNvbWVTY3JlZW46IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlbGNvbWVTY3JlZW4oYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZWRpdFdlbGNvbWVTY3JlZW4oZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSkpXG4gICAgfSxcbiAgICBlZGl0V2lkZ2V0U2V0dGluZ3M6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldFNldHRpbmdzKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmVkaXRXaWRnZXRTZXR0aW5ncyhndWlsZElkLCBvcHRpb25zLCByZWFzb24pKSlcbiAgICB9LFxuICAgIGV4ZWN1dGVXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYm90LnJlc3QuZXhlY3V0ZVdlYmhvb2sod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucylcbiAgICAgIGlmICghcmVzdWx0KSByZXR1cm5cblxuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShyZXN1bHQpIGFzIERpc2NvcmRNZXNzYWdlKVxuICAgIH0sXG4gICAgZm9sbG93QW5ub3VuY2VtZW50OiBhc3luYyAoc291cmNlQ2hhbm5lbElkLCB0YXJnZXRDaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5mb2xsb3dBbm5vdW5jZW1lbnQoc291cmNlQ2hhbm5lbElkLCB0YXJnZXRDaGFubmVsSWQpXG4gICAgfSxcbiAgICBnZXRBY3RpdmVUaHJlYWRzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYm90LnJlc3QuZ2V0QWN0aXZlVGhyZWFkcyhndWlsZElkKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGhyZWFkczogcmVzdWx0LnRocmVhZHMubWFwKCh0aHJlYWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgZ3VpbGRJZCwgY2hhbm5lbDogc25ha2VsaXplKHRocmVhZCkgfSkpLFxuICAgICAgICBtZW1iZXJzOiByZXN1bHQubWVtYmVycy5tYXAoKG1lbWJlcikgPT4gYm90LnRyYW5zZm9ybWVycy50aHJlYWRNZW1iZXIoYm90LCBzbmFrZWxpemUobWVtYmVyKSkpLFxuICAgICAgfVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25JbmZvOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRBcHBsaWNhdGlvbkluZm8oKSkpXG4gICAgfSxcbiAgICBnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvOiBhc3luYyAoYmVhcmVyVG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvKGJlYXJlclRva2VuKVxuICAgIH0sXG4gICAgZXhjaGFuZ2VUb2tlbjogYXN5bmMgKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5leGNoYW5nZVRva2VuKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICByZXZva2VUb2tlbjogYXN5bmMgKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZXZva2VUb2tlbihjbGllbnRJZCwgY2xpZW50U2VjcmV0LCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogYXN5bmMgKGd1aWxkSWQsIGNvbW1hbmRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYm90LnJlc3QuZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbihndWlsZElkLCBjb21tYW5kSWQsIG9wdGlvbnMpXG4gICAgICBjb25zdCBzbmFrZWRSZXMgPSBzbmFrZWxpemUocmVzKVxuXG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGJvdCwgc25ha2VkUmVzKVxuICAgIH0sXG4gICAgZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zKGd1aWxkSWQsIG9wdGlvbnMpKS5tYXAoKHJlcykgPT5cbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uKGJvdCwgc25ha2VsaXplKHJlcykpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZ2V0QXVkaXRMb2c6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0QXVkaXRMb2coZ3VpbGRJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGdldEF1dG9tb2RSdWxlOiBhc3luYyAoZ3VpbGRJZCwgcnVsZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRBdXRvbW9kUnVsZShndWlsZElkLCBydWxlSWQpKSlcbiAgICB9LFxuICAgIGdldEF1dG9tb2RSdWxlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0QXV0b21vZFJ1bGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hdXRvbW9kUnVsZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldEF2YWlsYWJsZVZvaWNlUmVnaW9uczogYXN5bmMgKCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRBdmFpbGFibGVWb2ljZVJlZ2lvbnMoKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudm9pY2VSZWdpb24oYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRCYW46IGFzeW5jIChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRCYW4oZ3VpbGRJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgZ2V0QmFuczogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRCYW5zKGd1aWxkSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBnZXRDaGFubmVsOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgeyBjaGFubmVsOiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbChjaGFubmVsSWQpKSB9KVxuICAgIH0sXG4gICAgZ2V0Q2hhbm5lbEludml0ZXM6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRDaGFubmVsSW52aXRlcyhjaGFubmVsSWQpXG4gICAgICAvLyByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldENoYW5uZWxJbnZpdGVzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLmludml0ZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldENoYW5uZWxzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRDaGFubmVscyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKHJlcyksIGd1aWxkSWQgfSkpXG4gICAgfSxcbiAgICBnZXRDaGFubmVsV2ViaG9va3M6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Q2hhbm5lbFdlYmhvb2tzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXREbUNoYW5uZWw6IGFzeW5jICh1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmNoYW5uZWwoYm90LCB7IGNoYW5uZWw6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXREbUNoYW5uZWwodXNlcklkKSkgfSlcbiAgICB9LFxuICAgIGdldEdyb3VwRG1DaGFubmVsOiBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdyb3VwRG1DaGFubmVsKG9wdGlvbnMpKSB9KVxuICAgIH0sXG4gICAgZ2V0RW1vamk6IGFzeW5jIChndWlsZElkLCBlbW9qaUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRFbW9qaShndWlsZElkLCBlbW9qaUlkKSkpXG4gICAgfSxcbiAgICBnZXRFbW9qaXM6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEVtb2ppcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEZvbGxvd3VwTWVzc2FnZSh0b2tlbiwgbWVzc2FnZUlkKSkpXG4gICAgfSxcbiAgICBnZXRHYXRld2F5Qm90OiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5nYXRld2F5Qm90KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEdhdGV3YXlCb3QoKSkpXG4gICAgfSxcbiAgICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkKSkpXG4gICAgfSxcbiAgICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHMoKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb25Db21tYW5kKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5ndWlsZChib3QsIHsgZ3VpbGQ6IHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZChndWlsZElkLCBvcHRpb25zKSksIHNoYXJkSWQ6IDAgfSlcbiAgICB9LFxuICAgIGdldEd1aWxkczogYXN5bmMgKGJlYXJlclRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRzKGJlYXJlclRva2VuLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZChjb21tYW5kSWQsIGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbkNvbW1hbmQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFByZXZpZXc6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRQcmV2aWV3KGd1aWxkSWQpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRQcmV2aWV3KGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkU3RpY2tlcjogYXN5bmMgKGd1aWxkSWQsIHN0aWNrZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuc3RpY2tlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgc3RpY2tlcklkKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFN0aWNrZXJzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFN0aWNrZXJzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0R3VpbGRUZW1wbGF0ZTogYXN5bmMgKHRlbXBsYXRlQ29kZSkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0R3VpbGRUZW1wbGF0ZSh0ZW1wbGF0ZUNvZGUpKSlcbiAgICB9LFxuICAgIGdldEd1aWxkVGVtcGxhdGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFRlbXBsYXRlcyhndWlsZElkKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudGVtcGxhdGUoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRHdWlsZFdlYmhvb2tzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRHdWlsZFdlYmhvb2tzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy53ZWJob29rKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0SW50ZWdyYXRpb25zOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRJbnRlZ3JhdGlvbnMoZ3VpbGRJZCkpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmludGVncmF0aW9uKGJvdCwgc25ha2VsaXplKHsgLi4ucmVzLCBndWlsZElkOiBndWlsZElkLnRvU3RyaW5nKCkgfSkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgZ2V0SW52aXRlOiBhc3luYyAoaW52aXRlQ29kZSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEludml0ZShpbnZpdGVDb2RlLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRJbnZpdGVzOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRJbnZpdGVzKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5pbnZpdGUoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0TWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCkpKVxuICAgIH0sXG4gICAgZ2V0TWVzc2FnZXM6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0TWVzc2FnZXMoY2hhbm5lbElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldE5pdHJvU3RpY2tlclBhY2tzOiBhc3luYyAoKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldE5pdHJvU3RpY2tlclBhY2tzKCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnN0aWNrZXJQYWNrKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAodG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRva2VuKSkpXG4gICAgfSxcbiAgICBnZXRQaW5uZWRNZXNzYWdlczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRQaW5uZWRNZXNzYWdlcyhjaGFubmVsSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKHJlcykpKVxuICAgIH0sXG4gICAgZ2V0UHJpdmF0ZUFyY2hpdmVkVGhyZWFkczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpXG4gICAgICAvLyByZXR1cm4gYm90LnRyYW5zZm9ybWVycy54eHgoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0UHJpdmF0ZUpvaW5lZEFyY2hpdmVkVGhyZWFkcyhjaGFubmVsSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIGdldFBydW5lQ291bnQ6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHJ1bmVDb3VudChndWlsZElkLCBvcHRpb25zKVxuICAgICAgLy8gcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMueHh4KGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFBydW5lQ291bnQoZ3VpbGRJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzOiBhc3luYyAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzKGNoYW5uZWxJZCwgb3B0aW9ucylcbiAgICAgIC8vIHJldHVybiBib3QudHJhbnNmb3JtZXJzLnh4eChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRQdWJsaWNBcmNoaXZlZFRocmVhZHMoY2hhbm5lbElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRSb2xlczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0Um9sZXMoZ3VpbGRJZCkpLm1hcCgocm9sZSkgPT4gYm90LnRyYW5zZm9ybWVycy5yb2xlKGJvdCwgeyByb2xlLCBndWlsZElkIH0pKVxuICAgIH0sXG4gICAgZ2V0U2NoZWR1bGVkRXZlbnQ6IGFzeW5jIChndWlsZElkLCBldmVudElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zY2hlZHVsZWRFdmVudChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudChndWlsZElkLCBldmVudElkLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBnZXRTY2hlZHVsZWRFdmVudHM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldFNjaGVkdWxlZEV2ZW50cyhndWlsZElkLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMuc2NoZWR1bGVkRXZlbnQoYm90LCBzbmFrZWxpemUocmVzKSkpXG4gICAgfSxcbiAgICBnZXRTY2hlZHVsZWRFdmVudFVzZXJzOiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRTY2hlZHVsZWRFdmVudFVzZXJzKGd1aWxkSWQsIGV2ZW50SWQsIG9wdGlvbnMpKS5tYXAoKHUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB1c2VyOiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBzbmFrZWxpemUodS51c2VyKSksXG4gICAgICAgICAgbWVtYmVyOiB1Lm1lbWJlciAmJiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZSh1Lm1lbWJlciksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHUudXNlci5pZCkpLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0sXG4gICAgZ2V0U2Vzc2lvbkluZm86IGFzeW5jICgpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmdhdGV3YXlCb3QoYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0U2Vzc2lvbkluZm8oKSkpXG4gICAgfSxcbiAgICBnZXRTdGFnZUluc3RhbmNlOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGFnZUluc3RhbmNlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFN0YWdlSW5zdGFuY2UoY2hhbm5lbElkKSkpXG4gICAgfSxcbiAgICBnZXRTdGlja2VyOiBhc3luYyAoc3RpY2tlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5zdGlja2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFN0aWNrZXIoc3RpY2tlcklkKSkpXG4gICAgfSxcbiAgICBnZXRUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudGhyZWFkTWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZCkpKVxuICAgIH0sXG4gICAgZ2V0VGhyZWFkTWVtYmVyczogYXN5bmMgKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRUaHJlYWRNZW1iZXJzKGNoYW5uZWxJZCkpLm1hcCgocmVzKSA9PiBib3QudHJhbnNmb3JtZXJzLnRocmVhZE1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFJlYWN0aW9uczogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCByZWFjdGlvbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5nZXRSZWFjdGlvbnMoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uLCBvcHRpb25zKSkubWFwKChyZXMpID0+IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFVzZXI6IGFzeW5jIChpZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRVc2VyKGlkKSkpXG4gICAgfSxcbiAgICBnZXRDdXJyZW50VXNlcjogYXN5bmMgKGJlYXJlclRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldEN1cnJlbnRVc2VyKGJlYXJlclRva2VuKSkpXG4gICAgfSxcbiAgICBnZXRVc2VyQ29ubmVjdGlvbnM6IGFzeW5jIChiZWFyZXJUb2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmdldFVzZXJDb25uZWN0aW9ucyhiZWFyZXJUb2tlbilcbiAgICB9LFxuICAgIGdldFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiBhc3luYyAoYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbihiZWFyZXJUb2tlbiwgYXBwbGljYXRpb25JZClcbiAgICB9LFxuICAgIGdldFZhbml0eVVybDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5nZXRWYW5pdHlVcmwoZ3VpbGRJZClcbiAgICB9LFxuICAgIGdldFZvaWNlUmVnaW9uczogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QuZ2V0Vm9pY2VSZWdpb25zKGd1aWxkSWQpKS5tYXAoKHJlcykgPT4gYm90LnRyYW5zZm9ybWVycy52b2ljZVJlZ2lvbihib3QsIHNuYWtlbGl6ZShyZXMpKSlcbiAgICB9LFxuICAgIGdldFdlYmhvb2s6IGFzeW5jICh3ZWJob29rSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2ViaG9vayh3ZWJob29rSWQpKSlcbiAgICB9LFxuICAgIGdldFdlYmhvb2tNZXNzYWdlOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbiwgbWVzc2FnZUlkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldFdlYmhvb2tNZXNzYWdlKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykpKVxuICAgIH0sXG4gICAgZ2V0V2ViaG9va1dpdGhUb2tlbjogYXN5bmMgKHdlYmhvb2tJZCwgdG9rZW4pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndlYmhvb2soYm90LCBzbmFrZWxpemUoYXdhaXQgYm90LnJlc3QuZ2V0V2ViaG9va1dpdGhUb2tlbih3ZWJob29rSWQsIHRva2VuKSkpXG4gICAgfSxcbiAgICBnZXRXZWxjb21lU2NyZWVuOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMud2VsY29tZVNjcmVlbihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXZWxjb21lU2NyZWVuKGd1aWxkSWQpKSlcbiAgICB9LFxuICAgIGdldFdpZGdldDogYXN5bmMgKGd1aWxkSWQpID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLndpZGdldChib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXaWRnZXQoZ3VpbGRJZCkpKVxuICAgIH0sXG4gICAgZ2V0V2lkZ2V0U2V0dGluZ3M6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy53aWRnZXRTZXR0aW5ncyhib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5nZXRXaWRnZXRTZXR0aW5ncyhndWlsZElkKSkpXG4gICAgfSxcbiAgICBwdWJsaXNoTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnB1Ymxpc2hNZXNzYWdlKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSkpXG4gICAgfSxcbiAgICBzZW5kTWVzc2FnZTogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zZW5kTWVzc2FnZShjaGFubmVsSWQsIG9wdGlvbnMpKSlcbiAgICB9LFxuICAgIHNlbmRGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zZW5kRm9sbG93dXBNZXNzYWdlKHRva2VuLCBvcHRpb25zKSkpXG4gICAgfSxcbiAgICBzdGFydFRocmVhZFdpdGhNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHtcbiAgICAgICAgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnN0YXJ0VGhyZWFkV2l0aE1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQsIG9wdGlvbnMsIHJlYXNvbikpLFxuICAgICAgfSlcbiAgICB9LFxuICAgIHN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG9wdGlvbnMsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LnN0YXJ0VGhyZWFkV2l0aG91dE1lc3NhZ2UoY2hhbm5lbElkLCBvcHRpb25zLCByZWFzb24pKSB9KVxuICAgIH0sXG4gICAgc3luY0d1aWxkVGVtcGxhdGU6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy50ZW1wbGF0ZShib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5zeW5jR3VpbGRUZW1wbGF0ZShndWlsZElkKSkpXG4gICAgfSxcbiAgICB1cHNlcnRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiBhc3luYyAoY29tbWFuZHMsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiAoYXdhaXQgYm90LnJlc3QudXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyhjb21tYW5kcywgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIHVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogYXN5bmMgKGd1aWxkSWQsIGNvbW1hbmRzLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LnVwc2VydEd1aWxkQXBwbGljYXRpb25Db21tYW5kcyhndWlsZElkLCBjb21tYW5kcywgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uQ29tbWFuZChib3QsIHNuYWtlbGl6ZShyZXMpKSxcbiAgICAgIClcbiAgICB9LFxuICAgIGVkaXRCb3RNZW1iZXI6IGFzeW5jIChndWlsZElkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0Qm90TWVtYmVyKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbikpLCBndWlsZElkLCBib3QuaWQpXG4gICAgfSxcbiAgICBlZGl0TWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShhd2FpdCBib3QucmVzdC5lZGl0TWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKSksIGd1aWxkSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGdldE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKGF3YWl0IGJvdC5yZXN0LmdldE1lbWJlcihndWlsZElkLCB1c2VySWQpKSwgZ3VpbGRJZCwgdXNlcklkKVxuICAgIH0sXG4gICAgZ2V0Q3VycmVudE1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIGJlYXJlclRva2VuKSA9PiB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBib3QucmVzdC5nZXRDdXJyZW50TWVtYmVyKGd1aWxkSWQsIGJlYXJlclRva2VuKVxuICAgICAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcyksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJlcy51c2VyLmlkKSlcbiAgICB9LFxuICAgIGdldE1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gKGF3YWl0IGJvdC5yZXN0LmdldE1lbWJlcnMoZ3VpbGRJZCwgb3B0aW9ucykpLm1hcCgocmVzKSA9PlxuICAgICAgICBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHNuYWtlbGl6ZShyZXMpLCBndWlsZElkLCBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShyZXMudXNlci5pZCkpLFxuICAgICAgKVxuICAgIH0sXG4gICAgcHJ1bmVNZW1iZXJzOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucHJ1bmVNZW1iZXJzKGd1aWxkSWQsIG9wdGlvbnMsIHJlYXNvbilcbiAgICB9LFxuICAgIHNlYXJjaE1lbWJlcnM6IGFzeW5jIChndWlsZElkLCBxdWVyeSwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIChhd2FpdCBib3QucmVzdC5zZWFyY2hNZW1iZXJzKGd1aWxkSWQsIHF1ZXJ5LCBvcHRpb25zKSkubWFwKChyZXMpID0+XG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgc25ha2VsaXplKHJlcyksIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHJlcy51c2VyLmlkKSksXG4gICAgICApXG4gICAgfSxcbiAgICAvLyBBbGwgdXNlbGVzcyB2b2lkIHJldHVybiBmdW5jdGlvbnMgaGVyZVxuICAgIGFkZFJlYWN0aW9uOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkUmVhY3Rpb24oY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgYWRkUmVhY3Rpb25zOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9ucywgb3JkZXJlZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFJlYWN0aW9ucyhjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb25zLCBvcmRlcmVkKVxuICAgIH0sXG4gICAgYWRkUm9sZTogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGRSb2xlKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICBhZGRUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmFkZFRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIGFkZERtUmVjaXBpZW50OiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5hZGREbVJlY2lwaWVudChjaGFubmVsSWQsIHVzZXJJZCwgb3B0aW9ucylcbiAgICB9LFxuICAgIGFkZEd1aWxkTWVtYmVyOiBhc3luYyAoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYWRkR3VpbGRNZW1iZXIoZ3VpbGRJZCwgdXNlcklkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZGVsZXRlQXV0b21vZFJ1bGU6IGFzeW5jIChndWlsZElkLCBydWxlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUF1dG9tb2RSdWxlKGd1aWxkSWQsIHJ1bGVJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlQ2hhbm5lbDogYXN5bmMgKGNoYW5uZWxJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlQ2hhbm5lbChjaGFubmVsSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGU6IGFzeW5jIChjaGFubmVsSWQsIG92ZXJ3cml0ZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUVtb2ppOiBhc3luYyAoZ3VpbGRJZCwgaWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUVtb2ppKGd1aWxkSWQsIGlkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVGb2xsb3d1cE1lc3NhZ2U6IGFzeW5jICh0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlRm9sbG93dXBNZXNzYWdlKHRva2VuLCBtZXNzYWdlSWQpXG4gICAgfSxcbiAgICBkZWxldGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQ6IGFzeW5jIChjb21tYW5kSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGQ6IGFzeW5jIChndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGQoZ3VpbGRJZClcbiAgICB9LFxuICAgIGRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiBhc3luYyAoY29tbWFuZElkLCBndWlsZElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQoY29tbWFuZElkLCBndWlsZElkKVxuICAgIH0sXG4gICAgZGVsZXRlR3VpbGRTdGlja2VyOiBhc3luYyAoZ3VpbGRJZCwgc3RpY2tlcklkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVHdWlsZFN0aWNrZXIoZ3VpbGRJZCwgc3RpY2tlcklkLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVHdWlsZFRlbXBsYXRlOiBhc3luYyAoZ3VpbGRJZCwgdGVtcGxhdGVDb2RlKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlR3VpbGRUZW1wbGF0ZShndWlsZElkLCB0ZW1wbGF0ZUNvZGUpXG4gICAgfSxcbiAgICBkZWxldGVJbnRlZ3JhdGlvbjogYXN5bmMgKGd1aWxkSWQsIGludGVncmF0aW9uSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUludGVncmF0aW9uKGd1aWxkSWQsIGludGVncmF0aW9uSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZUludml0ZTogYXN5bmMgKGludml0ZUNvZGUsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZUludml0ZShpbnZpdGVDb2RlLCByZWFzb24pXG4gICAgfSxcbiAgICBkZWxldGVNZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZU1lc3NhZ2UoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU1lc3NhZ2VzOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWRzLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVNZXNzYWdlcyhjaGFubmVsSWQsIG1lc3NhZ2VJZHMsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZTogYXN5bmMgKHRva2VuKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRva2VuKVxuICAgIH0sXG4gICAgZGVsZXRlT3duUmVhY3Rpb246IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVPd25SZWFjdGlvbihjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVSZWFjdGlvbnNBbGw6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVJlYWN0aW9uc0FsbChjaGFubmVsSWQsIG1lc3NhZ2VJZClcbiAgICB9LFxuICAgIGRlbGV0ZVJlYWN0aW9uc0Vtb2ppOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUmVhY3Rpb25zRW1vamkoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYWN0aW9uKVxuICAgIH0sXG4gICAgZGVsZXRlUm9sZTogYXN5bmMgKGd1aWxkSWQsIHJvbGVJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZGVsZXRlUm9sZShndWlsZElkLCByb2xlSWQsIHJlYXNvbilcbiAgICB9LFxuICAgIGRlbGV0ZVNjaGVkdWxlZEV2ZW50OiBhc3luYyAoZ3VpbGRJZCwgZXZlbnRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVNjaGVkdWxlZEV2ZW50KGd1aWxkSWQsIGV2ZW50SWQpXG4gICAgfSxcbiAgICBkZWxldGVTdGFnZUluc3RhbmNlOiBhc3luYyAoY2hhbm5lbElkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVTdGFnZUluc3RhbmNlKGNoYW5uZWxJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlVXNlclJlYWN0aW9uOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHVzZXJJZCwgcmVhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVVc2VyUmVhY3Rpb24oY2hhbm5lbElkLCBtZXNzYWdlSWQsIHVzZXJJZCwgcmVhY3Rpb24pXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rOiBhc3luYyAod2ViaG9va0lkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVXZWJob29rKHdlYmhvb2tJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgZGVsZXRlV2ViaG9va01lc3NhZ2U6IGFzeW5jICh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5kZWxldGVXZWJob29rTWVzc2FnZSh3ZWJob29rSWQsIHRva2VuLCBtZXNzYWdlSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBkZWxldGVXZWJob29rV2l0aFRva2VuOiBhc3luYyAod2ViaG9va0lkLCB0b2tlbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmRlbGV0ZVdlYmhvb2tXaXRoVG9rZW4od2ViaG9va0lkLCB0b2tlbilcbiAgICB9LFxuICAgIGVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlczogYXN5bmMgKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdENoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGVzKGNoYW5uZWxJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAgZWRpdENoYW5uZWxQb3NpdGlvbnM6IGFzeW5jIChndWlsZElkLCBjaGFubmVsUG9zaXRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuZWRpdENoYW5uZWxQb3NpdGlvbnMoZ3VpbGRJZCwgY2hhbm5lbFBvc2l0aW9ucylcbiAgICB9LFxuICAgIGVkaXRHdWlsZE1mYUxldmVsOiBhc3luYyAoZ3VpbGRJZCwgbWZhTGV2ZWwsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRHdWlsZE1mYUxldmVsKGd1aWxkSWQsIG1mYUxldmVsLCByZWFzb24pXG4gICAgfSxcbiAgICBlZGl0T3duVm9pY2VTdGF0ZTogYXN5bmMgKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0T3duVm9pY2VTdGF0ZShndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZWRpdFVzZXJWb2ljZVN0YXRlOiBhc3luYyAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmVkaXRVc2VyVm9pY2VTdGF0ZShndWlsZElkLCBvcHRpb25zKVxuICAgIH0sXG4gICAgZWRpdFVzZXJBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uOiBhc3luYyAoYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5lZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24oYmVhcmVyVG9rZW4sIGFwcGxpY2F0aW9uSWQsIG9wdGlvbnMpXG4gICAgfSxcbiAgICBqb2luVGhyZWFkOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3Quam9pblRocmVhZChjaGFubmVsSWQpXG4gICAgfSxcbiAgICBsZWF2ZUd1aWxkOiBhc3luYyAoZ3VpbGRJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LmxlYXZlR3VpbGQoZ3VpbGRJZClcbiAgICB9LFxuICAgIGxlYXZlVGhyZWFkOiBhc3luYyAoY2hhbm5lbElkKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QubGVhdmVUaHJlYWQoY2hhbm5lbElkKVxuICAgIH0sXG4gICAgcmVtb3ZlUm9sZTogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZW1vdmVSb2xlKGd1aWxkSWQsIHVzZXJJZCwgcm9sZUlkLCByZWFzb24pXG4gICAgfSxcbiAgICByZW1vdmVUaHJlYWRNZW1iZXI6IGFzeW5jIChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnJlbW92ZVRocmVhZE1lbWJlcihjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIHJlbW92ZURtUmVjaXBpZW50OiBhc3luYyAoY2hhbm5lbElkLCB1c2VySWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5yZW1vdmVEbVJlY2lwaWVudChjaGFubmVsSWQsIHVzZXJJZClcbiAgICB9LFxuICAgIHNlbmRJbnRlcmFjdGlvblJlc3BvbnNlOiBhc3luYyAoaW50ZXJhY3Rpb25JZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC5zZW5kSW50ZXJhY3Rpb25SZXNwb25zZShpbnRlcmFjdGlvbklkLCB0b2tlbiwgb3B0aW9ucylcbiAgICB9LFxuICAgIHRyaWdnZXJUeXBpbmdJbmRpY2F0b3I6IGFzeW5jIChjaGFubmVsSWQpID0+IHtcbiAgICAgIHJldHVybiBhd2FpdCBib3QucmVzdC50cmlnZ2VyVHlwaW5nSW5kaWNhdG9yKGNoYW5uZWxJZClcbiAgICB9LFxuICAgIGJhbk1lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QuYmFuTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgb3B0aW9ucywgcmVhc29uKVxuICAgIH0sXG4gICAga2lja01lbWJlcjogYXN5bmMgKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3Qua2lja01lbWJlcihndWlsZElkLCB1c2VySWQsIHJlYXNvbilcbiAgICB9LFxuICAgIHBpbk1lc3NhZ2U6IGFzeW5jIChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKSA9PiB7XG4gICAgICByZXR1cm4gYXdhaXQgYm90LnJlc3QucGluTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgdW5iYW5NZW1iZXI6IGFzeW5jIChndWlsZElkLCB1c2VySWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnVuYmFuTWVtYmVyKGd1aWxkSWQsIHVzZXJJZCwgcmVhc29uKVxuICAgIH0sXG4gICAgdW5waW5NZXNzYWdlOiBhc3luYyAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIHJlYXNvbikgPT4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGJvdC5yZXN0LnVucGluTWVzc2FnZShjaGFubmVsSWQsIG1lc3NhZ2VJZCwgcmVhc29uKVxuICAgIH0sXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3RIZWxwZXJzIHtcbiAgY3JlYXRlQXV0b21vZFJ1bGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUF1dG9Nb2RlcmF0aW9uUnVsZU9wdGlvbnMsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxBdXRvTW9kZXJhdGlvblJ1bGU+XG4gIGNyZWF0ZUNoYW5uZWw6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkQ2hhbm5lbCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENoYW5uZWw+XG4gIGNyZWF0ZUVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGNyZWF0ZUZvcnVtVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUZvcnVtUG9zdFdpdGhNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgY3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLCBvcHRpb25zPzogQ3JlYXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kT3B0aW9ucykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGNyZWF0ZUd1aWxkOiAob3B0aW9uczogQ3JlYXRlR3VpbGQpID0+IFByb21pc2U8R3VpbGQ+XG4gIGNyZWF0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoXG4gICAgY29tbWFuZDogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kLFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zPzogQ3JlYXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBjcmVhdGVHdWlsZEZyb21UZW1wbGF0ZTogKHRlbXBsYXRlQ29kZTogc3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZEZyb21UZW1wbGF0ZSkgPT4gUHJvbWlzZTxHdWlsZD5cbiAgY3JlYXRlR3VpbGRTdGlja2VyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVHdWlsZFN0aWNrZXJPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgY3JlYXRlR3VpbGRUZW1wbGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlVGVtcGxhdGUpID0+IFByb21pc2U8VGVtcGxhdGU+XG4gIGNyZWF0ZUludml0ZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogQ3JlYXRlQ2hhbm5lbEludml0ZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGU+XG4gIGNyZWF0ZVJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUd1aWxkUm9sZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFJvbGU+XG4gIGNyZWF0ZVNjaGVkdWxlZEV2ZW50OiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVTY2hlZHVsZWRFdmVudCwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFNjaGVkdWxlZEV2ZW50PlxuICBjcmVhdGVTdGFnZUluc3RhbmNlOiAob3B0aW9uczogQ3JlYXRlU3RhZ2VJbnN0YW5jZSwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0YWdlSW5zdGFuY2U+XG4gIGNyZWF0ZVdlYmhvb2s6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQ3JlYXRlV2ViaG9vaywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uczogKFxuICAgIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgICBjb21tYW5kSWQ6IEJpZ1N0cmluZyxcbiAgICBiZWFyZXJUb2tlbjogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zW10sXG4gICkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uPlxuICBlZGl0QXV0b21vZFJ1bGU6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgcnVsZUlkOiBCaWdTdHJpbmcsXG4gICAgb3B0aW9uczogUGFydGlhbDxFZGl0QXV0b01vZGVyYXRpb25SdWxlT3B0aW9ucz4sXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICApID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBlZGl0Qm90UHJvZmlsZTogKG9wdGlvbnM6IHsgdXNlcm5hbWU/OiBzdHJpbmc7IGJvdEF2YXRhclVSTD86IHN0cmluZyB8IG51bGwgfSkgPT4gUHJvbWlzZTxVc2VyPlxuICBlZGl0Q2hhbm5lbDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlDaGFubmVsLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZWRpdEVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBpZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlHdWlsZEVtb2ppLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8RW1vamk+XG4gIGVkaXRGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZWRpdEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmQpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBlZGl0R3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IE1vZGlmeUd1aWxkLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8R3VpbGQ+XG4gIGVkaXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZDogKGNvbW1hbmRJZDogQmlnU3RyaW5nLCBndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZUFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGVkaXRHdWlsZFN0aWNrZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHN0aWNrZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBBdExlYXN0T25lPEVkaXRHdWlsZFN0aWNrZXJPcHRpb25zPiwgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGVkaXRHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB0ZW1wbGF0ZUNvZGU6IHN0cmluZywgb3B0aW9uczogTW9kaWZ5R3VpbGRUZW1wbGF0ZSkgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZWRpdE1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRNZXNzYWdlKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6ICh0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxNZXNzYWdlIHwgdW5kZWZpbmVkPlxuICBlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZTogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBlZGl0Um9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRHdWlsZFJvbGUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxSb2xlPlxuICBlZGl0Um9sZVBvc2l0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5Um9sZVBvc2l0aW9uc1tdLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Um9sZVtdPlxuICBlZGl0U2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZywgb3B0aW9uczogUGFydGlhbDxFZGl0U2NoZWR1bGVkRXZlbnQ+LCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8U2NoZWR1bGVkRXZlbnQ+XG4gIGVkaXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHRvcGljOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxTdGFnZUluc3RhbmNlPlxuICBlZGl0V2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBNb2RpZnlXZWJob29rLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZWRpdFdlYmhvb2tNZXNzYWdlOiAoXG4gICAgd2ViaG9va0lkOiBCaWdTdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBtZXNzYWdlSWQ6IEJpZ1N0cmluZyxcbiAgICBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSAmIHsgdGhyZWFkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGVkaXRXZWJob29rV2l0aFRva2VuOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IE9taXQ8TW9kaWZ5V2ViaG9vaywgJ2NoYW5uZWxJZCc+KSA9PiBQcm9taXNlPFdlYmhvb2s+XG4gIGVkaXRXZWxjb21lU2NyZWVuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkTW9kaWZ5R3VpbGRXZWxjb21lU2NyZWVuLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8V2VsY29tZVNjcmVlbj5cbiAgZWRpdFdpZGdldFNldHRpbmdzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0U2V0dGluZ3M+XG4gIGVkaXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbjogKFxuICAgIGJlYXJlclRva2VuOiBzdHJpbmcsXG4gICAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM6IENhbWVsaXplZERpc2NvcmRBcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uLFxuICApID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+XG4gIGV4ZWN1dGVXZWJob29rOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcsIG9wdGlvbnM6IEV4ZWN1dGVXZWJob29rKSA9PiBQcm9taXNlPE1lc3NhZ2UgfCB1bmRlZmluZWQ+XG4gIGZvbGxvd0Fubm91bmNlbWVudDogKHNvdXJjZUNoYW5uZWxJZDogQmlnU3RyaW5nLCB0YXJnZXRDaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkRm9sbG93ZWRDaGFubmVsPlxuICBnZXRBY3RpdmVUaHJlYWRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHsgdGhyZWFkczogQ2hhbm5lbFtdOyBtZW1iZXJzOiBUaHJlYWRNZW1iZXJbXSB9PlxuICBnZXRBcHBsaWNhdGlvbkluZm86ICgpID0+IFByb21pc2U8QXBwbGljYXRpb24+XG4gIGdldEN1cnJlbnRBdXRoZW50aWNhdGlvbkluZm86IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRDdXJyZW50QXV0aG9yaXphdGlvbj5cbiAgZXhjaGFuZ2VUb2tlbjogKGNsaWVudElkOiBCaWdTdHJpbmcsIGNsaWVudFNlY3JldDogc3RyaW5nLCBvcHRpb25zOiBDYW1lbGl6ZWREaXNjb3JkVG9rZW5FeGNoYW5nZSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQWNjZXNzVG9rZW5SZXNwb25zZT5cbiAgcmV2b2tlVG9rZW46IChjbGllbnRJZDogQmlnU3RyaW5nLCBjbGllbnRTZWNyZXQ6IHN0cmluZywgb3B0aW9uczogQ2FtZWxpemVkRGlzY29yZFRva2VuUmV2b2NhdGlvbikgPT4gUHJvbWlzZTx2b2lkPlxuICBnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGNvbW1hbmRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uT3B0aW9ucyxcbiAgKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24+XG4gIGdldEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbk9wdGlvbnMpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbltdPlxuICBnZXRBdWRpdExvZzogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkQXVkaXRMb2cpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEF1ZGl0TG9nPlxuICBnZXRBdXRvbW9kUnVsZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcnVsZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlPlxuICBnZXRBdXRvbW9kUnVsZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXV0b01vZGVyYXRpb25SdWxlW10+XG4gIGdldEF2YWlsYWJsZVZvaWNlUmVnaW9uczogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkVm9pY2VSZWdpb25bXT5cbiAgZ2V0QmFuOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuPlxuICBnZXRCYW5zOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0QmFucykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkQmFuW10+XG4gIGdldENoYW5uZWw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRDaGFubmVsSW52aXRlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRJbnZpdGVNZXRhZGF0YVtdPlxuICBnZXRDaGFubmVsczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDaGFubmVsW10+XG4gIGdldENoYW5uZWxXZWJob29rczogKGNoYW5uZWxJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFdlYmhvb2tbXT5cbiAgZ2V0RG1DaGFubmVsOiAodXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgZ2V0R3JvdXBEbUNoYW5uZWw6IChvcHRpb25zOiBHZXRHcm91cERtT3B0aW9ucykgPT4gUHJvbWlzZTxDaGFubmVsPlxuICBnZXRFbW9qaTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZW1vamlJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEVtb2ppPlxuICBnZXRFbW9qaXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8RW1vamlbXT5cbiAgZ2V0Rm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZT5cbiAgZ2V0R2F0ZXdheUJvdDogKCkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkR2V0R2F0ZXdheUJvdD5cbiAgZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kPlxuICBnZXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmRzOiAoKSA9PiBQcm9taXNlPEFwcGxpY2F0aW9uQ29tbWFuZFtdPlxuICBnZXRHdWlsZDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgY291bnRzPzogYm9vbGVhbiB9KSA9PiBQcm9taXNlPEd1aWxkPlxuICBnZXRHdWlsZHM6IChiZWFyZXJUb2tlbjogc3RyaW5nLCBvcHRpb25zPzogR2V0VXNlckd1aWxkcykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkUGFydGlhbEd1aWxkW10+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcsIGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmQ+XG4gIGdldEd1aWxkQXBwbGljYXRpb25Db21tYW5kczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgZ2V0R3VpbGRQcmV2aWV3OiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRHdWlsZFByZXZpZXc+XG4gIGdldEd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8U3RpY2tlcj5cbiAgZ2V0R3VpbGRTdGlja2VyczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxTdGlja2VyW10+XG4gIGdldEd1aWxkVGVtcGxhdGU6ICh0ZW1wbGF0ZUNvZGU6IHN0cmluZykgPT4gUHJvbWlzZTxUZW1wbGF0ZT5cbiAgZ2V0R3VpbGRUZW1wbGF0ZXM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGVtcGxhdGVbXT5cbiAgZ2V0R3VpbGRXZWJob29rczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWJob29rW10+XG4gIGdldEludGVncmF0aW9uczogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxJbnRlZ3JhdGlvbltdPlxuICBnZXRJbnZpdGU6IChpbnZpdGVDb2RlOiBzdHJpbmcsIG9wdGlvbnM/OiBHZXRJbnZpdGUpID0+IFByb21pc2U8SW52aXRlPlxuICBnZXRJbnZpdGVzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEludml0ZVtdPlxuICBnZXRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldE1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBHZXRNZXNzYWdlc09wdGlvbnMpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICBnZXROaXRyb1N0aWNrZXJQYWNrczogKCkgPT4gUHJvbWlzZTxTdGlja2VyUGFja1tdPlxuICBnZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2U6ICh0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIGdldFBpbm5lZE1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVzc2FnZVtdPlxuICBnZXRQcml2YXRlQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFByaXZhdGVKb2luZWRBcmNoaXZlZFRocmVhZHM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IExpc3RBcmNoaXZlZFRocmVhZHMpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFyY2hpdmVkVGhyZWFkcz5cbiAgZ2V0UHJ1bmVDb3VudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldEd1aWxkUHJ1bmVDb3VudFF1ZXJ5KSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRQcnVuZWRDb3VudD5cbiAgZ2V0UHVibGljQXJjaGl2ZWRUaHJlYWRzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBMaXN0QXJjaGl2ZWRUaHJlYWRzKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRBcmNoaXZlZFRocmVhZHM+XG4gIGdldFJvbGVzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFJvbGVbXT5cbiAgZ2V0U2NoZWR1bGVkRXZlbnQ6IChndWlsZElkOiBCaWdTdHJpbmcsIGV2ZW50SWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IHsgd2l0aFVzZXJDb3VudD86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTxTY2hlZHVsZWRFdmVudD5cbiAgZ2V0U2NoZWR1bGVkRXZlbnRzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0U2NoZWR1bGVkRXZlbnRzKSA9PiBQcm9taXNlPFNjaGVkdWxlZEV2ZW50W10+XG4gIGdldFNjaGVkdWxlZEV2ZW50VXNlcnM6IChcbiAgICBndWlsZElkOiBCaWdTdHJpbmcsXG4gICAgZXZlbnRJZDogQmlnU3RyaW5nLFxuICAgIG9wdGlvbnM/OiBHZXRTY2hlZHVsZWRFdmVudFVzZXJzLFxuICApID0+IFByb21pc2U8QXJyYXk8eyB1c2VyOiBVc2VyOyBtZW1iZXI/OiBNZW1iZXIgfT4+XG4gIGdldFNlc3Npb25JbmZvOiAoKSA9PiBQcm9taXNlPENhbWVsaXplZERpc2NvcmRHZXRHYXRld2F5Qm90PlxuICBnZXRTdGFnZUluc3RhbmNlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8U3RhZ2VJbnN0YW5jZT5cbiAgZ2V0U3RpY2tlcjogKHN0aWNrZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPFN0aWNrZXI+XG4gIGdldFRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUaHJlYWRNZW1iZXI+XG4gIGdldFRocmVhZE1lbWJlcnM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxUaHJlYWRNZW1iZXJbXT5cbiAgZ2V0UmVhY3Rpb25zOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCByZWFjdGlvbjogc3RyaW5nLCBvcHRpb25zPzogR2V0UmVhY3Rpb25zKSA9PiBQcm9taXNlPFVzZXJbXT5cbiAgZ2V0VXNlcjogKGlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VXNlcj5cbiAgZ2V0Q3VycmVudFVzZXI6IChiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPFVzZXI+XG4gIGdldFVzZXJDb25uZWN0aW9uczogKGJlYXJlclRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZENvbm5lY3Rpb25bXT5cbiAgZ2V0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb246IChiZWFyZXJUb2tlbjogc3RyaW5nLCBhcHBsaWNhdGlvbklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZEFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24+XG4gIGdldFZhbml0eVVybDogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkVmFuaXR5VXJsPlxuICBnZXRWb2ljZVJlZ2lvbnM6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8Q2FtZWxpemVkRGlzY29yZFZvaWNlUmVnaW9uW10+XG4gIGdldFdlYmhvb2s6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWJob29rPlxuICBnZXRXZWJob29rTWVzc2FnZTogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgb3B0aW9ucz86IEdldFdlYmhvb2tNZXNzYWdlT3B0aW9ucykgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBnZXRXZWJob29rV2l0aFRva2VuOiAod2ViaG9va0lkOiBCaWdTdHJpbmcsIHRva2VuOiBzdHJpbmcpID0+IFByb21pc2U8V2ViaG9vaz5cbiAgZ2V0V2VsY29tZVNjcmVlbjogKGd1aWxkSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTxXZWxjb21lU2NyZWVuPlxuICBnZXRXaWRnZXQ6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8R3VpbGRXaWRnZXQ+XG4gIGdldFdpZGdldFNldHRpbmdzOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPEd1aWxkV2lkZ2V0U2V0dGluZ3M+XG4gIHB1Ymxpc2hNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIHNlbmRNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IENyZWF0ZU1lc3NhZ2VPcHRpb25zKSA9PiBQcm9taXNlPE1lc3NhZ2U+XG4gIHNlbmRGb2xsb3d1cE1lc3NhZ2U6ICh0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxNZXNzYWdlPlxuICBzdGFydFRocmVhZFdpdGhNZXNzYWdlOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBTdGFydFRocmVhZFdpdGhNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgc3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBTdGFydFRocmVhZFdpdGhvdXRNZXNzYWdlLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8Q2hhbm5lbD5cbiAgc3luY0d1aWxkVGVtcGxhdGU6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8VGVtcGxhdGU+XG4gIHVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZHM6IChcbiAgICBjb21tYW5kczogQ3JlYXRlQXBwbGljYXRpb25Db21tYW5kW10sXG4gICAgb3B0aW9ucz86IFVwc2VydEdsb2JhbEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbnMsXG4gICkgPT4gUHJvbWlzZTxBcHBsaWNhdGlvbkNvbW1hbmRbXT5cbiAgdXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzOiAoXG4gICAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICAgIGNvbW1hbmRzOiBDcmVhdGVBcHBsaWNhdGlvbkNvbW1hbmRbXSxcbiAgICBvcHRpb25zPzogVXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25zLFxuICApID0+IFByb21pc2U8QXBwbGljYXRpb25Db21tYW5kW10+XG4gIGVkaXRCb3RNZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRCb3RNZW1iZXJPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBlZGl0TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTW9kaWZ5R3VpbGRNZW1iZXIsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTxNZW1iZXI+XG4gIGdldE1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8TWVtYmVyPlxuICBnZXRDdXJyZW50TWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBiZWFyZXJUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPE1lbWJlcj5cbiAgZ2V0TWVtYmVyczogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogTGlzdEd1aWxkTWVtYmVycykgPT4gUHJvbWlzZTxNZW1iZXJbXT5cbiAgcHJ1bmVNZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBCZWdpbkd1aWxkUHJ1bmUsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx7IHBydW5lZDogbnVtYmVyIHwgbnVsbCB9PlxuICBzZWFyY2hNZW1iZXJzOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBxdWVyeTogc3RyaW5nLCBvcHRpb25zPzogT21pdDxTZWFyY2hNZW1iZXJzLCAncXVlcnknPikgPT4gUHJvbWlzZTxNZW1iZXJbXT5cbiAgLy8gZnVuY3Rpb25zIHJldHVybiBWb2lkIHNvIGRvbnQgbmVlZCBhbnkgc3BlY2lhbCBoYW5kbGluZ1xuICBhZGRSZWFjdGlvbjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGRSZWFjdGlvbnM6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uczogc3RyaW5nW10sIG9yZGVyZWQ/OiBib29sZWFuKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZFJvbGU6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCByb2xlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZFRocmVhZE1lbWJlcjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBhZGREbVJlY2lwaWVudDogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQWRkRG1SZWNpcGllbnRPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFkZEd1aWxkTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgb3B0aW9uczogQWRkR3VpbGRNZW1iZXJPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUF1dG9tb2RSdWxlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBydWxlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUNoYW5uZWw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUNoYW5uZWxQZXJtaXNzaW9uT3ZlcnJpZGU6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgb3ZlcndyaXRlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUVtb2ppOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBpZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlRm9sbG93dXBNZXNzYWdlOiAodG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR2xvYmFsQXBwbGljYXRpb25Db21tYW5kOiAoY29tbWFuZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGQ6IChndWlsZElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQ6IChjb21tYW5kSWQ6IEJpZ1N0cmluZywgZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZUd1aWxkU3RpY2tlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgc3RpY2tlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVHdWlsZFRlbXBsYXRlOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB0ZW1wbGF0ZUNvZGU6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVJbnRlZ3JhdGlvbjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgaW50ZWdyYXRpb25JZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlSW52aXRlOiAoaW52aXRlQ29kZTogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlTWVzc2FnZTogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZU1lc3NhZ2VzOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIG1lc3NhZ2VJZHM6IEJpZ1N0cmluZ1tdLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlT3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlOiAodG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVPd25SZWFjdGlvbjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgcmVhY3Rpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVSZWFjdGlvbnNBbGw6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUmVhY3Rpb25zRW1vamk6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlUm9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgcm9sZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBkZWxldGVTY2hlZHVsZWRFdmVudDogKGd1aWxkSWQ6IEJpZ1N0cmluZywgZXZlbnRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVN0YWdlSW5zdGFuY2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGRlbGV0ZVVzZXJSZWFjdGlvbjogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBtZXNzYWdlSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYWN0aW9uOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlV2ViaG9vazogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlV2ViaG9va01lc3NhZ2U6ICh3ZWJob29rSWQ6IEJpZ1N0cmluZywgdG9rZW46IHN0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIG9wdGlvbnM/OiBEZWxldGVXZWJob29rTWVzc2FnZU9wdGlvbnMpID0+IFByb21pc2U8dm9pZD5cbiAgZGVsZXRlV2ViaG9va1dpdGhUb2tlbjogKHdlYmhvb2tJZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRDaGFubmVsUGVybWlzc2lvbk92ZXJyaWRlczogKGNoYW5uZWxJZDogQmlnU3RyaW5nLCBvcHRpb25zOiBFZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXNPcHRpb25zLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdENoYW5uZWxQb3NpdGlvbnM6IChndWlsZElkOiBCaWdTdHJpbmcsIGNoYW5uZWxQb3NpdGlvbnM6IE1vZGlmeUd1aWxkQ2hhbm5lbFBvc2l0aW9uc1tdKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRHdWlsZE1mYUxldmVsOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCBtZmFMZXZlbDogTWZhTGV2ZWxzLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgZWRpdE93blZvaWNlU3RhdGU6IChndWlsZElkOiBCaWdTdHJpbmcsIG9wdGlvbnM6IEVkaXRPd25Wb2ljZVN0YXRlKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGVkaXRVc2VyVm9pY2VTdGF0ZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgb3B0aW9uczogRWRpdFVzZXJWb2ljZVN0YXRlKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGpvaW5UaHJlYWQ6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBsZWF2ZUd1aWxkOiAoZ3VpbGRJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGxlYXZlVGhyZWFkOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgcmVtb3ZlUm9sZTogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJvbGVJZDogQmlnU3RyaW5nLCByZWFzb24/OiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbiAgcmVtb3ZlVGhyZWFkTWVtYmVyOiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHJlbW92ZURtUmVjaXBpZW50OiAoY2hhbm5lbElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHNlbmRJbnRlcmFjdGlvblJlc3BvbnNlOiAoaW50ZXJhY3Rpb25JZDogQmlnU3RyaW5nLCB0b2tlbjogc3RyaW5nLCBvcHRpb25zOiBJbnRlcmFjdGlvblJlc3BvbnNlKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHRyaWdnZXJUeXBpbmdJbmRpY2F0b3I6IChjaGFubmVsSWQ6IEJpZ1N0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBiYW5NZW1iZXI6IChndWlsZElkOiBCaWdTdHJpbmcsIHVzZXJJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogQ3JlYXRlR3VpbGRCYW4sIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICBraWNrTWVtYmVyOiAoZ3VpbGRJZDogQmlnU3RyaW5nLCB1c2VySWQ6IEJpZ1N0cmluZywgcmVhc29uPzogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHBpbk1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICB1bmJhbk1lbWJlcjogKGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxuICB1bnBpbk1lc3NhZ2U6IChjaGFubmVsSWQ6IEJpZ1N0cmluZywgbWVzc2FnZUlkOiBCaWdTdHJpbmcsIHJlYXNvbj86IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPlxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUJvdEhlbHBlcnMiLCJib3QiLCJjcmVhdGVBdXRvbW9kUnVsZSIsImd1aWxkSWQiLCJvcHRpb25zIiwicmVhc29uIiwidHJhbnNmb3JtZXJzIiwiYXV0b21vZFJ1bGUiLCJzbmFrZWxpemUiLCJyZXN0IiwiY3JlYXRlQ2hhbm5lbCIsImNoYW5uZWwiLCJjcmVhdGVFbW9qaSIsImVtb2ppIiwiY3JlYXRlRm9ydW1UaHJlYWQiLCJjaGFubmVsSWQiLCJjcmVhdGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJjb21tYW5kIiwiYXBwbGljYXRpb25Db21tYW5kIiwiY3JlYXRlR3VpbGQiLCJndWlsZCIsInNoYXJkSWQiLCJjcmVhdGVHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZCIsImNyZWF0ZUd1aWxkRnJvbVRlbXBsYXRlIiwidGVtcGxhdGVDb2RlIiwiY3JlYXRlR3VpbGRTdGlja2VyIiwic3RpY2tlciIsImNyZWF0ZUd1aWxkVGVtcGxhdGUiLCJ0ZW1wbGF0ZSIsImNyZWF0ZUludml0ZSIsImNyZWF0ZVJvbGUiLCJyb2xlIiwiY3JlYXRlU2NoZWR1bGVkRXZlbnQiLCJzY2hlZHVsZWRFdmVudCIsImNyZWF0ZVN0YWdlSW5zdGFuY2UiLCJzdGFnZUluc3RhbmNlIiwiY3JlYXRlV2ViaG9vayIsIndlYmhvb2siLCJlZGl0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJjb21tYW5kSWQiLCJiZWFyZXJUb2tlbiIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJlZGl0QXV0b21vZFJ1bGUiLCJydWxlSWQiLCJlZGl0Qm90UHJvZmlsZSIsInVzZXIiLCJlZGl0Q2hhbm5lbCIsImVkaXRFbW9qaSIsImlkIiwiZWRpdEZvbGxvd3VwTWVzc2FnZSIsInRva2VuIiwibWVzc2FnZUlkIiwibWVzc2FnZSIsImVkaXRHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJlZGl0R3VpbGQiLCJlZGl0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJlZGl0R3VpbGRTdGlja2VyIiwic3RpY2tlcklkIiwiZWRpdEd1aWxkVGVtcGxhdGUiLCJlZGl0TWVzc2FnZSIsImVkaXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJyZXN1bHQiLCJlZGl0T3JpZ2luYWxXZWJob29rTWVzc2FnZSIsIndlYmhvb2tJZCIsImVkaXRSb2xlIiwicm9sZUlkIiwiZWRpdFJvbGVQb3NpdGlvbnMiLCJtYXAiLCJlZGl0U2NoZWR1bGVkRXZlbnQiLCJldmVudElkIiwiZWRpdFN0YWdlSW5zdGFuY2UiLCJ0b3BpYyIsImVkaXRXZWJob29rIiwiZWRpdFdlYmhvb2tNZXNzYWdlIiwiZWRpdFdlYmhvb2tXaXRoVG9rZW4iLCJlZGl0V2VsY29tZVNjcmVlbiIsIndlbGNvbWVTY3JlZW4iLCJlZGl0V2lkZ2V0U2V0dGluZ3MiLCJ3aWRnZXRTZXR0aW5ncyIsImV4ZWN1dGVXZWJob29rIiwiZm9sbG93QW5ub3VuY2VtZW50Iiwic291cmNlQ2hhbm5lbElkIiwidGFyZ2V0Q2hhbm5lbElkIiwiZ2V0QWN0aXZlVGhyZWFkcyIsInRocmVhZHMiLCJ0aHJlYWQiLCJtZW1iZXJzIiwibWVtYmVyIiwidGhyZWFkTWVtYmVyIiwiZ2V0QXBwbGljYXRpb25JbmZvIiwiYXBwbGljYXRpb24iLCJnZXRDdXJyZW50QXV0aGVudGljYXRpb25JbmZvIiwiZXhjaGFuZ2VUb2tlbiIsImNsaWVudElkIiwiY2xpZW50U2VjcmV0IiwicmV2b2tlVG9rZW4iLCJnZXRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uIiwicmVzIiwic25ha2VkUmVzIiwiZ2V0QXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMiLCJnZXRBdWRpdExvZyIsImdldEF1dG9tb2RSdWxlIiwiZ2V0QXV0b21vZFJ1bGVzIiwiZ2V0QXZhaWxhYmxlVm9pY2VSZWdpb25zIiwidm9pY2VSZWdpb24iLCJnZXRCYW4iLCJ1c2VySWQiLCJnZXRCYW5zIiwiZ2V0Q2hhbm5lbCIsImdldENoYW5uZWxJbnZpdGVzIiwiZ2V0Q2hhbm5lbHMiLCJnZXRDaGFubmVsV2ViaG9va3MiLCJnZXREbUNoYW5uZWwiLCJnZXRHcm91cERtQ2hhbm5lbCIsImdldEVtb2ppIiwiZW1vamlJZCIsImdldEVtb2ppcyIsImdldEZvbGxvd3VwTWVzc2FnZSIsImdldEdhdGV3YXlCb3QiLCJnYXRld2F5Qm90IiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kIiwiZ2V0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyIsImdldEd1aWxkIiwiZ2V0R3VpbGRzIiwiZ2V0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmQiLCJnZXRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZHMiLCJnZXRHdWlsZFByZXZpZXciLCJnZXRHdWlsZFN0aWNrZXIiLCJnZXRHdWlsZFN0aWNrZXJzIiwiZ2V0R3VpbGRUZW1wbGF0ZSIsImdldEd1aWxkVGVtcGxhdGVzIiwiZ2V0R3VpbGRXZWJob29rcyIsImdldEludGVncmF0aW9ucyIsImludGVncmF0aW9uIiwidG9TdHJpbmciLCJnZXRJbnZpdGUiLCJpbnZpdGVDb2RlIiwiaW52aXRlIiwiZ2V0SW52aXRlcyIsImdldE1lc3NhZ2UiLCJnZXRNZXNzYWdlcyIsImdldE5pdHJvU3RpY2tlclBhY2tzIiwic3RpY2tlclBhY2siLCJnZXRPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJnZXRQaW5uZWRNZXNzYWdlcyIsImdldFByaXZhdGVBcmNoaXZlZFRocmVhZHMiLCJnZXRQcml2YXRlSm9pbmVkQXJjaGl2ZWRUaHJlYWRzIiwiZ2V0UHJ1bmVDb3VudCIsImdldFB1YmxpY0FyY2hpdmVkVGhyZWFkcyIsImdldFJvbGVzIiwiZ2V0U2NoZWR1bGVkRXZlbnQiLCJnZXRTY2hlZHVsZWRFdmVudHMiLCJnZXRTY2hlZHVsZWRFdmVudFVzZXJzIiwidSIsInNub3dmbGFrZSIsImdldFNlc3Npb25JbmZvIiwiZ2V0U3RhZ2VJbnN0YW5jZSIsImdldFN0aWNrZXIiLCJnZXRUaHJlYWRNZW1iZXIiLCJnZXRUaHJlYWRNZW1iZXJzIiwiZ2V0UmVhY3Rpb25zIiwicmVhY3Rpb24iLCJnZXRVc2VyIiwiZ2V0Q3VycmVudFVzZXIiLCJnZXRVc2VyQ29ubmVjdGlvbnMiLCJnZXRVc2VyQXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbiIsImFwcGxpY2F0aW9uSWQiLCJnZXRWYW5pdHlVcmwiLCJnZXRWb2ljZVJlZ2lvbnMiLCJnZXRXZWJob29rIiwiZ2V0V2ViaG9va01lc3NhZ2UiLCJnZXRXZWJob29rV2l0aFRva2VuIiwiZ2V0V2VsY29tZVNjcmVlbiIsImdldFdpZGdldCIsIndpZGdldCIsImdldFdpZGdldFNldHRpbmdzIiwicHVibGlzaE1lc3NhZ2UiLCJzZW5kTWVzc2FnZSIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJzdGFydFRocmVhZFdpdGhNZXNzYWdlIiwic3RhcnRUaHJlYWRXaXRob3V0TWVzc2FnZSIsInN5bmNHdWlsZFRlbXBsYXRlIiwidXBzZXJ0R2xvYmFsQXBwbGljYXRpb25Db21tYW5kcyIsImNvbW1hbmRzIiwidXBzZXJ0R3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRzIiwiZWRpdEJvdE1lbWJlciIsImVkaXRNZW1iZXIiLCJnZXRNZW1iZXIiLCJnZXRDdXJyZW50TWVtYmVyIiwiZ2V0TWVtYmVycyIsInBydW5lTWVtYmVycyIsInNlYXJjaE1lbWJlcnMiLCJxdWVyeSIsImFkZFJlYWN0aW9uIiwiYWRkUmVhY3Rpb25zIiwicmVhY3Rpb25zIiwib3JkZXJlZCIsImFkZFJvbGUiLCJhZGRUaHJlYWRNZW1iZXIiLCJhZGREbVJlY2lwaWVudCIsImFkZEd1aWxkTWVtYmVyIiwiZGVsZXRlQXV0b21vZFJ1bGUiLCJkZWxldGVDaGFubmVsIiwiZGVsZXRlQ2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZSIsIm92ZXJ3cml0ZUlkIiwiZGVsZXRlRW1vamkiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVHbG9iYWxBcHBsaWNhdGlvbkNvbW1hbmQiLCJkZWxldGVHdWlsZCIsImRlbGV0ZUd1aWxkQXBwbGljYXRpb25Db21tYW5kIiwiZGVsZXRlR3VpbGRTdGlja2VyIiwiZGVsZXRlR3VpbGRUZW1wbGF0ZSIsImRlbGV0ZUludGVncmF0aW9uIiwiaW50ZWdyYXRpb25JZCIsImRlbGV0ZUludml0ZSIsImRlbGV0ZU1lc3NhZ2UiLCJkZWxldGVNZXNzYWdlcyIsIm1lc3NhZ2VJZHMiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJkZWxldGVPd25SZWFjdGlvbiIsImRlbGV0ZVJlYWN0aW9uc0FsbCIsImRlbGV0ZVJlYWN0aW9uc0Vtb2ppIiwiZGVsZXRlUm9sZSIsImRlbGV0ZVNjaGVkdWxlZEV2ZW50IiwiZGVsZXRlU3RhZ2VJbnN0YW5jZSIsImRlbGV0ZVVzZXJSZWFjdGlvbiIsImRlbGV0ZVdlYmhvb2siLCJkZWxldGVXZWJob29rTWVzc2FnZSIsImRlbGV0ZVdlYmhvb2tXaXRoVG9rZW4iLCJlZGl0Q2hhbm5lbFBlcm1pc3Npb25PdmVycmlkZXMiLCJlZGl0Q2hhbm5lbFBvc2l0aW9ucyIsImNoYW5uZWxQb3NpdGlvbnMiLCJlZGl0R3VpbGRNZmFMZXZlbCIsIm1mYUxldmVsIiwiZWRpdE93blZvaWNlU3RhdGUiLCJlZGl0VXNlclZvaWNlU3RhdGUiLCJlZGl0VXNlckFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb24iLCJqb2luVGhyZWFkIiwibGVhdmVHdWlsZCIsImxlYXZlVGhyZWFkIiwicmVtb3ZlUm9sZSIsInJlbW92ZVRocmVhZE1lbWJlciIsInJlbW92ZURtUmVjaXBpZW50Iiwic2VuZEludGVyYWN0aW9uUmVzcG9uc2UiLCJpbnRlcmFjdGlvbklkIiwidHJpZ2dlclR5cGluZ0luZGljYXRvciIsImJhbk1lbWJlciIsImtpY2tNZW1iZXIiLCJwaW5NZXNzYWdlIiwidW5iYW5NZW1iZXIiLCJ1bnBpbk1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7K0JBaUhnQkE7O2FBQUFBOzt1QkF6QlU7QUF5Qm5CLFNBQVNBLGlCQUFpQkMsR0FBUSxFQUFjO0lBQ3JELE9BQU87UUFDTEMsbUJBQW1CLE9BQU9DLFNBQVNDLFNBQVNDLFNBQVc7WUFDckQsT0FBT0osSUFBSUssWUFBWSxDQUFDQyxXQUFXLENBQUNOLEtBQUtPLElBQUFBLGdCQUFTLEVBQUMsTUFBTVAsSUFBSVEsSUFBSSxDQUFDUCxpQkFBaUIsQ0FBQ0MsU0FBU0MsU0FBU0M7UUFDeEc7UUFDQUssZUFBZSxPQUFPUCxTQUFTQyxTQUFTQyxTQUFXO1lBQ2pELE9BQU9KLElBQUlLLFlBQVksQ0FBQ0ssT0FBTyxDQUFDVixLQUFLO2dCQUFFVSxTQUFTSCxJQUFBQSxnQkFBUyxFQUFDLE1BQU1QLElBQUlRLElBQUksQ0FBQ0MsYUFBYSxDQUFDUCxTQUFTQyxTQUFTQztnQkFBVUY7WUFBUTtRQUM3SDtRQUNBUyxhQUFhLE9BQU9ULFNBQVNDLFNBQVNDLFNBQVc7WUFDL0MsT0FBT0osSUFBSUssWUFBWSxDQUFDTyxLQUFLLENBQUNaLEtBQUtPLElBQUFBLGdCQUFTLEVBQUMsTUFBTVAsSUFBSVEsSUFBSSxDQUFDRyxXQUFXLENBQUNULFNB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