@discordeno/bot 22.0.0-beta.1 → 22.0.0-beta.2

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 (488) hide show
  1. package/dist/bot.d.ts +4 -4
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +2 -3
  4. package/dist/commandOptionsParser.d.ts +4 -3
  5. package/dist/commandOptionsParser.d.ts.map +1 -1
  6. package/dist/commandOptionsParser.js +1 -1
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +1 -1
  9. package/dist/desiredProperties.d.ts +151 -100
  10. package/dist/desiredProperties.d.ts.map +1 -1
  11. package/dist/desiredProperties.js +290 -2
  12. package/dist/events.d.ts +34 -18
  13. package/dist/events.d.ts.map +1 -1
  14. package/dist/events.js +1 -1
  15. package/dist/handlers/channels/CHANNEL_CREATE.d.ts +2 -1
  16. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  17. package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
  18. package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -1
  19. package/dist/handlers/channels/CHANNEL_DELETE.js +1 -1
  20. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -1
  21. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +1 -1
  22. package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -1
  23. package/dist/handlers/channels/CHANNEL_UPDATE.js +1 -1
  24. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -1
  25. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +1 -1
  26. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -1
  27. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +1 -1
  28. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -1
  29. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +1 -1
  30. package/dist/handlers/channels/THREAD_CREATE.d.ts +1 -1
  31. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
  32. package/dist/handlers/channels/THREAD_CREATE.js +1 -1
  33. package/dist/handlers/channels/THREAD_DELETE.d.ts +1 -1
  34. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
  35. package/dist/handlers/channels/THREAD_DELETE.js +1 -1
  36. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts +1 -1
  37. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
  38. package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
  39. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +1 -1
  40. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
  41. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  42. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +1 -1
  43. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  44. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
  45. package/dist/handlers/channels/THREAD_UPDATE.d.ts +1 -1
  46. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
  47. package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
  48. package/dist/handlers/channels/index.d.ts.map +1 -1
  49. package/dist/handlers/channels/index.js +1 -1
  50. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -1
  51. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +1 -1
  52. package/dist/handlers/emojis/index.d.ts.map +1 -1
  53. package/dist/handlers/emojis/index.js +1 -1
  54. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -1
  55. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.js +1 -1
  56. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -1
  57. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.js +1 -1
  58. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -1
  59. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.js +1 -1
  60. package/dist/handlers/entitlements/index.d.ts.map +1 -1
  61. package/dist/handlers/entitlements/index.js +1 -1
  62. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -1
  63. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  64. package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -1
  65. package/dist/handlers/guilds/GUILD_BAN_ADD.js +1 -1
  66. package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -1
  67. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +1 -1
  68. package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +1 -1
  69. package/dist/handlers/guilds/GUILD_CREATE.js +1 -1
  70. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  71. package/dist/handlers/guilds/GUILD_DELETE.js +1 -1
  72. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -1
  73. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +1 -1
  74. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +2 -1
  75. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  76. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
  77. package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -1
  78. package/dist/handlers/guilds/GUILD_UPDATE.js +1 -1
  79. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
  80. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +1 -1
  81. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
  82. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +1 -1
  83. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
  84. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +1 -1
  85. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
  86. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +1 -1
  87. package/dist/handlers/guilds/automod/index.d.ts.map +1 -1
  88. package/dist/handlers/guilds/automod/index.js +1 -1
  89. package/dist/handlers/guilds/index.d.ts.map +1 -1
  90. package/dist/handlers/guilds/index.js +1 -1
  91. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
  92. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +1 -1
  93. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -1
  94. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +1 -1
  95. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -1
  96. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +1 -1
  97. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -1
  98. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +1 -1
  99. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -1
  100. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +1 -1
  101. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
  102. package/dist/handlers/guilds/scheduledEvents/index.js +1 -1
  103. package/dist/handlers/index.d.ts.map +1 -1
  104. package/dist/handlers/index.js +1 -1
  105. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts +1 -1
  106. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
  107. package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
  108. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts +1 -1
  109. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
  110. package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
  111. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts +1 -1
  112. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
  113. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
  114. package/dist/handlers/integrations/index.d.ts.map +1 -1
  115. package/dist/handlers/integrations/index.js +1 -1
  116. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +2 -1
  117. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  118. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +1 -1
  119. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts +1 -1
  120. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
  121. package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
  122. package/dist/handlers/interactions/index.d.ts.map +1 -1
  123. package/dist/handlers/interactions/index.js +1 -1
  124. package/dist/handlers/invites/INVITE_CREATE.d.ts +1 -1
  125. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  126. package/dist/handlers/invites/INVITE_CREATE.js +20 -4
  127. package/dist/handlers/invites/INVITE_DELETE.d.ts +1 -1
  128. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  129. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  130. package/dist/handlers/invites/index.d.ts.map +1 -1
  131. package/dist/handlers/invites/index.js +1 -1
  132. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +1 -1
  133. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
  134. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
  135. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts +1 -1
  136. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
  137. package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
  138. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts +1 -1
  139. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
  140. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
  141. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts +1 -1
  142. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  143. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  144. package/dist/handlers/members/index.d.ts.map +1 -1
  145. package/dist/handlers/members/index.js +1 -1
  146. package/dist/handlers/messages/MESSAGE_CREATE.d.ts +1 -1
  147. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
  148. package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
  149. package/dist/handlers/messages/MESSAGE_DELETE.d.ts +1 -1
  150. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
  151. package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
  152. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts +1 -1
  153. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
  154. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
  155. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts +1 -1
  156. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  157. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  158. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts +1 -1
  159. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  160. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  161. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +1 -1
  162. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
  163. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
  164. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +1 -1
  165. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  166. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  167. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts +1 -1
  168. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
  169. package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
  170. package/dist/handlers/messages/index.d.ts.map +1 -1
  171. package/dist/handlers/messages/index.js +1 -1
  172. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts +1 -1
  173. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
  174. package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
  175. package/dist/handlers/misc/RATE_LIMITED.d.ts +4 -0
  176. package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -0
  177. package/dist/handlers/misc/RATE_LIMITED.js +7 -0
  178. package/dist/handlers/misc/READY.d.ts +1 -1
  179. package/dist/handlers/misc/READY.d.ts.map +1 -1
  180. package/dist/handlers/misc/READY.js +1 -1
  181. package/dist/handlers/misc/RESUMED.d.ts +4 -0
  182. package/dist/handlers/misc/RESUMED.d.ts.map +1 -0
  183. package/dist/handlers/misc/RESUMED.js +6 -0
  184. package/dist/handlers/misc/TYPING_START.d.ts +1 -1
  185. package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
  186. package/dist/handlers/misc/TYPING_START.js +1 -1
  187. package/dist/handlers/misc/USER_UPDATE.d.ts +1 -1
  188. package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
  189. package/dist/handlers/misc/USER_UPDATE.js +1 -1
  190. package/dist/handlers/misc/index.d.ts +2 -0
  191. package/dist/handlers/misc/index.d.ts.map +1 -1
  192. package/dist/handlers/misc/index.js +3 -1
  193. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts +1 -1
  194. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
  195. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
  196. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts +1 -1
  197. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
  198. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
  199. package/dist/handlers/poll/index.d.ts.map +1 -1
  200. package/dist/handlers/poll/index.js +1 -1
  201. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts +1 -1
  202. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
  203. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
  204. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts +1 -1
  205. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
  206. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
  207. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts +1 -1
  208. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
  209. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
  210. package/dist/handlers/roles/index.d.ts.map +1 -1
  211. package/dist/handlers/roles/index.js +1 -1
  212. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts +1 -1
  213. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
  214. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
  215. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts +1 -1
  216. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
  217. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
  218. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts +1 -1
  219. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
  220. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
  221. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts +1 -1
  222. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
  223. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
  224. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts +1 -1
  225. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
  226. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
  227. package/dist/handlers/soundboard/index.d.ts.map +1 -1
  228. package/dist/handlers/soundboard/index.js +1 -1
  229. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -1
  230. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.js +1 -1
  231. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -1
  232. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.js +1 -1
  233. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -1
  234. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +1 -1
  235. package/dist/handlers/subscriptions/index.d.ts.map +1 -1
  236. package/dist/handlers/subscriptions/index.js +1 -1
  237. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts +1 -1
  238. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
  239. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
  240. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts +1 -1
  241. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
  242. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
  243. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts +1 -1
  244. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
  245. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +2 -5
  246. package/dist/handlers/voice/index.d.ts.map +1 -1
  247. package/dist/handlers/voice/index.js +1 -1
  248. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +1 -1
  249. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  250. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
  251. package/dist/handlers/webhooks/index.d.ts.map +1 -1
  252. package/dist/handlers/webhooks/index.js +1 -1
  253. package/dist/handlers.d.ts +3 -1
  254. package/dist/handlers.d.ts.map +1 -1
  255. package/dist/handlers.js +78 -75
  256. package/dist/helpers.d.ts +62 -44
  257. package/dist/helpers.d.ts.map +1 -1
  258. package/dist/helpers.js +66 -15
  259. package/dist/index.d.ts.map +1 -1
  260. package/dist/index.js +1 -1
  261. package/dist/transformers/activity.d.ts +11 -4
  262. package/dist/transformers/activity.d.ts.map +1 -1
  263. package/dist/transformers/activity.js +34 -18
  264. package/dist/transformers/application.d.ts +5 -3
  265. package/dist/transformers/application.d.ts.map +1 -1
  266. package/dist/transformers/application.js +20 -8
  267. package/dist/transformers/applicationCommand.d.ts +2 -2
  268. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  269. package/dist/transformers/applicationCommand.js +1 -1
  270. package/dist/transformers/applicationCommandOption.d.ts +2 -2
  271. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  272. package/dist/transformers/applicationCommandOption.js +3 -2
  273. package/dist/transformers/applicationCommandOptionChoice.d.ts +2 -2
  274. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  275. package/dist/transformers/applicationCommandOptionChoice.js +1 -1
  276. package/dist/transformers/applicationCommandPermission.d.ts +2 -2
  277. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  278. package/dist/transformers/applicationCommandPermission.js +1 -1
  279. package/dist/transformers/attachment.d.ts +4 -2
  280. package/dist/transformers/attachment.d.ts.map +1 -1
  281. package/dist/transformers/attachment.js +12 -4
  282. package/dist/transformers/auditLogEntry.d.ts +2 -2
  283. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  284. package/dist/transformers/auditLogEntry.js +3 -2
  285. package/dist/transformers/automodActionExecution.d.ts +2 -2
  286. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  287. package/dist/transformers/automodActionExecution.js +1 -1
  288. package/dist/transformers/automodRule.d.ts +2 -2
  289. package/dist/transformers/automodRule.d.ts.map +1 -1
  290. package/dist/transformers/automodRule.js +3 -2
  291. package/dist/transformers/avatarDecorationData.d.ts +5 -2
  292. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  293. package/dist/transformers/avatarDecorationData.js +7 -4
  294. package/dist/transformers/channel.d.ts +7 -3
  295. package/dist/transformers/channel.d.ts.map +1 -1
  296. package/dist/transformers/channel.js +14 -9
  297. package/dist/transformers/component.d.ts +11 -5
  298. package/dist/transformers/component.d.ts.map +1 -1
  299. package/dist/transformers/component.js +253 -38
  300. package/dist/transformers/embed.d.ts +2 -2
  301. package/dist/transformers/embed.d.ts.map +1 -1
  302. package/dist/transformers/embed.js +22 -5
  303. package/dist/transformers/emoji.d.ts +8 -3
  304. package/dist/transformers/emoji.d.ts.map +1 -1
  305. package/dist/transformers/emoji.js +10 -5
  306. package/dist/transformers/entitlement.d.ts +4 -2
  307. package/dist/transformers/entitlement.d.ts.map +1 -1
  308. package/dist/transformers/entitlement.js +6 -3
  309. package/dist/transformers/gatewayBot.d.ts +2 -2
  310. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  311. package/dist/transformers/gatewayBot.js +1 -1
  312. package/dist/transformers/guild.d.ts +5 -3
  313. package/dist/transformers/guild.d.ts.map +1 -1
  314. package/dist/transformers/guild.js +25 -25
  315. package/dist/transformers/incidentsData.d.ts +4 -2
  316. package/dist/transformers/incidentsData.d.ts.map +1 -1
  317. package/dist/transformers/incidentsData.js +6 -3
  318. package/dist/transformers/index.d.ts.map +1 -1
  319. package/dist/transformers/index.js +1 -1
  320. package/dist/transformers/integration.d.ts +2 -2
  321. package/dist/transformers/integration.d.ts.map +1 -1
  322. package/dist/transformers/integration.js +2 -2
  323. package/dist/transformers/interaction.d.ts +20 -12
  324. package/dist/transformers/interaction.d.ts.map +1 -1
  325. package/dist/transformers/interaction.js +67 -40
  326. package/dist/transformers/invite.d.ts +5 -4
  327. package/dist/transformers/invite.d.ts.map +1 -1
  328. package/dist/transformers/invite.js +27 -28
  329. package/dist/transformers/lobby.d.ts +14 -4
  330. package/dist/transformers/lobby.d.ts.map +1 -1
  331. package/dist/transformers/lobby.js +36 -6
  332. package/dist/transformers/member.d.ts +3 -2
  333. package/dist/transformers/member.d.ts.map +1 -1
  334. package/dist/transformers/member.js +6 -3
  335. package/dist/transformers/message.d.ts +21 -10
  336. package/dist/transformers/message.d.ts.map +1 -1
  337. package/dist/transformers/message.js +53 -26
  338. package/dist/transformers/onboarding.d.ts +10 -4
  339. package/dist/transformers/onboarding.d.ts.map +1 -1
  340. package/dist/transformers/onboarding.js +17 -10
  341. package/dist/transformers/poll.d.ts +7 -3
  342. package/dist/transformers/poll.d.ts.map +1 -1
  343. package/dist/transformers/poll.js +14 -7
  344. package/dist/transformers/presence.d.ts +4 -2
  345. package/dist/transformers/presence.d.ts.map +1 -1
  346. package/dist/transformers/presence.js +10 -6
  347. package/dist/transformers/reverse/activity.d.ts +5 -2
  348. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  349. package/dist/transformers/reverse/activity.js +20 -24
  350. package/dist/transformers/reverse/allowedMentions.d.ts +2 -1
  351. package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
  352. package/dist/transformers/reverse/allowedMentions.js +1 -1
  353. package/dist/transformers/reverse/application.d.ts +3 -1
  354. package/dist/transformers/reverse/application.d.ts.map +1 -1
  355. package/dist/transformers/reverse/application.js +2 -2
  356. package/dist/transformers/reverse/applicationCommand.d.ts +3 -1
  357. package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
  358. package/dist/transformers/reverse/applicationCommand.js +2 -2
  359. package/dist/transformers/reverse/applicationCommandOption.d.ts +3 -1
  360. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
  361. package/dist/transformers/reverse/applicationCommandOption.js +1 -1
  362. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +3 -1
  363. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  364. package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
  365. package/dist/transformers/reverse/applicationCommandPermission.d.ts +3 -1
  366. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
  367. package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
  368. package/dist/transformers/reverse/attachment.d.ts +2 -1
  369. package/dist/transformers/reverse/attachment.d.ts.map +1 -1
  370. package/dist/transformers/reverse/attachment.js +1 -1
  371. package/dist/transformers/reverse/auditLogEntry.d.ts +2 -1
  372. package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  373. package/dist/transformers/reverse/auditLogEntry.js +3 -2
  374. package/dist/transformers/reverse/component.d.ts +4 -3
  375. package/dist/transformers/reverse/component.d.ts.map +1 -1
  376. package/dist/transformers/reverse/component.js +185 -12
  377. package/dist/transformers/reverse/embed.d.ts +2 -1
  378. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  379. package/dist/transformers/reverse/embed.js +19 -4
  380. package/dist/transformers/reverse/emoji.d.ts +2 -1
  381. package/dist/transformers/reverse/emoji.d.ts.map +1 -1
  382. package/dist/transformers/reverse/emoji.js +1 -1
  383. package/dist/transformers/reverse/gatewayBot.d.ts.map +1 -1
  384. package/dist/transformers/reverse/gatewayBot.js +1 -1
  385. package/dist/transformers/reverse/index.d.ts.map +1 -1
  386. package/dist/transformers/reverse/index.js +1 -1
  387. package/dist/transformers/reverse/member.d.ts.map +1 -1
  388. package/dist/transformers/reverse/member.js +4 -2
  389. package/dist/transformers/reverse/presence.d.ts +2 -1
  390. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  391. package/dist/transformers/reverse/presence.js +3 -2
  392. package/dist/transformers/reverse/team.d.ts +2 -1
  393. package/dist/transformers/reverse/team.d.ts.map +1 -1
  394. package/dist/transformers/reverse/team.js +2 -2
  395. package/dist/transformers/reverse/user.d.ts +5 -0
  396. package/dist/transformers/reverse/user.d.ts.map +1 -0
  397. package/dist/transformers/reverse/user.js +17 -0
  398. package/dist/transformers/reverse/widgetSettings.d.ts +2 -1
  399. package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
  400. package/dist/transformers/reverse/widgetSettings.js +1 -1
  401. package/dist/transformers/role.d.ts +8 -4
  402. package/dist/transformers/role.d.ts.map +1 -1
  403. package/dist/transformers/role.js +13 -8
  404. package/dist/transformers/scheduledEvent.d.ts +7 -3
  405. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  406. package/dist/transformers/scheduledEvent.js +11 -6
  407. package/dist/transformers/sku.d.ts +4 -2
  408. package/dist/transformers/sku.d.ts.map +1 -1
  409. package/dist/transformers/sku.js +6 -3
  410. package/dist/transformers/soundboardSound.d.ts +4 -2
  411. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  412. package/dist/transformers/soundboardSound.js +6 -3
  413. package/dist/transformers/stageInstance.d.ts +4 -2
  414. package/dist/transformers/stageInstance.d.ts.map +1 -1
  415. package/dist/transformers/stageInstance.js +6 -3
  416. package/dist/transformers/stageInviteInstance.d.ts +4 -3
  417. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  418. package/dist/transformers/stageInviteInstance.js +10 -8
  419. package/dist/transformers/sticker.d.ts +5 -3
  420. package/dist/transformers/sticker.d.ts.map +1 -1
  421. package/dist/transformers/sticker.js +6 -3
  422. package/dist/transformers/subscription.d.ts +4 -2
  423. package/dist/transformers/subscription.d.ts.map +1 -1
  424. package/dist/transformers/subscription.js +6 -3
  425. package/dist/transformers/team.d.ts +2 -2
  426. package/dist/transformers/team.d.ts.map +1 -1
  427. package/dist/transformers/team.js +2 -2
  428. package/dist/transformers/template.d.ts +2 -2
  429. package/dist/transformers/template.d.ts.map +1 -1
  430. package/dist/transformers/template.js +1 -1
  431. package/dist/transformers/threadMember.d.ts +3 -3
  432. package/dist/transformers/threadMember.d.ts.map +1 -1
  433. package/dist/transformers/threadMember.js +4 -2
  434. package/dist/transformers/toggles/Permissions.d.ts.map +1 -1
  435. package/dist/transformers/toggles/Permissions.js +1 -1
  436. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  437. package/dist/transformers/toggles/ToggleBitfield.js +1 -1
  438. package/dist/transformers/toggles/channel.d.ts +2 -2
  439. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  440. package/dist/transformers/toggles/channel.js +2 -2
  441. package/dist/transformers/toggles/emoji.d.ts +1 -1
  442. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  443. package/dist/transformers/toggles/emoji.js +1 -1
  444. package/dist/transformers/toggles/guild.d.ts +6 -6
  445. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  446. package/dist/transformers/toggles/guild.js +5 -5
  447. package/dist/transformers/toggles/index.d.ts.map +1 -1
  448. package/dist/transformers/toggles/index.js +1 -1
  449. package/dist/transformers/toggles/member.d.ts +2 -2
  450. package/dist/transformers/toggles/member.d.ts.map +1 -1
  451. package/dist/transformers/toggles/member.js +2 -2
  452. package/dist/transformers/toggles/role.d.ts +1 -1
  453. package/dist/transformers/toggles/role.d.ts.map +1 -1
  454. package/dist/transformers/toggles/role.js +1 -1
  455. package/dist/transformers/toggles/user.d.ts +1 -1
  456. package/dist/transformers/toggles/user.d.ts.map +1 -1
  457. package/dist/transformers/toggles/user.js +1 -1
  458. package/dist/transformers/toggles/voice.d.ts +1 -1
  459. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  460. package/dist/transformers/toggles/voice.js +1 -1
  461. package/dist/transformers/types.d.ts +321 -65
  462. package/dist/transformers/types.d.ts.map +1 -1
  463. package/dist/transformers/types.js +2 -2
  464. package/dist/transformers/user.d.ts +14 -5
  465. package/dist/transformers/user.d.ts.map +1 -1
  466. package/dist/transformers/user.js +39 -12
  467. package/dist/transformers/voiceRegion.d.ts +2 -2
  468. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  469. package/dist/transformers/voiceRegion.js +1 -1
  470. package/dist/transformers/voiceState.d.ts +4 -3
  471. package/dist/transformers/voiceState.d.ts.map +1 -1
  472. package/dist/transformers/voiceState.js +6 -4
  473. package/dist/transformers/webhook.d.ts +4 -2
  474. package/dist/transformers/webhook.d.ts.map +1 -1
  475. package/dist/transformers/webhook.js +11 -8
  476. package/dist/transformers/welcomeScreen.d.ts +2 -2
  477. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  478. package/dist/transformers/welcomeScreen.js +1 -1
  479. package/dist/transformers/widget.d.ts +2 -2
  480. package/dist/transformers/widget.d.ts.map +1 -1
  481. package/dist/transformers/widget.js +7 -5
  482. package/dist/transformers/widgetSettings.d.ts +2 -2
  483. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  484. package/dist/transformers/widgetSettings.js +1 -1
  485. package/dist/transformers.d.ts +220 -216
  486. package/dist/transformers.d.ts.map +1 -1
  487. package/dist/transformers.js +89 -3
  488. package/package.json +25 -27
@@ -1,14 +1,70 @@
1
1
  import { bigintToSnowflake, snowflakeToBigint } from '@discordeno/utils';
2
2
  import { createDesiredPropertiesObject } from './desiredProperties.js';
3
+ import { transformActivity, transformActivityAssets, transformActivityInstance, transformActivityLocation } from './transformers/activity.js';
4
+ import { transformApplication } from './transformers/application.js';
5
+ import { transformApplicationCommand } from './transformers/applicationCommand.js';
6
+ import { transformApplicationCommandOption } from './transformers/applicationCommandOption.js';
7
+ import { transformApplicationCommandOptionChoice } from './transformers/applicationCommandOptionChoice.js';
8
+ import { transformApplicationCommandPermission } from './transformers/applicationCommandPermission.js';
9
+ import { transformAttachment } from './transformers/attachment.js';
10
+ import { transformAuditLogEntry } from './transformers/auditLogEntry.js';
11
+ import { transformAutoModerationActionExecution } from './transformers/automodActionExecution.js';
12
+ import { transformAutoModerationRule } from './transformers/automodRule.js';
13
+ import { transformAvatarDecorationData } from './transformers/avatarDecorationData.js';
14
+ import { transformChannel, transformForumTag } from './transformers/channel.js';
15
+ import { transformComponent, transformMediaGalleryItem, transformUnfurledMediaItem } from './transformers/component.js';
16
+ import { transformEmbed } from './transformers/embed.js';
17
+ import { transformDefaultReactionEmoji, transformEmoji } from './transformers/emoji.js';
18
+ import { transformEntitlement } from './transformers/entitlement.js';
19
+ import { transformGatewayBot } from './transformers/gatewayBot.js';
20
+ import { transformGuild } from './transformers/guild.js';
3
21
  import { transformIncidentsData } from './transformers/incidentsData.js';
4
- import { transformActivity, transformActivityInstance, transformActivityLocation, transformActivityToDiscordActivity, transformApplication, transformApplicationCommand, transformApplicationCommandOption, transformApplicationCommandOptionChoice, transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice, transformApplicationCommandOptionToDiscordApplicationCommandOption, transformApplicationCommandPermission, transformApplicationCommandToDiscordApplicationCommand, transformApplicationToDiscordApplication, transformAttachment, transformAttachmentToDiscordAttachment, transformAuditLogEntry, transformAutoModerationActionExecution, transformAutoModerationRule, transformAvatarDecorationData, transformChannel, transformCollectibles, transformComponent, transformComponentToDiscordComponent, transformDefaultReactionEmoji, transformEmbed, transformEmbedToDiscordEmbed, transformEmoji, transformEntitlement, transformForumTag, transformGatewayBot, transformGuild, transformGuildOnboarding, transformGuildOnboardingPrompt, transformGuildOnboardingPromptOption, transformIntegration, transformInteraction, transformInteractionCallback, transformInteractionCallbackResponse, transformInteractionDataOption, transformInteractionDataResolved, transformInteractionResource, transformInvite, transformInviteStageInstance, transformLobby, transformLobbyMember, transformMediaGalleryItem, transformMember, transformMemberToDiscordMember, transformMessage, transformMessageCall, transformMessageInteractionMetadata, transformMessagePin, transformMessageSnapshot, transformNameplate, transformPoll, transformPollMedia, transformPresence, transformRole, transformRoleColors, transformScheduledEvent, transformScheduledEventRecurrenceRule, transformSku, transformSoundboardSound, transformStageInstance, transformSticker, transformStickerPack, transformSubscription, transformTeam, transformTeamToDiscordTeam, transformTemplate, transformThreadMember, transformThreadMemberGuildCreate, transformUnfurledMediaItem, transformUser, transformUserPrimaryGuild, transformUserToDiscordUser, transformVoiceRegion, transformVoiceState, transformWebhook, transformWelcomeScreen, transformWidget, transformWidgetSettings } from './transformers/index.js';
5
- import { transformAllowedMentionsToDiscordAllowedMentions, transformMediaGalleryItemToDiscordMediaGalleryItem, transformUnfurledMediaItemToDiscordUnfurledMediaItem } from './transformers/reverse/index.js';
22
+ import { transformIntegration } from './transformers/integration.js';
23
+ import { transformInteraction, transformInteractionCallback, transformInteractionCallbackResponse, transformInteractionDataOption, transformInteractionDataResolved, transformInteractionResource } from './transformers/interaction.js';
24
+ import { transformInvite } from './transformers/invite.js';
25
+ import { transformLobby, transformLobbyInvite, transformLobbyMember, transformLobbyMessage } from './transformers/lobby.js';
26
+ import { transformMember } from './transformers/member.js';
27
+ import { transformMessage, transformMessageCall, transformMessageInteractionMetadata, transformMessagePin, transformMessageSnapshot, transformSharedClientTheme } from './transformers/message.js';
28
+ import { transformGuildOnboarding, transformGuildOnboardingPrompt, transformGuildOnboardingPromptOption } from './transformers/onboarding.js';
29
+ import { transformPoll, transformPollMedia } from './transformers/poll.js';
30
+ import { transformPresence } from './transformers/presence.js';
31
+ import { transformActivityAssetsToDiscordActivityAssets, transformActivityToDiscordActivity } from './transformers/reverse/activity.js';
32
+ import { transformAllowedMentionsToDiscordAllowedMentions } from './transformers/reverse/allowedMentions.js';
33
+ import { transformApplicationToDiscordApplication } from './transformers/reverse/application.js';
34
+ import { transformApplicationCommandToDiscordApplicationCommand } from './transformers/reverse/applicationCommand.js';
35
+ import { transformApplicationCommandOptionToDiscordApplicationCommandOption } from './transformers/reverse/applicationCommandOption.js';
36
+ import { transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice } from './transformers/reverse/applicationCommandOptionChoice.js';
37
+ import { transformAttachmentToDiscordAttachment } from './transformers/reverse/attachment.js';
38
+ import { transformComponentToDiscordComponent, transformMediaGalleryItemToDiscordMediaGalleryItem, transformUnfurledMediaItemToDiscordUnfurledMediaItem } from './transformers/reverse/component.js';
39
+ import { transformEmbedToDiscordEmbed } from './transformers/reverse/embed.js';
40
+ import { transformMemberToDiscordMember, transformUserToDiscordUser } from './transformers/reverse/member.js';
41
+ import { transformTeamToDiscordTeam } from './transformers/reverse/team.js';
42
+ import { transformCollectiblesToDiscordCollectibles, transformNameplateToDiscordNameplate } from './transformers/reverse/user.js';
43
+ import { transformRole, transformRoleColors } from './transformers/role.js';
44
+ import { transformScheduledEvent, transformScheduledEventRecurrenceRule } from './transformers/scheduledEvent.js';
45
+ import { transformSku } from './transformers/sku.js';
46
+ import { transformSoundboardSound } from './transformers/soundboardSound.js';
47
+ import { transformStageInstance } from './transformers/stageInstance.js';
48
+ import { transformInviteStageInstance } from './transformers/stageInviteInstance.js';
49
+ import { transformSticker, transformStickerPack } from './transformers/sticker.js';
50
+ import { transformSubscription } from './transformers/subscription.js';
51
+ import { transformTeam } from './transformers/team.js';
52
+ import { transformTemplate } from './transformers/template.js';
53
+ import { transformThreadMember, transformThreadMemberGuildCreate } from './transformers/threadMember.js';
54
+ import { transformCollectibles, transformNameplate, transformUser, transformUserPrimaryGuild } from './transformers/user.js';
55
+ import { transformVoiceRegion } from './transformers/voiceRegion.js';
56
+ import { transformVoiceState } from './transformers/voiceState.js';
57
+ import { transformWebhook } from './transformers/webhook.js';
58
+ import { transformWelcomeScreen } from './transformers/welcomeScreen.js';
59
+ import { transformWidget } from './transformers/widget.js';
60
+ import { transformWidgetSettings } from './transformers/widgetSettings.js';
6
61
  const defaultCustomizer = (_bot, _payload, structure)=>structure;
7
62
  export function createTransformers(options) {
8
63
  const _options = options;
9
64
  return {
10
65
  customizers: {
11
66
  activity: _options.customizers?.activity ?? defaultCustomizer,
67
+ activityAssets: _options.customizers?.activityAssets ?? defaultCustomizer,
12
68
  activityInstance: _options.customizers?.activityInstance ?? defaultCustomizer,
13
69
  activityLocation: _options.customizers?.activityLocation ?? defaultCustomizer,
14
70
  application: _options.customizers?.application ?? defaultCustomizer,
@@ -46,6 +102,8 @@ export function createTransformers(options) {
46
102
  inviteStageInstance: _options.customizers?.inviteStageInstance ?? defaultCustomizer,
47
103
  lobby: _options.customizers?.lobby ?? defaultCustomizer,
48
104
  lobbyMember: _options.customizers?.lobbyMember ?? defaultCustomizer,
105
+ lobbyMessage: _options.customizers?.lobbyMessage ?? defaultCustomizer,
106
+ lobbyInvite: _options.customizers?.lobbyInvite ?? defaultCustomizer,
49
107
  mediaGalleryItem: _options.customizers?.mediaGalleryItem ?? defaultCustomizer,
50
108
  member: _options.customizers?.member ?? defaultCustomizer,
51
109
  message: _options.customizers?.message ?? defaultCustomizer,
@@ -61,6 +119,7 @@ export function createTransformers(options) {
61
119
  roleColors: _options.customizers?.roleColors ?? defaultCustomizer,
62
120
  scheduledEvent: _options.customizers?.scheduledEvent ?? defaultCustomizer,
63
121
  scheduledEventRecurrenceRule: _options.customizers?.scheduledEventRecurrenceRule ?? defaultCustomizer,
122
+ sharedClientTheme: _options.customizers?.sharedClientTheme ?? defaultCustomizer,
64
123
  sku: _options.customizers?.sku ?? defaultCustomizer,
65
124
  soundboardSound: _options.customizers?.soundboardSound ?? defaultCustomizer,
66
125
  stageInstance: _options.customizers?.stageInstance ?? defaultCustomizer,
@@ -84,22 +143,26 @@ export function createTransformers(options) {
84
143
  desiredProperties: createDesiredPropertiesObject(_options.desiredProperties ?? {}),
85
144
  reverse: {
86
145
  activity: _options.reverse?.activity ?? transformActivityToDiscordActivity,
146
+ activityAssets: _options.reverse?.activityAssets ?? transformActivityAssetsToDiscordActivityAssets,
87
147
  allowedMentions: _options.reverse?.allowedMentions ?? transformAllowedMentionsToDiscordAllowedMentions,
88
148
  application: _options.reverse?.application ?? transformApplicationToDiscordApplication,
89
149
  applicationCommand: _options.reverse?.applicationCommand ?? transformApplicationCommandToDiscordApplicationCommand,
90
150
  applicationCommandOption: _options.reverse?.applicationCommandOption ?? transformApplicationCommandOptionToDiscordApplicationCommandOption,
91
151
  applicationCommandOptionChoice: _options.reverse?.applicationCommandOptionChoice ?? transformApplicationCommandOptionChoiceToDiscordApplicationCommandOptionChoice,
92
152
  attachment: _options.reverse?.attachment ?? transformAttachmentToDiscordAttachment,
153
+ collectibles: _options.reverse?.collectibles ?? transformCollectiblesToDiscordCollectibles,
93
154
  component: _options.reverse?.component ?? transformComponentToDiscordComponent,
94
155
  embed: _options.reverse?.embed ?? transformEmbedToDiscordEmbed,
95
156
  mediaGalleryItem: _options.reverse?.mediaGalleryItem ?? transformMediaGalleryItemToDiscordMediaGalleryItem,
96
157
  member: _options.reverse?.member ?? transformMemberToDiscordMember,
158
+ nameplate: _options.reverse?.nameplate ?? transformNameplateToDiscordNameplate,
97
159
  snowflake: _options.reverse?.snowflake ?? bigintToSnowflake,
98
160
  team: _options.reverse?.team ?? transformTeamToDiscordTeam,
99
161
  unfurledMediaItem: _options.reverse?.unfurledMediaItem ?? transformUnfurledMediaItemToDiscordUnfurledMediaItem,
100
162
  user: _options.reverse?.user ?? transformUserToDiscordUser
101
163
  },
102
164
  activity: _options.activity ?? transformActivity,
165
+ activityAssets: _options.activityAssets ?? transformActivityAssets,
103
166
  activityInstance: _options.activityInstance ?? transformActivityInstance,
104
167
  activityLocation: _options.activityLocation ?? transformActivityLocation,
105
168
  application: _options.application ?? transformApplication,
@@ -137,6 +200,8 @@ export function createTransformers(options) {
137
200
  inviteStageInstance: _options.inviteStageInstance ?? transformInviteStageInstance,
138
201
  lobby: _options.lobby ?? transformLobby,
139
202
  lobbyMember: _options.lobbyMember ?? transformLobbyMember,
203
+ lobbyMessage: _options.lobbyMessage ?? transformLobbyMessage,
204
+ lobbyInvite: _options.lobbyInvite ?? transformLobbyInvite,
140
205
  mediaGalleryItem: _options.mediaGalleryItem ?? transformMediaGalleryItem,
141
206
  member: _options.member ?? transformMember,
142
207
  message: _options.message ?? transformMessage,
@@ -152,6 +217,7 @@ export function createTransformers(options) {
152
217
  roleColors: _options.roleColors ?? transformRoleColors,
153
218
  scheduledEvent: _options.scheduledEvent ?? transformScheduledEvent,
154
219
  scheduledEventRecurrenceRule: _options.scheduledEventRecurrenceRule ?? transformScheduledEventRecurrenceRule,
220
+ sharedClientTheme: _options.sharedClientTheme ?? transformSharedClientTheme,
155
221
  sku: _options.sku ?? transformSku,
156
222
  soundboardSound: _options.soundboardSound ?? transformSoundboardSound,
157
223
  snowflake: _options.snowflake ?? snowflakeToBigint,
@@ -174,5 +240,25 @@ export function createTransformers(options) {
174
240
  widgetSettings: _options.widgetSettings ?? transformWidgetSettings
175
241
  };
176
242
  }
243
+ /**
244
+ * Calls a transformer customizer function with the provided parameters.
245
+ *
246
+ * @template TInfo - The key of the transformer information to use.
247
+ * @param customizer - The key of the transformer information to use.
248
+ * @param bot - The bot instance.
249
+ * @param payload - The original payload from Discord.
250
+ * @param transformed - The transformed object.
251
+ * @param extra - Additional extra information for the customizer.
252
+ * @returns The result of the customizer function.
253
+ *
254
+ * @remarks
255
+ * This function is used because it is hard to deal with the customizer overloads directly in the transformers.
256
+ *
257
+ * Since the overloads are present only with partial transformers, this function requires the partial extra, for non-partial transformers the normal function call can be used
258
+ */ export function callCustomizer(customizer, bot, payload, transformed, extra) {
259
+ // The type of the customizer is not generalizable, so we use unknown, callCustomizer has the correct type and we cast it here
260
+ const customizerFn = bot.transformers.customizers[customizer];
261
+ return customizerFn(bot, payload, transformed, extra);
262
+ }
177
263
 
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgRGlzY29yZEFjdGl2aXR5LFxuICBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSxcbiAgRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sXG4gIERpc2NvcmRBbGxvd2VkTWVudGlvbnMsXG4gIERpc2NvcmRBcHBsaWNhdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgRGlzY29yZEF0dGFjaG1lbnQsXG4gIERpc2NvcmRBdWRpdExvZ0VudHJ5LFxuICBEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgRGlzY29yZENoYW5uZWwsXG4gIERpc2NvcmRDb2xsZWN0aWJsZXMsXG4gIERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgRGlzY29yZEVtYmVkLFxuICBEaXNjb3JkRW1vamksXG4gIERpc2NvcmRFbnRpdGxlbWVudCxcbiAgRGlzY29yZEZvcnVtVGFnLFxuICBEaXNjb3JkR2V0R2F0ZXdheUJvdCxcbiAgRGlzY29yZEd1aWxkLFxuICBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZyxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgRGlzY29yZEd1aWxkV2lkZ2V0LFxuICBEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncyxcbiAgRGlzY29yZEluY2lkZW50c0RhdGEsXG4gIERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSxcbiAgRGlzY29yZEludGVyYWN0aW9uLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YU9wdGlvbixcbiAgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgRGlzY29yZEludml0ZUNyZWF0ZSxcbiAgRGlzY29yZEludml0ZU1ldGFkYXRhLFxuICBEaXNjb3JkSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZExvYmJ5LFxuICBEaXNjb3JkTG9iYnlNZW1iZXIsXG4gIERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLFxuICBEaXNjb3JkTWVtYmVyLFxuICBEaXNjb3JkTWVzc2FnZSxcbiAgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICBEaXNjb3JkTWVzc2FnZVBpbixcbiAgRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgRGlzY29yZE5hbWVwbGF0ZSxcbiAgRGlzY29yZFBvbGwsXG4gIERpc2NvcmRQb2xsTWVkaWEsXG4gIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSxcbiAgRGlzY29yZFJvbGUsXG4gIERpc2NvcmRSb2xlQ29sb3JzLFxuICBEaXNjb3JkU2NoZWR1bGVkRXZlbnQsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICBEaXNjb3JkU2t1LFxuICBEaXNjb3JkU291bmRib2FyZFNvdW5kLFxuICBEaXNjb3JkU3RhZ2VJbnN0YW5jZSxcbiAgRGlzY29yZFN0aWNrZXIsXG4gIERpc2NvcmRTdGlja2VyUGFjayxcbiAgRGlzY29yZFN1YnNjcmlwdGlvbixcbiAgRGlzY29yZFRlYW0sXG4gIERpc2NvcmRUZW1wbGF0ZSxcbiAgRGlzY29yZFRocmVhZE1lbWJlcixcbiAgRGlzY29yZFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIERpc2NvcmRVc2VyLFxuICBEaXNjb3JkVXNlclByaW1hcnlHdWlsZCxcbiAgRGlzY29yZFZvaWNlUmVnaW9uLFxuICBEaXNjb3JkVm9pY2VTdGF0ZSxcbiAgRGlzY29yZFdlYmhvb2ssXG4gIERpc2NvcmRXZWxjb21lU2NyZWVuLFxuICBSZWN1cnNpdmVQYXJ0aWFsLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGJpZ2ludFRvU25vd2ZsYWtlLCBzbm93Zmxha2VUb0JpZ2ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuL2JvdC5qcydcbmltcG9ydCB7XG4gIGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0LFxuICB0eXBlIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIHR5cGUgU2V0dXBEZXNpcmVkUHJvcHMsXG4gIHR5cGUgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIHR5cGUgVHJhbnNmb3JtUHJvcGVydHksXG59IGZyb20gJy4vZGVzaXJlZFByb3BlcnRpZXMuanMnXG5pbXBvcnQgeyB0cmFuc2Zvcm1JbmNpZGVudHNEYXRhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW5jaWRlbnRzRGF0YS5qcydcbmltcG9ydCB7XG4gIHR5cGUgQWN0aXZpdHksXG4gIHR5cGUgQWN0aXZpdHlJbnN0YW5jZSxcbiAgdHlwZSBBY3Rpdml0eUxvY2F0aW9uLFxuICB0eXBlIEFwcGxpY2F0aW9uLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHlwZSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gIHR5cGUgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICB0eXBlIEF0dGFjaG1lbnQsXG4gIHR5cGUgQXVkaXRMb2dFbnRyeSxcbiAgdHlwZSBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgdHlwZSBBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIHR5cGUgQXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gIHR5cGUgQ2hhbm5lbCxcbiAgdHlwZSBDb2xsZWN0aWJsZXMsXG4gIHR5cGUgQ29tcG9uZW50LFxuICB0eXBlIERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICB0eXBlIEVtYmVkLFxuICB0eXBlIEVtb2ppLFxuICB0eXBlIEVudGl0bGVtZW50LFxuICB0eXBlIEZvcnVtVGFnLFxuICB0eXBlIEdldEdhdGV3YXlCb3QsXG4gIHR5cGUgR3VpbGQsXG4gIHR5cGUgR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgdHlwZSBHdWlsZE9uYm9hcmRpbmcsXG4gIHR5cGUgR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICB0eXBlIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgdHlwZSBHdWlsZFdpZGdldCxcbiAgdHlwZSBHdWlsZFdpZGdldFNldHRpbmdzLFxuICB0eXBlIEluY2lkZW50c0RhdGEsXG4gIHR5cGUgSW50ZWdyYXRpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgdHlwZSBJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gIHR5cGUgSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0eXBlIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICB0eXBlIEludGVyYWN0aW9uUmVzb3VyY2UsXG4gIHR5cGUgSW52aXRlLFxuICB0eXBlIEludml0ZVN0YWdlSW5zdGFuY2UsXG4gIHR5cGUgTG9iYnksXG4gIHR5cGUgTG9iYnlNZW1iZXIsXG4gIHR5cGUgTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBNZW1iZXIsXG4gIHR5cGUgTWVzc2FnZSxcbiAgdHlwZSBNZXNzYWdlQ2FsbCxcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlUGluLFxuICB0eXBlIE1lc3NhZ2VTbmFwc2hvdCxcbiAgdHlwZSBOYW1lcGxhdGUsXG4gIHR5cGUgUG9sbCxcbiAgdHlwZSBQb2xsTWVkaWEsXG4gIHR5cGUgUHJlc2VuY2VVcGRhdGUsXG4gIHR5cGUgUm9sZSxcbiAgdHlwZSBSb2xlQ29sb3JzLFxuICB0eXBlIFNjaGVkdWxlZEV2ZW50LFxuICB0eXBlIFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gIHR5cGUgU2t1LFxuICB0eXBlIFNvdW5kYm9hcmRTb3VuZCxcbiAgdHlwZSBTdGFnZUluc3RhbmNlLFxuICB0eXBlIFN0aWNrZXIsXG4gIHR5cGUgU3RpY2tlclBhY2ssXG4gIHR5cGUgU3Vic2NyaXB0aW9uLFxuICB0eXBlIFRlYW0sXG4gIHR5cGUgVGVtcGxhdGUsXG4gIHR5cGUgVGhyZWFkTWVtYmVyLFxuICB0eXBlIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICB0eXBlIFRocmVhZE1lbWJlclRyYW5zZm9ybWVyRXh0cmEsXG4gIHRyYW5zZm9ybUFjdGl2aXR5LFxuICB0cmFuc2Zvcm1BY3Rpdml0eUluc3RhbmNlLFxuICB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxuICB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5LFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24sXG4gIHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgdHJhbnNmb3JtQXBwbGljYXRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbixcbiAgdHJhbnNmb3JtQXR0YWNobWVudCxcbiAgdHJhbnNmb3JtQXR0YWNobWVudFRvRGlzY29yZEF0dGFjaG1lbnQsXG4gIHRyYW5zZm9ybUF1ZGl0TG9nRW50cnksXG4gIHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUsXG4gIHRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhLFxuICB0cmFuc2Zvcm1DaGFubmVsLFxuICB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsXG4gIHRyYW5zZm9ybUNvbXBvbmVudCxcbiAgdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50LFxuICB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgdHJhbnNmb3JtRW1iZWQsXG4gIHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQsXG4gIHRyYW5zZm9ybUVtb2ppLFxuICB0cmFuc2Zvcm1FbnRpdGxlbWVudCxcbiAgdHJhbnNmb3JtRm9ydW1UYWcsXG4gIHRyYW5zZm9ybUdhdGV3YXlCb3QsXG4gIHRyYW5zZm9ybUd1aWxkLFxuICB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICB0cmFuc2Zvcm1JbnRlZ3JhdGlvbixcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgdHJhbnNmb3JtSW52aXRlLFxuICB0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlLFxuICB0cmFuc2Zvcm1Mb2JieSxcbiAgdHJhbnNmb3JtTG9iYnlNZW1iZXIsXG4gIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0sXG4gIHRyYW5zZm9ybU1lbWJlcixcbiAgdHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyLFxuICB0cmFuc2Zvcm1NZXNzYWdlLFxuICB0cmFuc2Zvcm1NZXNzYWdlQ2FsbCxcbiAgdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gIHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCxcbiAgdHJhbnNmb3JtTmFtZXBsYXRlLFxuICB0cmFuc2Zvcm1Qb2xsLFxuICB0cmFuc2Zvcm1Qb2xsTWVkaWEsXG4gIHRyYW5zZm9ybVByZXNlbmNlLFxuICB0cmFuc2Zvcm1Sb2xlLFxuICB0cmFuc2Zvcm1Sb2xlQ29sb3JzLFxuICB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCxcbiAgdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSxcbiAgdHJhbnNmb3JtU2t1LFxuICB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQsXG4gIHRyYW5zZm9ybVN0YWdlSW5zdGFuY2UsXG4gIHRyYW5zZm9ybVN0aWNrZXIsXG4gIHRyYW5zZm9ybVN0aWNrZXJQYWNrLFxuICB0cmFuc2Zvcm1TdWJzY3JpcHRpb24sXG4gIHRyYW5zZm9ybVRlYW0sXG4gIHRyYW5zZm9ybVRlYW1Ub0Rpc2NvcmRUZWFtLFxuICB0cmFuc2Zvcm1UZW1wbGF0ZSxcbiAgdHJhbnNmb3JtVGhyZWFkTWVtYmVyLFxuICB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIHRyYW5zZm9ybVVzZXIsXG4gIHRyYW5zZm9ybVVzZXJQcmltYXJ5R3VpbGQsXG4gIHRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyLFxuICB0cmFuc2Zvcm1Wb2ljZVJlZ2lvbixcbiAgdHJhbnNmb3JtVm9pY2VTdGF0ZSxcbiAgdHJhbnNmb3JtV2ViaG9vayxcbiAgdHJhbnNmb3JtV2VsY29tZVNjcmVlbixcbiAgdHJhbnNmb3JtV2lkZ2V0LFxuICB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbiAgdHlwZSBVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBVc2VyLFxuICB0eXBlIFVzZXJQcmltYXJ5R3VpbGQsXG4gIHR5cGUgVm9pY2VSZWdpb24sXG4gIHR5cGUgVm9pY2VTdGF0ZSxcbiAgdHlwZSBXZWJob29rLFxuICB0eXBlIFdlbGNvbWVTY3JlZW4sXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL2luZGV4LmpzJ1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zLFxuICB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW1Ub0Rpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9pbmRleC5qcydcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgY3VzdG9taXplcnM6IHtcbiAgICBhY3Rpdml0eTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5LCBhY3Rpdml0eTogQWN0aXZpdHkpID0+IGFueVxuICAgIGFjdGl2aXR5SW5zdGFuY2U6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZTogU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgYWN0aXZpdHlMb2NhdGlvbjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5TG9jYXRpb24sXG4gICAgICBhY3Rpdml0eUxvY2F0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxBY3Rpdml0eUxvY2F0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBhcHBsaWNhdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uLCBhcHBsaWNhdGlvbjogQXBwbGljYXRpb24sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pID0+IGFueVxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCwgYXBwbGljYXRpb25Db21tYW5kOiBBcHBsaWNhdGlvbkNvbW1hbmQpID0+IGFueVxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgICkgPT4gYW55XG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gICAgKSA9PiBhbnlcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsXG4gICAgKSA9PiBhbnlcbiAgICBhdHRhY2htZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQXR0YWNobWVudCwgYXR0YWNobWVudDogU2V0dXBEZXNpcmVkUHJvcHM8QXR0YWNobWVudCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBhdWRpdExvZ0VudHJ5OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQXVkaXRMb2dFbnRyeSwgYXVkaXRMb2dFbnRyeTogQXVkaXRMb2dFbnRyeSkgPT4gYW55XG4gICAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgICAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gICAgKSA9PiBhbnlcbiAgICBhdXRvbW9kUnVsZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSwgYXV0b21vZFJ1bGU6IEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gYW55XG4gICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBTZXR1cERlc2lyZWRQcm9wczxBdmF0YXJEZWNvcmF0aW9uRGF0YSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgY2hhbm5lbDogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZENoYW5uZWwsXG4gICAgICBjaGFubmVsOiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBleHRyYT86IHsgZ3VpbGRJZD86IGJpZ2ludCB9LFxuICAgICkgPT4gYW55XG4gICAgY29sbGVjdGlibGVzOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQ29sbGVjdGlibGVzLCBjb2xsZWN0aWJsZXM6IFNldHVwRGVzaXJlZFByb3BzPENvbGxlY3RpYmxlcywgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBjb21wb25lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50LCBjb21wb25lbnQ6IENvbXBvbmVudCkgPT4gYW55XG4gICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmREZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBTZXR1cERlc2lyZWRQcm9wczxEZWZhdWx0UmVhY3Rpb25FbW9qaSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgZW1iZWQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRFbWJlZCwgZW1iZWQ6IEVtYmVkKSA9PiBhbnlcbiAgICBlbW9qaTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEVtb2ppLCBlbW9qaTogU2V0dXBEZXNpcmVkUHJvcHM8RW1vamksIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgZW50aXRsZW1lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRFbnRpdGxlbWVudCwgZW50aXRsZW1lbnQ6IFNldHVwRGVzaXJlZFByb3BzPEVudGl0bGVtZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIGZvcnVtVGFnOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcsIGZvcnVtVGFnOiBTZXR1cERlc2lyZWRQcm9wczxGb3J1bVRhZywgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBnYXRld2F5Qm90OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkR2V0R2F0ZXdheUJvdCwgZ2V0R2F0ZXdheUJvdDogR2V0R2F0ZXdheUJvdCkgPT4gYW55XG4gICAgZ3VpbGQ6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRHdWlsZCxcbiAgICAgIGd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZCwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSxcbiAgICApID0+IGFueVxuICAgIGd1aWxkT25ib2FyZGluZzogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZyxcbiAgICAgIG9uYm9hcmRpbmc6IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkT25ib2FyZGluZywgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgICAgb25ib2FyZGluZ1Byb21wdDogU2V0dXBEZXNpcmVkUHJvcHM8R3VpbGRPbmJvYXJkaW5nUHJvbXB0LCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sXG4gICAgICBvbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIGluY2lkZW50c0RhdGE6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbmNpZGVudHNEYXRhLFxuICAgICAgaW5jaWRlbnRzRGF0YTogU2V0dXBEZXNpcmVkUHJvcHM8SW5jaWRlbnRzRGF0YSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgaW50ZWdyYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSwgaW50ZWdyYXRpb246IEludGVncmF0aW9uKSA9PiBhbnlcbiAgICBpbnRlcmFjdGlvbjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uLFxuICAgICAgaW50ZXJhY3Rpb246IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9LFxuICAgICkgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25DYWxsYmFjazogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2ssXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvbkNhbGxiYWNrLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSxcbiAgICApID0+IGFueVxuICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IEludGVyYWN0aW9uRGF0YU9wdGlvbikgPT4gYW55XG4gICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICAgIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBndWlsZElkPzogYmlnaW50IH0sXG4gICAgKSA9PiBhbnlcbiAgICBpbnRlcmFjdGlvblJlc291cmNlOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uUmVzb3VyY2UsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0sXG4gICAgKSA9PiBhbnlcbiAgICBpbnZpdGU6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsXG4gICAgICBpbnZpdGU6IFNldHVwRGVzaXJlZFByb3BzPEludml0ZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSxcbiAgICApID0+IGFueVxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlLFxuICAgICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogU2V0dXBEZXNpcmVkUHJvcHM8SW52aXRlU3RhZ2VJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE/OiB7IGd1aWxkSWQ/OiBiaWdpbnQgfSxcbiAgICApID0+IGFueVxuICAgIGxvYmJ5OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkTG9iYnksIGxvYmJ5OiBTZXR1cERlc2lyZWRQcm9wczxMb2JieSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBsb2JieU1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZExvYmJ5TWVtYmVyLCBsb2JieU1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TG9iYnlNZW1iZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgbWVkaWFHYWxsZXJ5SXRlbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sIGl0ZW06IE1lZGlhR2FsbGVyeUl0ZW0pID0+IGFueVxuICAgIG1lbWJlcjogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZE1lbWJlcixcbiAgICAgIG1lbWJlcjogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBleHRyYT86IHsgZ3VpbGRJZD86IGJpZ2ludDsgdXNlcklkPzogYmlnaW50IH0sXG4gICAgKSA9PiBhbnlcbiAgICBtZXNzYWdlOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSxcbiAgICAgIG1lc3NhZ2U6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2UsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0sXG4gICAgKSA9PiBhbnlcbiAgICBtZXNzYWdlQ2FsbDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDYWxsLCBjYWxsOiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlQ2FsbCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YTogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICAgICAgbWV0YWRhdGE6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICBtZXNzYWdlUGluOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZVBpbixcbiAgICAgIGNhbGw6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VQaW4sIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0sXG4gICAgKSA9PiBhbnlcbiAgICBtZXNzYWdlU25hcHNob3Q6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlU25hcHNob3QsXG4gICAgICBtZXNzYWdlU25hcHNob3Q6IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VTbmFwc2hvdCwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSxcbiAgICApID0+IGFueVxuICAgIG5hbWVwbGF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE5hbWVwbGF0ZSwgbmFtZXBsYXRlOiBTZXR1cERlc2lyZWRQcm9wczxOYW1lcGxhdGUsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgcG9sbDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFBvbGwsIHBvbGw6IFNldHVwRGVzaXJlZFByb3BzPFBvbGwsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgcG9sbE1lZGlhOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkUG9sbE1lZGlhLCBwb2xsTWVkaWE6IFNldHVwRGVzaXJlZFByb3BzPFBvbGxNZWRpYSwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBhbnlcbiAgICBwcmVzZW5jZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFByZXNlbmNlVXBkYXRlLCBwcmVzZW5jZTogUHJlc2VuY2VVcGRhdGUpID0+IGFueVxuICAgIHJvbGU6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRSb2xlLCByb2xlOiBTZXR1cERlc2lyZWRQcm9wczxSb2xlLCBUUHJvcHMsIFRCZWhhdmlvcj4sIGV4dHJhPzogeyBndWlsZElkPzogYmlnaW50IH0pID0+IGFueVxuICAgIHJvbGVDb2xvcnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRSb2xlQ29sb3JzLCByb2xlQ29sb3JzOiBTZXR1cERlc2lyZWRQcm9wczxSb2xlQ29sb3JzLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIHNjaGVkdWxlZEV2ZW50OiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkU2NoZWR1bGVkRXZlbnQsXG4gICAgICBzY2hlZHVsZWRFdmVudDogU2V0dXBEZXNpcmVkUHJvcHM8U2NoZWR1bGVkRXZlbnQsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICAgICAgc2NoZWR1bGVkRXZlbnQ6IFNldHVwRGVzaXJlZFByb3BzPFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIHNrdTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFNrdSwgc2t1OiBTZXR1cERlc2lyZWRQcm9wczxTa3UsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgc291bmRib2FyZFNvdW5kOiAoXG4gICAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgICBwYXlsb2FkOiBEaXNjb3JkU291bmRib2FyZFNvdW5kLFxuICAgICAgc291bmRib2FyZFNvdW5kOiBTZXR1cERlc2lyZWRQcm9wczxTb3VuZGJvYXJkU291bmQsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICApID0+IGFueVxuICAgIHN0YWdlSW5zdGFuY2U6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRTdGFnZUluc3RhbmNlLFxuICAgICAgc3RhZ2VJbnN0YW5jZTogU2V0dXBEZXNpcmVkUHJvcHM8U3RhZ2VJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICkgPT4gYW55XG4gICAgc3RpY2tlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFN0aWNrZXIsIHN0aWNrZXI6IFNldHVwRGVzaXJlZFByb3BzPFN0aWNrZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgc3RpY2tlclBhY2s6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTdGlja2VyUGFjaywgc3RpY2tlclBhY2s6IFN0aWNrZXJQYWNrKSA9PiBhbnlcbiAgICBzdWJzY3JpcHRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTdWJzY3JpcHRpb24sIHN1YnNjcmlwdGlvbjogU2V0dXBEZXNpcmVkUHJvcHM8U3Vic2NyaXB0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIHRlYW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRUZWFtLCB0ZWFtOiBUZWFtKSA9PiBhbnlcbiAgICB0ZW1wbGF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFRlbXBsYXRlLCB0ZW1wbGF0ZTogVGVtcGxhdGUpID0+IGFueVxuICAgIHRocmVhZE1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFRocmVhZE1lbWJlciwgdGhyZWFkTWVtYmVyOiBUaHJlYWRNZW1iZXIsIGV4dHJhPzogVGhyZWFkTWVtYmVyVHJhbnNmb3JtZXJFeHRyYSkgPT4gYW55XG4gICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICApID0+IGFueVxuICAgIHVuZnVybGVkTWVkaWFJdGVtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sIHVuZnVybGVkTWVkaWFJdGVtOiBVbmZ1cmxlZE1lZGlhSXRlbSkgPT4gYW55XG4gICAgdXNlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFVzZXIsIHVzZXI6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gYW55XG4gICAgdXNlclByaW1hcnlHdWlsZDogKFxuICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgcGF5bG9hZDogRGlzY29yZFVzZXJQcmltYXJ5R3VpbGQsXG4gICAgICB1c2VyUHJpbWFyeUd1aWxkOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyUHJpbWFyeUd1aWxkLCBUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgKSA9PiBhbnlcbiAgICB2b2ljZVJlZ2lvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFZvaWNlUmVnaW9uLCB2b2ljZVJlZ2lvbjogVm9pY2VSZWdpb24pID0+IGFueVxuICAgIHZvaWNlU3RhdGU6IChcbiAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgIHBheWxvYWQ6IERpc2NvcmRWb2ljZVN0YXRlLFxuICAgICAgdm9pY2VTdGF0ZTogU2V0dXBEZXNpcmVkUHJvcHM8Vm9pY2VTdGF0ZSwgVFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgZXh0cmE/OiB7IGd1aWxkSWQ/OiBiaWdpbnQgfSxcbiAgICApID0+IGFueVxuICAgIHdlYmhvb2s6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRXZWJob29rLCB3ZWJob29rOiBTZXR1cERlc2lyZWRQcm9wczxXZWJob29rLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IGFueVxuICAgIHdlbGNvbWVTY3JlZW46IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRXZWxjb21lU2NyZWVuLCB3ZWxjb21lU2NyZWVuOiBXZWxjb21lU2NyZWVuKSA9PiBhbnlcbiAgICB3aWRnZXQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZFdpZGdldCwgd2lkZ2V0OiBHdWlsZFdpZGdldCkgPT4gYW55XG4gICAgd2lkZ2V0U2V0dGluZ3M6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLCB3aWRnZXRTZXR0aW5nczogR3VpbGRXaWRnZXRTZXR0aW5ncykgPT4gYW55XG4gIH1cbiAgZGVzaXJlZFByb3BlcnRpZXM6IFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzXG4gIHJldmVyc2U6IHtcbiAgICBhY3Rpdml0eTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWN0aXZpdHkpID0+IERpc2NvcmRBY3Rpdml0eVxuICAgIGFsbG93ZWRNZW50aW9uczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQWxsb3dlZE1lbnRpb25zKSA9PiBEaXNjb3JkQWxsb3dlZE1lbnRpb25zXG4gICAgYXBwbGljYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb25cbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uQ29tbWFuZCkgPT4gRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UpID0+IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VcbiAgICBhdHRhY2htZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxBdHRhY2htZW50LCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRBdHRhY2htZW50XG4gICAgY29tcG9uZW50OiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBDb21wb25lbnQpID0+IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50XG4gICAgZW1iZWQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEVtYmVkKSA9PiBEaXNjb3JkRW1iZWRcbiAgICBtZWRpYUdhbGxlcnlJdGVtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKSA9PiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbVxuICAgIG1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8TWVtYmVyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRNZW1iZXJcbiAgICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gc3RyaW5nXG4gICAgdGVhbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVGVhbSkgPT4gRGlzY29yZFRlYW1cbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pID0+IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbVxuICAgIHVzZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPikgPT4gRGlzY29yZFVzZXJcbiAgfVxuICBhY3Rpdml0eTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEFjdGl2aXR5KSA9PiBBY3Rpdml0eVxuICBhY3Rpdml0eUluc3RhbmNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8QWN0aXZpdHlJbnN0YW5jZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGFjdGl2aXR5TG9jYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBY3Rpdml0eUxvY2F0aW9uKSA9PiBTZXR1cERlc2lyZWRQcm9wczxBY3Rpdml0eUxvY2F0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgYXBwbGljYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBcHBsaWNhdGlvbiwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSkgPT4gQXBwbGljYXRpb25cbiAgYXBwbGljYXRpb25Db21tYW5kOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kKSA9PiBBcHBsaWNhdGlvbkNvbW1hbmRcbiAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uKSA9PiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25cbiAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlKSA9PiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VcbiAgYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbjogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgKSA9PiBHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zXG4gIGF0dGFjaG1lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRBdHRhY2htZW50KSA9PiBTZXR1cERlc2lyZWRQcm9wczxBdHRhY2htZW50LCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgYXVkaXRMb2dFbnRyeTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEF1ZGl0TG9nRW50cnkpID0+IEF1ZGl0TG9nRW50cnlcbiAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uKSA9PiBBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvblxuICBhdXRvbW9kUnVsZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSkgPT4gQXV0b01vZGVyYXRpb25SdWxlXG4gIGF2YXRhckRlY29yYXRpb25EYXRhOiAoXG4gICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgIHBheWxvYWQ6IERpc2NvcmRBdmF0YXJEZWNvcmF0aW9uRGF0YSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxBdmF0YXJEZWNvcmF0aW9uRGF0YSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGNoYW5uZWw6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRDaGFubmVsLCBleHRyYT86IHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9KSA9PiBTZXR1cERlc2lyZWRQcm9wczxDaGFubmVsLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgY29sbGVjdGlibGVzOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkQ29sbGVjdGlibGVzKSA9PiBTZXR1cERlc2lyZWRQcm9wczxDb2xsZWN0aWJsZXMsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBjb21wb25lbnQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50KSA9PiBDb21wb25lbnRcbiAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPERlZmF1bHRSZWFjdGlvbkVtb2ppLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgZW1iZWQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRFbWJlZCkgPT4gRW1iZWRcbiAgZW1vamk6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRFbW9qaSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8RW1vamksIFRQcm9wcywgVEJlaGF2aW9yPlxuICBlbnRpdGxlbWVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEVudGl0bGVtZW50KSA9PiBTZXR1cERlc2lyZWRQcm9wczxFbnRpdGxlbWVudCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGZvcnVtVGFnOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkRm9ydW1UYWcpID0+IFNldHVwRGVzaXJlZFByb3BzPEZvcnVtVGFnLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgZ2F0ZXdheUJvdDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEdldEdhdGV3YXlCb3QpID0+IEdldEdhdGV3YXlCb3RcbiAgZ3VpbGQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZCwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8R3VpbGQsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBndWlsZE9uYm9hcmRpbmc6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcpID0+IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkT25ib2FyZGluZywgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdDogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPEd1aWxkT25ib2FyZGluZ1Byb21wdCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbikgPT4gR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uXG4gIGluY2lkZW50c0RhdGE6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRJbmNpZGVudHNEYXRhKSA9PiBJbmNpZGVudHNEYXRhXG4gIGludGVncmF0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkSW50ZWdyYXRpb25DcmVhdGVVcGRhdGUpID0+IEludGVncmF0aW9uXG4gIGludGVyYWN0aW9uOiAoXG4gICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbixcbiAgICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaW50ZXJhY3Rpb25DYWxsYmFjazogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2spID0+IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2ssIFRQcm9wcywgVEJlaGF2aW9yPlxuICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pID0+IEludGVyYWN0aW9uRGF0YU9wdGlvblxuICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXI7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBUcmFuc2Zvcm1Qcm9wZXJ0eTxJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIGludGVyYWN0aW9uUmVzb3VyY2U6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZEludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxJbnRlcmFjdGlvblJlc291cmNlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgaW52aXRlOiAoXG4gICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEsXG4gICAgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxJbnZpdGUsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBpbnZpdGVTdGFnZUluc3RhbmNlOiAoXG4gICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlLFxuICAgIGV4dHJhPzogeyBndWlsZElkOiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxJbnZpdGVTdGFnZUluc3RhbmNlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgbG9iYnk6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRMb2JieSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8TG9iYnksIFRQcm9wcywgVEJlaGF2aW9yPlxuICBsb2JieU1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZExvYmJ5TWVtYmVyKSA9PiBTZXR1cERlc2lyZWRQcm9wczxMb2JieU1lbWJlciwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIG1lZGlhR2FsbGVyeUl0ZW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKSA9PiBNZWRpYUdhbGxlcnlJdGVtXG4gIG1lbWJlcjogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkTWVtYmVyLFxuICAgIGV4dHJhPzogeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxNZW1iZXIsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBtZXNzYWdlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIG1lc3NhZ2VDYWxsOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpID0+IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VDYWxsLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgbWVzc2FnZVBpbjogKFxuICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZVBpbixcbiAgICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VQaW4sIFRQcm9wcywgVEJlaGF2aW9yPlxuICBtZXNzYWdlU25hcHNob3Q6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgICBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlciB9LFxuICApID0+IFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VTbmFwc2hvdCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIG5hbWVwbGF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZE5hbWVwbGF0ZSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8TmFtZXBsYXRlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgcG9sbDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFBvbGwpID0+IFNldHVwRGVzaXJlZFByb3BzPFBvbGwsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBwb2xsTWVkaWE6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRQb2xsTWVkaWEpID0+IFNldHVwRGVzaXJlZFByb3BzPFBvbGxNZWRpYSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHByZXNlbmNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkUHJlc2VuY2VVcGRhdGUpID0+IFByZXNlbmNlVXBkYXRlXG4gIHJvbGU6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRSb2xlLCBleHRyYT86IHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9KSA9PiBTZXR1cERlc2lyZWRQcm9wczxSb2xlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgcm9sZUNvbG9yczogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFJvbGVDb2xvcnMpID0+IFNldHVwRGVzaXJlZFByb3BzPFJvbGVDb2xvcnMsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBzY2hlZHVsZWRFdmVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFNjaGVkdWxlZEV2ZW50KSA9PiBTZXR1cERlc2lyZWRQcm9wczxTY2hlZHVsZWRFdmVudCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGU6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZFNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8U2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHNrdTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFNrdSkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8U2t1LCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgc291bmRib2FyZFNvdW5kOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkU291bmRib2FyZFNvdW5kKSA9PiBTZXR1cERlc2lyZWRQcm9wczxTb3VuZGJvYXJkU291bmQsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gYmlnaW50XG4gIHN0YWdlSW5zdGFuY2U6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTdGFnZUluc3RhbmNlKSA9PiBTZXR1cERlc2lyZWRQcm9wczxTdGFnZUluc3RhbmNlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgc3RpY2tlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFN0aWNrZXIpID0+IFNldHVwRGVzaXJlZFByb3BzPFN0aWNrZXIsIFRQcm9wcywgVEJlaGF2aW9yPlxuICBzdGlja2VyUGFjazogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFN0aWNrZXJQYWNrKSA9PiBTdGlja2VyUGFja1xuICBzdWJzY3JpcHRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRTdWJzY3JpcHRpb24pID0+IFNldHVwRGVzaXJlZFByb3BzPFN1YnNjcmlwdGlvbiwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHRlYW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRUZWFtKSA9PiBUZWFtXG4gIHRlbXBsYXRlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVGVtcGxhdGUpID0+IFRlbXBsYXRlXG4gIHRocmVhZE1lbWJlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFRocmVhZE1lbWJlciwgZXh0cmE/OiBUaHJlYWRNZW1iZXJUcmFuc2Zvcm1lckV4dHJhKSA9PiBUaHJlYWRNZW1iZXJcbiAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSkgPT4gVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGVcbiAgdW5mdXJsZWRNZWRpYUl0ZW06IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSkgPT4gVW5mdXJsZWRNZWRpYUl0ZW1cbiAgdXNlcjogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFVzZXIpID0+IFNldHVwRGVzaXJlZFByb3BzPFVzZXIsIFRQcm9wcywgVEJlaGF2aW9yPlxuICB1c2VyUHJpbWFyeUd1aWxkOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVXNlclByaW1hcnlHdWlsZCkgPT4gU2V0dXBEZXNpcmVkUHJvcHM8VXNlclByaW1hcnlHdWlsZCwgVFByb3BzLCBUQmVoYXZpb3I+XG4gIHZvaWNlUmVnaW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkVm9pY2VSZWdpb24pID0+IFZvaWNlUmVnaW9uXG4gIHZvaWNlU3RhdGU6IChcbiAgICBib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sXG4gICAgcGF5bG9hZDogRGlzY29yZFZvaWNlU3RhdGUsXG4gICAgZXh0cmE/OiB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfSxcbiAgKSA9PiBTZXR1cERlc2lyZWRQcm9wczxWb2ljZVN0YXRlLCBUUHJvcHMsIFRCZWhhdmlvcj5cbiAgd2ViaG9vazogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRGlzY29yZFdlYmhvb2spID0+IFNldHVwRGVzaXJlZFByb3BzPFdlYmhvb2ssIFRQcm9wcywgVEJlaGF2aW9yPlxuICB3ZWxjb21lU2NyZWVuOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBEaXNjb3JkV2VsY29tZVNjcmVlbikgPT4gV2VsY29tZVNjcmVlblxuICB3aWRnZXQ6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZFdpZGdldCkgPT4gR3VpbGRXaWRnZXRcbiAgd2lkZ2V0U2V0dGluZ3M6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzKSA9PiBHdWlsZFdpZGdldFNldHRpbmdzXG59XG5cbmNvbnN0IGRlZmF1bHRDdXN0b21pemVyID0gKF9ib3Q6IHVua25vd24sIF9wYXlsb2FkOiB1bmtub3duLCBzdHJ1Y3R1cmU6IHVua25vd24pID0+IHN0cnVjdHVyZVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJhbnNmb3JtZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPihcbiAgb3B0aW9uczogUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+Pixcbik6IFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICBjb25zdCBfb3B0aW9ucyA9IG9wdGlvbnMgYXMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5Pj5cblxuICByZXR1cm4ge1xuICAgIGN1c3RvbWl6ZXJzOiB7XG4gICAgICBhY3Rpdml0eTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYWN0aXZpdHlJbnN0YW5jZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFjdGl2aXR5SW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhY3Rpdml0eUxvY2F0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYWN0aXZpdHlMb2NhdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF0dGFjaG1lbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdHRhY2htZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXVkaXRMb2dFbnRyeTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF1ZGl0TG9nRW50cnkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXV0b21vZEFjdGlvbkV4ZWN1dGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1dG9tb2RSdWxlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXV0b21vZFJ1bGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmF2YXRhckRlY29yYXRpb25EYXRhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgY2hhbm5lbDogX29wdGlvbnMuY3VzdG9taXplcnM/LmNoYW5uZWwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jb2xsZWN0aWJsZXMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjb21wb25lbnQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5jb21wb25lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogX29wdGlvbnMuY3VzdG9taXplcnM/LmRlZmF1bHRSZWFjdGlvbkVtb2ppID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1iZWQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5lbWJlZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVtb2ppOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW1vamkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbnRpdGxlbWVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmVudGl0bGVtZW50ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZm9ydW1UYWc6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5mb3J1bVRhZyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGdhdGV3YXlCb3Q6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5nYXRld2F5Qm90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5ndWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkT25ib2FyZGluZzogX29wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkT25ib2FyZGluZyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdDogX29wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkT25ib2FyZGluZ1Byb21wdCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGluY2lkZW50c0RhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbmNpZGVudHNEYXRhID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZWdyYXRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlZ3JhdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25DYWxsYmFjayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvblJlc291cmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW52aXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW52aXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lmludml0ZVN0YWdlSW5zdGFuY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBsb2JieTogX29wdGlvbnMuY3VzdG9taXplcnM/LmxvYmJ5ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlNZW1iZXI6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5sb2JieU1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZWRpYUdhbGxlcnlJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlQ2FsbDogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VDYWxsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VQaW46IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlUGluID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVNuYXBzaG90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbmFtZXBsYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubmFtZXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcG9sbDogX29wdGlvbnMuY3VzdG9taXplcnM/LnBvbGwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwb2xsTWVkaWE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5wb2xsTWVkaWEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwcmVzZW5jZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnByZXNlbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcm9sZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnJvbGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICByb2xlQ29sb3JzOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucm9sZUNvbG9ycyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNjaGVkdWxlZEV2ZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2NoZWR1bGVkRXZlbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNrdTogX29wdGlvbnMuY3VzdG9taXplcnM/LnNrdSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNvdW5kYm9hcmRTb3VuZDogX29wdGlvbnMuY3VzdG9taXplcnM/LnNvdW5kYm9hcmRTb3VuZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGFnZUluc3RhbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnN0aWNrZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGlja2VyUGFjazogX29wdGlvbnMuY3VzdG9taXplcnM/LnN0aWNrZXJQYWNrID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3Vic2NyaXB0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc3Vic2NyaXB0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVhbTogX29wdGlvbnMuY3VzdG9taXplcnM/LnRlYW0gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB0ZW1wbGF0ZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnRlbXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVuZnVybGVkTWVkaWFJdGVtOiBfb3B0aW9ucy5jdXN0b21pemVycz8udW5mdXJsZWRNZWRpYUl0ZW0gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyOiBfb3B0aW9ucy5jdXN0b21pemVycz8udXNlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy51c2VyUHJpbWFyeUd1aWxkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdm9pY2VSZWdpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVJlZ2lvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHZvaWNlU3RhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy52b2ljZVN0YXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2ViaG9vazogX29wdGlvbnMuY3VzdG9taXplcnM/LndlYmhvb2sgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy5jdXN0b21pemVycz8ud2VsY29tZVNjcmVlbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdpZGdldDogX29wdGlvbnMuY3VzdG9taXplcnM/LndpZGdldCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy5jdXN0b21pemVycz8ud2lkZ2V0U2V0dGluZ3MgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgfSxcbiAgICBkZXNpcmVkUHJvcGVydGllczogY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QoX29wdGlvbnMuZGVzaXJlZFByb3BlcnRpZXMgPz8ge30pLFxuICAgIHJldmVyc2U6IHtcbiAgICAgIGFjdGl2aXR5OiBfb3B0aW9ucy5yZXZlcnNlPy5hY3Rpdml0eSA/PyB0cmFuc2Zvcm1BY3Rpdml0eVRvRGlzY29yZEFjdGl2aXR5LFxuICAgICAgYWxsb3dlZE1lbnRpb25zOiBfb3B0aW9ucy5yZXZlcnNlPy5hbGxvd2VkTWVudGlvbnMgPz8gdHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zLFxuICAgICAgYXBwbGljYXRpb246IF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24sXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6XG4gICAgICAgIF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gICAgICBhdHRhY2htZW50OiBfb3B0aW9ucy5yZXZlcnNlPy5hdHRhY2htZW50ID8/IHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50LFxuICAgICAgY29tcG9uZW50OiBfb3B0aW9ucy5yZXZlcnNlPy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50LFxuICAgICAgZW1iZWQ6IF9vcHRpb25zLnJldmVyc2U/LmVtYmVkID8/IHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQsXG4gICAgICBtZWRpYUdhbGxlcnlJdGVtOiBfb3B0aW9ucy5yZXZlcnNlPy5tZWRpYUdhbGxlcnlJdGVtID8/IHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLFxuICAgICAgbWVtYmVyOiBfb3B0aW9ucy5yZXZlcnNlPy5tZW1iZXIgPz8gdHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyLFxuICAgICAgc25vd2ZsYWtlOiBfb3B0aW9ucy5yZXZlcnNlPy5zbm93Zmxha2UgPz8gYmlnaW50VG9Tbm93Zmxha2UsXG4gICAgICB0ZWFtOiBfb3B0aW9ucy5yZXZlcnNlPy50ZWFtID8/IHRyYW5zZm9ybVRlYW1Ub0Rpc2NvcmRUZWFtLFxuICAgICAgdW5mdXJsZWRNZWRpYUl0ZW06IF9vcHRpb25zLnJldmVyc2U/LnVuZnVybGVkTWVkaWFJdGVtID8/IHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgICB1c2VyOiBfb3B0aW9ucy5yZXZlcnNlPy51c2VyID8/IHRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyLFxuICAgIH0sXG4gICAgYWN0aXZpdHk6IF9vcHRpb25zLmFjdGl2aXR5ID8/IHRyYW5zZm9ybUFjdGl2aXR5LFxuICAgIGFjdGl2aXR5SW5zdGFuY2U6IF9vcHRpb25zLmFjdGl2aXR5SW5zdGFuY2UgPz8gdHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSxcbiAgICBhY3Rpdml0eUxvY2F0aW9uOiBfb3B0aW9ucy5hY3Rpdml0eUxvY2F0aW9uID8/IHRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24sXG4gICAgYXBwbGljYXRpb246IF9vcHRpb25zLmFwcGxpY2F0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UgPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbixcbiAgICBhdHRhY2htZW50OiBfb3B0aW9ucy5hdHRhY2htZW50ID8/IHRyYW5zZm9ybUF0dGFjaG1lbnQsXG4gICAgYXVkaXRMb2dFbnRyeTogX29wdGlvbnMuYXVkaXRMb2dFbnRyeSA/PyB0cmFuc2Zvcm1BdWRpdExvZ0VudHJ5LFxuICAgIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IF9vcHRpb25zLmF1dG9tb2RBY3Rpb25FeGVjdXRpb24gPz8gdHJhbnNmb3JtQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sXG4gICAgYXV0b21vZFJ1bGU6IF9vcHRpb25zLmF1dG9tb2RSdWxlID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogX29wdGlvbnMuYXZhdGFyRGVjb3JhdGlvbkRhdGEgPz8gdHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEsXG4gICAgY2hhbm5lbDogX29wdGlvbnMuY2hhbm5lbCA/PyB0cmFuc2Zvcm1DaGFubmVsLFxuICAgIGNvbGxlY3RpYmxlczogX29wdGlvbnMuY29sbGVjdGlibGVzID8/IHRyYW5zZm9ybUNvbGxlY3RpYmxlcyxcbiAgICBjb21wb25lbnQ6IF9vcHRpb25zLmNvbXBvbmVudCA/PyB0cmFuc2Zvcm1Db21wb25lbnQsXG4gICAgZGVmYXVsdFJlYWN0aW9uRW1vamk6IF9vcHRpb25zLmRlZmF1bHRSZWFjdGlvbkVtb2ppID8/IHRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICAgIGVtYmVkOiBfb3B0aW9ucy5lbWJlZCA/PyB0cmFuc2Zvcm1FbWJlZCxcbiAgICBlbW9qaTogX29wdGlvbnMuZW1vamkgPz8gdHJhbnNmb3JtRW1vamksXG4gICAgZW50aXRsZW1lbnQ6IF9vcHRpb25zLmVudGl0bGVtZW50ID8/IHRyYW5zZm9ybUVudGl0bGVtZW50LFxuICAgIGZvcnVtVGFnOiBfb3B0aW9ucy5mb3J1bVRhZyA/PyB0cmFuc2Zvcm1Gb3J1bVRhZyxcbiAgICBnYXRld2F5Qm90OiBfb3B0aW9ucy5nYXRld2F5Qm90ID8/IHRyYW5zZm9ybUdhdGV3YXlCb3QsXG4gICAgZ3VpbGQ6IF9vcHRpb25zLmd1aWxkID8/IHRyYW5zZm9ybUd1aWxkLFxuICAgIGd1aWxkT25ib2FyZGluZzogX29wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyxcbiAgICBndWlsZE9uYm9hcmRpbmdQcm9tcHQ6IF9vcHRpb25zLmd1aWxkT25ib2FyZGluZ1Byb21wdCA/PyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBfb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICAgIGluY2lkZW50c0RhdGE6IF9vcHRpb25zLmluY2lkZW50c0RhdGEgPz8gdHJhbnNmb3JtSW5jaWRlbnRzRGF0YSxcbiAgICBpbnRlZ3JhdGlvbjogX29wdGlvbnMuaW50ZWdyYXRpb24gPz8gdHJhbnNmb3JtSW50ZWdyYXRpb24sXG4gICAgaW50ZXJhY3Rpb246IF9vcHRpb25zLmludGVyYWN0aW9uID8/IHRyYW5zZm9ybUludGVyYWN0aW9uLFxuICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IF9vcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2sgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2U6IF9vcHRpb25zLmludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsXG4gICAgaW50ZXJhY3Rpb25EYXRhT3B0aW9uczogX29wdGlvbnMuaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gICAgaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQ6IF9vcHRpb25zLmludGVyYWN0aW9uRGF0YVJlc29sdmVkID8/IHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICAgIGludGVyYWN0aW9uUmVzb3VyY2U6IF9vcHRpb25zLmludGVyYWN0aW9uUmVzb3VyY2UgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSxcbiAgICBpbnZpdGU6IF9vcHRpb25zLmludml0ZSA/PyB0cmFuc2Zvcm1JbnZpdGUsXG4gICAgaW52aXRlU3RhZ2VJbnN0YW5jZTogX29wdGlvbnMuaW52aXRlU3RhZ2VJbnN0YW5jZSA/PyB0cmFuc2Zvcm1JbnZpdGVTdGFnZUluc3RhbmNlLFxuICAgIGxvYmJ5OiBfb3B0aW9ucy5sb2JieSA/PyB0cmFuc2Zvcm1Mb2JieSxcbiAgICBsb2JieU1lbWJlcjogX29wdGlvbnMubG9iYnlNZW1iZXIgPz8gdHJhbnNmb3JtTG9iYnlNZW1iZXIsXG4gICAgbWVkaWFHYWxsZXJ5SXRlbTogX29wdGlvbnMubWVkaWFHYWxsZXJ5SXRlbSA/PyB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtLFxuICAgIG1lbWJlcjogX29wdGlvbnMubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlcixcbiAgICBtZXNzYWdlOiBfb3B0aW9ucy5tZXNzYWdlID8/IHRyYW5zZm9ybU1lc3NhZ2UsXG4gICAgbWVzc2FnZUNhbGw6IF9vcHRpb25zLm1lc3NhZ2VDYWxsID8/IHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBfb3B0aW9ucy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgICBtZXNzYWdlUGluOiBfb3B0aW9ucy5tZXNzYWdlUGluID8/IHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5tZXNzYWdlU25hcHNob3QgPz8gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxuICAgIG5hbWVwbGF0ZTogX29wdGlvbnMubmFtZXBsYXRlID8/IHRyYW5zZm9ybU5hbWVwbGF0ZSxcbiAgICBwb2xsOiBfb3B0aW9ucy5wb2xsID8/IHRyYW5zZm9ybVBvbGwsXG4gICAgcG9sbE1lZGlhOiBfb3B0aW9ucy5wb2xsTWVkaWEgPz8gdHJhbnNmb3JtUG9sbE1lZGlhLFxuICAgIHByZXNlbmNlOiBfb3B0aW9ucy5wcmVzZW5jZSA/PyB0cmFuc2Zvcm1QcmVzZW5jZSxcbiAgICByb2xlOiBfb3B0aW9ucy5yb2xlID8/IHRyYW5zZm9ybVJvbGUsXG4gICAgcm9sZUNvbG9yczogX29wdGlvbnMucm9sZUNvbG9ycyA/PyB0cmFuc2Zvcm1Sb2xlQ29sb3JzLFxuICAgIHNjaGVkdWxlZEV2ZW50OiBfb3B0aW9ucy5zY2hlZHVsZWRFdmVudCA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCxcbiAgICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBfb3B0aW9ucy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlID8/IHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICAgc2t1OiBfb3B0aW9ucy5za3UgPz8gdHJhbnNmb3JtU2t1LFxuICAgIHNvdW5kYm9hcmRTb3VuZDogX29wdGlvbnMuc291bmRib2FyZFNvdW5kID8/IHRyYW5zZm9ybVNvdW5kYm9hcmRTb3VuZCxcbiAgICBzbm93Zmxha2U6IF9vcHRpb25zLnNub3dmbGFrZSA/PyBzbm93Zmxha2VUb0JpZ2ludCxcbiAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5zdGFnZUluc3RhbmNlID8/IHRyYW5zZm9ybVN0YWdlSW5zdGFuY2UsXG4gICAgc3RpY2tlcjogX29wdGlvbnMuc3RpY2tlciA/PyB0cmFuc2Zvcm1TdGlja2VyLFxuICAgIHN0aWNrZXJQYWNrOiBfb3B0aW9ucy5zdGlja2VyUGFjayA/PyB0cmFuc2Zvcm1TdGlja2VyUGFjayxcbiAgICBzdWJzY3JpcHRpb246IF9vcHRpb25zLnN1YnNjcmlwdGlvbiA/PyB0cmFuc2Zvcm1TdWJzY3JpcHRpb24sXG4gICAgdGVhbTogX29wdGlvbnMudGVhbSA/PyB0cmFuc2Zvcm1UZWFtLFxuICAgIHRlbXBsYXRlOiBfb3B0aW9ucy50ZW1wbGF0ZSA/PyB0cmFuc2Zvcm1UZW1wbGF0ZSxcbiAgICB0aHJlYWRNZW1iZXI6IF9vcHRpb25zLnRocmVhZE1lbWJlciA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXIsXG4gICAgdGhyZWFkTWVtYmVyR3VpbGRDcmVhdGU6IF9vcHRpb25zLnRocmVhZE1lbWJlckd1aWxkQ3JlYXRlID8/IHRyYW5zZm9ybVRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLFxuICAgIHVuZnVybGVkTWVkaWFJdGVtOiBfb3B0aW9ucy51bmZ1cmxlZE1lZGlhSXRlbSA/PyB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbSxcbiAgICB1c2VyOiBfb3B0aW9ucy51c2VyID8/IHRyYW5zZm9ybVVzZXIsXG4gICAgdXNlclByaW1hcnlHdWlsZDogX29wdGlvbnMudXNlclByaW1hcnlHdWlsZCA/PyB0cmFuc2Zvcm1Vc2VyUHJpbWFyeUd1aWxkLFxuICAgIHZvaWNlUmVnaW9uOiBfb3B0aW9ucy52b2ljZVJlZ2lvbiA/PyB0cmFuc2Zvcm1Wb2ljZVJlZ2lvbixcbiAgICB2b2ljZVN0YXRlOiBfb3B0aW9ucy52b2ljZVN0YXRlID8/IHRyYW5zZm9ybVZvaWNlU3RhdGUsXG4gICAgd2ViaG9vazogX29wdGlvbnMud2ViaG9vayA/PyB0cmFuc2Zvcm1XZWJob29rLFxuICAgIHdlbGNvbWVTY3JlZW46IF9vcHRpb25zLndlbGNvbWVTY3JlZW4gPz8gdHJhbnNmb3JtV2VsY29tZVNjcmVlbixcbiAgICB3aWRnZXQ6IF9vcHRpb25zLndpZGdldCA/PyB0cmFuc2Zvcm1XaWRnZXQsXG4gICAgd2lkZ2V0U2V0dGluZ3M6IF9vcHRpb25zLndpZGdldFNldHRpbmdzID8/IHRyYW5zZm9ybVdpZGdldFNldHRpbmdzLFxuICB9IHNhdGlzZmllcyBUcmFuc2Zvcm1lcnM8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5PiBhcyB1bmtub3duIGFzIFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj5cbn1cbiJdLCJuYW1lcyI6WyJiaWdpbnRUb1Nub3dmbGFrZSIsInNub3dmbGFrZVRvQmlnaW50IiwiY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QiLCJ0cmFuc2Zvcm1JbmNpZGVudHNEYXRhIiwidHJhbnNmb3JtQWN0aXZpdHkiLCJ0cmFuc2Zvcm1BY3Rpdml0eUluc3RhbmNlIiwidHJhbnNmb3JtQWN0aXZpdHlMb2NhdGlvbiIsInRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uIiwidHJhbnNmb3JtQXR0YWNobWVudCIsInRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IiwidHJhbnNmb3JtQXVkaXRMb2dFbnRyeSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlIiwidHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJ0cmFuc2Zvcm1DaGFubmVsIiwidHJhbnNmb3JtQ29sbGVjdGlibGVzIiwidHJhbnNmb3JtQ29tcG9uZW50IiwidHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50IiwidHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamkiLCJ0cmFuc2Zvcm1FbWJlZCIsInRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQiLCJ0cmFuc2Zvcm1FbW9qaSIsInRyYW5zZm9ybUVudGl0bGVtZW50IiwidHJhbnNmb3JtRm9ydW1UYWciLCJ0cmFuc2Zvcm1HYXRld2F5Qm90IiwidHJhbnNmb3JtR3VpbGQiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmciLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsInRyYW5zZm9ybUludml0ZSIsInRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1Mb2JieSIsInRyYW5zZm9ybUxvYmJ5TWVtYmVyIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybU1lbWJlciIsInRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciIsInRyYW5zZm9ybU1lc3NhZ2UiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZVBpbiIsInRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCIsInRyYW5zZm9ybU5hbWVwbGF0ZSIsInRyYW5zZm9ybVBvbGwiLCJ0cmFuc2Zvcm1Qb2xsTWVkaWEiLCJ0cmFuc2Zvcm1QcmVzZW5jZSIsInRyYW5zZm9ybVJvbGUiLCJ0cmFuc2Zvcm1Sb2xlQ29sb3JzIiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQiLCJ0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwidHJhbnNmb3JtU2t1IiwidHJhbnNmb3JtU291bmRib2FyZFNvdW5kIiwidHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSIsInRyYW5zZm9ybVN0aWNrZXIiLCJ0cmFuc2Zvcm1TdGlja2VyUGFjayIsInRyYW5zZm9ybVN1YnNjcmlwdGlvbiIsInRyYW5zZm9ybVRlYW0iLCJ0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSIsInRyYW5zZm9ybVRlbXBsYXRlIiwidHJhbnNmb3JtVGhyZWFkTWVtYmVyIiwidHJhbnNmb3JtVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbSIsInRyYW5zZm9ybVVzZXIiLCJ0cmFuc2Zvcm1Vc2VyUHJpbWFyeUd1aWxkIiwidHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIiLCJ0cmFuc2Zvcm1Wb2ljZVJlZ2lvbiIsInRyYW5zZm9ybVZvaWNlU3RhdGUiLCJ0cmFuc2Zvcm1XZWJob29rIiwidHJhbnNmb3JtV2VsY29tZVNjcmVlbiIsInRyYW5zZm9ybVdpZGdldCIsInRyYW5zZm9ybVdpZGdldFNldHRpbmdzIiwidHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0iLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwiZGVmYXVsdEN1c3RvbWl6ZXIiLCJfYm90IiwiX3BheWxvYWQiLCJzdHJ1Y3R1cmUiLCJjcmVhdGVUcmFuc2Zvcm1lcnMiLCJvcHRpb25zIiwiX29wdGlvbnMiLCJjdXN0b21pemVycyIsImFjdGl2aXR5IiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5TG9jYXRpb24iLCJhcHBsaWNhdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJhdHRhY2htZW50IiwiYXVkaXRMb2dFbnRyeSIsImF1dG9tb2RBY3Rpb25FeGVjdXRpb24iLCJhdXRvbW9kUnVsZSIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiY2hhbm5lbCIsImNvbGxlY3RpYmxlcyIsImNvbXBvbmVudCIsImRlZmF1bHRSZWFjdGlvbkVtb2ppIiwiZW1iZWQiLCJlbW9qaSIsImVudGl0bGVtZW50IiwiZm9ydW1UYWciLCJnYXRld2F5Qm90IiwiZ3VpbGQiLCJndWlsZE9uYm9hcmRpbmciLCJndWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJpbmNpZGVudHNEYXRhIiwiaW50ZWdyYXRpb24iLCJpbnRlcmFjdGlvbiIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkRhdGFPcHRpb25zIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJpbnRlcmFjdGlvblJlc291cmNlIiwiaW52aXRlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsImxvYmJ5IiwibG9iYnlNZW1iZXIiLCJtZWRpYUdhbGxlcnlJdGVtIiwibWVtYmVyIiwibWVzc2FnZSIsIm1lc3NhZ2VDYWxsIiwibWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXNzYWdlUGluIiwibWVzc2FnZVNuYXBzaG90IiwibmFtZXBsYXRlIiwicG9sbCIsInBvbGxNZWRpYSIsInByZXNlbmNlIiwicm9sZSIsInJvbGVDb2xvcnMiLCJzY2hlZHVsZWRFdmVudCIsInNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUiLCJza3UiLCJzb3VuZGJvYXJkU291bmQiLCJzdGFnZUluc3RhbmNlIiwic3RpY2tlciIsInN0aWNrZXJQYWNrIiwic3Vic2NyaXB0aW9uIiwidGVhbSIsInRlbXBsYXRlIiwidGhyZWFkTWVtYmVyIiwidGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUiLCJ1bmZ1cmxlZE1lZGlhSXRlbSIsInVzZXIiLCJ1c2VyUHJpbWFyeUd1aWxkIiwidm9pY2VSZWdpb24iLCJ2b2ljZVN0YXRlIiwid2ViaG9vayIsIndlbGNvbWVTY3JlZW4iLCJ3aWRnZXQiLCJ3aWRnZXRTZXR0aW5ncyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicmV2ZXJzZSIsImFsbG93ZWRNZW50aW9ucyIsInNub3dmbGFrZSJdLCJtYXBwaW5ncyI6IkFBK0VBLFNBQVNBLGlCQUFpQixFQUFFQyxpQkFBaUIsUUFBUSxvQkFBbUI7QUFFeEUsU0FDRUMsNkJBQTZCLFFBS3hCLHlCQUF3QjtBQUMvQixTQUFTQyxzQkFBc0IsUUFBUSxrQ0FBaUM7QUFDeEUsU0FtRUVDLGlCQUFpQixFQUNqQkMseUJBQXlCLEVBQ3pCQyx5QkFBeUIsRUFDekJDLGtDQUFrQyxFQUNsQ0Msb0JBQW9CLEVBQ3BCQywyQkFBMkIsRUFDM0JDLGlDQUFpQyxFQUNqQ0MsdUNBQXVDLEVBQ3ZDQyw4RUFBOEUsRUFDOUVDLGtFQUFrRSxFQUNsRUMscUNBQXFDLEVBQ3JDQyxzREFBc0QsRUFDdERDLHdDQUF3QyxFQUN4Q0MsbUJBQW1CLEVBQ25CQyxzQ0FBc0MsRUFDdENDLHNCQUFzQixFQUN0QkMsc0NBQXND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
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmFuc2Zvcm1lcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBbGxvd2VkTWVudGlvbnMsXG4gIEJpZ1N0cmluZyxcbiAgRGlzY29yZEFjdGl2aXR5LFxuICBEaXNjb3JkQWN0aXZpdHlBc3NldHMsXG4gIERpc2NvcmRBY3Rpdml0eUluc3RhbmNlLFxuICBEaXNjb3JkQWN0aXZpdHlMb2NhdGlvbixcbiAgRGlzY29yZEFsbG93ZWRNZW50aW9ucyxcbiAgRGlzY29yZEFwcGxpY2F0aW9uLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICBEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLFxuICBEaXNjb3JkQXR0YWNobWVudCxcbiAgRGlzY29yZEF1ZGl0TG9nRW50cnksXG4gIERpc2NvcmRBdXRvTW9kZXJhdGlvbkFjdGlvbkV4ZWN1dGlvbixcbiAgRGlzY29yZEF1dG9Nb2RlcmF0aW9uUnVsZSxcbiAgRGlzY29yZEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBEaXNjb3JkQ2hhbm5lbCxcbiAgRGlzY29yZENvbGxlY3RpYmxlcyxcbiAgRGlzY29yZERlZmF1bHRSZWFjdGlvbkVtb2ppLFxuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbW9qaSxcbiAgRGlzY29yZEVudGl0bGVtZW50LFxuICBEaXNjb3JkRm9ydW1UYWcsXG4gIERpc2NvcmRHZXRHYXRld2F5Qm90LFxuICBEaXNjb3JkR3VpbGQsXG4gIERpc2NvcmRHdWlsZEFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb25zLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nLFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBEaXNjb3JkR3VpbGRXaWRnZXQsXG4gIERpc2NvcmRHdWlsZFdpZGdldFNldHRpbmdzLFxuICBEaXNjb3JkSW5jaWRlbnRzRGF0YSxcbiAgRGlzY29yZEludGVncmF0aW9uQ3JlYXRlVXBkYXRlLFxuICBEaXNjb3JkSW50ZXJhY3Rpb24sXG4gIERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gIERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLFxuICBEaXNjb3JkSW52aXRlTWV0YWRhdGEsXG4gIERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlLFxuICBEaXNjb3JkTG9iYnksXG4gIERpc2NvcmRMb2JieUludml0ZSxcbiAgRGlzY29yZExvYmJ5TWVtYmVyLFxuICBEaXNjb3JkTG9iYnlNZXNzYWdlLFxuICBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgRGlzY29yZE1lbWJlcixcbiAgRGlzY29yZE1lc3NhZ2UsXG4gIERpc2NvcmRNZXNzYWdlQ2FsbCxcbiAgRGlzY29yZE1lc3NhZ2VDb21wb25lbnQsXG4gIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50RnJvbU1vZGFsSW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgRGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLFxuICBEaXNjb3JkTWVzc2FnZVBpbixcbiAgRGlzY29yZE1lc3NhZ2VTbmFwc2hvdCxcbiAgRGlzY29yZE5hbWVwbGF0ZSxcbiAgRGlzY29yZFBvbGwsXG4gIERpc2NvcmRQb2xsTWVkaWEsXG4gIERpc2NvcmRQcmVzZW5jZVVwZGF0ZSxcbiAgRGlzY29yZFJvbGUsXG4gIERpc2NvcmRSb2xlQ29sb3JzLFxuICBEaXNjb3JkU2NoZWR1bGVkRXZlbnQsXG4gIERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLFxuICBEaXNjb3JkU2hhcmVkQ2xpZW50VGhlbWUsXG4gIERpc2NvcmRTa3UsXG4gIERpc2NvcmRTb3VuZGJvYXJkU291bmQsXG4gIERpc2NvcmRTdGFnZUluc3RhbmNlLFxuICBEaXNjb3JkU3RpY2tlcixcbiAgRGlzY29yZFN0aWNrZXJQYWNrLFxuICBEaXNjb3JkU3Vic2NyaXB0aW9uLFxuICBEaXNjb3JkVGVhbSxcbiAgRGlzY29yZFRlbXBsYXRlLFxuICBEaXNjb3JkVGhyZWFkTWVtYmVyLFxuICBEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsXG4gIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgRGlzY29yZFVzZXIsXG4gIERpc2NvcmRVc2VyUHJpbWFyeUd1aWxkLFxuICBEaXNjb3JkVm9pY2VSZWdpb24sXG4gIERpc2NvcmRWb2ljZVN0YXRlLFxuICBEaXNjb3JkV2ViaG9vayxcbiAgRGlzY29yZFdlbGNvbWVTY3JlZW4sXG4gIFJlY3Vyc2l2ZVBhcnRpYWwsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB7IGJpZ2ludFRvU25vd2ZsYWtlLCBzbm93Zmxha2VUb0JpZ2ludCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi9ib3QuanMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QsXG4gIHR5cGUgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgdHlwZSBTZXR1cERlc2lyZWRQcm9wcyxcbiAgdHlwZSBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyxcbn0gZnJvbSAnLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BY3Rpdml0eSwgdHJhbnNmb3JtQWN0aXZpdHlBc3NldHMsIHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsIHRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hY3Rpdml0eS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2FwcGxpY2F0aW9uQ29tbWFuZC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF0dGFjaG1lbnQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdHRhY2htZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF1ZGl0TG9nRW50cnkgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdWRpdExvZ0VudHJ5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvYXV0b21vZEFjdGlvbkV4ZWN1dGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9hdXRvbW9kUnVsZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BdmF0YXJEZWNvcmF0aW9uRGF0YSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2F2YXRhckRlY29yYXRpb25EYXRhLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUNoYW5uZWwsIHRyYW5zZm9ybUZvcnVtVGFnIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvY2hhbm5lbC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db21wb25lbnQsIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW0sIHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvY29tcG9uZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUVtYmVkIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1iZWQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRGVmYXVsdFJlYWN0aW9uRW1vamksIHRyYW5zZm9ybUVtb2ppIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZW1vamkuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtRW50aXRsZW1lbnQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9lbnRpdGxlbWVudC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1HYXRld2F5Qm90IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvZ2F0ZXdheUJvdC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1HdWlsZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2d1aWxkLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUluY2lkZW50c0RhdGEgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9pbmNpZGVudHNEYXRhLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUludGVncmF0aW9uIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZWdyYXRpb24uanMnO1xuaW1wb3J0IHtcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb24sXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gIHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgdHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSxcbn0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24uanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW52aXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvaW52aXRlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUxvYmJ5LCB0cmFuc2Zvcm1Mb2JieUludml0ZSwgdHJhbnNmb3JtTG9iYnlNZW1iZXIsIHRyYW5zZm9ybUxvYmJ5TWVzc2FnZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL2xvYmJ5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybU1lbWJlciB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL21lbWJlci5qcyc7XG5pbXBvcnQge1xuICB0cmFuc2Zvcm1NZXNzYWdlLFxuICB0cmFuc2Zvcm1NZXNzYWdlQ2FsbCxcbiAgdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gIHRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCxcbiAgdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUsXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL21lc3NhZ2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nLCB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQsIHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL29uYm9hcmRpbmcuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtUG9sbCwgdHJhbnNmb3JtUG9sbE1lZGlhIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcG9sbC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1QcmVzZW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3ByZXNlbmNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzVG9EaXNjb3JkQWN0aXZpdHlBc3NldHMsIHRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FjdGl2aXR5LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFsbG93ZWRNZW50aW9uc1RvRGlzY29yZEFsbG93ZWRNZW50aW9ucyB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYWxsb3dlZE1lbnRpb25zLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2FwcGxpY2F0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZVRvRGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9hdHRhY2htZW50LmpzJztcbmltcG9ydCB7XG4gIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCxcbiAgdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbVRvRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0sXG4gIHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG59IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvY29tcG9uZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL2VtYmVkLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybU1lbWJlclRvRGlzY29yZE1lbWJlciwgdHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9yZXZlcnNlL21lbWJlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvdGVhbS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXNUb0Rpc2NvcmRDb2xsZWN0aWJsZXMsIHRyYW5zZm9ybU5hbWVwbGF0ZVRvRGlzY29yZE5hbWVwbGF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3JldmVyc2UvdXNlci5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Sb2xlLCB0cmFuc2Zvcm1Sb2xlQ29sb3JzIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvcm9sZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCwgdHJhbnNmb3JtU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NjaGVkdWxlZEV2ZW50LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVNrdSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3NrdS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zb3VuZGJvYXJkU291bmQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW5zdGFuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtU3RpY2tlciwgdHJhbnNmb3JtU3RpY2tlclBhY2sgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9zdGlja2VyLmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybVN1YnNjcmlwdGlvbiB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3N1YnNjcmlwdGlvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZWFtIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdGVhbS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1UZW1wbGF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RlbXBsYXRlLmpzJztcbmltcG9ydCB7IHR5cGUgVGhyZWFkTWVtYmVyVHJhbnNmb3JtZXJFeHRyYSwgdHJhbnNmb3JtVGhyZWFkTWVtYmVyLCB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3RocmVhZE1lbWJlci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGl2aXR5LFxuICBBY3Rpdml0eUFzc2V0cyxcbiAgQWN0aXZpdHlJbnN0YW5jZSxcbiAgQWN0aXZpdHlMb2NhdGlvbixcbiAgQXBwbGljYXRpb24sXG4gIEFwcGxpY2F0aW9uQ29tbWFuZCxcbiAgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gIEF0dGFjaG1lbnQsXG4gIEF1ZGl0TG9nRW50cnksXG4gIEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICBBdXRvTW9kZXJhdGlvblJ1bGUsXG4gIEF2YXRhckRlY29yYXRpb25EYXRhLFxuICBDaGFubmVsLFxuICBDb2xsZWN0aWJsZXMsXG4gIENvbXBvbmVudCxcbiAgRGVmYXVsdFJlYWN0aW9uRW1vamksXG4gIEVtYmVkLFxuICBFbW9qaSxcbiAgRW50aXRsZW1lbnQsXG4gIEZvcnVtVGFnLFxuICBHZXRHYXRld2F5Qm90LFxuICBHdWlsZCxcbiAgR3VpbGRBcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9ucyxcbiAgR3VpbGRPbmJvYXJkaW5nLFxuICBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgR3VpbGRXaWRnZXQsXG4gIEd1aWxkV2lkZ2V0U2V0dGluZ3MsXG4gIEluY2lkZW50c0RhdGEsXG4gIEludGVncmF0aW9uLFxuICBJbnRlcmFjdGlvbixcbiAgSW50ZXJhY3Rpb25DYWxsYmFjayxcbiAgSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICBJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIEludGVyYWN0aW9uRGF0YVJlc29sdmVkLFxuICBJbnRlcmFjdGlvblJlc291cmNlLFxuICBJbnZpdGUsXG4gIEludml0ZVN0YWdlSW5zdGFuY2UsXG4gIExvYmJ5LFxuICBMb2JieUludml0ZSxcbiAgTG9iYnlNZW1iZXIsXG4gIExvYmJ5TWVzc2FnZSxcbiAgTWVkaWFHYWxsZXJ5SXRlbSxcbiAgTWVtYmVyLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlQ2FsbCxcbiAgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIE1lc3NhZ2VQaW4sXG4gIE1lc3NhZ2VTbmFwc2hvdCxcbiAgTmFtZXBsYXRlLFxuICBQb2xsLFxuICBQb2xsTWVkaWEsXG4gIFByZXNlbmNlVXBkYXRlLFxuICBSb2xlLFxuICBSb2xlQ29sb3JzLFxuICBTY2hlZHVsZWRFdmVudCxcbiAgU2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSxcbiAgU2hhcmVkQ2xpZW50VGhlbWUsXG4gIFNrdSxcbiAgU291bmRib2FyZFNvdW5kLFxuICBTdGFnZUluc3RhbmNlLFxuICBTdGlja2VyLFxuICBTdGlja2VyUGFjayxcbiAgU3Vic2NyaXB0aW9uLFxuICBUZWFtLFxuICBUZW1wbGF0ZSxcbiAgVGhyZWFkTWVtYmVyLFxuICBUaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIFVzZXIsXG4gIFVzZXJQcmltYXJ5R3VpbGQsXG4gIFZvaWNlUmVnaW9uLFxuICBWb2ljZVN0YXRlLFxuICBXZWJob29rLFxuICBXZWxjb21lU2NyZWVuLFxufSBmcm9tICcuL3RyYW5zZm9ybWVycy90eXBlcy5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsIHRyYW5zZm9ybU5hbWVwbGF0ZSwgdHJhbnNmb3JtVXNlciwgdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCB9IGZyb20gJy4vdHJhbnNmb3JtZXJzL3VzZXIuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtVm9pY2VSZWdpb24gfSBmcm9tICcuL3RyYW5zZm9ybWVycy92b2ljZVJlZ2lvbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1Wb2ljZVN0YXRlIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvdm9pY2VTdGF0ZS5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XZWJob29rIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2ViaG9vay5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XZWxjb21lU2NyZWVuIH0gZnJvbSAnLi90cmFuc2Zvcm1lcnMvd2VsY29tZVNjcmVlbi5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1XaWRnZXQgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXQuanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuL3RyYW5zZm9ybWVycy93aWRnZXRTZXR0aW5ncy5qcyc7XG5cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zID0ge1xuICBhY3Rpdml0eTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQWN0aXZpdHksIEFjdGl2aXR5LCBmYWxzZT47XG4gIGFjdGl2aXR5QXNzZXRzOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBY3Rpdml0eUFzc2V0cywgQWN0aXZpdHlBc3NldHMsIGZhbHNlPjtcbiAgYWN0aXZpdHlJbnN0YW5jZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQWN0aXZpdHlJbnN0YW5jZSwgQWN0aXZpdHlJbnN0YW5jZSwgdHJ1ZT47XG4gIGFjdGl2aXR5TG9jYXRpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFjdGl2aXR5TG9jYXRpb24sIEFjdGl2aXR5TG9jYXRpb24sIHRydWU+O1xuICBhcHBsaWNhdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXBwbGljYXRpb24sIEFwcGxpY2F0aW9uLCB0cnVlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGFwcGxpY2F0aW9uQ29tbWFuZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXBwbGljYXRpb25Db21tYW5kLCBBcHBsaWNhdGlvbkNvbW1hbmQsIGZhbHNlPjtcbiAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiwgZmFsc2U+O1xuICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSwgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlLCBmYWxzZT47XG4gIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsIEd1aWxkQXBwbGljYXRpb25Db21tYW5kUGVybWlzc2lvbnMsIGZhbHNlPjtcbiAgYXR0YWNobWVudDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXR0YWNobWVudCwgQXR0YWNobWVudCwgdHJ1ZT47XG4gIGF1ZGl0TG9nRW50cnk6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEF1ZGl0TG9nRW50cnksIEF1ZGl0TG9nRW50cnksIGZhbHNlPjtcbiAgYXV0b21vZEFjdGlvbkV4ZWN1dGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXV0b01vZGVyYXRpb25BY3Rpb25FeGVjdXRpb24sIEF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLCBmYWxzZT47XG4gIGF1dG9tb2RSdWxlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRBdXRvTW9kZXJhdGlvblJ1bGUsIEF1dG9Nb2RlcmF0aW9uUnVsZSwgZmFsc2U+O1xuICBhdmF0YXJEZWNvcmF0aW9uRGF0YTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQXZhdGFyRGVjb3JhdGlvbkRhdGEsIEF2YXRhckRlY29yYXRpb25EYXRhLCB0cnVlPjtcbiAgY2hhbm5lbDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkQ2hhbm5lbCwgQ2hhbm5lbCwgdHJ1ZSwgeyBndWlsZElkPzogQmlnU3RyaW5nIH0+O1xuICBjb2xsZWN0aWJsZXM6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZENvbGxlY3RpYmxlcywgQ29sbGVjdGlibGVzLCB0cnVlPjtcbiAgY29tcG9uZW50OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlLCBDb21wb25lbnQsIHRydWU+O1xuICBkZWZhdWx0UmVhY3Rpb25FbW9qaTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRGVmYXVsdFJlYWN0aW9uRW1vamksIERlZmF1bHRSZWFjdGlvbkVtb2ppLCB0cnVlPjtcbiAgZW1iZWQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEVtYmVkLCBFbWJlZCwgZmFsc2U+O1xuICBlbW9qaTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkRW1vamksIEVtb2ppLCB0cnVlPjtcbiAgZW50aXRsZW1lbnQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEVudGl0bGVtZW50LCBFbnRpdGxlbWVudCwgdHJ1ZT47XG4gIGZvcnVtVGFnOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRGb3J1bVRhZywgRm9ydW1UYWcsIHRydWU+O1xuICBnYXRld2F5Qm90OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHZXRHYXRld2F5Qm90LCBHZXRHYXRld2F5Qm90LCBmYWxzZT47XG4gIGd1aWxkOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHdWlsZCwgR3VpbGQsIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgZ3VpbGRPbmJvYXJkaW5nOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIEd1aWxkT25ib2FyZGluZywgdHJ1ZT47XG4gIGd1aWxkT25ib2FyZGluZ1Byb21wdDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0LCBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIHRydWU+O1xuICBndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiwgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLCB0cnVlPjtcbiAgaW5jaWRlbnRzRGF0YTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW5jaWRlbnRzRGF0YSwgSW5jaWRlbnRzRGF0YSwgdHJ1ZT47XG4gIGludGVncmF0aW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlZ3JhdGlvbkNyZWF0ZVVwZGF0ZSwgSW50ZWdyYXRpb24sIGZhbHNlPjtcbiAgaW50ZXJhY3Rpb246IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEludGVyYWN0aW9uLCBJbnRlcmFjdGlvbiwgdHJ1ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrLCBJbnRlcmFjdGlvbkNhbGxiYWNrLCB0cnVlPjtcbiAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UsIEludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSwgdHJ1ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBpbnRlcmFjdGlvbkRhdGFPcHRpb25zOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sIEludGVyYWN0aW9uRGF0YU9wdGlvbiwgZmFsc2U+O1xuICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxcbiAgICBEaXNjb3JkSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gICAgSW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQsXG4gICAgdHJ1ZSxcbiAgICB7IHNoYXJkSWQ/OiBudW1iZXI7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfVxuICA+O1xuICBpbnRlcmFjdGlvblJlc291cmNlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnRlcmFjdGlvblJlc291cmNlLCBJbnRlcmFjdGlvblJlc291cmNlLCB0cnVlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIGludml0ZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkSW52aXRlTWV0YWRhdGEsIEludml0ZSwgdHJ1ZSwgeyBzaGFyZElkPzogbnVtYmVyIH0+O1xuICBpbnZpdGVTdGFnZUluc3RhbmNlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRJbnZpdGVTdGFnZUluc3RhbmNlLCBJbnZpdGVTdGFnZUluc3RhbmNlLCB0cnVlLCB7IGd1aWxkSWQ/OiBCaWdTdHJpbmcgfT47XG4gIGxvYmJ5OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRMb2JieSwgTG9iYnksIHRydWU+O1xuICBsb2JieU1lbWJlcjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTG9iYnlNZW1iZXIsIExvYmJ5TWVtYmVyLCB0cnVlPjtcbiAgbG9iYnlNZXNzYWdlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRMb2JieU1lc3NhZ2UsIExvYmJ5TWVzc2FnZSwgdHJ1ZT47XG4gIGxvYmJ5SW52aXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRMb2JieUludml0ZSwgTG9iYnlJbnZpdGUsIHRydWU+O1xuICBtZWRpYUdhbGxlcnlJdGVtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLCBNZWRpYUdhbGxlcnlJdGVtLCB0cnVlPjtcbiAgbWVtYmVyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZW1iZXIsIE1lbWJlciwgdHJ1ZSwgeyBndWlsZElkPzogQmlnU3RyaW5nOyB1c2VySWQ/OiBCaWdTdHJpbmcgfT47XG4gIG1lc3NhZ2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2UsIE1lc3NhZ2UsIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgbWVzc2FnZUNhbGw6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZE1lc3NhZ2VDYWxsLCBNZXNzYWdlQ2FsbCwgdHJ1ZT47XG4gIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSwgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsIHRydWU+O1xuICBtZXNzYWdlUGluOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRNZXNzYWdlUGluLCBNZXNzYWdlUGluLCB0cnVlLCB7IHNoYXJkSWQ/OiBudW1iZXIgfT47XG4gIG1lc3NhZ2VTbmFwc2hvdDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkTWVzc2FnZVNuYXBzaG90LCBNZXNzYWdlU25hcHNob3QsIHRydWUsIHsgc2hhcmRJZD86IG51bWJlciB9PjtcbiAgbmFtZXBsYXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmROYW1lcGxhdGUsIE5hbWVwbGF0ZSwgdHJ1ZT47XG4gIHBvbGw6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFBvbGwsIFBvbGwsIHRydWU+O1xuICBwb2xsTWVkaWE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFBvbGxNZWRpYSwgUG9sbE1lZGlhLCB0cnVlPjtcbiAgcHJlc2VuY2U6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFByZXNlbmNlVXBkYXRlLCBQcmVzZW5jZVVwZGF0ZSwgdHJ1ZT47XG4gIHJvbGU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFJvbGUsIFJvbGUsIHRydWUsIHsgZ3VpbGRJZD86IEJpZ1N0cmluZyB9PjtcbiAgcm9sZUNvbG9yczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkUm9sZUNvbG9ycywgUm9sZUNvbG9ycywgdHJ1ZT47XG4gIHNjaGVkdWxlZEV2ZW50OiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTY2hlZHVsZWRFdmVudCwgU2NoZWR1bGVkRXZlbnQsIHRydWU+O1xuICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLCBTY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlLCB0cnVlPjtcbiAgc2hhcmVkQ2xpZW50VGhlbWU6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFNoYXJlZENsaWVudFRoZW1lLCBTaGFyZWRDbGllbnRUaGVtZSwgdHJ1ZT47XG4gIHNrdTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkU2t1LCBTa3UsIHRydWU+O1xuICBzb3VuZGJvYXJkU291bmQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFNvdW5kYm9hcmRTb3VuZCwgU291bmRib2FyZFNvdW5kLCB0cnVlPjtcbiAgc3RhZ2VJbnN0YW5jZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkU3RhZ2VJbnN0YW5jZSwgU3RhZ2VJbnN0YW5jZSwgdHJ1ZT47XG4gIHN0aWNrZXI6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZFN0aWNrZXIsIFN0aWNrZXIsIHRydWU+O1xuICBzdGlja2VyUGFjazogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkU3RpY2tlclBhY2ssIFN0aWNrZXJQYWNrLCBmYWxzZT47XG4gIHN1YnNjcmlwdGlvbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb24sIHRydWU+O1xuICB0ZWFtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUZWFtLCBUZWFtLCBmYWxzZT47XG4gIHRlbXBsYXRlOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUZW1wbGF0ZSwgVGVtcGxhdGUsIGZhbHNlPjtcbiAgdGhyZWFkTWVtYmVyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRUaHJlYWRNZW1iZXIsIFRocmVhZE1lbWJlciwgZmFsc2UsIFRocmVhZE1lbWJlclRyYW5zZm9ybWVyRXh0cmE+O1xuICB0aHJlYWRNZW1iZXJHdWlsZENyZWF0ZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUsIFRocmVhZE1lbWJlckd1aWxkQ3JlYXRlLCBmYWxzZT47XG4gIHVuZnVybGVkTWVkaWFJdGVtOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0sIHRydWU+O1xuICB1c2VyOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRVc2VyLCBVc2VyLCB0cnVlPjtcbiAgdXNlclByaW1hcnlHdWlsZDogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVXNlclByaW1hcnlHdWlsZCwgVXNlclByaW1hcnlHdWlsZCwgdHJ1ZT47XG4gIHZvaWNlUmVnaW9uOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRWb2ljZVJlZ2lvbiwgVm9pY2VSZWdpb24sIGZhbHNlPjtcbiAgdm9pY2VTdGF0ZTogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkVm9pY2VTdGF0ZSwgVm9pY2VTdGF0ZSwgdHJ1ZSwgeyBndWlsZElkPzogQmlnU3RyaW5nIH0+O1xuICB3ZWJob29rOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uPERpc2NvcmRXZWJob29rLCBXZWJob29rLCB0cnVlPjtcbiAgd2VsY29tZVNjcmVlbjogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkV2VsY29tZVNjcmVlbiwgV2VsY29tZVNjcmVlbiwgZmFsc2U+O1xuICB3aWRnZXQ6IFRyYW5zZm9ybWVySW5mb3JtYXRpb248RGlzY29yZEd1aWxkV2lkZ2V0LCBHdWlsZFdpZGdldCwgZmFsc2U+O1xuICB3aWRnZXRTZXR0aW5nczogVHJhbnNmb3JtZXJJbmZvcm1hdGlvbjxEaXNjb3JkR3VpbGRXaWRnZXRTZXR0aW5ncywgR3VpbGRXaWRnZXRTZXR0aW5ncywgZmFsc2U+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IFRyYW5zZm9ybWVyRnVuY3Rpb25zPFxuICBUUHJvcHMsXG4gIFRCZWhhdmlvclxuPiAmIHtcbiAgY3VzdG9taXplcnM6IFRyYW5zZm9ybWVyQ3VzdG9taXplcnM8VFByb3BzLCBUQmVoYXZpb3I+O1xuICBkZXNpcmVkUHJvcGVydGllczogVFByb3BzO1xuICByZXZlcnNlOiB7XG4gICAgYWN0aXZpdHk6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFjdGl2aXR5KSA9PiBEaXNjb3JkQWN0aXZpdHk7XG4gICAgYWN0aXZpdHlBc3NldHM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFjdGl2aXR5QXNzZXRzKSA9PiBEaXNjb3JkQWN0aXZpdHlBc3NldHM7XG4gICAgYWxsb3dlZE1lbnRpb25zOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBbGxvd2VkTWVudGlvbnMpID0+IERpc2NvcmRBbGxvd2VkTWVudGlvbnM7XG4gICAgYXBwbGljYXRpb246IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IEFwcGxpY2F0aW9uKSA9PiBEaXNjb3JkQXBwbGljYXRpb247XG4gICAgYXBwbGljYXRpb25Db21tYW5kOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbkNvbW1hbmQpID0+IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQ7XG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24pID0+IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb247XG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UpID0+IERpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U7XG4gICAgYXR0YWNobWVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8QXR0YWNobWVudCwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBEaXNjb3JkQXR0YWNobWVudDtcbiAgICBjb2xsZWN0aWJsZXM6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPENvbGxlY3RpYmxlcywgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBEaXNjb3JkQ29sbGVjdGlibGVzO1xuICAgIGNvbXBvbmVudDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogQ29tcG9uZW50KSA9PiBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCB8IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50RnJvbU1vZGFsSW50ZXJhY3Rpb25SZXNwb25zZTtcbiAgICBlbWJlZDogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogRW1iZWQpID0+IERpc2NvcmRFbWJlZDtcbiAgICBtZWRpYUdhbGxlcnlJdGVtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKSA9PiBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbTtcbiAgICBtZW1iZXI6IChib3Q6IEJvdDxUUHJvcHMsIFRCZWhhdmlvcj4sIHBheWxvYWQ6IFNldHVwRGVzaXJlZFByb3BzPE1lbWJlciwgVFByb3BzLCBUQmVoYXZpb3I+KSA9PiBEaXNjb3JkTWVtYmVyO1xuICAgIG5hbWVwbGF0ZTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogU2V0dXBEZXNpcmVkUHJvcHM8TmFtZXBsYXRlLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmROYW1lcGxhdGU7XG4gICAgc25vd2ZsYWtlOiAoc25vd2ZsYWtlOiBCaWdTdHJpbmcpID0+IHN0cmluZztcbiAgICB0ZWFtOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUZWFtKSA9PiBEaXNjb3JkVGVhbTtcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVW5mdXJsZWRNZWRpYUl0ZW0pID0+IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbTtcbiAgICB1c2VyOiAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBTZXR1cERlc2lyZWRQcm9wczxVc2VyLCBUUHJvcHMsIFRCZWhhdmlvcj4pID0+IERpc2NvcmRVc2VyO1xuICB9O1xuICBzbm93Zmxha2U6IChzbm93Zmxha2U6IEJpZ1N0cmluZykgPT4gYmlnaW50O1xufTtcblxuY29uc3QgZGVmYXVsdEN1c3RvbWl6ZXIgPSAoX2JvdDogdW5rbm93biwgX3BheWxvYWQ6IHVua25vd24sIHN0cnVjdHVyZTogdW5rbm93bikgPT4gc3RydWN0dXJlO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJhbnNmb3JtZXJzPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPihcbiAgb3B0aW9uczogUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+Pixcbik6IFRyYW5zZm9ybWVyczxUUHJvcHMsIFRCZWhhdmlvcj4ge1xuICBjb25zdCBfb3B0aW9ucyA9IG9wdGlvbnMgYXMgUmVjdXJzaXZlUGFydGlhbDxUcmFuc2Zvcm1lcnM8VHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IuUmVtb3ZlS2V5Pj47XG5cbiAgcmV0dXJuIHtcbiAgICBjdXN0b21pemVyczoge1xuICAgICAgYWN0aXZpdHk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5QXNzZXRzOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYWN0aXZpdHlBc3NldHMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhY3Rpdml0eUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYWN0aXZpdHlJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFjdGl2aXR5TG9jYXRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hY3Rpdml0eUxvY2F0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXBwbGljYXRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZDogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXR0YWNobWVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmF0dGFjaG1lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBhdWRpdExvZ0VudHJ5OiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXVkaXRMb2dFbnRyeSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF1dG9tb2RBY3Rpb25FeGVjdXRpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvbW9kQWN0aW9uRXhlY3V0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgYXV0b21vZFJ1bGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5hdXRvbW9kUnVsZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGF2YXRhckRlY29yYXRpb25EYXRhOiBfb3B0aW9ucy5jdXN0b21pemVycz8uYXZhdGFyRGVjb3JhdGlvbkRhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBjaGFubmVsOiBfb3B0aW9ucy5jdXN0b21pemVycz8uY2hhbm5lbCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGNvbGxlY3RpYmxlczogX29wdGlvbnMuY3VzdG9taXplcnM/LmNvbGxlY3RpYmxlcyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGNvbXBvbmVudDogX29wdGlvbnMuY3VzdG9taXplcnM/LmNvbXBvbmVudCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZGVmYXVsdFJlYWN0aW9uRW1vamkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBlbWJlZDogX29wdGlvbnMuY3VzdG9taXplcnM/LmVtYmVkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZW1vamk6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5lbW9qaSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGVudGl0bGVtZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uZW50aXRsZW1lbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBmb3J1bVRhZzogX29wdGlvbnMuY3VzdG9taXplcnM/LmZvcnVtVGFnID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ2F0ZXdheUJvdDogX29wdGlvbnMuY3VzdG9taXplcnM/LmdhdGV3YXlCb3QgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBndWlsZDogX29wdGlvbnMuY3VzdG9taXplcnM/Lmd1aWxkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8uZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW5jaWRlbnRzRGF0YTogX29wdGlvbnMuY3VzdG9taXplcnM/LmluY2lkZW50c0RhdGEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlZ3JhdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVncmF0aW9uID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb246IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGludGVyYWN0aW9uQ2FsbGJhY2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnRlcmFjdGlvbkNhbGxiYWNrID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25EYXRhT3B0aW9uczogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uRGF0YU9wdGlvbnMgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnRlcmFjdGlvbkRhdGFSZXNvbHZlZDogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uRGF0YVJlc29sdmVkID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgaW50ZXJhY3Rpb25SZXNvdXJjZTogX29wdGlvbnMuY3VzdG9taXplcnM/LmludGVyYWN0aW9uUmVzb3VyY2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5pbnZpdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBpbnZpdGVTdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uaW52aXRlU3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIGxvYmJ5OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnkgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBsb2JieU1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LmxvYmJ5TWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlNZXNzYWdlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubG9iYnlNZXNzYWdlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbG9iYnlJbnZpdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5sb2JieUludml0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lZGlhR2FsbGVyeUl0ZW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZWRpYUdhbGxlcnlJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVtYmVyOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVtYmVyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZTogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBtZXNzYWdlQ2FsbDogX29wdGlvbnMuY3VzdG9taXplcnM/Lm1lc3NhZ2VDYWxsID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIG1lc3NhZ2VQaW46IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5tZXNzYWdlUGluID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5jdXN0b21pemVycz8ubWVzc2FnZVNuYXBzaG90ID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgbmFtZXBsYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8ubmFtZXBsYXRlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcG9sbDogX29wdGlvbnMuY3VzdG9taXplcnM/LnBvbGwgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwb2xsTWVkaWE6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5wb2xsTWVkaWEgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBwcmVzZW5jZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnByZXNlbmNlID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgcm9sZTogX29wdGlvbnMuY3VzdG9taXplcnM/LnJvbGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICByb2xlQ29sb3JzOiBfb3B0aW9ucy5jdXN0b21pemVycz8ucm9sZUNvbG9ycyA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNjaGVkdWxlZEV2ZW50OiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2NoZWR1bGVkRXZlbnQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHNoYXJlZENsaWVudFRoZW1lOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc2hhcmVkQ2xpZW50VGhlbWUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBza3U6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5za3UgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zb3VuZGJvYXJkU291bmQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICBzdGFnZUluc3RhbmNlOiBfb3B0aW9ucy5jdXN0b21pemVycz8uc3RhZ2VJbnN0YW5jZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN0aWNrZXI6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgc3RpY2tlclBhY2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy5zdGlja2VyUGFjayA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHN1YnNjcmlwdGlvbjogX29wdGlvbnMuY3VzdG9taXplcnM/LnN1YnNjcmlwdGlvbiA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRlYW06IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZWFtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdGVtcGxhdGU6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy50ZW1wbGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnRocmVhZE1lbWJlciA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8udGhyZWFkTWVtYmVyR3VpbGRDcmVhdGUgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMuY3VzdG9taXplcnM/LnVuZnVybGVkTWVkaWFJdGVtID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgdXNlcjogX29wdGlvbnMuY3VzdG9taXplcnM/LnVzZXIgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB1c2VyUHJpbWFyeUd1aWxkOiBfb3B0aW9ucy5jdXN0b21pemVycz8udXNlclByaW1hcnlHdWlsZCA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHZvaWNlUmVnaW9uOiBfb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VSZWdpb24gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB2b2ljZVN0YXRlOiBfb3B0aW9ucy5jdXN0b21pemVycz8udm9pY2VTdGF0ZSA/PyBkZWZhdWx0Q3VzdG9taXplcixcbiAgICAgIHdlYmhvb2s6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy53ZWJob29rID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgICAgd2VsY29tZVNjcmVlbjogX29wdGlvbnMuY3VzdG9taXplcnM/LndlbGNvbWVTY3JlZW4gPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXQ6IF9vcHRpb25zLmN1c3RvbWl6ZXJzPy53aWRnZXQgPz8gZGVmYXVsdEN1c3RvbWl6ZXIsXG4gICAgICB3aWRnZXRTZXR0aW5nczogX29wdGlvbnMuY3VzdG9taXplcnM/LndpZGdldFNldHRpbmdzID8/IGRlZmF1bHRDdXN0b21pemVyLFxuICAgIH0sXG4gICAgZGVzaXJlZFByb3BlcnRpZXM6IGNyZWF0ZURlc2lyZWRQcm9wZXJ0aWVzT2JqZWN0KF9vcHRpb25zLmRlc2lyZWRQcm9wZXJ0aWVzID8/IHt9KSxcbiAgICByZXZlcnNlOiB7XG4gICAgICBhY3Rpdml0eTogX29wdGlvbnMucmV2ZXJzZT8uYWN0aXZpdHkgPz8gdHJhbnNmb3JtQWN0aXZpdHlUb0Rpc2NvcmRBY3Rpdml0eSxcbiAgICAgIGFjdGl2aXR5QXNzZXRzOiBfb3B0aW9ucy5yZXZlcnNlPy5hY3Rpdml0eUFzc2V0cyA/PyB0cmFuc2Zvcm1BY3Rpdml0eUFzc2V0c1RvRGlzY29yZEFjdGl2aXR5QXNzZXRzLFxuICAgICAgYWxsb3dlZE1lbnRpb25zOiBfb3B0aW9ucy5yZXZlcnNlPy5hbGxvd2VkTWVudGlvbnMgPz8gdHJhbnNmb3JtQWxsb3dlZE1lbnRpb25zVG9EaXNjb3JkQWxsb3dlZE1lbnRpb25zLFxuICAgICAgYXBwbGljYXRpb246IF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uVG9EaXNjb3JkQXBwbGljYXRpb24sXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb246IF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25Ub0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24sXG4gICAgICBhcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2U6XG4gICAgICAgIF9vcHRpb25zLnJldmVyc2U/LmFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2VUb0Rpc2NvcmRBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25DaG9pY2UsXG4gICAgICBhdHRhY2htZW50OiBfb3B0aW9ucy5yZXZlcnNlPy5hdHRhY2htZW50ID8/IHRyYW5zZm9ybUF0dGFjaG1lbnRUb0Rpc2NvcmRBdHRhY2htZW50LFxuICAgICAgY29sbGVjdGlibGVzOiBfb3B0aW9ucy5yZXZlcnNlPy5jb2xsZWN0aWJsZXMgPz8gdHJhbnNmb3JtQ29sbGVjdGlibGVzVG9EaXNjb3JkQ29sbGVjdGlibGVzLFxuICAgICAgY29tcG9uZW50OiBfb3B0aW9ucy5yZXZlcnNlPy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50VG9EaXNjb3JkQ29tcG9uZW50LFxuICAgICAgZW1iZWQ6IF9vcHRpb25zLnJldmVyc2U/LmVtYmVkID8/IHRyYW5zZm9ybUVtYmVkVG9EaXNjb3JkRW1iZWQsXG4gICAgICBtZWRpYUdhbGxlcnlJdGVtOiBfb3B0aW9ucy5yZXZlcnNlPy5tZWRpYUdhbGxlcnlJdGVtID8/IHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtLFxuICAgICAgbWVtYmVyOiBfb3B0aW9ucy5yZXZlcnNlPy5tZW1iZXIgPz8gdHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyLFxuICAgICAgbmFtZXBsYXRlOiBfb3B0aW9ucy5yZXZlcnNlPy5uYW1lcGxhdGUgPz8gdHJhbnNmb3JtTmFtZXBsYXRlVG9EaXNjb3JkTmFtZXBsYXRlLFxuICAgICAgc25vd2ZsYWtlOiBfb3B0aW9ucy5yZXZlcnNlPy5zbm93Zmxha2UgPz8gYmlnaW50VG9Tbm93Zmxha2UsXG4gICAgICB0ZWFtOiBfb3B0aW9ucy5yZXZlcnNlPy50ZWFtID8/IHRyYW5zZm9ybVRlYW1Ub0Rpc2NvcmRUZWFtLFxuICAgICAgdW5mdXJsZWRNZWRpYUl0ZW06IF9vcHRpb25zLnJldmVyc2U/LnVuZnVybGVkTWVkaWFJdGVtID8/IHRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgICB1c2VyOiBfb3B0aW9ucy5yZXZlcnNlPy51c2VyID8/IHRyYW5zZm9ybVVzZXJUb0Rpc2NvcmRVc2VyLFxuICAgIH0sXG4gICAgYWN0aXZpdHk6IF9vcHRpb25zLmFjdGl2aXR5ID8/IHRyYW5zZm9ybUFjdGl2aXR5LFxuICAgIGFjdGl2aXR5QXNzZXRzOiBfb3B0aW9ucy5hY3Rpdml0eUFzc2V0cyA/PyB0cmFuc2Zvcm1BY3Rpdml0eUFzc2V0cyxcbiAgICBhY3Rpdml0eUluc3RhbmNlOiBfb3B0aW9ucy5hY3Rpdml0eUluc3RhbmNlID8/IHRyYW5zZm9ybUFjdGl2aXR5SW5zdGFuY2UsXG4gICAgYWN0aXZpdHlMb2NhdGlvbjogX29wdGlvbnMuYWN0aXZpdHlMb2NhdGlvbiA/PyB0cmFuc2Zvcm1BY3Rpdml0eUxvY2F0aW9uLFxuICAgIGFwcGxpY2F0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbiA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmQ6IF9vcHRpb25zLmFwcGxpY2F0aW9uQ29tbWFuZCA/PyB0cmFuc2Zvcm1BcHBsaWNhdGlvbkNvbW1hbmQsXG4gICAgYXBwbGljYXRpb25Db21tYW5kT3B0aW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRPcHRpb24gPz8gdHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uLFxuICAgIGFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZTogX29wdGlvbnMuYXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSxcbiAgICBhcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uOiBfb3B0aW9ucy5hcHBsaWNhdGlvbkNvbW1hbmRQZXJtaXNzaW9uID8/IHRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24sXG4gICAgYXR0YWNobWVudDogX29wdGlvbnMuYXR0YWNobWVudCA/PyB0cmFuc2Zvcm1BdHRhY2htZW50LFxuICAgIGF1ZGl0TG9nRW50cnk6IF9vcHRpb25zLmF1ZGl0TG9nRW50cnkgPz8gdHJhbnNmb3JtQXVkaXRMb2dFbnRyeSxcbiAgICBhdXRvbW9kQWN0aW9uRXhlY3V0aW9uOiBfb3B0aW9ucy5hdXRvbW9kQWN0aW9uRXhlY3V0aW9uID8/IHRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uLFxuICAgIGF1dG9tb2RSdWxlOiBfb3B0aW9ucy5hdXRvbW9kUnVsZSA/PyB0cmFuc2Zvcm1BdXRvTW9kZXJhdGlvblJ1bGUsXG4gICAgYXZhdGFyRGVjb3JhdGlvbkRhdGE6IF9vcHRpb25zLmF2YXRhckRlY29yYXRpb25EYXRhID8/IHRyYW5zZm9ybUF2YXRhckRlY29yYXRpb25EYXRhLFxuICAgIGNoYW5uZWw6IF9vcHRpb25zLmNoYW5uZWwgPz8gdHJhbnNmb3JtQ2hhbm5lbCxcbiAgICBjb2xsZWN0aWJsZXM6IF9vcHRpb25zLmNvbGxlY3RpYmxlcyA/PyB0cmFuc2Zvcm1Db2xsZWN0aWJsZXMsXG4gICAgY29tcG9uZW50OiBfb3B0aW9ucy5jb21wb25lbnQgPz8gdHJhbnNmb3JtQ29tcG9uZW50LFxuICAgIGRlZmF1bHRSZWFjdGlvbkVtb2ppOiBfb3B0aW9ucy5kZWZhdWx0UmVhY3Rpb25FbW9qaSA/PyB0cmFuc2Zvcm1EZWZhdWx0UmVhY3Rpb25FbW9qaSxcbiAgICBlbWJlZDogX29wdGlvbnMuZW1iZWQgPz8gdHJhbnNmb3JtRW1iZWQsXG4gICAgZW1vamk6IF9vcHRpb25zLmVtb2ppID8/IHRyYW5zZm9ybUVtb2ppLFxuICAgIGVudGl0bGVtZW50OiBfb3B0aW9ucy5lbnRpdGxlbWVudCA/PyB0cmFuc2Zvcm1FbnRpdGxlbWVudCxcbiAgICBmb3J1bVRhZzogX29wdGlvbnMuZm9ydW1UYWcgPz8gdHJhbnNmb3JtRm9ydW1UYWcsXG4gICAgZ2F0ZXdheUJvdDogX29wdGlvbnMuZ2F0ZXdheUJvdCA/PyB0cmFuc2Zvcm1HYXRld2F5Qm90LFxuICAgIGd1aWxkOiBfb3B0aW9ucy5ndWlsZCA/PyB0cmFuc2Zvcm1HdWlsZCxcbiAgICBndWlsZE9uYm9hcmRpbmc6IF9vcHRpb25zLmd1aWxkT25ib2FyZGluZyA/PyB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmcsXG4gICAgZ3VpbGRPbmJvYXJkaW5nUHJvbXB0OiBfb3B0aW9ucy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQgPz8gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0LFxuICAgIGd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbjogX29wdGlvbnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uID8/IHRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbixcbiAgICBpbmNpZGVudHNEYXRhOiBfb3B0aW9ucy5pbmNpZGVudHNEYXRhID8/IHRyYW5zZm9ybUluY2lkZW50c0RhdGEsXG4gICAgaW50ZWdyYXRpb246IF9vcHRpb25zLmludGVncmF0aW9uID8/IHRyYW5zZm9ybUludGVncmF0aW9uLFxuICAgIGludGVyYWN0aW9uOiBfb3B0aW9ucy5pbnRlcmFjdGlvbiA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbixcbiAgICBpbnRlcmFjdGlvbkNhbGxiYWNrOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrID8/IHRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2ssXG4gICAgaW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFja1Jlc3BvbnNlLFxuICAgIGludGVyYWN0aW9uRGF0YU9wdGlvbnM6IF9vcHRpb25zLmludGVyYWN0aW9uRGF0YU9wdGlvbnMgPz8gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uLFxuICAgIGludGVyYWN0aW9uRGF0YVJlc29sdmVkOiBfb3B0aW9ucy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCA/PyB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCxcbiAgICBpbnRlcmFjdGlvblJlc291cmNlOiBfb3B0aW9ucy5pbnRlcmFjdGlvblJlc291cmNlID8/IHRyYW5zZm9ybUludGVyYWN0aW9uUmVzb3VyY2UsXG4gICAgaW52aXRlOiBfb3B0aW9ucy5pbnZpdGUgPz8gdHJhbnNmb3JtSW52aXRlLFxuICAgIGludml0ZVN0YWdlSW5zdGFuY2U6IF9vcHRpb25zLmludml0ZVN0YWdlSW5zdGFuY2UgPz8gdHJhbnNmb3JtSW52aXRlU3RhZ2VJbnN0YW5jZSxcbiAgICBsb2JieTogX29wdGlvbnMubG9iYnkgPz8gdHJhbnNmb3JtTG9iYnksXG4gICAgbG9iYnlNZW1iZXI6IF9vcHRpb25zLmxvYmJ5TWVtYmVyID8/IHRyYW5zZm9ybUxvYmJ5TWVtYmVyLFxuICAgIGxvYmJ5TWVzc2FnZTogX29wdGlvbnMubG9iYnlNZXNzYWdlID8/IHRyYW5zZm9ybUxvYmJ5TWVzc2FnZSxcbiAgICBsb2JieUludml0ZTogX29wdGlvbnMubG9iYnlJbnZpdGUgPz8gdHJhbnNmb3JtTG9iYnlJbnZpdGUsXG4gICAgbWVkaWFHYWxsZXJ5SXRlbTogX29wdGlvbnMubWVkaWFHYWxsZXJ5SXRlbSA/PyB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtLFxuICAgIG1lbWJlcjogX29wdGlvbnMubWVtYmVyID8/IHRyYW5zZm9ybU1lbWJlcixcbiAgICBtZXNzYWdlOiBfb3B0aW9ucy5tZXNzYWdlID8/IHRyYW5zZm9ybU1lc3NhZ2UsXG4gICAgbWVzc2FnZUNhbGw6IF9vcHRpb25zLm1lc3NhZ2VDYWxsID8/IHRyYW5zZm9ybU1lc3NhZ2VDYWxsLFxuICAgIG1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhOiBfb3B0aW9ucy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSA/PyB0cmFuc2Zvcm1NZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgICBtZXNzYWdlUGluOiBfb3B0aW9ucy5tZXNzYWdlUGluID8/IHRyYW5zZm9ybU1lc3NhZ2VQaW4sXG4gICAgbWVzc2FnZVNuYXBzaG90OiBfb3B0aW9ucy5tZXNzYWdlU25hcHNob3QgPz8gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90LFxuICAgIG5hbWVwbGF0ZTogX29wdGlvbnMubmFtZXBsYXRlID8/IHRyYW5zZm9ybU5hbWVwbGF0ZSxcbiAgICBwb2xsOiBfb3B0aW9ucy5wb2xsID8/IHRyYW5zZm9ybVBvbGwsXG4gICAgcG9sbE1lZGlhOiBfb3B0aW9ucy5wb2xsTWVkaWEgPz8gdHJhbnNmb3JtUG9sbE1lZGlhLFxuICAgIHByZXNlbmNlOiBfb3B0aW9ucy5wcmVzZW5jZSA/PyB0cmFuc2Zvcm1QcmVzZW5jZSxcbiAgICByb2xlOiBfb3B0aW9ucy5yb2xlID8/IHRyYW5zZm9ybVJvbGUsXG4gICAgcm9sZUNvbG9yczogX29wdGlvbnMucm9sZUNvbG9ycyA/PyB0cmFuc2Zvcm1Sb2xlQ29sb3JzLFxuICAgIHNjaGVkdWxlZEV2ZW50OiBfb3B0aW9ucy5zY2hlZHVsZWRFdmVudCA/PyB0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudCxcbiAgICBzY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlOiBfb3B0aW9ucy5zY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlID8/IHRyYW5zZm9ybVNjaGVkdWxlZEV2ZW50UmVjdXJyZW5jZVJ1bGUsXG4gICAgc2hhcmVkQ2xpZW50VGhlbWU6IF9vcHRpb25zLnNoYXJlZENsaWVudFRoZW1lID8/IHRyYW5zZm9ybVNoYXJlZENsaWVudFRoZW1lLFxuICAgIHNrdTogX29wdGlvbnMuc2t1ID8/IHRyYW5zZm9ybVNrdSxcbiAgICBzb3VuZGJvYXJkU291bmQ6IF9vcHRpb25zLnNvdW5kYm9hcmRTb3VuZCA/PyB0cmFuc2Zvcm1Tb3VuZGJvYXJkU291bmQsXG4gICAgc25vd2ZsYWtlOiBfb3B0aW9ucy5zbm93Zmxha2UgPz8gc25vd2ZsYWtlVG9CaWdpbnQsXG4gICAgc3RhZ2VJbnN0YW5jZTogX29wdGlvbnMuc3RhZ2VJbnN0YW5jZSA/PyB0cmFuc2Zvcm1TdGFnZUluc3RhbmNlLFxuICAgIHN0aWNrZXI6IF9vcHRpb25zLnN0aWNrZXIgPz8gdHJhbnNmb3JtU3RpY2tlcixcbiAgICBzdGlja2VyUGFjazogX29wdGlvbnMuc3RpY2tlclBhY2sgPz8gdHJhbnNmb3JtU3RpY2tlclBhY2ssXG4gICAgc3Vic2NyaXB0aW9uOiBfb3B0aW9ucy5zdWJzY3JpcHRpb24gPz8gdHJhbnNmb3JtU3Vic2NyaXB0aW9uLFxuICAgIHRlYW06IF9vcHRpb25zLnRlYW0gPz8gdHJhbnNmb3JtVGVhbSxcbiAgICB0ZW1wbGF0ZTogX29wdGlvbnMudGVtcGxhdGUgPz8gdHJhbnNmb3JtVGVtcGxhdGUsXG4gICAgdGhyZWFkTWVtYmVyOiBfb3B0aW9ucy50aHJlYWRNZW1iZXIgPz8gdHJhbnNmb3JtVGhyZWFkTWVtYmVyLFxuICAgIHRocmVhZE1lbWJlckd1aWxkQ3JlYXRlOiBfb3B0aW9ucy50aHJlYWRNZW1iZXJHdWlsZENyZWF0ZSA/PyB0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSxcbiAgICB1bmZ1cmxlZE1lZGlhSXRlbTogX29wdGlvbnMudW5mdXJsZWRNZWRpYUl0ZW0gPz8gdHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0sXG4gICAgdXNlcjogX29wdGlvbnMudXNlciA/PyB0cmFuc2Zvcm1Vc2VyLFxuICAgIHVzZXJQcmltYXJ5R3VpbGQ6IF9vcHRpb25zLnVzZXJQcmltYXJ5R3VpbGQgPz8gdHJhbnNmb3JtVXNlclByaW1hcnlHdWlsZCxcbiAgICB2b2ljZVJlZ2lvbjogX29wdGlvbnMudm9pY2VSZWdpb24gPz8gdHJhbnNmb3JtVm9pY2VSZWdpb24sXG4gICAgdm9pY2VTdGF0ZTogX29wdGlvbnMudm9pY2VTdGF0ZSA/PyB0cmFuc2Zvcm1Wb2ljZVN0YXRlLFxuICAgIHdlYmhvb2s6IF9vcHRpb25zLndlYmhvb2sgPz8gdHJhbnNmb3JtV2ViaG9vayxcbiAgICB3ZWxjb21lU2NyZWVuOiBfb3B0aW9ucy53ZWxjb21lU2NyZWVuID8/IHRyYW5zZm9ybVdlbGNvbWVTY3JlZW4sXG4gICAgd2lkZ2V0OiBfb3B0aW9ucy53aWRnZXQgPz8gdHJhbnNmb3JtV2lkZ2V0LFxuICAgIHdpZGdldFNldHRpbmdzOiBfb3B0aW9ucy53aWRnZXRTZXR0aW5ncyA/PyB0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyxcbiAgfSBzYXRpc2ZpZXMgVHJhbnNmb3JtZXJzPFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLlJlbW92ZUtleT4gYXMgdW5rbm93biBhcyBUcmFuc2Zvcm1lcnM8VFByb3BzLCBUQmVoYXZpb3I+O1xufVxuXG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IGEgdHJhbnNmb3JtZXIgaW5jbHVkaW5nIGl0cyBwYXlsb2FkIGFuZCB0cmFuc2Zvcm1lZCB0eXBlcy5cbiAqXG4gKiBAdGVtcGxhdGUgVFBheWxvYWQgLSBUaGUgdHlwZSBvZiB0aGUgcGF5bG9hZCByZWNlaXZlZCBmcm9tIERpc2NvcmQuXG4gKiBAdGVtcGxhdGUgVFRyYW5zZm9ybWVkIC0gVGhlIHR5cGUgb2YgdGhlIHRyYW5zZm9ybWVkIG9iamVjdCByZXR1cm5lZCBieSB0aGUgdHJhbnNmb3JtZXIuXG4gKiBAdGVtcGxhdGUgVFBhcnRpYWwgLSBJbmRpY2F0ZXMgaWYgdGhlIHRyYW5zZm9ybWVyIHN1cHBvcnRzIHBhcnRpYWwgcGF5bG9hZHMuXG4gKiBAdGVtcGxhdGUgVEV4dHJhIC0gQWRkaXRpb25hbCBleHRyYSBpbmZvcm1hdGlvbiB0aGF0IG1pZ2h0IGJlIG5lZWRlZCBmb3IgdHJhbnNmb3JtYXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVySW5mb3JtYXRpb248VFBheWxvYWQsIFRUcmFuc2Zvcm1lZCwgVFBhcnRpYWwgZXh0ZW5kcyBib29sZWFuLCBURXh0cmEgPSB7fT4gPSB7XG4gIHBheWxvYWQ6IFRQYXlsb2FkO1xuICB0cmFuc2Zvcm1lZDogVFRyYW5zZm9ybWVkO1xuICBleHRyYTogVEV4dHJhO1xuICBwYXJ0aWFsOiBUUGFydGlhbDtcbn07XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHRyYW5zZm9ybXMgYSBwYXlsb2FkIGZyb20gRGlzY29yZCBpbnRvIGEgZGVzaXJlZCBmb3JtYXQuXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBUQmVoYXZpb3IgLSBUaGUgYmVoYXZpb3IgZm9yIGhhbmRsaW5nIGRlc2lyZWQgcHJvcGVydGllcy5cbiAqIEB0ZW1wbGF0ZSBUUGF5bG9hZCAtIFRoZSB0eXBlIG9mIHRoZSBwYXlsb2FkIHJlY2VpdmVkIGZyb20gRGlzY29yZC5cbiAqIEB0ZW1wbGF0ZSBUVHJhbnNmb3JtZWQgLSBUaGUgdHlwZSBvZiB0aGUgdHJhbnNmb3JtZWQgb2JqZWN0IHJldHVybmVkIGJ5IHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBURXh0cmEgLSBBZGRpdGlvbmFsIGV4dHJhIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgYmUgbmVlZGVkIGZvciB0cmFuc2Zvcm1hdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUUGFydGlhbCAtIEluZGljYXRlcyBpZiB0aGUgdHJhbnNmb3JtZXIgc3VwcG9ydHMgcGFydGlhbCBwYXlsb2Fkcy5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJGdW5jdGlvbjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIFRQYXlsb2FkLFxuICBUVHJhbnNmb3JtZWQsXG4gIFRFeHRyYSA9IHt9LFxuICBUUGFydGlhbCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZSxcbj4gPSBUUGFydGlhbCBleHRlbmRzIHRydWVcbiAgPyAvLyBXZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggZm9yIGZ1bmN0aW9ucyAoLi4uUGFyYW1zKTogUmV0dXJuVHlwZSBpbnN0ZWFkIG9mIHRoZSBhcnJvdyBzeW50YXggYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gaGF2ZSBvdmVybG9hZHMgaW4gdGhlIHR5cGVcbiAgICB7XG4gICAgICAoYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LCBwYXlsb2FkOiBUUGF5bG9hZCwgZXh0cmE/OiBURXh0cmEgJiB7IHBhcnRpYWw/OiBmYWxzZSB9KTogU2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj47XG4gICAgICAoXG4gICAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgcGF5bG9hZDogUGFydGlhbDxUUGF5bG9hZD4sXG4gICAgICAgIGV4dHJhOiBURXh0cmEgJiB7IHBhcnRpYWw6IHRydWUgfSxcbiAgICAgICk6IFBhcnRpYWw8U2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4+O1xuICAgIH1cbiAgOiAvLyBFdmVuIGlmIHdlIGRvbid0IG5lZWQgdG8gb3ZlcmxvYWQsIHNpbmNlIHRoZSAyIHN5bnRheGVzIGhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50IHNlbWFudGljcywgd2UgdXNlIHRoZSBtZXRob2Qgc3ludGF4IGluIGhlcmUgYXMgd2VsbFxuICAgIHsgKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVFBheWxvYWQsIGV4dHJhPzogVEV4dHJhKTogU2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4gfTtcblxuLyoqXG4gKiBBIGNvbGxlY3Rpb24gb2YgdHJhbnNmb3JtZXIgZnVuY3Rpb25zIGZvciB2YXJpb3VzIERpc2NvcmQgZW50aXRpZXMuXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lcnMuXG4gKiBAdGVtcGxhdGUgVEJlaGF2aW9yIC0gVGhlIGJlaGF2aW9yIGZvciBoYW5kbGluZyBkZXNpcmVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybWVyRnVuY3Rpb25zPFRQcm9wcyBleHRlbmRzIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBUQmVoYXZpb3IgZXh0ZW5kcyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPiA9IHtcbiAgW0sgaW4ga2V5b2YgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNdOiBUcmFuc2Zvcm1lckZ1bmN0aW9uPFxuICAgIFRQcm9wcyxcbiAgICBUQmVoYXZpb3IsXG4gICAgVHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbS11bJ3BheWxvYWQnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsndHJhbnNmb3JtZWQnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsnZXh0cmEnXSxcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsncGFydGlhbCddXG4gID47XG59O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCBjdXN0b21pemVzIHRoZSB0cmFuc2Zvcm1lZCBvYmplY3QgYWZ0ZXIgdGhlIGluaXRpYWwgdHJhbnNmb3JtYXRpb24uXG4gKlxuICogQHRlbXBsYXRlIFRQcm9wcyAtIFRoZSBkZXNpcmVkIHByb3BlcnRpZXMgZm9yIHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBUQmVoYXZpb3IgLSBUaGUgYmVoYXZpb3IgZm9yIGhhbmRsaW5nIGRlc2lyZWQgcHJvcGVydGllcy5cbiAqIEB0ZW1wbGF0ZSBUUGF5bG9hZCAtIFRoZSB0eXBlIG9mIHRoZSBwYXlsb2FkIHJlY2VpdmVkIGZyb20gRGlzY29yZC5cbiAqIEB0ZW1wbGF0ZSBUVHJhbnNmb3JtZWQgLSBUaGUgdHlwZSBvZiB0aGUgdHJhbnNmb3JtZWQgb2JqZWN0IHJldHVybmVkIGJ5IHRoZSB0cmFuc2Zvcm1lci5cbiAqIEB0ZW1wbGF0ZSBURXh0cmEgLSBBZGRpdGlvbmFsIGV4dHJhIGluZm9ybWF0aW9uIHRoYXQgbWlnaHQgYmUgbmVlZGVkIGZvciBjdXN0b21pemF0aW9uLlxuICogQHRlbXBsYXRlIFRQYXJ0aWFsIC0gSW5kaWNhdGVzIGlmIHRoZSB0cmFuc2Zvcm1lciBzdXBwb3J0cyBwYXJ0aWFsIHBheWxvYWRzLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1lckN1c3RvbWl6ZXJGdW5jdGlvbjxcbiAgVFByb3BzIGV4dGVuZHMgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG4gIFRCZWhhdmlvciBleHRlbmRzIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsXG4gIFRQYXlsb2FkLFxuICBUVHJhbnNmb3JtZWQsXG4gIFRFeHRyYSA9IHt9LFxuICBUUGFydGlhbCBleHRlbmRzIGJvb2xlYW4gPSBmYWxzZSxcbj4gPSBUUGFydGlhbCBleHRlbmRzIHRydWVcbiAgPyAvLyBXZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggZm9yIGZ1bmN0aW9ucyAoLi4uUGFyYW1zKTogUmV0dXJuVHlwZSBpbnN0ZWFkIG9mIHRoZSBhcnJvdyBzeW50YXggYmVjYXVzZSBpdCBhbGxvd3MgdXMgdG8gaGF2ZSBvdmVybG9hZHMgaW4gdGhlIHR5cGVcbiAgICB7XG4gICAgICAoXG4gICAgICAgIGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgcGF5bG9hZDogVFBheWxvYWQsXG4gICAgICAgIHRyYW5zZm9ybWVkOiBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPixcbiAgICAgICAgZXh0cmE6IFRFeHRyYSAmIHsgcGFydGlhbDogZmFsc2UgfSxcbiAgICAgICk6IGFueTtcbiAgICAgIChcbiAgICAgICAgYm90OiBCb3Q8VFByb3BzLCBUQmVoYXZpb3I+LFxuICAgICAgICBwYXlsb2FkOiBQYXJ0aWFsPFRQYXlsb2FkPixcbiAgICAgICAgdHJhbnNmb3JtZWQ6IFBhcnRpYWw8U2V0dXBEZXNpcmVkUHJvcHM8VFRyYW5zZm9ybWVkLCBUUHJvcHMsIFRCZWhhdmlvcj4+LFxuICAgICAgICBleHRyYTogVEV4dHJhICYgeyBwYXJ0aWFsOiB0cnVlIH0sXG4gICAgICApOiBhbnk7XG4gICAgfVxuICA6IC8vIEV2ZW4gaWYgd2UgZG9uJ3QgbmVlZCB0byBvdmVybG9hZCwgc2luY2UgdGhlIDIgc3ludGF4ZXMgaGF2ZSBzbGlnaHRseSBkaWZmZXJlbnQgc2VtYW50aWNzLCB3ZSB1c2UgdGhlIG1ldGhvZCBzeW50YXggaW4gaGVyZSBhcyB3ZWxsXG4gICAge1xuICAgICAgKGJvdDogQm90PFRQcm9wcywgVEJlaGF2aW9yPiwgcGF5bG9hZDogVFBheWxvYWQsIHRyYW5zZm9ybWVkOiBTZXR1cERlc2lyZWRQcm9wczxUVHJhbnNmb3JtZWQsIFRQcm9wcywgVEJlaGF2aW9yPiwgZXh0cmE/OiBURXh0cmEpOiBhbnk7XG4gICAgfTtcblxuLyoqXG4gKiBBIGNvbGxlY3Rpb24gb2YgdHJhbnNmb3JtZXIgY3VzdG9taXplciBmdW5jdGlvbnMgZm9yIHZhcmlvdXMgRGlzY29yZCBlbnRpdGllcy5cbiAqXG4gKiBAdGVtcGxhdGUgVFByb3BzIC0gVGhlIGRlc2lyZWQgcHJvcGVydGllcyBmb3IgdGhlIHRyYW5zZm9ybWVycy5cbiAqIEB0ZW1wbGF0ZSBUQmVoYXZpb3IgLSBUaGUgYmVoYXZpb3IgZm9yIGhhbmRsaW5nIGRlc2lyZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IHR5cGUgVHJhbnNmb3JtZXJDdXN0b21pemVyczxUUHJvcHMgZXh0ZW5kcyBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgVEJlaGF2aW9yIGV4dGVuZHMgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSB7XG4gIFtLIGluIGtleW9mIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zXTogVHJhbnNmb3JtZXJDdXN0b21pemVyRnVuY3Rpb248XG4gICAgVFByb3BzLFxuICAgIFRCZWhhdmlvcixcbiAgICBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tLXVsncGF5bG9hZCddLFxuICAgIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW0tdWyd0cmFuc2Zvcm1lZCddLFxuICAgIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbS11bJ2V4dHJhJ10+LFxuICAgIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW0tdWydwYXJ0aWFsJ11cbiAgPjtcbn07XG5cbi8qKlxuICogQ29udmVydGluZyBCaWdTdHJpbmcgcHJvcGVydGllcyBpbiBUIHRvIGJpZ2ludCwgbGVhdmluZyBvdGhlciBwcm9wZXJ0aWVzIHVuY2hhbmdlZC5cbiAqXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSBvYmplY3QgdHlwZSB0byB0cmFuc2Zvcm0uXG4gKi9cbmV4cG9ydCB0eXBlIEJpZ1N0cmluZ3NUb0JpZ2ludHM8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBCaWdTdHJpbmcgZXh0ZW5kcyBUW0tdID8gYmlnaW50IDogVFtLXTtcbn07XG5cbi8qKlxuICogQ2FsbHMgYSB0cmFuc2Zvcm1lciBjdXN0b21pemVyIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gKlxuICogQHRlbXBsYXRlIFRJbmZvIC0gVGhlIGtleSBvZiB0aGUgdHJhbnNmb3JtZXIgaW5mb3JtYXRpb24gdG8gdXNlLlxuICogQHBhcmFtIGN1c3RvbWl6ZXIgLSBUaGUga2V5IG9mIHRoZSB0cmFuc2Zvcm1lciBpbmZvcm1hdGlvbiB0byB1c2UuXG4gKiBAcGFyYW0gYm90IC0gVGhlIGJvdCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXlsb2FkIC0gVGhlIG9yaWdpbmFsIHBheWxvYWQgZnJvbSBEaXNjb3JkLlxuICogQHBhcmFtIHRyYW5zZm9ybWVkIC0gVGhlIHRyYW5zZm9ybWVkIG9iamVjdC5cbiAqIEBwYXJhbSBleHRyYSAtIEFkZGl0aW9uYWwgZXh0cmEgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXN0b21pemVyLlxuICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgY3VzdG9taXplciBmdW5jdGlvbi5cbiAqXG4gKiBAcmVtYXJrc1xuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJlY2F1c2UgaXQgaXMgaGFyZCB0byBkZWFsIHdpdGggdGhlIGN1c3RvbWl6ZXIgb3ZlcmxvYWRzIGRpcmVjdGx5IGluIHRoZSB0cmFuc2Zvcm1lcnMuXG4gKlxuICogU2luY2UgdGhlIG92ZXJsb2FkcyBhcmUgcHJlc2VudCBvbmx5IHdpdGggcGFydGlhbCB0cmFuc2Zvcm1lcnMsIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIHBhcnRpYWwgZXh0cmEsIGZvciBub24tcGFydGlhbCB0cmFuc2Zvcm1lcnMgdGhlIG5vcm1hbCBmdW5jdGlvbiBjYWxsIGNhbiBiZSB1c2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxsQ3VzdG9taXplcjxUSW5mbyBleHRlbmRzIGtleW9mIFRyYW5zZm9ybWVySW5mb3JtYXRpb25zPihcbiAgY3VzdG9taXplcjogVEluZm8sXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBUcmFuc2Zvcm1lckluZm9ybWF0aW9uc1tUSW5mb11bJ3BheWxvYWQnXSB8IFBhcnRpYWw8VHJhbnNmb3JtZXJJbmZvcm1hdGlvbnNbVEluZm9dWydwYXlsb2FkJ10+LFxuICB0cmFuc2Zvcm1lZDpcbiAgICB8IFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsndHJhbnNmb3JtZWQnXSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG4gICAgfCBQYXJ0aWFsPFNldHVwRGVzaXJlZFByb3BzPFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsndHJhbnNmb3JtZWQnXSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+PixcbiAgZXh0cmE6IFRyYW5zZm9ybWVySW5mb3JtYXRpb25zW1RJbmZvXVsnZXh0cmEnXSAmIHsgcGFydGlhbDogYm9vbGVhbiB9LFxuKTogYW55IHtcbiAgLy8gVGhlIHR5cGUgb2YgdGhlIGN1c3RvbWl6ZXIgaXMgbm90IGdlbmVyYWxpemFibGUsIHNvIHdlIHVzZSB1bmtub3duLCBjYWxsQ3VzdG9taXplciBoYXMgdGhlIGNvcnJlY3QgdHlwZSBhbmQgd2UgY2FzdCBpdCBoZXJlXG4gIGNvbnN0IGN1c3RvbWl6ZXJGbiA9IGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnNbY3VzdG9taXplcl0gYXMgKGJvdDogQm90LCBwYXlsb2FkOiB1bmtub3duLCB0cmFuc2Zvcm1lZDogdW5rbm93biwgZXh0cmE6IHVua25vd24pID0+IGFueTtcblxuICByZXR1cm4gY3VzdG9taXplckZuKGJvdCwgcGF5bG9hZCwgdHJhbnNmb3JtZWQsIGV4dHJhKTtcbn1cbiJdLCJuYW1lcyI6WyJiaWdpbnRUb1Nub3dmbGFrZSIsInNub3dmbGFrZVRvQmlnaW50IiwiY3JlYXRlRGVzaXJlZFByb3BlcnRpZXNPYmplY3QiLCJ0cmFuc2Zvcm1BY3Rpdml0eSIsInRyYW5zZm9ybUFjdGl2aXR5QXNzZXRzIiwidHJhbnNmb3JtQWN0aXZpdHlJbnN0YW5jZSIsInRyYW5zZm9ybUFjdGl2aXR5TG9jYXRpb24iLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZCIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsInRyYW5zZm9ybUFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJ0cmFuc2Zvcm1BdHRhY2htZW50IiwidHJhbnNmb3JtQXVkaXRMb2dFbnRyeSIsInRyYW5zZm9ybUF1dG9Nb2RlcmF0aW9uQWN0aW9uRXhlY3V0aW9uIiwidHJhbnNmb3JtQXV0b01vZGVyYXRpb25SdWxlIiwidHJhbnNmb3JtQXZhdGFyRGVjb3JhdGlvbkRhdGEiLCJ0cmFuc2Zvcm1DaGFubmVsIiwidHJhbnNmb3JtRm9ydW1UYWciLCJ0cmFuc2Zvcm1Db21wb25lbnQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJ0cmFuc2Zvcm1FbWJlZCIsInRyYW5zZm9ybURlZmF1bHRSZWFjdGlvbkVtb2ppIiwidHJhbnNmb3JtRW1vamkiLCJ0cmFuc2Zvcm1FbnRpdGxlbWVudCIsInRyYW5zZm9ybUdhdGV3YXlCb3QiLCJ0cmFuc2Zvcm1HdWlsZCIsInRyYW5zZm9ybUluY2lkZW50c0RhdGEiLCJ0cmFuc2Zvcm1JbnRlZ3JhdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25DYWxsYmFjayIsInRyYW5zZm9ybUludGVyYWN0aW9uQ2FsbGJhY2tSZXNwb25zZSIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YU9wdGlvbiIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwidHJhbnNmb3JtSW50ZXJhY3Rpb25SZXNvdXJjZSIsInRyYW5zZm9ybUludml0ZSIsInRyYW5zZm9ybUxvYmJ5IiwidHJhbnNmb3JtTG9iYnlJbnZpdGUiLCJ0cmFuc2Zvcm1Mb2JieU1lbWJlciIsInRyYW5zZm9ybUxvYmJ5TWVzc2FnZSIsInRyYW5zZm9ybU1lbWJlciIsInRyYW5zZm9ybU1lc3NhZ2UiLCJ0cmFuc2Zvcm1NZXNzYWdlQ2FsbCIsInRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZVBpbiIsInRyYW5zZm9ybU1lc3NhZ2VTbmFwc2hvdCIsInRyYW5zZm9ybVNoYXJlZENsaWVudFRoZW1lIiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nIiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwidHJhbnNmb3JtUG9sbCIsInRyYW5zZm9ybVBvbGxNZWRpYSIsInRyYW5zZm9ybVByZXNlbmNlIiwidHJhbnNmb3JtQWN0aXZpdHlBc3NldHNUb0Rpc2NvcmRBY3Rpdml0eUFzc2V0cyIsInRyYW5zZm9ybUFjdGl2aXR5VG9EaXNjb3JkQWN0aXZpdHkiLCJ0cmFuc2Zvcm1BbGxvd2VkTWVudGlvbnNUb0Rpc2NvcmRBbGxvd2VkTWVudGlvbnMiLCJ0cmFuc2Zvcm1BcHBsaWNhdGlvblRvRGlzY29yZEFwcGxpY2F0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uIiwidHJhbnNmb3JtQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlVG9EaXNjb3JkQXBwbGljYXRpb25Db21tYW5kT3B0aW9uQ2hvaWNlIiwidHJhbnNmb3JtQXR0YWNobWVudFRvRGlzY29yZEF0dGFjaG1lbnQiLCJ0cmFuc2Zvcm1Db21wb25lbnRUb0Rpc2NvcmRDb21wb25lbnQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsInRyYW5zZm9ybVVuZnVybGVkTWVkaWFJdGVtVG9EaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0iLCJ0cmFuc2Zvcm1FbWJlZFRvRGlzY29yZEVtYmVkIiwidHJhbnNmb3JtTWVtYmVyVG9EaXNjb3JkTWVtYmVyIiwidHJhbnNmb3JtVXNlclRvRGlzY29yZFVzZXIiLCJ0cmFuc2Zvcm1UZWFtVG9EaXNjb3JkVGVhbSIsInRyYW5zZm9ybUNvbGxlY3RpYmxlc1RvRGlzY29yZENvbGxlY3RpYmxlcyIsInRyYW5zZm9ybU5hbWVwbGF0ZVRvRGlzY29yZE5hbWVwbGF0ZSIsInRyYW5zZm9ybVJvbGUiLCJ0cmFuc2Zvcm1Sb2xlQ29sb3JzIiwidHJhbnNmb3JtU2NoZWR1bGVkRXZlbnQiLCJ0cmFuc2Zvcm1TY2hlZHVsZWRFdmVudFJlY3VycmVuY2VSdWxlIiwidHJhbnNmb3JtU2t1IiwidHJhbnNmb3JtU291bmRib2FyZFNvdW5kIiwidHJhbnNmb3JtU3RhZ2VJbnN0YW5jZSIsInRyYW5zZm9ybUludml0ZVN0YWdlSW5zdGFuY2UiLCJ0cmFuc2Zvcm1TdGlja2VyIiwidHJhbnNmb3JtU3RpY2tlclBhY2siLCJ0cmFuc2Zvcm1TdWJzY3JpcHRpb24iLCJ0cmFuc2Zvcm1UZWFtIiwidHJhbnNmb3JtVGVtcGxhdGUiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXIiLCJ0cmFuc2Zvcm1UaHJlYWRNZW1iZXJHdWlsZENyZWF0ZSIsInRyYW5zZm9ybUNvbGxlY3RpYmxlcyIsInRyYW5zZm9ybU5hbWVwbGF0ZSIsInRyYW5zZm9ybVVzZXIiLCJ0cmFuc2Zvcm1Vc2VyUHJpbWFyeUd1aWxkIiwidHJhbnNmb3JtVm9pY2VSZWdpb24iLCJ0cmFuc2Zvcm1Wb2ljZVN0YXRlIiwidHJhbnNmb3JtV2ViaG9vayIsInRyYW5zZm9ybVdlbGNvbWVTY3JlZW4iLCJ0cmFuc2Zvcm1XaWRnZXQiLCJ0cmFuc2Zvcm1XaWRnZXRTZXR0aW5ncyIsImRlZmF1bHRDdXN0b21pemVyIiwiX2JvdCIsIl9wYXlsb2FkIiwic3RydWN0dXJlIiwiY3JlYXRlVHJhbnNmb3JtZXJzIiwib3B0aW9ucyIsIl9vcHRpb25zIiwiY3VzdG9taXplcnMiLCJhY3Rpdml0eSIsImFjdGl2aXR5QXNzZXRzIiwiYWN0aXZpdHlJbnN0YW5jZSIsImFjdGl2aXR5TG9jYXRpb24iLCJhcHBsaWNhdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZCIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbiIsImFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvbkNob2ljZSIsImFwcGxpY2F0aW9uQ29tbWFuZFBlcm1pc3Npb24iLCJhdHRhY2htZW50IiwiYXVkaXRMb2dFbnRyeSIsImF1dG9tb2RBY3Rpb25FeGVjdXRpb24iLCJhdXRvbW9kUnVsZSIsImF2YXRhckRlY29yYXRpb25EYXRhIiwiY2hhbm5lbCIsImNvbGxlY3RpYmxlcyIsImNvbXBvbmVudCIsImRlZmF1bHRSZWFjdGlvbkVtb2ppIiwiZW1iZWQiLCJlbW9qaSIsImVudGl0bGVtZW50IiwiZm9ydW1UYWciLCJnYXRld2F5Qm90IiwiZ3VpbGQiLCJndWlsZE9uYm9hcmRpbmciLCJndWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJpbmNpZGVudHNEYXRhIiwiaW50ZWdyYXRpb24iLCJpbnRlcmFjdGlvbiIsImludGVyYWN0aW9uQ2FsbGJhY2siLCJpbnRlcmFjdGlvbkNhbGxiYWNrUmVzcG9uc2UiLCJpbnRlcmFjdGlvbkRhdGFPcHRpb25zIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJpbnRlcmFjdGlvblJlc291cmNlIiwiaW52aXRlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsImxvYmJ5IiwibG9iYnlNZW1iZXIiLCJsb2JieU1lc3NhZ2UiLCJsb2JieUludml0ZSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJtZW1iZXIiLCJtZXNzYWdlIiwibWVzc2FnZUNhbGwiLCJtZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSIsIm1lc3NhZ2VQaW4iLCJtZXNzYWdlU25hcHNob3QiLCJuYW1lcGxhdGUiLCJwb2xsIiwicG9sbE1lZGlhIiwicHJlc2VuY2UiLCJyb2xlIiwicm9sZUNvbG9ycyIsInNjaGVkdWxlZEV2ZW50Iiwic2NoZWR1bGVkRXZlbnRSZWN1cnJlbmNlUnVsZSIsInNoYXJlZENsaWVudFRoZW1lIiwic2t1Iiwic291bmRib2FyZFNvdW5kIiwic3RhZ2VJbnN0YW5jZSIsInN0aWNrZXIiLCJzdGlja2VyUGFjayIsInN1YnNjcmlwdGlvbiIsInRlYW0iLCJ0ZW1wbGF0ZSIsInRocmVhZE1lbWJlciIsInRocmVhZE1lbWJlckd1aWxkQ3JlYXRlIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJ1c2VyIiwidXNlclByaW1hcnlHdWlsZCIsInZvaWNlUmVnaW9uIiwidm9pY2VTdGF0ZSIsIndlYmhvb2siLCJ3ZWxjb21lU2NyZWVuIiwid2lkZ2V0Iiwid2lkZ2V0U2V0dGluZ3MiLCJkZXNpcmVkUHJvcGVydGllcyIsInJldmVyc2UiLCJhbGxvd2VkTWVudGlvbnMiLCJzbm93Zmxha2UiLCJjYWxsQ3VzdG9taXplciIsImN1c3RvbWl6ZXIiLCJib3QiLCJwYXlsb2FkIiwidHJhbnNmb3JtZWQiLCJleHRyYSIsImN1c3RvbWl6ZXJGbiIsInRyYW5zZm9ybWVycyJdLCJtYXBwaW5ncyI6IkFBbUZBLFNBQVNBLGlCQUFpQixFQUFFQyxpQkFBaUIsUUFBUSxvQkFBb0I7QUFFekUsU0FDRUMsNkJBQTZCLFFBSXhCLHlCQUF5QjtBQUNoQyxTQUFTQyxpQkFBaUIsRUFBRUMsdUJBQXVCLEVBQUVDLHlCQUF5QixFQUFFQyx5QkFBeUIsUUFBUSw2QkFBNkI7QUFDOUksU0FBU0Msb0JBQW9CLFFBQVEsZ0NBQWdDO0FBQ3JFLFNBQVNDLDJCQUEyQixRQUFRLHVDQUF1QztBQUNuRixTQUFT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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@discordeno/bot",
3
- "version": "22.0.0-beta.1",
3
+ "version": "22.0.0-beta.2",
4
4
  "exports": "./dist/index.js",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -13,39 +13,37 @@
13
13
  "!dist/.tsbuildinfo"
14
14
  ],
15
15
  "scripts": {
16
- "build": "swc src --strip-leading-paths --delete-dir-on-start src --out-dir dist",
16
+ "build": "swc src --strip-leading-paths src --out-dir dist",
17
17
  "build:type": "tsc --declaration --emitDeclarationOnly --declarationDir dist",
18
18
  "release-build": "yarn build && yarn build:type",
19
19
  "check": "biome check --write",
20
- "test:unit-coverage": "c8 mocha --no-warnings 'tests/unit/**/*.spec.ts'",
21
- "test:unit": "c8 --r lcov mocha --no-warnings 'tests/unit/**/*.spec.ts' && node ../../scripts/coveragePathFixing.js discordeno",
22
- "test:unit:watch": "mocha --no-warnings --watch --parallel 'tests/unit/**/*.spec.ts'",
23
- "test:deno-unit": "deno -A ../../node_modules/mocha/bin/mocha.js --config ../../.mocharc.base.cjs 'tests/unit/**/*.spec.ts'",
24
- "test:bun-unit": "bun ../../node_modules/mocha/bin/mocha.js --config ../../.mocharc.base.cjs 'tests/unit/**/*.spec.ts'",
25
- "test:e2e": "c8 --r lcov mocha --no-warnings --jobs 1 --t 30000 'tests/e2e/**/*.spec.ts' && node ../../scripts/coveragePathFixing.js rest",
26
- "test:type": "tsc --noEmit",
27
- "test:test-type": "tsc --project tests/tsconfig.json"
20
+ "test:unit": "c8 -r lcov mocha 'tests/unit/**/*.spec.ts'",
21
+ "test:deno-unit": "deno -A npm:mocha 'tests/unit/**/*.spec.ts'",
22
+ "test:bun-unit": "bun --bun mocha 'tests/unit/**/*.spec.ts'",
23
+ "test:e2e": "c8 -r lcov mocha -t 30000 'tests/e2e/**/*.spec.ts'",
24
+ "test:test-type": "tsc --project tests/tsconfig.json",
25
+ "test:type": "tsc --noEmit"
28
26
  },
29
27
  "dependencies": {
30
- "@discordeno/gateway": "workspace:^",
31
- "@discordeno/rest": "workspace:^",
32
- "@discordeno/types": "workspace:^",
33
- "@discordeno/utils": "workspace:^"
28
+ "@discordeno/gateway": "^22.0.0-beta.2",
29
+ "@discordeno/rest": "^22.0.0-beta.2",
30
+ "@discordeno/types": "^22.0.0-beta.2",
31
+ "@discordeno/utils": "^22.0.0-beta.2"
34
32
  },
35
33
  "devDependencies": {
36
- "@biomejs/biome": "2.1.4",
37
- "@swc/cli": "^0.7.8",
38
- "@swc/core": "^1.13.3",
39
- "@types/chai": "^5.2.2",
34
+ "@biomejs/biome": "2.5.9",
35
+ "@swc/cli": "^0.8.1",
36
+ "@swc/core": "^1.16.1",
37
+ "@types/chai": "^5.2.3",
40
38
  "@types/mocha": "^10.0.10",
41
- "@types/node": "^24.2.1",
42
- "@types/sinon": "^17.0.4",
43
- "c8": "^10.1.3",
44
- "chai": "^5.2.1",
45
- "mocha": "patch:mocha@npm%3A11.0.2#~/.yarn/patches/mocha-npm-11.0.2-b5d6b95284.patch",
46
- "sinon": "^21.0.0",
47
- "ts-node": "^10.9.2",
39
+ "@types/node": "^26.2.0",
40
+ "@types/sinon": "^22.0.0",
41
+ "c8": "^12.0.0",
42
+ "chai": "^6.2.2",
43
+ "mocha": "^11.8.0",
44
+ "sinon": "^22.1.0",
48
45
  "tsconfig": "*",
49
- "typescript": "^5.9.2"
46
+ "tsx": "^4.23.12",
47
+ "typescript": "^6.0.3"
50
48
  }
51
- }
49
+ }